This week’s Java Roundup for March 21, 2022 features news on JDK 18, JDK 19, JDK Mission Control 8.2, Amazon Corretto 18, BellSoft LibericaJDK 18, several spring milestones and point releases, Micronaut 3.4.0, GraalVM Native Build Tools 0.9.11, WildFly 26 Beta 1, Hibernate Reactive 1.1.4.Final, MicroStream 7.0-M1, JReleaser 1.0-RC1 and TornadoVM 0.13.
Oracle last week released version 18 of the Java programming language and virtual machine, which comes with a final feature set of nine JEPs. More details can be found in this news item from InfoQ.
Version 15 of the early access builds of JDK 19 was made available last week, with updates to version 14 that include fixes to various issues. More details can be found in the release notes.
For JDK 19, developers are encouraged to report bugs through the Java Bug Database.
JDK Mission Control
JDK Mission Control (JMC) 8.2.0 has been released with: support for Eclipse 2021-06 and later; a binary version for Apple ARM allowing JMC to be run natively on Apple M1; parser support for frame types generated by
async profiler; and a new rule for explicit invocations of
System.gc(). JMC requires JDK 11+, but can still be used to parse JFR records from OpenJDK 8u272+ and Oracle JDK 7u40+.
Amazon has released Amazon Corretto 18, its downstream distribution of OpenJDK 18, available on Linux, Windows, and macOS. Developers can download this latest version from this site.
BellSoft Liberia JDK
Similarly, BellSoft has released LibericaJDK 18, their downstream distribution of JDK 18. Developers can download this latest version from this site.
After a relatively quiet few weeks, the Spring team has been very busy over the past week, delivering several important and one-off releases.
There have been several versions of Spring Boot. Versions 2.5.11 and 2.6.5 feature a total of 56 and 66 bug fixes, dependency upgrades, and documentation improvements, respectively.
Spring Boot 2.7.0-M3 includes new features such as: support for building Docker images with Podman; better support for
SanitizingFunction interface; and support for Spring GraphQL 1.0.0-M6. Further details can be found in these release notes.
Spring Boot 3.0.0-M2 includes new features such as: restored support for Ehcache 3 and H2 Console application as both are now compatible with Jakarta EE 9; and better detection with the
@ConstructorBinding annotation used in conjunction with
@ConfugurationProperties. More details can be found in these release notes.
Several releases of Spring Data were also made available in the past week. Point releases 2021.1.3 and 2021.0.10 provide bug fixes and dependency upgrades and can be used with Spring Boot releases 2.6.5 and 2.5.11, respectively.
Spring Data 2021.2.0-M4, codenamed Raj, comes with a number of new features related to Spring Data sub-projects and can be used with Spring Boot 2.7.0-M3.
Spring Data 2022.0.0-M3, codenamed Turing, also comes with new features to include: JDK 17 as baseline; and support for Spring Framework 6 and Jakarta EE 9. This version can be consumed with Spring Boot 3.0.0-M2.
Spring’s sixth release for GraphQL 1.0 has been released to include a new GraphQL client and an updated GraphQL tester to align with the new client. This is the last milestone release and the team is planning the first release candidate by the end of April 2022 and a GA release on May 17, 2022.
Spring Security 6.0.0-M3 and 5.7.0-M3 have been released to include: deprecation of the
WebSecurityConfigurerAdapter to classify; and support for improvements for SAML 2.0 and OAuth 2.0.
The second stage of Spring Batch 5.0 has been made available with: a new Micrometer 2.0 observation API that provides both metrics and tracking for batch jobs; and the addition of HANA, an in-memory, column-oriented, relational database management system created by SAP, as a supported database for the job repository. More details can be found in this changelog.
Spring Authorization Server 0.2.3 has been released with a number of new features, bug fixes, and dependency upgrades. More details can be found in these release notes.
The Micronaut Foundation has released Micronaut 3.4.0 which comes with new features such as: the ability to conditionally load other bean properties with the
@Requires annotation; the ability to inject an implementation of the
LocalizedMessageSource interface in a controller to resolve localized messages for the current HTTP request; and Micronaut Data MongoDB is now part of Micronaut Data 3.3.0. Further details can be found in the changelog.
Native GraalVM build tools
On the way to version 1.0, Oracle Labs released version 0.9.11 of Native Build Tools, a GraalVM project consisting of plugins for interoperability with GraalVM Native Image. This latest release provides: the ability to use environment variables in native tests; integration of native GraalVM configuration repository with Gradle; a renaming of the Gradle
metadataRepository; and a fix in which the
@arg the file was not used for Maven testing. More details can be found in the release notes.
The first beta version of WildFly 26.1 was made available with: the ability to limit the number of records retrieved via a JDBC store; the ability to specify a root configuration source directory with MicroProfile Config; and improved keystore CLI commands. Further details can be found in the release notes.
Hibernate Reactive 1.1.4.Final has been made available as a maintenance release which fixes several bugs and an upgrade of Hibernate ORM dependencies to 5.6.7.Final. More details can be found in the changelog.
The first beta version of MicroStream 7.0 has been released with: a MicroStream CDI extension; connect to core modules using slf4j; and a more user-friendly serialization API.
On the road to 1.0.0, the first release candidate and updated early access builds of JReleaser were made available last week with: the ability to allow file properties to accept string values simple; support for universal binaries in
BINARY distributions; a new option to run the
jpackage command in verbose mode; and a fix in which the
packageSourceUrl fails when the
remoteBuild ownership is assigned to
TornadoVM, an open source software technology company, has released TornadoVM version 0.13 which comes with new features and improvements such as: integration with JDK 17 and Graal 21.3.0; native functions enabled by default; several SPIR-V backend improvements; an improved installation script; and support for extended intrinsics related to mathematical operations.
Juan Fumero, Research Associate, Advanced Processor Technologies Research Group at the University of Manchester, presented TornadoVM at QCon London in March 2020 and has since contributed to this more recent InfoQ technical article.