:boot-docs: https://docs.spring.io/spring-boot/4.0-SNAPSHOT
:framework-docs: https://docs.spring.io/spring-framework/reference/7.0
:framework-api-docs: https://docs.spring.io/spring-framework/docs/7.0.x-SNAPSHOT/javadoc-api/org/springframework

= Spring Boot 4.0.0-RC2 Release Notes

For changes in earlier milestones, please refer to:

- link:Spring-Boot-4.0.0-RC1-Release-Notes[v4.0.0-RC1]
- link:Spring-Boot-4.0.0-M3-Release-Notes[v4.0.0-M3]
- link:Spring-Boot-4.0.0-M2-Release-Notes[v4.0.0-M2]
- link:Spring-Boot-4.0.0-M1-Release-Notes[v4.0.0-M1]



== Upgrading from Spring Boot 3.5



=== Migration Guide

To help with upgrading, a https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide[migration guide] is available.



== New and Noteworthy
TIP: Check link:Spring-Boot-4.0.0-RC2-Configuration-Changelog[the configuration changelog] for a complete overview of the changes in configuration.


=== Modularization of `spring-boot-micrometer-tracing`

`spring-boot-micrometer-tracing` has been split in 3 modules.
We've added new modules called `spring-boot-micrometer-tracing-brave` and `spring-boot-micrometer-tracing-opentelemetry` which house Brave and OpenTelemetry tracing support for Micrometer Tracing.

While working on this, we've also fixed some naming inconsistencies regarding properties:

* The property enabling tracing export has been changed from `management.{name}.tracing.export.enabled` to `management.tracing.export.{name}.enabled`.
* The property enabling logging export has been changed from `management.{name}.logging.export.enabled` to `management.logging.export.{name}.enabled`.
* The properties controlling logging export over OTLP have been renamed from `+management.opentelemetry.logging.export.*+` to `+management.opentelemetry.logging.export.otlp.*+`
* Zipkin properties have been renamed from `+management.zipkin.tracing.*+` to `+management.tracing.export.zipkin.*+`


=== Restoration of Jersey Support

This release reintroduces Jersey support since we now have a Jersey 4.0 release that support JAX-RS 4 (Jakarta EE 11).


=== Dependency Upgrades

Spring Boot 4.0.0-RC2 moves to new versions of several Spring projects:

* https://github.com/spring-projects/spring-data-bom/releases/tag/2025.1.0-RC2[Spring Data Bom 2025.1.0-RC2]
* https://github.com/spring-projects/spring-graphql/releases/tag/v2.0.0-RC2[Spring GraphQL 2.0.0-RC2]
* https://github.com/spring-projects/spring-framework/releases/tag/v7.0.0-RC3[Spring Framework 7.0.0-RC3]
* https://github.com/spring-projects/spring-hateoas/releases/tag/3.0.0-RC2[Spring HATEOAS 3.0.0-RC2]
* https://github.com/spring-projects/spring-integration/releases/tag/v7.0.0-RC2[Spring Integration 7.0.0-RC2]
* https://github.com/spring-projects/spring-security/releases/tag/7.0.0-RC2[Spring Security 7.0.0-RC2]

A few third-party dependencies have also been updated:

* https://www.elastic.co/docs/release-notes/elasticsearch/clients/java/9-2-0[Elasticsearch Client 9.2]


=== Miscellaneous

Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:

* Extracted `OpenTelemetryLoggingAutoConfiguration` from `OpenTelemetrySdkAutoConfiguration`.
* The `OnlyOnceLoggingDenyMeterFilter` class has been renamed to `MaximumAllowableTagsMeterFilter`
* HtmlUnit attributes in `@AutoConfigureWebMvc` have been moved and a new `url` attribute is now supported

== Deprecations in Spring Boot 4.0.0-RC2

* None
