Back to Zing Documentation Home

Features Added in Previous Releases

Zing 20.10.0.0

  • ZVM 20.10.0.0 brings the associated JDK 7, JDK 8, JDK 11 and JDK 13 versions to October 2020 Critical Patch Update (CPU) security update levels and incorporates changes related to OpenJDK 7u281, OpenJDK 8u271, OpenJDK 11.0.8.0.101, and OpenJDK 13.0.4.0.101 release contents.

  • ZVM 20.10.0.0 includes loop form fixes to increase performance of loops by simplified triggering of enabled vectorization methods. The optimization is enabled by default.

  • ZVM 20.10.0.0 contains an improved allocation mechanism which has a positive impact on the ZVM's performance. The optimization is enabled by default.

  • ZVM 20.10.0.0 introduces method counters across JVM runs, which enables ReadyNow! to build a profile over multiple short runs when the number of orders is low.

Zing 20.09.0.0

  • ZVM 20.09.0.0 introduces Medium Term Support for Java SE 13. See Azul Product Support Lifecycle for more information.

  • ZVM 20.09.0.0 includes accelerated copying of large array chunks. The optimization is enabled by default.See UseArrayCopyChunkingIntrinsics in Using ZVM Command-Line Options for details.

  • ZVM 20.09.0.0 provides a performance improvement for org.apache.logging.log4j.util.StackLocator.getCallerClass(), which maximizes logging performance when using log4j versions 2.13.1 - 2.13.3 on Zing 8 and log4j versions 2.9.0 - 2.13.3 on Zing 11+. The improvement is disabled by default. See UseLog4jGetCallerClassIntrinsic in Using ZVM Command-Line Options for details.

  • ZVM 20.09.0.0 introduces unified Garbage Collection (GC) logging that utilizes unified JVM logging framework (JEP 271: Unified GC Logging). See Unified GC Logging Recommendations to learn more.

Zing 20.08.2.0

  • SHA1withDSAinP1363Format, NONEwithDSAinP1363Format, SHA224withDSAinP1363Format, and SHA256withDSAinP1363Format are removed from signature algorithms enabled by default in ZVM 20.08.1.0. The algorithms are not supported in other JDK 8 virtual machines.

Zing 20.08.0.0

  • ZVM 20.08.0.0 incorporates additional non-security changes associated with the July Patch Set Updates (PSU) 2020 OpenJDK 7u272, OpenJDK 8u265, and OpenJDK 11.0.8 release contents.

  • NONEwithDSAinP1363Format is included in signature algorithms enabled in ZVM 20.08.0.0 by default. NONEwithDSAinP1363Format is scheduled for removal in the following release of the Zing Virtual Machine. Since the algorithm is not supported in other JDK 8 virtual machines, it is recommended to migrate to Digital Signature Algorithms with ASN.1 encoded signature bytes.

  • ZVM 20.08.0.0 introduces multiple optimizations that significantly increase performance on a set of Java Stream API scenarios.

  • ZVM 20.08.0.0 introduces a new version string format that includes a matching OpenJDK release number. See Verifying Zing Virtual Machine Installation for a sample string.

  • Version 1 of the GC Log Analyser has reached its end-of-life and is removed from ZVM 20.08.0.0. Version 2 of the GC Log Analyzer is available for download at https://cdn.azul.com/gcla/GCLogAnalyzer2.jar.

Zing 20.07.0.0

  • ZVM 20.07.0.0 brings the associated JDK 7, JDK 8, and JDK 11 versions to July 2020 Critical Patch Update (CPU) security update levels and incorporates changes related to OpenJDK 7u271, OpenJDK 8u261, and OpenJDK 11.0.7.0.101 release contents. See Common Vulnerabilities and Exposures Fixes for the list of July 2020 security-only fixes.

  • The lock-less Java Native Interface (JNI) protocol is enabled by default in ZVM 20.07.0.0. See Using ZVM Command-Line Options for the UseThreadStateNativeWrapperProtocol option and details.

  • ZVM 20.07.0.0 introduces optimization in object allocation (internal new_stub() function) for improved performance in TLAB allocation intensive applications. The optimization is enabled by default.

  • Starting with ZVM 20.07.0.0, Zing 8 supports TLS 1.3 by default and follows the application programming interface (API) changes introduced by Maintenance Release 3 to the Java SE 8 specification. See Using Version 1.3 of Transport Layer Security (TLS) Protocol for more information.

