Java News Roundup: Structured Concurrency, Java Turns 27, Micronaut 3.5.0

MMS Founder
MMS Michael Redlich

Article originally posted on InfoQ. Visit InfoQ

This week’s Java roundup for May 23rd, 2022 features news from OpenJDK, JDK 19, virtual threads, Java turns 27, Jakarta EE 10, Spring Framework point and milestone releases, Micronaut 3.5.0, Quarkus 2.9.2.Final, Quarkus Tools for IntelliJ 1.11.0, Hibernate ORM 6.0.2.Final, Apache Tika 1.28.3 and the Spring I/O conference.

OpenJDK

JEP 405, Record Patterns (Preview), has been promoted from Proposed to Target to Targeted status for JDK 19. This JEP, under the auspices of Project Amber, proposes to enhance the language with record patterns to deconstruct record values. Record patterns may be used in conjunction with type patterns to “enable a powerful, declarative, and composable form of data navigation and processing.” Type patterns were recently extended for use in switch case labels via JEP 406, Pattern Matching for switch (Preview) (delivered in JDK 17), and JEP 420, Pattern Matching for switch (Second Preview) (delivered in JDK 18). More details on JEP 405 may be found in this InfoQ news story.

JEP 428, Structured Concurrency (Incubator), was promoted from its Candidate to Proposed to Target status for JDK 19. This incubating JEP, under the auspices of Project Loom, proposes to simplify multithreaded programming by introducing a library to treat multiple tasks running in different threads as a single unit of work. This can streamline error handling and cancellation, improve reliability, and enhance observability. The review is expected to conclude on June 2, 2022. InfoQ will follow up with a more detailed news story.

JDK 19

Build 24 of the JDK 19 early-access builds was made available this past week, featuring updates from Build 23 that include fixes to various issues. More details may be found in the release notes.

Developers are encouraged to report bugs via the Java Bug Database.

Virtual Threads

JDK 19 will feature at least two JEPs related to Project Loom. Gunnar Morling, open-source developer and Java Champion, blogged about virtual threads this past week in which he focuses on thread fairness related to I/O-bound versus CPU-bound source code.

Java Turns 27

Happy 27th Birthday, Java! The world was introduced to the Java programming language on May 23, 1995 at the Sun World 1995 Conference. BellSoft, creators of the Liberica JDK, their downstream distribution of OpenJDK, commemorated this occasion by highlighting the past, present and future of the language.

Jakarta EE

On the road to Jakarta EE 10, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, announced in his Hashtag Jakarta EE weekly blog that all the release reviews for all specifications targeting Jakarta EE 10 have now been completed with the exception of Jakarta Security 3.0 that should be completed soon. Developers are encouraged to review the pull request for the new Jakarta EE Core Profile and provide feedback as necessary. And finally, certification requests from the recently released WildFly 27.0.0.Alpha1 have been submitted for JDK 11 and JDK 17.

Spring Framework

After a very busy week for the Spring team, this past week was a bit more quiet with milestone and point releases for Spring Vault, Spring Cloud and Spring Authorization Server.

On the road to Spring Vault 2.4.0 and 3.0.0, the first milestone releases were made available. New features for version 2.4.0-M1 include support for: PEM-encoded certificates and private keys including Elliptic Curve (“EC”); Vault Repositories using versioned Key/Value secrets engines; and Vault-based RevisionRepository using versioned Key/Value secrets engines. Version 3.0.0-M1 also includes upgrades to the Java 17 baseline, Spring Framework 6 and AWS SDK v2.

Spring Cloud 2021.0.3 was released featuring compatibility with Spring Boot 2.7.0 along with bug fixes and minor enhancements to subprojects Spring Cloud Sleuth, Spring Cloud Contract and Spring Cloud Gateway. Further details on this release may be found in the release notes.

Spring Authorization Server 0.3.0 has been released that delivers new features, dependency upgrades and bug fixes. There are also a number of breaking changes. More details may be found in the release notes.

Micronaut

The Micronaut Foundation has released Micronaut 3.5.0 that delivers new features such as: support for GraalVM 22.1.0; incremental compilation for Gradle builds; Micronaut Data 3.4.0; a new module – Micronaut MicroStream; and updates to Micronaut Maven Plugin and Micronaut Gradle Plugin. Further details on this release may be found in the release notes.

Quarkus

Red Hat has provided Quarkus 2.9.2.Final, a second maintenance release with bug fixes and improvements in documentation along with a dependency upgrade to Hibernate Reactive 1.1.6.Final. More details on this release may be found in the changelog.

Red Hat has also released Quarkus Tools for IntelliJ 1.11.0 to add support for Qute templates that align with the Eclipse Language Server for MicroProfile (LSP4MP) 0.4.0 and quarkus-ls 0.11.1, the Quarkus extension for LSP4MP.

Hibernate

Hibernate ORM 6.0.2.Final has been released featuring an improvement in how the LazyAttributeLoadingInterceptor class deals with lazy fields such that processing is more efficient and saves some memory.

Apache Tika

The Apache Tika team has released version 1.28.3 of their metadata extraction toolkit. Formerly a subproject of Apache Lucene, this latest version ships with security fixes and dependency upgrades. Further details in this release may be found in the changelog. The 1.x release train will reach end-of-life on September 30, 2022.

Spring I/O Conference

The Spring I/O conference was held at the Palau de Congressos de Barcelona in Barcelona, Spain this past week featuring many speakers from the Java community who presented talks on Spring and related Java topics.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.