BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Java News Roundup: JDK 21 RC1, Apache Camel 4.0, Payara Platform, Apache Tomcat, Micronaut

Java News Roundup: JDK 21 RC1, Apache Camel 4.0, Payara Platform, Apache Tomcat, Micronaut

This week's Java roundup for August 14th, 2023, features news from OpenJDK, JDK 22, JDK 21, Apache Camel 4.0.0, Payara Platform and point and milestone releases of: Spring Framework, Spring Data, Spring Modulith, Apache Tomcat, Micronaut, Micrometer Metrics and Tracing, Project Reactor, Hibernate Search, Infinispan, JHipster React Native, JBang, Piranha, Byte Buddy, JobRunr, Arquillian and Gradle.

OpenJDK

Daniel Smith, programming language designer at Oracle, has updated JEP 401, Null-Restricted Value Object Storage (Preview), to align with Oracle's "latest design ideas for expressing flattenability in the language and in class files." Originally named Primitive Classes (Preview), this JEP supports null-restricted storage of value objects, as specified in JEP Draft 8277163, Value Objects (Preview), in fields and array components that are initialized to an initial instance of the class and reject attempts to write a null value.

JDK 21

As per the JDK 21 release schedule, Mark Reinhold, chief architect, Java Platform Group at Oracle, formally declared that JDK 21 has entered its first release candidate as there are no unresolved P1 bugs in Build 35. The anticipated GA release is scheduled for September 19, 2023.

The final set of 15 features in JDK 21 will include:

Build 35 remains the current build in the JDK 21 early-access builds. Further details on this build may be found in the release notes.

JDK 22

Build 11 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 10 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.

Spring Framework

The fourth milestone release of Spring Framework 6.1 delivers dependency upgrades and notable changes such as: support for resource patterns in the @TestPropertySource annotation; support for class-based mapping in the DatabaseClient interface; and a new RowMapper interface that provides automatic binding to database fields. Further details on this release may be found in the list of issues.

The second milestone release of Spring Data 2023.1.0, codenamed Vaughn, delivers: compatibility with JDK 21; support for Kotlin value classes; the use of virtual threads through the Executor interface; and an exploration for optimizations using Coordinated Restore at Checkpoint (CRaC). More details on this release may be found in the release notes.

Similarly, versions 2023.0.3, 2022.0.9 and 2021.2.15, service releases of Spring Data, ship with bug fixes and respective dependency upgrades to sub-projects such as: Spring Data MongoDB 4.1.3, 4.0.9 and 3.4.15; Spring Data Elasticsearch 5.1.3, 5.0.9, and 4.4.15; and Spring Data Neo4j 7.1.3, 7.0.9 and 6.3.15.

The second release candidate of Spring Modulith 1.0 ships with notable changes such as: consistent use of event_publication as a table name for the relational stores and as a collection name for MongoDB in the Event Publication Registry; a rename of the actuator to modulith that eliminates the previous use of dashes in actuator names; and explicit declaration of @ApplicationModule(allowedDependencies = {}) should disallow any outgoing dependencies. Further details on this release may be found in the release notes.

Apache Software Foundation

The release of Apache Camel 4.0.0 provides many bug fixes, dependency upgrades, improvements and new features such as support for: Spring Boot 3 AOT native compile with GraalVM; Micrometer Observation; and pagination in Camel JPA. More details on this release may be found in the release notes. InfoQ will follow up with a more detailed news story.

Versions 11.0.0-M10, 10.1.12, 9.0.79 and 8.5.92 of Apache Tomcat were released this past week with all four versions providing bug fixes and improvements such as: a refactor of the HTTP/2 implementation to reduce pinning when using virtual threads; the addition of pass-through ciphers referring to an OpenSSL profile, such as PROFILE=SYSTEM, instead of producing an error trying to parse it; and a dependency upgrade to Tomcat Native 2.0.5. Further details on these releases may be found in the release notes for version 11.0.0-M10, version 10.1.12, version 9.0.79 and version 8.5.92.

Payara

Payara has released their August 2023 edition of the Payara Platform that includes Community Edition 6.2023.8, Enterprise Edition 6.5.0 and Enterprise Edition 5.54.0 featuring notable bug fixes such as: the inability to instantiate the LdapCtxFactory class with JDK 17; cannot start Payara Server on JDK 11.0.20 or JDK 17.0.8 due to an error in the libpam4j-repackaged.jar dependency; and an exception when using the getConnection() method defined in the DataSource interface due to transactions displaying the wrong status. More details on these versions may be found in the release notes for Community Edition 6.2023.8 and Enterprise Edition 6.5.0.

Micronaut

The Micronaut Foundation has released versions 4.0.4, 3.10.1 and 3.9.6 of the Micronaut Framework. Version 4.0.4 provides updates to modules: Micronaut GraphQL, Micronaut Neo4J, Micronaut Reactor, Micronaut Servlet, Micronaut Cache and Micronaut CRaC modules. Versions 3.10.1 and 3.9.6 deliver a change in the SDKMan Gradle task in which the sdkMajorRelease property was replaced by sdkMinorRelease consisting of a combined release and announcement. Further details on these releases may be found in the release notes for version 4.0.4, version 3.10.1 and version 3.9.6.

