Author: Michael Redlich

MMS • Michael Redlich

This week’s Java roundup for July 21st, 2025, features news highlighting: a new tool to use Quarkus MCP Client to access a secure Quarkus MCP Server from the command line; the second beta release of Groovy 5.0.0; and point releases for GraalVM Native Build Tools and JHipster Lite.
JDK 25
Build 33 of the JDK 25 early-access builds was made available this past week featuring updates from Build 32 that include fixes for various issues. Further details on this release may be found in the release notes.
JDK 26
Build 8 of the JDK 26 early-access builds was also made available this past week featuring updates from Build 7 that include fixes for various issues. More details on this release may be found in the release notes.
Jakarta EE
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE Developer Advocate at the Eclipse Foundation, provided an update on Jakarta EE 12, writing:
Jakarta EE 12 chugs along according to plan during the summer months. The first milestone will be in September. This milestone will mostly contain administrative tasks that are expected by the component specifications. Such as setting up the build environments, preparing the repositories with branches and such.
The anticipated GA release of Jakarta EE 12 is July 2026.
GraalVM
Oracle Labs has released version 0.11.0 of Native Build Tools, a GraalVM project consisting of plugins for interoperability with GraalVM Native Image. This latest release provides notable changes such as: a new Gradle DSL to experiment with layering native images; and a re-enabling of SBOM integration testing and improvements that include using regular expressions. Further details on this release may be found in the changelog.
Spring Framework
It was a busy week over at Spring as the various teams have delivered milestone releases of Spring Boot, Spring Security, Spring Authorization Server, Spring for GraphQL, Spring Session, Spring Integration, Spring REST Docs, Spring Batch, Spring AMQP, Spring for Apache Kafka, Spring for Apache Pulsar and Spring Web Services. More details may be found in this InfoQ news story.
The Spring Data team has announced that version 4.0.0-M4 of the Spring Data JDBC and Spring Data R2DBC sub-projects now support composite IDs (or composite keys) for improved mapping of an entity with an attribute for each column in the composite ID.
Quarkus
The Quarkus team has introduced a way for developers to use Quarkus MCP Client to access a secure Quarkus MCP Server from the command line. Users will be able to login to a Quarkus LangChain4j AI server application with GitHub OAuth2 access token. Developers can learn more by following this example demo on GitHub.
Groovy
The second beta release of Groovy 5.0.0 ships with bug fixes, dependency upgrades and new features: a new subList()
method, added to the DefaultGroovyMethods
class, that accepts an integer range for processing; and improvements to the named-capturing groups for regular expressions which may still be accessed by index. Further details on this release may be found in the release notes.
JHipster
The release of JHipster Lite 1.34.0 provides bug fixes, dependency upgrades and new features: a distribution of OpenRewrite upgrade recipes for instances of custom-jhlite
and generated projects when slugs are renamed; and a new SonarQube module for TypeScript that will ensure code quality.
A breaking change in this release, related to the SonarQube module, is the rename of slugs and features. More details on this release may be found in the release notes.
Spring News Roundup: Milestone Releases of Boot, Security, Auth Server, GraphQL, Kafka, Pulsar

MMS • Michael Redlich

There was a flurry of activity in the Spring ecosystem during the week of July 21st, 2025, highlighting milestone releases of Spring Boot, Spring Security, Spring Authorization Server, Spring for GraphQL, Spring Session, Spring Integration, Spring REST Docs, Spring Batch, Spring AMQP, Spring for Apache Kafka, Spring for Apache Pulsar and Spring Web Services.
Spring Boot
The first milestone release of Spring Boot 4.0.0 delivers new features such as: the ability for types annotated with @ConfigurationProperties
to refer to types that are located in a different module; and support for the new Spring Framework JmsClient
interface to complement existing support for the JmsTemplate
and JmsMessagingTemplate
classes.
A deprecation in this release is related to the constructor parameters of the OperationMethod
class. Developers are encouraged to use OperationMethod(Method, OperationType, Predicate)
instead of the original OperationMethod(Method, OperationType)
.
More details on this release may be found in the release notes.
Spring Security
The first milestone release of Spring Security 7.0.0 ships with bug fixes, dependency upgrades and new features such as: a new BearerTokenAuthenticationConverter
class, an implementation of the AuthenticationConverter
interface, that converts a request to an instance of a BearerTokenAuthenticationToken
class; and improvements to the UsernameNotFoundException
class that adds a username
property and its use in the BadCredentialsException
class.
Breaking changes in this release include the removal of deprecated elements and methods in various classes and interfaces.
Further details on this release may be found in the release notes.
Spring Authorization Server
The first milestone release of Spring Authorization Server 2.0.0 provides dependency upgrades and new features: the addition of a Gradle testRuntimeOnly
dependency for the JUnit Platform Launcher; and removal of the specific Map
from the Jackson TypeReference
class in various classes. More details on this release may be found in the release notes.
Spring for GraphQL
The first milestone release of Spring for GraphQL 2.0.0 ships with dependency upgrades and new features such as: a migration of their nullability annotations to JSpecify; and a return of Jackson serializers that allow for fields in the ArgumentValue
class to send variables in GraphQL requests. Further details on this release may be found in the release notes.
Spring Session
The first milestone release of Spring Session 4.0.0 features notable dependency upgrades to Spring Framework 7.0.0-M7, Spring Data 2025.1.0-M4 and Spring Security 7.0.0-M1. More details on this release may be found in the release notes.
Spring Integration
The first milestone release of Spring Integration 7.0.0 ships with bug fixes, improvements in documentation, dependency upgrades and new features such as: an initial migration of their nullability annotations to JSpecify; and a removal of Joda-Time support from the Jackson ObjectMapper
class. Further details on this release may be found in the release notes.
Spring Modulith
The first milestone release of Spring Modulith 2.0.0 provides bug fixes, dependency upgrades and new features/improvements such as: a restructuring of the event publication registry lifecycle related to the implementation of JDBC; and a reduction of visibility of internally used methods defined in the ApplicationModuleSource
class. More details on this release may be found in the release notes.
Spring REST Docs
The first milestone release of Spring REST Docs 4.0.0 ships with improvements in documentation, dependency upgrades and new features such as: support for nullability with JSpecify; and support for official HAL and HAL-FORMS media type in link extraction. Further details on this release may be found in the release notes.
Spring Batch
The first milestone release of Spring Batch 6.0.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features/enhancements such as: a new CommandLineJobOperator
class, a more modern replacement for the original, and now deprecated, CommandLineJobRunner
class; and an update to the MapJobRegistry
class that may now auto register jobs defined in the application context. More details on this release may be found in the release notes.
Spring AMQP
The third milestone release of Spring AMQP 4.0.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: an improved shutdown phase in the BlockingQueueConsumer
class; and a new getStreamName()
method added to the RabbitStreamTemplate
class that returns the value of the streamName
variable passed into the constructor. Further details on this release may be found in the release notes.
Spring for Apache Kafka
The third milestone release of Spring for Apache Kafka 4.0.0 provides bug fixes, improvements in documentation, dependency upgrades and new features such as: the addition of JSpecify annotations in the batch messaging classes; and a refactored StringOrBytesSerializer
class that includes the use of pattern matching to reduce the number of conditionals. This release has been integrated into Spring Boot 4.0.0-M1. More details on this release may be found in the release notes.
Spring for Apache Pulsar
The first milestone release of Spring for Apache Pulsar 2.0.0 features bug fixes, dependency upgrades and notable changes such as: upgrades to Spring Java Format 0.0.47 and the Checkstyle 10.25.0 in preparation for JSpecify; and the removal of the listenerScope
field override in the AbstractPulsarAnnotationsBeanPostProcessor
base class and corresponding derived classes. Further details on this release may be found in the release notes.
Spring Web Services
The first milestone release of Spring Web Services 5.0.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: a migration of their nullability annotations to JSpecify; and an alignment with Spring Framework 7.0.0-M7 and Spring Security 7.0.0-M1. More details on this release may be found in the release notes.
Java News Roundup: JDK 25 in RDP2, Spring Framework, Payara Platform, Open Liberty, Eclipse DataGrid

