BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Spring Ecosystem Releases Focus on Spring Boot, Spring Session and Spring Security

Spring Ecosystem Releases Focus on Spring Boot, Spring Session and Spring Security

There was a flurry of activity in the Spring ecosystem during the week of May 20th, 2024, highlighting the GA releases of Spring Boot 3.3.0, Spring Security 6.3.0, Spring Session 3.3.0 and Spring Integration 1.3.0.

Spring Boot

The release of Spring Boot 3.3.0 delivers dependency upgrades and new features such as: improved startup times and reduced memory consumption by adding support for Class Data Sharing (CDS); virtual thread support for web sockets; and security improvements, for example, auto-configuration for the Spring Security JwtAuthenticationConverter class. More details on this release may be found in the release notes.

Versions 3.2.6 and 3.1.12 of Spring Boot have also been released, featuring improvements in documentation, dependency upgrades and resolutions to issues such as: crashes with the SpringBootMockMvcBuilderCustomizer class while collecting data that it would have normally discarded; an IllegalArgumentException upon executing an Uber JAR on a shared drive; and properties, namely the valueOf(String) method defined in the ServiceLevelObjectiveBoundary class, could not be bound to a native application as the method wasn't registered for reflection. Further details on these releases may be found in the release notes for version 3.2.6 and version 3.1.12.

Spring Framework

The third milestone release of Spring Framework 6.2.0 delivers bug fixes and new features such as: new methods, getRequest() and getResponse(), defined in the MvcTestResult interface to offer a more straightforward way to get the request and response; and support for content negotiation and view rendering in the ResponseEntityExceptionHandler class. More details on this release may be found in the release notes.

Similarly, versions 6.1.8, 6.0.21 and 5.3.36 of Spring Framework have been released featuring bug fixes, improvements in documentation and new features: avoid creation of a Java SAXParserFactory instance for every read operation in Jaxb2Marshaller class as doing so can often result in code that goes off to look for resource files, which often are not there; and suppress the deprecation warning for AOT-generated code that refers to a deprecated bean type. Versions 6.1.8 and 6.0.21 will be included in Spring Boot 3.2.6 and 3.1.12, respectively. Further details on these releases may be found in the release notes for version 6.1.8, version 6.0.21 and version 5.3.36.

Spring Cloud Data Flow

The release of Spring Cloud Data Flow 2.11.3 primarily addresses CVE-2023-51074, a vulnerability in Jayway JsonPath 2.8.0 where it was discovered to contain a stack overflow via the parse() method defined in the Criteria class. Other notable changes include: performance improvements for job executions by creating indices on batch tables; and a re-enabling of the SimpleJobServicePostgresTests class after it was discovered that the default version of PostgreSQL is 14. More details on this release may be found in the release notes.

Spring Security

The release of Spring Security 6.3.0 delivers bug fixes, dependency upgrades and new security features such as: a new CompromisedPasswordChecker interface to check if a password a user is choosing has been compromised; support for the OAuth 2.0 Token Exchange grant that may be activated by adding an instance of TokenExchangeOAuth2AuthorizedClientProvider class to an implementation of the OAuth2AuthorizedClientManager interface; and support for annotation parameters in Spring Security annotations. Further details on this release may be found in the release notes and what's new page.

Spring Authorization Server

The release of Spring Authorization Server 1.3.0 ships with dependency upgrades and new features such as: support for the aforementioned OAuth 2.0 Token Exchange grant; support for multi-tenancy using the path component for the issuer; and enable a five-minute refresh of the Nimbus JOSE + JWT JwkSet class in the X509SelfSignedCertificateVerifier class for use cases where the certificate is rotated on the client side. More details on this release may be found in the release notes.

Spring for GraphQL

