BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Java News Roundup: NetBeans 17, Multiple Spring and Tomcat Updates, GraalVM Builds for JDK 20

Java News Roundup: NetBeans 17, Multiple Spring and Tomcat Updates, GraalVM Builds for JDK 20

This week's Java roundup for February 20th, 2023, features news from OpenJDK, JDK 20, JDK 21, GraalVM, GlassFish 7.0.2, point and milestone releases of numerous Spring projects, Helidon 4.0.0-ALPHA5, NetBeans 17, Apache Tomcat 11.0.0-M3, 10.1.6, 9.0.72 and 8.5.86, Apache Log4j 2.20.0, JHipster Lite 0.28.0, JobRunr 6.1.0, JBang 0.104.0, and Gradle 7.6.1 and 6.9.4.

OpenJDK

JEP Draft 8303167, Deprecate the Windows x86-32 Port, has been introduced by George Adams, senior program manager at Microsoft, this past week. This feature JEP proposes to deprecate the Windows x86-32 port with the intent to remove it in a future release. With no intent to implement JEP 436, Virtual Threads (Second Preview), in 32-bit platforms, removing support for this port will enable OpenJDK developers to accelerate development of new features.

JDK 20

JDK 20 remains in its release candidate phase with the anticipated GA release on March 21, 2023. Build 36 remains the current build in the JDK 20 early-access builds. More details on this build may be found in the release notes.

JDK 21

Build 11 of the JDK 21 early-access builds was also made available this past week featuring updates from Build 10 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

The first GraalVM developer builds for JDK 20 are now available to the Java community. More details may be found in the release notes and developers are encouraged to visit the Getting Started guide.

Oracle Labs has also announced that the upcoming release of GraalVM 23.0 will include support for ZGC on HotSpot with the goal to add the required Z Garbage Collector (ZGC) barriers on the HotSpot virtual machine along with performance optimizations.

Eclipse GlassFish

The release of GlassFish 7.0.2 features integrations of Eclipse projects: Jersey 3.1.1, Mojarra 4.0.1, Eclipselink 4.0.1-RC2, WaSP 3.2.0, Tyrus 2.1.3 and Angus 2.0.1. Other enhancements include: stabilizing the GlassFishLogManagerLifeCycleTest class, a fix for a failure when application code requests a directory from the ClassLoader; explicit removal of temporary directories upon exit; and a TCK runner for the glassfish-external-tck-pages-tags artifact.

Spring Framework

It was a very busy week over at Spring as there were numerous point and milestone releases on a number of their projects.

The release of Spring Boot 3.0.3 delivers bug fixes improvements in documentation and dependency upgrades such as: Spring Data 2022.0.2, Spring Security 6.0.2, Spring Batch 5.0.1, Micrometer 1.10.4, Netty 4.1.89.Final, Hibernate 6.1.7.Final and Glassfish JAXB 4.0.2. Further details on this release may be found in the release notes.

Similarly, the release of Spring Boot 2.7.9 ships with bug fixes improvements in documentation and dependency upgrades such as: Spring Data 2021.2.8, Spring Security 5.7.7, Spring Batch 4.3.8, Micrometer 1.9.8, Netty 4.1.89.Final, Hibernate 5.6.15.Final and Glassfish JAXB 2.3.8. More details on this release may be found in the release notes.

Looking ahead to version 3.1.0, the first milestone release of Spring Boot 3.1.0 was made available. This version provides bug fixes, improvements in documentation, dependency upgrades and new features such as: remove the dependency management for Apache HttpClient 4 due to a migration to HttpClient 5; add the maximum HTTP response header size configuration for Apache Tomcat and Jetty; support for the Spring for Apache Kafka ContainerCustomizer interface; and autoconfigure the BatchInterceptor interface on the default ConcurrentKafkaListenerContainerFactory class. Further details on this release may be found in the release notes.

