⭐ New Features
- Revisit metrics and tracing test properties #47776
- Downgrade to GraphQL Java 24.3 #47752
- Configure devtools to set trace probability to 100% by default #47721
- Remove "public" from referenced configurations from auto-configurations #47715
- Remove support for Spring Pulsar Reactive #47707
- Add Jackson 2 module to ease upgrade effort #47688
- Remove ConcurrentReferenceCachingMetadataReaderFactory #47687
- Remove integration for REST Docs' REST Assured support until REST Assured supports Groovy 5 #47685
- Remove support for embedded jar launch scripts #47666
- Remove support for Spring Session Data MongoDB #47662
- Remove support for Spring Session Hazelcast #47661
- Drop Spock until it supports Groovy 5 #47650
- Provide auto-configuration for Jackson's CBOR data format #47641
- Add support for
@ObservationKeyValue#47637 - Rename Jackson-specific Json… annotations and classes to Jackson… #47625
- Use Neo4j Java Driver BOM #47623
- Add TWENTY_FIVE to JavaVersion enum #47616
- Rationalize endpoint packages #47606
- Refactor spring-boot-cloudfoundry package structure #47605
- Rename spring-boot-tx module to spring-boot-transaction #47603
- Use JsonMapper instead of ObjectMapper where feasible #47503
- Automatically detect Jackson 3 modules #47485
- Add AWS ECS to cloud platforms #47482
- Rename SharedObjectMapper to SharedJsonMapper #47471
- Provide a configuration property to auto-configure Jackson 3 for best compatibility with Spring Boot 3's Jackson 2 defaults #47470
- Raise GraalVM baseline to 25 #47433
- Clarify that spring-boot-rsocket does not require spring-web #47409
- Rationalize HTTP client configuration properties #47398
- Disable LiveReload server by default #47387
- Update Neo4j support to require Neo4j Java Driver 6.0.0 #47381
- Remove SQL and Reactor starters as they are only used transitively #47378
- Rationalize SSL bundle configuration in RedisConnectionDetails #47375
- Add support for RestTestClient #47335
- Rename Spring Session properties that depend on Spring Data #47333
- Rename JsonMapper-specific properties to make it clear that they're JSON-specific #47328
- Move spring.jackson.datetime.
<feature-name>to spring.jackson.datatype.datetime #47327 - Modularize spring-boot-test-autoconfigure #47322
- Allow jars to be marked as a development-tool to exclude from uber-jar #47320
- Switch Maven plugin to exclude optional dependencies by default #47318
- Provide a configuration property for enabling and disabling Elasticsearch Client's sniffer #47301
- Add
@ControllerAdvicesupport to RSocket messaging auto-configuration #47287 - Reintroduce previous EnvironmentPostProcessor in deprecated form #47272
- Remove Bitnami support #47267
- Improve how Spring AMQP's retry can be configured #47264
- Refine JSpecify annotations #47263
- Add support for configuring HttpClientTransport in JettyClientHttpConnectorBuilder #47251
- Raise the minimum supported version of the CycloneDX Gradle Plugin to 3.0.0 #47250
- Make all type exclude filters package-private #47227
- Rename …DataAutoConfiguration to Data…AutoConfiguration #47049
- Configure Lettuce with MicrometerTracing instead of MicrometerCommandLatencyRecorder when micrometer-tracing is available #46975
- Add support for static master-replica with Lettuce #46957
- Review and refine where possible war deployments following 4.0's modularisation #46944
- Remove unused SHA-1 hash from UNPACK markers #46520
- Adopt Framework's HttpMessageConverters #46411
- Add native image support for Log4J integration #46410
- Modularize spring-boot-test #46356
- Add support for in-memory Batch infrastructure #46307
- Package mappings and exchanges classes consistently #46217
- Introduce a shared abstraction for database initialization #46213
- Add FONTS location to StaticResourceLocation #46208
- Update Log4j's configuration using reconfigure rather than start #46035
- Drop spring-boot-loader-classic support #45714
- Allow DevTools property defaults to be contributed by modules #44792
🐞 Bug Fixes
- Signed jar verification fails when nested in an uber war running on an Oracle JVM #47772
- In an uber war, value of the Sbom-Location manifest attribute does not match the SBOM's actual location #47739
- Homebrew formula for the CLI should use libexec #47723
- When virtual threads are enabled, embedded Jetty does not use recommended virtual thread configuration #47718
- Dependency management for Hibernate is inconsistent #47698
- ClientHttpRequestFactoryRuntimeHints is missing timeout methods with Duration overloads #47679
@AutoConfigureHttpGraphQlTestershould not trigger the configuration of mockMvc #47660- The 'spring.mongodb.representation.uuid' property cannot be bound #47654
- OnBeanCondition no longer correctly finds annotations on scoped target proxy beans #47636
- JavaVersion doesn't work reliably in native-image #47621
- Using CodecCustomizer requires explicit dependency on spring-boot-http-codec #47397
- Auto-configured JsonMapper backs off when any type of ObjectMapper is defined #47379
- LiquibaseEndpoint always uses defaultSchema instead of liquibaseSchema #47347
- Maven plugin does not provide an easy way to exclude optional dependencies from uber jar #47319
- Launcher fails to find main method when it is parameterless #47312
- Package private Main class using Java 25 is not found by build plugins #47310
- ProblemDetailJacksonMixin not configured on Jackson JsonMapper #47298
- Spring Boot's dependencies POM is missing spring-boot-persistence #47271
- spring-boot-dependencies contains unwanted dependency management #42522
📔 Documentation
- Update
@sincetags following modularization #47779 - Improve configuration metadata for spring.jackson.generator and spring.jackson.parser #47778
- Configuration metadata changelog does not list properties that were removed without a prior deprecation #47762
- Published Kotlin API documentation is incorrect #47761
- Configuration metadata changelog does not list properties that were added as deprecated #47759
- Dependency management for Maven AntRun Plugin is missing changelog link #47745
- Developing Your First Spring Boot Application has outdated tools #47701
- Include deprecated configuration properties in the reference documentation #47670
- Aggregated Javadoc should link to the proper version of JakartaEE #47594
- Fix wrong variable name in JacksonTester javadoc #47478
- Update javadoc of TestRestTemplate following change to redirect behavior #47475
- Harmonize Kotlin getting started section in the reference documentation #47428
- Clarify that API versioning for the client is not inferred from the server configuration #47373
- Update links from reference guide to javadoc to account for package name changes due to modularization #47351
- Adapt source code references to new modules in reference guide #47348
- Use non-deprecated syntax to configure sourceCompatibility #47344
- Remove milestone repository from Maven and Gradle examples #47341
- Fix link to Framework's
@Beanannotation #47331 - Update managed dependency version override examples in documentation #47307
- Use renamed link to HTTP Service Clients in Spring Framework reference guide #47297
- Rename CDS section in documentation to AOT cache #45201
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 6.1.8 #47769
- Upgrade to Angus Mail 2.0.5 #47557
- Upgrade to Artemis 2.43.0 #47681
- Upgrade to AssertJ 3.27.6 #47558
- Upgrade to Byte Buddy 1.17.8 #47559
- Upgrade to Cassandra Driver 4.19.1 #47770
- Upgrade to Classmate 1.7.1 #47560
- Upgrade to Commons Lang3 3.19.0 #47561
- Upgrade to Couchbase Client 3.9.2 #47599
- Upgrade to Elasticsearch Client 9.1.5 #47677
- Upgrade to Flyway 11.14.1 #47562
- Upgrade to Glassfish JAXB 4.0.6 #47563
- Upgrade to Groovy 5.0.2 #47147
- Upgrade to H2 2.4.240 #47564
- Upgrade to Hibernate 7.1.4.Final #47565
- Upgrade to HtmlUnit 4.17.0 #47566
- Upgrade to HttpClient5 5.5.1 #47567
- Upgrade to HttpCore5 5.3.6 #47568
- Upgrade to Jackson Bom 3.0.1 #47753
- Upgrade to Jakarta Mail 2.1.5 #47570
- Upgrade to Jakarta XML Bind 4.0.4 #47240
- Upgrade to Jedis 7.0.0 #47600
- Upgrade to Jetty 12.1.3 #47730
- Upgrade to Jetty Reactive HTTPClient 4.1.0 #47627
- Upgrade to jOOQ 3.19.27 #47573
- Upgrade to JUnit Jupiter 6.0.0 #47383
- Upgrade to Kotlin 2.2.20 #47628
- Upgrade to Liquibase 5.0.1 #47386
- Upgrade to Log4j2 2.25.2 #46334
- Upgrade to Logback 1.5.20 #47708
- Upgrade to Lombok 1.18.42 #47575
- Upgrade to Maven AntRun Plugin 3.2.0 #47731
- Upgrade to Maven Compiler Plugin 3.14.1 #47576
- Upgrade to Maven Dependency Plugin 3.9.0 #47577
- Upgrade to Maven Enforcer Plugin 3.6.2 #47578
- Upgrade to Maven Javadoc Plugin 3.12.0 #47579
- Upgrade to Micrometer 1.16.0-RC1 #47488
- Upgrade to Micrometer Tracing 1.6.0-RC1 #47489
- Upgrade to Mockito 5.20.0 #47580
- Upgrade to MongoDB 5.6.1 #47643
- Upgrade to MSSQL JDBC 13.2.1.jre11 #47629
- Upgrade to Native Build Tools Plugin 0.11.2 #47683
- Upgrade to Neo4j Java Driver 6.0.1 #47597
- Upgrade to Netty 4.2.7.Final #47652
- Upgrade to OpenTelemetry 1.55.0 #47630
- Upgrade to Postgresql 42.7.8 #47583
- Upgrade to Pulsar 4.1.1 #47584
- Upgrade to R2DBC H2 1.1.0.RELEASE #47658
- Upgrade to R2DBC Postgresql 1.1.0.RELEASE #47585
- Upgrade to Rabbit AMQP Client 5.27.0 #47684
- Upgrade to Reactor Bom 2025.0.0-RC1 #47490
- Upgrade to RxJava3 3.1.12 #47586
- Upgrade to Selenium 4.37.0 #47709
- Upgrade to Selenium HtmlUnit 4.36.1 #47588
- Upgrade to Spring AMQP 4.0.0-RC1 #47491
- Upgrade to Spring Batch 6.0.0-RC1 #47484
- Upgrade to Spring Data Bom 2025.1.0-RC1 #47394
- Upgrade to Spring Framework 7.0.0-RC2 #47743
- Upgrade to Spring GraphQL 2.0.0-RC1 #47492
- Upgrade to Spring HATEOAS 3.0.0-RC1 #47493
- Upgrade to Spring Integration 7.0.0-RC1 #47494
- Upgrade to Spring Kafka 4.0.0-RC1 #47495
- Upgrade to Spring LDAP 4.0.0-RC1 #47496
- Upgrade to Spring Pulsar 2.0.0-RC1 #47497
- Upgrade to Spring RESTDocs 4.0.0-RC1 #47498
- Upgrade to Spring Security 7.0.0-RC1 #47499
- Upgrade to Spring Session 4.0.0-RC1 #47500
- Upgrade to Spring WS 5.0.0-RC1 #47501
- Upgrade to Testcontainers 2.0.1 #47664
- Upgrade to Tomcat 11.0.13 #47589
- Upgrade to Versions Maven Plugin 2.19.1 #47590
- Upgrade to WebJars Locator Lite 1.1.2 #47591
- Upgrade to XML Maven Plugin 1.2.0 #47710
❤️ Contributors
Thank you to all the contributors who worked on this release:
@DKARAGODIN, @JinhyeokFang, @Lublanski, @NeatGuyCoding, @Pankraz76, @academey, @dmitrysulman, @dungdm93, @eddumelendez, @facewise, @fhiyo, @fmbenhassine, @injectives, @izeye, @jonatan-ivanov, @meistermeier, @ngocnhan-tran1996, @nosan, @onobc, @ppkarwasz, @quaff, @rstoyanchev, @scottfrederick, @shahabkondri, @var4609, @vpavic, @vy, and @xyraclius