GraalVM 25 introduces several notable features for native image compilation. ML-enabled profile inference (MLPGO) is now triggered automatically at the -O3 optimization level, providing significant throughput improvements in a single build step without requiring manual profiling runs. A new `--preserve` flag helps migrate legacy applications by instructing native image to include entire packages or modules without dead-code elimination. Security improvements include expanded SBOM generation options (including class-level SBOMs) and advanced obfuscation with a mapping file for debugging. Build reports now include a dynamic access report and flame graphs. Looking ahead, GraalVM is working on native image layers (incremental recompilation), Shenandoah GC support for native image, WebAssembly integration, and Project Kama — an open-world native image that supports loading new classes at runtime, breaking the traditional closed-world assumption.
Sort: