⚠️ Noteworthy changes
- Hibernate has been upgraded to 7.2.0.Final in response to Hibernate 7.1 moving to limited support
- spring-boot-starter-kotlin-serialization has been renamed to to spring-boot-starter-kotlinx-serialization-json and spring-boot-starter-kotlin-serialization-test has been renamed to spring-boot-starter-kotlinx-serialization-json-test. This change aligns the starters' names with those of their respective modules
- Using TestRestTemplate now requires a dependency on spring-boot-restclient
🐞 Bug Fixes
- JsonMixinModuleEntriesBeanRegistrationAotProcessor does not handle deprecated code #48564
- JdbcSessionAutoConfiguration may not match when using the auto-configured DataSource #48552
@ServiceConnectionfor LgtmStackContainer fails when logging endpoint is configured due to multiple OtlpLoggingConnectionDetails beans #48536- WebApplicationType does not consider modules when deduced from classpath #48517
- Spring Session auto-configuration fails in a war deployment as ServerProperties is not available #48493
- Opentelemetry logging export requires actuator module #48488
- RabbitHealthIndicator reports an error when version is missing from the connection's server properties #48487
- Actuator Info class has inconsistent nullability annotations and cannot be built with null value #48480
- Profiles retained during AOT processing are not configured in a native image #48476
- Security matchers and WebServerNamespace resolution can fail with NoClassDefFoundError when used in a traditional WAR deployment #48388
- HealthEndpointGroupMembershipValidator does not consider reactive health indicators causing NoSuchHealthContributorException to be thrown #48387
- spring.jackson.default-property-inclusion is not applied to content inclusion #48343
- TestRestTemplate.getRootUri() returns empty string #48330
- Redis health check reports an error when redis_version is missing from the INFO response #48328
- Parent's MeterRegistry beans are closed when child context closes #48325
- HttpMessageConverters picks up converter beans for both client and server #48310
- Conditions to auto-configure a RestClient are outdated with the modularization #48308
- A custom JwtTypeValidator that replaces the default can no longer be configured #48301
- PropertiesRestClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it #48296
- SpringBootTest.UseMainMethod.WHEN_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method #48275
- Conditions to auto-configure RestClient-based HTTP service clients are outdated with the modularization #48274
- Starter for Kotlinx Serialization Json is misnamed #48262
- ApplicationServletEnvironment is no longer configured in war deployments #48254
- RestClient.Builder bean present in
@SpringBootTestdue to spring-boot-starter-webmvc-test, but missing at runtime without restclient starter #48253 - ProblemDetail is rendered to XML incorrectly #48222
📔 Documentation
- Harmonize Kotlin example for HTTP Service client support #48577
- Document HttpMessageConverters detection changes in 4.0.1 #48574
- Improve javadoc for when to use class names rather than class references #48569
- Documentation has an outdated reference to the Jackson Kotlin Module #48534
- Caching documentation should clarify how to use a no-op implementation to run a test suite #48532
- Document that the default rolling policy for Log4j2 requires logging.file.path to be set #48527
- Review documentation and migration guide about changes in
@AutoConfigureCache#48522 - License header in build samples is displayed in the reference documentation #48478
- Configuring Two DataSources How-To code sample is inconsistent #48449
- Fix links to source files on GitHub #48398
- Documentation contains broken links to GitHub source files #48394
- Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations #48360
- Correct the annotation in the Kotlin
@ConfigurationPropertiesSourceexample #48357 - Polish TestRestTemplate examples in the reference guide #48336
- Documentation missing for LocalTestWebServer #48333
- Update "Creating Your Own Starter" following modularisation #48317
- Fix links to javadoc in the reference documentation #48300
- Update references for RestTemplateCustomizer and RestTemplateBuilder classes in documentation #48295
- Remove modules section of the README following modularisation #48291
- Wrong number in Graceful Shutdown chapter #48284
- Mention new spring-boot-h2console module when describing how to use H2 Console #48278
- Clarify that
@EnableBatchProcessingturns off all batch auto-configuration, including schema initialization #48266 - Documented replacements for spring.jackson.generator and spring.jackson.parser are inverted #48255
- Document the need for a JdbcDialect bean when using Spring Data JDBC and AOT #48240
- Update reference documentation as Spring Batch's resourceless infrastructure means that it no longer always requires a DataSource #48233
- Kotlin auto-configuration examples are not annotated with
@AutoConfiguration#48228 - Revise "Use Liquibase for test-only migrations" section in reference manual #48219
- Infinispan Cache Documentation is outdated #48218
- Removed max-attempts properties metadata don't have replacement #48206
- Polish documentation on testing web applications and the various testing clients that are available #47948
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.25.1 #48561
- Upgrade to Elasticsearch Client 9.2.2 #48447
- Upgrade to Groovy 5.0.3 #48460
- Upgrade to Hibernate 7.2.0.Final #48518
- Upgrade to Jackson Bom 3.0.3 #48462
- Upgrade to Jetty 12.1.5 #48463
- Upgrade to jOOQ 3.19.29 #48464
- Upgrade to Json Path 2.10.0 #48553
- Upgrade to Log4j2 2.25.3 #48551
- Upgrade to MariaDB 3.5.7 #48562
- Upgrade to Micrometer 1.16.1 #48433
- Upgrade to Micrometer Tracing 1.6.1 #48434
- Upgrade to MongoDB 5.6.2 #48501
- Upgrade to Netty 4.2.9.Final #48544
- Upgrade to Pooled JMS 3.1.8 #48563
- Upgrade to Pulsar 4.1.2 #48465
- Upgrade to Quartz 2.5.2 #48466
- Upgrade to Reactor Bom 2025.0.1 #48435
- Upgrade to Spring AMQP 4.0.1 #48436
- Upgrade to Spring Batch 6.0.1 #48437
- Upgrade to Spring Data Bom 2025.1.1 #48438
- Upgrade to Spring Framework 7.0.2 #48439
- Upgrade to Spring GraphQL 2.0.1 #48440
- Upgrade to Spring HATEOAS 3.0.1 #48481
- Upgrade to Spring Integration 7.0.1 #48482
- Upgrade to Spring Kafka 4.0.1 #48441
- Upgrade to Spring LDAP 4.0.1 #48442
- Upgrade to Spring Pulsar 2.0.1 #48443
- Upgrade to Spring Security 7.0.2 #48444
- Upgrade to Spring Session 4.0.1 #48445
- Upgrade to Testcontainers 2.0.3 #48545
- Upgrade to Tomcat 11.0.15 #48467
- Upgrade to UnboundID LDAPSDK 7.0.4 #48468
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Nhahan, @arey, @banseok1216, @berry120, @candrews, @dmitrysulman, @geopark021, @hktechn0, @igslznev, @jwalter, @kzander91, @michaldo, @mzeijen, @ngocnhan-tran1996, @noojung, @scottfrederick, @vpavic, and @youngledo