-
Notifications
You must be signed in to change notification settings - Fork 40.7k
Spring Boot 2.0.0 M7 Release Notes
For changes in earlier milestones, please refer to:
See instructions in the 2.0.0.M6 release notes for upgrading from v2.0.0.M5 and earlier.
After some feedback from the community, the default management.endpoints.web.base-path
has been changed from "/application"
to "/actuator"
to avoid collision with user-defined mappings (see #10970).
The endpoints.
keys have moved to management.endpoints.
The status
endpoint been removed in favour of a unique health
endpoint that can either show the status or the full details. The health
endpoint is now exposed by default (and only shows the status). This can be changed using the management.endpoints.health.show-details
property:
management.endpoints.health.show-details=true
Endpoint exposure has been simplified. Rather than an enabled
flag per endpoint and per technology, each technology provides a expose
and exclude
attributes. For instance to expose all web endpoints but the env
endpoint:
management.endpoints.web.expose=*
management.endpoints.web.exclude=env
Check the updated documentation in the updated section in the reference guide and the new Actuator API documentation.
As the "Auto-configuration report" defines more than than the outcome of auto-configurations, it has been renamed to "Conditions evaluation report". The /actuator/auto-config
is now available at /actuator/conditions
.
The default value for spring.jackson.serialization.write-dates-as-timestamps
is now set to false
, meaning all JSR310 date types will be serialized as ISO-8601 strings instead of array-like types.
Due to an unanticipated and unwanted side-effect, jackson-module-kotlin
has been removed from spring-boot-starter-json
. If you are using Jackson in a Kotlin project, you will now have to declare the com.fasterxml.jackson.module:jackson-module-kotlin
dependency manually. (#11133)
Spring Data repositories that support both imperative and reactive use case can be configured using a spring.data.<store>.type
property. The default value is auto
, i.e. configure what is available.
commons-digester
is no longer managed. If you are using this library, you’ll have to define a version
for it.
The CommandLineRunner
that executes batch jobs on startup has an order of 0.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
When an application using devtools restart due to a change, a delta of the conditions evaluation report is logged. This delta defines exactly which conditions have changed and the impact on your application. For the instance, the following would be logged if you add your own ObjectMapper
to an application that used the auto-configured version so far:
2017-11-24 14:45:57.723 INFO 63896 --- [ restartedMain] .ConditionEvaluationDeltaLoggingListener : Condition evaluation delta:
==========================
CONDITION EVALUATION DELTA
==========================
Positive matches:
-----------------
None
Negative matches:
-----------------
JacksonAutoConfiguration.JacksonObjectMapperConfiguration#jacksonObjectMapper:
Did not match:
- @ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found beans of type 'com.fasterxml.jackson.databind.ObjectMapper' objectMapper (OnBeanCondition)
Exclusions:
-----------
None
Unconditional classes:
----------------------
None
A new endpoint to display scheduled tasks (i.e. @EnableScheduling
) is available at /actuator/scheduledtasks
. It provides an entry for the cron, fixed delay and fixed rate tasks.
Many configuration properties, like server.session.cookie.max-age
expect as values the number of seconds (or milliseconds, depending on the property) to configure a duration. Those properties have been converted to Java Duration
types, so you can configure server.session.cookie.max-age=2d
(two days!). Note that existing, non-suffixed, values will keep on working as expected.
Spring Boot support both static and templated welcome pages. It first looks for an index.html
file in the configured static content locations. If one is not found, it then looks for an index
template. If either is found it is automatically used as the welcome page of the application.
Cache defaults can now be configured using spring.cache.redis.*
properties.
For advanced scenario, you can now define the ImplicitNamingStrategy
or PhysicalNamingStrategy
to use as regular beans in the context.
Support for Spring Data reactive repositories is available for Couchbase and a spring-boot-starter-data-couchbase-reactive
is available to easily get started.
The Kotlin RestTemplate
extensions are also available for TestRestTemplate
to make the developer experience consistent.
When using an embedded container, the context path is logged alongside the HTTP port. Something like;
Tomcat started on port(s): 8080 (http) with context path '/foo'