⭐ New Features
- Add support for docker.elastic.co/elasticsearch/elasticsearch #50119
- Narrow the scope of icons pattern to /icons/icon-* #50084
- Add configuration options for KafkaTemplate's allowNonTransactional and closeTimeout #49954
- Align ReactorHttpClientBuilder defaults with Spring Framework and provide an opt-out #49950
- Add support for providing a custom SessionTimeout bean #49883
- Add support for Redis Annotation driven listeners #49858
- Support spring.webflux.default-html-escape property for application-wide HTML escaping configuration #49791
- Add fallback support for '/opt/homebrew/bin' on macOS #49721
- Support InetAddress filtering for HTTP Clients #49687
- Monitor certificates from truststore in SslMeterBinder #49641
- Enable ansi support by default on Windows 11+ #49571
- Add '
@GrpcAdvice' exception handling support #49053 - Add support for OpenTelemetry SDK environment variables #48799
- Add ability to read custom layers.xml from classpath #32466
- Support LazyConnectionDataSourceProxy #15480
🐞 Bug Fixes
- Default security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not #50190
- Elasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client #50189
- ApplicationPidFileWriter does not handle symlinks correctly #50186
- RandomValuePropertySource is not suitable for secrets #50184
- Cassandra auto-configuration misconfigures CqlSessionBuilder #50182
- ApplicationTemp does not handle symlinks correctly #50179
- Remote DevTools performs comparison incorrectly #50177
- spring.rabbitmq.ssl.verify-hostname is applied inconsistently #50175
- GrpcDisableCsrfHttpConfigurer incorrectly uses inverse of 'spring.grpc.server.security.csrf.enabled' property #50145
- API versioning path strategy should be applied path last as it is not meant to yield #50127
- Whole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter #50078
- Classic starters are missing several modules #50072
- Module spring-boot-resttestclient is missing from spring-boot-starter-test-classic #50070
- Annotations like
@Ssldon't work on@Beanmethods when using@ServiceConnection#50065 - EnversRevisionRepositoriesRegistrar should reuse
@EnableEnversRepositoriesrather than configuring the JPA counterpart #50040 - WebFlux Cloud Foundry links endpoint includes query string from received request in resolved links #50018
- Imports on a containing test class are ignored when a nested class has imports #50013
- Spring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test #49988
- Reactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver #49958
- With spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled #49957
- 500 response from env endpoint when supplied pattern is invalid #49947
- HTTP method is lost when configuring excludes in EndpointRequest #49944
- Honor HttpMethod for reactive additional endpoint paths #49881
- Docker Compose support doesn't work with apache/artemis image #49870
- Docker Compose support doesn't work with apache/activemq image #49867
- ReactiveOAuth2ResourceServerAutoConfiguration should trigger only on real Reactive Applications #49807
- Test starters 'spring-boot-starter-grpc-client-test' and 'spring-boot-starter-grpc-server-test' are missing #49690
- Properties in '
@ConfigurationProperties' annotated type shouldn't be able to define the same '@Name' #49565 - Distribution's SLO, minimum expected value, and maximum expected value are not applied to long task timer meters #49190
- WebConversionService breaks embedded value resolving #8923
📔 Documentation
- Update docs to encourage Java fundamentals for beginners that prefer to learn that way #50147
- HTTP Service Interface Clients still document that API versioning can be configured via properties #50128
- Link to the observability section of the Lettuce documentation is broken #50098
- Javadoc for StaticResourceLocation.FAVICON doesn't describe icons location #50086
- MySamlRelyingPartyConfiguration is missing a Kotlin sample #50025
- Move OAuth2 and SAML 2.0 documentation to a security section #50022
- Incorrect default value for management.httpexchanges.recording.include in configuration metadata #50020
- Link to the Kubernetes documentation when discussing startup probes #50016
- Document missing gRPC's default unit in GrpcClientProperties #49879
- Document the need for Liquibase and Flyway starters #49875
- Typo in JdbcSessionAutoConfiguration Javadoc #49874
- Clarify that configuration property default values are not available through the Environment #49852
- Kafka documentation refers to deprecated JSON serializer and deserializer classes #49834
- Document gRPC Support #49291
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 6.2.4 #50002
- Upgrade to Byte Buddy 1.18.8 #49922
- Upgrade to Couchbase Client 3.11.2 #50066
- Upgrade to Ehcache3 3.12.0 #49923
- Upgrade to Elasticsearch Client 9.3.4 #50099
- Upgrade to Flyway 12.4.0 #50079
- Upgrade to Git Commit ID Maven Plugin 9.2.0 #49925
- Upgrade to Groovy 5.0.5 #49926
- Upgrade to Hibernate 7.2.12.Final #50136
- Upgrade to HttpClient5 5.6.1 #50137
- Upgrade to Infinispan 16.1.3 #49928
- Upgrade to Jackson Bom 3.1.2 #50055
- Upgrade to Jaxen 2.0.1 #50106
- Upgrade to Jaybird 6.0.5 #49930
- Upgrade to Jedis 7.4.1 #50030
- Upgrade to Jetty 12.1.8 #49931
- Upgrade to jOOQ 3.21.2 #50107
- Upgrade to Kotlin Serialization 1.11.0 #50138
- Upgrade to Lettuce 7.5.1.RELEASE #50031
- Upgrade to Log4j2 2.25.4 #49933
- Upgrade to Lombok 1.18.46 #50154
- Upgrade to MariaDB 3.5.8 #49934
- Upgrade to Micrometer 1.17.0-RC1 #49990
- Upgrade to Micrometer Tracing 1.7.0-RC1 #49991
- Upgrade to MySQL 9.7.0 #50160
- Upgrade to Native Build Tools Plugin 1.0.0 #49920
- Upgrade to Native Build Tools Plugin 1.1.0 #48968
- Upgrade to Neo4j Java Driver 6.0.5 #50076
- Upgrade to OpenTelemetry 1.60.1 #50004
- Upgrade to Protobuf Common Protos 2.70.0 #50080
- Upgrade to Protobuf Maven Plugin 5.1.3 #50056
- Upgrade to Pulsar 4.2.0 #49900
- Upgrade to Rabbit AMQP Client 5.30.0 #50081
- Upgrade to Rabbit Stream Client 1.6.0 #50082
- Upgrade to Reactor Bom 2025.0.5 #49992
- Upgrade to Selenium 4.43.0 #50057
- Upgrade to Selenium HtmlUnit 4.43.0 #50058
- Upgrade to Spring AMQP 4.1.0-RC1 #49993
- Upgrade to Spring Data Bom 2026.0.0-RC1 #49994
- Upgrade to Spring Framework 7.0.7 #49995
- Upgrade to Spring GraphQL 2.0.3 #49996
- Upgrade to Spring gRPC 1.1.0-RC1 #50157
- Upgrade to Spring HATEOAS 3.1.0-RC1 #50108
- Upgrade to Spring Integration 7.1.0-RC1 #49997
- Upgrade to Spring Kafka 4.1.0-RC1 #49998
- Upgrade to Spring LDAP 4.1.0-RC1 #49999
- Upgrade to Spring Pulsar 2.0.5 #50000
- Upgrade to Spring Security 7.1.0-RC1 #50001
- Upgrade to Spring Session 4.1.0-RC1 #50144
- Upgrade to SQLite JDBC 3.53.0.0 #50068
- Upgrade to Testcontainers 2.0.5 #50139
- Upgrade to Thymeleaf 3.1.5.RELEASE #50155
- Upgrade to Thymeleaf Extras SpringSecurity 3.1.5.RELEASE #50156
- Upgrade to Tomcat 11.0.21 #49936
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GollapudiSrikanth, @MohammedGhallab, @bachhs, @bartsopers, @bbbbooo, @dlwldnjs1009, @edwardsre, @erichaagdev, @froggy-hyun, @husseinvr97, @itsmevichu, @kodama-kcc, @kwondh5217, @onobc, @plumstone, @ppapaj, @quaff, @refeccd, @scordio, and @xxxxxxjun