MMS • Michael Redlich

This week’s Java roundup for July 14th, 2025, features news highlighting: JDK 25 in rampdown phase 2; the seventh milestone release of Spring Framework 7.0; the July 2025 editions of the Payara Platform, Open Liberty and Oracle Critical Patch Update; and Eclipse DataGrid is open-sourced.
OpenJDK
After its review had concluded, JEP 504, Remove the Applet API, was elevated from Proposed to Target to Targeted for JDK 26. This JEP proposes to remove the Applet API, deprecated in JDK 17, due its continued obsolescence since applets are no longer supported in web browsers.
Oracle has released versions 24.0.2, 21.0.8, 17.0.16, 11.0.28, and 8u462 of the JDK as part of the quarterly Critical Patch Update Advisory for July 2025. More details on this release may be found in the release notes for version 24.0.2, version 21.0.8, version 17.0.16, version 11.0.28 and version 8u461.
JDK 25
Build 32 of the JDK 25 early-access builds was made available this past week featuring updates from Build 31 that include fixes for various issues. Further details on this release may be found in the release notes.
As per the JDK 25 release schedule, Mark Reinhold, chief architect, Java Platform Group at Oracle, formally declared that JDK 25 has entered Rampdown Phase Two. This means that: no additional JEPs will be added for JDK 25; 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 18 features for the GA release in March 2025 will include:
JDK 25 is designated to be the next long-term support (LTS) release following JDK 21, JDK 17, JDK 11 and JDK 8.
JDK 26
Build 7 of the JDK 26 early-access builds was also 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.
GraalVM
The release of GraalVM for JDK 24 Community 24.0.2 features fixes based on the Oracle Critical Patch Update for July 2025. These include: use of the DWORD
type for comparing search values in the AMD64ArrayIndexOfOp
class; and a resolution to a Java UnsatisfiedLinkError
, an error thrown if the JVM cannot find an appropriate native-language definition of a method declared as native, when using the JDK Flight Recorder. Further details on this release may be found in the release notes.
BellSoft
Concurrent with Oracle’s Critical Patch Update (CPU) for July 2025, BellSoft has released CPU patches for versions 21.0.7.0.1, 17.0.15.0.1, 11.0.27.0.1, 8u461, 7u471 and 6u471 of Liberica JDK, their downstream distribution of OpenJDK, to address this list of CVEs. In addition, Patch Set Update (PSU) versions 24.0.2, 21.0.8, 17.0.16, 11.0.28 and 8u461, containing CPU and non-critical fixes, have also been released.
Spring Framework
The seventh milestone release of Spring Framework 7.0.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: new dedicated @Retryable
, @ConcurrencyLimit
and @EnableResilientMethods
annotations as part of the new Resiliency Features; a new JmsClient
interface to provide common send and receive operations against a JMS destination; and a new HttpMessageConverters
interface to build and configure an immutable collection of HttpMessageConverter
instances for client or server usage. More details on this release may be found in the release notes.
Payara Platform
Payara has released their July 2025 edition of the Payara Platform that includes Community Edition 6.2025.7, Enterprise Edition 6.28.0 and Enterprise Edition 5.77.0. All three editions deliver: critical bug fixes, component upgrades and new features: improved Trino SQL query engine support for handling JDBC connections; and removal of the CDI Deve Mode that streamlines implementation of the Jakarta Context and Dependency Injection 4.1 specification resulting in reduced complexity and improved performance.
This edition also delivers Payara 7.2025.1.Alpha3 that advances support for Jakarta EE 11 with new features: removal of the X-Powered-By
header for improved security; and a new bundle that supports all the Jakarta EE 11 XML Schemas.
Further details on these releases may be found in the release notes for Community Edition 6.2025.7 and Enterprise Edition 6.28.0 and Enterprise Edition 5.77.0.
Open Liberty
The release of Open Liberty 25.0.0.7 features extending the scope of the maxFiles
parameter in Open Liberty’s access logging configuration that improves “log file cleanup and helps ensure that all matching log files in the output directory are considered, not just those generated by the current process.“
Helidon
The release of Helidon 4.2.4 delivers bug fixes, dependency upgrades and notable changes such as: migrate use of the deprecated GlobalConfig
class and the overloaded global()
method, defined in the Config
interface, to the get()
method defined in the Services
class; and support for Gson to complement their existing media support for Jackson, Jakarta JSON Processing and Jakarta JSON Binding. More details on this release may be found in the release notes.
Eclipse Foundation
Microstream has announced that Eclipse DataGrid, a new project introduced at JCON Europe 2025, is now available as open-source. DataGrid is a merger of EclipseStore and the MicroStream Cluster that enables in-memory searching and complex in-memory data manipulation. Developers who would like to learn more can attend the Eclipse Data Grid Introduction: In-Memory Data Processing free virtual event on Tuesday, July 22, 2025.
Micrometer
The first milestone release of Micrometer Metrics 1.16.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: a new withNoneValue()
method, defined in the KeyName
interface, to create an instance of the KeyValue
interface with no value; and the addition of new classes to support observability using Jakarta Mail that complements the existing functionality with Jakarta Messaging. Further details on this release may be found in the release notes.
The first milestone release of Micrometer Tracing 1.6.0 delivers dependency upgrades and new features such as: a migration of their nullability annotations to JSpecify; and support for extracting multiple values for a single key in the Propagator
interface for compliance with the W3C baggage specifications. More details on this release may be found in the release notes.
Project Reactor
The fifth milestone release of Project Reactor 2025.0.0 provides dependency upgrades to reactor-core 3.8.0-M5
, reactor-netty 1.3.0-M5
, reactor-pool 1.2.0-M5
, reactor-addons 3.6.0-RC3
and reactor-kotlin-extensions 1.3.0-RC2
. Further details on this release may be found in the release notes.
Similarly, Project Reactor 2024.0.8, the eighth maintenance release, provides dependency upgrades to reactor-core 3.7.8
and reactor-netty 1.2.8
. There was also a realignment to version 2024.0.8 with the reactor-pool 1.1.3
, reactor-addons 3.5.2
, reactor-kotlin-extensions 1.2.3
and reactor-kafka 1.3.23
artifacts that remain unchanged. Further details on this release may be found in the release notes.

