Version history

Spring Framework versions

Spring Framework is the foundation everything else in Spring builds on: the IoC container, AOP, transactions, JDBC support, Spring MVC and WebFlux. A new generation arrives every few years, and minor releases usually ship in November.

Latest7.013 Nov 2025
NeedsJava 17+Jakarta EE 11
Releases listed19since 24 Mar 2004
Release rhythmA minor release most Novembers

Upgrade planner

Pick the version you’re on and the one you want. You’ll see everything that changes in between, oldest first, with breaking changes marked.

2 releases to go through, with 8 new features and 1 breaking or removed items. Platform: Jakarta EE 9–10 → Jakarta EE 11.

Spring 6.2 14 Nov 2024

  • New @MockitoBean and @MockitoSpyBean test annotations (replacing Spring Boot’s @MockBean)
  • New @TestBean for overriding beans in tests
  • New MockMvcTester for AssertJ-style web tests
  • New Background bean initialization and @Fallback beans
  • Improved The final 6.x line

Spring 7.0 13 Nov 2025

  • New API versioning for Spring MVC and WebFlux endpoints
  • New Built-in resilience: @Retryable, @ConcurrencyLimit and @EnableResilientMethods, moved in from spring-retry
  • New JSpecify null-safety annotations across the framework
  • New HTTP interface client groups and a registry for many @HttpExchange clients
  • Improved Jackson 3 support
  • Improved Uses the Java 24+ Class-File API for reading bytecode when available
  • Breaking Jakarta EE 11 baseline (Servlet 6.1, Jakarta Persistence 3.2) and Kotlin 2.2

Each minor line gets open source updates for a limited time, with longer commercial support available.

7.1
Expected Nov 2026
Planned

Expected in November 2026, following Spring’s yearly cadence.

7.0
13 Nov 2025
LatestJava 17+
PlatformJakarta EE 11
  • NewAPI versioning for Spring MVC and WebFlux endpoints
  • NewBuilt-in resilience: @Retryable, @ConcurrencyLimit and @EnableResilientMethods, moved in from spring-retry
  • NewJSpecify null-safety annotations across the framework
  • NewHTTP interface client groups and a registry for many @HttpExchange clients
  • ImprovedJackson 3 support
  • ImprovedUses the Java 24+ Class-File API for reading bytecode when available
  • BreakingJakarta EE 11 baseline (Servlet 6.1, Jakarta Persistence 3.2) and Kotlin 2.2
6.2
14 Nov 2024
Java 17+
PlatformJakarta EE 9–10
  • New@MockitoBean and @MockitoSpyBean test annotations (replacing Spring Boot’s @MockBean)
  • New@TestBean for overriding beans in tests
  • NewMockMvcTester for AssertJ-style web tests
  • NewBackground bean initialization and @Fallback beans
  • ImprovedThe final 6.x line
6.1
16 Nov 2023
Java 17+
PlatformJakarta EE 9–10
  • NewRestClient: a modern synchronous HTTP client
  • NewJdbcClient: a fluent JDBC API
  • NewVirtual thread support for task executors and schedulers
  • NewCRaC checkpoint and restore support
  • ImprovedJava 21 support
6.0
16 Nov 2022
Java 17+
PlatformJakarta EE 9–10
  • BreakingJava 17 baseline and the jakarta.* namespace
  • NewAhead-of-time processing and GraalVM native image support
  • NewHTTP interface clients with @HttpExchange
  • NewRFC 7807 ProblemDetail error responses
  • NewMicrometer Observation for metrics and tracing
  • RemovedRemoved old remoting technologies such as HTTP Invoker
5.3
27 Oct 2020
Java 8+
PlatformJava EE 7–8
  • ImprovedThe long-maintained final 5.x line, running on Java 8 through Java 21
  • ImprovedSupport for newer Java releases and R2DBC refinements
5.2
30 Sep 2019
Java 8+
PlatformJava EE 7–8
  • New@Configuration(proxyBeanMethods = false) for faster startup
  • NewRSocket messaging support
  • NewKotlin coroutines support
  • NewReactive transaction management (R2DBC)
5.1
21 Sep 2018
Java 8+
PlatformJava EE 7–8
  • ImprovedJava 11 support
  • Newspring-jcl logging bridge
5.0
28 Sep 2017
Java 8+
PlatformJava EE 7
  • BreakingJava 8 baseline
  • NewSpring WebFlux: a reactive web framework on Project Reactor
  • NewKotlin support
  • NewFunctional bean registration and router functions
  • NewJUnit 5 support in the TestContext framework
4.3
10 Jun 2016
Java 6+
  • NewComposed annotations such as @GetMapping and @PostMapping
  • NewImplicit constructor injection for single-constructor beans
  • ImprovedThe final 4.x line
4.2
31 Jul 2015
Java 6+
  • New@EventListener for annotation-driven events
  • NewCORS support with @CrossOrigin
  • New@AliasFor for annotation attribute aliases
  • NewHTTP streaming and server-sent events in MVC
4.1
4 Sep 2014
Java 6+
  • New@JmsListener for annotation-driven JMS
  • NewJCache (JSR-107) annotations
4.0
12 Dec 2013
Java 6+
  • NewJava 8 support, including lambdas
  • New@Conditional beans, the basis of Spring Boot auto-configuration
  • NewWebSocket and STOMP messaging
  • New@RestController
  • NewGenerics as autowiring qualifiers
3.2
13 Dec 2012
Java 5+
  • NewAsynchronous request processing in Spring MVC
  • NewSpring MVC Test framework
  • ImprovedJava 7 support
3.1
13 Dec 2011
Java 5+
  • NewEnvironment profiles with @Profile
  • NewCache abstraction with @Cacheable
  • New@Enable… annotations for Java configuration
  • NewCode-based Servlet 3 configuration
3.0
16 Dec 2009
Java 5+
  • NewJava-based configuration with @Configuration and @Bean
  • NewSpring Expression Language (SpEL)
  • NewREST support in Spring MVC with @PathVariable
  • New@Async and @Scheduled
  • BreakingJava 5 baseline
2.5
19 Nov 2007
  • NewAnnotation-driven configuration: @Autowired and component scanning
  • NewAnnotated MVC controllers with @Controller and @RequestMapping
  • NewThe TestContext framework
2.0
3 Oct 2006
  • NewXML namespaces for shorter configuration
  • New@AspectJ-style aspects
  • NewRequest and session bean scopes
  • NewJPA support
1.2
May 2005
  • New@Transactional (Java 5 annotations)
  • NewJMX support
1.0
24 Mar 2004
  • NewThe IoC container and dependency injection
  • NewAOP framework
  • NewJDBC abstraction and declarative transactions
  • NewSpring MVC

More version histories