GraalVM 20.3 Final Feature Release of 2020

The GraalVM team at Oracle Labs announced the release of GraalVM 20.3 just before the Thanksgiving break. This is the final feature release for this year of the Community and Enterprise editions of the universal virtual machine, and the first long-term support (LTS) release of GraalVM Enterprise.

The list of changes in this release--upgrades, fixes, performance enhancements--is a long one. It includes improvements to the GraalVM compiler, enhanced container awareness and support for the G1 garbage collector in GraalVM Native Image, improvements in JavaScript to the Nashorn compatibility mode, and faster warmups for all the languages supported by the Truffle Language Implementation Framework.

"If you're using one of the languages GraalVM supports--JavaScript, Ruby, Python, R--or running LLVM bitcode," said Oleg Šelajev, developer advocate for GraalVM at OracleLabs, in his announcement of the 20.3 release," please try the new release; it can significantly improve the warmup. If you are embedding these languages, for example, in a Java application, there are important improvements in 20.3."

This release also comes with a major improvement in GraalVM tooling that will interest Java devs: the new VSCode GraalVM extension for Java. It includes functionality designed to simplify working with Java projects. Šelajev listed four examples:

  • Java syntax highlighting
  • Java code completion
  • Integrated Java debugger
  • Integrated Polyglot debugger for GraalVM languages

"There's also a new VS Code Micronaut extension which leverages the features of the GraalVM extension for Java but also simplifies working with Micronaut apps, specifically helping to create new Micronaut projects and building native images of the Micronaut applications," Šelajev explained.

The GraalVM is an extension of the Java Virtual Machine (JVM) designed to run applications written in a range of languages, including JavaScript, Python, Ruby, and R; JVM-based languages, such as Java, Scala, and Kotlin; and Low Level Virtual Machine (LLVM)-based languages, such as C and C++. Graal is the Java-based Just-in-Time (JIT) compiler (JEP 317) that is the basis of the Ahead-of-Time (AOT) compiler introduced in JDK 9.

Oracle announced the release of GraalVM Enterprise, the commercial version of the open source, polyglot JVM, last year. Oracle touted its ability to provide better isolation and greater agility for enterprises in cloud and hybrid environments.

Both the GraalVM Enterprise Edition 20.3 and the GraalVM Community Edition 20.3 are available now for download.

A complete list of changes in the 20.3 release can be found on the GraalVM website. Šelajev's post is also loaded with additional useful detail.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].