Proposed implementation of JEP 182 in JDK 11: drop javac support for -source/-target/--release 6

joe darcy joe.darcy at
Thu May 10 17:56:03 UTC 2018


As background, JEP 182 "Policy for Retiring javac -source and -target 
Options" ( puts forth a "one plus three 
back" policy for the supported range of -source and -target arguments to 
javac. (As of JDK 9, a matching range of arguments is supported for the 
--release option.)

This policy was formulated under the old release model before the six 
month release cadence.

Under this policy, support for the 5/1.5 argument was removed in JDK 9. 
JDK 10 added support for a 10 argument and retained all the older values 
that were supported under JDK 9.

JDK 6 first shipped at the end of 2006, which will be nearly 12 years 
before the planned JDK 11 GA date. JDK 7 first shipped in 2011.

Given the age of JDK 6, I think it is reasonable in 2018 for JDK 11 to 
drop support for -source/-target/--release 1.6/6, leaving support for 7, 
8, 9, 10, and 11. This provides support for four rather than three older 
versions in JDK 11, but better matches the time span of releases 
discussed in the JEP.

Future code reviews of the implementation of this removal and related work

     JDK-8028563: Remove javac support for 6/1.6 source and target values
     JDK-8173606: Deprecate constructors of 7-era visitors

would take place on compiler-dev.




More information about the jdk-dev mailing list