Java News Roundup: Jakarta Data and Jakarta NoSQL Milestones, Class-File API Targeted for JDK 23

MMS Founder
MMS Michael Redlich

This week’s Java roundup for March 25th, 2024 features news highlighting: JEP 466, Class-File API (Second Preview), targeted for JDK 23; milestone releases of Jakarta Data and Jakarta NoSQL specifications; the second release candidate for JobRunr 7.0.0; and point releases for Spring projects, Quarkus, Helidon and LangChain4j.

OpenJDK

After its review has concluded, JEP 466, Class-File API (Second Preview), has been promoted from Proposed to Target to Targeted for JDK 23. This JEP proposes a second round of preview to obtain feedback from the previous round of preview: JEP 457, Class-File API (Preview), delivered in JDK 22. This feature provides an API for parsing, generating, and transforming Java class files. This will initially serve as an internal replacement for ASM, the Java bytecode manipulation and analysis framework, in the JDK with plans to have it opened as a public API. Goetz has characterized ASM as “an old codebase with plenty of legacy baggage” and provided background information on how this draft will evolve and ultimately replace ASM.

JDK 23

Build 16 of the JDK 23 early-access builds was made available this past week featuring updates from Build 15 that include fixes for various issues. Further details on this release may be found in the release notes.

Jakarta EE

The fourth milestone release of the Jakarta Data 1.0.0 specification features notable changes such as: removal of the countBy() method from the BasicRepository interface as it was a magical method name query and considered awkward; replace Sort by Sort where appropriate to allow sorting by a member of a super entity; and a new method, elements(), added to the inner Cursor interface, defined in the PageRequest interface, that automatically packages elements as an unmodifiable list. More details on this release may be found in the changelog.

Similarly, the first milestone release of Jakarta NoSQL 1.0.0 specification features notable changes such as: removal of the Document, Key-Value and Column Family APIs as they are now maintained in Jakarta Data; and the addition of new annotations, @MappedSuperclass, @Embeddable, @Inheritance, @DiscriminatorColumn and @DiscriminatorValue for improved support of NoSQL databases. More details on this release may be found in the changelog.

Spring Framework

Spring Cloud 2023.0.1, codenamed Leyton, has been released featuring bug fixes and notable updates to sub-projects: Spring Cloud Kubernetes 3.1.1; Spring Cloud Function 4.1.1; Spring Cloud OpenFeign 4.1.1; Spring Cloud Stream 4.1.1; and Spring Cloud Gateway 4.1.2. This release is based on Spring Boot 3.2.4. More details on this release may be found in the release notes.

The release of Spring for GraphQL 1.2.6 delivers bug fixes, improvements in documentation, dependency upgrades and new features: recommended use of the PERSISTED_QUERY_MARKER field defined in the GraphQL PersistedQuerySupport class to avoid a GraphQL AssertException due to persisted queries that don’t contain standard queries; use either first or after arguments to determine forward pagination in conjunction with the last and before arguments to determine backward pagination. This version will be shipped with the upcoming releases of Spring Boot 3.1.11 and 3.2.5. More details on this release may be found in the release notes.

Quarkus

The release of Quarkus 3.9.1 provides notable changes such as: the new naming strategy for Quarkus reactive extensions; support for OIDC Client JWT Bearer authentication; and an initial release of the new declarative Quarkus WebSockets extension. More details on this release may be found in the changelog.

Helidon

The release of Helidon 3.2.7 features notable changes such as: a replacement of the deprecated the overloaded from() methods, defined in the Multi interface, with corresponding create() methods; and a replacement of the deprecated readTransaction() and writeTransaction() methods, defined in the Neo4j Session interface, with the executeRead() and executeWrite() methods, respectively, in the Neo4jHealthCheck class. More details on this release may be found in the changelog.

Similarly, the of release of Helidon 2.6.7 ships with notable changes such as: a refresh of the MicroProfile Fault Tolerance static method cache upon CDI shutdown; support for disabling security providers through configuration; and a resolution to a NullPointerException from a disable feature in the OidcSupport class. More details on this release may be found in the changelog.

Open Liberty

IBM has released version 24.0.0.3 of Open Liberty featuring: enabling of default verbose garbage collection on IBM Java and IBM Semeru Runtimes; support for back-channel logout on OpenID Connect clients and servers; and a resolution to CVE-2023-50312, a vulnerability in IBM WebSphere Application Server Liberty versions 17.0.0.3 through 24.0.0.2 that could provide weaker-than-expected security for outbound TLS connections caused by a failure to honor user configuration.

Apache Software Foundation

Versions 10.1.20 and 8.5.100 of Apache Tomcat ship with notable changes such as: ensure that the URI, query string and protocol are not corrupted when restoring a saved POST request body after a successful FORM authentication; and align error handling for the Writer and OutputStream classes to ensure the use of either class once the response has been recycled triggers a NullPointerException provided that discardFacades is configured with the default value of true. For the milestone release, the team decided to reduce the minimal Java version to JDK 17. More details on these releases may be found in the release notes for version 10.1.20 and version 8.5.100.

The release of Apache Camel 4.5.0 provides bug fixes, dependency upgrades and new features such as: the creation of new Camel Milvus, Camel Qdrant and Camel AWS Bedrock components to support the Milvus and Qdrant vector databases and AWS Bedrock, respectively; and improved support for the bind command in Camel JBang with the ability to set properties and enhanced error handling. More details on this release may be found in the release notes.

Eclipse Foundation

Versions 4.5.7 and 4.4.9 of Eclipse Vert.x 4.5.7 both deliver notable changes such as: a resolution to CVE-2024-29025, a vulnerability in Netty versions before 4.1.108.Final by which an attacker can send a chunked post consisting of many small fields that will be accumulated, with no limits, in the bodyListHttpData list; and a resolution to Vert.x building its virtual thread factory at runtime with the correct reflection calls. More details on these releases may be found in the release notes for version 4.5.7 and version 4.4.9.

The release of Eclipse JKube 1.16.2 provides notable fixes such as: the addition of a JKubeBuildStrategy field in the WatcherContext class to throw an exception if using a Kubernetes Watch (k8s:watch/k8sWatch) in a buildpacks build strategy; the OpenShift Maven plugin generates a YAML file with a route target port that doesn’t correctly map to the target port causing a Kubernetes pod that is not accessible through the route if the service port is different than the target port. More details on this release may be found in the release notes.

TornadoVM

TornadoVM 1.0.3, the third maintenance release, delivers bug fixes and improvements such as: support for multiple Java threads running different instances of the TornadoVM execution plans; new API extensions to query and apply filters to backends and devices from the TornadoExecutionPlan class; and support for the TornadoNativeArray class data types to obtain memory segments without the header offset. More details on this release may be found in the release notes.

JobRunr

The second release candidate of JobRunr 7.0.0, a library for background processing in Java that is distributed and backed by persistent storage, features bug fixes, enhancements and new features: the ability to configure a shutdown period of BackgroundJobServer class; access to labels via JobContext class; and use of the Spring Data Redis LettuceConnectionFactory class to obtain an instance of the Lettuce RedisClient class. More details on this release, including information about the version 7.0.0 GA release on April 9, 2024, may be found in the release notes.

LangChain4j

Versions 0.29.1 and 0.29.0 of LangChain4j have been released providing notable features such as: advanced retrieval augmented generation (RAG) with Azure AI Search; support for function calling Mistral AI; and a new module to support AWS Anthropic Claude on Bedrock. More details on these releases may be found in the release notes for version 0.29.1 and version 0.29.0.

Java Operator SDK

The release of Java Operator SDK 4.8.2 features: a resolution to pruning issues of fields being delivered from the server by ignoring server-managed fields for server-side apply (SSA) matching; and improved integration tests by increasing the timeout from 20 to 40 minutes. More details on this release may be found in the release notes.

MicroStream

The release of MicroStream 8.1.2 provides code cleaning and adjustment for direct byte buffers in order to avoid possible VM crashes due to a removed check in G1GC in JDK 21.0.2. More details on this release may be found in the release notes.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: New JEP Drafts, Infinispan 15, Payara Platform, Alpaquita Containers with CRaC

MMS Founder
MMS Michael Redlich

This week’s Java roundup for March 11th, 2024 features news highlighting: new JEP drafts, Stream Gatherers (Second Preview) and Hot Code Heap; Infinispan 15; the March 2024 edition of Payara Platform; Alpaquita Containers with CRaC; the first release candidate of JobRunr 7.0; and milestone and point releases for Spring projects, Quarkus, Helidon and Micronaut.

OpenJDK

Viktor Klang, Software Architect, Java Platform Group at Oracle, has introduced JEP Draft 8327844, Stream Gatherers (Second Preview), that proposes a second round of preview from the previous round, namely JEP 461, Stream Gatherers (Preview), to be delivered in the upcoming release of JDK 22. This will allow additional time for feedback and more experience with this feature with no user-facing changes over JEP 461. This feature was designed to enhance the Stream API to support custom intermediate operations that will “allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations.” More details on this JEP may be found in the original design document and this InfoQ news story.

Dmitry Chuyko, Performance Architect at BellSoft, has introduced JEP Draft 8328186, Hot Code Heap, that proposes to “extend the segmented code cache with a new optional ‘hot’ code heap to compactly accommodate a part of non-profiled methods, and to extend the compiler control mechanism to mark certain methods as ‘hot’ so that they compile into the hot code heap.”

JDK 23

Build 14 of the JDK 23 early-access builds was made available this past week featuring updates from Build 13 that include fixes for various issues. More details on this release may be found in the release notes.

JDK 22

Build 36 remains the current build in the JDK 22 early-access builds. Further details on this build may be found in the release notes.

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

BellSoft

BellSoft has released their Alpaquita Containers product, which includes Alpaquita Linux and Liberica JDK, with support for Coordinated Restore at Checkpoint (CRaC). Performance measurements reveal a 164x faster startup and 1.1x smaller images. InfoQ will follow up with a more detailed news story.

Spring Framework

Versions 6.1.5, 6.0.18 and 5.3.33 of Spring Framework have been released to primarily address CVE-2024-22259, Spring Framework URL Parsing with Host Validation (2nd report), a vulnerability in which applications that use the UriComponentsBuilder class to parse an externally provided URL and perform validation checks on the host of the parsed URL, may be vulnerable to an open redirect attack or a server-side-request forgery attack if the URL is used after passing validation checks. New features include: allow the UriTemplate class to be built with an empty template; and a refinement of the getContentLength() method defined in classes that implement the HttpMessageConverter interface to return value null safety. These versions will be shipped with the upcoming releases of Spring Boot 3.2.4 and Spring Boot 3.1.10, respectively. More details on these releases may be found in the release notes for version 6.1.5, version 6.0.18 and version 5.3.33.

