The Spring Blog

Engineering
Releases
News and Events

Spring Cloud Dalston SR1

On behalf of the community, I am pleased to announce that the Service Release 1 (SR1) of the Spring Cloud Dalston Release Train is available today. The release can be found in Maven Central. It is mostly a bugfix and documentation update. You can check out the Dalston release notes for more information.

The following modules were updated as part of Dalston.SR1:

Module Version
Spring Cloud Aws 1.2.1.RELEASE
Spring Cloud Bus 1.3.1.RELEASE
Spring Cloud Commons 1.2.2.RELEASE
Spring Cloud Config 1.3.1.RELEASE
Spring Cloud Consul 1.2.1.RELEASE
Spring Cloud Contract 1.1.1.RELEASE
Spring Cloud Netflix 1.3.1.RELEASE
Spring Cloud Security 1.2.1.RELEASE
Spring Cloud Sleuth 1.2.1.RELEASE
Spring Cloud Stream Chelsea.SR2
Spring Cloud Vault 1.0.1.RELEASE
Spring Cloud Zookeeper 1.1.1.RELEASE
Read more...

New beta versions of Concourse pipeline and Cloud Foundry manifest editing support released for Visual Studio Code

Back in February 2017 we started to introduce new IDE-agnostic tooling support with our first beta version of the Cloud Foundry manifest editing support. As promised, we continue this journey with an improved version of the Cloud Foundry manifest editing support for Visual Studio Code and brand-new support for editing Concourse task and pipeline definitions - also as an extension to Visual Studio Code. This marks our second step towards implementing tooling in an IDE-agnostic way, adopting the language server protocol from Visual Studio Code.

Read more...

Spring Cloud Stream Chelsea.SR2 Released

On behalf of the community, I am happy to announce the release of Spring Cloud Stream Chelsea.SR2. This is the second general availability release in the Chelsea release train, which fixes a number of issues over Chelsea.SR1.

The new release is available in Maven Central, and a detailed description of its features can be found in the reference documentation. For information about artifacts and most recent changes, please consult the release notes.

What is next:

After the release, we will start working on the next Spring Cloud Stream release train, named Ditmars, as well as expand the Spring Cloud Stream ecosystem. In parallel with developing the Ditmars release train, we will start work on the Elmhurst release train which will be based on Spring Framework 5 and Spring Boot 2.

Read more...

Reactor Bismuth release train first milestone available

On behalf of the Reactor team, it is my pleasure to announce that Reactor hit an important milestone last week, making the Bismuth-M1 release train available.

This first milestone backs the newly released Spring Framework 5 RC1. It notably includes version 3.1.0.M1 of reactor-core, reactor-test and reactor-extra.

As the 3.1.x generation is slated to be the long term support branch (as is appropriate for a version that backs the Spring framework), focus has been on stabilizing and polishing the API. As such, expect some breaking changes from the 3.0.x versions [1].

Read more...

Spring Boot 2.0.0 M1 Available Now

On behalf of the team and everyone that contributed, I am pleased to announce that the first milestone of Spring Boot 2 has been released and is available from our milestone repository. This release closes over 300 issues and pull requests!

This first milestone builds on and requires Spring Framework 5.0.RC1. There are a number of nice refinements in Spring Framework 5 including extensive support for building reactive applications.

Highlights of this first milestone include:

Read more...

Spring Cloud Data Flow 1.2 GA released

On behalf of the team, I am pleased to announce the general availability of Spring Cloud Data Flow 1.2 across a range of platforms

Here are the relevant links to documentation and getting started guides.

Highlights of the 1.2 release:

Composed Tasks

This release introduces Composed Tasks ! This feature provides the ability to orchestrate a flow of tasks as a cohesive unit-of-work. A complex ETL pipeline may include executions in sequence, parallel, conditional transitions, or a combination of all of the above. The composed task feature comes with DSL primitives and an interactive graphical interface to quickly build these type of topologies more easily. You can read more about it from the reference guide.

An ETL job, for example, may include multiple steps. Each step in the topology can be built as a finite short-lived Spring Cloud Task application. The orchestration of multiple tasks as steps can be easily defined with the help of the Data Flow Task DSL.

task create simple-etl --definition "extractDbToHDFS &&
      <analysisInSpark || enrichAndLoadHawq> &&
      <populateMgmtDashboard || runRegulatoryReport || loadAnalyticsStore>"

This will first run extractDbToHDFS and then run analysisInSpark and enrichAndLoadHawq in parallel, waiting for the both of them to complete before running the three remaining tasks in parallel and waiting for them to all complete before ending the job. The graphical representation of this topology looks like the following.

Visualization of Composed Tasks

Real-time Metrics and Monitoring

Real-time metrics are now part of the operational view of deployed streams. The applications that are part of a stream publish metrics contained in their Spring Boot /metrics actuator endpoint. This includes send and receive messages rates. A new server, the Spring Cloud Data Flow Metrics Collector, collects these metrics and calculates aggregate message rates. The Data Flow server queries the Metrics Collector to support showing message rates in the UI and in the shell. For more details about the architecture, refer to the Monitoring Deployed Applications Section in the reference guide.

The screenshot below shows the aggregate message rates for a time | log stream with three instances of the time and log applications. Each dot below the main application box shows the message rates for each individual application along with a guid value that can be used to identify the application on the platform where they are running.

