This week's Java roundup for February 13th, 2023, features news from OpenJDK, JDK 20, JDK 21, Native Build Tools 0.9.20, Spring 6.0.5, Spring Cloud Data Flow 2.10.1, Quarkus 2.16.3, Payara Platform, Micronaut 3.8.5, Helidon 3.1.2, Vert.x 3.9.15, Hibernate Search 6.2.Alpha2, MyFaces 4.0-RC5, Grails 5.3.2, Reactor 2022.0.3, Metrics 1.11-M1 and Tracing 1.1-M1, Maven 3.9, Gradle 8.0 and Piranha 22.3.
OpenJDK
Ron Pressler, consulting member of the technical staff at Oracle and project lead of Project Loom, has submitted JEP Draft 8302326, Implicit Classes and Enhanced Main Methods (Preview). This feature JEP proposes to "evolve the Java language so that students can write their first programs without needing to understand language features designed for large programs." This JEP moves forward the September 2022 blog post, Paving the on-ramp, by Brian Goetz, Java language architect at Oracle.
JDK 20
Build 36 of the JDK 20 early-access builds was made available this past week, featuring updates from Build 35 that include fixes to various issues. More details on this build may be found in the release notes.
JDK 21
Build 10 of the JDK 21 early-access builds was also made available this past week featuring updates from Build 9 that include fixes to various issues. Further details on this build may be found in the release notes.
For JDK 20 and JDK 21, developers are encouraged to report bugs via the Java Bug Database.
GraalVM Native Build Tools
On the road to version 1.0, Oracle Labs has released version 0.9.20 of Native Build Tools, a GraalVM project consisting of plugins for interoperability with GraalVM Native Image. This latest release provides: a new showPublications
Gradle task that will list all Group | Artifact | Version (GAV) coordinates published on Maven; ensure only a single task can concurrently access the reachability metadata service to avoid deadlock when collecting metadata; and add quickstart guides for beginners using a clean Java project. More details on this release may be found in the changelog.
Spring Framework
The release of Spring Framework 6.0.5 features: early support for JDK 21; deprecate the ConcurrentExecutorAdapter
class for removal in version 6.1; support for Optional in the PayloadMethodArgumentResolver
class; and support for the @JsonNaming
annotation when converting to native image with GraalVM. Further details on this release may be found in the release notes.
The release of Spring Cloud Data Flow 2.10.1 features: library updates to Spring Boot 2.7.8, Spring Framework 5.3.25 and Spring Shell 2.1.5; and updates to dependency projects such as: Spring Cloud Dataflow Build 2.10.1, Spring Cloud Deployer Kubernetes 2.8.1 and Spring Cloud Common Security Config 1.8.1. More details on this release may be found in the release notes.
Quarkus
Red Hat has released Quarkus 2.16.3.Final featuring support for custom Flyway credentials and URL. Other bug fixes and improvements include: register a CDI bean when an @ConfigMapping
annotation is marked with the @Unremovable
annotation; simplify the workflow in Quarkiverse Hub, the place to host and build Quarkus extensions; and a fix for quarkus:dev
when the project.build.directory
property is overridden by a profile. Further details on this release may be found in the release notes.
Payara
Payara has released their February 2023 edition of the Payara Platform that includes Community Edition 6.2023.2 and Enterprise Edition 5.48.0. Both versions share two improvements: rename MicroProfile OpenAPI property from mp.openapi.scan.lib
to mp.openapi.extensions.scan.lib
, a breaking change; and make it easier to locate and log an expired certificate. The Community Edition also includes a migration to the Jakarta Persistence 3.0 namespace for EJB Timer services. Notable bug fixes for both versions include: improve application deployment onJDK 11 and JDK 17; time out of Asadmin CLI utility commands, start
/stop
/restart-deployment-group
; and revert the removal of the JobManager
interface due to issues. More details on these releases may be found in the Community Edition release notes and the Enterprise Edition release notes.
Micronaut
The Micronaut Foundation has released Micronaut 3.8.5 featuring bug fixes, improvements in documentation, a dependency upgrade to Netty 4.1.87.Final and updates to modules, Micronaut OpenAPI and Micronaut Oracle Cloud. Further details on this release may be found in the release notes.
Helidon
Helidon 3.1.2, a bug fix release, ships with: a deprecation of the name()
and filename()
methods in the BodyPart
interface to be replaced with the isNamed()
method; a fix in the functionality of OIDC logout; improvements in the Helidon Config component; and create a backport of the OpenTelemetry specification in the Helidon 2.x release train.
Eclipse Vert.x
Despite the end-of-line for the 3.9 release train of Eclipse Vert.x in 2022, security updates will be made available through 2023. Version 3.9.15 delivers upgrades to Jackson 2.14.0, Netty 4.1.89 and Hazelcast 3.12.13 to address vulnerabilities CVE-2022-41881, CVE-2022-41915 and CVE-2022-36437. More details on this release may be found in the release notes.
Hibernate
The second alpha release of Hibernate Search 6.2.0 provides: compatibility with Elasticsearch 8.6 and OpenSearch 2.5; an upgrade of -orm6
artifacts to Hibernate ORM 6.2.0.CR2; simpler and
/or
/not
predicates; mass indexing for multiple tenants; and a switch to UUIDs for identifiers in the outbox-polling
coordination strategy.
Apache Software Foundation
The fifth release candidate of MyFaces Core 4.0.0, a compatible implementation of the Jakarta Faces specification, featuring: integration of the jsf.js
next generation scripts; a migration of all unit tests to JUnit 5; display a warning if the selectOne
attribute renders no selected item; and update logging in the WebConfigParamsLogger
class. Further details on this release may be found in the release notes.
Grails
Versions 5.3.2 and 5.3.1 of Grails were released this past week as version 5.3.2 patched version 5.3.1 due to an issue with upgrading the Maven coordinate, org.apache.maven:maven-resolver-provider
, from version 3.8.3 to 3.9.0. Otherwise, version 5.3.1 was comprised of dependency upgrades such as: Micronaut 3.8.4, Grails Gradle Plugin 5.3.0, com.netflix.nebula:gradle-extra-configurations-plugin
9.0, Vue 5.0.3 and io.methvin:directory-watcher
0.18.0.
Project Reactor
Project Reactor 2022.0.3, the third maintenance release, provides dependency upgrades to reactor-core
3.5.3 and reactor-netty
1.1.3 and reactor-kafka
1.3.16.
Micrometer
The first milestone release of Micrometer Metrics 1.11.0 delivers new features such as: support for the Azul Prime C4 Garbage Collector and Apache HttpClient 5.x; and a new method, observe(Function<C extends Observation.Context, T> function)
, in the Observation
interface to complement the existing observe(Runnable runnable)
and observe(Supplier<T> supplier)
methods.
The first milestone release of Micrometer Tracing 1.1.0 features: support for: no-operation implementations of the PropagatingSenderTracingObservationHandler
and PropagatingReceiverTracingObservationHandler
classes; and custom Mapped Diagnostic Context (MDC) keys for the Slf4JEventListener
class.
Maven
Maven 3.9.0 has been released with new features such as: a new MAVEN_ARGS
environmental variable; allow for building an application in multiple local repositories; the ability to store snapshots in a separate local repository; provide a warning related to a deprecated Mojo plugin; and simplify the integration of Redis Java Client (Redisson) and Hazelcast for the Maven artifact resolver.
Gradle
After five release candidates, the release of Gradle 8.0 delivers: enhancements to the Kotlin DSL, an alternative to the Groovy DSL, with upgrades to Kotlin 1.8 and JDK 11; improvements in the the buildSrc
builds; a configuration cache, an incubating new feature; and improvements in Java toolchains. More details on this release may be found in the release notes and InfoQ will follow up with a more detailed news story.
Shortly after the GA release, a patch release, Gradle 8.0.1, provides fixes for these issues: document the integration of the Scala plugin with toolchains and problems with the target
flag; removal of the --no-rebuild
command-line option without prior warning and deprecation notice; and a Scala build failure that reports the value, isBlank
, as not a member of the String
class.
Piranha Cloud
The release of Piranha 23.2.0 provides notable changes such as: deprecate the LoggingExtension
and MimeTypeExtension
classes; relocate the debug
module in the pom.xml
file to the test
directory; and introduce a new static utility class, WarFileExtractor
, for extracting WAR
files. Further details on this release may be found in their documentation and issue tracker.
Editor's Note
This news story was updated on February 22, 2023, to correct a fact related to the Kotlin DSL in the Gradle section.