What’s New in Java: JDK 20, Loom Updates, and Upcoming JEPs
This roundup covers the latest Java developments, including JEP 434’s move to candidate status, second‑preview updates for virtual threads and structured concurrency, the JDK 20 release schedule, and new releases across Spring, GraalVM, Open Liberty, Vert.x, TomEE, JReleaser, Hibernate, PrimeFaces, JDKMon, and EclipseCon.
OpenJDK
JEP 434 (External Functions and Memory API, second preview) moved from Draft 8293649 to Candidate status. The evolution path: JEP 424 delivered in JDK 19, JEP 419 in JDK 18, JEP 412 in JDK 17. The JEP is proposed for a second preview in JDK 20 with updates such as unifying MemorySegment and MemoryAddress interfaces and enhancing the MemoryLayout sealed interface.
JEP Draft 8295817 (Virtual Threads, second preview) entered Submitted status. It belongs to the Loom project and proposes a second preview of JEP 425 (Virtual Threads, preview) delivered in JDK 19. Apart from a few APIs that became permanent in JDK 19, there are no other changes.
JEP Draft 8296037 (Structured Concurrency, second incubator) also entered Submitted status. It proposes a second incubator of JEP 428 (Structured Concurrency) delivered in JDK 19, targeting JDK 20, with an update to StructuredTaskScope to allow threads created in the scope to inherit scope values.
JDK 20
The early‑access Build 21 of JDK 20 was released last week, including various bug fixes. Details are in the release notes.
Oracle Java Platform Group chief architect Mark Reinhold announced the JDK 20 release schedule: Ramp‑down Phase One – 8 Dec 2022; Ramp‑down Phase Two – 19 Jan 2023; Initial Release Candidate – 9 Feb 2023; Final Release Candidate – 23 Feb 2023; General Availability – 21 Mar 2023.
Developers can report bugs to the Java Bug Database.
Loom Project
The early‑access Build 20‑loom+20‑34 of the Loom project is now available to the Java community and is built on JDK 20 early‑access Build 20.
Spring Framework
Spring Integration 6.0.0‑candidate includes features such as RabbitMQ Streams, Kotlin coroutines, and GraalVM multi‑language JavaScript support, and removes Spring Data for Apache Geode. Details are in the release notes.
Spring Tools 4.16.1 for Eclipse, VS Code, and Theia has been released, supporting Eclipse 2022‑12. Migration guidance is required for upgrades from 4.15.3 due to the m2e 2.0 update.
GraalVM
Oracle Labs released GraalVM 22.3, supporting JDK 19 and jlink, with updates to native‑image monitoring and developer experience. GraalVM CE Java code will become part of OpenJDK. More details are in the release notes and a YouTube video.
Open Liberty
IBM promoted Open Liberty 22.0.0.11 from beta to release, adding support for JDK 19 and distributed security cache, and fixing CVE‑2022‑24839.
Open Liberty 22.0.0.12‑beta adds support for six new Jakarta EE 10 specifications and two updated MicroProfile specifications.
Eclipse Vert.x
Eclipse Vert.x 3.9.14 was released, upgrading dependencies such as GraphQL Java 19.2, Netty 4.1.84.Final, Protocol Buffers Java 3.21.7, and Jackson Databind (fixing CVE‑2022‑42003). The 3.9 series will reach end‑of‑life at the end of 2022; users are encouraged to upgrade to Vert.x 4.x.
Apache Software Foundation
Apache TomEE 8.0.13 was released, featuring an example of using attribute providers and dependency upgrades including Jakarta Faces 2.3.18, MyFaces 2.3.10, Hibernate Integration 5.6.9.Final, BatchEE 1.0.2, Tomcat 9.0.68, and SnakeYAML 1.33.
JReleaser
JReleaser 1.3.0 is now available, adding a new WorkflowListener extension, an option to install native‑image components, and support for deploying JARs and POMs to Maven‑compatible repositories.
Hibernate
Hibernate Search 5.11.11.Final and 5.10.13.Final were released, upgrading Hibernate ORM to 5.4.33.Final and 5.3.28.Final respectively. Version 5.10.13 also fixes a ClassCastException when creating FullTextSession via EntityManager in Spring Boot 2.4+ and Spring Framework 5.3+.
PrimeFaces
PrimeFaces released versions 7.0.30, 8.0.22, 10.0.17, 11.0.9, and 12.0.1 with new features such as an IN filterMatchMode for JpaLazyDataModel and corrected emptyLabel handling in SelectCheckboxMenu.
PrimeVue 3.18.0 adds accessibility enhancements for all menu components, template support for FileUpload, and a responsive paginator.
JDKMon
JDKMon 17.0.37, a tool for monitoring and updating installed JDKs, is now available to the Java community. It fixes an issue detecting GraalVM builds.
EclipseCon
EclipseCon 2022 took place in Ludwigshafen, Germany, with talks covering Java, open‑source, cloud‑native technologies, and quality and security topics, as well as the annual community day.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Programmer DD
A tinkering programmer and author of "Spring Cloud Microservices in Action"
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
