After its one-week review had concluded, JEP 422, Linux/RISC-V Port, has been promoted from Proposed to Target to Targeted for JDK 19. This JEP proposes to port the JDK to Linux/RISC-V, a free and open-source RISC instruction set architecture. The template interpreter, C1 and C2 JIT compilers, and all current mainline GCs, including ZGC and Shenandoah, will be supported. The main focus of this JEP is to integrate the port into the JDK main-line repository.
JEP Draft 8283227, JDK Source Structure, an informational JEP, describes the overall layout and structure of the JDK source code and related files in the JDK repository. This JEP proposes to help developers adapt to the source code structure as described in JEP 201, Modular Source Code, delivered in JDK 9.
JEP Draft 8283291, Extended Opcodes, an infrastructure JEP, proposes to free up more opcodes, beyond the arbitrary one-byte size restriction, that will allow for additional space for new instructions in future projects and enhancements for the JVM.
JDK 18 remains in its release candidate phase with the anticipated GA release on March 22, 2022. The release notes include links to documents such as the complete API specification and an annotated API specification comparing the differences between JDK 17 (Build 35) and JDK 18 (Build 37). InfoQ will follow-up with a more detailed news story.
Build 14 of the JDK 19 early-access builds was made available this past week, featuring updates from Build 13 that include fixes to various issues. More details may be found in the release notes.
For JDK 18 and JDK 19, developers are encouraged to report bugs via the Java Bug Database.
Spring Framework 6.0.0-M3 and 5.3.17 were made available this past week.
Version 5.3.17 ships with new features such as: support for a custom HTTP status in client-side REST testing; a fix in which logging from the
AsyncRestTemplate class was too verbose; and improved diagnostics in the Spring Expression Language (SpEL) upon the creation of large arrays. More details on version 5.3.17 may be found in these release notes.
The third milestone release of Spring 6.0 features an initial migration of the Ahead-of-Time engine from Spring Native that will allow for full native support in the overall Spring ecosystem. Further details on version 6.0.0-M3 may be found in these release notes.
Spring Tools 4.14.0 was released featuring a dependency upgrade to Eclipse IDE 2022-03 and fixes such as: JDK17 misidentified as JDK 8; the Outline View broken again on Windows; the VSCode extension occasionally emitting diagnostic entries into the “Problems” area; and an error from VSCode Spring Boot tools attempting to find a JVM. More details may be found in the changelog.
Payara has released the March 2022 edition of their Payara Platform as an enterprise-only release. Payara Platform Enterprise 5.37.0 edition delivers eight bug fixes, one component upgrade and two improvements: an autocomplete for local
asadmin commands that were only available for remote commands; and an updated installation directory tooltip within the WebConsole. More details on this release may be found in the release notes.
IBM has promoted Open Liberty 184.108.40.206 from its beta release to deliver notable bug fixes such as: the
@RolesAllowed annotation rejecting authenticated users; and the Jakarta JSON Processing 2.0 and Jakarta JSON Binding 2.0 Containers (artifacts
jsonbContainer-2.0, respectively) incorrectly providing default providers. This release also allows for SQL operations in transaction recovery logs.
Open Liberty 220.127.116.11-beta has also been released featuring support for MicroProfile GraphQL 2.0, JDK 18 and distributed security caches such that multiple Liberty servers may share caches via
Hibernate ORM 5.6.7.Final has been released after a short-lived version 5.6.6.Final that had been displaying confusing deprecation warnings.
Versions 6.1.3.Final and 6.0.9.Final of Hibernate Search have been released featuring upgrades to Hibernate ORM 5.6.7.Final and the
-orm6 artifacts to Hibernate ORM 6.0.0.CR2.
JobRunr, a utility to perform background processing in Java, has released version 5.0.0-RC1 this past week to include added support for: scheduling recurring jobs with a specified interval; the Mapped Diagnostics Context of SLF4J; Spring Native; and MicroMeter in the JobRunr Fluent API. Further details may be found in the release notes.
The Apache Software Foundation has provided a new LTS point release in the Camel 3.11 release train. Version 3.11.6 features 23 bug fixes and improvements, and dependency upgrades to Spring Boot versions 2.6.4 and 2.5.10, Spring Boot 2.5.9 in Camel Spring Boot and log4j 2.17.1. More details may be found in the release notes.
On the road to version 1.0.0, an updated early-access release of JReleaser was made available to: allow string inputs for file and directory properties; and fix incorrect selected commits when non-parseable tags were found.
Seven Reasons Why Java Still Makes Sense
In a recent blog post on Foojay.io, Bazlur Rahman, senior software engineer at Contrast Security, discusses the seven reasons why Java still makes sense after 26 years. This list was derived from his many discussions with Java developers combined with his personal experiences within the Java community and using the platform:
Rahman states that developers “should invest in a reliable, mature, proven portfolio with a rock-solid foundation” due to the investment in time developers make with a particular programming language.