This week's Java roundup for July 25th, 2022, features news from OpenJDK, JDK 19, JDK 20, Spring project updates, Helidon 3.0, GraalVM 22.2, Quarkus 2.11.1 and 2.10.4, Micronaut 3.5.4, Eclipse Vert.x virtual threads incubator, Jakarta EE 10 updates, IntelliJ IDEA 2022.2, JUnit 5.9.0, Apache Software Foundation project updates and Multik 0.2.0.
OpenJDK
JEP Draft 8285724, Deprecate JMX M-Lets (Management Applets) for Removal, a feature JEP, proposes to deprecate the Java Management eXtension (JMX) "M-Let" feature for removal in a future release as it has become obsolete and irrelevant for modern application development. The removal of M-Lets, originally inspired by applets, and the javax.management.loading
API will have no effect on JMX and its related technologies.
JDK 19
Build 33 of the JDK 19 early-access builds was made available this past week, featuring updates from Build 32 that include fixes to various issues. More details may be found in the release notes.
JDK 20
Build 8 of the JDK 20 early-access builds was also made available this past week, featuring updates from Build 7 that include fixes to various issues. Release notes are not yet available.
For JDK 19 and JDK 20, developers are encouraged to report bugs via the Java Bug Database.
Spring Framework
Spring Shell 2.1.0 has been released featuring: a new interface, CommandRegistration
, as a new way to programmatic define commands; an overhaul of the Spring Shell internals for initial support for the upcoming GA releases of Spring Framework 6.0 and Spring Boot 3.0; and a reevaluation of the @ShellMethod
and @ShellOption
annotations such that new annotations may be necessary to better align with the CommandRegistration
interface. Further details on this release may be found in the release notes.
Spring Cloud OpenFeign 3.0.8 has been made available as a bugfix and documentation release that backports fixes from the 3.1.x release train. The most notable backport is related to the cascading deserialisation in the Page
interface from Spring Data.
Since its debut in April 2020, the Spring Authorization Server team has announced that they are preparing for a version 1.0 release scheduled for November 2022. Version 1.0 will be based on Spring Security 6.0 and Spring Framework 6.0 and will require a minimal version of JDK 17, Tomcat 10 and Jetty 11. The team will also release a version 0.4.0 to support the Spring Security 5.x release train and JDK 8. More details on what developers can expect between now and November 2022 may be found in the release schedule and list of features. InfoQ will follow up with a more detailed news story.
Helidon
Two years since the release of Helidon 2.0, Oracle has released Helidon 3.0 that ships with: JDK 17 as a minimal version; an implementation of MicroProfile 5.0 and selected Jakarta EE 9.1 specifications.; support for JEP 290, Filter Incoming Serialization Data, such that deserialization is disabled by default; an updated Helidon SE routing API; a new project starter; and an updated CLI. Further details on this release may be found in the release notes. InfoQ will follow up with a more detailed news story.
GraalVM
Oracle Labs has released GraalVM 22.2 featuring: a smaller GraalVM JDK distribution that is more modular and no longer includes the JavaScript runtime, the LLVM runtime, or VisualVM; improvements in the use of Native Image with third party libraries, smaller memory footprint and heap dumps; faster startup and extended library support for GraalPython; and improved interoperability in GraalJS. GraalVM 22.2 ships with JDK 11 and JDK 17 builds. More details on this release may be found in this YouTube video. InfoQ will follow up with a more detailed news story.
Quarkus
Red Hat has released Quarkus 2.11.1.Final and 2.10.4.Final. Both versions address CVE-2022-2466, a vulnerability discovered in the SmallRye GraphQL server extension in which server requests were not properly terminated. As explained in the blog post:
Unfortunately, the previous fix introduced in 2.10.3.Final and the non-released 2.11.0.Final was incomplete and the issue was still present in another form.
Other new features include: new Redis Client API; dependency upgrades to Vert.x 4.3.2 and Netty 4.1.78; a change in GraphQL endpoints to be a Singleton by default; and a default to JDK 17-based builder images for native executable generation. Further details on these releases may be found in the release notes for version 2.11.1 and version 2.10.4.
Micronaut
Micronaut 3.5.4 has been made available by the Micronaut Foundation as a bug fix and patch release of several Micronaut modules that include: Micronaut Security 3.6.3, Micronaut AWS 3.5.3, Micronaut RxJava 2 1.2.2, Micronaut GCP 4.2.1, and Micronaut Reactor 2.2.3. More details on this release may be found in the release notes.
Eclipse Vert.x
With the upcoming release of JDK 19 that will support virtual threads, the Vert.x team has created a virtual threads incubator project for developers to experiment with virtual threads and provide feedback as necessary. The incubator project currently contains an implementation of async/await based on a proof of concept by August Nagro, software engineer at Axoni. This project is meant to provide central community experiments with virtual threads and can, therefore, host any other virtual thread-based project.
Jakarta EE 10
On the road to Jakarta EE 10, The Jakarta EE Specification Committee has posted a ballot this past week to ratify the Jakarta EE 10 Platform profile. This ballot is scheduled to close on August 9, 2022 and separate ballots will be scheduled for the Web and Core profiles.
JetBrains
JetBrains has released IntelliJ IDEA 2022.2 with new features such as: a migration from JetBrains Runtime (JBR) 11 to JBR17; improvements in remote development; support for Spring Framework 6.0 and Spring Boot 3.0; an experimental GraalVM Native Debugger for Java; and clickable URLs in JSON, YAML, and .properties
string values.
JetBrains has also released version 0.2 of Multik, a multidimensional array library for Kotlin. In this first release since version 0.1.1 in November 2021, new features in this new version include: a new multiplatform structure; support for Android and Apple Silicon processors; and improvements to operations such as random numbers, norm matrix and complex numbers. Further details on this release may be found in the release notes.
JUnit
JUnit 5.9.0 has been released with new features such as: support for the Open Test Reporting format; a new keySet()
method for the ConfigurationParameters
interface that allows for the retrieval of all configuration parameter keys; and a new failIfNoTests
attribute added to the @Suite
annotation interface that will fail a suite if no tests are discovered. Further details on this release may be found in the release notes. InfoQ will follow up with a more detailed news story.
Apache Software Foundation
The Apache Software Foundation has provided point releases for Camel Quarkus, Tomcat and Groovy.
Maintaining alignment with Quarkus, Camel Quarkus 2.11.0, containing Camel 3.18.0 and Quarkus 2.11.1.Final, features: extensions to support Camel Hashicorp Vault and DataSet; increased JAXB extension test coverage; and a fix for bean introspection on @Singleton
scoped beans that did not work. More details on this release may be found in the list of issues.
Tomcat 10.0.23 features: a fix for CVE-2022-34305, a low severity XSS vulnerability in the Form authentication example; support for repeatable builds; and an update of the packaged version of the Tomcat Native Library to 1.2.35 that includes Windows binaries built with OpenSSL 1.1.1q. Further details on this release may be found in the changelog.
Apache Groovy versions 4.0.4, 3.0.12 and 2.5.18 feature bug fixes, improvements and dependency upgrades such as: Spotbugs 4.7.1 , log4j2 2.18.0 and Ant 1.9.16. More details may be found in the release notes for versions 4.0.4, 3.0.12 and 2.5.18.