Hibernate

The release of Hibernate Search 6.2.1.Final ships with notable changes such as: the ability to read Jandex indexes of repackaged Spring applications assuming the application runs on JDK 13 or greater; search queries with partial failures can now trigger an exception if the configuration property, hibernate.search.backend.query.shard_failure.ignore, is set to false; dependency upgrades to Hibernate ORM 6.2.7.Final and Elasticsearch client 8.9.0; and compatibility with OpenSearch 2.9.0.

Micrometer

Versions 1.12.0-M2, 1.11.3, 1.10.10 and 1.9.14 of Micrometer Metrics have been released featuring bug fixes, improvements in documentation, dependency upgrades and new features such as: removal of the requirement to set an instance of the ObservationRegistry interface on the ObservationThreadLocalAccessor class; and a new JmsInstrumentation class that instruments instances of a Jakarta Messaging Session interface with the Observation API. More details on these releases may be found in the release notes for version 1.12.0-M2, version 1.11.3, version 1.10.10 and version 1.9.14.

Similarly, versions 1.2.0-M2, 1.1.4 and 1.0.9 of Micrometer Tracing have been released featuring dependency upgrades and implementing the use of the CurrentTraceContext interface for the OpenTelemetry Tracer interface for more efficient use of merging scopes, baggages and checking for no-ops. Further details on these releases may be found in the release notes for version 1.2.0-M2, version 1.1.4 and version 1.0.9.

Infinispan

The release of Infinispan 14.0.14 provides notable changes such as: remove of any use of Hibernate Search 5 annotations in Infinispan tests; dependency upgrades to Netty 4.1.94.Final and Jackson 2.15.2 to address CVEs; and the ability for the InvalidatedNearRemoteCache to persist stale values in case of of concurrent access. More details on this release may be found in the changelog.

JHipster

Version 4.4.0 of JHipster React Native has been released featuring: an upgrade to Expo 49 SDK with React Native 0.72.3; update notice and license information in the LICENSE file; and update copyright headers. Further details on this release may be found in the changelog.

JBang

The release of JBang 0.110.1 ships with bug fixes: a NullPointerException when running in a container; and the use of the -g flag in the getCompileOptions() method defined in the JavaSource class to replace using the JAVAC_OPTIONS and COMPILE_OPTIONS environmental variables.

Piranha

The release of Piranha 23.8.0 delivers notable changes such as: the use of the PiranhaConfiguration interface for distributions; a new ExitOnStopFeature class that exits the JVM after all features have been requested to be stopped; and a new WebAppFeature class that provides the capability to host a single web application. More details on this release may be found in their documentation and issue tracker.

Project Reactor

The second milestone release of Project Reactor 2023.0.0 provides dependency upgrades to reactor-core 3.6.0-M2, reactor-netty 1.1.10 and reactor-kafka 1.3.20. There was also a realignment to version 2023.0.0-M2 with the reactor-pool 1.0.1, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. Further details on this release may be found in the changelog.

Similarly, Project Reactor 2022.0.10, the tenth maintenance release, provides dependency upgrades to reactor-core 3.5.9, reactor-netty 1.1.10 and reactor-kafka 1.3.20. There was also a realignment to version 2022.0.10 with the reactor-pool 1.0.1, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. More details on this release may be found in the changelog.

Byte Buddy

The release of Byte Buddy 1.14.6 delivers notable changes such as: the addition of a SUBSTITUTE enum in the AgentBuilder.PatchMode enum and a Substitutable subinterface in the ResettableClassFileTransformer interface for in-order patching; allow for explicit specification of a differential matcher when patching an AgentBuilder interface; and create JAR files for Android read-only as newer versions require it. Further details on this release may be found in the release notes.

JobRunr

Version 6.3.0 of JobRunr, a library for background processing in Java that is distributed and backed by persistent storage, has been released, which ships with bug fixes and new features such as: support for Micronaut 4.0 and Kotlin 1.9; performance improvements in the JobRunr dashboard resulting in less calls to the JobRunr REST API; stability improvements to minimize instances of a SevereJobRunrException class being thrown; and a new timeout to automatically interrupt an instance of a Job class, if necessary. More details on this release may be found in the release notes.

Arquillian

The release of Arquillian 1.7.1.Final provides: a fix for an artifact in arquillian-bom-1.7.0.Final throwing a checksum validation error when using Maven 3.6.3; and a dependency upgrade to RESTEasy 6.2.4.Final. Further details on this release may be found in the changelog.

Gradle

The release of Gradle 8.3 delivers: support for JDK 20; faster Java compilation using worker processes to run the Java compiler as a compiler daemon; the ability to experiment with the Kotlin K2 compiler; and improved output from the CodeNarc plugin. More details on this release may be found in the release notes.

About the Author

Rate this Article

Adoption
Style

BT