We are happy to announce the general availability of Liberica Native Image Kit (NIK) version 25.0.0+1 based on JDK 25+37. This major release brings significant enhancements in performance, security, and developer experience, building upon the solid foundation of the new LTS release JDK 25.
Liberica NIK releases are aligned with GraalVM release schedule. All Liberica NIK builds contain the latest version of Liberica JDK with fixes and eliminated security issues, including over 1,219 fixes in this release (not counting JDK fixes).
Oracle recently announced changes to their GraalVM distribution strategy just days before this release. For Oracle customers: Oracle GraalVM for JDK 24 was the final version licensed and supported as part of Oracle Java SE products.
What's New in JDK 25
Since many of the new features in Native Image Kit 25 are aligned with JDK 25 improvements, we recommend checking out our comprehensive Liberica JDK 25 LTS release article for detailed coverage of the 18 JEPs that bring production-ready features to the Java platform.
Key JDK 25 highlights that enhance Native Image Kit include:
- Performance improvements: JEP 519: Compact Object Headers, JEP 515: Ahead-of-Time Method Profiling, and enhanced JEP 508: Vector API (Tenth Incubator) support
- Enhanced observability: JFR improvements with JEP 520: Method Timing & Tracing, JEP 518: Cooperative Sampling, and JEP 509: CPU-Time Profiling (Experimental)
- Security enhancements: JEP 470: PEM Encodings of Cryptographic Objects (Preview) and JEP 510: Key Derivation Function API
- Developer experience: JEP 513: Flexible Constructor Bodies, JEP 511: Module Import Declarations, and improved JEP 505: Structured Concurrency (Fifth Preview)
Key Native Image Enhancements
Major Performance Improvements
- Enhanced Vector API optimization: Initial optimization support for JEP 338: Vector API operations in native images, with load, store, arithmetic, reduce, compare, and blend operations transformed to efficient machine instructions. Enable with --add-modules jdk.incubator.vector and -H:+VectorAPISupport.
- Whole-Program Sparse Conditional Constant Propagation (WP-SCCP): Now enabled by default, improving points-to analysis precision and potentially reducing native binary size. Learn more about this optimization in the SkipFlow article.
Enhanced Foreign Function & Memory API Support
Extended platform compatibility: JEP 454: Foreign Function & Memory API support is now available on macOS AArch64 and Linux AArch64, with new configuration syntax, Arena.ofShared() implementation, and automatic FFM configuration generation in reachability-metadata.json. See the comprehensive reference documentation for details.
New Experimental Tracing Agent
Native Image Tracing Agent: Unlike the existing JVM-based tracing agent, this new agent operates in Native Image mode and is more closely aligned with Native Image semantics. Build with -H:Preserve=all and run with -XX:TraceMetadata=path=<trace_output_directory> to generate reachability metadata for the actual types and resources required by Native Image.
Simplified Metadata Configuration
Advanced metadata handling: The new -H:Preserve option allows you to keep entire packages, modules, or classes on the classpath, even if not discovered by static analysis. JNI registration is now unified in the "reflection" section of reachability-metadata.json, and lambda classes can be registered for reflection and serialization. See the example application and metadata format documentation for more details.
Additional Improvements
Language runtime updates: ECMAScript 2025 mode enabled by default in GraalJS with Node.js 22.17.1, Python 3.12.8 support in GraalPy with enhanced Windows REPL, improved WebAssembly module handling with SIMD support, and Java 25 guest support in Espresso.
Truffle Framework improvements: Deoptimization cycle detection, extended Dynamic Object Model Layout with shape obsolescence strategy, and 40% faster bytecode node creation in Bytecode DSL.
For a complete list of all enhancements, performance improvements, and technical details, see the full GraalVM Community Edition 25 release notes.
Download the New Builds Now!
BellSoft continues to provide Java developers with a comprehensive stack of secure and affordable technologies for creating diverse applications. This release represents a significant step forward in native image compilation capabilities, offering:
- Superior performance through advanced optimization techniques
- Enhanced security with obfuscation and embedded SBOM support
- Simplified development with better configuration tools and error reporting
- Broader platform support with extended FFM API compatibility
Download Liberica Native Image Kit 25.0.0+1 today and experience the next generation of Java native compilation technology!