The second milestone release of Spring Data 2024.0.0 provides new features: predicate-based QueryEngine for Spring Data Key-Value; and a transaction option derivation for MongoDB based on @Transactional annotation labels. There were also upgrades to sub-projects such as: Spring Data Commons 3.3.0-M2; Spring Data MongoDB 4.3.0-M2; Spring Data Elasticsearch 5.3.0-M2; and Spring Data Neo4j 7.3.0-M2. More details on this release may be found in the release notes.

Similarly, versions 2023.1.4 and 2023.0.10 of Spring Data have been released providing bug fixes and respective dependency upgrades to sub-projects such as: Spring Data Commons 3.2.4 and 3.1.10; Spring Data MongoDB 4.2.4 and 4.1.10; Spring Data Elasticsearch 5.2.4 and 5.1.10; and Spring Data Neo4j 7.2.4 and 7.1.10. These versions may also be consumed by the upcoming releases of Spring Boot 3.2.4 and 3.1.10, respectively.

The release of Spring AI 0.8.1 delivers new features such as support for: the Google Gemini AI model; VertexAI Gemini Chat; Gemini Function Calling; and native compilation of Gemini applications. More details on this release may be found in the list of issues.

Payara

Payara has released their March 2024 edition of the Payara Platform that includes Community Edition 6.2024.3 and Enterprise Edition 6.12.0. Both editions feature notable changes such as: more control in system package selection with Apache Felix that streamlines configuration and reduces potential conflicts; a resolution for generated temporary files in the /tmp folder upon deployment that weren’t getting deleted; and improved reliability to set the correct status when restarting a server instance from the Admin UI. More details on these releases may be found in the release notes for Community Edition 6.2024.3 and Enterprise Edition 6.12.0.

Micronaut

The Micronaut Foundation has released version 4.3.6 of the Micronaut Framework featuring Micronaut Core 4.3.11, bug fixes, improvements in documentation, and updates to modules: Micronaut Serialization, Micronaut Azure, Micronaut RxJava 3 and Micronaut Validation. Further details on this release may be found in the release notes.

Quarkus

Quarkus 3.2.11.Final, a maintenance LTS release, ships with dependency upgrades and security fixes to address:

  • CVE-2024-25710, a denial of service caused by an infinite loop for a corrupted DUMP file.
  • CVE-2024-1597, a PostgreSQL JDBC Driver vulnerability that allows an attacker to inject SQL if using PreferQueryMode=SIMPLE.
  • CVE-2024-1023, a memory leak due to the use of Netty FastThreadLocal data structures in Vert.x.
  • CVE-2024-1300, a memory leak when a TCP server is configured with TLS and SNI support.
  • CVE-2024-1726 security checks for some inherited endpoints performed after serialization in RESTEasy Reactive may trigger a denial of service

More details on this release may be found in the changelog.

Helidon

The release of Helidon 4.0.6 provides notable changes such as: support for injecting instances of the UniversalConnectionPool interface; a deprecation of the await(long, TimeUnit) method defined in the Awaitable interface in favor of await(Duration); and enhance the Status class with additional standard HTTP status codes, namely: 203, Non-Authoritative Information; 207, Multi-Status; 507, Insufficient Storage; 508, Loop Detected; 510, Not Extended; and 511, Network Authentication Required. More details on this release may be found in the changelog.

Infinispan

Red Hat has released version 15.0.0 of Infinispan that delivers new features such as: a JDK 17 baseline; support for Jakarta EE; a connector to the Redis Serialization Protocol; support for distributed vector indexes and KNN queries; and improved tracing subsystem. More details on this release may be found in the release notes and InfoQ will follow up with a more detailed news story.

Micrometer

Version 1.13.0-M2 of Micrometer Metrics 1.13.0 delivers bug fixes, dependency upgrades and new features such as: align the JettyClientMetrics class with Jetty 12; support for Prometheus 1.x; and support for the @Counted annotation on classes with an update on the CountedAspect class to handle when @Counted annotates a class. More details on this release may be found in the release notes.

Similarly, versions 1.12.4 and 1.11.10 of Micrometer Metrics ship with bug fixes, dependency upgrades and a new feature in which the INSTANCE field, defined in the DefaultHttpClientObservationConvention class, was declared as final as being non-final seemed to be accidental. More details on these releases may be found in the release notes for version 1.12.4 and version 1.11.10.

Versions 1.3.0-M2, 1.2.4 and 1.1.11 of Micrometer Tracing provides bug fixes, dependency upgrades to Micrometer Metrics 1.13.0-M2, 1.12.4 and 1.11.10, respectively and a completed task that excludes the benchmarks module from the BOM because they are not published. More details on these releases may be found in the version 1.3.0-M2, version 1.2.4 and version 1.1.11.

Project Reactor

Project Reactor 2023.0.4, the fourth maintenance release, provides dependency upgrades to reactor-core 3.6.4 and reactor-netty 1.1.17. There was also a realignment to version 2023.0.4 with the reactor-kafka 1.3.23, reactor-pool 1.0.5, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. More details on this release may be found in the changelog.

Next, Project Reactor 2022.0.17, the seventeenth maintenance release, provides dependency upgrades to reactor-core 3.5.15 and reactor-netty 1.1.17. There was also a realignment to version 2022.0.17 with the reactor-kafka 1.3.23, reactor-pool 1.0.5, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. Further details on this release may be found in the changelog.

And finally, the release of Project Reactor 2020.0.42, codenamed Europium-SR42, provides dependency upgrades to reactor-core 3.4.36 and reactor-netty 1.0.43 and. There was also a realignment to version 2020.0.42 with the reactor-kafka 1.3.23, reactor-pool 0.2.12, reactor-addons 3.4.10, reactor-kotlin-extensions 1.1.10 and reactor-rabbitmq 1.5.6 artifacts that remain unchanged. More details on this release may be found in the changelog.

Apache Software Foundation

Versions 5.0.0-alpha-7 and 4.0.20 of Apache Groovy feature bug fixes, dependency upgrades and an improvement to the getMessage() method defined in the MissingMethodException class to eliminate truncating the error message at 60 characters. More details on these releases may be found in the release notes for version 5.0.0-alpha-7 and version 4.0.20.

The release of Apache Camel 4.4.1 provides bug fixes, dependency upgrades and notable improvements such as: support for the ${} expressions with dependencies in Camel JBang; and port validation in Camel GRPC should check if a port was specified. More details on this release may be found in the release notes.

Eclipse Foundation

Version 4.5.5 of Eclipse Vert.x has been released delivering notable changes such as: a deprecation of the toJson() method defined in the Buffer interface in favor of toJsonValue(); a resolution to an OutOfMemoryException after an update to the Certificate Revocation List; and a new requirement that an implementation of the CompositeFuture interface must unregister itself against its component upon completion. More details on this release may be found in the release notes and list of deprecations and breaking changes.

The release of Eclipse Mojarra 4.0.6, the compatible implementation to the Jakarta Faces specification, ships with notable changes such as: ensure that the getViews() method defined in the ViewHandler class also returns programmatic facelets; and removal of the SKIP_ITERATION enumeration as it was superseded by the VisitHint enumeration. More details on this release may be found in the release notes.

Piranha

The release of Piranha 24.2.0 delivers notable changes to the Piranha CLI such as: the ability to generate a macOS GraalVM binary; and the addition of a version and coreprofile sub-commands. Further details on this release may be found in their documentation and issue tracker.

JobRunr

The first release candidate of JobRunr 7.0.0, a library for background processing in Java that is distributed and backed by persistent storage, features bug fixes, enhancements and new features: built-in support for virtual threads that are enabled by default when using JDK 21; and the InMemoryStorageProvider class now allows for a poll interval as small as 200ms that is useful for testing. Breaking changes include: the delete(String id) method in the JobScheduler class has been renamed to deleteRecurringJob(String id); and updates to the StorageProvider interface and the Page and PageRequest classes that include new features. More details on this release may be found in the release notes.

JBang

Version 0.115.0 of JBang delivers bug fixes and new features such as: arguments passed to an alias are now appended (instead of being replaced) to any arguments that are already defined in the alias; and support for specifying system properties when using the jbang app install command. More details on this release may be found in the release notes.

LangChain4j

Version 0.28.0 of LangChain for Java (LangChain4j) provides many bug fixes, new integrations with Anthropic and Zhipu AI, and notable updates such as: a new Filter API to support embedded stores like Milvus and Pinecone; the ability to load recursively and with glob/regex filtering with the FileSystemDocumentLoader class; and an implementation of the missing parameters in the rest of the Azure OpenAI APIs with a clean up of the existing responseFormat parameter so that all parameters are in the consistently in the same order. Further details on this release may be found in the release notes.

Java Operator SDK

The release of Java Operator SDK 4.8.1 features dependency upgrades and notable improvements such as: explicit use of the fixed thread pool; add logging for tracing issues with events; and changes to the primary to secondary index edge case for the dynamic mapper in the DefaultPrimaryToSecondaryIndex class. More details on this release may be found in the release notes.

Gradle

The third release candidate of Gradle 8.7 provides continuous improvement in: support for Java 22 for compiling, testing, and running JVM-based projects; build cache improvements for Groovy DSL script compilation; and improvements to lazy configuration, error and warning messages, the configuration cache, and the Kotlin DSL. More details on this release may be found in the release notes.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: JDK 22 RC1, JBoss EAP 8.0, GlassFish 8.0-M2, LangChain4j 0.27

MMS Founder
MMS Michael Redlich

This week’s Java roundup for February 5th, 2024 features news highlighting: the first release candidate of JDK 22, JBoss Enterprise Application Platform 8.0, IBM Semeru Runtimes first quarter 2024 updates, LangChain4j 0.27.0, and multiple point releases for Micronaut, Helidon and Eclipse Vert.x.

JDK 23

Build 9 of the JDK 23 early-access builds was made available this past week featuring updates from Build 8 that include fixes for various issues. More details on this release may be found in the release notes.

JDK 22

Build 35 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 34 that include fixes to various issues. Further details on this build may be found in the release notes.

As per the JDK 22 release schedule, Mark Reinhold, chief architect, Java Platform Group at Oracle, formally declared that JDK 21 has entered its first release candidate as there are no unresolved P1 bugs in Build 35. The anticipated GA release is scheduled for March 19, 2024.

The final set of 12 features for the GA release in March 2024 will include:

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

Jakarta EE 11

In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, has provided an update on the road to Jakarta EE 11 with a more formal milestone release plan that follows up on the recent release of Jakarta EE 11-M1. Developers can expect milestones 2, 3 and 4 to be released in March, April and May 2024, respectively. As Grimstad stated: “It is the first time we are using Milestones for a Jakarta EE release. Hopefully, it will turn out to be a good idea that will help us complete the release as planned in June/July this year [2024].”

Eclipse GlassFish

