We are happy to announce that Liberica JDK 23 builds are generally available! The release contains
- 2,548 fixes overall — 2,388 in JDK and 160 in FX. The BellSoft engineers resolved 8 issues.
- 12 Java Enhancement Proposals (JEPs) with new, enhanced, or deprecated functionality.
Summary of JEPs in JDK 23
New features facilitating development:
- JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview) allows for the usage of both reference and primitive types in record patterns and pattern matching for instanceof and switch.
- JEP 467: Markdown Documentation Comments enables the developers to write javadoc documentation comments in Markdown, although it is still possible to use the HTML elements and JavaDoc @-tags.
- JEP 476: Module Import Declarations (Preview) makes it possible to implicitly import all packages exported by a module.
Improved features enhancing performance and maintainability of Java programs:
- JEP 466: Class-File API (Second Preview) introduces a standard API for working with Java class files.
- JEP 469: Vector API (Eighth Incubator) provides an API for writing vector algorithms that compile reliably at runtime to optimal vector instructions.
- JEP 473: Stream Gatherers (Second Preview) adds the support for custom intermediate operations to Stream API.
- JEP 474: ZGC: Generational Mode by Default deprecates non-generational mode of Z Garbage Collector, making generational mode default.
- JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) makes it easier to learn Java by enabling the developers to write simple single-class programs without using complex features and concepts.
- JEP 480: Structured Concurrency (Third Preview) improves reliability and observability of multithreaded code by treating a task and related subtasks as a single unit of work belonging to one syntactic block.
- JEP 481: Scoped Values (Third Preview) provides a more reliable way of sharing data between methods than thread-local variables by introducing scoped values for sharing immutable data without using method parameters.
- JEP 482: Flexible Constructor Bodies (Second Preview) allows the developers to use certain statements in constructors before the explicit constructor invocation.
Deprecated features increasing code safety:
- JEP 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal deprecates methods previously used to perform low-level operations, encouraging the developers to use more reliable and performant APIs, Variable Handles and Foreign Function & Memory API.
You can read more about each JEP in our Overview of JDK 23 features.
Download Liberica JDK 23 builds now!
Regardless of whether you are planning to migrate to the next LTS release or just want to play around with new Java features, you can download and use Liberica JDK for free. Head over to the Liberica JDK Download Center to get the fresh JDK builds for your platform.