Visualization of Input and Output Rates in Flo

The Runtime tab, shown below, also had improvements to show message rates and any other metrics exposed by the platform. For the script savvy users, the shell experience also includes these details via the runtime apps command.

Runtime Apps UI

Companion Artifact

The companion artifact support introduced in 1.2 M3 has had some improvements. The bulk registration workflow now eagerly resolves and downloads the metadata artifacts for all the out-of-the-box applications. This comes handy in the Shell or UI when reviewing the supported properties for each application.

OAUTH Improvements

This change will provide an additional option for REST-API users. Instead of providing a username:password combination via BasicAuth, users will now have the ability to retrieve an OAuth2 Access token from their OAuth2 provider directly and then provide the Access Token in the HTTP header, when invoking RESTful calls against a secured Spring Cloud Data Flow setup.

Role based access

Add role-based access control to define who has access to create, deploy, destroy, or view streams/tasks. This works seamlessly in coordination with the supported authentication methods.

Bug reporting

A new REST endpoint and About page in the Dashboard to collect server implementation details to the clipboard for use in bug reporting.

Spring Cloud Stream App Starters - Bacon.RELEASE

The Stream App Starters Bacon.RELEASE is now generally available which provides you a range of sources, processors, and sinks to get started creating stream. All the out-of-the-box stream applications build upon Spring Cloud Stream Chelsea.RELEASE and Spring Cloud Dalston.RELEASE foundation. There were several enhancements and bug-fixes to the existing applications and this release-train also brings new applications such as MongoDB-sink, Aggregator-processor, Header-Enricher-processor, and PGCopy-sink.

For convenience, we have generated the bit.ly links that includes the latest coordinates for docker and maven artifacts.

Spring Cloud Task App Starters - Belmont.RELEASE

The Task App Starters Belmont.RELEASE release is now complete. To support Composed Task feature in Spring Cloud Data Flow, we have added a new out-of-the-box application named Composed Task Runner. This is a task that executes others tasks in a directed graph as specified by a DSL that is passed in via the --graph command line argument.

The Belmont.RELEASE builds upon Spring Cloud Task 1.2 RELEASE and Spring Cloud Dalston.RELEASE foundation.

For convenience, we have generated the bit.ly links that includes the latest coordinates for docker and maven artifacts.

What’s Next?

An immediate goal is adding more automated integration tests and to expose this as an additional user facing feature. You can track that work here.

Beyond the 1.2.x line, we are going to start planning for the 2.0 version. Some general themes are support for deploying individual applications and keeping track of application deployment properties and metadata such as the application version. This functionality would build up into supporting a rich Continuous Delivery theme at the application level that also extends to "editing" streams at runtime. In addition, we are also looking into supporting functions, either "in-line" as Java code or compiled java.util.Function s to be a first class programming model for data processing a stream.

Feedback is important. Please reach out to us in StackOverflow and GitHub for questions and feature requests. We also welcome contributions! Any help improving the Spring Cloud Data Flow ecosystem is appreciated.

Read more...

Spring Batch 4.0.0.M2 is now available

We are pleased to announce that Spring Batch 4.0.0.M2 is now available via Github and the Pivotal download repository. This release represents the second milestone for the Spring Batch 4.0 release. Many thanks to all that contributed to this release.

What’s new?

This milestone continues the work laid out in Spring Batch 4.0.0.M1. Specific updates include:

  • Dependency updates
  • Continued java configuration improvements

Dependency updates

Spring Batch 4 will be the version included in Spring Boot 2 so we’re taking this time to syncronize our dependencies. With that, this release supports upgrades to the latest milestones of the Spring Data Kay release train and Spring Integration 5.

Read more...

Spring Security 5.0.0 M1

On behalf of the community, I’m pleased to announce the release of Spring Security 5.0.0 M1. This release includes bug fixes, new features, and is based off of Spring Framework 5.0.0 RC1. The highlights of the release include:

Initial Support for Reactive Web Applications

Following one of the primary themes of Spring Framework 5.0, Spring Security 5.0 will add support for Reactive applications by building on top of Spring’s reactive support. The first milestone focused on getting primary infrastructure in place.

Read more...

Spring Session 2.0.0 M1 Released

On behalf of the community I’m pleased to announce the release of Spring Session 2.0.0.M1. This release is focused primarily on ensuring compatability with Spring Framework 5 which is the minimum Spring version required.

Supported Data Stores

We have also removed some of the Spring Session implementations from the main repository. The goal is to allow the core Spring Session team to focus on delivering new features rather than needing to know the ins and outs of every data store. This will allow development of other modules to be done without the overhead of reviews from the Spring Session team.

Read more...

Spring Data Release Train Kay M3 Released

On behalf of the Spring Data team, I’d like to announce the availability of the third milestone of the release train Kay.

The most significant change is an improved naming scheme for CrudRepository. We extracted the store-specific CustomConversions to Spring Data Commons and introduced bi-directional type-based converters to maintain a single API for common conversion code. You can now define converters using lambdas. You need to adopt your code to the renamed methods. MongoDB ships with a renamed annotation for reactive tailable cursors, we renamed @InfiniteStream to @Tailable. Users of Spring Data for Apache Cassandra can now upgrade to a higher Guava version as we upgraded to Datastax driver 3.2.0.

Read more...