java

JDK 17.0.11 Release Notes

Java SE 17.0.11 - Bundled Patch Release (BPR) - Bug Fixes and Updates

The following sections summarize changes made in all Java SE 17.0.11 BPR releases. The BPR releases are listed below in date order, most current BPR first. Note that bug fixes in previous BPRs are also included in the current BPR.

 

Changes in Java SE 17.0.11.0.1

Bug Fixes

May 24, 2024
BugId Category Subcategory Description
JDK-8322726 hotspot compiler C2: Unloaded signature class kills argument value
JDK-8321151 client-libs javas.swing JDK-8294427 breaks Windows L&F on all older Windows versions

Java™ SE Development Kit 17, Update 17.0.11 (JDK 17.0.11)

Release date: April 16, 2024

The full version string for this update release is 17.0.11+7 (where "+" means "build"). The version number is 17.0.11.

 

IANA TZ Data 2024a

JDK 17.0.11 contains IANA time zone data 2024a which contains the following changes:

  • Ittoqqortoormiit, Greenland changes time zones on 2024-03-31.
  • Vostok, Antarctica changed time zones on 2023-12-18.
  • Casey, Antarctica changed time zones five times since 2020.
  • Code and data fixes for Palestine timestamps starting in 2072.
  • A new data file zonenow.tab for timestamps starting now.
  • Kazakhstan unifies on UTC+5 beginning 2024-03-01.
  • Palestine springs forward a week later after Ramadan.
  • zic no longer pretends to support indefinite-past DST.
  • localtime no longer mishandles Ciudad Juárez in 2422.

For more information, refer to Timezone Data Versions in the JRE Software.

 

Security Baselines

The security baselines for the Java Runtime at the time of the release of JDK 17.0.11 are specified in the following table:

Java Family Version Security Baseline (Full Version String)
1717.0.11+7
1111.0.23+7
88u411-b09

 

Keeping the JDK up to Date

Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.

Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 17.0.11) be used after the next critical patch update scheduled for July 16, 2024.

Java Management Service, available to all users, can help you find vulnerable Java versions in your systems. Java SE Subscribers and customers running in Oracle Cloud can use Java Management Service to update Java Runtimes and to do further security reviews like identifying potentially vulnerable third party libraries used by your Java programs. Existing Java Management Service user click here to log in to your dashboard. The Java Management Service Documentation provides a list of features available to everyone and those available only to customers. Learn more about using Java Management Service to monitor and secure your Java Installations.

 

Availability of Oracle JDK 17 under NFTC

Oracle JDK 17 LTS, released in September 2021, has been permissively licensed under the free Java license and will continue to be so until one year after the subsequent LTS release. Oracle designated Oracle JDK 21, released in September of 2023, as a Long Term Support (LTS) release. Therefore, update releases of Oracle JDK 17 after September of 2024 will switch to the Java SE OTN license, the same license under which we offer updates to Java 8 and 11. Users wishing to receive updates of the Oracle JDK under the free Java license should migrate to Oracle JDK 21.

 

New Features

security-libs/javax.crypto
 Update XML Security for Java to 3.0.3 (JDK-8319124)

The XML Signature implementation has been updated to Santuario 3.0.3. Support for four new SHA-3 based RSA-MGF1 signature methods have been added: SHA3_224_RSA_MGF1, SHA3_256_RSA_MGF1, SHA3_384_RSA_MGF1, and SHA3_512_RSA_MGF1. While these new algorithm URIs are not defined in javax.xml.crypto.dsig.SignatureMethod in the JDK update releases, they may be represented as string literals in order to be functionally equivalent. SHA-3 hash algorithm support was delivered to JDK 9 via JEP 287. Releases earlier than that may use third party security providers.

Additionally, support for the following EdDSA signatures has been added: ED25519 and ED448. While these new algorithm URIs are not defined in javax.xml.crypto.dsig.SignatureMethod in the JDK Update releases, they may be represented as string literals in order to be functionally equivalent. The JDK supports EdDSA since JDK 15. Releases earlier than that may use 3rd party security providers. One other difference is that the JDK still supports the here() function by default. However, we recommend avoiding the use of the here() function in new signatures and replacing existing signatures that use the here() function. Future versions of the JDK will likely disable, and eventually remove, support for this function, as it cannot be supported using the standard Java XPath API. Users can now disable the here() function by setting the security property jdk.xml.dsig.hereFunctionSupported to "false".

 

Known Issues

tools/jpackage
 jpackage Apps May Fail to Build on Debian Linux Distros Due to Missing Shared Libraries (JDK-8295111)

There is an issue on Debian Linux distros where jpackage could not always build an accurate list of required packages from shared libraries with symbolic links in their paths, causing installations to fail due to missing shared libraries.

 

