Skip to content

GraalVM Community Edition 19.0.0

Compare
Choose a tag to compare
@ansalond ansalond released this 09 May 18:43
· 50650 commits to master since this release

GraalVM is a high-performance, embeddable, polyglot Virtual Machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++.

Additionally, GraalVM allows efficient interoperability between programming languages and compiling Java applications ahead-of-time into native executables for faster startup time and lower memory overhead.

This download includes:

  • JVM
  • JavaScript Engine & Node.js Runtime
  • LLVM Engine
  • Developer Tools

The Native Image, Ruby, R and Python plugins are optionally available using the GraalVM gu utility.
The complete release notes can be found on the website: http://www.graalvm.org/docs/release-notes/.
The most notable changes since the previous release are:

Java

  • We updated the base JDK to 8u212.

Native Image

  • Native Image was extracted from the base GraalVM distribution and made available as an Early Adopter plugin. To install it, run gu install native-image. After this additional step, the native-image executable can be found in the bin directory, as for the previous releases.

  • We changed how classes are initialized in a Native Image. By default, class initialization now happens at run-time. We provide the following flags to control class initialization in a fine-grained way: --initialize-at-build-time and --initialize-at-run-time.

What should I do if I am a library author?

  1. To get your tests back in check you can use --intialize-at-build-time which reverts to the previous behaviour.
  2. Then use the flag -H:+PrintClassInitialization to see when classes get initialized. Based on this output you can derive the proper configuration.
  3. Add --intialize-at-build-time=<csv-of-classes-or-packages> to your native-image.properties file.

Early Adopter Windows Support

A GraalVM CE early adopter build for Windows is now available. It includes the JDK with the GraalVM Compiler enabled, Native Image, the JavaScript Engine, and the Developer Tools. Currently there is no gu utility or support for other GraalVM languages.