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: New OpenJDK JEPs, Spring Functions Catalog, Apache Kafka, Quarkus, JReleaser

Java News Roundup: New OpenJDK JEPs, Spring Functions Catalog, Apache Kafka, Quarkus, JReleaser

This week's Java roundup for February 26th, 2024, features news highlighting: JEP 468, Derived Record Creation (Preview); JEP 467, Markdown Documentation Comments; a new Spring Functions Catalog; end-of-life planned for the Spring Framework 6.0 and 5.3 release trains; and point releases for Apache Kafka, Quarkus and JReleaser.

OpenJDK

JEP 468, Derived Record Creation (Preview), has been promoted from its JDK Draft 8321133 to Candidate status. This JEP proposes to enhance the Java language with derived creation for records. Since records are immutable objects, developers frequently create new records from old records to model new data. Derived creation streamlines code by deriving a new record from an existing record, specifying only the components that are different.

JEP 467, Markdown Documentation Comments, has been promoted from its JDK Draft 8316039 to Candidate status. This feature proposes to enable JavaDoc documentation comments to be written in Markdown rather than a mix of HTML and JavaDoc @ tags. This will allow for documentation comments that are easier to write and easier to read in source form.

Paul Sandoz, Java Architect at Oracle, has submitted JEP Draft 8326878, Vector API (Incubator). After seven rounds of incubation that were integrated from JDK 16 through JDK 22, this JEP proposes to re-incubate the API in JDK 23 with no API changes and no substantial implementation changes relative to JDK 22. This feature will introduce an API to "express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations."

JDK 23

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

JDK 22

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

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

GlassFish

GlassFish 7.0.13, the thirteenth maintenance release in the 7.0 release train, provides bug fixes, dependency upgrades and a new feature in which the Admin Console was improved to: always load the console upon server startup, i.e., eager loading; load the console only after the first access to it by default; and never implement a loading option that disables the console. More details on this release may be found in the release notes.

TornadoVM

TornadoVM 1.0.2, the second maintenance release, delivers bug fixes and improvements to the TornadoExecutionPlan class with new methods: withMemoryLimit() that provides the means to execute an instance of a TaskGraph class only if specific memory constraints have been fulfilled; withThreadInfo() to print the thread deployment to complement the same action as --threadInfo from the command line; and withPrintKernel() to dump the generated kernel to complement the same action as the --printKernel from the command line. Further details on this release may be found in the release notes.

Spring Framework

Version 3.2.2 and 3.1.9 of Spring Shell have been released with notable changes such as: a fix in the ScriptShellRunner class to ensure that the @ character must be first character in a first argument; use the CommandContext interface as a method parameter so that it gets resolved and won't cause it to appear as an option; and a more user-friendly ViewComponent API. These versions build on Spring Boot 3.2.3 and 3.1.9, respectively. More details on these releases may be found in the release notes for version 3.2.2 and version 3.1.9.

The Spring Cloud Data Flow team has introduced the first milestone release of Spring Functions Catalog 5.0.0, a rebranding, and next generation, of the functions sub-module of Stream Applications project. This catalog provides a set of standalone Java functions that can be useful in the end-user applications as-is. Version 5.0.0 was chosen for this new catalog to maintain alignment with functions from the Stream Applications project.

With the anticipated release of Spring Framework 6.2 in November 2024, the team has announced that the final point releases in the version 6.0 and 5.3 release trains will be published sometime in August 2024, but official open-source support will end on August 31, 2024. These versions will, however, receive commercial support for "another couple of years." This same adjustment will be made on the Spring Security 5.8 release train.

Quarkus

Quarkus 3.8, the new LTS release, delivers dependency upgrades and notable changes such as: a resolution to a warning issued from the EndpointIndexer class when using a custom header in a REST client together with a method containing a parameter annotated with the @NotBody annotation; a more robust VertxGrpcExporter class that introduces a retry upon network-related errors; and a resolution to a NullPointerException thrown from the OidcProvider class when a certificate chain is configured with an OIDC server that doesn't provides JWK keys at startup. Further details on this release may be found in the release notes.

Micronaut

The Micronaut Foundation has released version 4.3.4 of the Micronaut Framework featuring Micronaut Core 4.3.9, bug fixes, improvements in documentation, and updates to modules: Micronaut Security and Micronaut AWS. More details on this release may be found in the release notes.

