Service refresh 8

Read about the changes in service refresh 8, and subsequent fix packs.

Skip to Service refresh 8 fix pack 5.

Skip to Service refresh 8 fix pack 6.

Skip to Service refresh 8 fix pack 10.

Skip to Service refresh 8 fix pack 11.

Skip to Service refresh 8 fix pack 15.

Skip to Service refresh 8 fix pack 20.

Skip to Service refresh 8 fix pack 21.

Service refresh 8

This release contains IBM and Eclipse OpenJ9 fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:

  • IBM security features, as listed in Security guide.
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.36.0 OpenJ9 user documentation.
  • Other SDK features, as listed in the following sections.
Other SDK features
New operating system and hardware support

The following operating systems are now supported:

  • Red Hat® Enterprise Linux® 8.7
  • Red Hat Enterprise Linux 9.1

For more details, see Supported environments.

Service refresh 8 fix pack 5

Fix pack 5 contains the latest IBM® fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:

  • IBM security features, as listed in Security guide.
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.37.0 and Version 0.38.0 OpenJ9 user documentation.
  • Other SDK features, as listed in the following section.
  • IBM documentation features as listed in the following section.
Other SDK features
The RDMA implementation is deprecated
The RDMA implementation is deprecated and will likely be removed in a future release of IBM SDK, Java™ Technology Edition, Version 8. A possible alternative is the open source Libfabric library.
IBM Documentation features
Change in process to download IBM SDK documentation
To download the IBM SDK documentation for offline viewing, use the IBM Documentation Offline process. This new method of viewing documentation offline supersedes the Eclipse software site and PDF files methods, described in the "Downloadable documentation" topic alongside the user guides.

Service refresh 8 fix pack 6

Fix pack 6 includes the latest IBM fixes, and the following OpenJ9 fix:
JVM updated to detect control group v2 settings
The JVM is updated to correctly detect the control group's settings. This allows the JVM to set the precise upper memory limit and function within this limit. Further, this stops the operating system's OutOfMemory (OOM) killer from terminating the JVM in a containerized environment.

Service refresh 8 fix pack 10

Fix pack 10 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:

  • IBM security features, as listed in Security guide.
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.40.0 OpenJ9 user documentation.
  • Other SDK features, as listed in the following section.
Other SDK features
New operating system and hardware support
The following operating systems are now supported:
  • Red Hat Enterprise Linux 8.8
  • Red Hat Enterprise Linux 9.2

For more information, see Supported environments.

Support for persistent shared class cache added on z/OS®
Persistent shared caches are now supported on z/OS systems. The default cache type on z/OS is still nonpersistent. You can use the -Xshareclasses:persistent option to switch to persistent shared cache. For more information, see the -Xshareclasses topic in OpenJ9 documentation.

Service refresh 8 fix pack 11

Fix pack 11 includes the latest IBM fixes, and the following new features:

SDK features
New operating system and hardware support
The following operating systems are now supported:
  • z/OS 3.1

For more information, see Supported environments.

Support for GB18030-2022
The China National Standard body, CESI, has published GB18030-2022, which is an updated version of the GB18030 standard and brings GB18030 in sync with Unicode version 11.0. The Charset implementation for this new standard has now replaced the prior 2000 standard. However, this new standard has some incompatible changes from the prior implementation. If you need to use the old mapping, use the new system property jdk.charset.GB18030. Set the value of this property to 2000 to use the older mappings for the GB18030 Charset, which are based on the 2000 standard.

Also, some enhancements are made to allow more characters for GB18030-2022 support. The purpose of the enhancement is to incorporate 35 code points (from U+9FCD to U+9FEF) from Unicode 11.0 into Java 8 to allow implementations to comply with their Implementation Level 1 requirements. For more information, see JDK-8301400.

Service refresh 8 fix pack 15

Fix pack 15 includes the latest IBM fixes, and the following new features:

  • IBM security features, as listed in Security guide.
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.41.0 OpenJ9 user documentation.
  • Other SDK features, as listed in the following section.
Other SDK features
Updated operating system support

The following operating system is now supported:

  • SUSE Linux Enterprise Server (SLES) 15 SP5

For a list of supported hardware and operating systems, see Supported environments.

Service refresh 8 fix pack 20

Fix pack 20 includes the latest IBM fixes, and the following new features:

  • IBM security features, as listed in Security guide.
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.42.0 and Version 0.43.0 OpenJ9 user documentation.
  • Other OpenJ9 features, as listed in the following section.
Other OpenJ9 features
Change in behavior of the -Djava.security.manager system property
From OpenJDK version 18 onwards, if you enable the SecurityManager at runtime by calling the System.setSecurityManager() API, you must set the -Djava.security.manager=allow option. To disable the SecurityManager, you must specify the -Djava.security.manager=disallow option. If an application is designed to run on multiple OpenJDK versions, the same command line might be used across multiple versions. Because of this use of the same command line across multiple versions, in OpenJDK versions before version 18, the runtime attempts to load a SecurityManager with the class name allow or disallow resulted in an error and the application was not starting. To resolve this issue, OpenJDK version 17 ignores these options. With this release, OpenJDK versions 8 and 11 also ignore the allow and disallow keywords, if specified.
  • Other SDK features, as listed in the following section.
Other SDK features
Updated operating system support

The following operating system is now supported:

  • Red Hat Enterprise Linux 8.9
  • Red Hat Enterprise Linux 9.3

For a list of supported hardware and operating systems, see Supported environments.

InstallAnywhere packages are discontinued
InstallAnywhere (.bin and archive.bin) packages of IBM SDK, Java Technology Edition are discontinued from this release. On Linux systems, you can install the SDK from an RPM package or extractable tarballs. On AIX® systems, you can continue to use the installp packages or use the extractable tarballs.
Support available for IBM z/OS Container Platform image (z/OS only)
The container image for IBM SDK, Java Technology Edition for z/OS is available in IBM container registries. You can pull the IBM Java 8 z/OS container image to start using the SDK. You can verify the image by using the cryptographic hash. Images are also signed, and you can verify the signature. For more information, see IBM z/OS Container Platform image (z/OS only).

Service refresh 8 fix pack 21

Fix pack 21 includes the latest IBM fixes, and the following new feature:

  • Other OpenJ9 features, as listed in the following section.
Other OpenJ9 features
New -XX:[+|-]CpuLoadCompatibility option added
The getProcessCpuLoad() and getSystemCpuLoad() methods were returning -1 to indicate that the recent CPU usage is not available when these methods were called in OpenJ9 for the first time. It was difficult to identify whether the reason for the -1 value was an error or because the call was the first call and therefore, no recent CPU usage was available.

In OpenJDK, these methods return 0 value in the case of the first call, which makes it easier to differentiate between the first call behavior and an error that needs further investigation.

The -XX:+CpuLoadCompatibility option is used to enable the OpenJDK behavior of the getProcessCpuLoad() and getSystemCpuLoad() methods in OpenJ9 so that these methods return 0 when called in OpenJ9 for the first time.

For more information, see -XX:[+|-]CpuLoadCompatibility.