Skip to content

Spring Boot 2.0.0 M5 Release Notes

Phillip Webb edited this page Nov 13, 2024 · 1 revision

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 2.0.0 M4

See instructions in the 2.0.0.M4 release notes for upgrading from v2.0.0.M3 and earlier.

Surefire defaults

Custom include/exclude patterns have been aligned to latest Surefire’s defaults. If you were relying on ours, update your plugin configuration accordingly. They used to be as follows:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <includes>
             <include>**/*Tests.java</include>
             <include>**/*Test.java</include>
        </includes>
        <excludes>
            <exclude>**/Abstract*.java</exclude>
        </excludes>
    </configuration>
</plugin>
Tip
If you are using JUnit 5, you should downograde Surefire to 2.19.1. The **/*Tests.java pattern is not included in this version so if you are relying on that, make sure to add it in your configuration.

Redis

Lettuce is now used instead of Jedis as the Redis driver when you use spring-boot-starter-redis. If you are using higher level Spring Data constructs you should find that the change is transparent. We still support Jedis, and you are free to switch dependencies if you prefer by excluding io.lettuce:lettuce-core and adding redis.clients:jedis.

OAuth 2.0 Support

Functionality from the Spring Security OAuth project is being migrated to core Spring Security. OAuth 2.0 client support has already been added and additional features will be migrated in due course.

If you depend on Spring Security OAuth features that have not yet been migrated you will need to add org.springframework.security.oauth:spring-security-oauth2 and configure things manually. If you only need OAuth 2.0 client support you can use the auto-configuration provided by Spring Boot 2.0. We’re also continuing to support Spring Boot 1.5 so older applications can continue to use that until an upgrade path is provided.

Mockito 1.x

Mockito 1.x is no longer supported for @MockBean and @SpyBean. If you don’t use spring-boot-starter-test to manage your dependencies you should upgrade to Mockito 2.x.

Configuring Gradle bootRun

The BootRun task now provides properties for configuring the application’s arguments (args) and JVM arguments (jvmArgs). More advanced configuration is available via execSpec. See the Gradle plugin’s documentation for more details.

New and Noteworthy

Tip
Check the configuration changelog for a complete overview of the changes in configuration.

Updated project structure and CI

Spring Boot now uses concourse.ci for continuous integration and release. The project POM files have also been restructured so that they are simpler. These changes should be transparent to most users, but if you find any issues with our published POMs please report them.

Java 9 support

Besides a handful identified cases, the master build passes locally with Java 9. There is a dedicated page that provides more details if you want to run Spring Boot apps with Java 9.

Micrometer 1.0.0-rc.2 support

Metrics support provided by Micrometer continues to evolve. This release builds on Micrometer 1.0.0-rc2. Issues reports and contributions to micrometer are welcome on their GitHub.

Spring Framework 5.0 GA

This milestone of Spring Boot is the first to include the GA release of Spring Framework 5.0. Core Spring Framework APIs should be stable from this point onward.

JSON-B Support

In addition to Jackson and Gson we now also support JSON-B for JSON binding. The JSON testing support has also been updated with a new JsonbTester class.

Session Endpoint

Spring Session users can now find and delete sessions via a /application/sessions Actuator Endpoint.

Clone this wiki locally