The Spring Blog

Engineering
Releases
News and Events

Spring Cloud Finchley.M5 Released

On behalf of the team and community, I am pleased to announce that the Milestone 5 (M5) of the Spring Cloud Finchley Release Train is available today. The release can be found in Spring Milestone repository. You can check out the Finchley release notes for more information.

Notable Changes in the Finchley Release Train

This update contains changes for compatibility with Spring Boot 2.0.0.M7.

Spring Cloud Sleuth

The spans created via the @Async are now always continuing a parent span instead of creating a new one.

Read more...

Spring Tools 4 - public beta released

spring tools 4

Beginning today, we enter a new chapter in the tooling landscape for Spring and the development of enterprise applications built on top of the de-facto standard, Spring Boot. By unveiling the public beta of the next generation of our Spring tooling, we allow developers around the globe to get a preview of what is coming next to improve their developer experience around Spring and Spring Boot.

Spring Aware

smart code completion

The all-new Spring Tools 4 analyze your projects on the fly, understand the Spring constructs inside, and provide easy and super quick navigation to all your Spring elements. Finding a specific request mapping, an exact bean definition, or a newly created function was never as easy as with the new Spring Tools 4.

Read more...

Spring Batch 4.0.0.RELEASE is now available

We are pleased to announce that Spring Batch 4.0.0.RELEASE is now available through Github, the Pivotal download repository, and Maven Central. This is the generally available release of the 4.0 line. Many thanks to all that contributed to this release.

How We Got Here

Spring Batch 4 is the first major version release of Spring Batch since 3.0 went out in 2014. A lot has changed in the Spring ecosystem since that version went out. This release is intended to bring Spring Batch up to date with those changes. When Spring Batch 3 came out, Java configuration was just beginning to take over XML-based configuration. Spring Boot had not been announced yet. Also, while JDK 8 had just come out, Spring Framework 4 (which Spring Batch 3 was based on) still supported java back to JDK 6. Spring Batch 4 brings upgrades to all of these areas. Let’s take a look.

Read more...

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:

Read more...

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
Read more...

Spring IO Platform Brussels-SR6

I am pleased to announce that Spring IO Platform Brussels-SR6 is now available from both repo.spring.io 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

Read more...

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://org.springframework.cloud.stream.app:http-source-rabbit:1.2.0.RELEASE

dataflow:> app register --name log --type sink --uri maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.1.0.RELEASE

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.

Read more...

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.

Read more...

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.

Read more...