The second milestone release of GlassFish 8.0.0 delivers notable changes such as: removal of CDI tests using the @ManagedBean annotation due to the Jakarta Managed Beans specification having been removed from the Jakarta EE Platform; a resolution to the startserv script that incorrectly reported a bash syntax error; and a resolution to the ConcurrentModificationException in the context map propagator. More details on this release may be found in the release notes.

Spring Framework

The release of Spring Tools 4.21.1 features bug fixes, early access builds for Eclipse 2024-03 milestone, and improvements: availability of viewing and editing of log levels in VSCode for live running Spring Boot apps, if enabled on the the application via Spring Boot Actuators; and the ability to show “Refactor Preview” in VSCode before applying the changes from OpenRewrite recipes. Further details on this release may be found in the release notes.

JBoss Enterprise Application Platform

Red Hat has released version 8.0 of the JBoss Enterprise Application Platform extends Java support in the cloud with security enhancements, improved cloud workflow tools, and compatibility with Jakarta EE 10, contributing to streamlined application modernization for customers and continued support for enterprise Java application development. InfoQ will follow up with a more detailed news story.

Micronaut

The Micronaut Foundation has released version 4.3.0 of the Micronaut Framework featuring Micronaut Core 4.3.4, bug fixes, dependency upgrades and updates to modules such as: Micronaut GCP, Micronaut Liquibase, Micronaut Data and Micronaut Validation. New modules, Micronaut Chatbots and Micronaut EclipseStore, were also introduced in this version. More details on this release may be found in the release notes.

Similarly, the follow up release of Micronaut Framework 4.3.1 features Micronaut Core 4.3.5, bug fixes, dependency upgrades and updates to modules: Micronaut Security, Micronaut Data, and Micronaut Logging. Further details on this release may be found in the release notes.

IBM Semeru Runtimes

IBM has released version 9.0 of Universal Base Image (UBI) minimal Liberty container images, a stripped down image which allows for the production of smaller application images, with support for Semeru Runtimes Java 21 JRE. The UBI 9 minimal images are available starting with the release of Open Liberty 24.0.0.1.

IBM has also released the 1Q2024 quarterly update of the Semeru Runtime, Open Edition versions 21.0.2, 17.0.10, 11.0.22 and 8.0.402 based on Eclipse OpenJ9 0.43 and OpenJDK jdk-21.0.2+13, jdk-17.0.10+7, jdk-11.0.22+7 and jdk8u402-b06, respectively. This release contains the latest CPU and security fixes from the Oracle Critical Patch Update for January 2024.

Quarkus

Red Hat has released version 3.7.2 of Quarkus with notable changes such as: a resolution to SSL requests hang when an endpoint returns a CompletableFuture; always execute the OpenIDConnectSecurityFilter class at runtime to ensure that the OpenAPI document will use the runtime value of the quarkus.oidc.auth-server-url property; and a new CheckCrossReferences class to check the cross references of canonical IDs. More details on this release may be found in the changelog.

Helidon

The release of Helidon 4.0.5 delivers notable resolutions to issues such as: tests defined in the KafkaSeTest class failing on Windows OS; a NullPointerException from a user test by adding a null check for the resource path in the HelidonTelemetryContainerFilter class; and problems handling character encodings in URIs. Further details on this release may be found in the changelog.

Similarly, Helidon 3.2.6 has been released providing dependency upgrades and notable changes such as: manually count the number of offered tasks instead of relying solely on the inaccurate value returned by the getActiveCount() method defined in the ThreadPool class; and a resolution to the currentSpan() method defined in the TracerProviderHelper class throwing a NullPointerException in situations where an implementation of the TracerProvider class is null. More details on this release may be found in the changelog.

Hibernate

The release of Hibernate ORM 6.4.4.Final ships with dependency upgrades and resolutions to issues such as: a NullPointerException upon using the default instance of the BytecodeProvider interface after upgrading WildFly to Hibernate 6.4.3; a memory leak using the BasicTypeRegistry class; and an IllegalStateException due to an unsupported combination of tuples in queries. Further details on this release may be found in the list of issues.

Eclipse Vert.x

Versions 4.5.3 and 4.4.8 of Eclipse Vert.x both ship with notable resolutions to issues such as: CVE-2024-1300, a vulnerability that allows an attacker to send Transport Layer Security (TLS) client “hello” messages with fake server names, triggering a JVM out-of-memory error due to a memory leak in TCP servers configured with support for TLS and Server Name Indication (SNI); a NullPointerException in the decodeError() method defined in the PgDecoder class; and temporary files generated by the WebClient interface not being removed. More details on these releases may be found in the release notes for version 4.5.3 and version 4.4.8.

Eclipse JKube

The release of Eclipse JKube 1.16.0 provides notable changes such as: support for the Spring Boot application properties placeholders generated from the configuration; a new JKubeArchiveDecompressor class with initial support for .tgz and .zip files; and support for parsing Docker image names with IPv6 address literals. Further details on this release may be found in the release notes.

Infinispan

The release of Infinispan 14.0.24 provides many dependency upgrades and improvements: prevent leaks from an implementation of the Java MBeanServer interface from within the HotRodClient class; and enable the Insights Java Client by default. More details on this release may be found in the release notes.

LangChain for Java

Version 0.27.0 of LangChain for Java (LangChain4j) provides many bug fixes, new integrations with Infinispan and MongoDB, and notable updates such as: improved support for AstraDB and Cassandra; a fallback strategy for the LanguageModelQueryRouter class; and an enhance to the ServiceOutputParser class that allows the outputFormatInstructions() method to document nested objects in the jsonStructure() method. Further details on this release may be found in the release notes.

JHipster

Version 1.4.0 of JHipster Lite have been released to deliver bug fixes, dependency upgrades and new features/enhancements such as: a new module to auto-enable Spring local profile for development; support for programmatically declare dependencies in a Maven profile; and a rename of getJavaVersion() method to javaVersion() to align with the JHipster Lite convention of not using the get prefix. More details on this release may be found in the release notes.

Testcontainers for Java

The release of Testcontainers for Java 1.19.5 ships with a downgrade of Apache Commons Compress from version 1.25.0 to version 1.24.0 to avoid classpath conflicts due to a recent change in Commons Compress 1.25.0. Further details on this release may be found in the release notes.

Java Operator SDK

The release of Java Operator SDK 4.8.0 features notable changes such as: improved logging of conflicting exceptions; the ability for multiple controllers reconciling same resource type, but with different labels; and a resolution to multiple dependents of same type exceptions. More details on this release may be found in the release notes.

Multik

Version 0.2.3 of Multik, the multidimensional array library for Kotlin, has been migrated to Kotlin 1.9.22. New features include: use of pinned arrays to optimize the sin, cos, log, exp functions in Kotlin/Native; implementation of complex numbers in Kotlin/Native using the Vector128 class; and enhanced performance on Windows OS and Apple Silicon processors. Further details on this release may be found in the release notes.

Gradle

Gradle 7.6.4, the fourth maintenance release, features: an upgrade to Apache Ant 1.10.14 to address CVE-2020-11979, a vulnerability in which an attacker can inject modified source files into a build process due to the fixcrlf task deleting temporary files and creating new ones without the permissions assigned to the current user; an upgrade to Google Guava 32.1.1 to address CVE-2023-2976, a vulnerability in the FileBackedOutputStream class that allows other users and apps on the machine with access to the default Java temporary directory to be able to access the files created by the class; and an upgrade to Apache Ivy 2.5.2 to address CVE-2022-46751, a vulnerability in Apache Ivy in which an attacker can exfiltrate data, access resources only the machine running Ivy, or disturb the execution of Ivy in different ways due to improper restriction of XML External Entity Reference. More details on this release may be found in the release notes.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: WildFly 31, Eclipse Store 1.1, Liberica NIK, Quarkus, JHipster Lite

MMS Founder
MMS Michael Redlich

This week’s Java roundup for January 22nd, 2024 features news highlighting: WildFly 31.0.0, Eclipse Store 1.1.0, BellSoft Liberica Native Image Kit, multiple Quarkus and JHipster Lite releases and Jakarta EE 11 updates.

OpenJDK

After its review had concluded JEP 455, Primitive Types in Patterns, instanceof, and switch (Preview), has been promoted from Proposed to Target to Targeted for JDK 23. This JEP, under the auspices of Project Amber, proposes to enhance pattern matching by allowing primitive type patterns in all pattern contexts, and extend instanceof and switch to work with all primitive types. Aggelos Biboudis, Principal Member of Technical Staff at Oracle, has recently published an updated draft specification for this feature.

JDK 23

Build 7 of the JDK 23 early-access builds was made available this past week featuring updates from Build 6 that include fixes for various issues. More details on this release may be found in the release notes.

JDK 22

Build 33 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 32 that include fixes to various issues. Further details on this build may be found in the release notes.

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

Jakarta EE 11

In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE Developer Advocate at the Eclipse Foundation, has provided an update on the progress of Jakarta EE 11 and beyond. As per the Jakarta EE Specification Process, the Jakarta EE Specification Committee will conduct a progress review of the planned Jakarta EE 11 release and vote on a ballot to approve. If the ballot does not pass, the release date of Jakarta EE 11 could be delayed.

Also, the Jakarta EE Working Group has been thinking beyond Jakarta EE 11 and discussing some ideas for new specifications, such as Jakarta AI. The group has created this Google Doc for the Java community to review and provide input/feedback.

Spring Framework

The Spring Framework team has disclosed that versions 6.1.3 and 6.0.16, released on January 11, 2024, addressed CVE-2024-22233, Spring Framework Server Web DoS Vulnerability, that allows an attacker to provide a specially crafted HTTP request that may cause a denial-of-service condition if the application uses Spring MVC and Spring Security 6.1.6+ or 6.2.1+ is on the classpath.

Version 3.2.1 and 3.1.8 of Spring Shell have been released deliver notable changes: a resolution for the command alias not working on the type level when the subcommand is empty; a split of the JLine dependencies due to issues with native image and to avoid importing classes that may not be needed in an application; and a resolution to the shell cursor not being restored in the terminal multiplexer (tmux) if the shell is hiding the cursor. Both versions build upon Spring Boot 3.2.2 and 3.1.8, respectively. More details on these releases may be found in the release notes for version 3.2.1 and version 3.1.8.

The release of Spring Cloud Commons 4.1.1 has been released featuring a bug fix in which implementations of the Spring Framework BeanPostProcessor interface were not registered correctly when the @LoadBalanced annotation bean was instantiated during auto-configuration. Further details on this release may be found in the release notes.

BellSoft

BellSoft has released versions 23.1.2 for JDK 21 and 23.0.3 for JDK 17 of their Liberica Native Image Kit builds as part of the Oracle Critical Patch Update for January 2024 to address several security and bug fixes. Other notable improvements include: support for AWT and JavaFX fullscreen mode; intrinsified memory copying routines on AMD64 platforms and, where available, they now use AVX instructions for better performance; and SubstrateVM monitor enter/exit routines for accelerated startup of native images.

WildFly