Zing 20.06.0.0

  • The release of ZVM 20.06.0.0 includes ReadyNow! improvements for faster warmup and smaller footprint.

  • ZVM 20.06.0.0 introduces a JNI exception checking optimization. See Using ZVM Command-Line Options for the UseFastJNIExceptionCheck option and details.

  • ZVM 20.06.0.0 provides full elasticity support for code cache. See Using ZVM Command-Line Options for the InitialCodeCacheSize, ReservedCodeCacheSize, and CodeCacheOopTableSize options and details.

  • ZVM 20.06.0.0 includes a further improvement of JDK 11 java.lang.StackWalker which is frequently used by log4j2 and other logging implementations. See also https://openjdk.java.net/jeps/259 and java.lang.StackStreamFactory$AbstractStackWalker.

  • ZVM 20.06.0.0 introduces new diagnostic Java Flight Recorder (JFR) events to simplify error handling.

  • The lock-less Java Native Interface (JNI) protocol is disabled by default. See Using ZVM Command-Line Options for the UseThreadStateNativeWrapperProtocol option and details.

Zing 20.05.0.0

  • In ZVM 20.05.0.0, the Java Flight Recorder Tick Profiler becomes enabled by default. See Using Zing JFR Tick Profiler for more information.

  • In ZVM 20.05.0.0, Java monitors are moved from CodeCache to a new dedicated MonitorCache storage. See Monitor Cache Use Optimization Options for related command-line options.

  • The release of ZVM 20.05.0.0 includes optimizations targeted at accelerating compilation and warmup.

  • ZVM 20.05.0.0 introduces better JDK 11 java.lang.StackWalker which is frequently used by log4j2 and other logging implementations. See also https://openjdk.java.net/jeps/259 and java.lang.StackStreamFactory$AbstractStackWalker.

  • ZVM 20.05.0.0 provides a reduction of application exit times in the non-ZST mode when a process uses mlockall().

  • ZVM 20.05.0.0 improves the mitigation strategy used by the Falcon compiler to minimize performance impacts due to Intel's microcode updates in response to Jump Conditional Code (JCC) Erratum SKX102. Previous versions inserted nop instructions for padding; the new version can optionally increase the size of existing instructions in some cases. As before, the mitigation is enabled only on affected processors, and no user action is needed.

  • ZVM 20.05.0.0 introduces a testing grace period mode, under which the Zing JVM can run for up to 60 minutes (3600 seconds) without requiring a valid license. The testing grace period can be enabled by setting the ZING_TESTING_GRACE_PERIOD_SEC environment variable to a number of grace period seconds (up to 3600), or by using the -XX:ZingTestingGracePeriodSec=N flag with a similar value. See Zing Testing Grace Period Mode for details.

Zing 20.04.0.0

  • The release of ZVM 20.04.0.0 contains April 2020 critical patch update (CPU) security and critical bug fixes and brings the associated JDK 7, JDK 8, and JDK 11 versions to April 2020 CPU security update levels.

  • ZVM 20.04.0.0 incorporates additional non-security changes associated with the April PSU 2020 OpenJDK 8u252 and OpenJDK 11.0.7 release contents.

  • Starting with Zing 20.04.0.0, the -XX:+UseC2 option can use one of two separate implementations of C2 JIT compilation: a traditional UseSeaOfNodesC2 mode and a new UseKestrelC2 mode.

    The new mode is selected with +UseKestrelC2 which is on by default for Zing 11 and off by default for Zing 8 and Zing 7. This mode enables a C2 implementation introduced to Zing in 2020. It is based on a lightweight use of the LLVM backend and typically produces faster code than UseSeaOfNodesC2 while keeping compilation effort at similar levels. UseKestrelC2 generally exhibits a significantly lower compilation-time CPU consumption compared to Falcon.

    The old mode is selected with +UseSeaOfNodesC2 which is off by default in Zing 11 and on by default for Zing 8 and Zing 7.

    See Using ZVM Command-Line Options for UseKestrelC2 and UseSeaOfNodesC2 command-line options and details.

  • ZVM 20.04.0.0 introduces a compilation time improvement.

  • The release of ZVM 20.04.0.0 introduces an increased maximum Java heap size from 1 TB to 2.5 TB in the default non-ZST mode.

    The maximum Java heap size for the Zing Virtual Machine with ZST is 20 TB.

  • In ZVM 20.04.0.0, a new Java Flight Recorder functionality allows you to collect profiling data about applications that use JNI invocations.

    See Using Zing JFR Tick Profiler for more information.

  • The release of ZVM 20.04.0.0 includes optimizations targeted at reducing JNI transition costs. The cost of a native call from Java was reduced, and the implementation of the accessor functions used to retrieve fields of Java objects from native code was also improved. Most applications will not be affected, but applications with many native transitions (such as a socket or file IO) may see the marked improvement.

    See Using ZVM Command-Line Options for UseFastJNIAccessors, UseMembar, and UseThreadStateNativeWrapperProtocol command-line options and details.

  • ZVM 20.04.0.0 excludes debug symbols embedded in libjvm.so, which reduces the filesystem footprint of a ZVM installation by 280 MB.

    Contact [email protected] if you need to install debug symbols for the ZVM.

