The Spring Blog

Engineering
Releases
News and Events

Spring Cloud Task 2.0.0.M1 is now available

We are pleased to announce that Spring Cloud Task 2.0.0.M1 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

This release is the first release that is compatible with the Spring Boot 2.0 milestones (specifically Spring Boot 2.0.0.M3 for this release). With that upgrade, all dependencies are also upgraded (Spring Cloud Stream, Spring Batch, etc) as well as an upgrade of the baseline Java version to Java 8.

What do you think?

Read more...

This Week in Spring - August 15th, 2017

Hi Spring fans and welcome to another installment of This Week in Spring! It’s been a busy week! I started last week talking to a group of developers in North Carolina, then gave a VJUG presentation with Matt Raible in San Francisco, then spoke to developers in Saint Louis, then flew to New York City to shoot a video on continuous delivery for three days in a hot studio (over the weekend no less!) and now as I wing back to San Francisco I look forward to spending a blissful 14 hours on the ground before I’m off to Asia (Hangzhou, Shanghai, Beijing, Shenzhen, Hong Kong, and Singapore) for about four weeks! I’m not the only who’s been busy, though! As usual, we’ve got a lot to cover this week so let’s get to it!

Read more...

There's no place like production. SpringOne Platform will illuminate the path.

Hi Spring fans!

My favorite time of the year is almost here! It’s that special time when people reunite, in the northern hemisphere’s chilly December to give freely and unconditionally of one another; when people have jovial discussions (and sometimes heated debates) over dinner with people they admire; when people open their hearts and minds to each other; when we reflect on the year behind us and look forward to tomorrow, the next week and the next year; when amazing new memories we’ll cherish forever are forged. It’s that special time of giving, of openness. I don’t need to tell you about this special time, though! Of course, I’m talking about the time of the year for SpringOne Platform! (What else could I have been talking about?)

Read more...

This Week in Spring - August 8th, 2017

Hi Spring fans and welcome to another installment of This Week in Spring! This week I’m presenting with my buddy Matt Raible on the VJUG (Virtual JUG) on Progressive Web Applications with Spring Boot and Angular 4, this Wednesday. Join us! Then it’s off to New York City, NY where I’ll be working with my buddy Marcin Grzejszczak on an exciting new project.

Read more...

Spring Cloud Data Flow 1.3.0.M1 released

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

Local Server: Getting Started Guide.

Usability is one of the big focus for our team and in the 1.3 release-line, we are aiming to modernize the dashboard with an upgraded client-side technology stack, improved tooling, and documentation. The focus is to improve the readability, user-experience, and the overall performance.

Angular 4

This first milestone release of Spring Cloud Data Flow contains the initial version of the new Angular 4 based Dashboard UI. The old AngularJS 1.x based UI, particularly the tooling and secondary framework/library choices, started to show their age.

Read more...

Spring IO Platform Brussels-SR4

I am pleased to announce that Spring IO Platform Brussels-SR4 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:

  • Spring Batch 3.0.8
  • Spring Boot 1.5.6
  • Spring Data Ingalls SR6
  • Spring Framework 4.3.10
  • Spring Integration 4.3.11
  • Spring Retry 1.2.1

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

Project Page | GitHub | Issues | Documentation

Read more...

Spring Cloud Pipelines 1.0.0.M6 Released

On behalf of the Spring Cloud team it is my pleasure to announce a new milestone release of Spring Cloud Pipelines - 1.0.0.M6.

What’s new?

Pipeline descriptor

Each application can contain a file called pipeline.yml with the following structure:

lowercaseEnvironmentName1:
    services:
        - type: service1Type
          name: service1Name
          coordinates: value
        - type: service2Type
          name: service2Name
          key: value
lowercaseEnvironmentName2:
    services:
        - type: service3Type
          name: service3Name
          coordinates: value
        - type: service4Type
          name: service4Name
          key: value

For a given environment we declare a list of infrastructure services that we want to have deployed. Services have

  • type (example: eureka, mysql, rabbitmq, stubrunner) - this value gets then applied to the deployService Bash function

  • name - name of the service to get deployed

  • coordinates - coordinate that allows you to fetch the binary of the service. Examples: It can be a maven coordinate groupid:artifactid:version, docker image organization/nameOfImage, etc.

  • arbitrary key value pairs - you can customize the services as you wish

The stubrunner type can also have the useClasspath flag turned on to true or false.

Example:

test:
  services:
    - type: rabbitmq
      name: rabbitmq-github-webhook
    - type: mysql
      name: mysql-github-webhook
    - type: eureka
      name: eureka-github-webhook
      coordinates: com.example.eureka:github-eureka:0.0.1.M1
    - type: stubrunner
      name: stubrunner-github-webhook
      coordinates: com.example.eureka:github-analytics-stub-runner-boot-classpath-stubs:0.0.1.M1
      useClasspath: true
stage:
  services:
    - type: rabbitmq
      name: rabbitmq-github
    - type: mysql
      name: mysql-github
    - type: eureka
      name: github-eureka
      coordinates: com.example.eureka:github-eureka:0.0.1.M1

When the deployment to test or deployment to stage occurs, Spring Cloud Pipelines will:

  • for test environment, delete existing services and redeploy the ones from the list

  • for stage environment, if the service is not available it will get deployed. Otherwise nothing will happen

Release Notes

You can click here to see the Release Notes for more information about what’s been done for this milestone.

Read more...

This Week in Spring - August 1st, 2017

Hi Spring fans! Welcome to another installment of This Week in Spring! This week I’m in Nashville, TN, for a meetup presentation on Reactive Spring and then it’s off to Kansas City, KS for a replay of the same talk. Both times I’ll be joined by pal Mark Heckler. If you’re in either of those cities, don’t miss this!

I’m working on the next installments of Spring Tips: what would you like to see covered? Let me know on Twitter on @SpringTipsLive.

This week we have a truly massive good many things to look at so let’s get started!

Read more...

Spring Framework 5 Kotlin APIs, the functional way

Since our original announcement (very well received by the community!) of official Kotlin support in Spring Framework 5, we have continued to work towards even stronger Kotlin support in conjunction with recent refinements in Spring WebFlux.

In order to demonstrate these features, and how they could be used together, I have created a new spring-kotlin-functional demo application which is a standalone Spring WebFlux application, developed in Kotlin, with Mustache template rendering, JSON REST webservices and Server-Sent Events streaming capabilities. Don’t hesitate to send us feedbacks and proposals before Spring Framework 5 release expected in September.

Read more...

Spring Security OAuth 2.2 Released

On behalf of the community, I’m pleased to announce the release of Spring Security OAuth 2.2.0.RELEASE.

The 2.2.0.RELEASE includes the following new features:

  • JwtClaimsSetVerifier that provides the capability of verifying the claim(s) contained in a JWT Claims Set.

  • IssuerClaimVerifier that verifies the Issuer (iss) claim contained in the JWT Claims Set.

  • DelegatingJwtClaimsSetVerifier that simply delegates claims verification to it’s internal list of JwtClaimsSetVerifier(s).

  • ProviderDiscoveryClient that is capable of discovering provider configuration information as defined by the OpenID Connect Discovery 1.0 specification.

  • JwkTokenStore now supports multiple JWK Set URL’s.

  • The ability to supply a custom AccessTokenConverter to JwkTokenStore.

Read more...