BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Spring News Roundup: Milestone Releases of Boot, Framework, Data, Security, Integration, Modulith

Spring News Roundup: Milestone Releases of Boot, Framework, Data, Security, Integration, Modulith

Listen to this article -  0:00

There was a flurry of activity in the Spring ecosystem during the week of January 20th, 2025, highlighting milestone releases of: Spring Boot, Spring Framework, Spring Data, Spring Security, Spring Integration and Spring Modulith.

The Spring team has also announced that they will begin releasing milestones and release candidates of Spring projects, with GA releases planned for November 2025, to Maven Central.

Spring Boot

The first milestone release of Spring Boot 3.5.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: support for the Spring Framework TaskDecorator interface for scheduled tasks; and support for the Vibur DBCP connection pool to the DataSourceBuilder class. More details on this release may be found in the release notes.

Versions 3.4.2 and 3.3.8 of Spring Boot (announced here and here, respectively) ship with improvements in documentation, dependency upgrades and resolutions to notable issues such as: a NullPointerException from an instance of the GraylogExtendedLogFormatProperties class when only the logging.structured.gelf.host property is specified; and the addition of handling the TypeNotPresentException from the BindableRuntimeHintsRegistrar class. Further details on these releases may be found in the release notes for version 3.4.2 and version 3.3.8.

Spring Framework

The first milestone release of Spring Framework 7.0.0 ships with improvements in documentation, dependency upgrades and new features such as: a redefinition and optimization of the KotlinDetector class that includes removal of methods that are no longer useful; and allow for multiple executions of the ClientHttpRequestInterceptor interface. This release also provides an initial null safety strategy with JSpecify by refining over a dozen modules and retiring the annotations defined in the org.springframework.lang package. More details on this release may be found in the release notes.

Spring Data

The first milestone release of Spring Data 2025.1.0 features: baseline minimal requirements to the upcoming GA releases of Jakarta EE 11 (featuring Hibernate ORM 7.0 and Hibernate Validator 9.0 as compatible implementations) and Kotlin 2.x; and a major revision of Spring Data JPA that includes the use of the Java Persistence Query Language (JPQL) for derived queries. The Spring data team anticipates a GA release in November 2025. Further details on this release may be found in the release notes.

Spring Security

The first milestone release of Spring Security 6.5.0 provides bug fixes, dependency upgrades and new features such as: Support for Expression Templates by adding the @AuthenticationPrincipal and @CurrentSecurityContext annotations; and the addition of an inner class, ClientSettings, defined in the ClientRegistration class, that provides a boolean field, requireProofKey, for use in enabling Proof Key for Code Exchange (PKCE). More details on this release may be found in the release notes.

Spring Integration

The first milestone release of Spring Integration 6.5.0 delivers one bug fix, dependency upgrades and new features such as: the addition of a locking strategy to the AbstractMessageGroupStore class; and an optional flag added to the discardChannel element, defined in the @Aggregator annotation, to discard a whole group a messages instead of individual ones. Further details on this release may be found in the release notes and what's new page.

Spring Modulith

The first milestone release of Spring Modulith 1.4.0 delivers bug fixes, dependency upgrades and new features such as: a new DefaultModulithObservationConvention class to support the Micrometer Observation API; and a new strategy to programmatically detect instances of the NamedInterface class. More details on this release may be found in the release notes.

Versions 1.3.2 and 1.2.8 of Spring Modulith have also been released featuring dependency upgrades to Spring Boot 3.4.2 and 3.3.8, respectively and resolutions to issues: a BeanCreationException due to an error in creating bean with the name, repositoryEntityController, from an instance of the RepositoryEntityController class; and an IllegalArgumentException in generation of AsciiDoc for the Spring Framework @EventListener annotation without parameters. Further details on these releases may be found in the release notes for version 1.3.2 and version 1.2.8.

Spring AI

The Spring AI MCP team has released version 0.6.0 to provide new features such as: a new protocol version negotiation between MCP client and server; and configurable SSE endpoints that includes backward compatibility with default /sse endpoint. Deprecations in this release include: the using(ClientMcpTransport) method, defined in the McpClient interface, in favor of methods, sync(ClientMcpTransport) and async(ClientMcpTransport); the Builder inner class, also defined in the McpClient interface, in favor of new builder patterns; and the constructor with non-reactive types, defined in the McpAsyncClient class. More details on this release may be found in the release notes.

Spring AMQP

The release of Spring AMQP 3.2.2 provides two bug fixes, dependency upgrades and one new feature that resolves a deprecation warning in the RestTemplateNodeLocator class by removing what the team characterized as a "bogus" non-public RestTemplateHolder class that was accidentally exposed by the public RestTemplateNodeLocator. The logic for this class was also restructured to directly expose an instance of the Spring Framework RestTemplate class. 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.2 provides improvements in documentation, dependency upgrades and resolutions to issues such as: a memory leak from the metric, spring.kafka.listener.active, due to an increasing number of active tasks from instances of the Micrometer DefaultLongTaskTimer class on a Kafka observation, that are never garbage collected; and exceptions due to the observation scope from an instance of the KafkaMessageListenerContainer class not being closed in the catch clause of an exception handler.

The team has announced that development of Apache Kafka 4.0.0 will soon be underway. It will be built upon upcoming releases of Kafka Client 4.0.0 and Spring Framework 7.0.0, and be compatible with Spring Boot 4.0.0. More details on this release may be found in the release notes.

Spring for Apache Pulsar

Versions 1.2.2 and 1.1.8 of Spring for Apache Pulsar have been released featuring improvements in documentation, dependency upgrades and resolution to a PulsarBatchListenerFailedException when a listener consumes the same message after it is sent to the Dead Letter Topic (DLT) topic. These versions are included in Spring Boot 3.4.2 and 3.3.8, respectively. Further details on these releases may be found in the release notes for version 1.2.2 and version 1.1.8.

About the Author

Rate this Article

Adoption
Style

BT