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.
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.
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.
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.
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.
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 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.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,
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.
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 3.1.2, a bug fix release, ships with: a deprecation of the
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.
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.
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
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.
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
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
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
PropagatingReceiverTracingObservationHandler classes; and custom Mapped Diagnostic Context (MDC) keys for the
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.
After five release candidates, the release of Gradle 8.0 delivers: a new Kotlin DSL that provides an alternative syntax to the Groovy DSL; 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
The release of Piranha 23.2.0 provides notable changes such as: deprecate the
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.