This week's Java roundup for July 3rd, 2023, features news from JDK 22, JDK 21, Jakarta EE 11 updates, Micronaut 4.0.0-RC1, Quarkus 3.2.0 and 2.16.8, Helidon 3.2.2, Apache Camel 4.0.0-RC1, Hibernate Search 6.2.0, Hibernate Reactive 2.0.2, Infinispan 15.0.0.Dev02, JDKMon 17.0.69, JBang 0.109.0, Kotlin 1.9.0, Foojay.io updates, and DevBCN and JCrete conferences.
JDK 21
Build 30 of the JDK 21 early-access builds was also made available this past week featuring updates from Build 29 that include fixes to various issues. Further details on this build may be found in the release notes.
JDK 22
Build 5 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 4 that include fixes to various issues. More details on this build may be found in the release notes.
For JDK 22 and JDK 21, developers are encouraged to report bugs via the Java Bug Database.
Jakarta EE 11
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, has provided an update on the status of plan reviews for updated specifications that will be part of Jakarta EE 11, scheduled for a GA release in 1Q2024:
- The Jakarta Authentication 3.1, Jakarta Authorization 3.0, Jakarta Data 1.0, Jakarta Expression Language 6.0, Jakarta MVC 3.0, Jakarta NoSQL 1.0, Jakarta Pages 4.0, Jakarta Persistence 3.2 and Jakarta RESTful Web Services 4.0 specifications have all passed their respective plan reviews.
- The Jakarta Contexts and Dependency Injection 4.1, Jakarta Faces 5.0, Jakarta Interceptors 2.2 and Jakarta WebSocket 2.2 specifications are currently in their respective voting phases that are expected to conclude on July 11, 2023.
- The Jakarta Concurrency 3.1, Jakarta Security 4.0 and Jakarta Servlet 6.1 specifications are ready for ballot.
- The Jakarta Bean Validation 3.1 or 4.0 (still to be determined) specification is expected to be on the ballot.
It is important to note that there has been an effort to shorten the Jakarta Bean Validation specification name to Jakarta Validation.
Micronaut
The Micronaut Foundation has provided the first release candidate of Micronaut 4.0.0 featuring numerous dependency upgrades and notable changes such as: update the Groovy annotation processor dependencies as provided
, not compile
, as previously used; an update to the Zipkin dependencies due to breaking changes from renaming package names in the Micronaut Tracing module; and populate the LambdaRuntimeMainClass
interface depending on the feature selected in the Micronaut Launch module. More details on this release may be found in the release notes.
Quarkus
Red Hat has released Quarkus 3.2.0.Final with new security features such as: support for custom claim types in their quarkus-test-security-jwt
and quarkus-test-security-oidc
components; and the ability to customize the OIDC verification. This version also introduces a new @QuarkusComponentTest
annotation, an experimental feature to ease the testing of CDI components and mocking of their dependencies. More details on this release may be found in the changelog.
Quarkus 2.16.8.Final, the eighth maintenance release, delivers bug fixes, improvements in documentation and a dependency upgrade to Netty 4.1.94.Final that addresses CVE-2023-34462, a vulnerability in which an attacker can manipulate the SniHandler
class, with no configured idle timeout handler, to buffer the maximum 16MB of data per connection that can quickly lead to an OutOfMemoryError
error and potential for a distributed denial of service. More details on this release may be found in the changelog.
Beginning with the release of Quarkus 3.2.0.Final, Red Hat has also announced Long-Term Support (LTS) for Quarkus releases in which Red Hat aims to "strike a balance between our regular high-paced release cycle and the needs of users who require more stability and predictability." Developers can expect the duration of LTS releases for 12 months and the release cycle will remain unchanged.
Helidon
Oracle has released Helidon 3.2.2 featuring notable bug fixes such as: logging and Docker coordination in the Helidon Long Running Actions component; improvements in the ReadableBodyHeaders.Builder
class in which the overloaded header()
method was declared as public
; and improved performance of metric lookups in the OpenTelemetry MetricProducer
interface.
Apache Software Foundation
The first release candidate of Apache Camel 4.0.0 delivers bug fixes, dependency upgrades and new features such as: support for: paging in the Camel JPA component; native image with Spring Boot 3.x; and HTTPS in the Camel AS2 component. More details on this release may be found in the release notes.
Hibernate
The release of Hibernate Search 6.2.0.Final provided bug fixes, dependency upgrades and new features such as: a new standalone POJO Mapper that enables mapping arbitrary of POJOs to indices; mapping of classes/records to projections using the @ProjectionConstructor
annotation; and the ability to export the Elasticsearch schema that Hibernate Search expects to JSON files on the filesystem.
The release of Hibernate Reactive 2.0.2.Final provides a bug fix that solves a race condition in the ReactiveUpdateCoordinatorStandard
class in which a CompletionStage
, under load, responsible for signaling a successful update operation might not complete as expected causing an application to block without apparent reason.
Infinispan
The second development build of Infinispan 15.0.0 ships with notable changes such as: the addition of a health endpoint per cache; a fix for the IPv6 wildcard addresses when detecting multi-homing; and the first implementations of the Java List
interface for internal use.
JDKMon
Version 17.0.69 of JDKMon, a tool that monitors and updates installed JDKs, has been made available this past week. Created by Gerrit Grunwald, principal engineer at Azul, this new version provides: dependency upgrades and improved support for builds of OpenJDK on Ubuntu, Debian and when using Homebrew.
JBang
The release of JBang 0.109.0 ships with bug fixes and new features such as: the ability to use scripts or JAR
files as dependencies for improved decoupling and composability of JBang scripts and applications; and custom debugging configuration to allow for multiple key/values.
Kotlin
JetBrains has released Kotlin 1.9.0 with new features such as: new Kotlin K2 compiler updates; size-related optimizations in Kotlin/Wasm; and a preview of a new custom memory allocator to improve the runtime performance of the Kotlin/Native memory manager. InfoQ will follow up with a more detailed news story.
Foojay.io
The July 2023 Foojay Status Report covering January through June 2023, featured an announcement that five organizations, namely: Chronicle Software, Gradle, OmniFish, Sonatype and Yugabyte, have joined the Foojay.io Advisory Board. This brings the total number of participating organizations to 17.
DevBCN Conference
The 2023 Barcelona Developers Conference (DevBCN and formerly known as JBCNConf) was held at the La Farga Centre d'Activitats in Barcelona, Spain, this past week featuring speakers from the Java community who presented sessions and workshops on these seven topics: Java; JVM; Go, Rust, C++, C#; Cloud, DevOps, VMs, Kubernetes; Frontend; Leadership, Agile, Diversity; and Big Data, Machine Learning, AI, Python.
JCrete
Similarly, JCrete 2023, an "open spaces conference on an island in the Mediterranean Sea," was also held this past week at the Orthodox Academy of Crete in Crete, Greece. JCrete is an invitation-only "unconference" with no defined set of sessions and workshops. Attendees propose topics via an elevator pitch approach that are chosen based on popularity. The agenda also includes plenty of family-friendly social events.