Versions 5.0.1 and 4.3.8 of Spring Batch were released featuring bug fixes, dependency upgrades, improvements in documentation and respective dependency upgrades such as: Spring Framework 6.0.5 and 5.3.25; Spring Retry 2.0.0 and 1.3.4; Spring AMQP 3.0.2 and 2.3.16; Spring Data 3.0.2 and 2.7.8; Spring Integration 6.0.3 and 5.5.16; and Micrometer 1.10.4 and 1.9.8. More details may be found in the release notes for version 5.0.1 and version 4.3.8.

Versions 2023.0.0-M2, 2022.0.2, and 2021.2.8 of Spring Data have been released that ship with bug fixes and respective dependency upgrades such as: Spring Data Commons 3.1.0-M2, 3.0.2 and 2.7.8; Spring Data MongoDB 4.1.0-M2, 4.0.2 and 3.4.8; and Spring Data Elasticsearch 5.1.0-M2, 5.0.2 and 4.4.8. Spring Data 2023.0.0-M1 was also made available this past week, but due to a glitch caused by the release tooling, Spring Data 2023.0.0-M2, codenamed Ullman, addressed this issue. Spring Data 2022.0.2 and 2021.2.8 may be consumed by Spring Boot 3.0.3 and 2.7.9, respectively.

Versions 6.0.2, 5.8.2, and 5.7.7 of Spring Security have been released with bug fixes and dependency upgrades. New features in version 6.0.2 include: Reenable tests for the R2dbcReactiveOAuth2AuthorizedClientService class; and documentation for the CsrfTokenRequestAttributeHandler class should reflect that the XorCsrfTokenRequestAttributeHandler subclass is used by default. New features in version 5.8.2 include: a new XorCsrfChannelInterceptor class that validates a CSRF token masked by the XorCsrfTokenRequestAttributeHandler class; and document that the @EnableWebFluxSecurity annotation will require the @Configuration annotation in version 6.0. Further details may be found in the release notes for version 6.0.2, version 5.8.2 and version 5.7.7.

The release of Spring Cloud 2021.0.6 features dependency upgrades to the sub-projects such as: Spring Cloud Config 3.1.5, Spring Cloud Kubernetes 2.1.5, Spring Cloud Build 3.1.5, Spring Cloud OpenFeign 3.1.5 and Spring Cloud Function 3.2.8. More details on this release may be found in the release notes.

The release of Spring for GraphQL 1.1.2 delivers bug fixes, improvements in documentation, dependency upgrades and new features: allow configuring the ExecutionInput class via the ExecutionGraphQlServiceTester interface; ContextDataFetcherDecorator ignores subscriptions when "subscription" type is renamed; and support @Validated on the method parameter. Further details on this release may be found in the release notes.

Versions 1.0.1 and 0.4.1 of Spring Authorization Server have been released with bug fixes and respective dependency upgrades such as: Spring Framework 6.0.5 and 5.3.25; Spring Security 6.0.2 and 5.8.2; JUnit Jupiter 5.9.2; and Jackson 2.14.2. A new feature in version 0.4.1 includes an updated continuous-integration-workflow.yml file to use an environmental file instead of the deprecated set-output command. More details may be found in the release notes for version 1.0.1 and version 0.4.1.

Looking ahead to version 1.1.0, the first milestone release of Spring Authorization Server has also been made available that delivers support for OpenID Connect 1.0 Logout endpoint. Further details on this release may be found in the release notes.

The release of Spring Modulith 0.4.0 provides bug fixes, dependency upgrades and new features such as: support scenarios to integrate test application modules, especially those annotated with @ApplicationEventListener; more detailed logging of incomplete event publication lookup on Modulith startup; and use the system name as the container name in documentation generation. More details on this release may be found in the release notes.

Due to a small glitch in which the spring-modulith-runtime module causes a web application to hang on Modulith shutdown, version 0.4.1 was released to address this issue right away. There was also a dependency upgrade to jMolecules 2022.2.3. Further details on this release may be found in the release notes.

Helidon

The fifth alpha release of Helidon 4.0.0 that deliver changes such as: support for interrupting HTTP/2 connections that result in more efficient server shutdowns; register an instance of the OciMetricsSupport class via a new enabled() method defined in the OciMetricsSupport.Builder class; and update the BodyPart interface to return an instance of Optional instead of a nullable String.

