Proposed implementation of JEP 182 in JDK 11: drop javac support for -source/-target/--release 6
joe.darcy at oracle.com
Thu May 10 17:56:03 UTC 2018
As background, JEP 182 "Policy for Retiring javac -source and -target
Options" (http://openjdk.java.net/jeps/182) 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
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