Java News Roundup: NetBeans 15, Jakarta EE 10, jtreg 7, Spring Cloud, Groovy, Helidon, Micronaut
MMS • Michael Redlich
Article originally posted on InfoQ. Visit InfoQ
This week’s Java roundup for September 5th, 2022, features news from OpenJDK, JDK 20, Jakarta EE 10, Spring Cloud 2021.0.4, Quarkus 2.12.1, Micronaut 3.6.2 and 3.6.3, Helidon 2.5.3, important changes to upcoming JDK 8 maintenance release, Hibernate ORM 6.1.3, Reactive Native JHipster 4.3.0, Apache NetBeans 15, Apache Groovy 4.0.5, Apache Camel 3.18.2, Ktor 2.1.1 and the JavaZone conference.
OpenJDK
Version 7 of the Regression Test Harness for the JDK, jtreg
, has been released featuring an upgrade to JUnit 5, which provides the Jupiter API and support for running existing JUnit 4 tests and the Tag Language Specification. The naming convention for third-party library JAR files has been changed to use the base name of the JAR file that was specified when jtreg
was built. This name may depend on the version of the library. JDK tests that were affected by this change have already been updated. JDK 11 is the minimum supported version of jtreg
7.
JDK 19
JDK 19 remains in its release candidate phase with the anticipated GA release on September 20, 2022. The release notes include links to documents such as the complete API specification and an annotated API specification comparing the differences between JDK 18 (Build 36) and JDK 19 (Build 36). More details on JDK 19 and predictions on JDK 20 may be found in this InfoQ news story.
JDK 20
Build 14 of the JDK 20 early-access builds was also made available this past week, featuring updates from Build 13 that include fixes to various issues. Further details on this build may be found in the release notes.
For JDK 19 and JDK 20, developers are encouraged to report bugs via the Java Bug Database.
Jakarta EE 10
On the road to Jakarta EE 10, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, announced in his Hashtag Jakarta EE weekly blog that the ballots for the Platform Profile and Web Profile reviews of Jakarta EE 10 are now open until September 13. The Core Profile had already passed its review in August. This appears to be a good sign that Jakarta EE 10 could officially be released sometime this month. More details about the Jakarta EE specifications may be found in Grimstad’s presentation, Jakarta EE 10 – Feature-by-Feature, at the JavaZone conference this past week.
Spring Framework
Spring Cloud 2021.0.4, codenamed Jubilee, has been released featuring updates to all of the Spring Cloud sub-projects with notable changes in Config, Gateway, OpenFeign and Circuit Breaker. More details on this release may be found in the release notes.
Quarkus
Red Hat has released Quarkus 2.12.1.Final featuring a fix to a performance regression issue with the RequestContext
class. There were also dependency upgrades to Smallrye OpenAPI 2.2.1 and Dekorate 2.11.2. More details on this release may be found in the changelog.
Micronaut
The Micronaut Foundation has released versions 3.6.2 and 3.6.3 of Micronaut featuring bug fixes and patch releases for a number of the Micronaut modules such as: Security, Email, Micronaut for Spring, Tracing, Flyway, AWS, Serialization, and Data. Version 3.6.2 also provides an upgraded SnakeYAML 1.31 that addresses CVE-2022-25857, a vulnerability in previous versions of SnakeYAML susceptible to a Denial of Service attack due to missing nested depth limitations for collections. More details on these releases may be found in the release notes of version 3.6.2 and version 3.6.3.
Helidon
Helidon 2.5.3 has been released featuring numerous changes that include: an upgraded protocol buffer to support the osx-aarch_64
architecture in the gRPC component; an access token refresh in the Security component; and a fix for obtaining the parent directory for the watcher service in the Config component. There were also dependency upgrades to SnakeYAML 1.31 and Oracle Cloud Integration Integration 2.41.0.
BellSoft
BellSoft, creators of Liberica JDK, their downstream distribution of OpenJDK, discussed important changes that will affect the upcoming release of JDK 8 Maintenance Release 4 scheduled for October 2022. At the center of these changes is JDK-8202260, Reference Objects Should Not Support Cloning, defined in the JDK Bug System, that describes a critical issue identified in the Java SE 8 Platform:
The semantics of cloning a reference object is not defined clearly in the Java SE Specification. Cloning is closely related to garbage collection, so if the reachability state of a reference object changes during GC activities, the collector may enqueue the object before the code calls the
clone()
method on it. As a result, the clone won’t be enqueued and referenced. This leads to highly unpredictable reference processing.
Changes were subsequently implemented in JDK 9 and JDK 11 that will be backported in JDK 8 Maintenance Release 4. For example, in JDK 11 the Reference.clone()
method was specified to always throw a CloneNotSupportedException
.
Hibernate
Hibernate ORM 6.1.3.Final has been released featuring an optimization in which strings annotated with @JdbcTypeCode(SqlTypes.JSON)
and @JdbcTypeCode(SqlTypes.SQLXML)
will no longer be serialized to JSON/XML. Instead, they will be interpreted as plain JSON/XML to avoid the overhead of serialization/deserialization.
React Native JHipster
Shortly after the release of JHipster 7.9.3, version 4.3.0 of JHipster React Native was made available to the Java community. Improvements include: an upgrade to Expo SDK 46 with React Native 0.69.5 and React 18; a migration to Expo Application Services; support for logout with Auth0; use Node 16 for GitHub Actions; numerous dependency upgrades; and improved quality assurance using Keycloak, Okta, and Auth0. More details on this release may be found in the release notes.
The Apache Software Foundation
Apache NetBeans 15 has been released featuring: support for JEP 413, Code Snippets in Java API Documentation (delivered in JDK 18); a clean up of the code base to remove support for Windows 95 and Windows 98; an upgrade to Maven-Indexer 6.2.0 that included the removal of the workaround that avoided the IndexOutOfBoundsException
; and an update to Oracle Cloud Integration 2.27.0. More details on this release may be found in the release notes.
Apache Groovy 4.0.5 has been released featuring 56 bug fixes, improvements and dependency upgrades such as: JUnit Jupiter 5.9.0, JUnit Platform 1.9.0, Gradle 7.5.1, Spock 2.2, and slf4j 2.0.0. The lone new feature is an enhancement to the DateUtilExtensions
class such that a subset of the static calendar constants may be retrieved. More details on this release may be found in the release notes.
Apache Camel 3.18.2 has been released that ships with 50 bug fixes and improvements such as: support for mail attachments in the Camel Freemarker component; and handling the NoSuchElementException
from the loadProperties()
method defined in the CamelMicroProfilePropertiesSource
class. There were also dependency upgrades that include Spring Boot 2.7.3 and gRPC 1.48.1. More details on this release may be found in the release notes.
JetBrains
JetBrains has released Ktor 2.1.1 featuring improvements to fix issues such as: an exception from Netty HTTP/2; a mismatch between JDK 8 and JDK 11 in building Ktor; and a deprecation of the receiveOrNull()
method that has been perceived as confusing. More details on this release may be found in the changelog.
JavaZone Conference
The JavaZone conference was held at the Oslo Spektrum in Oslo, Norway this past week featuring many speakers from the Java community who presented lightning talks, presentations and workshops.