2 min read

Last week, the team behind GraalVM announced the release of GraalVM 19.0. This is the first production release, which comes with early adopter Windows support, class initialization update in GraalVM Native Image, Java 8 SE compliant Java Virtual Machine, and more.

GraalVM is a polyglot virtual machine that allows users to run applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotlin, Clojure, and LLVM-based languages such as C and C++.

Updates in GraalVM 19.0

GraalVM Native Image

GraalVM Native Image is responsible for compiling Java code ahead-of-time to a standalone executable called a native image. Currently, it is available as an early adopter plugin and you can install it by executing the ‘gu install native-image’ command.

With this release, Native Image is updated in how classes are initialized in a native-image. The application classes are now initialized at runtime by default and all the JDK classes are initialized at the build time. This change was made to improve user experience, as it eliminates the need to write substitutions and to deal with instances of unsupported classes ending up in the image heap.

Early adopter Windows support

With this release, early adopter builds for Windows users are also made available. These builds include the JDK with the GraalVM compiler enabled, Native Image capabilities, and GraalVM’s JavaScript engine and the developer tools.

Java 8 SE compliant Java VM

This release comes with Java 8 SE compliant Java Virtual Machine, which is based on OpenJDK 1.8.0_212.

Read also: No more free Java SE 8 updates for commercial use after January 2019

Node.js with polyglot capabilities

This release comes with Node.js with polyglot capabilities, based on Node.js 10.15.2. With these capabilities, you will be able to leverage Java or Scala libraries from Node.js and also use Node.js modules in Java applications.

JavaScript engine compliant with ECMAScript 2019

GraalVM 19.0 comes with JavaScript engine compliant with the latest ECMAScript 2019 standard. You can now migrate from JavaScript engines Rhino or Nashorn, which are no longer maintained, to GraalVM’s JavaScript engine compatible with the latest standards.

Check out the GraalVM 19.0 release notes for more details.

Read Next

OpenJDk team’s detailed message to NullPointerException and explanation in JEP draft

Introducing Node.js 12 with V8 JavaScript engine, improved worker threads, and much more

What’s new in ECMAScript 2018 (ES9)?