Zing 20.03.0.0

  • The release of ZVM 20.03.0.0 introduces the elimination of redundant boxing conversions and the optimized copying of HashSets.

Zing 20.02.0.0

  • Zing 20.02.0.0 incorporates additional non-security changes associated with the PSU 2020 OpenJDK 8u242 and OpenJDK 11.0.6 release contents.

  • The FalconUseLegacyInliner command-line option is deprecated in ZVM 8 and 11 with no replacement starting with the release of Zing 20.02.0.0.

Zing 19.12.102.0

  • ZVM 19.12.102.0 contains -XX:+FalconCompensateForIntelMCUForErratumSKX102 which is an off-by-default option and introduces a nop padding based mitigation for performance regressions seen on some systems following Intel's microcode updates in response to errata SKX102. This option is expected to become the default in a future Zing release. If enabled, nop padding will be used to align affected branches on systems with the microcode update applied.

    For testing purposes, the flag ‑XX:+ForceFalconCompensateForIntelMCUForErratumSKX102 is also provided. This can be used to force the generation of nop padded code on unaffected systems for performance validation.

Zing 19.12.101.0

  • Zing 19.12.101.0 is a critical patch update (CPU) release that contains security and critical bug fixes only. Zing 19.12.101.0 is based on Zing 19.12.100.0 and Zing 19.12.0.0 and brings the associated JDK 7, JDK 8, and JDK 11 versions to January 2020 CPU security update levels.

Zing 19.12.0.0

  • Zing 19.12.0.0 introduces additional non-security changes associated with the PSU 2019 OpenJDK 8u232 and OpenJDK 11.0.5 release contents.

  • The release of ZVM 19.12.0.0 provides further improved throughput and latency characteristics with heaps less than or equal to 1 GB.

  • The release of ZVM 19.12.0.0 provides enhanced escape analysis and a few other improvements in the Falcon JIT compiler, which may decrease the allocation rate and deliver higher performance on some workloads.

  • The release of ZVM 19.12.0.0 enhances the improvements of ReadyNow! and Compile Stashing started in ZVM 19.10.0.0, which now dramatically reduces CPU consumption for JIT compilation on many workloads..

  • Starting with ZVM 19.12.0.0, Compile Stashing is not enabled by default with the ‑XX:ProfileLogOut command-line option. Compile Stashing is still enabled by default only in combination with the ‑XX:ProfileLogIn command-line option.

Zing 19.10.0.0

  • Zing 19.10.0.0 brings the associated JDK 7, JDK 8, and JDK 11 versions to October 2019 CPU security update levels.

  • Zing 19.10.0.0 introduces further performance improvements with the FalconOptimizationLevel command-line option set to:

    • 0 or 1 to reduce CPU utilization and accelerate warmup phase without losing performance.

    • 2 or 3 to get incremental performance improvements.

  • See Falcon Compiler Options for details.

  • The release of ZVM 19.10.0.0 provides better throughput and latency characteristics with heaps of 1 GB and below.

  • In ZVM 19.10.0.0, the default for GC worker threads in small configurations (heaps less than or equal to 2 GB) are about two times lower than in larger heaps. Use GPGCThreads, GenPauselessNewThreads, GenPauselessOldThreads command-line options to control the number of threads. See the Zing User's Guide for details.

