Java 11 (18.9 LTS)

Java 11 is a feature release which obsoleted Java 10 and became a long-term support (LTS) release of Java on its introduction in September 2018.

Current status: General Availability

Latest version (Oracle commercial build): java version "11.0.2" 2018-10-16 LTS

(This will be the last freely available version of Java 11 from Oracle.)

Latest version (OpenJDK build by Oracle): openjdk version "11.0.2" 2018-10-16

(Not known what will happen with the next version of this.)

(Yes, the date in these version strings is anomalous and the same as was used for 11.0.1.  People are discussing whether it's a bug.)

Resources

Significant Changes from Java 10

Last checked: 2018-08-15. Full list of features here. Full release notes here.

  • JEP 181: Nest-Based Access Control

  • JEP 320: The Java EE and CORBA modules deprecated in Java 9 have been removed in Java 11, along with supporting tools such as xjc and system properties such as java.xml.bind.context.factory.

    • JDK-8197532: change to policy regarding the default set of root modules

  • Removal of functionality around ThreadPoolExecutor finalization: JDK-8190324

  • JEP 321: HTTP Client (Standard): "Standardize the incubated HTTP Client API introduced in JDK 9, via JEP 110, and updated in JDK 10."

  • JEP 323: Local-Variable Syntax for Lambda Parameters

  • JEP 324: Key Agreement with Curve25519 and Curve448

  • JEP 327: Unicode 10

  • JEP 328: Flight Recorder

  • JEP 329: ChaCha20 and Poly1305 Cryptographic Algorithms

  • JEP 330Launch Single-File Source-Code Programs

  • JEP 332: Transport Layer Security (TLS) 1.3

  • JEP 335: Deprecate (with intent to remove) the Nashorn JavaScript Engine. This would imply that in some release after Java 11, there will be no JavaScript/ECMAScript engine supplied as part of the Java runtime. This would affect our deployers for both the IdP and the Metadata Aggregator. Tracking this in JPAR-121.

  • JDK-8204243: remove Thread.destroy() and Thread.stop(Throwable)

Significant Changes from Java 8

Significant Changes from Java 7

Other Notable Facts

  • JEP 182 and JDK-8028563: Support for -source/-target/-release 1.6 will be removed in Java 12, but retained in Java 11. The removal of support for Java 8 is not yet targeted at a Java release. This means that Java 11 will support these options for Java 6, 7, and 8. In turn, this means that it might be theoretically possible to continue to support our Java 7 and Java 8 product platforms without using those SDKs, throughout the lifetime of Java 11 (until Java 17, in September 2022). At the time of writing, removal of compilation support for Java 7 is targeted at Java 13 (see JDK-8173605).