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); // 1K
core-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.SecurityPropertyModification
jdk.TLSHandshake
jdk.X509Validation
jdk.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