Zing 19.09.0.0

  • Zing 19.09.0.0 introduces an option to write live memory objects into Zing flight recordings for troubleshooting memory leaks. See Using Zing Live Objects for details.

    Use the JFRDescribeLiveSetPercentage command-line option to tune the percentage amount of a live set to be described. See the Zing User's Guide for details.

  • Due to providing better input from ReadyNow! to Falcon and enabling Falcon to do better optimizations, Zing 19.09.0.0 closes or significantly shortens a gap between ReadyNow! and default Zing final throughputs in rare cases when the gap is observed.

    Note that in some cases doing better optimizations may lead to an increase in CPU consumption or startup time. In such cases, the new FalconOptimizationLevel command-line option can be used to lower the aggressiveness of optimizations. See Falcon Compiler Options for details.

  • Starting with ZVM 19.08.0.0, Zing supports a heap size of 512 MB. The release of ZVM 19.09.0.0 adds improved Zing performance for heaps of less than 2 GB.

  • Zing 19.09.0.0 significantly reduces CPU usage due to a new compilation policy and improvements in the Falcon compiler.

  • Zing 19.09.0.0 features updated Zing MXBeans javadoc. See https://docs.azul.com/zing/ZingMXBeans_javadoc/ for more information.

  • In Zing 19.09.0.0 the default values for CodeCacheMinimumFreeSpace, CodeCacheOopTableSize and ReservedCodeCacheSize command-line options are changed to allow more space for objects in the Java heap with small heaps. See the Zing User's Guide for details.

  • Zing 19.09.0.0 introduces new Thread Local Allocation Buffer (TLAB) command-line options to resize TLABs and manage allocation of objects in TLABs. See the Zing User's Guide for details.

  • In Zing 19.09.0.0, the default value of the AlignArrayStart command-line option is changed to true.

    See the Zing User's Guide for details.

  • In Zing 19.09.0.0, the default value of the HserrRawCodeWindowSize command-line option is changed to 512.

    See the Zing User's Guide for details.

  • Zing 19.09.0.0 introduces a new MaxRAMPercentage command-line option for adjusting the maximum heap size based on the configured cgroup memory limit.

    See the Zing User's Guide for details.

Zing 19.08.0.0

  • Zing 19.08.0.0 incorporates additional non-security changes associated with the PSU 2019 OpenJDK 8u222 and OpenJDK 11.0.4 release contents.

  • Zing 19.08.0.0 introduces the OpenJSSE TLS 1.3 JSSE provider which can be used to enable TLS 1.3 support with no application or code changes. See TLS 1.3 Support in Zulu 8 and Zing 8 with OpenJSSE for more information.

    Use the -XX:+UseOpenJSSE command-line option to enable TLS 1.3 support. See the Zing User's Guide for details.

  • A new PrintGCHSLines command-line option for controling additional system information lines. See the Zing User's Guide for details.

Zing 19.07.0.0

  • Zing 19.07.0.0 brings the associated JDK 7, JDK 8, and JDK 11 versions to July 2019 CPU security update levels.

  • Starting with Zing 19.07.0.0 the Zing Virtual Machine installs without the Zing System Tools component dependencies by default.

  • Zing 19.07.0.0 introduces a new FalconOptimizationLevel command-line option for controling the level of compiling optimization. See the Zing User's Guide for details.

  • Enhancements for the ReadyNow! performance tuning tool.

Zing 19.06.0.0

  • Zing 19.06.0.0 introduces a new Zing Virtual Machine mode. See Installing the Zing Virtual Machine for related installation details.

  • The following new command-line options for enabling and working with the new Zing Virtual Machine mode are introduced:

    • UseZST
    • NonZSTModePreferenceLevel
    • UseLargePages
    • UseTransparentHugePages
    • GPGCNoZSTBackingStoragePath
    • GPGCNoZSTWorkaroundRSSInaccuracy
    • GPGCNoZSTUseNUMAInterleaving
    • AlwaysPreTouch

    See Command-Line Options for the Zing Virtual Machine for more information.

  • The new Zing Virtual Machine mode may require tuning to achieve the best results. See Tuning Zing Virtual Machine for details.

  • Zing 19.06.0.0 introduces a new core-bundler utility to manage core file bundling. See About the core-bundler Script for more information.

  • Enhancements for the ReadyNow! performance tuning tool.

  • Installing Zing Standalone Licenses is updated to include a list of locations checked for a license in order of priority.

