In September 2025 Oracle released JDK 25 with sixteen enhancements. Java 25 represents the 16th consecutive release under Java’s six-month cycle, which demonstrates the company’s predictable delivery of production-ready features while still maintaining Java’s position as the leading programming language for enterprises of all sizes. Java 25 includes language innovations such as primitive types in pattern matching and flexible constructor bodies.
Read all the details from Sharat Chander | Read all the JEPs on OpenJDK.
The release also introduces module import declarations to simplify working with modular libraries and compact source files to help beginners write simpler programs. Incidentally, the updates to help new developers get started with Java fast represent a major ongoing effort from the engineering team to evolve Java to better engage students at universities around the world. Try the new feature on the Java Playground on Learn.java for yourself. From Sharat Chander’s Post on JEP 512:
Compact Source Files and Instance Main Methods [JEP 512]
Evolves the Java programming language so that beginners can write their first programs without needing to understand language features designed for large programs. Rather than using a separate dialect of the language, beginners can write streamlined declarations for single-class programs and later seamlessly expand those programs to use more advanced features as their skills grow. Experienced developers will likewise enjoy writing small programs succinctly, without the need for constructs intended for programming in the large.
There are library improvements that include the fifth preview of structured concurrency for managing related tasks across threads and scoped values for sharing immutable data efficiently. The release adds stable values as performance-optimized constants and continues developing the Vector API for optimal CPU instructions. Security enhancements include a PEM encoding API for cryptographic objects and a Key Derivation Function API. The TLS protocol now supports more granular algorithm constraints and keying material exporters. The performance improvements include compact object headers that reduce heap size by shrinking object headers. Ahead-of-time command-line ergonomics and method profiling speed up application startup and warmup times. Monitoring capabilities are expanded through JDK Flight Recorder with CPU-time profiling, cooperative sampling for thread stack analysis, and method timing facilities.
Java 25 contains 2,606 fixed issues. Oracle contributed 1,655 fixes and the community contributed 951, which continues to demonstrate that Java is leading FOSS project that takes code contributions from developers worldwide. Oracle’s long-term support for the release runs through September 2033.
Get ready for Java 26 coming in March 2026 at JavaOne. Follow the development at OpenJDK and contribute. Follow all the technical content from the Java Platform Group, the engineering team that builds Java, on Inside.java.