The release of Spring for GraphQL 1.3.0 provides bug fixes, dependency upgrades and new features such as: support for accepting interceptors in the WebSocketGraphQlTester interface to complement that functionality in the WebSocketGraphQlClient interface; and enable the use of the Kotlin Flow interface to handle return values from annotated controller methods such as @SchemaMapping, @BatchMapping and @GraphQlExceptionHandler. Further details on this release may be found in the release notes.

Spring Session

The release of Spring Session 3.3.0 ships with bug fixes, dependency upgrades and new features such as: a new ReactiveRedisIndexedSessionRepository class to support the Redis Indexed Web Session; and a new SpringSessionBackedReactiveSessionRegistry class that implements the Spring Security ReactiveSessionRegistry interface to support its reactive concurrent session control. More details on this release may be found in the release notes.

Similarly, versions 3.2.3 and 3.1.6 of Spring Session have been released featuring many dependency upgrades and improvements in documentation that include: cautioning the use of the RedisIndexedSessionRepository class in the Redis Cluster due to memory leaks in the index causing a slowdown in performance; and JSON serialization in JDBC. Further details on these releases may be found in the release notes for version 3.2.3 and version 3.1.6.

Spring Integration

Versions 6.3.0, 6.2.5 and 6.1.9 of Spring Integration have been released ships with bug fixes, improvements in documentation, dependency upgrades and a new feature to only renew the connection to the PostgresChannelMessageTableSubscriber class when it has been invalidated. More details on these releases may be found in the release notes for version 6.3.0, version 6.2.5 and version 6.1.9.

Spring Modulith

Versions 1.2.0, 1.1.5, and 1.0.8 of Spring Modulith have been released featuring bug fixes, improvements in documentation, dependency upgrades and notable improvements such as: expose the of() method defined in the ApplicationRuntime interface to create an instance of the SpringBootApplicationRuntime class as that's often needed in integration tests for runtime and observability components; and enabling trace context propagation by registering customizers for both the SimpleAsyncTaskExecutor class (used for virtual threads) and the ThreadPoolTaskExecutor class to register an instance of the ContextPropagatingTaskDecorator class. Further details on these releases may be found in the release notes for version 1.2.0, version 1.1.5 and version 1.0.8.

Spring Batch

Versions 5.1.2 and 5.0.6 of Spring Batch have been released to deliver bug fixes, improvements in documentation, dependency upgrades and an improvement where a more detailed error message has been added to the addString() method defined in the JobParametersBuilder class providing information about when parameter may be null. More details on these releases may be found in the release notes version 5.1.2 and version 5.0.6.

Spring AMQP

Versions 3.1.5 and 3.0.14 of Spring AMQP have been released featuring dependency upgrades and mitigation of a channel leak in the CachingConnectionFactory class when a connection is closed from the broker. Further details on these releases may be found in the release notes for version 3.1.5 and version 3.0.14.

Spring for Apache Kafka

Versions 3.2.0, 3.1.5 and 3.0.17 of Spring for Apache Kafka have been released providing bug fixes, improvements in documentation, dependency upgrades and an implementation of the handleOne() method, declared in the CommonErrorHandler interface, in the CommonDelegatingErrorHandler class. More details on these releases may be found in the release notes for version 3.2.0, version 3.1.5 and version 3.0.17.

Spring for Apache Pulsar

The release of Spring for Apache Pulsar 1.1.0 ships with improvements in documentation, dependency upgrades and notable changes such as: new tests for the org.springframework.pulsar.transaction package; and a migration from the deprecated Gradle Enterprise to the Gradle Develocity plugin. Further details on this release may be found in the release notes.

Similarly, the release of Spring for Apache Pulsar 1.0.6 provides improvements in documentation, dependency upgrades and an update to SSL certifications for integration tests. More details on this release may be found in the release notes.

This Week in Spring

Further details about these and other Spring ecosystem activities may be found in the May 21, 2024 edition of This Week in Spring by Josh Long, spring developer advocate at Broadcom.

About the Author

Rate this Article

Adoption
Style

BT