Red Hat has released version 31 of WildFly with application server features such as: support for MicroProfile 6.1, Hibernate ORM 6.4.2, Hibernate Search 7.0.0 and Jakarta MVC 2.1; and the ability to exchange messages from the MicroProfile Reactive Messaging 3.0 specification with Advances Messaging Queuing Protocol (AMQP) 1.0. This release also introduces WildFly Glow, a command line and a set of tools to “provision a trimmed WildFly server instance that contains the server features that are required by an application.” InfoQ will follow up with a more detailed news story.

Quarkus

Red Hat has also released version 3.6.7 of Quarkus with notable changes such as: ensure that the refreshed CSRF cookie retains its original value based on the presence of the token header; dependency management for the Hibernate JPA 2 Metamodel Generator; and a resolution to entity manager issues with Spring Data JPA when using multiple persistence units. More details on this release may be found in the changelog.

Quarkus 3.2.10.Final, the tenth maintenance release in the 3.2 LTS release train, primarily delivers resolutions to CVEs such as: CVE-2023-5675, an authorization flaw with endpoints used in Quarkus RestEasy Reactive and Classic applications customized by Quarkus extensions using the annotation processor; and CVE-2023-6267, an annotation-based security flaw in which the JSON body that a resource may consume is being processed, i.e., deserialized, prior to the security constraints being evaluated and applied. Further details on this release may be found in the changelog.

Helidon

The release of Helidon 4.0.4 delivers notable changes such as: a resolution to the currentSpan() method defined in the TracerProviderHelper class throwing a NullPointerException in situations where an implementation of the TracerProvider class is null; a cleanup and simplification of the logic to determine which type of IP addresses, v4 or v6, to consider during name resolution in WebClient configuration; and security propagation is now disabled when not properly configured. More details on this release may be found in the changelog.

Micronaut

The Micronaut Foundation has released version 4.2.4 of the Micronaut Framework featuring Micronaut Core 4.2.4, bug fixes, dependency upgrades and updates to modules: Micronaut AWS, Micronaut Flyway, Micronaut JAX-RS, Micronaut JMS, Micronaut MicroStream, Micronaut MQTT and Micronaut Servlet. Further details on this release may be found in the release notes.

Hibernate

The release of Hibernate Reactive 2.2.2.Final ships with: a dependency upgrade to Hibernate ORM 6.4.2.Final; removal of unused code that caused a ClassCastException in Quarkus at start up; and new annotations, @EnableFor and @DisabledFor, to enable and disable, respectively, tests for database types. More details on this release may be found in the release notes.

The second alpha release of Hibernate Search 7.1.0 provides: compatibility with Hibernate ORM 6.4.2.Final, Lucene 9.9.1 and Elasticsearch 8.12; an integration of the Elasticsearch/OpenSearch vector search capabilities; and the ability to look up the capabilities of each field when inspecting the metamodel. Further details on this release may be found in the release notes.

Eclipse Store

The release of Eclipse Store 1.1.0 delivers new features such as: monitoring support using the Java Management Extensions (JMX) framework; integration with Spring Boot 3.x; and an implementation of JSR 107, Java Temporary Caching API (JCache). More details on this release may be found in the release notes.

Infinispan

Versions 15.0.0.Dev07 and 14.0.22.Final of Infinispan ship with dependency upgrades and resolutions to notable bug fixes such as: a flaky test failure from the testExpirationCompactionOnLogFile() method defined in the SoftIndexFileStoreFileStatsTest class; an IllegalArgumentException from within the getMembersPhysicalAddresses() method defined in the JGroupsTransport class; and a NullPointerException due to a failover of the Hot Rod Client hanging. Further details on these releases may be found in the release notes for version 15.0.0.Dev07 and version 14.0.22.

JHipster

Versions 1.3.0, 1.2.1 and 1.2.0 of JHipster Lite have been released to deliver bug fixes, dependency upgrades and new features/enhancements such as: use of the LinkedHashSet class instead of the HashSet class for improved reproducible generated code; use of Signals and Control Flow, new features of Angular 17; and support for Protocol Buffers. More details on these releases may be found in the release notes for version 1.3.0, version 1.2.1 and version 1.2.0.

Testcontainers for Java

The release of Testcontainers for Java 1.19.4 ships with bug fixes, improvements in documentation and new features such as: an enhancement in the exec command that supports setting a work directory and environmental variables; support for MySQL 8.3; and an increase of the default startup time for Selenium to 60 seconds. Further details on this release may be found in the release notes.

Gradle

The third release candidate of Gradle 8.6 provides continuous improvement in: support for custom encryption keys in the configuration cache via the GRADLE_ENCRYPTION_KEY environment variable; improvements in error and warning reporting; improvements in the Build Init Plugin to support various types of projects; and enhanced build authoring for plugin authors and build engineers to develop custom build logic. More details on this release may be found in the release notes.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: JDK 22 in Rampdown Phase Two, JEPs for JDK 23, Jakarta EE 11, GraalVM

MMS Founder
MMS Michael Redlich

This week’s Java roundup for January 15th, 2024 features news highlighting: JEP 455 Proposed to Target for JDK 23, JDK 22 in Rampdown Phase Two, an updated Jakarta EE 11 release plan, GraalVM, and Oracle’s Critical Patch Update for January 2024.

OpenJDK

JEP 455, Primitive Types in Patterns, instanceof, and switch (Preview), has been promoted from Candidate to Proposed to Target for JDK 23. This JEP, under the auspices of Project Amber, proposes to enhance pattern matching by allowing primitive type patterns in all pattern contexts, and extend instanceof and switch to work with all primitive types. Aggelos Biboudis, Principal Member of Technical Staff at Oracle, has recently published an updated draft specification for this feature. The review is expected to conclude on January 22, 2024.

Ron Pressler, Architect and Technical Lead for Project Loom at Oracle, and Alex Buckley, Specification Lead for the Java Language and the Java Virtual Machine at Oracle, have submitted JEP Draft 8323072, Deprecate Memory-Access Methods in sun.misc.Unsafe for Removal. This JEP proposes to deprecate the memory-access methods defined in the sun.misc.Unsafe class for removal in a future release. These now unsupported methods have had supported replacements since: JDK 9 for accessing on-heap memory; and JDK 22 for accessing off-heap memory.

JDK 23

Build 6 of the JDK 23 early-access builds was made available this past week featuring updates from Build 5 that include fixes for various issues. More details on this release may be found in the release notes.

JDK 22

Build 32 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 31 that include fixes to various issues. Further details on this build may be found in the release notes.

As per the JDK 22 release schedule, Mark Reinhold, chief architect, Java Platform Group at Oracle, formally declared that JDK 22 has entered Rampdown Phase Two. This means that: no additional JEPs will be added for JDK 22; and there will be a focus on the P1 and P2 bugs which can be fixed via the Fix-Request Process. Late enhancements are still possible, with the Late-Enhancement Request Process, but Reinhold states that “the bar is now extraordinarily high.” The final set of 12 features for the GA release in March 2024 will include:

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

Jakarta EE

In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE Developer Advocate at the Eclipse Foundation, has announced a change to the targeted Java version for Jakarta EE 11 to support both JDK 21 and JDK 17. As explained by Grimstad:

While this may seem like a significant change, it turns out that it isn’t that dramatic. None of the component specifications were actually planning on exposing any Java 21 features in their APIs. The only one close to it was Jakarta Concurrency 3.1, with the planned support for Java virtual threads. But it turns out that careful API design allows for support if the underlying JVM supports it.

The biggest change is for the Test Compatibility Kit (TCK), which must be able to run on both Java 17 and Java 21. The implementations that had moved their code base to Java 21 are also affected to some degree depending on how far they have gotten and how many Java 17+ features they have started using.

As a result, the Jakarta EE release plan for specification milestone releases has been modified to accommodate this change, but Grimstad maintained that the original GA release of Jakarta will remain at the June/July 2024 timeframe.

GraalVM

Oracle Labs has released GraalVM for JDK 21 Community 21.0.2 featuring fixes based on the Oracle Critical Patch Update for January 2024. These include: a simplified implementation of the ValueAnchorNode class; a resolution to a problem with the -XX:+PrintGCSummary command-line parameter if assertions are enabled; and a resolution to prevent failures from System.console().readPassword. More details on this release may be found in the release notes.

BellSoft

Concurrent with Oracle’s Critical Patch Update (CPU) for January 2024, BellSoft has released CPU patches for versions 21.0.1.0.1, 17.0.9.0.1, 11.0.21.0.1, 8u401 of Liberica JDK, their downstream distribution of OpenJDK, to address this list of CVEs. In addition, Patch Set Update (PSU) versions 21.0.2, 17.0.10, 11.0.22 and 8u402, containing CPU and non-critical fixes, have also been released.

Spring Framework

The first milestone release of Spring Boot 3.3.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: the removal of APIs that were deprecated in a previous release; support for the Micrometer @SpanTag annotation; and support to auto-configure JwtAuthenticationConverter and ReactiveJwtAuthenticationConverter classes for dedicated Spring Security OAuth2 properties. Further details on this release may be found in the release notes.

The release of Spring Boot 3.2.2 ships with improvements in documentation, dependency upgrades and notable bug fixes such as: the getComment() method called within an instance of the JarEntry class returns incorrect results from instances of the NestedJarFile class; a database connection leak when using jOOQ without the spring.jooq.sql-dialect property having been established; and using the MockRestServiceServerAutoConfiguration class together with the Spring Framework RestTemplate class and RestClient interface throws an incorrect exception. More details on this release may be found in the release notes.

Similarly, the release of Spring Boot 3.1.8 provides improvements in documentation, dependency upgrades and notable bug fixes such as: implementations of the SslBundle interface, PropertiesSslBundle and WebServerSslBundle, do not provide useful toString() results; the mark, ^, that indicates an error in the pattern is misplaced within the log message from a PatternParseException; and mixing PEM and JKS certificate material in the server.ssl properties does not work. Further details on this release may be found in the release notes.

The first milestone release of Spring Security 6.3.0 delivers bug fixes, dependency upgrades and new features such as: a new factory method for the RoleHierarchyImpl class for improved definition of the role hierarchy; a new offset to complement the order attribute within the @EnableMethodSecurity annotation to allow applications to select where the interceptors should be placed; and integrate caching into the HandlerMappingIntrospector class. More details on this release may be found in the release notes.

The first milestone release of Spring Authorization Server 1.3.0 provides dependency upgrades and new features such as: the ability to configurable scope validation strategy in the OAuth2ClientCredentialsAuthenticationProvider class; improved error logging to document an invalid or expired authorization code; and support for multi-tenancy using the path component for the issuer of a certificate. Further details on this release may be found in the release notes.

