Stable Release in branch 3.2
3.2.12
Released 21 Nov 2024
(1 year ago)
SoftwareSpring Boot
Version3.2
Supported
Java versions
Java 17+
Initial release3.2.0
23 Nov 2023
(2 years ago)
Latest release3.2.12
21 Nov 2024
(1 year ago)
End of
OSS support
Dec 2024
(Ended 1 year ago)
End of
enterprise support
Dec 2025
(Ended 6 months ago)
Source codehttps://github.com/spring-projects/spring-boot/tree/v3.2.12
Documentationhttps://docs.spring.io/spring-boot/docs/3.2.12/spring-boot-reference/
Spring Boot 3.2 ReleasesView full list

What Is New in Spring Boot 3.2

Spring Boot 3.2 delivers significant enhancements across performance, developer experience, and modern Java integration. This release is packed with updates that streamline development workflows and boost application capabilities.

Category Key Changes
Performance & Efficiency Virtual Threads, Lazy Initialization for Tomcat/Jetty, JDK 21 Support
Developer Experience Spring Boot DevTools with Build Plugins, Testcontainers at Development Time
Observability Enhanced Micrometer Tracing, New Observation REST Template Interceptor
Data & Integration JdbcClient Auto-configuration, SSL Support for Redis, New Connection Details Beans
Docker Compose Extended Service Connection Support, Lifecycle Management

How does Spring Boot 3.2 improve application performance?

The cornerstone of performance improvements is first-class support for virtual threads from Project Loom. This allows you to handle high-throughput concurrent operations with a much smaller memory footprint compared to platform threads. In practice, this means you can scale your application more efficiently without rewriting your code.

Support for lazy initialization in embedded Tomcat and Jetty servers reduces startup time and memory usage. The new JdbcClient offers a more streamlined API for database operations, simplifying common tasks.

Virtual Threads Example

@Bean
public TaskExecutor taskExecutor() {
    return new TaskExecutorAdapter(Executors.newVirtualThreadPerTaskExecutor());
}

What developer experience upgrades are included?

Spring Boot DevTools now integrates directly with Maven and Gradle build plugins, triggering a restart automatically when a build completes. This creates a much smoother inner development loop. You can also now configure Testcontainers to start up when your application runs from your IDE, making it easier to develop with real dependencies.

The new Connection Details abstraction provides a clean way to manage external service connection parameters, separating configuration from hardcoded URLs and credentials.

How is observability enhanced in this release?

Micrometer Tracing support has been expanded with auto-configuration for multiple tracing providers. A new ObservationRestTemplateCustomizer automatically instruments your RestTemplate instances for observability, giving you detailed traces out of the box for HTTP client calls.

This matters because it simplifies the process of making your application observable, providing critical insights into performance and failures without manual instrumentation effort.

What new integration features are available for data and messaging?

SSL support is now auto-configured for both Redis and RabbitMQ connections, securing your data in transit by default. The new JdbcClient offers a unified interface for both static and dynamic database queries, reducing boilerplate code.

Docker Compose integration has been extended to support more services like ActiveMQ, Oracle, and Redpanda. This integration automatically manages the lifecycle of these containers during development and testing.

FAQ

Do I need to use JDK 21 to run Spring Boot 3.2?
No. While Spring Boot 3.2 fully supports and leverages JDK 21 features like virtual threads, it remains compatible with JDK 17 and JDK 21 as the minimum supported versions.

How do I enable virtual threads for my web server?
For Tomcat, set server.tomcat.threads.max to a high value and provide a VirtualThreadExecutor. For Jetty, configure the ThreadPool to use virtual threads. The documentation provides detailed examples.

Can I use the new Docker Compose support in production?
The Docker Compose integration is primarily designed for development and testing environments to simplify local setup. It is not intended for production deployment scenarios.

What is the replacement for the deprecated CrudRepository?
CrudRepository itself is not deprecated. Certain methods within it, like the deleteById method that returns a value, have been deprecated in favor of the deleteById method with a void return type.

How does the new Connection Details API work with my existing configuration?
The new API complements existing configuration. Spring Boot will auto-configure connection details beans from well-known properties, but you can also define your own beans to provide more complex logic for obtaining connection information.

Releases In Branch 3.2

VersionRelease date
3.2.1221 Nov 2024
(1 year ago)
3.2.1124 Oct 2024
(1 year ago)
3.2.1019 Sep 2024
(1 year ago)
3.2.922 Aug 2024
(1 year ago)
3.2.818 Jul 2024
(1 year ago)
3.2.720 Jun 2024
(2 years ago)
3.2.623 May 2024
(2 years ago)
3.2.518 Apr 2024
(2 years ago)
3.2.421 Mar 2024
(2 years ago)
3.2.322 Feb 2024
(2 years ago)
3.2.219 Jan 2024
(2 years ago)
3.2.121 Dec 2023
(2 years ago)
3.2.023 Nov 2023
(2 years ago)
3.2.0-RC203 Nov 2023
(2 years ago)
3.2.0-RC120 Oct 2023
(2 years ago)
3.2.0-M321 Sep 2023
(2 years ago)
3.2.0-M224 Aug 2023
(2 years ago)
3.2.0-M120 Jul 2023
(2 years ago)