MMS • Michael Redlich

This week’s Java roundup for July 7th, 2025, features news highlighting: the GA release of JobRunr 8.0; the second release candidate of Gradle 9.0; the fifth milestone release of Grails 7.0; point releases of Micronaut and JHipster Lite; and a CVE that affected Apache Tomcat.
OpenJDK
JEP 504, Remove the Applet API, was elevated from Candidate to Proposed to Target for JDK 26. This JEP proposes to remove the Applet API, deprecated in JDK 17, due it’s continued obsolescence since applets are no longer supported in web browsers. The review is expected to conclude on Monday, July 14, 2025.
Version 8.0.0 of the Regression Test Harness for the JDK, jtreg
, has been released and ready for integration in the JDK. The most significant change is the bundling of AsmTools 8.1 and JUnit 5.13.3. There was also a fix for the --verify-exclude
command line option that failed to abort a test run when failures were discovered. More details on this release may be found in the release notes.
JDK 25
Build 31 of the JDK 25 early-access builds was made available this past week featuring updates from Build 30 that include fixes for various issues. Further details on this release may be found in the release notes.
JDK 26
Build 6 of the JDK 26 early-access builds was also 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.
TornadoVM
The release of TornadoVM 1.1.1 ships with bug fixes and improvements such as: a refactoring of the Matrix4x4Float
class that includes changing the access specifier to public
on the get()
and set()
methods; and performance improvements in dynamic reconfiguration processing in the TornadoTaskGraph
class that stores a new execution plan and dispatches the correct execution plan depending on the input policy. Further details on this release may be found in the release notes.
JobRunr
After two beta releases and one release candidate, JobRunr 8.0.0 has been released that introduces Carbon Aware Job Processing, a new feature that optimizes the carbon footprint, that is, the lowest amount of CO2 being generated, when scheduling jobs. Other new features include: improvements in scheduling recurring jobs especially for users of Spring Boot, Quarkus and Micronaut; and a new @AsyncJob
annotation that allows for scheduling a method to be executed as a background job. More details on this release may be found in the release notes and the launch webinar. InfoQ will follow up with a more detailed news story.
Micronaut
The Micronaut Foundation has released version 4.9.1 of the Micronaut Framework, based on Micronaut Core 4.9.7, featuring bug fixes and patch updates to modules: Micronaut JAX-RS, Micronaut Data, Micronaut SQL Libraries, Micronaut AOT and Micronaut OpenAPI. Further details on this release may be found in the release notes.
Apache Software Foundation
The release of Apache Camel 4.13.0 delivers bug fixes, dependency upgrades and improvements such as: refactor the BackOffTimer
interface and BackOffTimerTask
class so that they may be more easily managed and observed; and support for the JetStream API in the Camel NATS component. More details on this release may be found in the release notes.
CVE-2025-53506, disclosed by the Apache Tomcat team, is an Uncontrolled Resource Consumption vulnerability in versions 11.0.0-M1 to 11.0.8, 10.1.0-M1 to 10.1.42 and 9.0.0.M1 to 9.0.106 if “an HTTP/2 client did not acknowledge the initial settings frame that reduces the maximum permitted concurrent streams” that may cause a denial-of-service.
JHipster
The release of JHipster Lite 1.33.0 provides bug fixes, improvements in documentation, dependency upgrades and new features such as: support for the pnpm package manager; and a change in Liquibase configuration by using properties provided by SpringBoot. This version aligns with Spring Boot 3.5.3 and Angular 19.
A breaking change in this release is the renaming of classes prepended with Npm
(such as NpmVersions
) are now prependended with Node
or NodePackages
(such as NodeVersions
and NodePackagesVersions
). Further details on this release may be found in the release notes.
Grails
The fifth milestone release of Grails 7.0.0 features bug fixes and notable changes such as: expose the Maven publication name so that it may be used in the Grails-related publication classes; and an update to Gradle dependency configurations across various modules to replace the use of implementation
scope to developmentOnly
scope for WebJar dependencies to ensure they are only included in the development environment. More details on this release may be found in the release notes.
JBang
The release of JBang 0.127.15 ships with bug fixes and new features such as: support for JEP 512, Compact Source Files and Instance Main Methods, that generates simple main()
methods when using the command, jbang init --java 25
; and the ability to copy/paste Java code into JBang that was once only possible with jshell
. There was also a fix for Windows keyboard input that didn’t work too well. Further details on this release may be found in the release notes.
Gradle
The second release candidate of Gradle 9.0.0 provides bug fixes and new features such as: a minimal JDK 17 version; the configuration cache is now enabled by default as it has been declared as the preferred mode of execution for developers; and support for Kotlin 2.1 and Groovy 4.0. More details on this release may be found in the release notes.
Java News Roundup: Spring gRPC, Micronaut, JReleaser, Tomcat, Quarkus Legacy Config Classes