Apache Software Foundation

The Apache Software Foundation has provided releases for NetBeans, Tomcat and Log4j 2.

The release of Apache NetBeans 17 delivers changes such as: increase the large file warning from 1 MB to 5 MB; an initial implementation of ANTLR4 lexers; a dependency upgrade to ATNLR4 Runtime 4.11.1; and support for Jakarta EE 10. More details on this release may be found in the changelog.

The third milestone (alpha) release of Apache Tomcat 11.0.0 provides notable changes: increase the minimum supported Java version to JDK 17; remove support for starting Tomcat under a security manager; and remove support for JAX-RPC which was removed from the Jakarta EE platform in Jakarta EE 9. It is worth noting that the minimal Java version may be increased to JDK 21 as version 11.0.0 evolves as Jakarta EE 11 evolves. Further details on this release may be found in the changelog.

Apache Tomcat 10.1.6 has been released featuring a switch to using the ServiceLoader mechanism to load the custom URL protocol handlers that Tomcat uses; update the packaged version of the Apache Tomcat Native Library to 2.0.3 to pick up the Windows binaries built with with OpenSSL 3.0.8; add the shared IP address space (100.64.0.0/100.0.0.10) specified by RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space, to the list of trusted proxies for the RemoteIpValve and RemoteIpFilter classes; log basic information for each configured TLS certificate on Tomcat startup; and limit access to examples web application to localhost by default. More details on this release may be found in the changelog.

Versions 9.0.72 and 8.5.86 of Apache Tomcat feature notable changes: add an error report valve that allows redirecting to, or proxying from, an external web server; add the shared IP address space (100.64.0.0/100.0.0.10) specified by RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space, to the list of trusted proxies for the RemoteIpValve and RemoteIpFilter classes; log basic information for each configured TLS certificate on Tomcat startup; and limit access to examples web application to localhost by default. Further details on these releases may be found in the changelogs for version 9.0.72 and version 8.0.86.

The release of Apache Log4j 2.20.0 now ships with two versions of the SLF4J to Log4j adapters due to a break in compatibility in the SLF4J binding. Other new features include: add support for timezones in RollingFileAppender date pattern; add LogEvent timestamp to ProducerRecord in KafkaAppender; and add a logAndGet() method in the LogBuilder interface to emulate the traceEntry() method in the Logger method.

JHipster

The JHipster team has released JHipster Lite 0.28.0 featuring enhancements such as: support for Cassandra schema migration; a refactor of the CustomClaimConverter class for improved security; and a dependency upgrade to Spring Boot 3.0.3; More details on this release may be found in the release notes.

The team has also announced that Consul will be used as the default service discovery mechanism in the upcoming release of JHipster 8.0. As a result, the JHipster Registry will be deprecated.

JobRunr

JobRunr 6.1.0 has been released featuring improvements such as: easier mocking of the JobContext class; support for AWS DocumentDB via the Quarkus extension and JobRunr; and improved functionality with the JobServerFilter interface. Further details on this release may be found in the release notes.

JBang

The release of JBang 0.104.0 provides: installation of JDK 17 by default, but with continued support for a minimal version of JDK 8; experimental support for Java modules; and the ability to download remote files on the command line and replace them with file references.

Gradle

Gradle 7.6.1, the first patch release fixes issues such as: adding a dependency to a platform is not possible in the new dependency block using the Kotlin DSL; increased memory usage using the -p option; and fully remove references to "safe credentials" in the Gradle documentation to correctly document the risks of having credentials included in configuration cache entries. Further details on this release may be found in the release notes.

Gradle 6.9.4, the fourth patch release, fixes issues such as: equivalent excludes in a dependency graph that may cause unnecessary graph mutations; and trusted Gnu Privacy Guard (GPG) keys should only accept 160-bit fingerprints. More details on this release may be found in the release notes.

About the Author

Rate this Article

Adoption
Style

BT