April 22nd, 2024

Microsoft Build of OpenJDK – April 2024 Patch & Security Update Release

Bruno Borges
Principal PM Manager

OpenJDK April 2024 Patch & Security Updates

We are happy to announce the latest April 2024 patch & security update release for the Microsoft Build of OpenJDK. See the release notes for detailed changes present in the Microsoft Build of OpenJDK binaries. And download or install the binaries today. The latest versions are now:

  • OpenJDK 21.0.3
  • OpenJDK 17.0.11
  • OpenJDK 11.0.23

Check our release notes page for details on fixes and enhancements. As a reminder, the source code of our builds is now available on GitHub for further inspection: jdk21ujdk17u, and jdk11u.

Microsoft Build of OpenJDK specific updates

OpenJDK 21

  • Includes a new feature (see JDK-8287061  and JDK-8289943 ) to improve the performance of Escape Analysis by increasing the number of opportunities for Scalar Replacement. This feature is enabled by default. To disable it, developers must use the following JVM flags:
    `-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges`
    
  • Includes a new JFR event to track Compiler Queue Utilization (a backport of JDK-8317562 ).

OpenJDK 17

  • Includes a new feature (see JDK-8287061  and JDK-8289943 ) to improve the performance of Escape Analysis by increasing the number of opportunities for Scalar Replacement. This feature is enabled by default. To disable it, developers must use the following JVM flags:
    `-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges`
    
  • Added support for SST files as KeyStores on Windows (see JDK-8306688 ), which can be enabled by using the following property:
    `-Dsun.security.mscapi.enableSST=true`
    

OpenJDK 11

  • Includes a new feature (see JDK-8287061  and JDK-8289943 ) to improve the performance of Escape Analysis by increasing the number of opportunities for Scalar Replacement. This feature is enabled by default. To disable it, developers must use the following JVM flags:
    `-XX:+UnlockDiagnosticVMOptions -XX:-ReduceAllocationMerges`
    
  • Added support for SST files as KeyStores on Windows (see JDK-8306688 ), which can be enabled by using the following property:
    `-Dsun.security.mscapi.enableSST=true`
    
  • Backports of the following enhancements and bug fixes:
    • JDK-8250902 Implement MD5 Intrinsics on x86 – Java Bug System
    • JDK Flight Recorder
      • JDK-8226897 Provide object age with JFR OldObjectSample event
      • JDK-8232594 Make the output of the JFR command duration more user friendly
      • JDK-8216041 Event Request Deoptimization
      • JDK-8216995 Clean up JFR Command Line
      • JDK-8217089 Lazy install os interface components for improved startup

Known issues Microsoft OpenJDK 11

  • Binaries for macOS/AArch64 do not have Default CDS (JEP 341) archives.
    • Workaround: Run java -Xshare:dump to produce them after installation.

Summary of Upstream Updates

OpenJDK 21

For further details, please refer to this query for fixed items in JDK 21.0.3.

OpenJDK 17

For further details, please refer to this query for fixed items in JDK 17.0.11.

OpenJDK 11

For further details, please refer to this query for fixed items in JDK 11.0.23.

OpenJDK 8

We continue to provide support on Azure and internally at Microsoft for OpenJDK 8 by adopting binaries of Eclipse Temurin built by the Eclipse Adoptium project. To facilitate its usage, we ship container images of OpenJDK 8 on top of Azure Linux (previously known as CBL-Mariner) and Ubuntu. Please refer to our container documentation.

Upcoming Changes

  • Debian 9 and Debian 10 install packages will be deprecated and no longer receive updates starting with the next Patch Set Update scheduled for July 2024, as these versions of Debian have reached their End of Life.
  • We are also happy to share that it is in our roadmap to publish installation packages for SUSE Linux. If you are interested in knowing more, please contact us.

Questions?

Contact openjdk-support@microsoft.com.

Category
Java

Author

Bruno Borges
Principal PM Manager

Bruno is Principal Program Manager for Microsoft's Java Engineering Group. Previously the Java lead for Azure Developer Relations. Conference speaker, open source contributor, Java Champion and influencer, Twitter junkie, beer sommelier.

0 comments

Discussion are closed.