Zing 19.05.100.0

  • Zing 19.05.100.0 brings the associated JDK 7, JDK 8, and JDK 11 versions to July 2019 CPU security update levels.

Zing 19.05.0.0

  • Zing 19.05.0.0 incorporates additional non-security changes associated with the April 2019 OpenJDK 8u212 and OpenJDK 11.0.3 release contents.

  • Zing JDK 8 supports JEP 328. The Java Flight Recorder feature records information about Zing VM and its environment while it is running. See the Zing User's Guide for Java Flight Recorder command-line options and details.

Zing 19.04.0.0

  • Zing 19.04.0.0 brings the associated JDK 7, JDK 8, and JDK 11 versions to April 2019 CPU security update levels.

  • Zing JDK 11 supports JEP 328. The Java Flight Recorder feature records information about Zing VM and its environment while it is running. See the Zing User's Guide for Java Flight Recorder command-line options and details.

  • FalconUseLegacyInliner command-line option performs inlining optimizations in Falcon compiles.

    See the Zing User's Guide for details.

  • The default value of the SafelyTrustEffectivelyFinalFields command-line option is changed to true. See the Zing User's Guide for details.

Zing 19.03.0.0

  • The GPGCPausePreventionMemory command-line option is introduced to restrict pause prevention memory.

  • The ProfilePreMainTier2CompilerThreads, and ProfileWorkerThreads command-line options are added. The default value of ProfileStartupLimitInSeconds, is changed to 60. See the Zing User's Guide for details.

  • The default value of the FalconUseAVX command-line option is changed to 2.

  • The default value of the ProfileStartupLimitInSeconds command-line option is changed to 60.

  • The default value of the ResetSignalMaskAtLaunch command-line option is changed to true.

  • The default value of the RunVMErrorOnUnhandledSignals command-line option is changed to true.

Zing 19.02.0.0

  • Zing 19.02.0.0 applies fixes reflecting January 2019 OpenJDK 7u211, OpenJDK 8u201, OpenJDK 8u202, and OpenJDK 11.0.2 changes.

  • A new gcLogScraper script is introduced for easy parsing of GC log files. See the Zing User's Guide for details.

  • The speed of the existing Datagram Channel is dramatically improved. See the Zing User's Guide for details.

  • The -XX:[+/-] UseStringDeduplication command-line option is now back to being product and is ignored by the VM.

Zing 19.01.0.0

  • The MaxDirectMemorySize command-line option changed its type to unsigned and no longer accepts negative values. Its default value is changed from -1 to 0 while preserving the corresponding default behavior.

Zing 18.12.0.0

  • Support for Java SE 11.

  • A completely rewritten GC Log Analyser, GCLogAnalyzer2.jar, that enables faster loading, less memory usage, and JIT compilation activity graphs. See the Zing User's Guide for details.

  • Support for JEP 254, the compact strings optimization, that helps reduce memory footprint and improve performance of string-intensive applications. See the Zing User's Guide for details.

  • New command-line options or options with changed default values:

    • ExitOnOutOfMemory
    • CrashOnOutOfMemoryError
    • GPGCNewGenConcurrentMarkFlushRetryLimit
    • GPGCNewGenConcurrentMarkFlushRetryLimitAction
    • UseSpecialArrayCopy
    • UseModifiedThreadLocal

    See the Zing User's Guide for details.

  • libc_hooks2 changed to libc_hooks3 for native launch with ZVM. See the Zing User's Guide for details.

Zing 18.10.0.0

  • Fixes reflecting October 2018 OpenJDK 8u191 and 7u201 changes is introduced.

  • Support for Logstash is added. See the Zing User's Guide for details.

Zing 18.09.0.0

  • The default value of the EnableC1Flushing flag is changed to true. See the Zing User's Guide for details.