Versions 1.2.0-M1, 1.1.2 and 1.0.5 of Spring Modulith have been released featuring bug fixes, dependency upgrades and improvements such as: eliminate the use of the deprecated fromDataSource() method defined in the Spring Boot DatabaseDriver enum class; avoid the potential for the ModuleTestExecution class to include modules twice if a module is listed as an extra include but already part of the calculated dependencies; and exclude classes generated by Spring AOT from architecture verification as they might otherwise introduce dependencies to application components considered module internals. More details on these releases may be found in the release notes for version 1.2.0-M1, version 1.1.2 and version 1.0.5.

The first milestone release of Spring Session 3.3.0 ships with dependency upgrades and new features such as: a new ReactiveFindByIndexNameSessionRepository interface to provide an Actuator endpoint for non-indexed session repositories; and a new ReactiveRedisIndexedSessionRepository class to provide a /sessions endpoint for Spring WebFlux applications. Further details on this release may be found in the release notes.

The release of Spring for Apache Pulsar 1.0.2 ships with dependency upgrades and a new Bill of Materials module, spring-pulsar-bom, added to the project. This version will be included in the release of Spring Boot 3.2.2 More details on this release may be found in the release notes.

Helidon

The release of Helidon 4.0.3 delivers notable changes such as: support for the use of Map in configured builders to eliminate the use of “complicated” config.detach().asMap() to obtain the child values; restore the access specifiers of the RegistryFactory class and its getInstance() and getRegistry() methods to public for improved backwards compatibility with the 3.x release train; and improved security resulting from the OIDC provider performing authentication against the ID Token first the introduction of an access token refresh mechanism. Further details on this release may be found in the changelog.

Quarkus

The first release candidate of Quarkus 3.7 features notable changes such as: support for the LinkedIn OIDC provider; the ability to observe security events for an authorization check failure or success such that an application could use this to implement a custom security logging mechanism; and support for the Micrometer @MeterTag annotation, making it possible to add additional tags for methods annotated with @Counted and @Timed from method arguments. More details on this release may be found in the release notes.

The Quarkus team has also announced that the Quarkus documentation is now equipped with full-text search that has initially been implemented on the Quarkus Guides page. This replaces the original simple substring search on the title and summary of each guide. This new capability is powered by the Quarkus.io Search application that uses the Hibernate Search extension which provides integration with OpenSearch/Elasticsearch.

Hibernate

The release of Hibernate ORM 6.4.2.Final provides bug fixes and improvements such as: a new CurrentTenantIdentifierResolver interface to allow for non-string tenant identifiers and tenant resolver as a managed bean; and resolutions to the query problem with joined inheritance hierarchy structure and an HQL join entity not generating a delete condition with the use of the @SoftDelete annotation. Further details on this release may be found in the list of issues.

Similarly, the release of Hibernate Reactive 2.2.1.Final ships with notable changes such as: support for the Order class introduced in Hibernate ORM 6.3; support for applying the upsert() method defined in the StatelessSession interface on all databases; and a resolution for issues with out-of-the-box support for arrays of basic Java types. This release is compatible with Hibernate ORM 6.4.1.Final and Vert.x SQL driver 4.5.1. Hibernate Reactive 2.0.8.Final was also released, however despite compatibility with Vertx SQL client 4.5.1, the team has decided to revert the version 2.0.8 upgrade because it was preventing other applications from upgrading to the latest 2.0 version. More details on this release may be found in the release notes.

Apache Software Foundation

The fifth alpha release of Apache Groovy 5.0.0 delivers bug fixes, dependency upgrades and new features/improvements such as: a custom type checker for format strings to find invalid conversion characters, missing parameters, incorrect types and invalid flags; Generate a serialVersionUID for an instance of the Closure class because it implements the Java Serializable interface; and support for matching on a method call that contains variable arguments with the ASTMatcher class. Further details on this release may be found in the release notes.

Similarly, Apache Groovy 4.0.18 has also been released featuring bug fixes, dependency upgrades and improvements such as: the Groovy Docs now list the inherited properties; and a resolution to avoid processing duplicated entries within META-INF folder. More details on this release may be found in the release notes.

The twelfth alpha release of Apache Maven 4.0.0 provides notable changes such as: leveraging the artifact collection filtering and new transitive dependency manager in the Maven Artifact Resolver; use of JLine for improved line editing; and improved consistency during builds by not resolving projects outside the reactor. Further details on this release may be found in the release notes.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: Final JEP Drafts, Payara 2024 Roadmap, TornadoVM Plugin for IntelliJ

MMS Founder
MMS Michael Redlich

This week’s Java roundup for January 8th, 2024 features news highlighting: JEP drafts for final versions of OpenJDK features String Templates and Implicitly Declared Classes and Instance Main Methods; the Payara Platform 2024 roadmap; and a new TornadoVM plugin for IntelliJ IDEA.

OpenJDK

Ron Pressler, Architect and Technical Lead for Project Loom at Oracle, and Jim Laskey, Software Development Director at Oracle, have submitted JEP Draft 8323335, Implicitly Declared Classes and Instance Main Methods (Final) to finalize this feature. Formerly known as Unnamed Classes and Instance Main Methods (Preview), Flexible Main Methods and Anonymous Main Classes (Preview) and Implicit Classes and Enhanced Main Methods (Preview), this JEP incorporates enhancements in response to feedback from the two previous rounds of preview, namely JEP 463, Implicit Classes and Instance Main Methods (Second Preview), to be delivered in the upcoming release of JDK 22, and JEP 445, Unnamed Classes and Instance Main Methods (Preview), delivered in JDK 21. This 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. The latest draft of the specification document by Gavin Bierman, Consulting Member of Technical Staff at Oracle, is open for review by the Java community. More details on JEP 445 may be found in this InfoQ news story.

Laskey has also submitted JEP Draft 8323333, String Templates (Final), to finalize this feature after two rounds of preview, namely JEP 459, String Templates (Second Preview), to be delivered in the upcoming release of JDK 22, and JEP 430, String Templates (Preview), delivered in JDK 21. This JEP proposes to enhance the Java programming language with string templates, string literals containing embedded expressions, that are interpreted at runtime where the embedded expressions are evaluated and verified. Further details on JEP 430 may be found in this InfoQ news story.

JDK 23

Build 5 of the JDK 23 early-access builds was made available this past week featuring updates from Build 4 that include fixes for various issues. More details on this release may be found in the release notes.

JDK 22

Build 31 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 30 that include fixes to various issues. Further details on this build may be found in the release notes.

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

Spring Framework

Versions 6.1.3 and 6.0.16 of Spring Framework have been released featuring bug fixes, improvements in documentation, dependency upgrades and new features such as: exclude full request URIs containing sensitive query parameters from remaining mono checkpoints while using the WebClient interface; allow the @CrossOrigin annotation to provide a Access-Control-Allow-Private-Network header from an application to Google Chrome if the Access-Control-Request-Private-Network header (Private Network Access) is sent in the preflight request; and avoid early resolution of the getMostSpecificMethod() method defined in the ClassUtils class from within the CommonAnnotationBeanPostProcessor class due to it being called at an outer level before finding an annotation. These versions will be shipped with the upcoming releases of Spring Boot 3.2.2 and 3.1.8. More details on these releases may be found in the release notes for version 6.1.3 and version 6.0.16.

Versions 2023.1.2 and 2023.0.8 of Spring Data have been released providing bug fixes and respective dependency upgrades to sub-projects such as: Spring Data Commons 3.2.2 and 3.1.8; Spring Data MongoDB 4.2.2 and 4.1.8; Spring Data Elasticsearch 5.2.2 and 5.1.8; and Spring Data Neo4j 7.2.2 and 7.1.8. These versions may also be consumed by the upcoming releases of Spring Boot 3.2.2 and 3.1.8, respectively.

The release of Spring Web Services 4.0.10 ships with notable changes such as: support for jar:nested, a URI scheme for resources within uber JARs as part of a new loader implementation in Spring Boot 3.2, within the SchemaFactoryUtils class; removal of a duplicate dependency declaration for the Apache HttpComponents HttpClient interface; and a dependency upgrade to Spring Framework 6.0.16. Further details on this release may be found in the release notes.

The release of Spring Cloud Dataflow 2.11.2 delivers notable changes such as: an upgrade to Logback 1.2.13 to resolve CVE-2023-6378, a serialization vulnerability in the Logback receiver component that allows an attacker to mount a denial-of-service attack by sending poisoned data; update the BatchVersion enum and the JdbcSearchableJobExecutionDao class to support use of the JOB_CONFIGURATION_LOCATION field that was removed in Batch5-based schemas that broke some queries; and a resolution to the getJobExecutionsWithStepCountFilteredByTaskExecutionId() method in the aforementioned JdbcSearchableJobExecutionDao class does not support BATCH_ task prefixes. More details on this release may be found in the release notes.

Payara

The Payara team has provided a retrospective on 2023 and a roadmap for the Payara Platform in 2024 and beyond. Highlights in 2023 included: the release of Payara Platform 6; support for JDK 21 and MicroProfile 6.1; and the introduction of Payara Starter. The comprehensive roadmap for 2024 includes: their vision for all Payara products through 2026; detailed individual roadmaps of Payara Server, Payara Micro, Payara Cloud and Payara Developer Tools; and support for Jakarta EE 11, scheduled for a GA release in June/July 2024. More details may be found in Empowering Enterprise Innovation with Jakarta EE, presented at the December 2023 Payara Virtual Conference by Louise Castens, Senior Product Manager at Payara, and Luqman Saeed, Contract Technical Writer at Payara.

TornadoVM

TornadoInsight, an “open-source IntelliJ IDEA plugin for enhancing the developer experience when working with TornadoVM,” was introduced by the TornadoVM team this past week. Key features include: an on-the-fly static checker that scans TornadoVM code in real-time and reports any Java features that are not supported by TornadoVM; and a dynamic testing framework to simplify the testing process for individual TornadoVM tasks. InfoQ will follow up with a more detailed news story.

Micrometer

Versions 1.12.2 and 1.11.8 of Micrometer Metrics both deliver dependency upgrades and notable bug fixes such as: add the missing version declarations in the io.netty:netty-transport-native-epoll artifact in the POM file that yielded a compile error; a rename of the thread that polls meters in the StepMeterRegistry class that shared the same name with a publishing thread; and a fix in the unaryRpcAsync() method defined in the GrpcObservationTest class for improved concurrency. Further details on these releases may be found in the release notes for version 1.12.2 and version 1.11.8.

Similarly, versions 1.2.2 and 1.1.9 of Micrometer Tracing both provide dependency upgrades and notable bug fixes such as: the SimpleTraceContextBuilder class not overriding values from an implementation of the TraceContext interface; and manually created baggage fields do not propagate across threads using the ObservationAwareSpanThreadLocalAccessor class. More details on these releases may be found in the release notes for version 1.2.2 and version 1.1.9.

Project Reactor

