This week's Java roundup for February 28th, 2022, features news from OpenJDK, JDK 19, point and milestone releases on various Spring projects, Quarkus 2.7.3.Final, Micronaut 3.3.4, HIbernate Validator versions 6.2.2.Final, 7.0.3.Final and 8.0.0.Alpha1, Hazelcast 5.1, Apache NetBeans 13, Apache Log4j 2.17.2, JHipster 7.7.0, and JReleaser 1.0.0-M3.
OpenJDK
JEP 424, Foreign Function & Memory API (Preview), was promoted from Draft to Candidate status this past week and will most-likely be targeted as a feature in JDK 19. This JEP evolves: JEP 419, Foreign Function & Memory API (Second Incubator), delivered in JDK 18; and JEP 412, Foreign Function & Memory API (Incubator), delivered in JDK 17; to incorporate improvements based on Java community feedback.
JDK 18
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.
JDK 19
Build 12 of the JDK 19 early-access builds was made available this past week, featuring updates from Build 11 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
Spring Native 0.11.3 has been released featuring: dependency upgrades to GraalVM 22.0, Spring Boot 2.6.4 and Spring Cloud 2021.0.1; and 25 bug fixes and improvements in documentation. More details on this release may be found in the changelog.
Two vulnerabilities in Spring Cloud Gateway, Code Injection Vulnerability (CVE-2022-22947) and HTTP2 Insecure TrustManager (CVE-2022-22946), have been identified and fixes were included in versions 3.1.1 and 3.0.7. Developers are encouraged to upgrade to Spring Cloud 2021.0.1 (Gateway 3.1.1) or the 2020.0.x release train (Gateway 3.0.7).
Spring Cloud Square 0.4.1 has been made available as a bug fix release featuring support for configuring custom WebClient.Builder
beans without the @LoadBalanced
annotation for non-load-balanced scenarios.
On the road to Spring Cloud Data Flow 2.10.0, the first milestone release was made available to include: an update to Spring Boot 2.6.3 and Spring Cloud 2021.0.0; a Carvel package for improved deployment to Kubernetes; and dropping support for MySQL in favor of MariaDB. Further details may be found in the release notes.
Quarkus
Quarkus 2.7.3.Final, the third maintenance release, was made available to include fixes such as: prevent a NoSuchElementException due to an error using the QuarkusTestResourceLifecycleManager
interface; properly support small files in multipart responses in REST Client Reactive; and resolve an issue in which Jib overwrites the owner of the working directory and sets it to root
. More details on this release may be found in the changelog.
Micronaut
The Micronaut Foundation has released Micronaut 3.3.4 to include: dependency upgrades to Micronaut Flyway 5.1.3 and Micronaut Serialization 1.0.0-RC2; add the @PreDestroy
annotation to the close()
method within the ScheduledMethodProcessor
class that was not being called on closing the bean context; and remove redundant integer boxing in the TimeConverterRegistrar
class. Further details on this release may be found in the changelog.
Hibernate
Versions 6.2.2.Final, 7.0.3.Final and 8.0.0.Alpha1 of Hibernate Validator have been released. The maintenance releases in the 6.2 and 7.0 release trains feature the return of validating java.sql.Date
that had broken after refactoring time constraints. Version 7.0.3 fixes an annotation processor issue after the migration to the jakarta.*
package namespace. On the road to version 8.0.0, the first alpha version is the initial step in supporting Jakarta EE 10.
Hazelcast
Just over four months after the release of Hazelcast 5.0, Hazelcast has released version 5.1 of their in-memory computing platform. New features include: support for JDK 17; the introduction of Tiered Storage that can store data sets much larger than available memory; extending support of their SQL Data Manipulation Language in which developers have the ability to create views, create indexes and run troubleshooting explain plans; and enhancements to the dynamic configuration persistence in which changes are simultaneously persisted to file-based configuration along with an endpoint to reload configuration changes. InfoQ will follow up with a more detailed news story.
Apache NetBeans
Apache NetBeans 13 has been released featuring: an improved NetBeans Java compiler (nb-javac
); a default light mode using the FlatLaf look-and-feel; and improvements to Maven, Gradle, and PHP. InfoQ will follow up with a more detailed news story.
Apache Log4J
Apache Log4j 2.17.2 has been released featuring: over 50 fixes and improvements; a required system property in the scripting engine to specify approved languages for the application; HTTPS is the only protocol allowed for remote configuration by default with a system property to allow or deny other protocols; an enhanced variable resolution such that defined properties in a configuration file may be recursive.
JHipster
Version 7.7.0 of JHipster has been released to include new features such as: a new blueprints generator invoked via the subcommand, generate-blueprint
; improvements to ES Modules; and support for Couchbase scopes and collections.
Matt Raible, developer advocate at Okta, introduced a new blueprint, Spring Native for JHipster, based on updated Spring Native with JHipster examples. InfoQ will follow up with a more detailed news story.
JReleaser
On the road to version 1.0.0, a third milestone and updated early-access releases of JReleaser were made available this past week featuring: an upgrade to JDK 17.0.2; rename the property, moduleName
, to java.mainModule
to complement java.mainClass
, a breaking change; allowing the application name to be overridden by the platform packager to accommodate lower case naming in Linux and mixed case naming in macOS/Windows; introducing a different mechanism for unzipping files; and support platform specific settings, such as --static
, in Linux.