:docs: https://docs.spring.io/spring-boot/docs/2.2.x-SNAPSHOT/reference/html/

= Spring Boot 2.2.0 M3 Release Notes

For changes in earlier milestones, please refer to:

 - link:Spring-Boot-2.2.0-M2-Release-Notes[v2.2.0 M2]
 - link:Spring-Boot-2.2.0-M1-Release-Notes[v2.2.0 M1]



== Upgrading from Spring Boot 2.1
See instructions in the link:Spring-Boot-2.2.0-M1-Release-Notes[2.2.0.M1 release notes] for upgrading from Spring Boot 2.1.

=== Spring Framework 5.2
This release upgrades to Spring Framework 5.2 M2. Please refer to https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x#upgrading-to-version-52[Spring Framework's upgrade documentation] for further details.

=== Actuator HTTP Trace and Auditing are disabled by default
The Actuator HTTP Trace and Auditing features are not enabled by default anymore, since the default repositories implementations are in-memory and may consume too many resources and are not cluster friendly. For robust, production-grade HTTP tracing we recommend the use of https://spring.io/projects/spring-cloud-sleuth[Spring Cloud Sleuth] or similar.

To enable HTTP tracing, contribute a bean implementing `HttpTraceRepository` or `AuditEventRepository` to turn those features back on. Configuration properties are available to turn those features off even in the presence of beans (see `management.auditevents.enabled` and `management.trace.http.enabled`)

=== Gradle requirements
The minimum requirements for Gradle have changed - Spring Boot now requires Gradle 4.10+. Please upgrade accordingly.

=== Jetty logging configuration
As of https://github.com/spring-projects/spring-boot/issues/16416[#16416], `server.jetty.accesslog.` configuration properties related to log formatting are no longer available (the ones related to log files are still there).

If your application is making use of those properties, two new keys have been introduced, `format` and `custom-format`; `format` allows you to choose amongst existing formats, `custom-format` allows you to use your own format:

[source, properties]
----
server.jetty.accesslog.format=NCSA # enum with predefined formats: NCSA, EXTENDED_NCSA
server.jetty.accesslog.custom-format= # String, custom format overriding the former if defined
----

Unsupported options now translate to defining a custom log format and using options as defined in Jetty's https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-server/src/main/java/org/eclipse/jetty/server/CustomRequestLog.java[CustomRequestLog].



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


=== RSocket improvements
Following the new RSocket features introduced in M2, this release adds auto-configuration for `RSocketRequester.Builder` components, allowing you to send requests to remote RSocket services (see https://docs.spring.io/spring-boot/docs/2.2.0.BUILD-SNAPSHOT/reference/html/spring-boot-features.html#boot-features-rsocket-requester[reference docs]). Jackson https://cbor.io/[CBOR] is also now the codec of choice for encoding/decoding binary payloads efficiently.

=== Dependency Upgrades
Spring Boot 2.2.0.M2 moves to new versions of several Spring projects:

- https://spring.io/blog/2019/05/13/spring-amqp-spring-for-rabbitmq-2-2-milestone-2[Spring AMQP 2.2.0.M2]
- https://spring.io/blog/2019/05/13/spring-batch-4-2-0-m2-available-now[Spring Batch 4.2.0.M2]
- https://spring.io/blog/2019/05/14/spring-data-moore-m4-lovelace-sr8-and-ingalls-sr22-released[Spring Data Moore-M4]
- https://spring.io/blog/2019/05/10/spring-framework-5-2-0-m2-5-1-7-5-0-14-and-4-3-24-available-now[Spring Framework 5.2.0.M2]
- https://spring.io/blog/2019/05/13/spring-for-apache-kafka-2-3-milestone-2[Spring Kafka 2.3.0.M2]
- https://spring.io/blog/2019/05/13/spring-integration-5-2-milestone-2-available[Spring Integration 5.2.0.M2]
- Reactor Dysprosium-M1

Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:

- Tomcat 9.0.19
- Lombok 1.18.8
- Elasticsearch 6.7.2
- Kotlin 1.3.31
- Netty 4.1.36


== Deprecations in Spring Boot 2.2.0 M3
