Java 12

Java 12 was released on 2019-03-19. It is not an LTS release and will be obsoleted at the release of Java 13 on 2019-09-17.

Status: general availability.

Page last updated: 2019-03-20, general availability release (build 33).

Resources

Significant Changes in Java 12

  • JEP 182 and JDK-8028563: no more support for -source/-target/-release 1.6.
  • JEP 325: Switch Expressions (preview feature per JEP 12; i.e., may be removed in a later release)
  • JEP 346: Promptly Return Unused Committed Memory from G1 (returns memory to the operating system)
  • JDK-8208350: Disabled all DES TLS Cipher Suites
  • JDK-8207258: Distrust TLS server certificates anchored by Symantec Root CAs
  • JDK-8209923: Unicode 11
  • JDK-8211883: TLS anon and NULL Cipher Suites are Disabled
  • JDK-8192939: Remove Finalize methods from FileInputStream and FileOutputStream
  • JDK-8211107: LDAPS Communication Failure: "Application code using LDAPS with a socket connect timeout that is <= 0 ( the default value ), may encounter an exception when establishing the connection."
  • JDK-8140466: ChaCha20 and Poly1305 TLS Cipher Suites

Removed preview features

Note that JEP 326 (Raw String Literals) was at one time targeted to Java 12 as a preview feature, but has been removed