MMS • Michael Redlich

This week’s Java roundup for June 30th, 2025, features news highlighting: point and maintenance releases of Spring gRPC, Micronaut, JReleaser, Quarkus and Apache Tomcat; the beta release of Open Liberty 25.0.0.7; and sunsetting of the Quarkus legacy configuration classes.
JDK 25
Build 30 of the JDK 25 early-access builds was made available this past week featuring updates from Build 29 that include fixes for various issues. More details on this release may be found in the release notes.
JDK 26
Build 5 of the JDK 26 early-access builds was also made available this past week featuring updates from Build 4 that include fixes for various issues. Further details on this release may be found in the release notes.
Spring Framework
The release of Spring gRPC 0.9.0 delivers notable changes such as: a removal of the GrpcClientFactoryCustomizer
in favor of the GrpcChannelBuilderCustomizer
interface; and the ability to to filter global interceptors and service definitions using instances of the gRPC InProcessServerBuilder
and NettyServerBuilder
classes. This release is aligned with Spring Boot 3.5.0 and the team plans a version 1.0.0 release in November 2025 in conjunction with the release of Spring Boot 4.0.0. More details on this release may be found in the what’s new page.
Micronaut
The Micronaut Foundation has released version 4.9.0 of the Micronaut Framework featuring improvements in Micronaut Core such as: a new @ClassImport
annotation that allows for importing an already compiled set of classes and processing them like a non-compiled class; a new Graceful Shutdown API that stops accepting new tasks and to allow tasks that are already in progress to finish; and an experimental mode to run virtual threads on the Netty EventLoop
interface that can lead to more “predictable performance when migrating from async code to virtual threads.” Further details on this release may be found in the release notes.
Open Liberty
The beta release of Open Liberty 25.0.0.7 features support for MicroProfile 7.1 that includes updates to the MicroProfile Telemetry and MicroProfile Open API specifications.
New features in MicroProfile Telemetry 2.1 include: a dependency upgrade to Awaitility 4.2.2 to allow for running the TCK on JDK 23; and improved metrics from ThreadCountHandler
class to ensure consistent text descriptions.
New features in MicroProfile Open API 4.1 include: the addition of a jsonSchemaDialect()
method, defined in the OpenAPI
interface, to render the jsonSchemaDialect
field; and a minor improvements to the Extensible
interface that adds the @since
tag in the JavaDoc.
Quarkus
Quarkus 3.24.2, the first maintenance release (version 3.24.0 was skipped), features notable changes such as resolutions to: a ClassNotFoundException
in native mode with custom implementations of the Hibernate ORM IdentifierGenerator
interface after upgrading to Hibernate 7.0; and a ClassCastException
from an instance of the Hibernate Reactive ReactiveEmbeddableInitializerImpl
class when using a Jakarta Persistence @EmbeddedId
annotation containing a reference to another entity. More details on this release may be found in the release notes.
The Quarkus team has also announced that they are sunsetting their legacy configuration classes as the new @ConfigMapping
infrastructure provides a unified configuration system for building applications and Quarkus extensions as well as applications. The legacy configuration classes were only limited to building Quarkus extensions. Upcoming versions of Quarkus will be phased out and remove these legacy configuration classes.
JReleaser
Version 1.19.0 of JReleaser, a Java utility that streamlines creating project releases, has been released to deliver: a new flag, yolo
, that allows JReleaser to skip a deploy or release section that may be misconfigured or has missing information as secrets or tokens; and the addition of a second stagingRepository()
method, defined in the MavenDeployer
interface, that accepts an instance of the Gradle RegularFile
interface as a parameter. Further details on this release may be found in the release notes.
Apache Software Foundation
Versions 11.0.9, 10.1.43 and 9.0.107 of Apache Tomcat (announced here, here and here, respectively) ship with notable changes such as: an increase in the default value for the maxPartCount
attribute, defined in the Connector
class, from 10 to 50 to resolve a FileCountLimitExceededException
; and various improvements to HTTP/2 that include correctly handling data frames and removal of an incorrect warning when HTTP/2 is used with optional certificate verification. More details on these releases may be found in the release notes for version 11.0.9, version 10.1.43 and version 9.0.107.
Java News Roundup: Jakarta EE 11 Released, Agent2Agent Java SDK, Kotlin, WildFly, JobRunr, Maven

MMS • Michael Redlich

