The Spring Blog

News and Events

Spring Session (Core/MongoDB/Geode) 2.0.0.RC2 released!

Greetings Spring community,

In preparation for the soon-to-be GA release, Spring Session, Spring Session MongoDB, and Spring Session for Apache Geode and Pivotal GemFire have all aligned to versions 2.0.0.RC2 for this release.

In case you missed it, this is what’s included with each of the modules:

  • Core - includes support for Redis, JDBC, and Hazelcast

  • MongoDB - both traditional blocking as well as reactive support for MongoDB

  • Apache Geode - support for Apache Geode as well as Pivotal GemFire (including the PCC service with the SSC extension on PCF)


Spring Cloud Data Flow for Cloud Foundry 1.3.0.M3 released

We are pleased to announce the 1.3.0.M3 release of the Spring Cloud Data Flow for Cloud Foundry.

The Getting Started Guide is the best place to start kicking the tires.

Release Highlights

Stream updates, a JavaDSL, and the complete port of the UI to the Angular 4.0 stack are some of the main highlights. More information on release highlights can be found in the release blog for the core Data Flow project.

Of note for the Cloud Foundry server is an upgrade to v2.23.0 of the cf-java client library and setting the default health check to be http instead of port. You can now also specify the health check endpoint URL and timeout values as deployment properties.


Spring for Apache Kafka 2.1.0.RELEASE (and 1.3.2, 2.0.2) Available

I am pleased to announce the availability of Spring for Apache Kafka 2.1.0.RELEASE.

In addition, maintenance releases 1.3.2.RELEASE and 2.0.2.RELEASE are available, containing important bug fixes. See also below for information about spring-integration-kafka 3.0.0.RELEASE. It is recommended that all users upgrade.

The main purpose of the 2.1 release is to upgrade the kafka-clients library to 1.0.0, but we have included a few improvements:

  • Sometimes, when a message can’t be processed, you may wish to stop the container so the condition can be corrected and the message re-delivered. The framework now provides the ContainerStoppingErrorHandler for record listeners and ContainerStoppingBatchErrorHandler for batch listeners.

  • The KafkaAdmin now supports increasing partitions when a NewTopic bean is detected with a larger number of partitions than currently exist on the topic.

  • StringJsonMessageConverter and JsonSerializer/JsonDeserializer now pass and consume type information in Headers. This allows multiple types to be easily sent/received on the same topic:


Spring Boot 2.0.0 M7 available now

On behalf of the team, it is my pleasure to announce that Spring Boot 2.0.0.M7 has been released and is now available from our milestone repository. This release closes 165 issues and pull requests and continues our progress towards 2.0 GA. Thanks to everyone that has contributed!

This release refines a number of items from previous milestones, and provides a number of notable new features:

  • Condition evaluation report deltas on Devtools triggered restart
  • A new scheduled tasks actuator endpoint
  • Support for Duration types in configuration properties (e.g. 5ms, 1s, 10m)
  • Reactive Couchbase support

Spring IO Platform Brussels-SR6

I am pleased to announce that Spring IO Platform Brussels-SR6 is now available from both and Maven Central.

This maintenance release upgrades the versions of a number of the projects in the Platform:

  • AspectJ 1.8.13
  • Spring Boot 1.5.9
  • Spring Cloud Connectors 1.2.5
  • Spring Data Ingalls-SR9
  • Spring Framework 4.3.13
  • Spring Kafka 1.1.7
  • Spring LDAP 2.3.2
  • Spring Web Services 2.4.2

The versions of a number of third-party dependencies have also been updated.

Project Page | GitHub | Issues | Documentation


Spring Cloud Data Flow 1.3.0.M3 released

We are pleased to announce the 1.3.0.M3 release of the Spring Cloud Data Flow and its associated ecosystem of projects.

Local Server: Getting Started Guide

Release Highlights

Stream updates and rollback

A streaming data pipeline orchestrated as a series of microservice applications has always been the core value of Spring Cloud Data Flow’s design. In 1.3.0.M3 we have provided the ability to update sources, processors, and sinks independently without having to undeploy and redeploy the entire stream.

The stream update feature is implemented by delegating the deployment process to a new Spring Cloud project called Skipper. Introduced in this blog, Spring Cloud Skipper is a standalone server that deploys Spring Boot applications to multiple cloud platforms. It also keeps track of the application version, application properties, and deployment properties of the deployed application or applications so that the changes to any of these properties can be calculated upon an update request.

When a request is made to update applications in a Stream, only the application or applications that need to be changed are updated. A simple red/black update is performed and the design relies on Spring Boot’s health endpoint associated with the new application(s). By keeping track of the deployments, Skipper can also rollback to previous versions of the stream.

The following new Data Flow commands show the basic lifecycle of updating the log sink from version 1.1.0 to version 1.2.0 and then rolling back to 1.1.0. This assumes that both version 1.1.0 and 1.2.0 of the log sink were deployed as maven artifacts. Note that the HTTP source application remains deployed throughout the changes to the log sink.

dataflow:> app register --name http --type source --uri maven://

dataflow:> app register --name log --type sink --uri maven://

dataflow:> stream create --name httptest --definition "http --server.port=9000 | log"

dataflow:> stream skipper deploy --name httptest

dataflow:> stream skipper update --name httptest --properties version.log=1.2.0.RELEASE

dataflow:> stream skipper rollback --name httptest

The Getting Started and Streams with Skipper sections of the documentation walk through the process in much greater detail.


Spring Integration 5.0 GA Available

On behalf of the Spring Integration team I am pleased to announce that the GA release for the Spring Integration 5.0 version (5.0.0.RELEASE) is now available.

It can be downloaded from Maven Central, JCenter, and our release repository:

compile "org.springframework.integration:spring-integration-core:5.0.0.RELEASE"

First of all, special thanks to all community members for their ongoing active contributions to the framework!

Several JIRAs (and some GitHub issues), since the previously announced RC1, are included in this release, mostly bug fixes from early adopters and Reference Manual improvements.


Spring AMQP 1.7.5 and 2.0.1 Available

On behalf of the community, I’m pleased to announce 1.7.5 and 2.0.1 maintenance releases of Spring AMQP. They are available from Maven Central, JCenter, and our release repository.

These versions are mostly bug fixes and recommended for everyone to upgrade.

The version 2.0.1 is a foundation for the upcoming Spring Boot 2.0 M7 release.

Thanks to all the community contributors for various feedback and pull requests.

We hope to see you at SpringOne Platform next week. It will be packed with many Spring talks, opportunities to learn about the latest and greatest features and of course some previews about what we’re planning to do next.


Spring REST Docs 2.0.0.RELEASE

On behalf of everyone who contributed, it’s my pleasure to announce that Spring REST Docs 2.0.0.RELEASE has been released and is available from Maven Central, JCenter, and our release repository

What’s new?

Spring REST Docs 2.0 is the latest generation of the project and requires Spring Framework 5.0 and Java 8.

The main highlight of the 2.0 release is support for using Spring WebFlux’s WebTestClient to document an API. WebTestClient can be used for lightweight testing and documentation of APIs implemented using WebFlux Fn and WebFlux’s annotation-based programming model. It can also be used to document any API that’s accessible via HTTP, something that was previously only possible when using REST Docs’ REST Assured support.