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: Jakarta Data and Jakarta NoSQL Milestones, Class-File API Targeted for JDK 23

Java News Roundup: Jakarta Data and Jakarta NoSQL Milestones, Class-File API Targeted for JDK 23

This week's Java roundup for March 25th, 2024, features news highlighting: JEP 466, Class-File API (Second Preview), targeted for JDK 23; milestone releases of Jakarta Data and Jakarta NoSQL specifications; the second release candidate for JobRunr 7.0.0; and point releases for Spring projects, Quarkus, Helidon and LangChain4j.

OpenJDK

After its review has concluded, JEP 466, Class-File API (Second Preview), has been promoted from Proposed to Target to Targeted for JDK 23. This JEP proposes a second round of preview to obtain feedback from the previous round of preview: JEP 457, Class-File API (Preview), delivered in JDK 22. This feature provides an API for parsing, generating, and transforming Java class files. This will initially serve as an internal replacement for ASM, the Java bytecode manipulation and analysis framework, in the JDK with plans to have it opened as a public API. Goetz has characterized ASM as "an old codebase with plenty of legacy baggage" and provided background information on how this draft will evolve and ultimately replace ASM.

JDK 23

Build 16 of the JDK 23 early-access builds was made available this past week featuring updates from Build 15 that include fixes for various issues. Further details on this release may be found in the release notes.

Jakarta EE

The fourth milestone release of the Jakarta Data 1.0.0 specification features notable changes such as: removal of the countBy() method from the BasicRepository interface as it was a magical method name query and considered awkward; replace Sort<T> by Sort<? super T> where appropriate to allow sorting by a member of a super entity; and a new method, elements(), added to the inner Cursor interface, defined in the PageRequest interface, that automatically packages elements as an unmodifiable list. More details on this release may be found in the changelog.

Similarly, the first milestone release of Jakarta NoSQL 1.0.0 specification features notable changes such as: removal of the Document, Key-Value and Column Family APIs as they are now maintained in Jakarta Data; and the addition of new annotations, @MappedSuperclass, @Embeddable, @Inheritance, @DiscriminatorColumn and @DiscriminatorValue for improved support of NoSQL databases. More details on this release may be found in the changelog.

Spring Framework

Spring Cloud 2023.0.1, codenamed Leyton, has been released featuring bug fixes and notable updates to sub-projects: Spring Cloud Kubernetes 3.1.1; Spring Cloud Function 4.1.1; Spring Cloud OpenFeign 4.1.1; Spring Cloud Stream 4.1.1; and Spring Cloud Gateway 4.1.2. This release is based on Spring Boot 3.2.4. More details on this release may be found in the release notes.

The release of Spring for GraphQL 1.2.6 delivers bug fixes, improvements in documentation, dependency upgrades and new features: recommended use of the PERSISTED_QUERY_MARKER field defined in the GraphQL PersistedQuerySupport class to avoid a GraphQL AssertException due to persisted queries that don’t contain standard queries; use either first or after arguments to determine forward pagination in conjunction with the last and before arguments to determine backward pagination. This version will be shipped with the upcoming releases of Spring Boot 3.1.11 and 3.2.5. More details on this release may be found in the release notes.

Quarkus

The release of Quarkus 3.9.1 provides notable changes such as: the new naming strategy for Quarkus reactive extensions; support for OIDC Client JWT Bearer authentication; and an initial release of the new declarative Quarkus WebSockets extension. More details on this release may be found in the changelog.

Helidon

The release of Helidon 3.2.7 features notable changes such as: a replacement of the deprecated the overloaded from() methods, defined in the Multi interface, with corresponding create() methods; and a replacement of the deprecated readTransaction() and writeTransaction() methods, defined in the Neo4j Session interface, with the executeRead() and executeWrite() methods, respectively, in the Neo4jHealthCheck class. More details on this release may be found in the changelog.

Similarly, the of release of Helidon 2.6.7 ships with notable changes such as: a refresh of the MicroProfile Fault Tolerance static method cache upon CDI shutdown; support for disabling security providers through configuration; and a resolution to a NullPointerException from a disable feature in the OidcSupport class. More details on this release may be found in the changelog.