Project Reactor 2023.0.2, the second maintenance release, provides dependency upgrades to reactor-core 3.6.2, reactor-netty 1.1.15 and reactor-pool 1.0.5. There was also a realignment to version 2023.0.2 with the reactor-kafka 1.3.22, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. Further details on this release may be found in the changelog.

Next, Project Reactor 2022.0.15, the fifteenth maintenance release, provides dependency upgrades to reactor-core 3.5.14, reactor-netty 1.1.15 and reactor-pool 1.0.5. There was also a realignment to version 2022.0.15 with the reactor-kafka 1.3.22, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. More details on this release may be found in the changelog.

And finally, the release of Project Reactor 2020.0.40, codenamed Europium-SR40, provides dependency upgrades to reactor-core 3.4.35 and reactor-netty 1.0.41. There was also a realignment to version 2020.0.40 with the reactor-pool 0.2.12, reactor-kafka 1.3.22, reactor-addons 3.4.10, reactor-kotlin-extensions 1.1.10 and reactor-rabbitmq 1.5.6 artifacts that remain unchanged. Further details on this release may be found in the changelog.

Apache Software Foundation

Versions 11.0.0-M16, 10.1.18, 9.0.85 and 8.5.98 of Apache Tomcat all feature bug fixes and notable changes such as: refactor the VirtualThreadExecutor class so that it can be used by the NIO2 connector which was using platform threads despite having been configured to use virtual threads; correct a regression in the fix for issue 67675 that broke TLS key file parsing for format keys typically generated by OpenSSL 1.0.2 that do not specify an explicit pseudo-random function and only rely on the default; and allow multiple operations with the same name on introspected MBeans, fixing a regression caused by the introduction of a second addSslHostConfig() method. More details on these releases may be found in the release notes for version 11.0.0-M16, version 10.1.18, version 9.0.85 and version 8.5.98.

After the release of Apache Cocoon 2.3.0, the team has recently decided to retire the 2.1 and 3.0 branches of Cocoon. The 2.1 branch, initially released more than 20 years ago, is now considered obsolete. The 3.0 branch was an attempt to rewrite Cocoon from scratch, but was never finalized. Apache Cocoon, a Spring-based framework (since version 2.2), is built around the concepts of separation of concerns and component-based development.

Grails

The Grails Foundation has released versions 5.3.6 and 3.3.18 of the Grails Framework with notable changes such as: revert the recent upgrade to SnakeYAML, Micronaut, Spring and Spring Boot because they were not backward compatible; add a workflow to manually trigger a release to SDKMan; and update the NexusPublishing extension to increase the delay of retries from 2000 to 3000 milliseconds. Further details on these releases may be found in the release notes for version 5.3.6 and version 3.3.18.

Piranha Cloud

The release of Piranha 23.12.0 delivers notable changes such as: a resolution to a Windows build failure by downgrading Eclipse WaSP, the compatible implementation for Jakarta Pages and Jakarta Standard Tag Library, from version 3.2.1 to 3.2.0; a new UberPiranha class and corresponding uber module to initialize Piranha on the command line; and the ability to set a temporary directory for Piranha Uber. More details on this release may be found in their documentation and issue tracker.

OpenXava

The release of OpenXava 7.2.2 provides dependency upgrades and notable bug fixes such as: multiple @RowStyle annotations applied to the same row, but only one is considered; the @ListProperties annotation does not support several properties when used in conjunction with the @Tree or @Editor("TreeView") annotations; and database connection leaks when using the calendar list format. Further details on this release may be found in the release notes.

Gradle

The second release candidate of Gradle 8.6 provides continuous improvement in: support for custom encryption keys in the configuration cache via the GRADLE_ENCRYPTION_KEY environment variable; improvements in error and warning reporting; improvements in the Build Init Plugin to support various types of projects; and enhanced build authoring for plugin authors and build engineers to develop custom build logic. More details on this release may be found in the release notes.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: Spring Shell, Micronaut, JReleaser, JobRunr

MMS Founder
MMS Michael Redlich

This week’s Java roundup for January 1st, 2024 features news highlighting: Spring Shell, Micronaut, JReleaser, JobRunr, Sharat Chander acknowledging the 2023 accomplishments from the Java Community, and 2023 highlights from the Apache Camel projects.

JDK 23

Build 4 of the JDK 23 early-access builds was 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.

JDK 22

Build 30 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 29 that include fixes to various issues. More details on this build may be found in the release notes.

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

Spring Framework

Versions 3.2.0 and 3.1.7 of Spring Shell have been released featuring notable bug fixes such as: the ExitCodeAutoConfiguration class doesn’t map to the CommandParserExceptionsException class due to due to a change between Spring Boot 3.2.0 and 3.2.1 in its runner logic where the exception is no longer wrapped in the IllegalStateException class; and using the --file command line option after generating an application with native image, a NullPointerException is thrown due to an incomplete configuration for the reflection at runtime. Both versions also provide a dependency upgrade to Spring Boot 3.2.1 and 3.1.7, respectively. Further details on these releases may be found in the release notes for version 3.2.0 and version 3.1.7.

Micronaut

The Micronaut Foundation has released version 4.2.3 of the Micronaut Framework featuring Micronaut Core 4.2.3, bug fixes, dependency upgrades and updates to modules: Micronaut AWS and Micronaut Maven Plugin. Notable changes include: a fix to the @Generated annotation in which a class co-annotated with the @Client annotation was not being introspected; and a change in use of the TypeVariable interface to extract the type variable name, as opposed to its toString() representation, to correct its usage for the future. More details on this release may be found in the release notes.

JReleaser

Version 1.10.0 of JReleaser, a Java utility that streamlines creating project releases, has been released to deliver bug fixes, improvements in documentation and notable changes such as: auto-convert links to Markdown format; the contents of java.options in the YAML file should be honored and used as input for the $JAVA_OPTS environmental variable; and the addition of properties from other elements, like deployers and assemblers, to the generated JReleaser report of properties. Further details on this release may be found in the release notes.

JobRunr

Version 6.3.4 of JobRunr, a library for background processing in Java that is distributed and backed by persistent storage, has been released featuring notable changes such as: improved integration with Micronaut when starting multiple servers; and drop usage of a deprecated method that was removed in Quarkus 3.6 for improved compatibility with Quarkus. More details on this release may be found in the release notes.

The Java Community

At the end of 2023, Sharat Chander, Senior Director, Product Management & Developer Engagement at Oracle, posted Tis the season of…Thanks! to acknowledge the contributions by the Java community, noting:

And as year’s end approaches, I’d like to reflect on all the ongoing momentum in the developer community that continues to keep Java vibrant.

As Java technology continues to advance, it’s the people, people like you, that give it such a strong heartbeat. So, with the holiday season upon us, I’d like to give thanks, appreciation, and recognition from Oracle’s Java Developer Relations Team for many of those accomplishments and the people involved.

Highlights from 2023 included: conference milestone anniversaries of Devoxx UK (10 years), Devoxx Belgium (20 years), Devoxx Morocco (10 years) and J-Fall (20 years); 18 newly crowned Java Champions; the impact of the over 360 Java User Groups (JUGs) noting that the very first JUG, NYJavaSIG, kicked off in 1996; and the numerous contributors to the Dev.java and Duke’s Corner.

Apache Camel Projects

Claus Isben, Senior Principal Software Engineer at Red Hat and committer on Apache Camel, provided an end-of-year summary of Apache Camel projects and contributions by the Java community. Highlights included: 33 Camel Core releases; 13 Camel Quarkus releases; seven Camel K releases; 1021 GitHub contributors; 68078 total number of commits; and 12593 closed pull requests.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: GlassFish 8.0-M1, 2023 Highlights from Spring, BellSoft and WildFly

MMS Founder
MMS Michael Redlich

It was very quiet for the week of December 25th, 2023, but InfoQ found a few news items of interest that include: Eclipse GlassFish 8.0.0-M1, Apache Camel 3.22.0, Gradle 8.6-RC1, an updated draft specification for JEP 455, and retrospectives into the 2023 highlights from Spring, BellSoft and WildFly.

OpenJDK

Aggelos Biboudis, principal member of technical staff at Oracle, has published an updated draft specification for JEP 455, Primitive types in Patterns, instanceof, and switch (Preview). This JEP, under the auspices of Project Amber and currently in Candidate status, proposes to enhance pattern matching by allowing primitive type patterns in all pattern contexts, and extend instanceof and switch to work with all primitive types.

JDK 23

There was no activity in the JDK 23 early-access builds this past week. Build 3 remains the latest update. Further details on this release may be found in the release notes.

JDK 22

Similarly, there was also no activity in the JDK 22 early-access builds. The latest update remains at Build 29. More details on this build may be found in the release notes.

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

Eclipse GlassFish

The first milestone release of Eclipse GlassFish 8.0.0 delivers support for Jakarta EE 11-M1 with full implementations of the Jakarta Security 4.0.0-M1 and Jakarta Faces 4.1.0-M1 specifications, and a partial implementation of the Jakarta Servlet 6.1.0-M1 specification. JDK 17 is the required minimal version at this time, but may be updated to JDK 21 in the next milestone release. There is support for JDK 21, and the final version of GlassFish 8 is targeted to certify on JDK 21 for Jakarta EE 11. More details on this release may be found in the release notes.

GraalVM

Oracle has announced that Oracle GraalVM is now available as a Paketo buildpack. In collaboration with the Paketo team, Oracle GraalVM has been integrated into the Oracle buildpack. This allows developers to add both the Native Image and Oracle buildpacks to a buildpack configuration file for executing the application.

Apache Software Foundation

The release of Apache Camel 3.22.0 ships with bug fixes, dependency upgrade and new features/improvements such as: support for start and end dates in the Camel Quartz component; the ability to use the old Micrometer meter names or follow the new Micrometer naming conventions; and provide a tracing strategy to trace each processor for Camel OpenTelemetry as part of the migration process from Camel OpenTracing. More details on this release may be found in the release notes.

Gradle

The first release candidate of Gradle 8.6 provides: support for custom encryption keys in the configuration cache via the GRADLE_ENCRYPTION_KEY environment variable; improvements in error and warning reporting; improvements in the Build Init Plugin to support various types of projects; and enhanced build authoring for plugin authors and build engineers to develop custom build logic. More details on this release may be found in the release notes.

Spring Framework

Josh Long, Spring developer advocate at Broadcom, published This Year in Spring – 2023, a retrospective into the 2023 highlights. These include: support for Artificial Intelligence with the introduction of the Spring AI project; continued GraalVM native image support in Spring Boot 3.0+; support for virtual threads and Project Loom; support for Coordinated Restore at Checkpoint (CRaC) with the release of Spring Boot 3.2; support for Docker-driven development where Spring Boot can derive connectivity information from either a local Docker Compose description file or Testcontainers; and the release of Spring Modulith 1.0 that provides production-readiness, IDE support and improved testability.

