There was a flurry of activity in the Spring ecosystem during the week of September 16th, 2024, highlighting point and milestone releases of: Spring Boot, Spring Security, Spring Authorization Server, Spring Integration, Spring Modulith, Spring Batch, Spring AMQP and Spring for Apache Pulsar.
Spring Boot
The third milestone release of Spring Boot 3.4.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: the addition of the Graylog Extended Log Format (GELF) for structured logging built-in to Spring Boot; and improvements in the use of the @AutoConfigureTestDatabase
annotation that now attempts to detect if a database has been sourced from a container that eliminates the need to add the replace=Replace.NONE
parameter. More details on this release may be found in the release notes.
Similarly, versions 3.3.4 and 3.2.10 of Spring Boot provide improvements in documentation, dependency upgrades and resolutions to issues such as: a FileNotFoundException
with configuring the application.yml
file to not load SSL bundles; and an IllegalStateException
with the message "Recursive update" when container beans are annotated with @RestartScope
. Further details on these releases may be found in the release notes for version 3.3.4 and version 3.2.10.
Spring Cloud Data Flow
Spring Cloud Dataflow 2.11.5 has been released featuring dependency upgrades and resolutions to notable issues such as: the tablePrefix
property not properly resolved in the Composed Task Runner due to relaxed case sensitivity of the property name; and the addition of verifying the /tasks/thinexecutions
endpoint in the DataflowOAuthIT
class. More details on this release may be found in the release notes.
Spring Security
The fourth milestone release of Spring Security 6.4.0 delivers bug fixes, dependency upgrades and new features such as: deprecate use of the default OAuth2AccessTokenResponseClient
interface in favor of the clients based on the Spring Framework RestClient
interface for improved protection of resources; and the ability to configure the OidcSessionRegistry
interface in Kotlin. Further details on this release may be found in the release notes.
Spring Authorization Server
The second milestone release of Spring Authorization Server 1.4.0 provides dependency upgrades and new features: a new convenience method, invalidate()
, added to the OAuth2Authorization.Builder
class to invalidate an OAuth2 token if necessary; and a new guide that demonstrates how to implement the RegisteredClientRepository
, OAuth2AuthorizationService
and OAuth2AuthorizationConsentService
interfaces using a JSON-backed data store. More details on this release may be found in the release notes.
Spring Integration
The third milestone release of Spring Integration 6.4.0 ships with bug fixes, improvements in documentation, dependency upgrades and new features such as: first class support to register the new Spring Expression Language IndexAccessor
interface, introduced in Spring Framework 6.2.0, that aligns with the ability to register an instance of the PropertyAccessor
interface; and a new JsonIndexAccessor
class that implements the IndexAccessor
interface. Further details on this release may be found in the release notes and what's new page.
Spring Modulith
The third milestone release of Spring Modulith 1.3.0 delivers bug fixes, dependency upgrades and new features such as support for: Microsoft SQL Server in the JDBC event publication registry; and the ability to contribute application modules from other packages and external JARs. More details on this release may be found in the release notes.
Similarly, versions 1.2.4 and 1.1.9 of Spring Modulith provide bug fixes, dependency upgrades and notable resolutions to issues: the wrong assert message from the HourHasPassed
class; and an invalid package reference defined in the JacksonEventSerializer
class. Further details on these releases may be found in the release notes for version 1.2.4 and version 1.1.9.
Spring Batch
The first milestone release of Spring Batch 5.2.0 ships with bug fixes, improvements in documentation, dependency upgrades and new features such as: support to configure an instance of the Spring Framework DataClassRowMapper
classes with the JdbcCursorItemReaderBuilder
and JdbcPagingItemReaderBuilder
classes; and encourage the use of the JobRegistrySmartInitializingSingleton
class over the JobRegistryBeanPostProcessor
class that allows developers to configure their own application context and a mechanism to automatically register job beans with the job registry. More details on this release may be found in the release notes.
Spring AMQP
The third milestone release of Spring AMQP 3.2.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features: improvements to numerous classes by applying pattern matching where necessary; the addition of fields, exchange
and routingKey
, to the RabbitMessageSenderContext
class for improved compliance with the OpenTelemetry specification; and the ability to use the checkAfterCompletion()
method, defined in the ConnectionFactoryUtils
class, with the SimpleMessageListenerContainer
class to verify that a RabbitMQ transaction has committed. Further details on this release may be found in the release notes.
Spring for Apache Pulsar
The second milestone release of Spring for Apache Pulsar 1.2.0 provides bug fixes, improvements in documentation, dependency upgrades and new features such as: a Message Container Startup Policy that allows developers to configure the message listener container startup failure policy with a new StartupFailurePolicy
enum class that defines actions to stop, continue or retry a failed startup; and improvements to the @PulsarListener
annotation to avoid recovering from exclusive consumer exceptions. More details on this release may be found in the release notes.
Similarly, versions 1.1.4 and 1.0.10 of Spring for Apache Pulsar have been released featuring dependency upgrades such as Spring Framework 6.1.13; Project Reactor 2023.0.10; Micrometer Metrics 1.13.4; and Micrometer Tracing 1.3.4. Further details on these releases may be found in the release notes for version 1.1.4 and version 1.0.10.