Chapter 3. Red Hat build of OpenJDK features
The latest Red Hat build of OpenJDK 17 release might include new features. Additionally, the latest release might enhance, deprecate, or remove features that originated from previous Red Hat build of OpenJDK 17 releases.
For all the other changes and security fixes, see OpenJDK 17.0.6 Released.
Red Hat build of OpenJDK enhancements
Red Hat build of OpenJDK 17 provides enhancements to features originally created in previous releases of Red Hat build of OpenJDK.
Enhanced BMP bounds
By default, Red Hat build of OpenJDK 17.0.6 disables loading a linked International Color Consortium (ICC) profile in a BMP image. You can enable this functionality by setting the new sun.imageio.bmp.enabledLinkedProfiles
property to true
. This property replaces the old sun.imageio.plugins.bmp.disableLinkedProfiles
property
See JDK-8295687 (JDK Bug System).
Improved banking of sounds
Previously, the SoundbankReader
implementation, com.sun.media.sound.JARSoundbankReader
, downloaded a JAR soundbank from a URL. For Red Hat build of OpenJDK 17.0.6, this behavior is now disabled by default. To re-enable the behavior, set the new system property jdk.sound.jarsoundbank
to true
.
See JDK-8293742 (JDK Bug System).
Enhanced Datagram Transport Layer Security (DTLS) performance
Red Hat build of OpenJDK now exchanges DTLS cookies for all new and resumed handshake communications.
To re-enable the previous release behavior, set the new system property jdk.tls.enableDtlsResumeCookie
to false
.
See JDK-8287411 (JDK Bug System).
Added note for LoginModule
implementation
The Red Hat build of OpenJDK 9 release changed the Set
implementation, which holds principals and credentials, so that the implementation can reject null
values. Any attempts to call add(null)
, contains(null)
, or remove(null)
would throw a NullPointerException
message.
The Red Hat build of OpenJDK 9 release did not update the logout()
method in the LoginModule
implementation to check for null
values. These values could occur because of a failed login attempt, which can cause a logout()
call to throw a NullPointerException
message.
The Red Hat build of OpenJDK 17.0.6 release updates the LoginModule
implementations to check for null
values. Additionally, the release adds an implementation note to the specification that states the change also applies to third-party modules. The note advises developers of third-party modules to verify that a logout()
method does not throw a NullPointerException
message.
- See JDK-8015081 (JDK Bug System).
- See JDK-8282730 (JDK Bug System).