This week’s Java roundup for January 5th, 2026, features news highlighting: point releases of Gatherers4j and Keycloak; and maintenance releases of Spring gRPC, Quarkus, Grails and Java Operator SDK.
JDK 26
Build 30 of the JDK 26 early-access builds was made available this past week featuring updates from Build 29 that include fixes for various issues. More details on this release may be found in the release notes.
JDK 27
Build 4 of the JDK 27 early-access builds was also made available this past week featuring updates from Build 3 that include fixes for various issues. Further details on this release may be found in the release notes.
For JDK 26 and JDK 27, developers are encouraged to report bugs via the Java Bug Database.
Spring Framework
Spring gRPC 1.0.1, the first maintenance release, provides bug fixes, dependency upgrades and enhancements such as: more descriptive error messages related to tracing; and the ability to use the getContext() method, defined in the Spring Security SecurityContextHolder class, with gRPC-specific Kotlin co-routines. More details on this release may be found in the release notes.
Quarkus
Quarkus 3.30.6, the sixth maintenance release, delivers notable changes such as: a resolution to a NullPointerException due to a shutdown-time failure in the Quarkus JDK Flight Recorder extension upon emitting runtime information; and removal of the official LZ4 Java project (org.lz4:lz4-java) in favor of the fork maintained by Jonas Konrad, Principal Member of Technical Staff at Oracle (at.yawk.lz4:lz4-java), as the former was discontinued in late 2025. Further details on this release may be found in the release notes.
Gatherers4j
The release of Gatherers4j 0.13.0 ships with new intermediate methods – uniquelyOccurringBy(), designed to limit a stream to uniquely occurring elements as measured by a given function, along with movingMedian() and movingMedianBy(), runningMedian() and runningMedianBy(), movingMax(), movingMaxBy(), movingMin(), and movingMinBy(), runningMax(), runningMaxBy(), runningMin(), and runningMinBy() – added to the Gatherers4j abstract class to calculate the moving and running of medians, maximum and maximum of the Java Stream interface.
Introduced in July 2024 by Todd Ginsberg, Director and Lead Engineer at Deutsche Bank, Gatherers4j is a library of intermediate streams based on JEP 485, Stream Gatherers, delivered in JDK 24. More details on this release may be found in the release notes.
Keycloak
The release of Keycloak 26.5.0 delivers bug fixes, dependency upgrades and new features such as: a preview of JWT Authorization Grant, an implementation of the JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC 7523) specification, for using external signed JWT assertions to request OAuth 2.0 access tokens; and OpenTelemetry enhancements to include exporting logs to OpenTelemetry collectors and exporting metrics using the Quarkus Micrometer and OpenTelemetry extension. Further details on this release may be found in the release notes.
Grails
Grails 7.0.5, the fifth maintenance release, provides bug fixes and enhancements such as: the addition of the application class name and script name arguments to the url-mappings-report Grails console command that were missing; and removal of the org.apache.tomcat.embed:tomcat-embed-logging-log4j module as it hasn’t been maintained since May 2016. More details on this release may be found in the release notes.
Java Operator SDK
The release of Java Operator SDK 5.2.2, a utility for working with Kubernetes operators, ships with notable changes such as: use of the @Sample annotation added to the ExpectationIT and PeriodicCleanerExpectationIT classes for improved integration testing; and a resolution to thread pools not stopping upon an error during startup. Further details on this release may be found in the release notes.
