This week's Java roundup for February 14th, 2022, features news from OpenJDK, JDK 18, JDK 19, Project Loom, point releases on Spring projects, Payara Platform, Open Liberty 22.0.0.2 and 22.0.0.3-beta, Micronaut 3.3.3, GraalVM Native Build Tools 0.9.10, JReleaser 1.0.0-M2, Piranha 22.2.0, JobRunr 4.0.9, Micrometer Metrics 2.0.0-M2, Micrometer Tracing 1.0.0-M2, JDKMon 17.0.22 and Failsafe 3.2.2.
OpenJDK
As per the JDK 18 release schedule, Mark Reinhold, chief architect, Java Platform Group at Oracle, formally declared that JDK 18 has entered its initial release candidate phase. Critical bugs, such as regressions or serious functionality issues, may be addressed, but must be approved via the Fix-Request process.
JEP Draft 8281710, TLS Certificate Compression, proposes to improve security and performance of TLS and QUIC connections and reduce latency via support of the TLS Certificate Compression standard.
JDK 18
Build 36 of the JDK 18 early access builds was made available this past week, featuring updates from Build 35 that include fixes to various issues. More details may be found in the release notes.
JDK 19
Build 10 of the JDK 19 early-access builds was also made available this past week, featuring updates from Build 9 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.
Project Loom
Build 19-loom+4-115 of the Project Loom early-access builds was made available to the Java community and is based on Build 9 of JDK 19 early-access builds. This latest release features a migration of JEP Draft 8277129, Structured Concurrency, and JEP Draft 8263012, Scope Locals, into an incubator module.
Spring Framework
After a very quiet previous week, the team was busy this past week providing a number of point and milestone releases on some of their projects.
Spring Framework 5.3.16 has been released featuring 33 bug fixes and improvements. New features include: a convenience factory method for the ManagedList
, ManagedSet
and ManagedMap
classes; support for strict JSON comparison in the WebTestClient
interface; and an implementation of CacheErrorHandler
interface that logs exceptions instead of rethrowing them. This release also deprecates the SocketUtils
class and the execute(Runnable,long)
method defined in the AsyncTaskExecutor
interface.
Spring Cloud 2021.0.1, a maintenance release, features fixes for sub-projects: Config, Sleuth, Contract, Gateway and OpenFeign. More details may be found in the release notes.
The Spring Data team provided point and milestone releases for the 2021.1 and 2021.0 release trains and 2021.2.0-M3. The first two are mainly bug fixes and may be consumed with the upcoming point releases of Spring Boot 2.6.4 and 2.5.10, respectively. The milestone release, codenamed Raj, features dependency upgrades. More details may be found in the 2021.2.0-M3 release notes.
Spring LDAP 2.3.6.RELEASE and 2.4.0-M2 were made available this past week. Version 2.3.6.RELEASE fixes a failure to read the spring-repository.xsd
schema document and Version 2.4.0-M2 features dependency upgrades and includes: an upgrade from Gradle 3.1 to 6.9; a migration of the LDAP samples to UnboundID LDAP SDK for Java to support JDK 9+; and the aforementioned spring-repository.xsd
issue.
Payara
A week after announcing their 2022 roadmap, Payara has released their February 2022 edition of the Payara Platform. The Payara Platform Community 5.2022.1 edition includes three improvements and 10 bug fixes. The Payara Platform Enterprise 5.36.0 edition includes three improvements and four bug fixes. Both versions feature a fix in the Payara TrustStore for the Asadmin CLI tool in which there was a corruption in the .gfclient
directory. There was also an improvement in deployment time with the Community Edition that limits the scan time of CDI annotations.
The second alpha release of Payara Platform 6 was also made available, featuring support for MicroProfile 5.0 and Jakarta EE 9.1.
Open Liberty
IBM has promoted Open Liberty 22.0.0.2 from its beta release to deliver configuration enhancements to JPA persistence properties for container-managed contexts. More details may be found in the list of issues.
Open Liberty 22.0.0.3-beta has also been released featuring support for the Jakarta Concurrency 3.0 specification for Jakarta EE 10.
Micronaut
The Micronaut Foundation has released Micronaut 3.3.3 which fixes an issue with building native images with Netty.
GraalVM Native Build Tools
On the road to version 1.0, Oracle Labs has released version 0.9.10 of Native Build Tools, a GraalVM project consisting of plugins for interoperability with GraalVM Native Image. This latest release provides: a skipNativeTests
flag in the Maven plugin that only disables native tests; an upgrade to Gradle 7.4; a fix for a race condition if tests are executed in parallel; and support for an @arg
file to pass arguments to the native-image
tool if the length of the classpath exceeds what is supported under Windows. Further details may be found in the release notes.
JReleaser
On the road to version 1.0.0, a second milestone and updated early-access releases of JReleaser was made available this past week featuring: a simplified template for native image and a packageVersion
property in Chocolatey; the resource directory to be platform-specific in jpackage; and disable SSL checks in the Feign client.
Piranha
Piranha 22.2.0 has been released. Dubbed the "Light at the end of the tunnel" edition, this release includes: support for the MicroProfile JWT specification including passing the JWT TCK; and improvements in authorization code. Further details may be found in their documentation and issue tracker.
JobRunr
JobRunr, a utility to perform background processing in Java, has released version 4.0.9 this past week to include: a fix for an inconsistency of parsing CRON expressions for yearly scheduled jobs; and a static method for creating AmazonDocumentDBStorageProvider
as a default setting.
Micrometer
On the road to Micrometer Metrics 2.0.0, the second milestone version features dependency upgrades and moving a portion of existing classes in micrometer-core
to a new micrometer-api
module such that micrometer-core
contains only the instrumentation.
Similarly, the second milestone release of Micrometer Tracing 1.0.0 was made available featuring: an improved SampleTestRunner
for integration tests; AssertJ extensions to assert a FinishedSpan
interface and Collection<FinishedSpan>
; an update to the DocumentedSpan
interface; and better unit testing mechanisms for the Tracer
interface. Further details may be found in their documentation.
JDKMon
The latest version of JDKMon, a new tool that monitors and updates installed JDKs, has been made available to the Java community. Created by Gerrit Grunwald, principal engineer at Azul, version 17.0.22 ships with optical cosmetics on the user interface.
Failsafe
Failsafe, a lightweight, zero-dependency library for handling failures in Java 8+, has released version 3.2.2 featuring: new modules supporting OkHttp
and Retrofit
; a new Call
interface to support to the FailsafeExecutor
class for canceling synchronous calls; and an onCancel()
callback method to the ExecutionContext
interface for propagating cancellations.