This week’s Java roundup for June 23rd, 2025, features news highlighting: the GA release of Jakarta EE 11; the new Agent2Agent Java SDK introduced by Red Hat; the release of Kotlin 2.2.0; the first beta release of WildFly 37; the first release candidate of JobRunr 8.0.0; and the fourth release candidate of Maven 4.0.
JDK 25
Build 29 of the JDK 25 early-access builds was made available this past week featuring updates from Build 28 that include fixes for various issues. More details on this release may be found in the release notes.
JDK 26
Build 4 of the JDK 26 early-access builds was also made available this past week featuring updates from Build 3 that include fixes for various issues. Further details on this release may be found in the release notes.
Jakarta EE 11
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE Developer Advocate at the Eclipse Foundation, provided an update on Jakarta EE 11, writing:
Jakarta EE 11 is finally released! It took a little longer than anticipated due to the massive undertaking the refactoring of the TCK turned out to be. But, we are here now.
Eclipse GlassFish was yet again the ratifying implementation of the Jakarta EE 11 Platform and Jakarta EE 11 Web Profile specifications. The ratifying implementations for Jakarta EE 11 Core Profile, which was released at the end of last year, were WildFly and Open Liberty. Check out the rest of the Jakarta EE Compatible Products.
More details may be found in this YouTube video. InfoQ will follow up with a more detailed news story.
Spring Framework
Spring Cloud 2023.0.6, codenamed Leyton, has been released featuring bug fixes and notable updates to sub-projects: Spring Cloud Gateway 4.1.9; Spring Cloud Circuit Breaker 3.1.5; and Spring Cloud Contract 4.1.6. An important breaking change in Spring Cloud Contract is the removal of the spring-cloud-stub-runner-boot
artifact from Maven Central due to new restrictions on publishing executable JARs as they are typically not used as dependencies. Developers who need this artifact in their applications are encouraged to use the Spring Cloud Contract Docker image or build it directly from source. This release is based upon Spring Boot 3.3.13. Further details on this release may be found in the release notes.
The release of Spring for GraphQL 1.4.1 and 1.3.6 ship with bug fixes, improvements in documentation, dependency upgrades and new features such as: the addition of a toString() method in the ArgumentValue
class that returns a non-empty string representation that is suitable for debugging; and support for using the GraphQL for Java GraphqlErrorBuilder
class as parameter for error handlers with the location and path information available from its environment. More details on these releases may be found in the release notes for version 1.4.1 and version 1.3.6.
Quarkus
The release of Quarkus 3.24.0 features: the new Dev UI Assistant that allows Quarkus extensions to communicate with an assistant module; and a simple OIDC provider Health Check for all OIDC and OAuth2 providers. Notable dependency upgrades include Hibernate ORM 7.0, Hibernate Validator 9.0 and Apache Kafka Client 4.0. Further details on this release may be found in the release notes.
WildFly
The first beta release of WildFly 37 delivers bug fixes, dependency upgrades and new features such as: a new Apache ActiveMQ Artemis commit-interval attribute that scales down configuration for defining the size of a transaction when moving messages from live to backup; and an enhancement to the platform-mbean
resource that exposes new platform MXBeans, attributes and operations. More details on this release may be found in the release notes.
JobRunr
The first release candidate (RC.0) of JobRunr 8.0.0 introduces Carbon Aware Job Processing, a new feature that optimizes the carbon footprint, that is, the lowest amount of CO2 being generated, when scheduling jobs. Other new features include: a new @AsyncJob
annotation that allows for scheduling a method to be executed as a background job; and a new runStepOnce()
method added to the JobContext
class that executes a supplied task exactly once assuming it hasn’t already completed. Further details on this release may be found in the release notes.
The JobRunr team is targeting July 7, 2025 as the GA release date and has scheduled a free JobRunr 8.0 live-coding webinar for July 9, 2025.
Kotlin
The release of Kotlin 2.2.0 delivers bug fixes and notable changes such as: promoting the Guard Condition, Non-Local Break and Continue and Multi-Dollar String Interpolation features from experimental to stable; a new experimental Context Parameters feature that replaces the experimental Context Receivers feature; and enhancements to the @JsPlainObject
annotation to resolve issues that compiles broken code when inlining the suspend and non-suspend functions, and producing the wrong type when the copied property is nullable in the parent interface. More details on this release may be found in the release notes.
Developers can learn more about this new release in the livestream event scheduled for July 10, 2025 at 16:00 UTC.
Agent2Agent Java SDK
Red Hat has announced that the Quarkus and WildFly teams have collaborated with Google on launch of Agent2Agent Java SDK, a Java library that implements the Agent2Agent Protocol (A2A) for running agentic applications as A2AServers. This comes after Google has donated A2A to the Linux Foundation.
This SDK provides all the “necessary components to create agent cards, handle agent execution, and manage communication between agents” and includes a client that allows developers to interact with A2A agents using the A2A protocol.
InfoQ will follow up with a more detailed news story.
Maven
The fourth release candidate of Maven 4.0 ships with bug fixes, improvements in documentation and new features such as: a new Maven Upgrade Tool (mvnup
) that includes automatic POM discovery and support for multi-module projects; a new the new Dependency Injection mechanism that enables build extensions to provide their own custom artifact type handlers through dependency injection; and a restoration of the toString()
method to the DefaultJavaToolChain
class. Further details on this release may be found in the release notes.
Java News Roundup: MicroProfile, Open Liberty, TomEE, JobRunr, LangChain4j, Apple SwiftJava

MMS • Michael Redlich

This week’s Java roundup for June 16th, 2025, features news highlighting: point releases of MicroProfile 7.1, Apache TomEE 10.1 and LangChain4j 1.1; the June edition of Open Liberty; the second beta release of JobRunr 8.0; and Apple’s new SwiftJava utility.
JDK 25
Build 28 of the JDK 25 early-access builds was made available this past week featuring updates from Build 27 that include fixes for various issues. More details on this release may be found in the release notes.
JDK 26
Build 3 of the JDK 26 early-access builds was also 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.
Jakarta EE 11
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE Developer Advocate at the Eclipse Foundation, provided an update on Jakarta EE 11, writing:
Some of you may have noticed that the ballot for the Jakarta EE 11 Platform specification concluded this [past] week. And the even more observant may have noticed that the various artefacts are available on the website and in Maven Central.
There will be an official launch with press releases, analyst briefings, and celebrations to mark the release as officially released the upcoming week.
InfoQ will follow up with a more detailed news story.
Spring Framework
It was a busy week over at Spring as the various teams have delivered point releases of Spring Boot, Spring Security, Spring Authorization Server, Spring Session, Spring Integration, Spring Modulith, Spring REST Docs, Spring AMQP, Spring for Apache Kafka, Spring for Apache Pulsar, Spring Web Services and Spring Vault. More details may be found in this InfoQ news story.
Release trains for numerous Spring projects will also reach the end of OSS support on June 30, 2025.
MicroProfile
The MicroProfile Working Group has released version 7.1 of MicroProfile featuring updates to the MicroProfile Telemetry and MicroProfile Open API specifications.
New features in MicroProfile Telemetry 2.1 include: a dependency upgrade to Awaitility 4.2.2 to allow for running the TCK on JDK 23; and improved metrics from ThreadCountHandler
class to ensure consistent text descriptions.
New features in MicroProfile Open API 4.1 include: the addition of a jsonSchemaDialect()
method, defined in the OpenAPI
interface, to render the jsonSchemaDialect
field; and a minor improvements to the Extensible
interface that adds the @since
tag in the JavaDoc.
Open Liberty
The release of Open Liberty 25.0.0.6 features backporting compatibility of Microprofile Health 4.0 specification (mpHealth-4.0
feature) to the Java EE 7 and Java EE 8 applications; and the file-based health check mechanism as an alternative to the traditional /health
endpoints, introduced in Open Liberty 25.0.0.4-beta, has been updated to include a new server.xml
attribute, startupCheckInterval
, and a corresponding environment variable, MP_HEALTH_STARTUP_CHECK_INTERVAL
, that defaults to 100 ms if no configuration has been provided.
JobRunr
The second beta release of JobRunr 8.0.0 introduces Carbon Aware Job Processing, a new feature that optimizes the carbon footprint, that is, the lowest amount of CO2 being generated, when scheduling jobs. Other new features include: support for Kotlin serialization with a new KotlinxSerializationJsonMapper
class, an implementation of the JsonMapper
interface, for an enhanced experience when writing JobRunr applications in Kotlin; and improved synchronization with the @Recurring
annotation. Further details on this release may be found in the release notes.
LangChain4j
The formal release (along with the first release candidate and seventh beta release) of LangChain4j 1.1.0 delivers modules: langchain4j-core
; langchain4j
; langchain4j-http-client
; langchain4j-http-client-jdk
and langchain4j-open-ai
with the the remaining modules under the seventh beta release. For the first release candidate, new modules: langchain4j-anthropic
; langchain4j-azure-open-ai
; langchain4j-bedrock
; langchain4j-google-ai-gemini
; langchain4j-mistral-ai
; and langchain4j-ollama
are now available for developers to use in their applications. Version 1.2 of these new modules will be delivered in July. More details on this release may be found in the release notes.
Apple
At the recent Apple WWDC25 conference, SwiftJava, a new experimental utility providing interoperability between Java and Swift, was introduced to conference attendees. SwiftJava consists of: the Swift Package, a JavaKit containing Swift libraries and macros; a Java Library, a SwiftKit containing a Java library for Swift interoperability; and tools that include the swift-java
command line utility and support for the Swift Package Manager and Gradle build tools.
Apache Software Foundation
The release of Apache TomEE 10.1.0 delivers bug fixes, dependency upgrades and alignment with MicroProfile 6.1 along with specifications MicroProfile Config 3.1, MicroProfile Metrics 5.1 and MicroProfile Telemetry 1.1. Further details on this release may be found in the release notes.
The release of Apache Log4j 2.25.0 ships with bug fixes and notable changes such as: support for embedded GraalVM reachability metadata in all Log4j extensions for seamless generation of native images; a refactor of the Pattern Layout API that resolves bugs and ensures consistent behavior across all exception converters; and an updated JMS Appender utility now supports the Jakarta Messaging specification. More details on this release may be found in the release notes.
Gradle
The first release candidate of Gradle 9.0.0 provides bug fixes and new features such as: a minimal JDK 17 version; the configuration cache is now enabled by default as it has been declared as the preferred mode of execution for developers; and support for Kotlin 2.1 and Groovy 4.0. Further details on this release may be found in the release notes.

