Latest major release of GraalVM is here

GraalVM 20.0 adds new features for Java, JavaScript, Python & more

Maika Möbus
GraalVM 20.0
© Shutterstock / Aleksandar Mijatovic

GraalVM 20.0.0 has been released. The universal virtual machine supports different programming languages and is designed to run applications faster. V20.0, the latest major version, has new features for Java, JavaScript, LLVM, Python, GraalVM Windows builds and more on board.

GraalVM 20.0 has arrived, as was announced on the official website. GraalVM is a virtual machine that lets you run existing Java applications faster, and also supports several other languages. The latest release offers new language features as well as platform and tooling updates.

Although GraalVM 20.0 is a major release, the latest LTS (Long-Term Support) patch release is GraalVM 19.3.1, released last month as a Critical Patch Update (CPU). See the version roadmap for an overview:


Version roadmap. Copyright © 2018, 2020, Oracle and/or its affiliates. All rights reserved. Source.

Let’s take a look at the new features in v20.0.

SEE ALSO: GraalVM: Run programs faster everywhere

Platform, language and tooling updates

While GraalVM builds for Windows platforms are still experimental, GraalVM 20.0 adds the functional gu utility to install the components. The JavaScript engine and Node.js have been added as well.

Java now has the -Dgraal.TuneInlinerExploration=0 option, with float values in the range[-1;1]. It allows GraalVM Enterprise to adjust the compiler for short warmup time or better peak performance. Mitigation of Jump Conditional Code (JCC) Erratum has been added as well, which should help avoid performance loss on Intel CPUs.

Updates for JavaScript include the move to Node.js 12.15.0 and the experimental js.commonjs-require option. It allows for loading of npm-compatible CommonJS modules from plain JavaScript. The LLVM interpreter toolchain is now based on LLVM 9.0.0, and Python has received improved Jython compatibility as well as the Python 3.8 function positional-only parameters.

SEE ALSO: GraalVM: Clearing up confusion around the term and why Twitter uses it in production

Tooling updates in v20.0 include the new option to install all available components from a local directory using gu, such as: gu install -C /path/to/downloaded/20.0-components/ native-image llvm-toolchain ruby r python wasm.

Further details on GraalVM 20.0 can be found in the release notes.

Maika Möbus
Maika Möbus has been an editor for Software & Support Media since January 2019. She studied Sociology at Goethe University Frankfurt and Johannes Gutenberg University Mainz.

Inline Feedbacks
View all comments