The Spring Blog

Engineering
Releases
News and Events

Spring Framework 5.0 M5 Update

An update on the 5th and last milestone of Spring Framework 5.0…

Spring MVC and Spring WebFlux

The name Spring MVC is both well known and widely used but it may surprise a few there is no actual project or independent distribution with that name. Rather it is a module within the Spring Framework distribution called spring-webmvc. Here is another trivia question. Did you know that the top-level package in the module does not feature “mvc”? Rather it is called org.springframework.web.servlet. Practically speaking those are details that we don’t have to remember. What matters is that we have a short and memorable name to refer to Spring’s Servlet stack based web framework.

Read more...

Spring Framework 5.0 M5 released

Dear Spring community,

Leading into 2017, the fifth Spring Framework 5.0 milestone is available now. Once again, please check the project page for how to obtain it from our milestone repository.

This is the last milestone before we enter the release candidate phase. Our feature-complete RC1 is planned for early April, initiating a series of release candidates up until June. With this timeline, against near-final releases of OpenJDK 9 and several EE 8 specifications, our 5.0 generation covers early JDK 9 support as well as Servlet 4.0 and Bean Validation 2.0 already.

Read more...

Spring Cloud Data Flow for Cloud Foundry 1.1.1 Maintenance release available

The 1.1.1.RELEASE maintenance release of Spring Cloud Data Flow for Cloud Foundry is now available and includes a variety of stability and performance improvements. Following are the highlights:

  • Stability Improvements The instability problems when using SCDF’s 1.1.0.RELEASE on PCF manifested to the users in the following forms.

    • stream list operation would hang and eventually time out with “IllegalStateException: 503 Bad Gateway” or “IllegalStateException: Timeout on block read” exceptions. This is addressed in the cf-java-client library.

    • With SCDF server sitting cold/idle for a period of time and with OAUTH token refresh routine happening in the background, any new operation to the server would never complete. The OAUTH refresh token routine had a bug in successfully negotiating for new tokens. This is addressed in the cf-java-client library.

  • Error Handling Improvements The improved error handling and logging support include the operations and its call chain details. This is especially useful when performing 100s of stream/task operations in SCDF, and if anything fails in the process, it will be easy to correlate and determine the root-cause more efficiently. There has been error handling improvements in SCDF’s cf-deployer, cf-java-client, and reactor-core projects.

  • Network Call Optimizations While invoking stream list from the shell or navigating to the equivalent stream list page in the Dashboard, we were performing a network call for each application associated with the stream(s). This is now refactored and replaced to efficiently query for all the application statuses in a single network call if the backing runtime supports it (and the Cloud Foundry deployer certainly does). This change significantly improves the user-experience of the stream listing operation.

  • Stress/Load Testing In the process of addressing above mentioned instability patterns, we have built a comprehensive integration and acceptance test harness. With the load-testing routines simulating 100s of concurrent operations on the server including “stream creates”, “stream deploys”, “stream destroys”, and “stream lists”, we were able to monitor the overall health of the SCDF server and as well correlate to confirm the successful execution of operations in entirety.

Read more...

Reactor Aluminium-SR1 has landed

A batch update of releases has arrived and it is brought to you with the new Aluminium-SR1 Bill Of Material. Just in time for Spring Framework M5 !

Reactor-Core 3.0.5

release notes

An important quality update with new features including predicated-based windows and the checkpoint operator, fixes, test coverage and for the first time in 3.0.x line, a draft reference guide.

We are now working on 3.0.6.RELEASE which is going to be our last major 3.0 content update before 3.1.0.RELEASE. We encourage our Spring Community to just follow deprecated instructions if they hit any of the @Deprecated API, thus simply preparing for a quick, painless, upgrade when time comes. Have a look at our issues backlog for a more detailed scope.

Read more...

This Week in Spring - February 21st, 2017

Welcome to another installment of This Week in Spring! This week I’m in Atlanta, GA for the incredible DevNexus event and then it’s off to Geneva, Switzerland for the Voxxed CERN event. As usual, don’t hesitate to say “Hi” if you’re around!

Read more...

Spring IO Platform Brussels-RELEASE

It’s my pleasure to announce that Spring IO Platform Brussels-RELEASE is available now from the Spring release repository and Maven Central.

The Brussels release introduces the following projects to the Platform:

  • Spring Kafka 1.1

The Brussels release also upgrades the versions of a number of projects:

  • Spring AMQP 1.7
  • Spring Boot 1.5
  • Spring Data Ingalls
  • Spring Integration Java DSL 1.2
  • Spring Integration Kafka 2.1
  • Spring LDAP 2.3
  • Spring Security 4.2
  • Spring Session 1.3
  • Spring Web Services 2.4

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

Read more...

Spring Cloud Data Flow 1.2 M1 released

On behalf of the team, I am excited to announce the release of the first milestone of Spring Cloud Data Flow 1.2.

Note: A great way to start using this new release(s) is to follow the release matrix on the project page, which includes the download coordinates and the links to the reference guide.

Over the last few weeks, we have added new features and improvements to the overall orchestration of data microservices. The following new features were included in the 1.2.0.M1 release:

Core

  • Introduce dedicated prefixes for deployment properties. Using the deployer properties is as simple as deployer.<appname>.xxx as opposed to app.<appname>.spring.cloud.deployer.xxx
  • Introduce a new REST-API controller and shell support to cleanup Task Executions
  • Foundation work to consolidate the use of controllers between Task deployments and Task Executions
  • Consolidate REST-API call traces and return codes for consistency
  • Adds 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.
  • Performance optimizations to “stream list” operation. Instead of making individual calls for each app associated with the stream, the newly introduced MultiStateAppDeployer SPI operation invokes a call per stream that queries all the application statuses in a single network call
  • Improves error reporting for “stream list” operation
Read more...

This Week in Spring - February 14th, 2017

Welcome to another installment of This Week in Spring! It’s Valentines Day for some, and so happy Valentines day to you! This week I’m in Memphis, Tennessee for business and then it’s off to Saint Louis where I’ll be presenting on Reactive Spring with my buddy Mark Heckler (join us!), then it’s off to Atlanta, Georgia, ahead of next week’s big DevNexus show. Check out what Pivotal is up to at the event!

As usual, we’ve got a lot to cover so let’s get going!

Read more...