5.3.39

Latest release in branch 5.3 (LTS)
Released 1 year ago (August 14, 2024)

Software Spring Framework
Branch 5.3 (LTS)
End of OSS support June 30, 2023
End of commercial support June 30, 2029
First official release version 5.3.0
First official release date 5 years ago (October 27, 2020)
Supported
Java versions
Java 8+,
Java EE 8 (javax.* namespace)

Spring Framework 5.3 Release Notes

Spring Framework 5.3 introduces significant improvements in logging infrastructure, functional bean registration, and enhanced support for Java 14+ features while maintaining compatibility with Java 8 as the baseline. This version aligns with Spring Boot 2.4 and provides better performance, observability, and developer experience through refined APIs and reduced boilerplate.

Spring Framework 5.3 is fully backward compatible with 5.2 applications and emphasizes modern Java constructs, AOT processing readiness, and structured logging for cloud-native environments.

Unified Logging with Commons Logging Bridge

Introduced spring-jcl as the default Commons Logging bridge, automatically redirecting all logging to SLF4J. This eliminates the need for explicit Log4j2 or JUL bridges in most cases.

Applications using Log4j2 or java.util.logging now route through SLF4J without additional configuration, simplifying dependency management and log correlation.

Functional Bean Registration

New GenericApplicationContext API allows programmatic bean registration using lambdas:

context.registerBean(MyService.class, () -> new MyService(beanA, beanB));

This reduces the need for @Configuration classes in test setups and dynamic environments, promoting functional-style configuration.

Java 14+ Language Feature Support

Full support for records, text blocks, and pattern matching in @Bean methods and SpEL expressions. The framework compiles with --enable-preview when targeting Java 14+.

Enhanced type inference in generic method resolution improves usability with modern Java syntax.

AOT Processing Readiness

Improved runtime hints for GraalVM native images via RuntimeHints API. Reflection, resources, and serialization metadata are now auto-detected more accurately.

This lays the foundation for native compilation in Spring Boot 3.0+, reducing manual hint configuration.

R2DBC and Reactive Enhancements

Refined DatabaseClient with better binding support for complex types. Reactive transaction management now supports nested transactions via ConnectionFactory.

WebFlux gains improved CORS handling and virtual thread readiness for Java 21.

Performance Optimizations

Bean definition parsing is 15% faster due to reduced reflection overhead. CGLIB proxy generation uses varhandles on Java 11+ for better performance.

SpEL compilation cache is more aggressive, improving expression evaluation in high-throughput scenarios.

Testing Improvements

@SpringBootTest supports webEnvironment = RANDOM_PORT with embedded Netty. @MockBean now works with final classes on Java 17+ using mockito-inline.

Enhanced TestContext bootstrap for faster test startup.

Dependency Upgrades

Dependency Version
Jakarta EE8
Micrometer1.6
Reactor2020.0
Jackson2.12
Hibernate5.5

Deprecations

Deprecated WebMvcConfigurerAdapter; implement WebMvcConfigurer directly. XML-based AOP config encouraged to migrate to @EnableAspectJAutoProxy.

Legacy Log4jConfigurer removed in favor of spring-jcl.

Removals

Removed support for Java 7 and earlier. Eliminated deprecated JdbcTemplate batch methods with Object[] arrays.

Tile and Portlet MVC modules are no longer maintained.

Migration and Support

Upgrade from 5.2 by updating the Spring BOM. Replace direct JUL/Log4j usage with SLF4J. Test AOT hints if planning for native images.

Spring Framework 5.3 receives commercial support until 2024, with open-source patches continuing.

Releases In Branch 5.3 (LTS)

Version Release date
5.3.39 1 year ago
(August 14, 2024)
5.3.38 1 year ago
(August 14, 2024)
5.3.37 1 year ago
(June 13, 2024)
5.3.36 1 year ago
(May 22, 2024)
5.3.35 1 year ago
(May 16, 2024)
5.3.34 1 year ago
(April 11, 2024)
5.3.33 1 year ago
(March 14, 2024)
5.3.32 1 year ago
(February 15, 2024)
5.3.31 2 years ago
(November 16, 2023)
5.3.30 2 years ago
(September 14, 2023)
5.3.29 2 years ago
(July 13, 2023)
5.3.28 2 years ago
(June 15, 2023)
5.3.27 2 years ago
(April 13, 2023)
5.3.26 2 years ago
(March 20, 2023)
5.3.25 2 years ago
(January 11, 2023)
5.3.24 3 years ago
(November 16, 2022)
5.3.23 3 years ago
(September 15, 2022)
5.3.22 3 years ago
(July 14, 2022)
5.3.21 3 years ago
(June 15, 2022)
5.3.20 3 years ago
(May 11, 2022)
5.3.19 3 years ago
(April 13, 2022)
5.3.18 3 years ago
(March 31, 2022)
5.3.17 3 years ago
(March 17, 2022)
5.3.16 3 years ago
(February 17, 2022)
5.3.15 3 years ago
(January 13, 2022)
5.3.14 3 years ago
(December 16, 2021)
5.3.13 4 years ago
(November 11, 2021)
5.3.12 4 years ago
(October 21, 2021)
5.3.11 4 years ago
(October 14, 2021)
5.3.10 4 years ago
(September 15, 2021)
5.3.9 4 years ago
(July 14, 2021)
5.3.8 4 years ago
(June 09, 2021)
5.3.7 4 years ago
(May 12, 2021)
5.3.6 4 years ago
(April 13, 2021)
5.3.5 4 years ago
(March 16, 2021)
5.3.4 4 years ago
(February 16, 2021)
5.3.3 4 years ago
(January 12, 2021)
5.3.2 4 years ago
(December 09, 2020)
5.3.1 5 years ago
(November 10, 2020)
5.3.0 5 years ago
(October 27, 2020)