The Spring Blog

News and Events

Introducing Spring Shell 2.0M1!

We are pleased to announce the first release milestone of Spring Shell 2.x!

Two years in the making, Spring Shell 2 is a complete rewrite of Spring Shell, leveraging newer components (such as JLine 3) and applying better modularization. Spring Shell 2 is also built with Spring Boot in mind, making use of auto configuration and other boot features.

The internal architecture now uses a pluggable model to discover what methods to turn into commands, how to parse user input into argument values and how to handle return values. This is very similar to the approach taken by Spring MVC for example and allows extensions of the framework in ways that were not previously possible. Users of Spring Shell would typically not care though, only dealing with the new “standard” command API to define their commands.


Spring Session MongoDB 2.0.0.M3 released

Dear Spring Community,

Spring Session MongoDB 2.0.0.M3 is released. It is based on:

In this release, several new features have been added to simplify using it with your Spring WebFlux application.

public class SpringWebFluxConfig {


All you must do is apply the @EnableMongoWebSession to any of your Spring configuration classes to activate session support with MongoDB. Additionally, you must provide a ReactorMongoOperations Spring bean, but if you’re using Spring Boot’s spring-boot-starter-data-mongodb-reactive starter, this is already provided.


Spring Security 5.0.0 M4 Released

On behalf of the community, I’m pleased to announce the release of Spring Security 5.0.0 M4. This release includes bug fixes, new features, and is based off of Spring Framework 5.0.0 RC4. You can find complete details in the changelog. The highlights of the release include:


Spring Session 2.0.0 M4

On behalf of the community I’m pleased to announce the release of Spring Session 2.0.0.M4. This release is focused primarily on refining WebFlux support. The highlights are:

Simplified WebFlux Configuration

Configuring Spring Session for WebFlux is simplified to be:

public class HelloWebfluxSessionConfig {

  public MapReactorSessionRepository reactorSessionRepository() {
    return new MapReactorSessionRepository(new ConcurrentHashMap<>());

You can also switch the strategy for resolving session id’s by simply adding a WebSessionIdResolver Bean. For example, to switch from using cookies to resolve the session id to using headers, you can use Spring Framework’s new HeaderWebSessionIdResolver:

public HeaderWebSessionIdResolver webSessionIdResolver() {
  return new HeaderWebSessionIdResolver();

Spring Boot 2.0.0 M4 Available Now

Hot on the heels of the latest Spring Framework 5 release candidate, Spring Boot 2.0 M4 is now available from our milestone repository. This release closes 150 issues and pull requests and is a major step towards 2.0 GA. Thanks to all that contributed!

This milestone provides a host of minor tweaks and enhancements along with three major changes:

For a complete list of changes, and upgrade instructions, see the Spring Boot 2.0.0.M4 Release Notes on the WIKI. We are a bit behind with regards to updating the reference documentation, so please consider using the snapshot version which we’ll continue to update.


Security changes in Spring Boot 2.0 M4

Milestone 4 of Spring Boot 2.0 brings important changes to the security auto-configuration provided by Spring Boot.

Problem Statement

Until Spring Boot 1.x, the default auto-configuration secured all of the application endpoints using basic authentication. If actuator was on the classpath, there was a separate security configuration that applied to the actuator endpoints. The way these two auto-configurations would turn on and off was completely independent. Because of this, users wanting to provide custom security found themselves fighting ordering issues with WebSecurityConfigurerAdapters.


Spring Cloud Stream Ditmars/1.3 Release Candidate Announcement

We are pleased to announce that the release candidate Spring Cloud Stream Ditmars.RC1 is available for use in the Spring Milestone repository. The release notes include relevant information about version compatibility with Spring Boot, Spring Cloud, Spring AMQP, and Spring for Apache Kafka.

Kafka Streams for Apache Kafka

This release targets the promotion of Kafka Streams for Apache Kafka support as a top-level project in the Apache Kafka binder implementation. With Kafka Streams for Apache Kafka positioned as a first-class citizen, developers can now build Spring Cloud Stream applications by taking advantage of the Kafka Streams API at the binding level, so that it is much simpler to implement real-time data-processing business functions. The developers can focus on the functionality as opposed to the infrastructure and the messaging middleware configuration specifics, which Spring Cloud Stream tackles head-on by addressing it out-of-the-box. In addition to writing standard stream processing applications, Spring Cloud Stream binder for Kafka Streams enables developers to write applications that leverage on the interactive query features of Kafka Streams. Check out the samples for more details.


Spring Integration 5.0 Milestone 7 and 4.3.12 Available

On behalf of the Spring Integration team I am pleased to announce that the Milestone 7 for the Spring Integration 5.0 version (5.0.0.M7) is now available.

It is available for download from the Milestone Repository:

repositories {
    maven { url '' }
compile "org.springframework.integration:spring-integration-core:5.0.0.M7"

21 JIRAs (and some GitHub issues) made into this release, including bug fixes and a number of new features. Some highlights of features in the M7, since the previously announced Milestone 6:


Spring For Apache Kafka 2.0 and 1.3 Release Candidates Available

We are pleased to announce the availability of the 2.0.0.RC1 release candidate of the Spring for Apache Kafka 2.0 version.

As discussed in the 1.3.0.M2 announcement, we are concurrently releasing 1.3 with 2.0, where 1.3 contains a subset of the 2.0 features, supporting the Kafka 0.11.x.x client, while still supporting Spring Framework 4.3. As such, the 1.3.0.RC1 release candidate is also available.

They are available for download from the Milestone Repository:

repositories {
    maven { url '' }
compile "org.springframework.kafka:spring-kafka:2.0.0.RC1"