Long also published the latest edition of his A Bootiful Podcast with Joris Kuipers, CTO at Trifork and former senior consultant at VMware. Recorded live in October 2023 from the SpringOne tour in Amsterdam, Long spoke to Kuipers about topics such as his career, the Spring ecosystem and GraalVM. They also answered questions via chat from attendees.

BellSoft

Alex Belokrylov, CEO at BellSoft, provided a retrospective into BellSoft’s 2023 highlights, noting:

This year was filled with overcoming challenges, seizing opportunities, taking part in fruitful engagements, and participating in unforgettable events.

Technical highlights included: the introduction of Alpaquita Containers; launch of the Performance Edition line with the release of Liberica JDK 11 Performance Edition; introduction of Liberica JDK with CRaC; and ongoing commitment to OpenJDK and GraalVM that includes four quarterly releases with security patches and critical fixes.

Highlights of BellSoft’s engagement with the Java community included: 30 presentations at 28 global events, such as JNation and Devoxx, by Dmitry Chuyko, performance architect at Bellsoft; and participation in the 25th anniversary celebration of the Java Community Process in New York City in September 2023.

WildFly

Brian Stansberry, senior principal software engineer at Red Hat, provided an end-of-year summary on Wildfly and the contributions by the Java community. Highlights included: three major version releases of WildFly 28, 29 and 30; new extensions for the MicroProfile Telemetry and MicroProfile Long-Running Actions specifications; implementations of most of the MicroProfile 6.0 specification, with updates to MicroProfile 6.1 in the upcoming release of WildFly 31; support for JDK 21; more than 2000 issues and enhancements resolved in the WildFly main code; and a license change of the WildFly code base to Apache License 2.0.

There was also a significant amount of work on improving documentation and tooling related to getting started with WildFly. Stansberry also announced that WildFly 31 will be released in January 2024.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: Jakarta EE 11-M1, Payara Platform, Quarkus Release Plan, Spring Releases

MMS Founder
MMS Michael Redlich

This week’s Java roundup for December 18th, 2023 features news highlighting: Jakarta EE 11-M1 and GA release plan; Payara Platform December 2023 release; point releases for Spring Boot, Spring Cloud and Spring Security; Quakrus release plan; and CVE-2023-46131, a Grails data binding vulnerability.

JDK 23

Build 3 of the JDK 23 early-access builds was made available this past week featuring updates from Build 2 that include fixes for various issues. Further details on this release may be found in the release notes.

JDK 22

Build 29 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 28 that include fixes to various issues. More details on this build may be found in the release notes.

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

JavaFX 22

Build 23 of the JavaFX early-access builds was made available featuring updates from Build 22 that include fixes to various issues.

Jakarta EE

In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, has announced that the first milestone release of Jakarta EE 11 has been made available to the Java community. The goal of this release is to verify that the build chain was well established and provide the API artifacts to all implementers of Jakarta EE. Details for each profile may be found in Jakarta EE Platform 11-M1, Jakarta EE Web Profile 11-M1 and Jakarta EE Core 11-M1.

Grimstad also provided an update on the status of plan reviews for the specifications that will provide updates for Jakarta EE 11, scheduled for a GA release in 1H2024:

  • December 2023: Milestone 1 providing milestone releases for all specifications that have planned updates for Jakarta EE 11.
  • February 2024: Milestone 2 providing final versions of specifications in waves 1 to 4 and updated milestone versions for the remaining specifications.
  • March 2024: Milestone 3 providing final versions of specifications in wave 5 and updated milestones for the remaining specifications.
  • April 2024: Milestone 4 providing final versions of specifications in waves 6 to 7.

Further details on Jakarta EE 11, including the specifications classified in each wave, may be found in the release plan.

Eclipse JNoSQL

Version 1.0.4 of Eclipse JNoSQL, the compatible implementation of the Jakarta NoSQL specification, has been released featuring: fixes for constructor and generics type handling to ensure a more seamless experience when working with Eclipse JNoSQL; enhanced handling of null values in embeddable documents; and change in the package name to avoid duplicate names in different modules. More details on this release may be found in the release notes.

Spring Framework

Versions 3.2.1 and 3.1.7 of Spring Boot deliver improvements in documentation, dependency upgrades and notable bug fixes such as: an instance of the HibernateJpaAutoConfiguration class should be applied before DataSourceTransactionManagerAutoConfiguration class because the former imports required beans; an IllegalStateException from closing a ZIP file due to the StaticResourceJars class closing JAR files from cached connections; and child contexts created with the SpringApplicationBuilder class executes the parents runners. Further details on these releases may be found in the release notes for version 3.2.1 and version 3.1.7.

Versions 6.2.1, 6.1.6 and 5.8.9 of Spring Security have been released featuring bug fixes, dependency upgrades and new features such as: document that the Shibboleth Repository is required for support of the Security Assertion Markup Language (SAML); integrate caching of the HandlerMappingIntrospector class; and a resolution to the OAuth2 Resource Server exposing server information. More details on these releases may be found in the release notes for version 6.2.1, version 6.1.6 and version 5.8.9.

Spring Cloud 2021.0.9, codenamed Jubilee, has been released providing bug fixes and upgrades to sub-projects such as: Spring Cloud Commons 3.1.8; Spring Cloud Starter Build 2021.0.9; Spring Cloud Kubernetes 2.1.9; and Spring Cloud Netflix 3.1.8. This release is based on Spring Boot 2.6.15 and is compatible with Spring Boot 2.7.18 and 3.0.13.

Versions 1.1.1 and 1.0.4 of Spring Modulith have been released to deliver bug fixes, dependency upgrades and improvements: avoid potential duplicate inclusions of the ModuleTestExecution class; and exclude Spring AOT classes from architecture verification as they might otherwise introduce dependencies to application components considered module internals. Further details on these releases may be found in the release notes for version 1.1.1 and version 1.0.4.

Versions 1.2.1, 1.1.4 and 0.4.5 of Spring Authorization Server have been released featuring bug fixes, dependency upgrades and a new feature in which the org.webjars dependencies were removed from the demo-authorizationserver sample application. More details on this release may be found in the release notes for version 1.2.1, version 1.1.4 and version 0.4.5.

The release of Spring for Apache Kafka 3.1.1 ships with bug fixes, improvements in documentation, dependency upgrades and new features such as: minor improvements to the listeners associated with the MessagingMessageListenerAdapter class; a resolution to defects in perceived counterintuitive default methods in the ConsumerFactory interface; and improvements to the DefaultKafkaHeaderMapper class to avoid any potential NullPointerException exceptions. Further details on this release may be found in the release notes.

The release of Spring for Apache Pulsar 1.0.1 provides bug fixes, improvements in documentation, dependency upgrades and improvements: a more convenient way to use the @ReactivePulsarListener annotation in streaming mode with Spring messages; support for tombstone records with the @PulsarListener annotation; and a deprecation of the (Reactive) PulsarListenerEndpointAdapter and ReactivePulsarListenerEndpointAdapter classes in favor of default methods defined in the ListenerEndpoint interface and its subinterfaces for improved custom implementations of ListenerEndpoint. More details on this release may be found in the release notes.

The release of Spring AMQP 3.1.1 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: elimination of the synchronized keyword in the BlockingQueueConsumer, RabbitTemplate and RabbitAdmin classes; and a resolution to a new ObjectMapper instance of the Jackson2JsonMessageConverter class not aware of the module supporting JSR 310, Date and Time API. Further details on this release may be found in the release notes.

Payara

Payara has released their December 2023 edition of the Payara Platform that includes Community Edition 6.2023.12 and Enterprise Edition 6.9.0. Both editions feature bug fixes, component upgrades and improvements: enhancements in the Payara Bill of Materials (BOM) for version consistency with the Payara API dependency that simplifies dependency management for developers; and publication of Docker images compatible with JDK 21 that ensures developers have access to the latest and most secure Java features. More details on these versions may be found in the release notes for Community Edition 6.2023.12 and Enterprise Edition 6.9.0.

Open Liberty

IBM has released version 24.0.0.1-beta of Open Liberty featuring support Jakarta Data 1.0-M2 specification which provides API updates to pagination and various improvements to the Javadoc and specification text. This release includes a test implementation of Jakarta Data that they use to experiment with proposed specification features so that developers can try out these features and provide feedback for the Jakarta Data 1.0 specification beyond milestone 2.

Quarkus

The release of Quarkus 3.6.4 provides resolutions to: a NullPointerException observed in edge cases during a live reload by adding null checks to the isRestartNeeded() method defined in the TimestampSet inner static class within the RuntimeUpdatesProcessor class; an incorrect error reported when the OpenAPI key is not present by adding a Vert.x NoStackTraceException class in the metrics output; and a NoClassDefFoundError from the Java SequencedCollection interface with an application targeting Java 17, built with JDK 21 and running with Java 17. Further details on this release may be found in the changelog.

With Quarkus 3.2 defined as the current LTS release, Red Hat has published their release plans for upcoming minor releases of Quarkus 3.7, 3.8 and 3.9, currently scheduled for release at the end of January, February and March 2024, respectively. JDK 17 will be the minimal JDK version starting with Quarkus 3.7 and Quarkus 3.8 will be defined as the next LTS release. More details on the upcoming release of Quarkus 3.7 may be found in this InfoQ news story.

Helidon

The release of Helidon 4.0.2 ships with notable changes such as: an update to the web server’s internal state if a listener fails to start by ensuring that calls to the isRunning() method defined in the WebServer interface must return false and the server isn’t listening for connections; a resolution to premature access to the RegistryFactory class due to the JPA CDI extension running some start-up complete code before the metrics CDI extension had a chance to prepare Helidon MP metrics; and ensure that a supplier of the WsListener interface is called exactly once per connection to resolve reuse of the supplier in request/response lifecycle. Further details on this release may be found in the release notes.

Similarly, Helidon 3.2.5 provides: dependency upgrades; fixes to some of the examples; and slight relaxation of a unit test to avoid test ordering issues. More details on this release may be found in the release notes.

Hibernate

The release of Hibernate Search 6.2.3.Final delivers notable changes such as: upgrade the -orm6 artifacts to Hibernate ORM 6.2.17.Final; compatibility with OpenSearch 2.11.0; and an adjustment to Hibernate Search’s Jandex index reading and building to work correctly with Spring Boot 3.2’s nested JARs. Further details on this release may be found in the release notes.

Grails

The Grails Foundation has provided full disclosure for CVE-2023-46131, a vulnerability in which a specially crafted Grails data binding web request can lead to a JVM crash or a denial of service. This CVE has been resolved in Grails versions 3.3.17, 4.1.3, 5.3.4 and 6.1.0.

The foundation has also released version 5.3.5 of the Grails Framework featuring: dependency upgrades; improvements to the release workflow; and change the resolve strategy from DELEGATE_FIRST to OWNER_FIRST due to the setProperty() method defined in the BeanBuilder class intercepting assignments, then discarding them if the currentBeanConfig variable is null. More details on this release may be found in the release notes.

