Created StackTracePrinter instances have no access to the Environment #50414
MappingsEndpoint reports the context's own ID as parentId when a parent exists #50412
Buildpack module does not validate long-to-int casts #50410
Gradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util #50405
GraphQL WebSocket support does not configure allowed origins #50394
Spring Boot Loader Does Not Support RSA and EC Signed Jars #50298
Meter registries are not removed from the global registry when the context is closed #50287
DataSourceBuilder cannot derive a DataSource from a lazy connection proxy #50271
Nullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation #50266
Bean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called #50264
EndpointRequest links matcher unnecessarily matches HTTP methods other than GET #50261
Actuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource #50258
ThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time #50234
NimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms #50228
Missing dependency management for spring-boot-web-server-test #50224
Spring Batch support for MongoDB modules are not included in dependency management #50223
Apply HTML escaping to timestamp attribute in Whitelabel error page #50216
GrpcServerHealthScheduler is not started in servlet environments #50209
Setting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat #50204
📔 Documentation
Fix reference to Gradle documentation for module replacement #50647
Created StackTracePrinter instances have no access to the Environment #50413
MappingsEndpoint reports the context's own ID as parentId when a parent exists #50411
Buildpack module does not validate long-to-int casts #50409
GraphQL WebSocket support does not configure allowed origins #50393
Configuration property metadata includes incorrect class references #50375
Spring Boot Loader Does Not Support RSA and EC Signed Jars #50297
Meter registries are not removed from the global registry when the context is closed #50286
Nullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation #50265
EndpointRequest links matcher unnecessarily matches HTTP methods other than GET #50260
Actuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource #50257
ThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time #50233
NimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms #50227
Apply HTML escaping to timestamp attribute in Whitelabel error page #50215
Setting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat #50201
📔 Documentation
Fix reference to Gradle documentation for module replacement #50646
OpenTelemetry's ZipkinSpanExporter has been deprecated and its support will be removed in Spring Boot 4.2. #49453
Jackson 2 has been upgraded to 2.21.1 in response to the Jackson team ending support for Jackson 2.20.x. #49389
Jackson has been upgraded to 3.1.0 in response to the Jackson team ending support for Jackson 3.0.x. #49383
The default value for server.tomcat.max-part-count has been increased from 10 to 50. This aligns it with Tomcat's own default and the default in Spring Boot 3.x. #49311
🐞 Bug Fixes
EndpointRequest request matcher for health groups is too complex #49649
"/cloudfoundryapplication" web path is not limited to Actuator #49646
Fix EndpointRequest.toLinks() when base-path is '/' #49617
Docker fails when a 'tcp://' address ends with a slash (for example 'tcp://docker:2375/') #49596
RSocket exposes duplicate endpoint for websocket setups #49593
Failure analysis for a missing mail sender is misleading #49582
SpringBootContextLoader mentions class that no longer exists in message for classes or locations assertion #49535
Ordering of 'spring.config.import' is inconsistent when defined in environment or system properties #49482
"spring.main.cloud-platform=none" does not disable cloud features #49479
SSL support with Docker Compose does not work as documented #49385
Auto-configuration overrides authorization server configuration applied by Customizer beans #49367
Using @AutoConfigureWebTestClient prevents separate configuration of spring.test.webtestclient.timeout from taking effect #49344
NoSuchMethodException when forcing the use of Log4J2LoggingSystem using org.springframework.boot.logging.LoggingSystem system property #49343
RouterFunctions descriptions in Actuator do not support nesting #49302
Maven plugin does not set '-parameters' option when processing AOT code #49295
HTTP Service Interface Client doesn't work in a native image due to missing property binding #49274
ErrorPageRegistrarBeanPostProcessor is not auto-configured in war deployments and the ErrorPageCustomizer is not applied #49176
The dependency on org.eclipse.jetty.ee11:jetty-ee11-servlets has been removed from spring-boot-jetty as it was unnecessary and unused. If your application code depends on a class from jetty-ee11-servlets, declare a dependency on it in your build configuration. #48677
🐞 Bug Fixes
No TransactionAutoConfiguration with spring-boot-starter-kafka for Spring Boot 4 #48880
Evaluation of bean conditions unnecessarily queries the bean factory for types that are not present #48840
When a bean condition references a type that is not present, it appears as ? in the condition evaluation report #48838
SessionAutoConfiguration creates a DefaultCookieSerializer with a default SameSite of null instead of Lax #48830
Setting graphql schema location to "classpath*:graphql/**/" causes failure due to incorrectly packaged test resource #48829
Message interpolation by MVC and WebFlux's Validators does not work correctly in a native image #48828
CloudFoundry integration fails in Servlet-based web app without a dependency on spring-boot-starter-restclient #48826
RestTestClientAutoConfiguration and TestRestTemplateAutoConfiguration should be package-private #48820
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
Actuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource #50254
Meter registries are not removed from the global registry when the context is closed #50235
ThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time #50225
Apply HTML escaping to timestamp attribute in Whitelabel error page #50205
NimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms #50118
EndpointRequest links matcher unnecessarily matches HTTP methods other than GET #50095
📔 Documentation
Fix reference to Gradle documentation for module replacement #50641
Remove the use of Optional from Data Neo4j repository examples #50600
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [org.springframework.boot:spring-boot-starter-parent](https://spring.io/projects/spring-boot) ([source](https://github.com/spring-projects/spring-boot)) | `3.5.13` → `4.1.0` |  |  |
---
### Release Notes
<details>
<summary>spring-projects/spring-boot (org.springframework.boot:spring-boot-starter-parent)</summary>
### [`v4.1.0`](https://github.com/spring-projects/spring-boot/releases/tag/v4.1.0)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.7...v4.1.0)
Full [release notes for Spring Boot 4.1](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes) are available on the wiki.
#### :star: New Features
- Add public constructor to InvalidConfigurationPropertyValueException that accepts a cause [#​50211](https://github.com/spring-projects/spring-boot/issues/50211)
- Reduce memory consumption when repeatedly calling WritableJson.toByteArray [#​49428](https://github.com/spring-projects/spring-boot/issues/49428)
#### :lady\_beetle: Bug Fixes
- MailSender auto-configuration does not enable hostname verification [#​50747](https://github.com/spring-projects/spring-boot/issues/50747)
- Artemis auto-configuration uses a predictable default location for the embedded broker's data [#​50745](https://github.com/spring-projects/spring-boot/issues/50745)
- Embedded LDAP SSL should not be enabled when its bundle is empty [#​50700](https://github.com/spring-projects/spring-boot/pull/50700)
- InetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 [#​50668](https://github.com/spring-projects/spring-boot/issues/50668)
- NullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket [#​50645](https://github.com/spring-projects/spring-boot/issues/50645)
- SSL should not be enabled when a SSL bundle is overridden to an empty string [#​50635](https://github.com/spring-projects/spring-boot/issues/50635)
- Test auto-configuration no longer integrates Spring Security with HtmlUnitDriver [#​50633](https://github.com/spring-projects/spring-boot/issues/50633)
- Configuration property metadata includes incorrect class references [#​50632](https://github.com/spring-projects/spring-boot/issues/50632)
- Docker Compose support does not restore thread interrupt flag when catching InterruptedException [#​50618](https://github.com/spring-projects/spring-boot/issues/50618)
- RabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string [#​50612](https://github.com/spring-projects/spring-boot/issues/50612)
- NullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles [#​50610](https://github.com/spring-projects/spring-boot/issues/50610)
- SpringJtaPlatform should have been deprecated since 4.1.0-M3 [#​50592](https://github.com/spring-projects/spring-boot/issues/50592)
- Layer written outside the output location of '//' exception is thrown when using extract layers in root directory [#​50510](https://github.com/spring-projects/spring-boot/issues/50510)
- ConfigurationPropertiesReportEndpoint exposes AOP proxy internals [#​50417](https://github.com/spring-projects/spring-boot/issues/50417)
- Created StackTracePrinter instances have no access to the Environment [#​50414](https://github.com/spring-projects/spring-boot/issues/50414)
- MappingsEndpoint reports the context's own ID as parentId when a parent exists [#​50412](https://github.com/spring-projects/spring-boot/issues/50412)
- Buildpack module does not validate long-to-int casts [#​50410](https://github.com/spring-projects/spring-boot/issues/50410)
- Gradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util [#​50405](https://github.com/spring-projects/spring-boot/pull/50405)
- GraphQL WebSocket support does not configure allowed origins [#​50394](https://github.com/spring-projects/spring-boot/issues/50394)
- Spring Boot Loader Does Not Support RSA and EC Signed Jars [#​50298](https://github.com/spring-projects/spring-boot/issues/50298)
- Meter registries are not removed from the global registry when the context is closed [#​50287](https://github.com/spring-projects/spring-boot/issues/50287)
- DataSourceBuilder cannot derive a DataSource from a lazy connection proxy [#​50271](https://github.com/spring-projects/spring-boot/pull/50271)
- Nullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation [#​50266](https://github.com/spring-projects/spring-boot/issues/50266)
- Bean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called [#​50264](https://github.com/spring-projects/spring-boot/issues/50264)
- EndpointRequest links matcher unnecessarily matches HTTP methods other than GET [#​50261](https://github.com/spring-projects/spring-boot/issues/50261)
- Actuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource [#​50258](https://github.com/spring-projects/spring-boot/issues/50258)
- ThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time [#​50234](https://github.com/spring-projects/spring-boot/issues/50234)
- NimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms [#​50228](https://github.com/spring-projects/spring-boot/issues/50228)
- Missing dependency management for spring-boot-web-server-test [#​50224](https://github.com/spring-projects/spring-boot/issues/50224)
- Spring Batch support for MongoDB modules are not included in dependency management [#​50223](https://github.com/spring-projects/spring-boot/pull/50223)
- Apply HTML escaping to timestamp attribute in Whitelabel error page [#​50216](https://github.com/spring-projects/spring-boot/issues/50216)
- GrpcServerHealthScheduler is not started in servlet environments [#​50209](https://github.com/spring-projects/spring-boot/issues/50209)
- Setting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat [#​50204](https://github.com/spring-projects/spring-boot/issues/50204)
#### :notebook\_with\_decorative\_cover: Documentation
- Fix reference to Gradle documentation for module replacement [#​50647](https://github.com/spring-projects/spring-boot/issues/50647)
- Document SSL reloading with Let's Encrypt [#​50630](https://github.com/spring-projects/spring-boot/issues/50630)
- Remove the use of Optional from Data Neo4j repository examples [#​50622](https://github.com/spring-projects/spring-boot/issues/50622)
- Fix typos in documentation [#​50620](https://github.com/spring-projects/spring-boot/issues/50620)
- Clarify dependency requirement for Bean Validation support [#​50614](https://github.com/spring-projects/spring-boot/issues/50614)
- Document Java 25 requirement for AOT cache [#​50485](https://github.com/spring-projects/spring-boot/issues/50485)
- Add links for Java CAS Client Spring Boot Starter [#​50285](https://github.com/spring-projects/spring-boot/issues/50285)
- Document known testcontainers lifecycle issues [#​50220](https://github.com/spring-projects/spring-boot/issues/50220)
- Document adding multiple connectors for Jetty [#​50218](https://github.com/spring-projects/spring-boot/issues/50218)
- Polish InvalidConfigurationPropertyValueException constructor javadoc [#​50214](https://github.com/spring-projects/spring-boot/issues/50214)
- Fix typo in Spring Security OAuth2 client registration documentation [#​50199](https://github.com/spring-projects/spring-boot/issues/50199)
#### :hammer: Dependency Upgrades
- Upgrade to ActiveMQ 6.2.6 [#​50652](https://github.com/spring-projects/spring-boot/issues/50652)
- Upgrade to Byte Buddy 1.18.10 [#​50693](https://github.com/spring-projects/spring-boot/issues/50693)
- Upgrade to [Caffeine 3.2.4](https://github.com/ben-manes/caffeine/releases/tag/v3.2.4) [#​50338](https://github.com/spring-projects/spring-boot/issues/50338)
- Upgrade to Cassandra Driver 4.19.3 [#​50654](https://github.com/spring-projects/spring-boot/issues/50654)
- Upgrade to [Couchbase Client 3.11.3](https://docs.couchbase.com/java-sdk/current/project-docs/sdk-release-notes.html) [#​50576](https://github.com/spring-projects/spring-boot/issues/50576)
- Upgrade to Elasticsearch Client 9.4.2 [#​50655](https://github.com/spring-projects/spring-boot/issues/50655)
- Upgrade to Glassfish JAXB 4.0.9 [#​50656](https://github.com/spring-projects/spring-boot/issues/50656)
- Upgrade to Groovy 5.0.6 [#​50340](https://github.com/spring-projects/spring-boot/issues/50340)
- Upgrade to Hibernate 7.4.1.Final [#​50732](https://github.com/spring-projects/spring-boot/issues/50732)
- Upgrade to [Infinispan 16.1.4](https://github.com/infinispan/infinispan/releases/tag/16.1.4) [#​50342](https://github.com/spring-projects/spring-boot/issues/50342)
- Upgrade to Jackson 2 Bom 2.21.4 [#​50657](https://github.com/spring-projects/spring-boot/issues/50657)
- Upgrade to Jackson Bom 3.1.4 [#​50658](https://github.com/spring-projects/spring-boot/issues/50658)
- Upgrade to Jakarta Json Bind 3.0.2 [#​50659](https://github.com/spring-projects/spring-boot/issues/50659)
- Upgrade to [Jakarta XML Bind 4.0.5](https://github.com/jakartaee/jaxb-api/releases/tag/4.0.5) [#​50345](https://github.com/spring-projects/spring-boot/issues/50345)
- Upgrade to Jaxen 2.0.6 [#​50710](https://github.com/spring-projects/spring-boot/issues/50710)
- Upgrade to [Jetty 12.1.10](https://github.com/jetty/jetty.project/releases/tag/jetty-12.1.10) [#​50661](https://github.com/spring-projects/spring-boot/issues/50661)
- Upgrade to Jetty Reactive HTTPClient 4.1.5 [#​50711](https://github.com/spring-projects/spring-boot/issues/50711)
- Upgrade to jOOQ 3.21.5 [#​50712](https://github.com/spring-projects/spring-boot/issues/50712)
- Upgrade to [Kafka 4.2.1](https://downloads.apache.org/kafka/4.2.1/RELEASE_NOTES.html) [#​50662](https://github.com/spring-projects/spring-boot/issues/50662)
- Upgrade to [Kotlin 2.3.21](https://github.com/JetBrains/kotlin/releases/tag/v2.3.21) [#​50347](https://github.com/spring-projects/spring-boot/issues/50347)
- Upgrade to [Lettuce 7.5.2.RELEASE](https://github.com/redis/lettuce/releases/tag/7.5.2.RELEASE) [#​50581](https://github.com/spring-projects/spring-boot/issues/50581)
- Upgrade to [Liquibase 5.0.3](https://github.com/liquibase/liquibase/releases/tag/v5.0.3) [#​50582](https://github.com/spring-projects/spring-boot/issues/50582)
- Upgrade to Logback 1.5.34 [#​50663](https://github.com/spring-projects/spring-boot/issues/50663)
- Upgrade to [Maven Enforcer Plugin 3.6.3](https://github.com/apache/maven-enforcer/releases/tag/enforcer-3.6.3) [#​50583](https://github.com/spring-projects/spring-boot/issues/50583)
- Upgrade to [Maven Failsafe Plugin 3.5.6](https://github.com/apache/maven-surefire/releases/tag/surefire-3.5.6) [#​50664](https://github.com/spring-projects/spring-boot/issues/50664)
- Upgrade to [Maven Surefire Plugin 3.5.6](https://github.com/apache/maven-surefire/releases/tag/surefire-3.5.6) [#​50665](https://github.com/spring-projects/spring-boot/issues/50665)
- Upgrade to [Micrometer 1.17.0](https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0) [#​50559](https://github.com/spring-projects/spring-boot/issues/50559)
- Upgrade to [Micrometer Tracing 1.7.0](https://github.com/micrometer-metrics/tracing/releases/tag/v1.7.0) [#​50560](https://github.com/spring-projects/spring-boot/issues/50560)
- Upgrade to MongoDB 5.8.0 [#​50608](https://github.com/spring-projects/spring-boot/issues/50608)
- Upgrade to [Native Build Tools Plugin 1.1.1](https://github.com/graalvm/native-build-tools/releases/tag/1.1.1) [#​50585](https://github.com/spring-projects/spring-boot/issues/50585)
- Upgrade to [Neo4j Java Driver 6.1.0](https://github.com/neo4j/neo4j-java-driver/releases/tag/6.1.0) [#​50586](https://github.com/spring-projects/spring-boot/issues/50586)
- Upgrade to Netty 4.2.15.Final [#​50666](https://github.com/spring-projects/spring-boot/issues/50666)
- Upgrade to [OpenTelemetry 1.62.0](https://github.com/open-telemetry/opentelemetry-java/releases/tag/v1.62.0) [#​50588](https://github.com/spring-projects/spring-boot/issues/50588)
- Upgrade to Oracle Database 23.26.2.0.0 [#​50667](https://github.com/spring-projects/spring-boot/issues/50667)
- Upgrade to [Postgresql 42.7.11](https://github.com/pgjdbc/pgjdbc/releases/tag/REL42.7.11) [#​50349](https://github.com/spring-projects/spring-boot/issues/50349)
- Upgrade to [Protobuf Java 4.34.2](https://github.com/protocolbuffers/protobuf/releases/tag/v4.34.2) [#​50590](https://github.com/spring-projects/spring-boot/issues/50590)
- Upgrade to [Protobuf Maven Plugin 5.1.4](https://github.com/ascopes/protobuf-maven-plugin/releases/tag/v5.1.4) [#​50589](https://github.com/spring-projects/spring-boot/issues/50589)
- Upgrade to Pulsar 4.2.2 [#​50713](https://github.com/spring-projects/spring-boot/issues/50713)
- Upgrade to [R2DBC MySQL 1.4.2](https://github.com/asyncer-io/r2dbc-mysql/releases/tag/r2dbc-mysql-1.4.2) [#​50351](https://github.com/spring-projects/spring-boot/issues/50351)
- Upgrade to [Reactor Bom 2025.0.6](https://github.com/reactor/reactor/releases/tag/2025.0.6) [#​50561](https://github.com/spring-projects/spring-boot/issues/50561)
- Upgrade to SAAJ Impl 3.0.6 [#​50714](https://github.com/spring-projects/spring-boot/issues/50714)
- Upgrade to SLF4J 2.0.18 [#​50591](https://github.com/spring-projects/spring-boot/issues/50591)
- Upgrade to [Spring AMQP 4.1.0](https://github.com/spring-projects/spring-amqp/releases/tag/v4.1.0) [#​50562](https://github.com/spring-projects/spring-boot/issues/50562)
- Upgrade to [Spring Batch 6.0.4](https://github.com/spring-projects/spring-batch/releases/tag/v6.0.4) [#​50563](https://github.com/spring-projects/spring-boot/issues/50563)
- Upgrade to [Spring Data Bom 2026.0.0](https://github.com/spring-projects/spring-data-bom/releases/tag/2026.0.0) [#​50564](https://github.com/spring-projects/spring-boot/issues/50564)
- Upgrade to [Spring Framework 7.0.8](https://github.com/spring-projects/spring-framework/releases/tag/v7.0.8) [#​50565](https://github.com/spring-projects/spring-boot/issues/50565)
- Upgrade to [Spring GraphQL 2.0.4](https://github.com/spring-projects/spring-graphql/releases/tag/v2.0.4) [#​50741](https://github.com/spring-projects/spring-boot/issues/50741)
- Upgrade to [Spring gRPC 1.1.0](https://github.com/spring-projects/spring-grpc/releases/tag/v1.1.0) [#​50566](https://github.com/spring-projects/spring-boot/issues/50566)
- Upgrade to [Spring HATEOAS 3.1.1](https://github.com/spring-projects/spring-hateoas/releases/tag/3.1.1) [#​50567](https://github.com/spring-projects/spring-boot/issues/50567)
- Upgrade to [Spring Integration 7.1.0](https://github.com/spring-projects/spring-integration/releases/tag/v7.1.0) [#​50568](https://github.com/spring-projects/spring-boot/issues/50568)
- Upgrade to [Spring Kafka 4.1.0](https://github.com/spring-projects/spring-kafka/releases/tag/v4.1.0) [#​50569](https://github.com/spring-projects/spring-boot/issues/50569)
- Upgrade to [Spring LDAP 4.1.0](https://github.com/spring-projects/spring-ldap/releases/tag/4.1.0) [#​50570](https://github.com/spring-projects/spring-boot/issues/50570)
- Upgrade to [Spring Pulsar 2.0.6](https://github.com/spring-projects/spring-pulsar/releases/tag/v2.0.6) [#​50571](https://github.com/spring-projects/spring-boot/issues/50571)
- Upgrade to [Spring RESTDocs 4.0.1](https://github.com/spring-projects/spring-restdocs/releases/tag/v4.0.1) [#​50572](https://github.com/spring-projects/spring-boot/issues/50572)
- Upgrade to [Spring Security 7.1.0](https://github.com/spring-projects/spring-security/releases/tag/7.1.0) [#​50573](https://github.com/spring-projects/spring-boot/issues/50573)
- Upgrade to [Spring Session 4.1.0](https://github.com/spring-projects/spring-session/releases/tag/4.1.0) [#​50574](https://github.com/spring-projects/spring-boot/issues/50574)
- Upgrade to [Spring WS 5.0.2](https://github.com/spring-projects/spring-ws/releases/tag/v5.0.2) [#​50575](https://github.com/spring-projects/spring-boot/issues/50575)
- Upgrade to SQLite JDBC 3.53.2.0 [#​50715](https://github.com/spring-projects/spring-boot/issues/50715)
- Upgrade to [Tomcat 11.0.22](https://tomcat.apache.org/tomcat-11.0-doc/changelog.html) [#​50354](https://github.com/spring-projects/spring-boot/issues/50354)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​Abdlatif-nabgha](https://github.com/Abdlatif-nabgha), [@​DragonFSKY](https://github.com/DragonFSKY), [@​Kapil-chn7](https://github.com/Kapil-chn7), [@​Kimgyuilli](https://github.com/Kimgyuilli), [@​SJvaca30](https://github.com/SJvaca30), [@​SebTardif](https://github.com/SebTardif), [@​ares333](https://github.com/ares333), [@​codingkiddo](https://github.com/codingkiddo), [@​dlwldnjs1009](https://github.com/dlwldnjs1009), [@​eddumelendez](https://github.com/eddumelendez), [@​henriquejsza](https://github.com/henriquejsza), [@​igormukhin](https://github.com/igormukhin), [@​johnnypwong](https://github.com/johnnypwong), [@​kwondh5217](https://github.com/kwondh5217), [@​leestana01](https://github.com/leestana01), [@​mheath](https://github.com/mheath), [@​mmoayyed](https://github.com/mmoayyed), [@​msridhar](https://github.com/msridhar), [@​ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@​nosan](https://github.com/nosan), [@​quaff](https://github.com/quaff), [@​scordio](https://github.com/scordio), [@​vinhhieu21](https://github.com/vinhhieu21), [@​vpavic](https://github.com/vpavic), [@​won-seoop](https://github.com/won-seoop), and [@​zxuhan](https://github.com/zxuhan)
### [`v4.0.7`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.7)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.6...v4.0.7)
#### :lady\_beetle: Bug Fixes
- MailSender auto-configuration does not enable hostname verification [#​50746](https://github.com/spring-projects/spring-boot/issues/50746)
- Artemis auto-configuration uses a predictable default location for the embedded broker's data [#​50744](https://github.com/spring-projects/spring-boot/issues/50744)
- NullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket [#​50640](https://github.com/spring-projects/spring-boot/pull/50640)
- SSL should not be enabled when a SSL bundle is overridden to an empty string [#​50634](https://github.com/spring-projects/spring-boot/issues/50634)
- Docker Compose support does not restore thread interrupt flag when catching InterruptedException [#​50617](https://github.com/spring-projects/spring-boot/issues/50617)
- RabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string [#​50611](https://github.com/spring-projects/spring-boot/issues/50611)
- NullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles [#​50609](https://github.com/spring-projects/spring-boot/issues/50609)
- Test auto-configuration no longer integrates Spring Security with HtmlUnitDriver [#​50602](https://github.com/spring-projects/spring-boot/pull/50602)
- Layer written outside the output location of '//' exception is thrown when using extract layers in root directory [#​50509](https://github.com/spring-projects/spring-boot/issues/50509)
- ConfigurationPropertiesReportEndpoint exposes AOP proxy internals [#​50416](https://github.com/spring-projects/spring-boot/issues/50416)
- Created StackTracePrinter instances have no access to the Environment [#​50413](https://github.com/spring-projects/spring-boot/issues/50413)
- MappingsEndpoint reports the context's own ID as parentId when a parent exists [#​50411](https://github.com/spring-projects/spring-boot/issues/50411)
- Buildpack module does not validate long-to-int casts [#​50409](https://github.com/spring-projects/spring-boot/issues/50409)
- GraphQL WebSocket support does not configure allowed origins [#​50393](https://github.com/spring-projects/spring-boot/issues/50393)
- Configuration property metadata includes incorrect class references [#​50375](https://github.com/spring-projects/spring-boot/pull/50375)
- Spring Boot Loader Does Not Support RSA and EC Signed Jars [#​50297](https://github.com/spring-projects/spring-boot/issues/50297)
- Meter registries are not removed from the global registry when the context is closed [#​50286](https://github.com/spring-projects/spring-boot/issues/50286)
- Nullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation [#​50265](https://github.com/spring-projects/spring-boot/pull/50265)
- EndpointRequest links matcher unnecessarily matches HTTP methods other than GET [#​50260](https://github.com/spring-projects/spring-boot/issues/50260)
- Actuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource [#​50257](https://github.com/spring-projects/spring-boot/issues/50257)
- ThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time [#​50233](https://github.com/spring-projects/spring-boot/issues/50233)
- NimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms [#​50227](https://github.com/spring-projects/spring-boot/issues/50227)
- Apply HTML escaping to timestamp attribute in Whitelabel error page [#​50215](https://github.com/spring-projects/spring-boot/issues/50215)
- Setting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat [#​50201](https://github.com/spring-projects/spring-boot/issues/50201)
#### :notebook\_with\_decorative\_cover: Documentation
- Fix reference to Gradle documentation for module replacement [#​50646](https://github.com/spring-projects/spring-boot/issues/50646)
- Document SSL reloading with Let's Encrypt [#​50629](https://github.com/spring-projects/spring-boot/issues/50629)
- Remove the use of Optional from Data Neo4j repository examples [#​50621](https://github.com/spring-projects/spring-boot/issues/50621)
- Fix typos in documentation [#​50619](https://github.com/spring-projects/spring-boot/issues/50619)
- Clarify dependency requirement for Bean Validation support [#​50613](https://github.com/spring-projects/spring-boot/issues/50613)
- Document Java 25 requirement for AOT cache [#​50484](https://github.com/spring-projects/spring-boot/issues/50484)
- Add links for Java CAS Client Spring Boot Starter [#​50281](https://github.com/spring-projects/spring-boot/pull/50281)
- Document known testcontainers lifecycle issues [#​50219](https://github.com/spring-projects/spring-boot/issues/50219)
- Document adding multiple connectors for Jetty [#​50217](https://github.com/spring-projects/spring-boot/issues/50217)
- Polish InvalidConfigurationPropertyValueException constructor javadoc [#​50213](https://github.com/spring-projects/spring-boot/issues/50213)
- Fix typo in Spring Security OAuth2 client registration documentation [#​50198](https://github.com/spring-projects/spring-boot/issues/50198)
#### :hammer: Dependency Upgrades
- Upgrade to [Caffeine 3.2.4](https://github.com/ben-manes/caffeine/releases/tag/v3.2.4) [#​50322](https://github.com/spring-projects/spring-boot/issues/50322)
- Upgrade to Cassandra Driver 4.19.3 [#​50681](https://github.com/spring-projects/spring-boot/issues/50681)
- Upgrade to Glassfish JAXB 4.0.9 [#​50682](https://github.com/spring-projects/spring-boot/issues/50682)
- Upgrade to Groovy 5.0.6 [#​50324](https://github.com/spring-projects/spring-boot/issues/50324)
- Upgrade to Hibernate 7.2.19.Final [#​50733](https://github.com/spring-projects/spring-boot/issues/50733)
- Upgrade to Jackson 2 Bom 2.21.4 [#​50684](https://github.com/spring-projects/spring-boot/issues/50684)
- Upgrade to Jackson Bom 3.1.4 [#​50685](https://github.com/spring-projects/spring-boot/issues/50685)
- Upgrade to Jakarta Json Bind 3.0.2 [#​50686](https://github.com/spring-projects/spring-boot/issues/50686)
- Upgrade to [Jakarta XML Bind 4.0.5](https://github.com/jakartaee/jaxb-api/releases/tag/4.0.5) [#​50328](https://github.com/spring-projects/spring-boot/issues/50328)
- Upgrade to Jaxen 2.0.6 [#​50717](https://github.com/spring-projects/spring-boot/issues/50717)
- Upgrade to [Jetty 12.1.10](https://github.com/jetty/jetty.project/releases/tag/jetty-12.1.10) [#​50688](https://github.com/spring-projects/spring-boot/issues/50688)
- Upgrade to Jetty Reactive HTTPClient 4.1.5 [#​50718](https://github.com/spring-projects/spring-boot/issues/50718)
- Upgrade to jOOQ 3.19.35 [#​50719](https://github.com/spring-projects/spring-boot/issues/50719)
- Upgrade to [Liquibase 5.0.3](https://github.com/liquibase/liquibase/releases/tag/v5.0.3) [#​50554](https://github.com/spring-projects/spring-boot/issues/50554)
- Upgrade to Logback 1.5.34 [#​50689](https://github.com/spring-projects/spring-boot/issues/50689)
- Upgrade to [Maven Enforcer Plugin 3.6.3](https://github.com/apache/maven-enforcer/releases/tag/enforcer-3.6.3) [#​50555](https://github.com/spring-projects/spring-boot/issues/50555)
- Upgrade to [Maven Failsafe Plugin 3.5.6](https://github.com/apache/maven-surefire/releases/tag/surefire-3.5.6) [#​50690](https://github.com/spring-projects/spring-boot/issues/50690)
- Upgrade to [Maven Surefire Plugin 3.5.6](https://github.com/apache/maven-surefire/releases/tag/surefire-3.5.6) [#​50691](https://github.com/spring-projects/spring-boot/issues/50691)
- Upgrade to [Micrometer 1.16.6](https://github.com/micrometer-metrics/micrometer/releases/tag/v1.16.6) [#​50535](https://github.com/spring-projects/spring-boot/issues/50535)
- Upgrade to [Micrometer Tracing 1.6.6](https://github.com/micrometer-metrics/tracing/releases/tag/v1.6.6) [#​50536](https://github.com/spring-projects/spring-boot/issues/50536)
- Upgrade to [Neo4j Java Driver 6.1.0](https://github.com/neo4j/neo4j-java-driver/releases/tag/6.1.0) [#​50556](https://github.com/spring-projects/spring-boot/issues/50556)
- Upgrade to Netty 4.2.15.Final [#​50692](https://github.com/spring-projects/spring-boot/issues/50692)
- Upgrade to [Postgresql 42.7.11](https://github.com/pgjdbc/pgjdbc/releases/tag/REL42.7.11) [#​50332](https://github.com/spring-projects/spring-boot/issues/50332)
- Upgrade to [R2DBC MySQL 1.4.2](https://github.com/asyncer-io/r2dbc-mysql/releases/tag/r2dbc-mysql-1.4.2) [#​50333](https://github.com/spring-projects/spring-boot/issues/50333)
- Upgrade to [Reactor Bom 2025.0.6](https://github.com/reactor/reactor/releases/tag/2025.0.6) [#​50537](https://github.com/spring-projects/spring-boot/issues/50537)
- Upgrade to SAAJ Impl 3.0.6 [#​50720](https://github.com/spring-projects/spring-boot/issues/50720)
- Upgrade to SLF4J 2.0.18 [#​50558](https://github.com/spring-projects/spring-boot/issues/50558)
- Upgrade to [Spring AMQP 4.0.4](https://github.com/spring-projects/spring-amqp/releases/tag/v4.0.4) [#​50538](https://github.com/spring-projects/spring-boot/issues/50538)
- Upgrade to [Spring Batch 6.0.4](https://github.com/spring-projects/spring-batch/releases/tag/v6.0.4) [#​50539](https://github.com/spring-projects/spring-boot/issues/50539)
- Upgrade to [Spring Data Bom 2025.1.6](https://github.com/spring-projects/spring-data-bom/releases/tag/2025.1.6) [#​50540](https://github.com/spring-projects/spring-boot/issues/50540)
- Upgrade to [Spring Framework 7.0.8](https://github.com/spring-projects/spring-framework/releases/tag/v7.0.8) [#​50541](https://github.com/spring-projects/spring-boot/issues/50541)
- Upgrade to [Spring GraphQL 2.0.4](https://github.com/spring-projects/spring-graphql/releases/tag/v2.0.4) [#​50740](https://github.com/spring-projects/spring-boot/issues/50740)
- Upgrade to [Spring HATEOAS 3.0.4](https://github.com/spring-projects/spring-hateoas/releases/tag/3.0.4) [#​50542](https://github.com/spring-projects/spring-boot/issues/50542)
- Upgrade to [Spring Integration 7.0.5](https://github.com/spring-projects/spring-integration/releases/tag/v7.0.5) [#​50543](https://github.com/spring-projects/spring-boot/issues/50543)
- Upgrade to [Spring Kafka 4.0.6](https://github.com/spring-projects/spring-kafka/releases/tag/v4.0.6) [#​50544](https://github.com/spring-projects/spring-boot/issues/50544)
- Upgrade to [Spring LDAP 4.0.4](https://github.com/spring-projects/spring-ldap/releases/tag/4.0.4) [#​50545](https://github.com/spring-projects/spring-boot/issues/50545)
- Upgrade to [Spring Pulsar 2.0.6](https://github.com/spring-projects/spring-pulsar/releases/tag/v2.0.6) [#​50546](https://github.com/spring-projects/spring-boot/issues/50546)
- Upgrade to [Spring RESTDocs 4.0.1](https://github.com/spring-projects/spring-restdocs/releases/tag/v4.0.1) [#​50547](https://github.com/spring-projects/spring-boot/issues/50547)
- Upgrade to [Spring Security 7.0.6](https://github.com/spring-projects/spring-security/releases/tag/7.0.6) [#​50548](https://github.com/spring-projects/spring-boot/issues/50548)
- Upgrade to [Spring Session 4.0.4](https://github.com/spring-projects/spring-session/releases/tag/4.0.4) [#​50549](https://github.com/spring-projects/spring-boot/issues/50549)
- Upgrade to [Spring WS 5.0.2](https://github.com/spring-projects/spring-ws/releases/tag/v5.0.2) [#​50550](https://github.com/spring-projects/spring-boot/issues/50550)
- Upgrade to [Tomcat 11.0.22](https://tomcat.apache.org/tomcat-11.0-doc/changelog.html) [#​50335](https://github.com/spring-projects/spring-boot/issues/50335)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​Abdlatif-nabgha](https://github.com/Abdlatif-nabgha), [@​DragonFSKY](https://github.com/DragonFSKY), [@​Kapil-chn7](https://github.com/Kapil-chn7), [@​Kimgyuilli](https://github.com/Kimgyuilli), [@​SJvaca30](https://github.com/SJvaca30), [@​SebTardif](https://github.com/SebTardif), [@​ares333](https://github.com/ares333), [@​codingkiddo](https://github.com/codingkiddo), [@​dlwldnjs1009](https://github.com/dlwldnjs1009), [@​henriquejsza](https://github.com/henriquejsza), [@​igormukhin](https://github.com/igormukhin), [@​johnnypwong](https://github.com/johnnypwong), [@​kwondh5217](https://github.com/kwondh5217), [@​leestana01](https://github.com/leestana01), [@​mheath](https://github.com/mheath), [@​mmoayyed](https://github.com/mmoayyed), [@​msridhar](https://github.com/msridhar), [@​ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@​nosan](https://github.com/nosan), [@​quaff](https://github.com/quaff), [@​scordio](https://github.com/scordio), [@​vinhhieu21](https://github.com/vinhhieu21), [@​won-seoop](https://github.com/won-seoop), and [@​zxuhan](https://github.com/zxuhan)
### [`v4.0.6`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.6)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6)
#### :lady\_beetle: Bug Fixes
- Default security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not [#​50188](https://github.com/spring-projects/spring-boot/issues/50188)
- Elasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client [#​50187](https://github.com/spring-projects/spring-boot/issues/50187)
- ApplicationPidFileWriter does not handle symlinks correctly [#​50185](https://github.com/spring-projects/spring-boot/issues/50185)
- RandomValuePropertySource is not suitable for secrets [#​50183](https://github.com/spring-projects/spring-boot/issues/50183)
- Cassandra auto-configuration misconfigures CqlSessionBuilder [#​50180](https://github.com/spring-projects/spring-boot/issues/50180)
- ApplicationTemp does not handle symlinks correctly [#​50178](https://github.com/spring-projects/spring-boot/issues/50178)
- Remote DevTools performs comparison incorrectly [#​50176](https://github.com/spring-projects/spring-boot/issues/50176)
- spring.rabbitmq.ssl.verify-hostname is applied inconsistently [#​50174](https://github.com/spring-projects/spring-boot/issues/50174)
- Whole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter [#​50077](https://github.com/spring-projects/spring-boot/issues/50077)
- Classic starters are missing several modules [#​50071](https://github.com/spring-projects/spring-boot/issues/50071)
- Module spring-boot-resttestclient is missing from spring-boot-starter-test-classic [#​50069](https://github.com/spring-projects/spring-boot/pull/50069)
- Annotations like `@Ssl` don't work on `@Bean` methods when using `@ServiceConnection` [#​50064](https://github.com/spring-projects/spring-boot/issues/50064)
- EnversRevisionRepositoriesRegistrar should reuse `@EnableEnversRepositories` rather than configuring the JPA counterpart [#​50039](https://github.com/spring-projects/spring-boot/issues/50039)
- WebFlux Cloud Foundry links endpoint includes query string from received request in resolved links [#​50017](https://github.com/spring-projects/spring-boot/issues/50017)
- Imports on a containing test class are ignored when a nested class has imports [#​50012](https://github.com/spring-projects/spring-boot/issues/50012)
- With spring.jackson.use-jackson2-defaults set to true, FAIL\_ON\_UNKNOWN\_PROPERTIES is enabled [#​49951](https://github.com/spring-projects/spring-boot/issues/49951)
- 500 response from env endpoint when supplied pattern is invalid [#​49946](https://github.com/spring-projects/spring-boot/issues/49946)
- Reactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver [#​49945](https://github.com/spring-projects/spring-boot/issues/49945)
- HTTP method is lost when configuring excludes in EndpointRequest [#​49943](https://github.com/spring-projects/spring-boot/issues/49943)
- Honor HttpMethod for reactive additional endpoint paths [#​49880](https://github.com/spring-projects/spring-boot/issues/49880)
- Docker Compose support doesn't work with apache/artemis image [#​49869](https://github.com/spring-projects/spring-boot/issues/49869)
- Docker Compose support doesn't work with apache/activemq image [#​49866](https://github.com/spring-projects/spring-boot/issues/49866)
- Spring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test [#​49854](https://github.com/spring-projects/spring-boot/issues/49854)
- API versioning path strategy should be applied path last as it is not meant to yield [#​49800](https://github.com/spring-projects/spring-boot/issues/49800)
#### :notebook\_with\_decorative\_cover: Documentation
- Update docs to encourage Java fundamentals for beginners that prefer to learn that way [#​50146](https://github.com/spring-projects/spring-boot/issues/50146)
- HTTP Service Interface Clients still document that API versioning can be configured via properties [#​50126](https://github.com/spring-projects/spring-boot/issues/50126)
- Link to the observability section of the Lettuce documentation is broken [#​50097](https://github.com/spring-projects/spring-boot/issues/50097)
- Javadoc for StaticResourceLocation.FAVICON doesn't describe icons location [#​50085](https://github.com/spring-projects/spring-boot/issues/50085)
- MySamlRelyingPartyConfiguration is missing a Kotlin sample [#​50024](https://github.com/spring-projects/spring-boot/issues/50024)
- Incorrect default value for management.httpexchanges.recording.include in configuration metadata [#​50019](https://github.com/spring-projects/spring-boot/issues/50019)
- Link to the Kubernetes documentation when discussing startup probes [#​50015](https://github.com/spring-projects/spring-boot/issues/50015)
- Typo in JdbcSessionAutoConfiguration Javadoc [#​49873](https://github.com/spring-projects/spring-boot/pull/49873)
- Clarify that configuration property default values are not available through the Environment [#​49851](https://github.com/spring-projects/spring-boot/issues/49851)
- Document the need for Liquibase and Flyway starters [#​49839](https://github.com/spring-projects/spring-boot/pull/49839)
- Kafka documentation refers to deprecated JSON serializer and deserializer classes [#​49826](https://github.com/spring-projects/spring-boot/pull/49826)
#### :hammer: Dependency Upgrades
- Upgrade to Elasticsearch Client 9.2.8 [#​50027](https://github.com/spring-projects/spring-boot/issues/50027)
- Upgrade to Groovy 5.0.5 [#​49911](https://github.com/spring-projects/spring-boot/issues/49911)
- Upgrade to Hibernate 7.2.12.Final [#​50134](https://github.com/spring-projects/spring-boot/issues/50134)
- Upgrade to Jackson Bom 3.1.2 [#​50051](https://github.com/spring-projects/spring-boot/issues/50051)
- Upgrade to [Jaxen 2.0.1](https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1) [#​50104](https://github.com/spring-projects/spring-boot/issues/50104)
- Upgrade to [Jaybird 6.0.5](https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5) [#​49914](https://github.com/spring-projects/spring-boot/issues/49914)
- Upgrade to [Jetty 12.1.8](https://github.com/jetty/jetty.project/releases/tag/jetty-12.1.8) [#​49915](https://github.com/spring-projects/spring-boot/issues/49915)
- Upgrade to [jOOQ 3.19.32](https://github.com/jOOQ/jOOQ/releases/tag/version-3.19.32) [#​50105](https://github.com/spring-projects/spring-boot/issues/50105)
- Upgrade to [Log4j2 2.25.4](https://github.com/apache/logging-log4j2/releases/tag/rel%2F2.25.4) [#​49916](https://github.com/spring-projects/spring-boot/issues/49916)
- Upgrade to Lombok 1.18.46 [#​50150](https://github.com/spring-projects/spring-boot/issues/50150)
- Upgrade to [MariaDB 3.5.8](https://mariadb.com/kb/en/mariadb-connector-j-3-5-8-release-notes) [#​49917](https://github.com/spring-projects/spring-boot/issues/49917)
- Upgrade to [Micrometer 1.16.5](https://github.com/micrometer-metrics/micrometer/releases/tag/v1.16.5) [#​49972](https://github.com/spring-projects/spring-boot/issues/49972)
- Upgrade to [Micrometer Tracing 1.6.5](https://github.com/micrometer-metrics/tracing/releases/tag/v1.6.5) [#​49973](https://github.com/spring-projects/spring-boot/issues/49973)
- Upgrade to [MongoDB 5.6.5](https://github.com/mongodb/mongo-java-driver/releases/tag/r5.6.5) [#​50028](https://github.com/spring-projects/spring-boot/issues/50028)
- Upgrade to [MySQL 9.7.0](https://dev.mysql.com/doc/relnotes/connector-j/en/news-9-7-0.html) [#​50159](https://github.com/spring-projects/spring-boot/issues/50159)
- Upgrade to Neo4j Java Driver 6.0.5 [#​50075](https://github.com/spring-projects/spring-boot/issues/50075)
- Upgrade to [Reactor Bom 2025.0.5](https://github.com/reactor/reactor/releases/tag/2025.0.5) [#​49974](https://github.com/spring-projects/spring-boot/issues/49974)
- Upgrade to [Spring AMQP 4.0.3](https://github.com/spring-projects/spring-amqp/releases/tag/v4.0.3) [#​49975](https://github.com/spring-projects/spring-boot/issues/49975)
- Upgrade to [Spring Data Bom 2025.1.5](https://github.com/spring-projects/spring-data-bom/releases/tag/2025.1.5) [#​49976](https://github.com/spring-projects/spring-boot/issues/49976)
- Upgrade to [Spring Framework 7.0.7](https://github.com/spring-projects/spring-framework/releases/tag/v7.0.7) [#​49977](https://github.com/spring-projects/spring-boot/issues/49977)
- Upgrade to [Spring GraphQL 2.0.3](https://github.com/spring-projects/spring-graphql/releases/tag/v2.0.3) [#​49978](https://github.com/spring-projects/spring-boot/issues/49978)
- Upgrade to [Spring Kafka 4.0.5](https://github.com/spring-projects/spring-kafka/releases/tag/v4.0.5) [#​49979](https://github.com/spring-projects/spring-boot/issues/49979)
- Upgrade to [Spring LDAP 4.0.3](https://github.com/spring-projects/spring-ldap/releases/tag/4.0.3) [#​49980](https://github.com/spring-projects/spring-boot/issues/49980)
- Upgrade to [Spring Pulsar 2.0.5](https://github.com/spring-projects/spring-pulsar/releases/tag/v2.0.5) [#​49981](https://github.com/spring-projects/spring-boot/issues/49981)
- Upgrade to [Spring Security 7.0.5](https://github.com/spring-projects/spring-security/releases/tag/7.0.5) [#​49982](https://github.com/spring-projects/spring-boot/issues/49982)
- Upgrade to [Spring Session 4.0.3](https://github.com/spring-projects/spring-session/releases/tag/4.0.3) [#​49983](https://github.com/spring-projects/spring-boot/issues/49983)
- Upgrade to [Testcontainers 2.0.5](https://github.com/testcontainers/testcontainers-java/releases/tag/2.0.5) [#​50135](https://github.com/spring-projects/spring-boot/issues/50135)
- Upgrade to Thymeleaf 3.1.5.RELEASE [#​50152](https://github.com/spring-projects/spring-boot/issues/50152)
- Upgrade to Thymeleaf Extras SpringSecurity 3.1.5.RELEASE [#​50153](https://github.com/spring-projects/spring-boot/issues/50153)
- Upgrade to [Tomcat 11.0.21](https://tomcat.apache.org/tomcat-11.0-doc/changelog.html) [#​49918](https://github.com/spring-projects/spring-boot/issues/49918)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​GollapudiSrikanth](https://github.com/GollapudiSrikanth), [@​MohammedGhallab](https://github.com/MohammedGhallab), [@​bachhs](https://github.com/bachhs), [@​dlwldnjs1009](https://github.com/dlwldnjs1009), [@​edwardsre](https://github.com/edwardsre), [@​kodama-kcc](https://github.com/kodama-kcc), [@​kwondh5217](https://github.com/kwondh5217), [@​ppapaj](https://github.com/ppapaj), [@​quaff](https://github.com/quaff), [@​refeccd](https://github.com/refeccd), [@​scordio](https://github.com/scordio), and [@​xxxxxxjun](https://github.com/xxxxxxjun)
### [`v4.0.5`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.5)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.4...v4.0.5)
#### :lady\_beetle: Bug Fixes
- Test starter for Spring Integration does not include Spring Integration test module [#​49784](https://github.com/spring-projects/spring-boot/issues/49784)
- Some sliced tests that import TransactionAutoConfiguration do not import TransactionManagerCustomizationAutoConfiguration [#​49782](https://github.com/spring-projects/spring-boot/issues/49782)
- WebSocket messaging's task executors are only auto-configured and stompWebSocketHandlerMapping is only forced to be eager when using Jackson [#​49753](https://github.com/spring-projects/spring-boot/issues/49753)
- WebSocket app fails to start when Jackson is on the classpath but there's no JsonMapper bean [#​49749](https://github.com/spring-projects/spring-boot/issues/49749)
- Metadata annotation processor ignores method-level `@NestedConfigurationProperty` when using constructor binding [#​49738](https://github.com/spring-projects/spring-boot/issues/49738)
- Override of property in external 'application.properties' or 'application.yaml' is ignored [#​49731](https://github.com/spring-projects/spring-boot/issues/49731)
- NativeImageResourceProvider does not find Flyway migration scripts in subdirectories [#​49706](https://github.com/spring-projects/spring-boot/issues/49706)
- Add `@ConditionalOnWebApplication` to NettyReactiveWebServerAutoConfiguration [#​49695](https://github.com/spring-projects/spring-boot/pull/49695)
- `@GraphQlTest` does not include `@ControllerAdvice` [#​49672](https://github.com/spring-projects/spring-boot/issues/49672)
#### :notebook\_with\_decorative\_cover: Documentation
- Fix incorrect indefinite articles in Javadoc [#​49727](https://github.com/spring-projects/spring-boot/issues/49727)
- Add some more Kotlin examples and trivial style fixes [#​49714](https://github.com/spring-projects/spring-boot/issues/49714)
- Overhaul Spring Session documentation following modularization [#​49704](https://github.com/spring-projects/spring-boot/issues/49704)
#### :hammer: Dependency Upgrades
- Upgrade to Brave 6.3.1 [#​49763](https://github.com/spring-projects/spring-boot/issues/49763)
- Upgrade to Jackson 2 Bom 2.21.2 [#​49764](https://github.com/spring-projects/spring-boot/issues/49764)
- Upgrade to jOOQ 3.19.31 [#​49765](https://github.com/spring-projects/spring-boot/issues/49765)
- Upgrade to Netty 4.2.12.Final [#​49794](https://github.com/spring-projects/spring-boot/issues/49794)
- Upgrade to Tomcat 11.0.20 [#​49767](https://github.com/spring-projects/spring-boot/issues/49767)
- Upgrade to Zipkin Reporter 3.5.3 [#​49762](https://github.com/spring-projects/spring-boot/issues/49762)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​Joowon-Seo](https://github.com/Joowon-Seo), [@​deejay1](https://github.com/deejay1), [@​dlwldnjs1009](https://github.com/dlwldnjs1009), [@​kwondh5217](https://github.com/kwondh5217), [@​ljrmorgan](https://github.com/ljrmorgan), and [@​quaff](https://github.com/quaff)
### [`v4.0.4`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.4)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.4)
#### :warning: Attention Required
- OpenTelemetry's ZipkinSpanExporter has been deprecated and its support will be removed in Spring Boot 4.2. [#​49453](https://github.com/spring-projects/spring-boot/issues/49453)
- Jackson 2 has been upgraded to 2.21.1 in response to the Jackson team ending support for Jackson 2.20.x. [#​49389](https://github.com/spring-projects/spring-boot/issues/49389)
- Jackson has been upgraded to 3.1.0 in response to the Jackson team ending support for Jackson 3.0.x. [#​49383](https://github.com/spring-projects/spring-boot/issues/49383)
- The default value for `server.tomcat.max-part-count` has been increased from 10 to 50. This aligns it with Tomcat's own default and the default in Spring Boot 3.x. [#​49311](https://github.com/spring-projects/spring-boot/issues/49311)
#### :lady\_beetle: Bug Fixes
- EndpointRequest request matcher for health groups is too complex [#​49649](https://github.com/spring-projects/spring-boot/issues/49649)
- "/cloudfoundryapplication" web path is not limited to Actuator [#​49646](https://github.com/spring-projects/spring-boot/issues/49646)
- Fix EndpointRequest.toLinks() when base-path is '/' [#​49617](https://github.com/spring-projects/spring-boot/issues/49617)
- Docker fails when a 'tcp\://' address ends with a slash (for example 'tcp\://docker:2375/') [#​49596](https://github.com/spring-projects/spring-boot/issues/49596)
- RSocket exposes duplicate endpoint for websocket setups [#​49593](https://github.com/spring-projects/spring-boot/issues/49593)
- Failure analysis for a missing mail sender is misleading [#​49582](https://github.com/spring-projects/spring-boot/pull/49582)
- SpringBootContextLoader mentions class that no longer exists in message for classes or locations assertion [#​49535](https://github.com/spring-projects/spring-boot/issues/49535)
- Ordering of 'spring.config.import' is inconsistent when defined in environment or system properties [#​49482](https://github.com/spring-projects/spring-boot/issues/49482)
- "spring.main.cloud-platform=none" does not disable cloud features [#​49479](https://github.com/spring-projects/spring-boot/issues/49479)
- SSL support with Docker Compose does not work as documented [#​49385](https://github.com/spring-projects/spring-boot/issues/49385)
- Auto-configuration overrides authorization server configuration applied by Customizer<HttpSecurity> beans [#​49367](https://github.com/spring-projects/spring-boot/issues/49367)
- Using `@AutoConfigureWebTestClient` prevents separate configuration of spring.test.webtestclient.timeout from taking effect [#​49344](https://github.com/spring-projects/spring-boot/issues/49344)
- NoSuchMethodException when forcing the use of Log4J2LoggingSystem using org.springframework.boot.logging.LoggingSystem system property [#​49343](https://github.com/spring-projects/spring-boot/pull/49343)
- RouterFunctions descriptions in Actuator do not support nesting [#​49302](https://github.com/spring-projects/spring-boot/issues/49302)
- Maven plugin does not set '-parameters' option when processing AOT code [#​49295](https://github.com/spring-projects/spring-boot/issues/49295)
- HTTP Service Interface Client doesn't work in a native image due to missing property binding [#​49274](https://github.com/spring-projects/spring-boot/issues/49274)
- ErrorPageRegistrarBeanPostProcessor is not auto-configured in war deployments and the ErrorPageCustomizer is not applied [#​49176](https://github.com/spring-projects/spring-boot/pull/49176)
- Missing starter for spring-boot-restdocs [#​48289](https://github.com/spring-projects/spring-boot/issues/48289)
#### :notebook\_with\_decorative\_cover: Documentation
- Document support for Java 26 [#​49604](https://github.com/spring-projects/spring-boot/issues/49604)
- List all supported colors when describing color-coded log output [#​49562](https://github.com/spring-projects/spring-boot/issues/49562)
- Improve EndpointRequest matcher documentation [#​49520](https://github.com/spring-projects/spring-boot/issues/49520)
- Clarify that running is the only supported input state when triggering a Quartz job through the Actuator endpoint [#​49514](https://github.com/spring-projects/spring-boot/issues/49514)
- Document security considerations for forwarded headers in cloud deployments [#​49507](https://github.com/spring-projects/spring-boot/issues/49507)
- Tutorial in the reference guide has outdated instructions [#​49429](https://github.com/spring-projects/spring-boot/issues/49429)
- Document additional repositories required for shibboleth.net [#​49392](https://github.com/spring-projects/spring-boot/issues/49392)
- Javadoc of JettyHttpClientBuilder refers to the wrong type [#​49387](https://github.com/spring-projects/spring-boot/issues/49387)
- Example spring-devtools.properties file is shown in the wrong format [#​49362](https://github.com/spring-projects/spring-boot/issues/49362)
- Clarify inferred relationships between OAuth 2 registrations and providers [#​49327](https://github.com/spring-projects/spring-boot/issues/49327)
- Mention using org.springframework.boot.aot Gradle plugin directly for AOT processing with the JVM [#​49321](https://github.com/spring-projects/spring-boot/issues/49321)
- Remove superfluous semi-colon from read timeout configuration example for HTTP service interface clients [#​49306](https://github.com/spring-projects/spring-boot/pull/49306)
- Update CLI's INSTALL.txt to reflect Groovy no longer being bundled [#​49298](https://github.com/spring-projects/spring-boot/issues/49298)
- JDK requirement for the CLI still refers to Java 8 [#​49293](https://github.com/spring-projects/spring-boot/issues/49293)
- Java and Kotlin samples of an environment post processor are inconsistent [#​49287](https://github.com/spring-projects/spring-boot/issues/49287)
#### :hammer: Dependency Upgrades
- Upgrade to Commons Logging 1.3.6 [#​49545](https://github.com/spring-projects/spring-boot/issues/49545)
- Upgrade to DB2 JDBC 12.1.4.0 [#​49546](https://github.com/spring-projects/spring-boot/issues/49546)
- Upgrade to Elasticsearch Client 9.2.6 [#​49421](https://github.com/spring-projects/spring-boot/issues/49421)
- Upgrade to Hibernate 7.2.7.Final [#​49608](https://github.com/spring-projects/spring-boot/issues/49608)
- Upgrade to Jakarta XML WS 4.0.3 [#​49469](https://github.com/spring-projects/spring-boot/issues/49469)
- Upgrade to JBoss Logging 3.6.3.Final [#​49632](https://github.com/spring-projects/spring-boot/issues/49632)
- Upgrade to Jetty 12.1.7 [#​49470](https://github.com/spring-projects/spring-boot/issues/49470)
- Upgrade to Kafka 4.1.2 [#​49627](https://github.com/spring-projects/spring-boot/issues/49627)
- Upgrade to Liquibase 5.0.2 [#​49471](https://github.com/spring-projects/spring-boot/issues/49471)
- Upgrade to Lombok 1.18.44 [#​49575](https://github.com/spring-projects/spring-boot/issues/49575)
- Upgrade to Maven Failsafe Plugin 3.5.5 [#​49472](https://github.com/spring-projects/spring-boot/issues/49472)
- Upgrade to Maven Shade Plugin 3.6.2 [#​49473](https://github.com/spring-projects/spring-boot/issues/49473)
- Upgrade to Maven Surefire Plugin 3.5.5 [#​49474](https://github.com/spring-projects/spring-boot/issues/49474)
- Upgrade to Micrometer 1.16.4 [#​49413](https://github.com/spring-projects/spring-boot/issues/49413)
- Upgrade to Micrometer Tracing 1.6.4 [#​49414](https://github.com/spring-projects/spring-boot/issues/49414)
- Upgrade to MongoDB 5.6.4 [#​49422](https://github.com/spring-projects/spring-boot/issues/49422)
- Upgrade to Native Build Tools Plugin 0.11.5 [#​49475](https://github.com/spring-projects/spring-boot/issues/49475)
- Upgrade to Neo4j Java Driver 6.0.3 [#​49431](https://github.com/spring-projects/spring-boot/issues/49431)
- Upgrade to Pulsar 4.1.3 [#​49476](https://github.com/spring-projects/spring-boot/issues/49476)
- Upgrade to Reactor Bom 2025.0.4 [#​49415](https://github.com/spring-projects/spring-boot/issues/49415)
- Upgrade to Spring Batch 6.0.3 [#​49416](https://github.com/spring-projects/spring-boot/issues/49416)
- Upgrade to Spring Data Bom 2025.1.4 [#​49417](https://github.com/spring-projects/spring-boot/issues/49417)
- Upgrade to Spring Framework 7.0.6 [#​49418](https://github.com/spring-projects/spring-boot/issues/49418)
- Upgrade to Spring HATEOAS 3.0.3 [#​49587](https://github.com/spring-projects/spring-boot/issues/49587)
- Upgrade to Spring Integration 7.0.4 [#​49529](https://github.com/spring-projects/spring-boot/issues/49529)
- Upgrade to Spring Kafka 4.0.4 [#​49419](https://github.com/spring-projects/spring-boot/issues/49419)
- Upgrade to Spring Pulsar 2.0.4 [#​49420](https://github.com/spring-projects/spring-boot/issues/49420)
- Upgrade to Spring Security 7.0.4 [#​49530](https://github.com/spring-projects/spring-boot/issues/49530)
- Upgrade to Spring WS 5.0.1 [#​49531](https://github.com/spring-projects/spring-boot/issues/49531)
- Upgrade to Testcontainers 2.0.4 [#​49655](https://github.com/spring-projects/spring-boot/issues/49655)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​FBibonne](https://github.com/FBibonne), [@​answndud](https://github.com/answndud), [@​bbbbooo](https://github.com/bbbbooo), [@​chandanv89](https://github.com/chandanv89), [@​giyeon95](https://github.com/giyeon95), [@​itsmevichu](https://github.com/itsmevichu), [@​jayychoi](https://github.com/jayychoi), [@​l2yujw](https://github.com/l2yujw), [@​ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@​qnnn](https://github.com/qnnn), [@​quaff](https://github.com/quaff), and [@​sbrannen](https://github.com/sbrannen)
### [`v4.0.3`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.3)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.2...v4.0.3)
#### :star: New Features
- Add TWENTY\_SIX to JavaVersion enum [#​49193](https://github.com/spring-projects/spring-boot/issues/49193)
#### :lady\_beetle: Bug Fixes
- Jackson properties may not be applied correctly to RestClients [#​49223](https://github.com/spring-projects/spring-boot/issues/49223)
- ClassNotFoundException when using Actuator without spring-boot-health [#​49196](https://github.com/spring-projects/spring-boot/issues/49196)
- Using the OTel and Zipkin starters together creates invalid configuration [#​49183](https://github.com/spring-projects/spring-boot/issues/49183)
- Whitespace can be incorrectly removed when spring-boot-configuration-processor runs on multi-line javadoc [#​49060](https://github.com/spring-projects/spring-boot/issues/49060)
- Jackson2HttpMessageConvertersConfiguration uses ConditionOn Jackson3 XMLMapper class [#​49015](https://github.com/spring-projects/spring-boot/issues/49015)
- server.jetty.threads.max is ignored when using virtual threads [#​48989](https://github.com/spring-projects/spring-boot/issues/48989)
- Slice test includes fail to load when using spring-boot-starter-test-classic [#​48981](https://github.com/spring-projects/spring-boot/issues/48981)
- Docker credential helpers with file extensions cannot be executed on Windows [#​48979](https://github.com/spring-projects/spring-boot/issues/48979)
- Java version requirement check for native image is confusing if AOT didn't run [#​48963](https://github.com/spring-projects/spring-boot/issues/48963)
- TestPropertyValues.Pair.fromMapEntry(Entry\<String, String>) does not comply with its nullability contract [#​48948](https://github.com/spring-projects/spring-boot/issues/48948)
#### :notebook\_with\_decorative\_cover: Documentation
- Couchbase and Kafka are incorrectly listed as supporting SSL with Docker Compose [#​49212](https://github.com/spring-projects/spring-boot/issues/49212)
- Document that use of non idiomatic format for '`@Value`' still apply for environment variables [#​49109](https://github.com/spring-projects/spring-boot/issues/49109)
- Document naming convention for custom test-scoped starters [#​49017](https://github.com/spring-projects/spring-boot/issues/49017)
- Delay removal of Jackson 2 support until 4.3 at the earliest [#​49010](https://github.com/spring-projects/spring-boot/issues/49010)
- LICENSE.txt and NOTICE.txt files have the wrong content in the latest releases [#​49003](https://github.com/spring-projects/spring-boot/issues/49003)
- ApplicationContextAssert documents a non-existent assertion in getFailure() [#​48977](https://github.com/spring-projects/spring-boot/issues/48977)
- Highlight the importance of the preStop hook when configuring Kubernetes probes [#​48946](https://github.com/spring-projects/spring-boot/issues/48946)
#### :hammer: Dependency Upgrades
- Upgrade to AssertJ 3.27.7 [#​49095](https://github.com/spring-projects/spring-boot/issues/49095)
- Upgrade to Elasticsearch Client 9.2.5 [#​49184](https://github.com/spring-projects/spring-boot/issues/49184)
- Upgrade to Groovy 5.0.4 [#​49097](https://github.com/spring-projects/spring-boot/issues/49097)
- Upgrade to Hibernate 7.2.3.Final [#​49098](https://github.com/spring-projects/spring-boot/issues/49098)
- Upgrade to Hibernate 7.2.4.Final [#​49167](https://github.com/spring-projects/spring-boot/issues/49167)
- Upgrade to Jaybird 6.0.4 [#​49099](https://github.com/spring-projects/spring-boot/issues/49099)
- Upgrade to JBoss Logging 3.6.2.Final [#​49100](https://github.com/spring-projects/spring-boot/issues/49100)
- Upgrade to Jersey 4.0.2 [#​49101](https://github.com/spring-projects/spring-boot/issues/49101)
- Upgrade to Jetty 12.1.6 [#​49102](https://github.com/spring-projects/spring-boot/issues/49102)
- Upgrade to jOOQ 3.19.30 [#​49103](https://github.com/spring-projects/spring-boot/issues/49103)
- Upgrade to JUnit Jupiter 6.0.3 [#​49233](https://github.com/spring-projects/spring-boot/issues/49233)
- Upgrade to Logback 1.5.29 [#​49169](https://github.com/spring-projects/spring-boot/issues/49169)
- Upgrade to Logback 1.5.32 [#​49245](https://github.com/spring-projects/spring-boot/issues/49245)
- Upgrade to Micrometer 1.16.3 [#​49111](https://github.com/spring-projects/spring-boot/issues/49111)
- Upgrade to Micrometer Tracing 1.6.3 [#​49112](https://github.com/spring-projects/spring-boot/issues/49112)
- Upgrade to MongoDB 5.6.3 [#​49105](https://github.com/spring-projects/spring-boot/issues/49105)
- Upgrade to MySQL 9.6.0 [#​49106](https://github.com/spring-projects/spring-boot/issues/49106)
- Upgrade to Netty 4.2.10.Final [#​49107](https://github.com/spring-projects/spring-boot/issues/49107)
- Upgrade to Postgresql 42.7.10 [#​49202](https://github.com/spring-projects/spring-boot/issues/49202)
- Upgrade to Reactor Bom 2025.0.3 [#​49087](https://github.com/spring-projects/spring-boot/issues/49087)
- Upgrade to Spring Data Bom 2025.1.3 [#​49088](https://github.com/spring-projects/spring-boot/issues/49088)
- Upgrade to Spring Framework 7.0.5 [#​49216](https://github.com/spring-projects/spring-boot/issues/49216)
- Upgrade to Spring Integration 7.0.3 [#​49217](https://github.com/spring-projects/spring-boot/issues/49217)
- Upgrade to Spring Kafka 4.0.3 [#​49090](https://github.com/spring-projects/spring-boot/issues/49090)
- Upgrade to Spring LDAP 4.0.2 [#​49091](https://github.com/spring-projects/spring-boot/issues/49091)
- Upgrade to Spring Pulsar 2.0.3 [#​49092](https://github.com/spring-projects/spring-boot/issues/49092)
- Upgrade to Spring Security 7.0.3 [#​49093](https://github.com/spring-projects/spring-boot/issues/49093)
- Upgrade to Spring Session 4.0.2 [#​49094](https://github.com/spring-projects/spring-boot/issues/49094)
- Upgrade to Tomcat 11.0.18 [#​49108](https://github.com/spring-projects/spring-boot/issues/49108)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​GaetanoCerciello](https://github.com/GaetanoCerciello), [@​dsyer](https://github.com/dsyer), [@​linkian209](https://github.com/linkian209), [@​nosan](https://github.com/nosan), [@​quaff](https://github.com/quaff), [@​scordio](https://github.com/scordio), and [@​srt](https://github.com/srt)
### [`v4.0.2`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.2)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.1...v4.0.2)
#### :warning: Noteworthy Changes
- The dependency on `org.eclipse.jetty.ee11:jetty-ee11-servlets` has been removed from `spring-boot-jetty` as it was unnecessary and unused. If your application code depends on a class from `jetty-ee11-servlets`, declare a dependency on it in your build configuration. [#​48677](https://github.com/spring-projects/spring-boot/issues/48677)
#### :lady\_beetle: Bug Fixes
- No TransactionAutoConfiguration with spring-boot-starter-kafka for Spring Boot 4 [#​48880](https://github.com/spring-projects/spring-boot/issues/48880)
- Evaluation of bean conditions unnecessarily queries the bean factory for types that are not present [#​48840](https://github.com/spring-projects/spring-boot/issues/48840)
- When a bean condition references a type that is not present, it appears as ? in the condition evaluation report [#​48838](https://github.com/spring-projects/spring-boot/issues/48838)
- SessionAutoConfiguration creates a DefaultCookieSerializer with a default SameSite of null instead of Lax [#​48830](https://github.com/spring-projects/spring-boot/issues/48830)
- Setting graphql schema location to "classpath\*:graphql/\*\*/" causes failure due to incorrectly packaged test resource [#​48829](https://github.com/spring-projects/spring-boot/pull/48829)
- Message interpolation by MVC and WebFlux's Validators does not work correctly in a native image [#​48828](https://github.com/spring-projects/spring-boot/issues/48828)
- CloudFoundry integration fails in Servlet-based web app without a dependency on spring-boot-starter-restclient [#​48826](https://github.com/spring-projects/spring-boot/issues/48826)
- RestTestClientAutoConfiguration and TestRestTemplateAutoConfiguration should be package-private [#​48820](https://github.com/spring-projects/spring-boot/issues/48820)
- SSL metrics are no longer auto-configured [#​48819](https://github.com/spring-projects/spring-boot/issues/48819)
- Actuator /info endpoint fails in Java 25 Native Image (VirtualThreadSchedulerMXBean support) [#​48812](https://github.com/spring-projects/spring-boot/issues/48812)
- DataSourceBuilder cannot create oracle.ucp.jdbc.PoolDataSourceImpl in a native image [#​48703](https://github.com/spring-projects/spring-boot/issues/48703)
- The spring-boot-cloudfoundry module should only have an optional dependency on spring-boot-security [#​48685](https://github.com/spring-projects/spring-boot/issues/48685)
- Application JAR created by extract command is not reproductible [#​48678](https://github.com/spring-projects/spring-boot/issues/48678)
- AOT processing of tests should not be disabled when 'skipTests' is set [#​48662](https://github.com/spring-projects/spring-boot/issues/48662)
- `@SpringBootTest`(webEnvironment = WebEnvironment.RANDOM\_PORT) is no longer applied to the management server [#​48653](https://github.com/spring-projects/spring-boot/issues/48653)
- Fix zero-length byte buffer in InspectedContent [#​48650](https://github.com/spring-projects/spring-boot/issues/48650)
- Can no longer override JacksonJsonHttpMessageConverter with ServerHttpMessageConvertersCustomizer [#​48635](https://github.com/spring-projects/spring-boot/issues/48635)
- HttpServiceClientProperties incorrectly uses the `@ConfigurationProperties` annotation on a LinkedHashMap class [#​48616](https://github.com/spring-projects/spring-boot/issues/48616)
- spring-boot-micrometer-tracing-opentelemetry fails if spring-boot-opentelemetry isn't there [#​48585](https://github.com/spring-projects/spring-boot/issues/48585)
- App fails to start with starter-webmvc and starter-zipkin [#​48581](https://github.com/spring-projects/spring-boot/issues/48581)
- Micrometer test modules should have an api dependency on micrometer-observation-test [#​48386](https://github.com/spring-projects/spring-boot/issues/48386)
#### :notebook\_with\_decorative\_cover: Documentation
- Fix typo in REST client documentation [#​48907](https://github.com/spring-projects/spring-boot/pull/48907)
- Remove duplicate word [#​48874](https://github.com/spring-projects/spring-boot/pull/48874)
- Document support for configuring arguments passed to Docker Compose [#​48806](https://github.com/spring-projects/spring-boot/issues/48806)
- The documentation related to EnvironmentPostProcessor links to deprecated interface [#​48803](https://github.com/spring-projects/spring-boot/issues/48803)
- Update documentation for Buildpack's AOT Cache support [#​48769](https://github.com/spring-projects/spring-boot/issues/48769)
- Correct docs to use new location for error handling configuration properties [#​48767](https://github.com/spring-projects/spring-boot/pull/48767)
- Document spring-boot-starter-cloudfoundry on Cloud Foundry Support Page [#​48675](https://github.com/spring-projects/spring-boot/issues/48675)
- Clarify javadoc to make it clear that HazelcastConfigCustomizer beans are only applied if Hazelcast is configured via a config file [#​48659](https://github.com/spring-projects/spring-boot/issues/48659)
- Example using excludeDevtools property should document that optional dependencies should be enabled [#​48641](https://github.com/spring-projects/spring-boot/issues/48641)
- Fix grammar and typos in the reference guide [#​48601](https://github.com/spring-projects/spring-boot/issues/48601)
- Update Tracing section for Spring Boot 4's modularity [#​48576](https://github.com/spring-projects/spring-boot/issues/48576)
#### :hammer: Dependency Upgrades
- Upgrade to Classmate 1.7.3 [#​48783](https://github.com/spring-projects/spring-boot/issues/48783)
- Upgrade to Elasticsearch Client 9.2.3 [#​48721](https://github.com/spring-projects/spring-boot/issues/48721)
- Upgrade to Hibernate 7.2.1.Final [#​48857](https://github.com/spring-projects/spring-boot/issues/48857)
- Upgrade to HttpClient5 5.5.2 [#​48784](https://github.com/spring-projects/spring-boot/issues/48784)
- Upgrade to Jackson 2 Bom 2.20.2 [#​48910](https://github.com/spring-projects/spring-boot/issues/48910)
- Upgrade to Jackson Bom 3.0.4 [#​48931](https://github.com/spring-projects/spring-boot/issues/48931)
- Upgrade to JUnit Jupiter 6.0.2 [#​48785](https://github.com/spring-projects/spring-boot/issues/48785)
- Upgrade to Lettuce 6.8.2.RELEASE [#​48859](https://github.com/spring-projects/spring-boot/issues/48859)
- Upgrade to Logback 1.5.24 [#​48786](https://github.com/spring-projects/spring-boot/issues/48786)
- Upgrade to Logback 1.5.25 [#​48885](https://github.com/spring-projects/spring-boot/issues/48885)
- Upgrade to Micrometer 1.16.2 [#​48712](https://github.com/spring-projects/spring-boot/issues/48712)
- Upgrade to Micrometer Tracing 1.6.2 [#​48713](https://github.com/spring-projects/spring-boot/issues/48713)
- Upgrade to Native Build Tools Plugin 0.11.4 [#​48911](https://github.com/spring-projects/spring-boot/issues/48911)
- Upgrade to Pooled JMS 3.1.9 [#​48787](https://github.com/spring-projects/spring-boot/issues/48787)
- Upgrade to Postgresql 42.7.9 [#​48886](https://github.com/spring-projects/spring-boot/issues/48886)
- Upgrade to R2DBC MSSQL 1.0.4.RELEASE [#​48858](https://github.com/spring-projects/spring-boot/issues/48858)
- Upgrade to Reactor Bom 2025.0.2 [#​48714](https://github.com/spring-projects/spring-boot/issues/48714)
- Upgrade to Spring AMQP 4.0.2 [#​48832](https://github.com/spring-projects/spring-boot/issues/48832)
- Upgrade to Spring Batch 6.0.2 [#​48715](https://github.com/spring-projects/spring-boot/issues/48715)
- Upgrade to Spring Data Bom 2025.1.2 [#​48716](https://github.com/spring-projects/spring-boot/issues/48716)
- Upgrade to Spring Framework 7.0.3 [#​48717](https://github.com/spring-projects/spring-boot/issues/48717)
- Upgrade to Spring GraphQL 2.0.2 [#​48718](https://github.com/spring-projects/spring-boot/issues/48718)
- Upgrade to Spring HATEOAS 3.0.2 [#​48834](https://github.com/spring-projects/spring-boot/issues/48834)
- Upgrade to Spring Integration 7.0.2 [#​48833](https://github.com/spring-projects/spring-boot/issues/48833)
- Upgrade to Spring Kafka 4.0.2 [#​48719](https://github.com/spring-projects/spring-boot/issues/48719)
- Upgrade to Spring Pulsar 2.0.2 [#​48720](https://github.com/spring-projects/spring-boot/issues/48720)
- Upgrade to WebJars Locator Lite 1.1.3 [#​48788](https://github.com/spring-projects/spring-boot/issues/48788)
- Upgrade to XML Maven Plugin 1.2.1 [#​48887](https://github.com/spring-projects/spring-boot/issues/48887)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​GaoSSR](https://github.com/GaoSSR), [@​ShaunHaldane](https://github.com/ShaunHaldane), [@​Zuohuang-Cai](https://github.com/Zuohuang-Cai), [@​izeye](https://github.com/izeye), [@​mspiess](https://github.com/mspiess), [@​ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), and [@​philipbolting](https://github.com/philipbolting)
### [`v4.0.1`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.1)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v4.0.0...v4.0.1)
#### :warning: 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](https://docs.spring.io/spring-boot/4.0-SNAPSHOT/reference/testing/spring-boot-applications.html#testing.spring-boot-applications.with-running-server)
#### :lady\_beetle: Bug Fixes
- JsonMixinModuleEntriesBeanRegistrationAotProcessor does not handle deprecated code [#​48564](https://github.com/spring-projects/spring-boot/issues/48564)
- JdbcSessionAutoConfiguration may not match when using the auto-configured DataSource [#​48552](https://github.com/spring-projects/spring-boot/pull/48552)
- `@ServiceConnection` for LgtmStackContainer fails when logging endpoint is configured due to multiple OtlpLoggingConnectionDetails beans [#​48536](https://github.com/spring-projects/spring-boot/issues/48536)
- WebApplicationType does not consider modules when deduced from classpath [#​48517](https://github.com/spring-projects/spring-boot/issues/48517)
- Spring Session auto-configuration fails in a war deployment as ServerProperties is not available [#​48493](https://github.com/spring-projects/spring-boot/issues/48493)
- Opentelemetry logging export requires actuator module [#​48488](https://github.com/spring-projects/spring-boot/issues/48488)
- RabbitHealthIndicator reports an error when version is missing from the connection's server properties [#​48487](https://github.com/spring-projects/spring-boot/issues/48487)
- Actuator Info class has inconsistent nullability annotations and cannot be built with null value [#​48480](https://github.com/spring-projects/spring-boot/pull/48480)
- Profiles retained during AOT processing are not configured in a native image [#​48476](https://github.com/spring-projects/spring-boot/issues/48476)
- Security matchers and WebServerNamespace resolution can fail with NoClassDefFoundError when used in a traditional WAR deployment [#​48388](https://github.com/spring-projects/spring-boot/issues/48388)
- HealthEndpointGroupMembershipValidator does not consider reactive health indicators causing NoSuchHealthContributorException to be thrown [#​48387](https://github.com/spring-projects/spring-boot/issues/48387)
- spring.jackson.default-property-inclusion is not applied to content inclusion [#​48343](https://github.com/spring-projects/spring-boot/issues/48343)
- TestRestTemplate.getRootUri() returns empty string [#​48330](https://github.com/spring-projects/spring-boot/issues/48330)
- Redis health check reports an error when redis\_version is missing from the INFO response [#​48328](https://github.com/spring-projects/spring-boot/issues/48328)
- Parent's MeterRegistry beans are closed when child context closes [#​48325](https://github.com/spring-projects/spring-boot/issues/48325)
- HttpMessageConverters picks up converter beans for both client and server [#​48310](https://github.com/spring-projects/spring-boot/issues/48310)
- Conditions to auto-configure a RestClient are outdated with the modularization [#​48308](https://github.com/spring-projects/spring-boot/issues/48308)
- A custom JwtTypeValidator that replaces the default can no longer be configured [#​48301](https://github.com/spring-projects/spring-boot/issues/48301)
- PropertiesRestClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it [#​48296](https://github.com/spring-projects/spring-boot/issues/48296)
- SpringBootTest.UseMainMethod.WHEN\_AVAILABLE and ALWAYS are incompatible with package-private or parameter-less main method [#​48275](https://github.com/spring-projects/spring-boot/issues/48275)
- Conditions to auto-configure RestClient-based HTTP service clients are outdated with the modularization [#​48274](https://github.com/spring-projects/spring-boot/pull/48274)
- Starter for Kotlinx Serialization Json is misnamed [#​48262](https://github.com/spring-projects/spring-boot/issues/48262)
- ApplicationServletEnvironment is no longer configured in war deployments [#​48254](https://github.com/spring-projects/spring-boot/issues/48254)
- RestClient.Builder bean present in `@SpringBootTest` due to spring-boot-starter-webmvc-test, but missing at runtime without restclient starter [#​48253](https://github.com/spring-projects/spring-boot/issues/48253)
- ProblemDetail is rendered to XML incorrectly [#​48222](https://github.com/spring-projects/spring-boot/pull/48222)
#### :notebook\_with\_decorative\_cover: Documentation
- Harmonize Kotlin example for HTTP Service client support [#​48577](https://github.com/spring-projects/spring-boot/pull/48577)
- Document HttpMessageConverters detection changes in 4.0.1 [#​48574](https://github.com/spring-projects/spring-boot/issues/48574)
- Improve javadoc for when to use class names rather than class references [#​48569](https://github.com/spring-projects/spring-boot/issues/48569)
- Documentation has an outdated reference to the Jackson Kotlin Module [#​48534](https://github.com/spring-projects/spring-boot/issues/48534)
- Caching documentation should clarify how to use a no-op implementation to run a test suite [#​48532](https://github.com/spring-projects/spring-boot/issues/48532)
- Document that the default rolling policy for Log4j2 requires logging.file.path to be set [#​48527](https://github.com/spring-projects/spring-boot/issues/48527)
- Review documentation and migration guide about changes in `@AutoConfigureCache` [#​48522](https://github.com/spring-projects/spring-boot/issues/48522)
- License header in build samples is displayed in the reference documentation [#​48478](https://github.com/spring-projects/spring-boot/issues/48478)
- Configuring Two DataSources How-To code sample is inconsistent [#​48449](https://github.com/spring-projects/spring-boot/issues/48449)
- Fix links to source files on GitHub [#​48398](https://github.com/spring-projects/spring-boot/pull/48398)
- Documentation contains broken links to GitHub source files [#​48394](https://github.com/spring-projects/spring-boot/issues/48394)
- Document that org.aspectj.weaver.Advice must be on the classpath to enable support for Micrometer's annotations [#​48360](https://github.com/spring-projects/spring-boot/issues/48360)
- Correct the annotation in the Kotlin `@ConfigurationPropertiesSource` example [#​48357](https://github.com/spring-projects/spring-boot/pull/48357)
- Polish TestRestTemplate examples in the reference guide [#​48336](https://github.com/spring-projects/spring-boot/issues/48336)
- Documentation missing for LocalTestWebServer [#​48333](https://github.com/spring-projects/spring-boot/issues/48333)
- Update "Creating Your Own Starter" following modularisation [#​48317](https://github.com/spring-projects/spring-boot/issues/48317)
- Fix links to javadoc in the reference documentation [#​48300](https://github.com/spring-projects/spring-boot/issues/48300)
- Update references for RestTemplateCustomizer and RestTemplateBuilder classes in documentation [#​48295](https://github.com/spring-projects/spring-boot/pull/48295)
- Remove modules section of the README following modularisation [#​48291](https://github.com/spring-projects/spring-boot/issues/48291)
- Wrong number in Graceful Shutdown chapter [#​48284](https://github.com/spring-projects/spring-boot/issues/48284)
- Mention new spring-boot-h2console module when describing how to use H2 Console [#​48278](https://github.com/spring-projects/spring-boot/pull/48278)
- Clarify that `@EnableBatchProcessing` turns off all batch auto-configuration, including schema initialization [#​48266](https://github.com/spring-projects/spring-boot/issues/48266)
- Documented replacements for spring.jackson.generator and spring.jackson.parser are inverted [#​48255](https://github.com/spring-projects/spring-boot/pull/48255)
- Document the need for a JdbcDialect bean when using Spring Data JDBC and AOT [#​48240](https://github.com/spring-projects/spring-boot/issues/48240)
- Update reference documentation as Spring Batch's resourceless infrastructure means that it no longer always requires a DataSource [#​48233](https://github.com/spring-projects/spring-boot/issues/48233)
- Kotlin auto-configuration examples are not annotated with `@AutoConfiguration` [#​48228](https://github.com/spring-projects/spring-boot/issues/48228)
- Revise "Use Liquibase for test-only migrations" section in reference manual [#​48219](https://github.com/spring-projects/spring-boot/issues/48219)
- Infinispan Cache Documentation is outdated [#​48218](https://github.com/spring-projects/spring-boot/issues/48218)
- Removed max-attempts properties metadata don't have replacement [#​48206](https://github.com/spring-projects/spring-boot/issues/48206)
- Polish documentation on testing web applications and the various testing clients that are available [#​47948](https://github.com/spring-projects/spring-boot/issues/47948)
#### :hammer: Dependency Upgrades
- Upgrade to AspectJ 1.9.25.1 [#​48561](https://github.com/spring-projects/spring-boot/issues/48561)
- Upgrade to Elasticsearch Client 9.2.2 [#​48447](https://github.com/spring-projects/spring-boot/issues/48447)
- Upgrade to Groovy 5.0.3 [#​48460](https://github.com/spring-projects/spring-boot/issues/48460)
- Upgrade to Hibernate 7.2.0.Final [#​48518](https://github.com/spring-projects/spring-boot/issues/48518)
- Upgrade to Jackson Bom 3.0.3 [#​48462](https://github.com/spring-projects/spring-boot/issues/48462)
- Upgrade to Jetty 12.1.5 [#​48463](https://github.com/spring-projects/spring-boot/issues/48463)
- Upgrade to jOOQ 3.19.29 [#​48464](https://github.com/spring-projects/spring-boot/issues/48464)
- Upgrade to Json Path 2.10.0 [#​48553](https://github.com/spring-projects/spring-boot/issues/48553)
- Upgrade to Log4j2 2.25.3 [#​48551](https://github.com/spring-projects/spring-boot/issues/48551)
- Upgrade to MariaDB 3.5.7 [#​48562](https://github.com/spring-projects/spring-boot/issues/48562)
- Upgrade to Micrometer 1.16.1 [#​48433](https://github.com/spring-projects/spring-boot/issues/48433)
- Upgrade to Micrometer Tracing 1.6.1 [#​48434](https://github.com/spring-projects/spring-boot/issues/48434)
- Upgrade to MongoDB 5.6.2 [#​48501](https://github.com/spring-projects/spring-boot/issues/48501)
- Upgrade to Netty 4.2.9.Final [#​48544](https://github.com/spring-projects/spring-boot/issues/48544)
- Upgrade to Pooled JMS 3.1.8 [#​48563](https://github.com/spring-projects/spring-boot/issues/48563)
- Upgrade to Pulsar 4.1.2 [#​48465](https://github.com/spring-projects/spring-boot/issues/48465)
- Upgrade to Quartz 2.5.2 [#​48466](https://github.com/spring-projects/spring-boot/issues/48466)
- Upgrade to Reactor Bom 2025.0.1 [#​48435](https://github.com/spring-projects/spring-boot/issues/48435)
- Upgrade to Spring AMQP 4.0.1 [#​48436](https://github.com/spring-projects/spring-boot/issues/48436)
- Upgrade to Spring Batch 6.0.1 [#​48437](https://github.com/spring-projects/spring-boot/issues/48437)
- Upgrade to Spring Data Bom 2025.1.1 [#​48438](https://github.com/spring-projects/spring-boot/issues/48438)
- Upgrade to Spring Framework 7.0.2 [#​48439](https://github.com/spring-projects/spring-boot/issues/48439)
- Upgrade to Spring GraphQL 2.0.1 [#​48440](https://github.com/spring-projects/spring-boot/issues/48440)
- Upgrade to Spring HATEOAS 3.0.1 [#​48481](https://github.com/spring-projects/spring-boot/issues/48481)
- Upgrade to Spring Integration 7.0.1 [#​48482](https://github.com/spring-projects/spring-boot/issues/48482)
- Upgrade to Spring Kafka 4.0.1 [#​48441](https://github.com/spring-projects/spring-boot/issues/48441)
- Upgrade to Spring LDAP 4.0.1 [#​48442](https://github.com/spring-projects/spring-boot/issues/48442)
- Upgrade to Spring Pulsar 2.0.1 [#​48443](https://github.com/spring-projects/spring-boot/issues/48443)
- Upgrade to Spring Security 7.0.2 [#​48444](https://github.com/spring-projects/spring-boot/issues/48444)
- Upgrade to Spring Session 4.0.1 [#​48445](https://github.com/spring-projects/spring-boot/issues/48445)
- Upgrade to Testcontainers 2.0.3 [#​48545](https://github.com/spring-projects/spring-boot/issues/48545)
- Upgrade to Tomcat 11.0.15 [#​48467](https://github.com/spring-projects/spring-boot/issues/48467)
- Upgrade to UnboundID LDAPSDK 7.0.4 [#​48468](https://github.com/spring-projects/spring-boot/issues/48468)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​Nhahan](https://github.com/Nhahan), [@​arey](https://github.com/arey), [@​banseok1216](https://github.com/banseok1216), [@​berry120](https://github.com/berry120), [@​candrews](https://github.com/candrews), [@​dmitrysulman](https://github.com/dmitrysulman), [@​geopark021](https://github.com/geopark021), [@​hktechn0](https://github.com/hktechn0), [@​igslznev](https://github.com/igslznev), [@​jwalter](https://github.com/jwalter), [@​kzander91](https://github.com/kzander91), [@​michaldo](https://github.com/michaldo), [@​mzeijen](https://github.com/mzeijen), [@​ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@​noojung](https://github.com/noojung), [@​scottfrederick](https://github.com/scottfrederick), [@​vpavic](https://github.com/vpavic), and [@​youngledo](https://github.com/youngledo)
### [`v4.0.0`](https://github.com/spring-projects/spring-boot/releases/tag/v4.0.0)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.16...v4.0.0)
Full [release notes for Spring Boot 4.0](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes) are available on the wiki. There is also [a migration guide](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide) to help you upgrade from Spring Boot 3.5.
#### :star: New Features
- Change tomcat and jetty runtime modules to starters [#​48175](https://github.com/spring-projects/spring-boot/issues/48175)
- Rename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in [#​48076](https://github.com/spring-projects/spring-boot/issues/48076)
#### :lady\_beetle: Bug Fixes
- Error properties are a general web concern and should not be located beneath server.\* [#​48201](https://github.com/spring-projects/spring-boot/issues/48201)
- With both Jackson 2 and 3 on the classpath, `@JsonTest` fails due to duplicate jacksonTesterFactoryBean [#​48198](https://github.com/spring-projects/spring-boot/issues/48198)
- Gradle war task does not exclude starter POMs from lib-provided [#​48197](https://github.com/spring-projects/spring-boot/issues/48197)
- spring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name [#​48193](https://github.com/spring-projects/spring-boot/issues/48193)
- SslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time [#​48182](https://github.com/spring-projects/spring-boot/issues/48182)
- Properties bound in the child management context ignore the parent's environment prefix [#​48177](https://github.com/spring-projects/spring-boot/issues/48177)
- ssl.chain.expiry metrics doesn't update for dynamically registered SSL bundles [#​48171](https://github.com/spring-projects/spring-boot/issues/48171)
- Starter for spring-boot-micrometer-metrics is missing [#​48161](https://github.com/spring-projects/spring-boot/issues/48161)
- Elasticsearch client's sniffer functionality should not be enabled by default [#​48155](https://github.com/spring-projects/spring-boot/issues/48155)
- spring-boot-starter-elasticsearch should depend on elasticsearch-java [#​48141](https://github.com/spring-projects/spring-boot/pull/48141)
- Auto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes [#​48132](https://github.com/spring-projects/spring-boot/issues/48132)
- New arm64 macbooks fail to bootBuildImage due to incorrect platform image [#​48128](https://github.com/spring-projects/spring-boot/issues/48128)
- Properties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named [#​48116](https://github.com/spring-projects/spring-boot/issues/48116)
- Buildpack fails with recent Docker installs due to hardcoded version in URL [#​48103](https://github.com/spring-projects/spring-boot/issues/48103)
- Image building may fail when specifying a platform if an image has already been built with a different platform [#​48099](https://github.com/spring-projects/spring-boot/issues/48099)
- Default values of Kotlinx Serialization JSON configuration properties are not documented [#​48097](https://github.com/spring-projects/spring-boot/issues/48097)
- Custom XML converters should override defaults in HttpMessageConverters [#​48096](https://github.com/spring-projects/spring-boot/issues/48096)
- Kotlin serialization is used too aggressively when other JSON libraries are available [#​48070](https://github.com/spring-projects/spring-boot/issues/48070)
- PortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration [#​48059](https://github.com/spring-projects/spring-boot/issues/48059)
- Auto-configured JCacheMetrics cannot be customized [#​48057](https://github.com/spring-projects/spring-boot/issues/48057)
- WebSecurityCustomizer beans are excluded by WebMvcTest [#​48055](https://github.com/spring-projects/spring-boot/issues/48055)
- Deprecated EnvironmentPostProcessor does not resolve arguments [#​48047](https://github.com/spring-projects/spring-boot/issues/48047)
- RetryPolicySettings should refer to maxRetries, not maxAttempts [#​48023](https://github.com/spring-projects/spring-boot/issues/48023)
- Devtools Restarter does not work with a parameterless main method [#​47996](https://github.com/spring-projects/spring-boot/issues/47996)
- Dependency management for Kafka should not manage Scala 2.12 libraries [#​47991](https://github.com/spring-projects/spring-boot/pull/47991)
- spring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail [#​47983](https://github.com/spring-projects/spring-boot/issues/47983)
- spring-boot-starter-data-mongodb-reactive has dependency on reactor-test [#​47982](https://github.com/spring-projects/spring-boot/issues/47982)
- Support for ReactiveElasticsearchClient is in the wrong module [#​47848](https://github.com/spring-projects/spring-boot/issues/47848)
#### :notebook\_with\_decorative\_cover: Documentation
- Removed property spring.test.webclient.register-rest-template is still documented [#​48199](https://github.com/spring-projects/spring-boot/issues/48199)
- Mention support for detecting AWS ECS in "Deploying to the Cloud" [#​48170](https://github.com/spring-projects/spring-boot/pull/48170)
- Revise AWS section of "Deploying to the Cloud" in reference manual [#​48163](https://github.com/spring-projects/spring-boot/issues/48163)
- Fix typo in PortInUseException Javadoc [#​48134](https://github.com/spring-projects/spring-boot/issues/48134)
- Correct section about required setters in "Type-safe Configuration Properties" [#​48131](https://github.com/spring-projects/spring-boot/issues/48131)
- Use since attribute in configuration properties deprecation consistently [#​48122](https://github.com/spring-projects/spring-boot/issues/48122)
- Document EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper [#​48115](https://github.com/spring-projects/spring-boot/issues/48115)
- Document support for configuring servlet context init parameters using properties [#​48112](https://github.com/spring-projects/spring-boot/issues/48112)
- Some configuration properties are not documented in the appendix [#​48095](https://github.com/spring-projects/spring-boot/issues/48095)
- Clarify how warnings about soon-to-expire SSL certificates are reported [#​48063](https://github.com/spring-projects/spring-boot/issues/48063)
- Document how to use ContextPropagatingTaskDecorator for propagating trace context over thread boundaries [#​48053](https://github.com/spring-projects/spring-boot/issues/48053)
- Document the level of support for the OpenTelemetry APIs [#​47960](https://github.com/spring-projects/spring-boot/issues/47960)
- Document that you need to build with Java 25 for buildpack build-image Graal support [#​45501](https://github.com/spring-projects/spring-boot/issues/45501)
#### :hammer: Dependency Upgrades
- Upgrade to Cassandra Driver 4.19.2 [#​48184](https://github.com/spring-projects/spring-boot/issues/48184)
- Upgrade to DB2 JDBC 12.1.3.0 [#​48087](https://github.com/spring-projects/spring-boot/issues/48087)
- Upgrade to Elasticsearch Client 9.2.1 [#​48137](https://github.com/spring-projects/spring-boot/issues/48137)
- Upgrade to GraphQL Java 25.0 [#​48034](https://github.com/spring-projects/spring-boot/issues/48034)
- Upgrade to Hibernate 7.1.8.Final [#​48150](https://github.com/spring-projects/spring-boot/issues/48150)
- Upgrade to Jackson Bom 3.0.2 [#​48089](https://github.com/spring-projects/spring-boot/issues/48089)
- Upgrade to Jetty 12.1.4 [#​48120](https://github.com/spring-projects/spring-boot/issues/48120)
- Upgrade to Jetty Reactive HTTPClient 4.1.4 [#​48151](https://github.com/spring-projects/spring-boot/issues/48151)
- Upgrade to jOOQ 3.19.28 [#​48090](https://github.com/spring-projects/spring-boot/issues/48090)
- Upgrade to Kafka 4.1.1 [#​48185](https://github.com/spring-projects/spring-boot/issues/48185)
- Upgrade to Logback 1.5.21 [#​48091](https://github.com/spring-projects/spring-boot/issues/48091)
- Upgrade to Micrometer 1.16.0 [#​47820](https://github.com/spring-projects/spring-boot/issues/47820)
- Upgrade to Micrometer Tracing 1.6.0 [#​47821](https://github.com/spring-projects/spring-boot/issues/47821)
- Upgrade to MySQL 9.5.0 [#​48092](https://github.com/spring-projects/spring-boot/issues/48092)
- Upgrade to Native Build Tools Plugin 0.11.3 [#​48051](https://github.com/spring-projects/spring-boot/issues/48051)
- Upgrade to Neo4j Java Driver 6.0.2 [#​47997](https://github.com/spring-projects/spring-boot/issues/47997)
- Upgrade to Prometheus Client 1.4.3 [#​48093](https://github.com/spring-projects/spring-boot/issues/48093)
- Upgrade to Reactor Bom 2025.0.0 [#​47822](https://github.com/spring-projects/spring-boot/issues/47822)
- Upgrade to Spring AMQP 4.0.0 [#​47823](https://github.com/spring-projects/spring-boot/issues/47823)
- Upgrade to Spring Batch 6.0.0 [#​47834](https://github.com/spring-projects/spring-boot/issues/47834)
- Upgrade to Spring Data Bom 2025.1.0 [#​47824](https://github.com/spring-projects/spring-boot/issues/47824)
- Upgrade to Spring Framework 7.0.1 [#​48168](https://github.com/spring-projects/spring-boot/issues/48168)
- Upgrade to Spring GraphQL 2.0.0 [#​47826](https://github.com/spring-projects/spring-boot/issues/47826)
- Upgrade to Spring HATEOAS 3.0.0 [#​47827](https://github.com/spring-projects/spring-boot/issues/47827)
- Upgrade to Spring Integration 7.0.0 [#​47828](https://github.com/spring-projects/spring-boot/issues/47828)
- Upgrade to Spring Kafka 4.0.0 [#​47829](https://github.com/spring-projects/spring-boot/issues/47829)
- Upgrade to Spring LDAP 4.0.0 [#​47999](https://github.com/spring-projects/spring-boot/issues/47999)
- Upgrade to Spring Pulsar 2.0.0 [#​47830](https://github.com/spring-projects/spring-boot/issues/47830)
- Upgrade to Spring RESTDocs 4.0.0 [#​47831](https://github.com/spring-projects/spring-boot/issues/47831)
- Upgrade to Spring Security 7.0.0 [#​47832](https://github.com/spring-projects/spring-boot/issues/47832)
- Upgrade to Spring Session 4.0.0 [#​48000](https://github.com/spring-projects/spring-boot/issues/48000)
- Upgrade to Spring WS 5.0.0 [#​47833](https://github.com/spring-projects/spring-boot/issues/47833)
- Upgrade to Testcontainers 2.0.2 [#​48152](https://github.com/spring-projects/spring-boot/issues/48152)
- Upgrade to Tomcat 11.0.14 [#​48094](https://github.com/spring-projects/spring-boot/issues/48094)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​K-jun98](https://github.com/K-jun98), [@​TerryTaoYY](https://github.com/TerryTaoYY), [@​filiphr](https://github.com/filiphr), [@​hojooo](https://github.com/hojooo), [@​linw-bai](https://github.com/linw-bai), [@​nosan](https://github.com/nosan), [@​scottfrederick](https://github.com/scottfrederick), [@​stevearmstrong-dev](https://github.com/stevearmstrong-dev), [@​stewue](https://github.com/stewue), and [@​vpavic](https://github.com/vpavic)
### [`v3.5.16`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.16)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.15...v3.5.16)
#### :hammer: Dependency Upgrades
- Upgrade to [Spring AMQP 3.2.12](https://github.com/spring-projects/spring-amqp/releases/tag/v3.2.12) [#​50818](https://github.com/spring-projects/spring-boot/issues/50818)
- Upgrade to [Spring Data Bom 2025.0.13](https://github.com/spring-projects/spring-data-bom/releases/tag/2025.0.13) [#​50819](https://github.com/spring-projects/spring-boot/issues/50819)
- Upgrade to [Spring Integration 6.5.10](https://github.com/spring-projects/spring-integration/releases/tag/v6.5.10) [#​50820](https://github.com/spring-projects/spring-boot/issues/50820)
### [`v3.5.15`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.15)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.14...v3.5.15)
#### :lady\_beetle: Bug Fixes
- Artemis auto-configuration uses a predictable default location for the embedded broker's data [#​50743](https://github.com/spring-projects/spring-boot/issues/50743)
- MailSender auto-configuration does not enable hostname verification [#​50742](https://github.com/spring-projects/spring-boot/issues/50742)
- SSL should not be enabled when a SSL bundle is overridden to an empty string [#​50624](https://github.com/spring-projects/spring-boot/pull/50624)
- Layer written outside the output location of '//' exception is thrown when using extract layers in root directory [#​50501](https://github.com/spring-projects/spring-boot/pull/50501)
- Docker Compose support does not restore thread interrupt flag when catching InterruptedException [#​50451](https://github.com/spring-projects/spring-boot/pull/50451)
- RabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string [#​50429](https://github.com/spring-projects/spring-boot/pull/50429)
- GraphQL WebSocket support does not configure allowed origins [#​50391](https://github.com/spring-projects/spring-boot/issues/50391)
- Buildpack module does not validate long-to-int casts [#​50382](https://github.com/spring-projects/spring-boot/pull/50382)
- MappingsEndpoint reports the context's own ID as parentId when a parent exists [#​50373](https://github.com/spring-projects/spring-boot/pull/50373)
- Created StackTracePrinter instances have no access to the Environment [#​50303](https://github.com/spring-projects/spring-boot/pull/50303)
- NullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles [#​50301](https://github.com/spring-projects/spring-boot/pull/50301)
- Spring Boot Loader Does Not Support RSA and EC Signed Jars [#​50292](https://github.com/spring-projects/spring-boot/issues/50292)
- ConfigurationPropertiesReportEndpoint exposes AOP proxy internals [#​50273](https://github.com/spring-projects/spring-boot/pull/50273)
- Actuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource [#​50254](https://github.com/spring-projects/spring-boot/issues/50254)
- Meter registries are not removed from the global registry when the context is closed [#​50235](https://github.com/spring-projects/spring-boot/pull/50235)
- ThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time [#​50225](https://github.com/spring-projects/spring-boot/pull/50225)
- Apply HTML escaping to timestamp attribute in Whitelabel error page [#​50205](https://github.com/spring-projects/spring-boot/pull/50205)
- NimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms [#​50118](https://github.com/spring-projects/spring-boot/pull/50118)
- EndpointRequest links matcher unnecessarily matches HTTP methods other than GET [#​50095](https://github.com/spring-projects/spring-boot/pull/50095)
#### :notebook\_with\_decorative\_cover: Documentation
- Fix reference to Gradle documentation for module replacement [#​50641](https://github.com/spring-projects/spring-boot/pull/50641)
- Remove the use of Optional from Data Neo4j repository examples [#​50600](https://github.com/spring-projects/spring-boot/pull/50600)
- Fix typos in documentation [#​50593](https://github.com/spring-projects/spring-boot/pull/50593)
- Document Java 25 requirement for AOT cache [#​50482](https://github.com/spring-projects/spring-boot/pull/50482)
- Clarify dependency requirement for Bean Validation support [#​50290](https://github.com/spring-projects/spring-boot/pull/50290)
- Document SSL reloading with Let's Encrypt [#​50222](https://github.com/spring-projects/spring-boot/pull/50222)
- Polish InvalidConfigurationPropertyValueException constructor javadoc [#​50212](https://github.com/spring-projects/spring-boot/issues/50212)
- Document known testcontainers lifecycle issues [#​50210](https://github.com/spring-projects/spring-boot/pull/50210)
- Document configuring multiple connectors with Jetty [#​50206](https://github.com/spring-projects/spring-boot/pull/50206)
- Fix typo in Spring Security OAuth2 client registration documentation [#​50193](https://github.com/spring-projects/spring-boot/pull/50193)
#### :hammer: Dependency Upgrades
- Upgrade to [Caffeine 3.2.4](https://github.com/ben-manes/caffeine/releases/tag/v3.2.4) [#​50308](https://github.com/spring-projects/spring-boot/issues/50308)
- Upgrade to Cassandra Driver 4.19.3 [#​50670](https://github.com/spring-projects/spring-boot/issues/50670)
- Upgrade to Glassfish JAXB 4.0.9 [#​50671](https://github.com/spring-projects/spring-boot/issues/50671)
- Upgrade to Groovy 4.0.32 [#​50310](https://github.com/spring-projects/spring-boot/issues/50310)
- Upgrade to Hibernate 6.6.53.Final [#​50721](https://github.com/spring-projects/spring-boot/issues/50721)
- Upgrade to Jackson Bom 2.21.4 [#​50673](https://github.com/spring-projects/spring-boot/issues/50673)
- Upgrade to Jakarta Json Bind 3.0.2 [#​50674](https://github.com/spring-projects/spring-boot/issues/50674)
- Upgrade to [Jakarta XML Bind 4.0.5](https://github.com/jakartaee/jaxb-api/releases/tag/4.0.5) [#​50313](https://github.com/spring-projects/spring-boot/issues/50313)
- Upgrade to Jaxen 2.0.6 [#​50722](https://github.com/spring-projects/spring-boot/issues/50722)
- Upgrade to Jetty 12.0.36 [#​50676](https://github.com/spring-projects/spring-boot/issues/50676)
- Upgrade to Jetty Reactive HTTPClient 4.0.14 [#​50723](https://github.com/spring-projects/spring-boot/issues/50723)
- Upgrade to jOOQ 3.19.35 [#​50724](https://github.com/spring-projects/spring-boot/issues/50724)
- Upgrade to Logback 1.5.34 [#​50677](https://github.com/spring-projects/spring-boot/issues/50677)
- Upgrade to [Maven Failsafe Plugin 3.5.6](https://github.com/apache/maven-surefire/releases/tag/surefire-3.5.6) [#​50678](https://github.com/spring-projects/spring-boot/issues/50678)
- Upgrade to [Maven Surefire Plugin 3.5.6](https://github.com/apache/maven-surefire/releases/tag/surefire-3.5.6) [#​50679](https://github.com/spring-projects/spring-boot/issues/50679)
- Upgrade to [Micrometer 1.15.12](https://github.com/micrometer-metrics/micrometer/releases/tag/v1.15.12) [#​50511](https://github.com/spring-projects/spring-boot/issues/50511)
- Upgrade to [Micrometer Tracing 1.5.12](https://github.com/micrometer-metrics/tracing/releases/tag/v1.5.12) [#​50512](https://github.com/spring-projects/spring-boot/issues/50512)
- Upgrade to Netty 4.1.135.Final [#​50680](https://github.com/spring-projects/spring-boot/issues/50680)
- Upgrade to [Postgresql 42.7.11](https://github.com/pgjdbc/pgjdbc/releases/tag/REL42.7.11) [#​50317](https://github.com/spring-projects/spring-boot/issues/50317)
- Upgrade to Pulsar 4.0.11 [#​50725](https://github.com/spring-projects/spring-boot/issues/50725)
- Upgrade to [R2DBC MySQL 1.4.2](https://github.com/asyncer-io/r2dbc-mysql/releases/tag/r2dbc-mysql-1.4.2) [#​50319](https://github.com/spring-projects/spring-boot/issues/50319)
- Upgrade to [Reactor Bom 2024.0.18](https://github.com/reactor/reactor/releases/tag/2024.0.18) [#​50513](https://github.com/spring-projects/spring-boot/issues/50513)
- Upgrade to SAAJ Impl 3.0.6 [#​50726](https://github.com/spring-projects/spring-boot/issues/50726)
- Upgrade to SLF4J 2.0.18 [#​50533](https://github.com/spring-projects/spring-boot/issues/50533)
- Upgrade to [Spring AMQP 3.2.11](https://github.com/spring-projects/spring-amqp/releases/tag/v3.2.11) [#​50514](https://github.com/spring-projects/spring-boot/issues/50514)
- Upgrade to [Spring Authorization Server 1.5.8](https://github.com/spring-projects/spring-authorization-server/releases/tag/1.5.8) [#​50515](https://github.com/spring-projects/spring-boot/issues/50515)
- Upgrade to [Spring Batch 5.2.6](https://github.com/spring-projects/spring-batch/releases/tag/v5.2.6) [#​50516](https://github.com/spring-projects/spring-boot/issues/50516)
- Upgrade to [Spring Data Bom 2025.0.12](https://github.com/spring-projects/spring-data-bom/releases/tag/2025.0.12) [#​50517](https://github.com/spring-projects/spring-boot/issues/50517)
- Upgrade to [Spring Framework 6.2.19](https://github.com/spring-projects/spring-framework/releases/tag/v6.2.19) [#​50518](https://github.com/spring-projects/spring-boot/issues/50518)
- Upgrade to [Spring GraphQL 1.4.6](https://github.com/spring-projects/spring-graphql/releases/tag/v1.4.6) [#​50739](https://github.com/spring-projects/spring-boot/issues/50739)
- Upgrade to [Spring HATEOAS 2.5.3](https://github.com/spring-projects/spring-hateoas/releases/tag/2.5.3) [#​50519](https://github.com/spring-projects/spring-boot/issues/50519)
- Upgrade to [Spring Integration 6.5.9](https://github.com/spring-projects/spring-integration/releases/tag/v6.5.9) [#​50520](https://github.com/spring-projects/spring-boot/issues/50520)
- Upgrade to [Spring Kafka 3.3.16](https://github.com/spring-projects/spring-kafka/releases/tag/v3.3.16) [#​50521](https://github.com/spring-projects/spring-boot/issues/50521)
- Upgrade to [Spring LDAP 3.3.8](https://github.com/spring-projects/spring-ldap/releases/tag/3.3.8) [#​50522](https://github.com/spring-projects/spring-boot/issues/50522)
- Upgrade to [Spring Pulsar 1.2.18](https://github.com/spring-projects/spring-pulsar/releases/tag/v1.2.18) [#​50523](https://github.com/spring-projects/spring-boot/issues/50523)
- Upgrade to [Spring RESTDocs 3.0.6](https://github.com/spring-projects/spring-restdocs/releases/tag/v3.0.6) [#​50524](https://github.com/spring-projects/spring-boot/issues/50524)
- Upgrade to [Spring Retry 2.0.13](https://github.com/spring-projects/spring-retry/releases/tag/v2.0.13) [#​50525](https://github.com/spring-projects/spring-boot/issues/50525)
- Upgrade to [Spring Security 6.5.11](https://github.com/spring-projects/spring-security/releases/tag/6.5.11) [#​50526](https://github.com/spring-projects/spring-boot/issues/50526)
- Upgrade to [Spring Session 3.5.7](https://github.com/spring-projects/spring-session/releases/tag/3.5.7) [#​50527](https://github.com/spring-projects/spring-boot/issues/50527)
- Upgrade to [Spring WS 4.1.4](https://github.com/spring-projects/spring-ws/releases/tag/v4.1.4) [#​50528](https://github.com/spring-projects/spring-boot/issues/50528)
- Upgrade to [Tomcat 10.1.55](https://tomcat.apache.org/tomcat-10.1-doc/changelog.html) [#​50534](https://github.com/spring-projects/spring-boot/issues/50534)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​Abdlatif-nabgha](https://github.com/Abdlatif-nabgha), [@​DragonFSKY](https://github.com/DragonFSKY), [@​Kapil-chn7](https://github.com/Kapil-chn7), [@​SJvaca30](https://github.com/SJvaca30), [@​SebTardif](https://github.com/SebTardif), [@​ares333](https://github.com/ares333), [@​codingkiddo](https://github.com/codingkiddo), [@​dlwldnjs1009](https://github.com/dlwldnjs1009), [@​henriquejsza](https://github.com/henriquejsza), [@​igormukhin](https://github.com/igormukhin), [@​johnnypwong](https://github.com/johnnypwong), [@​kwondh5217](https://github.com/kwondh5217), [@​leestana01](https://github.com/leestana01), [@​mheath](https://github.com/mheath), [@​ngocnhan-tran1996](https://github.com/ngocnhan-tran1996), [@​nosan](https://github.com/nosan), [@​quaff](https://github.com/quaff), [@​scordio](https://github.com/scordio), [@​vinhhieu21](https://github.com/vinhhieu21), [@​won-seoop](https://github.com/won-seoop), and [@​zxuhan](https://github.com/zxuhan)
### [`v3.5.14`](https://github.com/spring-projects/spring-boot/releases/tag/v3.5.14)
[Compare Source](https://github.com/spring-projects/spring-boot/compare/v3.5.13...v3.5.14)
#### :lady\_beetle: Bug Fixes
- ApplicationPidFileWriter does not handle symlinks correctly [#​50173](https://github.com/spring-projects/spring-boot/issues/50173)
- RandomValuePropertySource is not suitable for secrets [#​50172](https://github.com/spring-projects/spring-boot/issues/50172)
- Cassandra auto-configuration misconfigures CqlSessionBuilder [#​50171](https://github.com/spring-projects/spring-boot/issues/50171)
- ApplicationTemp does not handle symlinks correctly [#​50170](https://github.com/spring-projects/spring-boot/issues/50170)
- Remote DevTools performs comparison incorrectly [#​50169](https://github.com/spring-projects/spring-boot/issues/50169)
- spring.rabbitmq.ssl.verify-hostname is applied inconsistently [#​50168](https://github.com/spring-projects/spring-boot/issues/50168)
- EnversRevisionRepositoriesRegistrar should reuse `@EnableEnversRepositories` rather than configuring the JPA counterpart [#​50035](https://github.com/spring-projects/spring-boot/pull/50035)
- Annotations like `@Ssl` don't work on `@Bean` methods when using `@ServiceConnection` [#​50033](https://github.com/spring-projects/spring-boot/pull/50033)
- Whole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter [#​50021](https://github.com/spring-projects/spring-boot/issues/50021)
- WebFlux Cloud Foundry links endpoint includes query string from received request in resolved links [#​50008](https://github.com/spring-projects/spring-boot/pull/50008)
- 500 response from env endpoint when supplied pattern is invalid [#​49942](https://github.com/spring-projects/spring-boot/pull/49942)
- HTTP method is lost when configuring excludes in EndpointRequest [#​49885](https://github.com/spring-projects/spring-boot/pull/49885)
- Docker Compose support doesn't work with apache/artemis image [#​49865](https://github.com/spring-projects/spring-boot/issues/49865)
- Honor HttpMethod for reactive additional endpoint paths [#​49864](https://github.com/spring-projects/spring-boot/pull/49864)
- Docker Compose support doesn't work with apache/activemq image [#​49863](https://github.com/spring-projects/spring-boot/issues/49863)
- Imports on a containing test class are ignored when a nested class has imports [#​49860](https://github.com/spring-projects/spring-boot/issues/49860)
#### :notebook\_with\_decorative\_cover: Documentation
- Link to the observability section of the Lettuce documentation is broken [#​50092](https://github.com/spring-projects/spring-boot/pull/50092)
- Javadoc for StaticResourceLocation.FAVICON doesn't describe icons location [#​50083](https://github.com/spring-projects/spring-boot/issues/50083)
- MySamlRelyingPartyConfiguration is missing a Kotlin sample [#​50023](https://github.com/spring-projects/spring-boot/issues/50023)
- Incorrect default value for management.httpexchanges.recording.include in configuration metadata [#​50010](https://github.com/spring-projects/spring-boot/pull/50010)
- Link to the Kubernetes documentation when discussing startup probes [#​50007](https://github.com/spring-projects/spring-boot/issues/50007)
- Update docs to encourage Java fundamentals for beginners that prefer to learn that way [#​49895](https://github.com/spring-projects/spring-boot/issues/49895)
- Clarify that configuration property default values are not available through the Environment [#​49835](https://github.com/spring-projects/spring-boot/pull/49835)
#### :hammer: Dependency Upgrades
- Upgrade to Groovy 4.0.31 [#​49905](https://github.com/spring-projects/spring-boot/issues/49905)
- Upgrade to Hibernate 6.6.49.Final [#​50140](https://github.com/spring-projects/spring-boot/issues/50140)
- Upgrade to [Jaxen 2.0.1](https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1) [#​50109](https://github.com/spring-projects/spring-boot/issues/50109)
- Upgrade to [Jaybird 6.0.5](https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5) [#​49907](https://github.com/spring-projects/spring-boot/issues/49907)
- Upgrade to [Jetty 12.0.34](https://github.com/jetty/jetty.project/releases/tag/jetty-12.0.34) [#​49908](https://github.com/spring-projects/spring-boot/issues/49908)
- Upgrade to [jOOQ 3.19.32](https://github.com/jOOQ/jOOQ/releases/tag/version-3.19.32) [#​50110](https://github.com/spring-projects/spring-boot/issues/50110)
- Upgrade to Lombok 1.18.46 [#​50148](https://github.com/spring-projects/spring-boot/issues/50148)
- Upgrade to [MariaDB 3.5.8](https://mariadb.com/kb/en/mariadb-connector-j-3-5-8-release-notes) [#​49909](https://github.com/spring-projects/spring-boot/issues/49909)
- Upgrade to [Micrometer 1.15.11](https://github.com/micrometer-metrics/micrometer/releases/tag/v1.15.11) [#​49961](https://github.com/spring-projects/spring-boot/issues/49961)
- Upgrade to [Micrometer Tracing 1.5.11](https://github.com/micrometer-metrics/tracing/releases/tag/v1.5.11) [#​49962](https://github.com/spring-projects/spring-boot/issues/49962)
- Upgrade to [MySQL 9.7.0](https://dev.mysql.com/doc/relnotes/connector-j/en/news-9-7-0.html) [#​50161](https://github.com/spring-projects/spring-boot/issues/50161)
- Upgrade to Neo4j Java Driver 5.28.13 [#​50074](https://github.com/spring-projects/spring-boot/issues/50074)
- Upgrade to [Reactor Bom 2024.0.17](https://github.com/reactor/reactor/releases/tag/2024.0.17) [#​49963](https://github.com/spring-projects/spring-boot/issues/49963)
- Upgrade to [Spring AMQP 3.2.10](https://github.com/spring-projects/spring-amqp/releases/tag/v3.2.10) [#​49964](https://github.com/spring-projects/spring-boot/issues/49964)
- Upgrade to [Spring Authorization Server 1.5.7](https://github.com/spring-projects/spring-authorization-server/releases/tag/1.5.7) [#​49965](https://github.com/spring-projects/spring-boot/issues/49965)
- Upgrade to [Spring Data Bom 2025.0.11](https://github.com/spring-projects/spring-data-bom/releases/tag/2025.0.11) [#​49966](https://github.com/spring-projects/spring-boot/issues/49966)
- Upgrade to [Spring Framework 6.2.18](https://github.com/spring-projects/spring-framework/releases/tag/v6.2.18) [#​49967](https://github.com/spring-projects/spring-boot/issues/49967)
- Upgrade to [Spring Kafka 3.3.15](https://github.com/spring-projects/spring-kafka/releases/tag/v3.3.15) [#​50129](https://github.com/spring-projects/spring-boot/issues/50129)
- Upgrade to [Spring LDAP 3.3.7](https://github.com/spring-projects/spring-ldap/releases/tag/3.3.7) [#​49968](https://github.com/spring-projects/spring-boot/issues/49968)
- Upgrade to [Spring Pulsar 1.2.17](https://github.com/spring-projects/spring-pulsar/releases/tag/v1.2.17) [#​49969](https://github.com/spring-projects/spring-boot/issues/49969)
- Upgrade to [Spring Security 6.5.10](https://github.com/spring-projects/spring-security/releases/tag/6.5.10) [#​49970](https://github.com/spring-projects/spring-boot/issues/49970)
- Upgrade to [Spring Session 3.5.6](https://github.com/spring-projects/spring-session/releases/tag/3.5.6) [#​49971](https://github.com/spring-projects/spring-boot/issues/49971)
- Upgrade to Thymeleaf 3.1.5.RELEASE [#​50149](https://github.com/spring-projects/spring-boot/issues/50149)
- Upgrade to Thymeleaf Extras SpringSecurity 3.1.5.RELEASE [#​50151](https://github.com/spring-projects/spring-boot/issues/50151)
- Upgrade to [Tomcat 10.1.54](https://tomcat.apache.org/tomcat-10.1-doc/changelog.html) [#​49910](https://github.com/spring-projects/spring-boot/issues/49910)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@​MohammedGhallab](https://github.com/MohammedGhallab), [@​dlwldnjs1009](https://github.com/dlwldnjs1009), [@​edwardsre](https://github.com/edwardsre), [@​kodama-kcc](https://github.com/kodama-kcc), [@​kwondh5217](https://github.com/kwondh5217), [@​quaff](https://github.com/quaff), [@​refeccd](https://github.com/refeccd), and [@​scordio](https://github.com/scordio)
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzcuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjMuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
nitrix
changed title from Update dependency org.springframework.boot:spring-boot-starter-parent to v4 to Update spring boot to v42026-06-02 12:06:09 +02:00
nitrix
changed title from Update spring boot to v4 to Update spring boot (major)2026-06-19 13:05:34 +02:00
nitrix
changed title from Update spring boot (major) to Update dependency org.springframework.boot:spring-boot-starter-parent to v42026-06-23 12:06:04 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
3.5.13→4.1.0Release Notes
spring-projects/spring-boot (org.springframework.boot:spring-boot-starter-parent)
v4.1.0Compare Source
Full release notes for Spring Boot 4.1 are available on the wiki.
⭐ New Features
🐞 Bug Fixes
📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Abdlatif-nabgha, @DragonFSKY, @Kapil-chn7, @Kimgyuilli, @SJvaca30, @SebTardif, @ares333, @codingkiddo, @dlwldnjs1009, @eddumelendez, @henriquejsza, @igormukhin, @johnnypwong, @kwondh5217, @leestana01, @mheath, @mmoayyed, @msridhar, @ngocnhan-tran1996, @nosan, @quaff, @scordio, @vinhhieu21, @vpavic, @won-seoop, and @zxuhan
v4.0.7Compare Source
🐞 Bug Fixes
📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Abdlatif-nabgha, @DragonFSKY, @Kapil-chn7, @Kimgyuilli, @SJvaca30, @SebTardif, @ares333, @codingkiddo, @dlwldnjs1009, @henriquejsza, @igormukhin, @johnnypwong, @kwondh5217, @leestana01, @mheath, @mmoayyed, @msridhar, @ngocnhan-tran1996, @nosan, @quaff, @scordio, @vinhhieu21, @won-seoop, and @zxuhan
v4.0.6Compare Source
🐞 Bug Fixes
@Ssldon't work on@Beanmethods when using@ServiceConnection#50064@EnableEnversRepositoriesrather than configuring the JPA counterpart #50039📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GollapudiSrikanth, @MohammedGhallab, @bachhs, @dlwldnjs1009, @edwardsre, @kodama-kcc, @kwondh5217, @ppapaj, @quaff, @refeccd, @scordio, and @xxxxxxjun
v4.0.5Compare Source
🐞 Bug Fixes
@NestedConfigurationPropertywhen using constructor binding #49738@ConditionalOnWebApplicationto NettyReactiveWebServerAutoConfiguration #49695@GraphQlTestdoes not include@ControllerAdvice#49672📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Joowon-Seo, @deejay1, @dlwldnjs1009, @kwondh5217, @ljrmorgan, and @quaff
v4.0.4Compare Source
⚠️ Attention Required
server.tomcat.max-part-counthas been increased from 10 to 50. This aligns it with Tomcat's own default and the default in Spring Boot 3.x. #49311🐞 Bug Fixes
@AutoConfigureWebTestClientprevents separate configuration of spring.test.webtestclient.timeout from taking effect #49344📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@FBibonne, @answndud, @bbbbooo, @chandanv89, @giyeon95, @itsmevichu, @jayychoi, @l2yujw, @ngocnhan-tran1996, @qnnn, @quaff, and @sbrannen
v4.0.3Compare Source
⭐ New Features
🐞 Bug Fixes
📔 Documentation
@Value' still apply for environment variables #49109🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GaetanoCerciello, @dsyer, @linkian209, @nosan, @quaff, @scordio, and @srt
v4.0.2Compare Source
⚠️ Noteworthy Changes
org.eclipse.jetty.ee11:jetty-ee11-servletshas been removed fromspring-boot-jettyas it was unnecessary and unused. If your application code depends on a class fromjetty-ee11-servlets, declare a dependency on it in your build configuration. #48677🐞 Bug Fixes
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) is no longer applied to the management server #48653@ConfigurationPropertiesannotation on a LinkedHashMap class #48616📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GaoSSR, @ShaunHaldane, @Zuohuang-Cai, @izeye, @mspiess, @ngocnhan-tran1996, and @philipbolting
v4.0.1Compare Source
⚠️ Noteworthy Changes
🐞 Bug Fixes
@ServiceConnectionfor LgtmStackContainer fails when logging endpoint is configured due to multiple OtlpLoggingConnectionDetails beans #48536@SpringBootTestdue to spring-boot-starter-webmvc-test, but missing at runtime without restclient starter #48253📔 Documentation
@AutoConfigureCache#48522@ConfigurationPropertiesSourceexample #48357@EnableBatchProcessingturns off all batch auto-configuration, including schema initialization #48266@AutoConfiguration#48228🔨 Dependency Upgrades
❤️ 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
v4.0.0Compare Source
Full release notes for Spring Boot 4.0 are available on the wiki. There is also a migration guide to help you upgrade from Spring Boot 3.5.
⭐ New Features
🐞 Bug Fixes
@JsonTestfails due to duplicate jacksonTesterFactoryBean #48198📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@K-jun98, @TerryTaoYY, @filiphr, @hojooo, @linw-bai, @nosan, @scottfrederick, @stevearmstrong-dev, @stewue, and @vpavic
v3.5.16Compare Source
🔨 Dependency Upgrades
v3.5.15Compare Source
🐞 Bug Fixes
📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Abdlatif-nabgha, @DragonFSKY, @Kapil-chn7, @SJvaca30, @SebTardif, @ares333, @codingkiddo, @dlwldnjs1009, @henriquejsza, @igormukhin, @johnnypwong, @kwondh5217, @leestana01, @mheath, @ngocnhan-tran1996, @nosan, @quaff, @scordio, @vinhhieu21, @won-seoop, and @zxuhan
v3.5.14Compare Source
🐞 Bug Fixes
@EnableEnversRepositoriesrather than configuring the JPA counterpart #50035@Ssldon't work on@Beanmethods when using@ServiceConnection#50033📔 Documentation
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@MohammedGhallab, @dlwldnjs1009, @edwardsre, @kodama-kcc, @kwondh5217, @quaff, @refeccd, and @scordio
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
9f96b6e982to70597721a1Update dependency org.springframework.boot:spring-boot-starter-parent to v4to Update spring boot to v470597721a1tob65b73a59bUpdate spring boot to v4to Update spring boot (major)Update spring boot (major)to Update dependency org.springframework.boot:spring-boot-starter-parent to v4View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.