This week's Java roundup for February 7th, 2022, features news from OpenJDK, JDK 18, JDK 19, JSR 381 approved by the JCP, Payara Platform 2022 roadmap, Quarkus 2.7.1, Helidon 2.4.2, Micronaut 3.3.1, Hibernate Search 6.1.1, Hibernate Reactive 1.1.3.Final, JReleaser Early-Access, Failsafe 3.2.1, Kotlin 1.6.20-M1, Gradle 7.4, Apache Tika 2.3.0 and end-of-life for Apache Tika 1.x release train.
OpenJDK
Two new JEP drafts were recently introduced for review as potential candidates for integration into a future release of OpenJDK.
JEP Draft 8280836, Sequenced Collections, 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." This is motivated by the lack of a well-defined ordering and uniform set of operations within the Collections Framework.
JEP Draft 8280173, Vector API (Fourth Incubator), proposes to incorporate enhancements based on feedback from the Java community to the three preceding JEPs, namely: JEP 338, Vector API (Incubator), delivered in JDK 16; JEP 414, Vector API (Second Incubator), delivered in JDK 17; and JEP 417, Vector API (Third Incubator), that will be delivered in the upcoming GA release of JDK 18.
JDK 18
Build 35 of the JDK 18 early access builds was made available this past week, featuring updates from Build 34 that include fixes to various issues. More details may be found in the release notes.
JDK 19
Build 9 of the JDK 19 early-access builds was also made available this past week, featuring updates from Build 8 that include fixes to various issues. More details may be found in the release notes.
For JDK 18 and JDK 19, developers are encouraged to report bugs via the Java Bug Database.
Java Community Process (JCP)
The JCP Executive Committee has formally approved JSR 381, Visual Recognition (VisRec) Specification, a "Java-centric Machine Learning API easily understood by application developers," as described by Frank Greco, one of the specification co-leads. Along with Zoran Severac, the other specification co-lead, developers can learn more about the VisRec specification in their jConference 2021 presentation.
Payara
Payara has introduced its roadmap for 2022 to announce that Payara Platform 6, scheduled to be released later this year, will be a compatible implementation of the upcoming GA release of Jakarta EE 10.
Payara Platform 5 will receive updates until February 2023 at which point it will be moved into maintenance mode until February 2028.
Quarkus
Quarkus 2.7.1.Final, the first maintenance release in the 2.7 release train to include: reintroducing the Kogito extensions that were temporary disabled in the 2.7.0.Final release; an enhancement in the gRPC extension in which code may now be generated from dependencies along with the application classes; and introducing a reactive counterpart to the OIDC token Context Propagation extension that may be used with RESTEasy Reactive. More details may be found in the changelog.
Helidon
Oracle has released Helidon 2.4.2 that ships with bug fixes and optimizations to various Helidon components such as WebServer, WebClient, Fault Tolerance and Long-Running Actions. There are also dependency upgrades for Netty 4.1.73.Final, log4j 2.17.1, Neo4j 4.4.3, and grpc-java 1.41.2. More details may be found in the release notes.
Micronaut
The Micronaut Foundation has released Micronaut 3.3.1 to include: point releases to projects Micronaut Azure 3.0.1, Micronaut Servlet 3.1.1, Micronaut Flyway 5.1.2, Micronaut AWS 3.1.1 and Micronaut Email 1.0.1; introduce the UnsafeBeanProperty
interface, extending the BeanProperty
interface, to add read/write methods which don't validate the input/output; and fix broken links in the documentation.
Hibernate
Hibernate Search 6.1.1.Final has been released featuring: dependency upgrades to Hibernate ORM 5.6.5.Final and slf4j 1.7.35, the latter specific to Elasticsearch; and upgrade -orm6
artifacts to Hibernate ORM 6.0.0.CR1.
Hibernate Reactive 1.1.3.Final has been released featuring initial support connecting to Oracle databases. This requires the use of Oracle Vert.x SQL client. More details may be found in the list of issues.
JReleaser
On the road to version 1.0, a third early-access release of JReleaser, a Java utility that streamlines creating project releases, has been made available to include a fix for the creation of a GitHub "bucket" repository despite the fact the remoteBuild
property, set to false
by default, was not specified.
Failsafe
Less than a week after the release of version 3.2, Failsafe, a lightweight, zero-dependency library for handling failures in Java 8+, has released version 3.2.1 featuring: added support for reserving a RateLimiter
permit with a wait time; deprecated the getLastFailure()
and recordFailure()
methods defined in the ExecutionContext
and Execution
interfaces, respectively, in favor of methods named getLastException()
and recordException()
; and replaced interfaces Predicate
and BiPredicate
with CheckedPredicate
and CheckedBiPredicate
for policy builders. More details may be found in the changelog.
Kotlin
On the road to Kotlin 1.6.20, the first milestone release was made available that ships with preview features such as: improved build times via parallel compilation of a single module in the JVM IR backend; improved development time with incremental compilation in Kotlin/JS IR; improved code sharing with hierarchical structure of multiplatform projects; and performance improvements with Kotlin/Native.
Gradle
Gradle has released version 7.4 of its popular build tool featuring: improvements in creating single test or JaCoCo code coverage reports across several projects; an update to Java Toolchain to support the migration of AdoptOpenJDK to Eclipse Adoptium; and promote the features of Shared Build Services and Version Catalogs to be declared as stable. InfoQ will follow up with a more detailed news story.
Apache Tika
The Apache Tika team has released version 2.3.0 of their metadata extraction toolkit. Formerly a subproject of Apache Lucene, this latest version includes security upgrades in dependencies and an upgrade to Apache POI 5.2.0. Further details may be found in the release notes.
The team also announced that the 1.x release train has reached end-of-life and will move into security-only maintenance mode until September 30, 2022. To that end, version 1.28.1 has been released to contain security-related and general dependency upgrades. More details may be found in the release notes.