MMS • Michael Redlich

There was a flurry of activity in the Spring ecosystem during the week of June 16th, 2025, highlighting: the first milestone release of Spring Vault 4.0; and point releases of of Spring Boot, Spring Security, Spring Authorization Server, Spring Session, Spring Integration, Spring Modulith, Spring REST Docs, Spring AMQP, Spring for Apache Kafka, Spring for Apache Pulsar and Spring Web Services.
Release trains for numerous Spring projects will also reach the end of OSS support on June 30, 2025.
Spring Boot
Versions 3.5.1, 3.4.7 and 3.3.13 of Spring Boot (announced here, here and here, respectively) all deliver bug fixes, improvements in documentation and dependency upgrades. New features include: the ability to customize instances of the ConfigData.Options
class that are set on the ConfigDataEnvironmentContributors
class; and an upgrade to Apache Tomcat 10.1.42 which has introduced limits for part count and header size in multipart/form-data
requests. These limits can be customized using the server.tomcat.max-part-count
and server.tomcat.max-part-header-size
properties, respectively.
Versions 3.5.3 and 3.5.2 (announced here and here) were unscheduled releases to address a difficult regression that was inadvertently introduced in version 3.5.1.
More details on these releases may be found in the release notes for version 3.5.3, version 3.5.2, version 3.5.1, version 3.4.7 and version 3.3.13.
Spring Security
Spring Security 6.5.1, 6.4.7 and 6.3.10 all deliver bug fixes, dependency upgrades and new features such as: a new migration guide that describes the transition from the now defunct Spring Security SAML Extension to built-in support for SAML 2.0; and support for the AsciiDoc include-code extension. Further details on these releases may be found in the release notes for version 6.5.1, version 6.4.7 and version 6.3.10.
Spring Authorization Server
The release of Spring Authorization Server 1.5.1, 1.4.4 and 1.3.7 all ship with bug fixes, dependency upgrades and a new feature that improves logging from the doFilterInternal()
method, defined in the OAuth2ClientAuthenticationFilter
class, to report on issues with client credentials. More details on these releases may be found in the release notes for version 1.5.1, version 1.4.4 and version 1.3.7.
Spring Session
Spring Session 3.5.1 and 3.4.4 provide dependency upgrades and a resolution to a ClassCastException
due to a race condition from integration tests that use the Redis SessionEventRegistry
class as it assumes there is only one event type for each session ID. Further details on these releases may be found in the release notes for version 3.5.1 and version 3.4.4.
Spring Integration
Spring Integration 6.3.11 ships with dependency upgrades and a resolution to a NullPointerException
from the private obtainFolderInstance()
method, defined in the AbstractMailReceiver
class, to use the getDefaultFolder()
method from the Jakarta Mail Store
class if the URL is not provided or null
. More details on this release may be found in the release notes.
Spring Modulith
Spring Modulith 1.4.1 and 1.3.7 provide bug fixes, dependency upgrades and improvements: the addition of missing reflection metadata in the JSONPath lookup for application module identifiers when converting to native image with GraalVM; and a resolution to prevent application module misconfiguration from the getModuleForPackage()
method, defined in the ApplicationModules
class, depending on the order of values stored in an instance of the Java Map
interface that may return invalid additional packages. Further details on these releases may be found in the release notes for version 1.4.1 and version 1.3.7.
Spring REST Docs
Spring REST Docs 3.0.4 ships with improvements in documentation and notable changes: support for the Spring Framework 6.2 release train as default version due to the Spring Framework 6.1 release train reaching end of OSS support on June 30, 2025; and a workaround to resolve a breaking change with asciidoctor-maven-plugin
3.1.0 that no longer uses relative paths to build documentation. More details on this release may be found in the release notes.
Spring AMQP
Spring AMQP 3.1.12 provides dependency upgrades and resolutions to issue such as: removal of the cancelled()
method from the logic within the commitIfNecessary()
method, defined in the BlockingQueueConsumer
class that had been causing anomalies in the shutdown process; and an instance of the default Spring Framework ThreadPoolTaskScheduler
class created in the doInitialize()
method, defined in the DirectMessageListenerContainer
class, does not properly shut down when the container is destroyed. Further details on this release may be found in the release notes.
Spring for Apache Kafka
The release of Spring for Apache Kafka 3.3.7 and 3.2.10 delivers bug fixes, dependency upgrades and one new feature that now propagates the trace context when asynchronously handling Kafka message failures. More details on these releases may be found in the release notes for version 3.3.7 and version 3.2.10.
Spring for Apache Pulsar
Spring for Apache Pulsar 1.2.7 and 1.1.13 ship with improvements in documentation and notable respective dependency upgrades such as: Spring Framework 6.2.8 and 6.1.21; Project Reactor 2024.0.7 and 2023.0.19; and Micrometer 1.14.8 and 1.13.15. Further details on these releases may be found in the release notes for verizon 1.2.7 and version 1.1.3.
Spring Web Services
The release of Spring Web Services 4.0.15 features dependency upgrades and a resolution to the SimpleXsdSchema
class that references an instance of the Java Element
interface, which is not thread safe, that has caused issues when multiple clients have simultaneously requested the schema file. More details on this release may be found in the release notes.
Spring Vault
The first milestone release of Spring Vault 4.0.0 features: an alignment with Spring Framework 7.0; support for JSpecify for improved null safety; and a new ClientConfiguration
class that adds support for Reactor, Jetty and JDK HTTP implementations of the SpringFramework ClientHttpRequestFactory
interface. Further details on this release may be found in the release notes.
End of OSS Support
Release trains for all of these Spring projects (plus Spring Framework), with links to their respective timelines, will reach end of OSS support on June 30, 2025:
End of enterprise support for all of these projects will reach end of life on June 30, 2026.
Java News Roundup: Spring Milestone, Payara Platform, Jakarta EE 11 Update, Apache Fory