Open Liberty

IBM has released version 24.0.0.3 of Open Liberty featuring: enabling of default verbose garbage collection on IBM Java and IBM Semeru Runtimes; support for back-channel logout on OpenID Connect clients and servers; and a resolution to CVE-2023-50312, a vulnerability in IBM WebSphere Application Server Liberty versions 17.0.0.3 through 24.0.0.2 that could provide weaker-than-expected security for outbound TLS connections caused by a failure to honor user configuration.

Apache Software Foundation

Versions 10.1.20 and 8.5.100 of Apache Tomcat ship with notable changes such as: ensure that the URI, query string and protocol are not corrupted when restoring a saved POST request body after a successful FORM authentication; and align error handling for the Writer and OutputStream classes to ensure the use of either class once the response has been recycled triggers a NullPointerException provided that discardFacades is configured with the default value of true. For the milestone release, the team decided to reduce the minimal Java version to JDK 17. More details on these releases may be found in the release notes for version 10.1.20 and version 8.5.100.

The release of Apache Camel 4.5.0 provides bug fixes, dependency upgrades and new features such as: the creation of new Camel Milvus, Camel Qdrant and Camel AWS Bedrock components to support the Milvus and Qdrant vector databases and AWS Bedrock, respectively; and improved support for the bind command in Camel JBang with the ability to set properties and enhanced error handling. More details on this release may be found in the release notes.

Eclipse Foundation

Versions 4.5.7 and 4.4.9 of Eclipse Vert.x 4.5.7 both deliver notable changes such as: a resolution to CVE-2024-29025, a vulnerability in Netty versions before 4.1.108.Final by which an attacker can send a chunked post consisting of many small fields that will be accumulated, with no limits, in the bodyListHttpData list; and a resolution to Vert.x building its virtual thread factory at runtime with the correct reflection calls. More details on these releases may be found in the release notes for version 4.5.7 and version 4.4.9.

The release of Eclipse JKube 1.16.2 provides notable fixes such as: the addition of a JKubeBuildStrategy field in the WatcherContext class to throw an exception if using a Kubernetes Watch (k8s:watch/k8sWatch) in a buildpacks build strategy; the OpenShift Maven plugin generates a YAML file with a route target port that doesn't correctly map to the target port causing a Kubernetes pod that is not accessible through the route if the service port is different than the target port. More details on this release may be found in the release notes.

TornadoVM

TornadoVM 1.0.3, the third maintenance release, delivers bug fixes and improvements such as: support for multiple Java threads running different instances of the TornadoVM execution plans; new API extensions to query and apply filters to backends and devices from the TornadoExecutionPlan class; and support for the TornadoNativeArray class data types to obtain memory segments without the header offset. More details on this release may be found in the release notes.

JobRunr

The second release candidate of JobRunr 7.0.0, a library for background processing in Java that is distributed and backed by persistent storage, features bug fixes, enhancements and new features: the ability to configure a shutdown period of BackgroundJobServer class; access to labels via JobContext class; and use of the Spring Data Redis LettuceConnectionFactory class to obtain an instance of the Lettuce RedisClient class. More details on this release, including information about the version 7.0.0 GA release on April 9, 2024, may be found in the release notes.

LangChain4j

Versions 0.29.1 and 0.29.0 of LangChain4j have been released providing notable features such as: advanced retrieval augmented generation (RAG) with Azure AI Search; support for function calling Mistral AI; and a new module to support AWS Anthropic Claude on Bedrock. More details on these releases may be found in the release notes for version 0.29.1 and version 0.29.0.

Java Operator SDK

The release of Java Operator SDK 4.8.2 features: a resolution to pruning issues of fields being delivered from the server by ignoring server-managed fields for server-side apply (SSA) matching; and improved integration tests by increasing the timeout from 20 to 40 minutes. More details on this release may be found in the release notes.

MicroStream

The release of MicroStream 8.1.2 provides code cleaning and adjustment for direct byte buffers in order to avoid possible VM crashes due to a removed check in G1GC in JDK 21.0.2. More details on this release may be found in the release notes.

About the Author

Rate this Article

Adoption
Style

BT