Zing 18.07.0.0

  • Fixes reflecting July 2018 OpenJDK 8u181 and 7u191 critical patch updates provided.

Zing 18.04.0.0

  • Fixes reflecting April 2018 OpenJDK 8u172 and 7u181 changes provided.

Zing 18.03.0.0

  • Compile Stashing enabled by default with ReadyNow!. Learn more about Compile Stashing specifics in the Zing User's Guide.

Zing 18.02.0.0

  • Compiler Statistics Reporting Updates:

    1. Adding total wait-in-queue time to compiler statistic reporting and GC log records.

    2. Changing TotalAcutalTimeMS to TotalCPUTimeMS in GC log records and compiler statistics.

  • Performance and stability improvements.

Zing 18.01.0.0

  • Unlimited Cryptographic Policy is Enabled by Default.
  • Providing Azul OEM Master License Key.
  • Enhancements for gcLogAnalyser.
  • Compiler Enhancements including Using Compile Stashing.
  • Deprecation of Support for RHEL 5

Zing 17.12.0.0

  • Enhance control of precompilation to allow control of each tier’s precompliation separately.
  • Add support for uncounted loop safepoint removal.
  • Add a command-line option that changes the threshold at which the OSR compiles are triggered.

  • Enhance the gcLogAnalyser tool’s graph PNG file generator to automatically add html pages to:

    1. Easily navigate the graphs in a set of PNG files using a web browser

    2. Compare any two graphs in one view using a web browser

Zing 17.11.0.0

  • Include JCE Jurisdiction Policy files.
  • Set limit on array length.
  • CodeCache flushing improvements.
  • New Falcon inlining command-line option.
  • ReadyNow! enhancements.

Zing 17.10.0.0

  • Increase maximum heap size (-Xmx) supported by Zing from 2 TB to 8 TB.

Zing 17.08.0.0

  • Eliminate a transaction latency problem.
  • Support for ParallelClassLoaders.
  • Multiple changes and improvements in the GC Log Analyser tool and ReadyNow!.
  • Deprecation of the GPGCConcurrentMarkGlobalHandles command-line option.
  • Add "update-alternatives" for Java and a symlink for easy access of Java binary.

Zing 17.06.0.0

  • The ZST 5.20 that is included in the Zing Trial Program has two new behaviors. First, system-config-zing-memory is run automatically after the installation of the ZST to configure the System Zing Memory. Second, the default policy for reservation of memory used by the ZVM has been changed from reserve-at-config (reserved when system-config-zing-memory is run) to reserve-at-launch (reserved when the ZVM process is launched).
  • Support for Stop-The-World (STW) garbage collection in the ZVM.
  • Multiple changes and improvements in the GC Log Analyser tool.
  • Enable CodeCache Flushing and support for ParallelClassLoaders.

Zing 17.03.0.0

  • Falcon compiler becomes the default Tier 2 compiler for Zing (for Java SE 7 and 8) replacing C2.
  • Multiple changes and improvements in the Zing monitoring tools.
  • Many improvements of the ReadyNow! performance tuning tool.

Zing 16.12.0.0

  • General Availability of the Falcon Compiler. Learn more about the Falcon specifics in the Zing User's Guide.
  • Adding the UseFastJNIAccessors option to the list of the unchangeable options.
  • Adding the ability to process files that have GC log lines without any timestamp preceding the log line label.

Zing 16.10.0.0

  • Increased number of supported operating systems and kernels.
  • Compiler Enhancements.
  • Performance and Stability Improvements

Zing 16.07.0.0

  • Intel TSX support
  • Additions to the Garbage Collector output information
  • Enhancements in the gcLogAnalyser tool
  • Large number of supported operating systems and kernels
  • Performance Improvements.

Zing 16.01.0.0

  • Extended Java Heap Size up to 2 TB per JVM instance
  • The Native Memory Tracking functionality includes invocation of Memory-tracking functions to record allocations.
  • New graphs are available in the gcLogAnalyser tool.
  • Bug fixes.

 

See Also

 

 

Last modified: July 31, 2020


© Azul Systems, Inc. 2020 All rights reserved.

Privacy Policy | Legal | Terms of Use