Open Liberty

IBM has released version 24.0.0.2 of Open Liberty featuring new capabilities in the MicroProfile Reactive Messaging and MicroProfile Reactive Streams Operators specifications that include support for negative acknowledgment, emitters and backpressure. A new Open Liberty guide entitled, Building true-to-production integration tests with Testcontainers, was also added with this release.

WildFly

WildFly 31.0.1, the first maintenance release, provides bug fixes, dependency upgrades and an enhancement in which a SHA-1 digest was added to the WildFly distribution module ZIP file.

Hibernate

The release of Hibernate Search 7.1.0.Final features: improved entity registration in the standalone POJO mapper via the new @SearchEntity annotation; a new query string predicate, queryString, that matches documents according to a structured query, provided as a string, to allow building more advanced query strings; and a new knn query, introduced in Elasticsearch 8.12, to remove some of the limitations on vector search capabilities.

Apache Software Foundation

The sixth alpha release of Apache Groovy 5.0.0 delivers new features/improvements such as: new left/right shift operators for the BitSet class; and an optimization in the generated next() and previous() methods in enumerations. Further details on this release may be found in the release notes.

Next, the release of Groovy 4.0.19 also provides the aforementioned optimization in the generated next() and previous() methods in enumerations. There is a request from the Java community for the prettyPrint() method defined in the JsonOutput class to always print escape characters. However, this isn't possible because of the final constructor and the class uses a default generator. More details on this release may be found in the release notes.

And finally, the release of Groovy 3.0.21 ships with an improvement in which generics information can be improved for Default Groovy Methods methods that accept some of the collect variants. Further details on this release may be found in the release notes.

All three Groovy releases mentioned above also deliver bug fixes and dependency upgrades.

The release of Apache Kafka 3.7.0 provides many bug fixes and new features/improvements such as: an implementation of the Exponential Backoff for Kafka Clients; a new Docker Image for Apache Kafka and Kafka Connect; and a new BooleanConverter class to Kafka Connect to convert to/from a Type.BOOLEAN enumeration defined in the Schema interface. More details on this release may be found in the release notes.

Maintaining alignment with Quarkus, version 3.8.0 of Camel Quarkus has been released featuring resolutions to notable issues such as: an intermittent AssertionError failure from using an instance of the SimpleDataSet class inside the DataSetTest class; a failure with a Health example with non existent bootstrap properties; and extended test coverage for the Splunk HEC component; this LTS version aligns with the Camel 4.4.x LTS and Quarkus 3.8.x LTS releases. Further details on this release may be found in the release notes.

JReleaser

Version 1.11.0 of JReleaser, a Java utility that streamlines creating project releases, has been released to deliver bug fixes, improvements in documentation, dependency upgrades and notable changes such as: Nexus2 improvements to allow staged deployments and display failed messages; add an outputFilename option to allow defining explicit filenames for downloaded packages; and support for dependencies in WindowsOS winget installers. More details on this release may be found in the release notes.

JHipster

Version 1.5.0 of JHipster Lite has been released to deliver bug fixes, dependency upgrades and new features/enhancements such as: improved error messaging thrown by the StringTooLongException, StringTooShortException, NotAfterTimeException and NotBeforeTimeException classes by explicitly including the actual value; a removal of unused imports in the application generated by the CucumberRestTestContext class; and the ability to handle different startup commands for Maven and Gradle. Further details on this release may be found in the release notes.

JKube

The release of Eclipse JKube 1.16.1 provides notable changes: a move of the PortMapping class from the org.eclipse.jkube.kit.build.api.model package to the org.eclipse.jkube.kit.common package; and a resolution for Helm Lint not working on version 1.16.0. More details on this release may be found in the release notes.

MicroStream

The release of MicroStream 8.1.2 ships with a resolution to avoid possible VM crashes due to a removed check in G1 in JDK 21.0.2 that was adjusted in code cleanup for direct byte buffers. Further details on this release may be found in the release notes.

Gradle

The second release candidate of Gradle 8.7 provides continuous improvement in: support for Java 22 for compiling, testing, and running JVM-based projects; build cache improvements for Groovy DSL script compilation; and improvements to lazy configuration, error and warning messages, the configuration cache, and the Kotlin DSL. More details on this release may be found in the release notes.

About the Author

Rate this Article

Adoption
Style

BT