Java News Roundup: Sequenced Collections for JDK 21, Vector API for JDK 20, Gen ZGC, Hilla 2.0
MMS • Michael Redlich
Article originally posted on InfoQ. Visit InfoQ
This week’s Java roundup for March 6th, 2023 features news from OpenJDK, JDK 20, JDK 21, Spring Cloud Data Flow 2.10.2, Spring Modulith 0.5, Quarkus 2.16.14 and 3.0.0.Alpha5, Open Liberty 23.0.0.2, Micronaut 3.8.7, Helidon 2.6.0, Apache Tomcat 11.0.0-M4, Apache Camel-4.0.0-M2, JobRunr 6.1.1, Jarviz 0.3.0 and Hilla 2.0.
OpenJDK
After its review had concluded, JEP 438, Vector API (Fifth Incubator), was promoted from Proposed to Target to Targeted status for JDK 20 this past week. This JEP, under the auspices of Project Panama, incorporates enhancements in response to feedback from the previous four rounds of incubation: JEP 426, Vector API (Fourth Incubator), delivered in JDK 19; JEP 417, Vector API (Third Incubator), delivered in JDK 18; JEP 414, Vector API (Second Incubator), delivered in JDK 17; and JEP 338, Vector API (Incubator), delivered as an incubator module in JDK 16. JEP 438 proposes to enhance the Vector API to load and store vectors to and from a MemorySegment
as defined by JEP 424, Foreign Function & Memory API (Preview).
JEP 431, Sequenced Collections, has been promoted from Candidate to Proposed to Target status for JDK 21. This JEP proposes to introduce “a new family of interfaces that represent the concept of a collection whose elements are arranged in a well-defined sequence or ordering, as a structural property of the collection.” Motivation was due to a lack of a well-defined ordering and uniform set of operations within the Collections Framework. The review is expected to conclude on March 16, 2023. Further details on JEP 431 may be found in this InfoQ news story.
JEP 439, Generational ZGC, was promoted from its Draft 8272979 to Candidate status this past week. This JEP proposes to “improve application performance by extending the Z Garbage Collector (ZGC) to maintain separate generations for young and old objects. This will allow ZGC to collect young objects, which tend to die young, more frequently.”
Dalibor Topic, principal product manager at Oracle, had proposed to dissolve and archive the JDK 6 project due to: no defined project lead or mailing list traffic for the past two years; and not a single push into its forest for the past four years. InfoQ will follow up with a more detailed news story.
JDK 20
JDK 20 remains in its release candidate phase with the anticipated GA release on March 21, 2023. Build 36 remains the current build in the JDK 20 early-access builds. More details on this build may be found in the release notes.
JDK 21
Build 13 of the JDK 21 early-access builds was also made available this past week featuring updates from Build 12 that include fixes to various issues. Further details on this build may be found in the release notes.
For JDK 20 and JDK 21, developers are encouraged to report bugs via the Java Bug Database.
Spring Framework
The release of Spring Cloud Data Flow 2.10.2 ships with bug fixes, library upgrades to Spring Boot 2.7.9 and Spring Cloud 2021.0.6, and dependency upgrades to sub-projects such as: Spring Cloud Dataflow Build 2.10.2; Spring Cloud Dataflow Common 2.10.2; Spring Cloud Dataflow UI 3.3.2; and Spring Cloud Deployer K8S 2.8.2. More details on this release may be found in the release notes.
The release of Spring Modulith 0.5 delivers library upgrades to Spring Boot 3.0.4 and jMolecules 2022.2.4, and improvements such as: renaming the property to trigger JDBC database initialization, spring.modulith.events.schema-initialization.enabled
, to spring.modulith.events.jdbc-schema-initialization.enabled
. Further details on this release may be found in the changelog.
Quarkus
The fifth (and final) alpha release of Quarkus 3.0.0 features support for: Hibernate ORM 6.0 and the StatelessSession
interface; a new Dev UI; Gradle 8.0; custom redirect handler in REST Client Reactive via the @ClientRedirectHandler
annotation; and time zones for cron-based schedules via @Scheduled
annotation. More details on this release may be found in the changelog.
Quarkus 2.16.14.Final, the fourth maintenance release, delivers notable changes such as: propagate Quarkus-related failsafe system properties; return a null InputStream
from REST Client when the server response is 204, No Content; and improved logging in the DevServicesKubernetesProcessor
class. Further details on this release may be found in the changelog.
Open Liberty
IBM has released Open Liberty 23.0.0.2 ships with new features such as: testing database connections with the Admin Center; a new a --timeout
command line option for the server stop
command; and a fix for CVE-2022-45787, a vulnerability in which improper lazy permissions on the temporary files used by the TempFileStorageProvider
class in Apache James Mime4J that may lead to information disclosure to other local users.
Micronaut
The Micronaut Foundation has released Micronaut 3.8.7 featuring bug fixes, improvements in documentation and updates to modules: Micronaut Serialization, Micronaut CRaC, Micronaut Kafka, Micronaut AOT and Micronaut GCP. There was also an update to SnakeYAML 2.0, that addresses CVE-2022-1471, a vulnerability in which the deserialization of types using the SnakeYAML Constructor()
class will allow an attacker to initiate a malicious remote code execution. More details on this release may be found in the release notes.
Helidon
Oracle has released Helidon 2.6.0 with notable changes such as: register the OciMetricsSupport
service only when the enable
flag is set to true
; a dependency upgrade to SnakeYAML 2.0; cleanup the Helidon BOM by removing artifacts that are not deployed; and remove the claim that metrics are propagated from server to client in the documentation.
Apache Software Foundation
The fourth milestone release of Apache Tomcat 11.0.0 that delivers: restore the original system property-based approach to load the custom URL protocol handlers; provide an implementation of the subset of JavaBeans support that does not depend on the java.beans
package; and restore inline state after async operation in NIO2 to address unexpected exceptions being thrown by the implementation. Further details on this release may be found in the changelog.
The second milestone release of Apache Camel 4.0.0 features bug fixes, dependency upgrades and new features such as: pre-signed URLs in the camel-minio
component for connections to cloud services; add health checks for components that has an extension for connectivity verification in the camel-health
component; and catalog output is now in JSON format with the camel-jbang
component. More details on this release may be found in the release notes.
JobRunr
JobRunr 6.1.1 has been released featuring two bug fixes: an error executing a recurring job with the JobLambda
interface; and a NullPointerException
due to missing property at job JSON when using Yasson.
Jarviz
Version 0.3.0 of Jarviz, a new JAR file analyzer utility, has been released by Andres Almiray to the Java community. This new version ships with bug fixes and new features such as: a new command, extract
, to extract JAR entries by name or pattern; a new command, validate
, to validate package names; and a new --output-format
command-line option to specify a desired output.
Hilla
From the makers of Vaadin, version 2.0 of Hilla, an open source framework that integrates a Spring Boot Java backend with a reactive TypeScript frontend, has been released. This new version features support for: JDK 17; Jakarta EE 10; Spring Boot 3.0; reactive nedpoints; native image compilation with GraalVM; and an SSO Kit for quickly adding single sign-on capabilities to Hilla apps. Further details on this release may be found in the release notes and in this InfoQ news story.