What's new in version 0.14.0

The following new features and notable changes since v.0.13.0 are included in this release:

Features and changes

Binaries and supported environments

OpenJ9 release 0.14.0 supports OpenJDK 8, 11, and 12. Binaries are available from the AdoptOpenJDK community at the following links:

To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see Supported environments.

Support for OpenSSL 1.0.2

OpenJ9 release 0.13.0 introduced support for OpenSSL 1.0.2 for Java 12. In this release, support is extended to Java 8 and Java 11. OpenSSL is enabled by default for the CBC, Digest, GCM, and RSA cryptographic algorithms. On Linux® and AIX® platforms, the OpenSSL libraries are expected to be available on the system path. For more information about cryptographic acceleration with OpenSSL, see Cryptographic operations.

Note: Support for the OpenSSL Digest algorithm on Java 8 and 11 is re-enabled in this release following the resolution of issue #4530.

Warning: Earlier versions of OpenJDK with OpenJ9 from the AdoptOpenJDK project bundle OpenSSL as part of the binary package. On Linux and AIX systems, OpenSSL is no longer bundled and the libraries are expected to be available on the system path.

New option for ignoring or reporting unrecognized -XX: options

By default, unrecognized -XX: command-line options are ignored, which prevents an application failing to start. You can now use -XX:-IgnoreUnrecognizedXXColonOptions to turn off this behavior, so that unrecognized -XX: options are reported instead. For more information, see -XX:[+|-]IgnoreUnrecognizedXXColonOptions.

Improved support for pause-less garbage collection

Support for Concurrent scavenge mode is now extended to Linux on POWER® BE architectures. For more information, see -Xgc:concurrentScavenge.

New jstack tool for obtaining stack traces and thread information

For compatibility with the reference implementation, OpenJ9 now includes an independent implementation of the jstack tool. To learn how to use the tool and about any differences compared to the HotSpot tool of the same name, see Java stack tool.

New jps tool

OpenJ9 release 0.13.0 introduced support for the jps tool for Java 12. In this release, support is added for Java 8 and 11. The jps tool can be used to query running Java processes. For more information, see Java process status.

New experimental option to improve the performance of JVMTI watched fields

The -XX:[+|-]JITInlineWatches option is introduced in this release. When enabled, the option turns on experimental JIT operations that are intended to improve the performance of JVMTI watched fields. This option is currently supported only on x86 platforms (Windows®, macOS®, and Linux).

New option to prevent a network query being used to determine host name and IP address

By default, a network query is used to determine the host name and IP address for troubleshooting purposes. To avoid your program waiting to time out if a nameserver cannot be contacted, you can now prevent the query from being performed. For more information, see -XX:[+|-]ReadIPInfoForRAS.

Changes to the shared classes cache generation number

On all platforms, the format of classes that are stored in the shared classes cache is changed, which causes the JVM to create a new shared classes cache, rather than re-creating or reusing an existing cache. To save space, all existing shared caches can be removed unless they are in use by an earlier release. For more information about destroying a shared classes cache, see -Xshareclasses.

Full release information

To see a complete list of changes between Eclipse OpenJ9 V0.13.0 and V0.14.0 releases, see the Release notes.