Tuesday, August 7, 2018

Changes in Java 10

Java 10 was released on 2018-03-20. It is not an LTS release and will be obsoleted at the release of Java 11 in September 2018.


Schedule:


Changes from Java 9:

  • JEP 286: Syntax: added local-variable type inference (var).
  • Optional.get deprecated in favour of Optional.orElseThrow
  • JEP 319: Provide a default set of root Certification Authority (CA) certificates in the JDK. (part of the OpenJDK convergence exercise).
  • Version number system changed again.
  • JDK-8177290: APIs for creating unmodifiable collections (probably replaces some stuff from Guava).
  • JDK-8186535: removed some stuff from SecurityManager
  • JDK-8148371: removed policytool
  • JDK-8159544: removed things from com.sun.security.auth
  • Improved Docker Container Integration probably means that at least some people will want to use Java 10 as an execution environment for the IdP.
  • Copy factories for collections, optimising for already-unmodifiable structures. Makes the various "unmodifiable" collection wrappers mostly obsolete.
  • Stream collectors for collections.