Apache Software Foundation

The fourth alpha release of Apache Groovy 5.0.0 delivers bug fixes, dependency upgrades and new features/improvements such as: the addition of a getCodePoints() method in the StringGroovyMethods class to allow traditional Groovy conventions of using the codePoints property; a reconsideration to implement an implication operator, ==>, for scenarios where the operator aids readability or otherwise makes sense; and generation of bytecode for Groovy interfaces with default, private and static methods to replace defaults methods that are currently based on traits. Further details on this release may be found in the release notes.

Apache Groovy 4.0.17 has been released with dependency upgrades and resolutions to: a regression in version 4.0.16 related to static type checking with Groovy generics; the JsonSlurper class parsing badly format JSON files without throwing an exception; and patterns conditionally created using the pattern operator, ~, are cast to type String or GString instead of Pattern. More details on this release may be found in the release notes.

Similarly, Apache Groovy 3.0.20 has also been released providing bug fixes, dependency upgrades and improvements such as: an enhancement to the coercion and implicit cast of map literals for the @CompileStatic annotation; and a resolution to the static type checker not being able to infer List or Map types for a method return. Further details on this release may be found in the release notes.

The release of Apache Camel 4.3.0 ships with bug fixes, dependency upgrades and new features such as: a new Kamelet to support the Advanced Message Queuing Protocol; basic support for virtual threads (but doesn’t cover the replacement of synchronized blocks with reentrant locks nor the review of all thread locals); and support for start and end dates in the Camel Quartz component. More details on this release may be found in the release notes

Infinispan

The release of Infinispan 13.0.21.Final provides resolutions to: CVE-2023-4487, a process control vulnerability in which an attacker can insert malicious configuration files in the expected web server execution path to escalate privileges and gain full control of the Human Machine Interface software; CVE-2023-44487, a vulnerability in which Tomcat’s implementation of HTTP/2 was vulnerable to the rapid reset attack causing a denial of service that was typically manifested as an OutOfMemoryError; and an availability check failure with an uncaught exception from the PersistenceManager interface. Further details on this release may be found in the release notes.

Resilience4j

Version 2.2.0 of Resilience4j, a fault tolerance library for Java, has been released with bug fixes and these enhancements: support for Micronaut 4.0; and a framework agnostic bootstrapping of Resilience4j from Apache Commons configuration of properties for non-Spring Java applications. More details on Resilience4j may be found in this InfoQ news story.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.

Java News Roundup: JHipster 8.1, Piranha Cloud 23.12, Open Liberty 23.0.0.12, Tomcat Releases

MMS Founder
MMS Michael Redlich

This week’s Java roundup for December 11th, 2023 features news highlighting: OpenJDK early access releases, Open Liberty 23.0.0.12, Infinispan 15.0.0-Dev06, JHipster 8.1.0, Piranha 23.12.0, Apache Tomcat 11.0.0-M15, 10.1.17, 9.0.84 and 8.5.97 and the debut of the Payara Virtual Conference.

JDK 23

Build 2 of the JDK 23 early-access builds was made available this past week featuring updates from Build 1 that include fixes for various issues. Further details on this release may be found in the release notes.

JDK 22

Build 28 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 27 that include fixes to various issues. More details on this build may be found in the release notes.

For JDK 23 and JDK 22, developers are encouraged to report bugs via the Java Bug Database.

Spring Framework

Versions 6.1.2 and 6.0.15 of Spring Framework have been released to deliver bug fixes, improvements in documentation, dependency upgrades and new features such as: declare the isStatic() and releaseTarget() methods as default in the TargetSource interface; an improved @RegisterReflectionForBinding annotation for explicitly handling enums; and a resolution to avoid a race condition in the ConcurrentReferenceHashMap class. These versions may be consumed by the upcoming releases of Spring Boot 3.2.1 and 3.1.7, respectively. Further details on these releases may be found in the release notes for version 6.1.2 and version 6.0.15.

Versions 2023.1.1 and 2023.0.7 of Spring Data have been released providing bug fixes and respective dependency upgrades to sub-projects such as: Spring Data Commons 3.2.1 and 3.1.7; Spring Data MongoDB 4.2.1 and 4.1.7; Spring Data Elasticsearch 5.2.1 and 5.1.7; and Spring Data Neo4j 7.2.1 and 7.1.7. These versions may also be consumed by the upcoming releases of Spring Boot 3.2.1 and 3.1.7, respectively.

Open Liberty

IBM has released version 23.0.0.12 of Open Liberty featuring support for MicroProfile 6.1; updates to Liberty Maven plug-in 3.10, Liberty Gradle plug-in 3.8 and Liberty Tools 23.0.12 for Eclipse IDE, IntelliJ IDEA, and Visual Studio Code; and a resolution to CVE-2023-44487, a vulnerability in which Tomcat’s implementation of HTTP/2 was vulnerable to the rapid reset attack causing a denial of service that was typically manifested as an OutOfMemoryError.

Quarkus

The release of Quarkus 3.6.3 provides resolutions to: a regression in version 3.6.2 that yielded a NullPointerException from within the ConfigDiagnostic class; disabling of Dev Services for Keycloak leads to startup error; and a NullPointerException when Quarkus tries to match unknown configuration files. More details on this release may be found in the changelog.

Micronaut

The Micronaut Foundation has released version 4.2.2 of the Micronaut Framework featuring Micronaut Core 4.2.2 and updates to modules: Micronaut AWS and Micronaut Cache. Further details on this release may be found in the release notes.

Helidon

The release of Helidon 2.6.5 delivers: dependency upgrades, support for provider-specializing injection points in the OciExtension class; and correct errors in the documentation on how OpenAPI generator configuration settings are set. More details on this release may be found in the changelog.

Grails

The Grails Foundation has released version 6.1.1 of Grails Framework featuring big fixes, dependency upgrades and notable changes such as: resolve flaky tests by using different template names for each test; update Grails to, and make compatible with, Groovy 3.0.19; and a SnakeYAML BOM. Further details on this release may be found in the release notes.

Infinispan

The sixth development release of Infinispan 15.0.0 features notable changes such as: a reintroduction of support for JCache since its CDI aspects that depend on the javax namespace are optional making it possible to implement JCache without CDI; a resolution for the IllegalArgumentException thrown from the getMembersPhysicalAddresses() method defined in the JGroupsTransport class; and a check to ensure that the MetricsRegistry interface is enabled before trying to register metrics. More details on this release may be found in the changelog.

Micrometer

Versions 1.12.1 and 1.11.7 of Micrometer Metrics both deliver dependency upgrades and notable changes: a new ModifiedClassPathClassLoader class to synchronize with the version from Spring Boot; and a fix for duplication of publishing data if closing step registries before completion of the first step closes within one step. Further details on these releases may be found in the release notes for version 1.12.1 and version 1.11.7.

Similarly, versions 1.2.1 and 1.1.8 of Micrometer Tracing both provide dependency upgrades and a resolution to the default value of 0 returned by the getWallTime() method defined in the Event inner interface of the Observation interface causing backend failures when spans are uploaded. More details on these releases may be found in the release notes for version 1.2.1 and version 1.1.8.

Eclipse Vert.x

The release of Eclipse Vert.x 4.5.1 ships with notable changes such as: a switch from Locale.ROOT to Local.US for parsing PostgreSQL timestamps due to a change in JDK 22; a NullPointerException in the ForwardedParser class when the host header is missing for HTTP/1.1; and a new @JsonGen annotation that replaces the @DataObject annotation to trigger generation of a converter. Further details on this release may be found in the release notes and deprecations and breaking changes.

JHipster

The release of JHipster 8.1.0 features bug fixes, dependency upgrades and new features such as: use of a session endpoint metadata for OAuth logout; a refactor of the authorization header in the CustomClaimConverter class. More details on this release may be found in the release notes and this InfoQ news story on JHipster 8.0.

Project Reactor

Project Reactor 2023.0.1, the first maintenance release, provides dependency upgrades to reactor-core 3.6.1, reactor-netty 1.1.14 and reactor-pool 1.0.4. There was also a realignment to version 2023.0.1 with the reactor-kafka 1.3.22, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. More details on this release may be found in the changelog.

Similarly, Project Reactor 2022.0.14, the fourteenth maintenance release, provides dependency upgrades to reactor-core 3.5.13, reactor-netty 1.1.14 and reactor-pool 1.0.4. There was also a realignment to version 2022.0.14 with the reactor-kafka 1.3.22, reactor-addons 3.5.1 and reactor-kotlin-extensions 1.2.2 artifacts that remain unchanged. Further details on this release may be found in the changelog.

Apache Software Foundation

Versions 11.0.0-M15, 10.1.17, 9.0.84 and 8.5.97 of Apache Tomcat all feature bug fixes and notable changes such as: background processes for a container no longer execute while lifecycle operations are in progress for that container; correct unintended escaping of XML in some responses from WebDAV; use an HTTP 408 status code, Request Timeout, instead of an HTTP 400 status code, Bad Request, if a read timeout occurs during HTTP request processing. More details on these releases may be found in the changelog for version 11.0.0-M15, version 10.1.17, version 9.0.84 and version 8.5.97.

The ninth alpha release of Apache Maven 4.0.0 delivers notable changes such as: a dependency upgrade to Maven Resolver 2.0.0-alpha-3; a multithreaded map/reduce algorithm to parse the lengthy reactor models in parallel; and the @SessionScoped annotation will now create proxies to wrap beans when there’s a need to inject a bean while the session scope is not yet available. Further details on this release may be found in the release notes.

Versions 3.21.3 and 3.20.9 of Apache Camel both feature dependency upgrades and notable bug fixes such as: an OutOfMemoryError upon initiating a large file upload via multipart; the addHeaderNameMethod() method defined in the EndpointDslMojo class generates the wrong header names; and configuration of Kubernetes secrets with Apache Camel K not working as expected. More details on these releases may be found in the release notes for version 3.21.3 and version 3.20.9.

Piranha

The release of Piranha 23.12.0 delivers notable changes such as: support for CRaC in the Payara Web Profile; an update to the Docker files to JDK 21; and a dependency upgrade to Spring Boot 3.1.6. Further details on this release may be found in their documentation and issue tracker.

OpenXava

The release of OpenXava 7.2.1 provides dependency upgrades and notable bug fixes such as: a Remote Code Execution vulnerability via XSTL from dependencies; use of an @OnChange action in @Coordinates not working as intended; and the idProperties attribute defined in the @Tree annotation was ignored. More details on this release may be found in the release notes.

Payara Virtual Conference

The first-ever Payara Virtual Conference, a one-day event, was held this past week featuring talks from top industry analysts, Java Champions and Jakarta EE experts. Attendees also learned more about the Payara Platform 2024 roadmap from Steve Millidge, CEO at Payara.

Editor’s Note

Michael Redlich served as one of the speakers at the Payara Virtual Conference.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.