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: Stream Gatherers, Project Loom, Hibernate Validator, LangChain4j, Clojure

Java News Roundup: Stream Gatherers, Project Loom, Hibernate Validator, LangChain4j, Clojure

This week's Java roundup for September 2nd, 2024, features news highlighting: JEP 485, Stream Gatherers, promoted to Candidate; Project Loom Build 24-loom+7-60; Hibernate Validator 9.0.0.Beta3; LangChain4j 0.34.0; and Clojure 1.12.0.

OpenJDK

JEP 485, Stream Gatherers, was promoted from its JEP Draft 8335899 to Candidate status this past week. This JEP proposes to finalize this feature after two rounds of preview, namely: JEP 473: Stream Gatherers (Second Preview), to be delivered in the upcoming release of JDK 23; and JEP 461, Stream Gatherers (Preview), delivered in JDK 22. This feature was designed to enhance the Stream API to support custom intermediate operations that will "allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations." More details on this JEP may be found in the original design document and this InfoQ news story.

Project Loom

Build 24-loom+7-60 of the Project Loom early-access builds was made available to the Java community this past week and is based on Build 13 of the JDK 24 early-access builds. This build improves the implementation of Java monitors, also known as synchronized methods, for enhanced interoperability with virtual threads.

JDK 23

Build 37 remains the current build in the JDK 23 early-access builds. Further details on this release may be found in the release notes and details on the new JDK 23 features may be found in this InfoQ news story.

JDK 24

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

For JDK 23 and JDK 24, developers are encouraged to report bugs via the Java Bug Database.

TornadoVM

The release of TornadoInsight 1.2.3, an open-source IntelliJ plugin for TornadoVM, features notable changes such as: support for TornadoVM types (e.g., HalfFloat, CharArray, Matrix2DFloat) that were previously not included in TornadoInsight; resolutions to issues with dynamic and static checking; and the addition of try-with-resources to code generated with the transferToDevice() and transferToHost() methods, defined in the TornadoVM TaskGraph class, to ensure data is managed consistently during each task execution. Further details on this release may be found in the release notes.

Helidon

The release of Helidon 4.1.1 provides bug fixes, dependency upgrades and notable changes such as: an implementation of the gRPC MicroProfile Client API; allow the creation of empty SSE events using a new NO_DATA constant to the SseEvent class; and a replacement of the deprecated fixedRateBuilder() method with the preferred fixedRate() method, defined in the Scheduling class. More details on this release may be found in the release notes.

Micronaut

The Micronaut Foundation has released version 4.6.1 of the Micronaut Framework 4.6.1 featuring Micronaut Core 4.6.4, bug fixes, improvements in documentation and updates to modules: Micronaut Data and Micronaut Servlet. Further details on this release may be found in the release notes.

Quarkus

Quarkus 3.14.2, first maintenance release (version 3.14.0 was skipped) featuring bug fixes, dependency upgrades, most notably Micrometer Metrics 1.13.0. Other changes include: a resolution to a RuntimeException using the JaCoCo code coverage library with an application running virtual threads; the addition of the Jackson SerializableString interface on field names along with support for the @JsonProperty annotation in the Jackson serializers. More details on this release may be found in the changelog.

Hibernate

The third beta release of Hibernate Validator 9.0.0 features bug fixes and the removal of some APIs that have been deprecated for quite some time. Hibernate Validator has been the compatible implementation of the Jakarta Validation 3.1 specification since version 8.0.1.Final. This release provides continuous improvement for that compatible implementation.

Clojure

The release of Clojure 1.12.0 provides bug fixes, dependency upgrades and new features such as: new functions, add-lib(), add-libs() and sync-deps(), to interactively add libraries without restarting the JVM or losing state; and new functional interfaces that allow Clojure developers to invoke Java methods.

This release also addresses CVE-2024-22871, a vulnerability in which an attacker may use a specially crafted serializable object that when read, may cause an infinite loop resulting in a denial of service.

And finally, this will be the last release that supports JDK 8. Future releases will support a yet-to-be-announced LTS version of Java. Further details on this release may be found in the changelog.

Eclipse Foundation

The release of Eclipse Vert.x 4.5.10 features notable changes such as: a resolution to the copy constructor, defined in the SqlConnectOptions class, not copying an instance of the the TracingPolicy enum; and an implementation of the Oracle health check in the OracleJdbcConnection class.

This release also addresses CVE-2024-8391, a vulnerability in which the gRPC server did not limit the maximum length of message payload resulting in an overconsumption of memory. More details on this release may be found in the release notes along with a list of deprecations and breaking changes.

Apache Software Foundation

The fourth beta release of Apache Maven 4.0.0 provides dependency upgrades and notable changes such as: the ability to manually execute a GitHub action; a resolution to prevent a NullPointerException with no tags expected in the plugin.xml file; and a removal of the Java Locale class from the FileSizeFormat class that was unused. Further details on this release may be found in the release notes.

LangChain4j

Version 0.34.0 of LangChain for Java (LangChain4j) features new integrations: Google AI Gemini; Oracle Database Embedding Store; Couchbase Embedding Store; and SearchApi. Other notable changes include: a resolution to a failed parsing of an LLM response due to the JSON block from a POJO not having been extracted; and a refactor of the TokenStream interface and the AiServiceTokenStream class so that all methods available in the sub-interfaces are represented in TokenStream; and a new onRetrieved() method, defined in the TokenStream interface, used as a callback before invoking a language model in AiServiceTokenStream class. More details on this release may be found in the release notes.

Jox

The release of Jox 0.3.1, a virtual threads library that implements an efficient Channel data structure in Java designed to be used with virtual threads, features a short-circuit on execution of the Select class upon any error with the Channel class. Further details on this release may be found in the release notes.

About the Author

Rate this Article

Adoption
Style

BT