- GraalVM Release Calendar
- Vulnerability Advisories
- GraalVM 25.2
- GraalVM 25.1
- GraalVM 25
- GraalVM for JDK 24
- GraalVM for JDK 23
- GraalVM for JDK 22
- GraalVM for JDK 21
- GraalVM for JDK 20
- GraalVM for JDK 17
- GraalVM 22.3.x
- GraalVM 22.2.x
- GraalVM 22.1.x
- GraalVM 22.0.x
- GraalVM 21.3.x
- GraalVM 21.2.x
- GraalVM 21.1.x
- GraalVM 21.0.x
- GraalVM 20.3.x
- GraalVM 20.2.x
- GraalVM 20.1.x
- GraalVM 20.0.x
- GraalVM 19.3.x
GraalVM 25.2.4
(2026-07-28)
Platform and Distributions
- Released GraalVM Community Edition 25.2.4, an innovation release, based on OpenJDK 25.0.4+7. See OpenJDK 25 Updates.
- Released Oracle GraalVM 25.2.4, an innovation release, based on Oracle JDK 25.0.4+7. See Java SE 25 Release Notes.
- Version compatibility:
- GraalVM 25.2.4 is compatible with Graal Languages and other components version 25.2.4.
Native Image
- Compressed 32-bit object references are now enabled by default, generally improving memory usage and performance. This limits the heap to 32 GB; disable compressed references with
-H:-UseCompressedReferenceswhen a larger heap is required. - Native Image now always uses isolates. The deprecated
-H:+SpawnIsolatesoption remains for compatibility, but-H:-SpawnIsolatesis no longer supported and reports a build-time error. - Removed the deprecated
-H:OutlineWriteBarriersoption. Use-H:WriteBarrierOutlining=<value>instead. - Java Vector API support is enabled by default when
jdk.incubator.vectoris part of the boot module layer. Use-H:-VectorAPISupportto opt out explicitly. resource:URLs now preserve the source root of duplicate resource entries. This lets directory resources from separate class-path roots be converted toPathvalues and traversed independently.- Added support for the
jdk.ShutdownJFR event.
GraalJS
- Updated Node.js to version 24.17.0.
Truffle Framework
- Bytecode DSL added
BytecodeRootNode.interceptIncomingValue(Object)andBytecodeRootNode.interceptOutgoingValue(Object)for converting values exchanged with tag instrumentation. - Bytecode DSL added multi-operand support for
@Yieldoperations. - Bytecode DSL added
@Returnfor user-defined return operations that customize the value returned from a bytecode root node. - Added
HostCompilerDirectives.BytecodeInterpreterHandlerConfig#secondarySwitch()to prevent handler outlining when a secondary bytecode interpreter switch is compiled separately.
Find a complete list of updates in the Truffle Changelog.