core-libs/java.lang
core-libs/java.lang.invoke
core-libs/java.text
Support for Compact Number Formatting. i.e.:
NumberFormat fmt = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
String result = fmt.format(1000); // 1Kcore-libs/java.util:i18n
Square Character Support for Japanese New Era
hotspot/gc
ZGC Concurrent Class Unloading
Allocation of Old Generation of Java Heap on Alternate Memory Devices
hotspot/runtime
HotSpot Windows OS Detection Correctly Identifies Windows Server 2019
Command-Line Flag -XX+ExtensiveErrorReports
security-libs/java.security
disallow and allow Options for java.security.manager System Property
-groupname Option Added to keytool Key Pair Generation
For example, keytool -genkeypair -keyalg EC -groupname secp384r1 will generate an EC key pair by using the secp384r1 curve. Because there might be multiple curves with the same size, using the -groupname option is preferred over the -keysize option.
New Java Flight Recorder (JFR) Security Events
These events are disabled by default and can be enabled via the JFR configuration files or via standard JFR options.
jdk.SecurityPropertyModificationjdk.TLSHandshakejdk.X509Validationjdk.X509Certificate
Customizing PKCS12 keystore Generation
security-libs/javax.net.ssl
ChaCha20 and Poly1305 TLS Cipher Suites
Refer to the "Java Secure Socket Extension (JSSE) Reference Guide" for details on these new TLS cipher suites. See (JDK-8140466](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8140466)
security-libs/org.ietf.jgss:krb5
Support for dns_canonicalize_hostname in krb5.conf
The dns_canonicalize_hostname flag in the krb5.conf configuration file is now supported by the JDK Kerberos implementation. When set to true, a short hostname in a service principal name will be canonicalized to a fully qualified domain name if available. Otherwise, no canonicalization is performed. The default value is true.
tools
jdeps --print-module-deps Reports Transitive Dependences
The --no-recursive option can be used to request non-transitive dependence analysis.
The --ignore-missing-deps option can be used to suppress missing dependence errors.
tools/javac
JEP 325 Switch Expressions (Preview)
client-libs/java.awt
Removal of com.sun.awt.SecurityWarning Class
core-libs/java.io
Removal of finalize Methods from FileInputStream and FileOutputStream
core-libs/java.util.jar
Removal of finalize Method in java.util.ZipFile/Inflator/Deflator
infrastructure/build
Dropped the YY.M Vendor Version String from Oracle-Produced Builds
As of JDK 12, JDK builds from Oracle will no longer include a vendor version string
security-libs/java.security
Removal of GTE CyberTrust Global Root
tools/javac
Removal of javac Support for 6/1.6 source, target, and release Values
hotspot/runtime
Obsoleted -XX+/-MonitorInUseLists
security-libs/java.security
Deprecated Default Keytool -keyalg Value
client-libs/javax.swing
GTK+ 3.20 and Later Unsupported by Swing
core-libs/java.lang
Initial Value of user.timezone System Property Changed
The initial value of the user.timezone system property is undefined unless set using a command line argument, for example, -Duser.timezone="America/New_York". The first time the default timezone is needed, if user.timezone is undefined or empty the timezone provided by the operating system is used. Previously, the initial value was the empty string. In JDK 12, System.getProperty("user.timezone") may return null.
core-libs/java.net
Better HTTP Redirection Support
Changed URLPermission Behavior with Query or Fragments in URL String
core-libs/java.time
Support New Japanese Era in java.time.chrono.JapaneseEra
core-libs/java.util
Changed Properties.loadFromXML to Comply with Specification
core-libs/javax.naming
hotspot/gc
G1 May Uncommit Memory During Marking Cycle
hotspot/jvmti
can_pop_frame and can_force_early_return Capabilities are Disabled if JVMCI Compiler is Used
Being tracked here: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8218885
infrastructure/build
Additional safeguards to protect against buffer overruns in native code have been enabled on Linux. If a buffer overrun is encountered, the system will write the message "stack smashing detected" and the program will exit. Issues of this type should be reported to your vendor.
security-libs/java.security
Added Additional TeliaSonera Root Certificate
Removal of AOL and Swisscom Root Certificates
security-libs/javax.crypto
Change to X25519 and X448 Encoded Private Key Format
security-libs/javax.net.ssl
Removed TLS v1 and v1.1 from SSLContext Required Algorithms
Disabled TLS anon and NULL Cipher Suites
Disabled All DES TLS Cipher Suites
Distrust TLS Server Certificates Anchored by Symantec Root CAs