The latest from GraalVM

GraalVM 19.2.0: Preview the Java Flight Recorder plugin

Sarah Schlothauer
© Shutterstock / TanyaJoy

The most recent version of GraalVM is here! 19.2.0 includes a variety of bug fixes, compatibility improvements, and some brand new developer tools. Test out the preview for the Java Flight Recorder plugin and go on a tour of the newly updated versioning roadmap. Let’s have a look under the hood and see what’s new.

GraalVM is an embeddable, polyglot virtual machine that runs applications in a variety of languages, including JavaScript, Python, R, Java, Scala, Kotlin, C, and C++. Its ecosystem helps run programs faster by running them in a variety of deployment scenarios.

Roll out the red carpet because GraalVM Version 19.2.0 is here!

This update includes the usual array of bug fixes and compatibility improvements, but also some brand new developer tools.

Let’s take a look under the hood and see what’s new with this latest major release.

Latest features & changes

Version 19.2.0 is a feature release, thus users are strongly recommended to upgrade.

  • Performance improvements: Just like with the previous release, this version improves performance a small amount. According to the release blog by Developer Advocate Alina Yurenko:

    We measured results when running the Micronaut GraalVM example without any profile-guided optimizations. For 1 million requests, we are spending ~10% less CPU time and achieve a ~10% higher throughput of requests per CPU second in 19.2. The throughput is still lower than in the just-in-time (JIT) configuration of GraalVM, but we continue to make progress towards bringing the AOT configuration to the same levels.

  • Simplified PGO: The process of collecting data for profile-guided optimization for GraalVM Enterprise native images has been simplified. Users can collect data for PGO in a JIT compiled mode.
  • JavaScript improvements & changes: Updated ASM library and ICU4J library and implemented Promise.allSettled proposal. Full list of changes on GitHub.
  • R improvements & changes: New fastRCluster package. Full list of changes on GitHub.
  • Python improvements & changes: Python implementation is currently experimental, however support for more C API functions have been added. Full list of changes on GitHub.
  • Ruby improvements & changes: Support for Fiddle added; improved performance and optimizedString methods; bug fixes. Full list of changes on GitHub.
  • VS Code extension: (Still in experimental mode; looking for feedback.) It provides basic editing and debugging support.

New developer tools

Meet the newest tools added with this release.

SEE ALSO: Women in tech: “The most important thing when starting out is to be more self confident”

Java Flight Recorder (JFR) preview

The JFR preview comes bundled as a plugin. With this plugin, the Java Flight Recorder reads JFR snapshots from Java 7 + and then presents the data in a familiar format. Users can install JFR support by viewing all available plugins and installing the VisualVM-JFR and VisualVM-JFR-Generic modules.

Since this feature is experimental, expect potential changes in the future. Currently, advanced features are not available in the preview version.


Java Flight Recorder preview. Copyright © 2018, 2019, Oracle and/or its affiliates. All rights reserved.

LLVM toolchain

This experimental feature is a set of tools and APIs for compiling native projects which can execute with the GraalVM LLVM runtime.

From the documentation:

It is aimed to simplify ahead-of-time compilation for users and language implementers who want to use the GraalVM LLVM runtime. To do so, we provide launchers that invoke the C/C++ compiler with special flags to produce results that can be executed by the GraalVM LLVM runtime. For more details, please consult the LLVM reference documentation.

Share your feedback here.

Refer to the full release notes and see all the changes here in the docs.

Update to v19.2.0

Download the latest release for macOS, Linux, and Windows.

Keep up with the release schedule and follow the version roadmap. Every three months, a major version arrives while a critical patch update arrives quarterly.

SEE ALSO: The time for serverless is now – tips for getting started


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

See you in November when version 19.3 drops!

Tip: Watch Oleg Šelajev show off GraalVM demos at JAX DevOps 2019 and discuss its uses, including how to use the JVM JIT compiler, run native and polyglot programs, how to compile them, and more. Make the most of your Java ecosystem!

Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is the editor for She received her Bachelor's degree from Monmouth University, West Long Branch, New Jersey. She currently lives in Frankfurt, Germany with her husband and cat where she enjoys reading, writing, and medieval reenactment. She is also the editor for Conditio Humana, an online magazine about ethics, AI, and technology.

Inline Feedbacks
View all comments