MMS • Michael Redlich

This week’s Java roundup for June 9th, 2025, features news highlighting: the sixth milestone release of Spring Framework 7.0; the June 2025 edition of Payara Platform; point releases of Apache Tomcat, Micrometer, Project Reactor and Micronaut; Jakarta EE 11 Platform on the verge of a GA release; and Apache Fury renamed to Apache Fory.
JDK 25
Build 27 of the JDK 25 early-access builds was made available this past week featuring updates from Build 26 that include fixes for various issues. More details on this release may be found in the release notes.
JDK 26
Build 2 of the JDK 26 early-access builds was also 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.
Jakarta EE
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, provided an update on Jakarta EE 11 and Jakarta EE 12, writing:
We’re finally there! The release review for the Jakarta EE 11 Platform specification is ongoing. All the members of the Jakarta EE Specification Committee have voted, so as soon as the minimum duration of 7 days is over, the release of the specification will be approved. Public announcements and celebrations will follow in the weeks to come.
With Jakarta EE 11 out the door, the Jakarta EE Platform project can focus entirely on Jakarta EE 12. A project Milestone 0 is being planned as we speak. One of the activities of that milestone will be to get all CI Jobs and configurations set up for the new way of releasing to Maven Central due to the end-of-life of OSSRH. There will be a new release of the EE4J Parent POM to support this.
The road to Jakarta EE 11 included five milestone releases, the release of the Core Profile in December 2024, the release of Web Profile in April 2025, and a first release candidate of the Platform before its anticipated GA release in June 2025.
Spring Framework
The sixth milestone release of Spring Framework 7.0.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: initial support for the Spring Retry project; and a new getObjectMapper()
method, defined in the JacksonJsonMessageConverter
class, due to now-deprecated MappingJackson2MessageConverter
class that had the same method that offered the same functionality. More details on this release may be found in the release notes.
The release of Spring Framework 6.2.8 and 6.1.2 primarily provides a resolution for CVE-2025-41234, RFD Attack via “Content-Disposition” Header Sourced from Request, where an application is vulnerable to a Reflected File Download attack when a Content-Disposition
header is set with a non-ASCII character set, where the filename attribute is derived from user-supplied input. Further details on these releases may be found in the release notes for version 6.2.8 and version 6.1.21.
Payara Platform
Payara has released their June 2025 edition of the Payara Platform that includes Community Edition 6.2025.6, Enterprise Edition 6.27.0 and Enterprise Edition 5.76.0. All three releases deliver: improved deployment times using a new /lib/warlibs
directory that allows shared libraries to be placed outside individual application packages; and support for bean validation in MicroProfile OpenAPI 3.1.
This edition also delivers Payara 7.2025.1.Alpha2 that advances support for Jakarta EE 11 that includes updates to Eclipse Expressly 6.0.0, Eclipse Soteria 4.0.1 and Eclipse Krazo 3.0, compatible implementations of the Jakarta Expression Language 6.0, Jakarta Security 4.0 and Jakarta MVC 3.0 specifications, respectively.
More details on these releases may be found in the release notes for Community Edition 6.2025.6 and Enterprise Edition 6.27.0 and Enterprise Edition 5.76.0.
Micronaut
The Micronaut Foundation has released version 4.8.3 of the Micronaut Framework, based on Micronaut Core 4.8.18, featuring bug fixes and patch updates to modules: Micronaut Security, Micronaut Serialization, Micronaut Oracle Cloud, Micronaut SourceGen, Micronaut for Spring, Micronaut Data, Micronaut Micrometer and Micronaut Coherence. Further details on this release may be found in the release notes.
Micrometer
Version 1.15.1, 1.14.8 and 1.13.15 of Micrometer Metrics provides dependency upgrades and resolutions to notable issues such as: a ConcurrentModificationException
from the IndexProviderFactory
class using a HashMap
, which is not thread safe, upon building an instance of the DistributionSummary
interface. More details on these releases may be found in the release notes for version 1.15.1, version 1.14.8 and version 1.13.15.
Versions 1.5.1, 1.4.7 and 1.3.13 of Micrometer Tracing ships with: dependency upgrades to Micrometer Metrics 1.15.1, 1.14.8 and 1.13.15, respectively, and a resolution to the append(Context context, Map baggage)
method, defined in the ReactorBaggage
class, that adds new baggage values to an existing instance of the Project Reactor Context
interface, unintentionally overwrites any conflicting keys with the existing values of the baggage
parameter, not the newly provided ones. Further details on these releases may be found in the release notes for version 1.5.1, version 1.4.7 and version 1.3.13.
Project Reactor
The fourth milestone release of Project Reactor 2025.0.0 provides dependency upgrades to reactor-core 3.8.0-M4
, reactor-netty 1.3.0-M4
, reactor-pool 1.2.0-M4
. There was also a realignment to version 2025.0.0-M4 with the reactor-addons 3.5.2
and reactor-kotlin-extensions 1.2.3
artifacts that remain unchanged. With this release, Reactor Kafka is no longer part of the Project Reactor BOM as Reactor Kafka was discontinued in May 2025. More details on this release may be found in the release notes.
Similarly, Project Reactor 2024.0.7, the seventh maintenance release, provides dependency upgrades to reactor-core 3.7.7
, reactor-netty 1.2.7
and reactor-pool 1.1.3
. There was also a realignment to version 2024.0.7 with the reactor-addons 3.5.2
, reactor-kotlin-extensions 1.2.3
and reactor-kafka 1.3.23
artifacts that remain unchanged. Further details on this release may be found in the release notes.
And finally, Project Reactor 2023.0.19, the nineteenth maintenance release, provides dependency upgrades to reactor-core 3.6.18
, reactor-netty 1.1.31
and reactor-pool 1.0.11
. There was also a realignment to version 2023.0.19 with the reactor-addons 3.5.2
, reactor-kotlin-extensions 1.2.3
and reactor-kafka 1.3.23
artifacts that remain unchanged. This is the last release in the 2023.0.x release train as it is being removed from OSS support. More details on this release may be found in the release notes and their support policy.
Apache Software Foundation
Versions 11.0.8, 10.1.42 and 9.0.106 of Apache Tomcat (announced here, here and here, respectively) ship with bug fixes and improvements such as: two new attributes, maxPartCount
and maxPartHeaderSize
, added to the Connector
class to provide finer-grained control of multi-part request processing; and a refactor of the TaskQueue
class that implements the new RetryableQueue
interface for improved integration of custom instances of the Java Executor
interface which provide their own implementation of the Java BlockingQueue
interface. Further details on these releases may be found in the release notes for version 11.0.8, version 10.1.42 and version 9.0.16.
The Apache Software Foundation (ASF) has announced that their polyglot serialization framework, formerly known as Apache Fury, has been renamed to Apache Fory to resolve naming conflicts identified by the ASF Brand Management. The team decided on the new name, Fory, to preserve phonetic similarity to Fury “while establishing a distinct identity aligned with ASF standards.“

