GraalVM 25.1 - First Innovation Release

fniephaus1 pts0 comments

GraalVM 25.1 is here! πŸŽ‰. First innovation release πŸš€ | by Alina Yurenko | graalvm | Jun, 2026 | MediumSitemapOpen in appSign up<br>Sign in

Medium Logo

Get app<br>Write

Search

Sign up<br>Sign in

graalvm

GraalVM team blog - https://www.graalvm.org

GraalVM 25.1 is here! πŸŽ‰

Alina Yurenko

9 min readΒ·<br>Just now

Listen

Share

Press enter or click to view image in full size

First innovation release πŸš€<br>Today, we’re pleased to announce the release of GraalVM 25.1 !<br>GraalVM 25.1 is the first innovation release to build on GraalVM 25, with 25.2, 25.3, and subsequent releases to follow. This new release train will deliver features and improvements sooner, through smaller, incremental releases that make it easier to try new capabilities and provide feedback.<br>Meanwhile, the long-term support GraalVM 25.0 release train will continue to receive regular Critical Patch Updates (CPUs), providing the stability that production applications require.<br>You can already download GraalVM and check the release notes for more details.<br>This release is packed with new exciting features: even smaller native images, Native Image skill, AI-powered reachability metadata, polyglot sandboxing, and so much more β€” keep reading to learn about them!<br>Even Smaller Native Images πŸ“¦<br>Native Image is widely used to produce small, self-contained native executables. It does this through sophisticated reachability analysis that includes only the parts of your application you actually need, powerful optimizations from the Graal compiler, and more.<br>In this release, we further reduce the size of native images. We see an improvement of around 3% across a broad set of benchmarks, with small applications, such as CLI and automation tools, seeing the most significant gains. You can expect even more updates towards reducing image size in the next releases!<br>This improvement is achieved by reducing metadata stored in the image, making image heap storage more compact, and new more efficient String.format optimization.<br>As an example, we measured the impact of size optimization on the google-java-format project, which uses GraalVM Native Image to produce compact executables for distribution. The current release contains a linux-x86–64 build of 33.03 MB, while built with GraalVM 25.1 it goes down to 30.74 MB β€” 6.94% smaller !<br>Native Image Performance πŸš€<br>Great news: this release introduces a highly-requested by our community feature: G1 GC is now available in Native Image on Darwin/aarch64 ! This means that you can have the same build setup for native images between your local Darwin AArch64 machine and a Linux-based deployment environment, or have better performance for your applications running on Darwin.<br>We also introduced a new Serial GC policy, Adaptive2, which uses mark-compact collection in the old generation by default. On average, this policy reduces memory usage and often improves throughput and latency . In our benchmarks, we observe improvements around peak RSS, throughput, and latency, although the exact impact varies by workload. For example, a Micronaut ShopCart application using Adaptive2 shows ~8% lower RSS and 3.8% higher throughput .<br>1500 libraries in the GraalVM Reachability Metadata Repository! πŸ€–<br>Native Image uses a closed-world assumption for AOT compilation. Static analysis can infer a lot, but some behavior is only visible at run time. Reachability metadata fills that gap for dynamic features such as reflection, resources, serialization, JNI, and proxies.<br>To simplify and automate working with reachability metadata for our users, several years ago we introduced GraalVM Reachability Metadata Repository. The goal was simple: let users share and reuse metadata instead of solving the same compatibility problems in every application. Over the years, we built out the repository together with Spring and Micronaut teams, and other members of the GraalVM community.<br>This year, with the rise of production-grade AI agents, we saw an opportunity to scale this work. We use a fleet of AI agents and a carefully designed workflow to generate the necessary metadata for thousands of libraries . The workflow starts with Native Image reports, uses tests to exercise dynamic behavior through standard library APIs, generates metadata from observed execution, and verifies the result with Native Image, CI, and human review.<br>As a result, Native Build Tools now can automatically pull reachability metadata for almost 1500 libraries!<br>Press enter or click to view image in full size

~1500 libraries covered by the Reachability Metadata RepositoryTo benefit from the repository, just make sure that your Maven or Gradle project uses Native Build Tools.<br>Requesting reachability metadata for a new library is as simple as providing its Maven coordinates β€” follow the instructions on GitHub.<br>Native Image Skill for AI Agents πŸ€–<br>We added a Native Image skill to oracle/skills! This repository is a centralized collection of specialized skills for working with common Oracle technologies,...

graalvm native image release metadata reachability

Related Articles