Other Notes

client-libs/java.awt
 AWT SystemTray API Is Not Supported on Most Linux Desktops (JDK-8322750)

The java.awt.SystemTray API is used for notifications in a desktop taskbar and may include an icon representing an application. On Linux, the Gnome desktop's own icon support in the taskbar has not worked properly for several years due to a platform bug. This, in turn, has affected the JDK's API, which relies upon that.

Therefore, in accordance with the existing Java SE specification, java.awt.SystemTray.isSupported() will return false where ever the JDK determines the platform bug is likely to be present.

The impact of this is likely to be limited since applications always must check for that support anyway. Additionally, some distros have not supported the SystemTray for several years unless the end-user chooses to install non-bundled desktop extensions.

security-libs/java.security
 Added Certainly R1 and E1 Root Certificates (JDK-8321408)

The following root certificates have been added to the cacerts truststore:

+ Certainly

  + certainlyrootr1
    DN: CN=Certainly Root R1, O=Certainly, C=US
+ Certainly
  + certainlyroote1
    DN: CN=Certainly Root E1, O=Certainly, C=US

 

Updates to Third Party Libraries

Library New Version Module JBS
FreeType 2.13.2 java.desktop JDK-8316028
HarfBuzz 8.2.2 java.desktop JDK-8313643
libpng 1.6.40 java.desktop JDK-8316030
Xalan Java 2.7.3 java.xml JDK-8305814
XML Security for Java 3.0.3 java.xml.crypto JDK-8319124

 

Bug Fixes

This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

Issues fixed in 17.0.11:

# JBS Component Summary
1JDK-8318951client-libs/2dAdditional negative value check in JPEG decoding
2JDK-8301846client-libs/javax.soundInvalid TargetDataLine after screen lock when using JFileChooser or COM library
3JDK-8299058core-libs/java.netAssertionError in sun.net.httpserver.ServerImpl when connection is idle
4JDK-8321480core-libs/java.util:i18nISO 4217 Amendment 176 Update
5JDK-8271118hotspot/compilerC2: StressGCM should have higher priority than frequency-based policy
6JDK-8316679hotspot/compilerC2 SuperWord: wrong result, load should not be moved before store if not comparable
7JDK-8274060hotspot/compilerC2: Incorrect computation after JDK-8273454
8JDK-8273454hotspot/compilerC2: Transform (-a)*(-b) into a*b
9JDK-8315920hotspot/compilerC2: "control input must dominate current control" assert failure
10JDK-8297968hotspot/compilerCrash in PrintOptoAssembly
11JDK-8321215hotspot/compilerIncorrect x86 instruction encoding for VSIB addressing mode
12JDK-8316414hotspot/compilerC2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86
13JDK-8320209hotspot/compilerVectorMaskGen clobbers rflags on x86_64
14JDK-8318889hotspot/compilerC2: add bailout after assert Bad graph detected in build_loop_late
15JDK-8317507hotspot/compilerC2 compilation fails with "Exceeded _node_regs array"
16JDK-8277919hotspot/jfrOldObjectSample event causing bloat in the class constant pool in JFR recording
17JDK-8287113hotspot/jfrJFR: Periodic task thread uses period for method sampling events
18JDK-8322321hotspot/runtimeAdd man page doc for -XX:+VerifySharedSpaces
19JDK-8312585hotspot/runtimeRename DisableTHPStackMitigation flag to THPStackMitigation
20JDK-8312182hotspot/runtimeTHPs cause huge RSS due to thread start timing issue
21JDK-8312620hotspot/runtimeWSL Linux build crashes after JDK-8310233
22JDK-8312394hotspot/runtime[linux] SIGSEGV if kernel was built without hugepage support
23JDK-8323243hotspot/runtimeJNI invocation of an abstract instance method corrupts the stack
24JDK-8320208security-libs/java.securityUpdate Public Suffix List to b5bf572
25JDK-8302182security-libs/java.securityUpdate Public Suffix List to 88467c9
26JDK-8307185security-libs/javax.crypto:pkcs11pkcs11 native libraries make JNI calls into java code while holding GC lock
27JDK-8277307security-libs/javax.net.sslPre shared key sent under both session_ticket and pre_shared_key extensions
28JDK-8284910security-libs/javax.securityBuffer clean in PasswordCallback
29JDK-8318971tools/jarBetter Error Handling for Jar Tool When Processing Non-existent Files
30JDK-8308245tools/javacAdd -proc:full to describe current default annotation processing policy
31JDK-8298087xml/javax.xml.validationXML Schema Validation reports an required attribute twice via ErrorHandler