MMS • Michael Redlich

Thirty years ago, on May 23rd, 1995, at the Sun World conference in San Francisco, California, Sun Microsystems formally introduced the Java programming language.
Based on C++, Sun characterized Java as a:
Simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multithreaded dynamic language.
James Gosling, the father of Java, had a more succinct definition:
Java is C++ without guns, knives, and clubs.
Originally named Oak (reportedly due to the oak tree outside Gosling’s office window), the creation of Java dates back to December 1990 as part of Sun’s Green Project. Gosling, Patrick Naughton and Mike Sheridan wanted a language for consumer applications with requirements that it be architecture agnostic and object-oriented. In September 1992, they introduced Star7, a personal digital assistant that included a TV remote control and TV guide, among other features, that was operated through a user interface on a 5-inch screen.
Duke, the official Java mascot, was also introduced as “the embodiment of the ‘agent’” in the Star7 user interface. Created and drawn by Joe Palrang, then with Sun Microsystems, Duke was characterized as a “friendly guy that followed you around and could help you out.“
From applets to generics to lambdas to var
to records and sealed classes to virtual threads; from Java EE to Jakarta EE; and from an average three year release cycle to one that is every six months, Java has significantly grown over these past 30 years having survived some low points in its history that included the reputation of the language of being “slow” and many developers having considered the language as “dead.”
Oracle’s latest initiative is based on a September 2022 blog post, Paving the on-ramp, by Brian Goetz, Java Language Architect at Oracle. After four rounds of preview, JEP 512: Compact Source Files and Instance Main Methods, finalizes this feature that aims to “evolve the Java language so that students can write their first programs without needing to understand language features designed for large programs.” More details on this feature may be found in this specification document by Gavin Bierman, Consulting Member of Technical Staff at Oracle.
Oracle marked this milestone with its 30th Birthday Event, hosted by Java Developer Advocates, Ana-Maria Mihalceanu, Billy Korando and Nicolai Parlog, along with Sharat Chander, Senior Director of Product Management and Developer Engagement at Oracle. This special six-hour event featured a variety of guests discussing a range of topics.
Oracle luminaries, Mark Reinhold, Chief Architect, Java Platform Group, Goetz, Bierman, Georges Saab, Senior Vice President, Software Development, Java Platform Group, and Stuart Marks, Consulting Member of Technical Staff (AKA Dr. Deprecator), discussed: the stewardship of Java; paving the on-ramp and lambdas; a Java language update; growing the language; and Java Collections, respectively.
Community advocates and activists, Bruno Souza, the Brazilian Java Man, Mohammed Aboullaite, Senior Backend Engineer at Spotify, and Laurentiu Spilca, Principal Development Consultant at Endava, discussed: the developer impact in the Java community; community outreach in Africa and the Middle East; and outreach to beginners through non-english content, respectively.
JetBrains Developer Advocates, Mala Gupta and Marit van Dijk, provided numerous IntelliJ IDEA tips and tricks that included how to use Junie, the IntelliJ IDEA coding assistant.
Heather Stephens, Head of Java in Education at Oracle, interviewed Sandy Czajka, Math and Computer Science Teacher at Riverside Brookfield High School in Illinois, on teaching Java at the high school level. Stephens later interviewed three students representing Stanford University, the University of Washington and the University of California, Berkeley, with their thoughts on Java.
Venkat Subramanian, President at Agile Developer, Inc., presented “The Hidden Innovations of Java,” which included topics such as invokedynamic
, one of the five method invocation opcodes; lazy evaluations in streams; and smart indentation related to here documents, also known as heredocs.
Korando interviewed Gosling, who provided his own retrospective on creating Java and its current state.
Will Java be with us in another 30 years? Today’s young Java developers will likely be able to see if that comes true. However, with a vibrant Java community that has a passion for the language, Java may celebrate its 60th birthday in 2055.