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 JEP Candidates, Project Bisbane, Ktor Plugin Repository, JDKUpdater

Java News Roundup: New JEP Candidates, Project Bisbane, Ktor Plugin Repository, JDKUpdater

This week's Java roundup for April 1st, 2024, features news highlighting: new JEP Candidates: JEP 469, Vector API (Eighth Incubator); JEP 473, Stream Gatherers (Second Preview); and JEP 474, ZGC: Generational Mode by Default, Project Bisbane, and introducing the Ktor Plugin Repository and JDKUpdater.

OpenJDK

JEP 469: Vector API (Eighth Incubator) has been promoted from its JEP Draft 8326878 to Candidate status. This JEP incorporates enhancements in response to feedback from the previous seven rounds of incubation: JEP 460, Vector API (Seventh Incubator), delivered in JDK 22; JEP 448, Vector API (Sixth Incubator), delivered in JDK 21; JEP 438, Vector API (Fifth Incubator), delivered in JDK 20; JEP 426, Vector API (Fourth Incubator), delivered in JDK 19; JEP 417, Vector API (Third Incubator), delivered in JDK 18; JEP 414, Vector API (Second Incubator), delivered in JDK 17; and JEP 338, Vector API (Incubator), delivered as an incubator module in JDK 16. Originally slated to be a re-incubation by reusing the original Incubator status, it was decided to keep enumerating. The Vector API will continue to incubate until the necessary features of Project Valhalla become available as preview features. At that time, the Vector API team will adapt the Vector API and its implementation to use them, and will promote the Vector API from Incubation to Preview.

JEP 473, Stream Gatherers (Second Preview), has been promoted from its JEP Draft 8327844 to Candidate status. This JEP proposes a second round of preview from the previous round, namely: JEP 461, Stream Gatherers (Preview), delivered in JDK 22. This will allow additional time for feedback and more experience with this feature with no user-facing changes over JEP 461. 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.

JEP 474, ZGC: Generational Mode by Default, has been promoted from its JEP Draft 8326667 to Candidate status. This JEP proposes to use the Z Garbage Collector (ZGC) from non-generational to generational mode by default. The non-generational mode will be deprecated and removed in a future JDK release. This will ultimately reduce the cost of maintaining the two modes such that future development can primarily focus on JEP 439, Generational ZGC.

Denis Gauthier, director of Cryptography, Oracle Cloud Infrastructure at Oracle, has proposed the creation of Project Bisbane, a project to create a Java Cryptographic Extension (JCE) provider for the 140 series of Federal Information Processing Standards (FIPS 140). The JCE provider will primarily incorporate JEP 454, Foreign Function & Memory API, to encapsulate the FIPS 140-validated OpenSSL library based on the Oracle Cloud Infrastructure source code of an existing solution as the starting point for development.

JDK 23

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

GlassFish

GlassFish 8.0.0-M4, the fourth milestone release, delivers notable changes such as: eliminate a NullPointerException by performing a null check on an instance of the SSAuth class from within the SSHLauncher class; allow the @RestrictTo annotation to be repeatable, via the Java @Repeatable annotation, to preserve backward compatibility; and an integration of the Jakarta Authorization 3.0.0-M4 and other Jakarta EE specifications. More details on this release may be found in the release notes.

Similarly, GlassFish 7.0.14, the fourteenth maintenance release in the 7.0.0 release train, provides bug fixes, dependency upgrades and improvements to: the aforementioned @RestrictTo annotation and the OSGi system console in interactive mode that enables command completion. Further details on this release may be found in the release notes.

Spring Framework

The second milestone release of Spring Functions Catalog 5.0.0-M2 provides bug fixes, dependency upgrades and new features that include: a replacement of the TensorFlow modules with Deep Java Library due to a significant change in TensorFlow support; and an enhanced file supplier bean for improved support of the Spring Integration tailing inbound adapter. More details on this release may be found in the release notes.

Similarly, the first milestone release of Spring Cloud Stream Applications 2024.0.0 features notable changes such as: a migration of applications to the Spring Functions Catalog; and add the missing test scope to the function-test-support dependency. Further details on this release may be found in the release notes.

Quarkus

Quarkus 3.9.2, the second maintenance release, ships with notable changes such as: support for SmallRye Metrics in the Capability interface; a resolution to a missing configuration properties issue, despite being present, that prevented a successful native image build; and avoid enforcing the OIDC code flow access token, JsonWebToken, if the application code does not use it. More details on this release may be found in the changelog.

Helidon

Helidon 4.0.7, the seventh maintenance release, delivers bug fixes, dependency upgrades, improvements in documentation and enhancements such as: change HttpRouting from a class to an interface for alignment with the HttpRoute interface and the ability to create a custom HttpRouting; a validation that web server header contains at least one value when creating an instance of the web server in the overloaded create() method; and support for disabling security providers through configuration. Further details on this release may be found in the changelog.

Grails

The release of Grails 6.2.0 provides bug fixes, maintenance items and new features such as: a new FormattedLocalDateTimeValueConverter class to use the Java LocalDateTime class instead of the SimpleDateFormat class; and support for the MongoDB BSON BOM. More details on this release may be found in the release notes.

JBang

Version 0.116.0 of JBang delivers bug fixes, improvements in documentation and new features such as: support for Linux/RISC-V 64 now that the Temurin runtimes have been upgraded to JDK 21; and the introduction of JBangHub, a new utility that provides a set of default catalogs containing scripts and resources for JBang to allow for easy discovery and use of scripts, applications and templates. Further details on this release may be found in the release notes.

JDKUpdater

JDKUpdater, a new utility that provides developers the ability to keep track of updates related to builds of OpenJDK and GraalVM. Introduced in mid-March by Gerrit Grunwald, principal engineer at Azul, recent releases include updates such as: a new summary view to the JEP explorer; and an OpenJDK project explorer that allows developers to search for OpenJDK projects and open them in their default browser. JDKUpdater is written in Swift and requires macOS 14+. More details on this release may be found in the release notes.

JetBrains Ktor

The Ktor team has introduced the Ktor Plugin Registry, a new utility to manage both Ktor-provided and third-party plugins. It enables the submission of community-based plugins to the Ktor team, categorizes plugins for easy searching, and provides users with the necessary documentation. Developers can build a Ktor project via the online project generator to select the best mix of plugins for their project.

About the Author

Rate this Article

Adoption
Style

BT