Spring Data Couchbase 1.0 GA Released

Releases | Oliver Drotbohm | March 13, 2014 | ...

On behalf of Michael Nitschinger, I'm happy to announce the 1.0 GA release of the Couchbase Spring Data module.

Between the last release candidate and the final release, several bugs have been fixed and new features have been added. Notable additions are the support for custom converters, JSR-303 Validation support and built-in support for temporal objects like Dates, Calendars and similar JodaTime variants.

The release artifacts are available via Maven Central. You can find the reference documentation, JavaDoc and a change log at the usual expected places.

From now on, the Couchbase module will be part of the official Spring Data release trains, starting with Dijkstra. Now that the first GA release is out of the door, we will put…

Spring Social 1.1.0.RC1 Released

Releases | Craig Walls | March 11, 2014 | ...

Dear Spring Community,

I'm happy to announce the availability of Spring Social 1.1.0.RC1 as well as Spring Social Facebook 1.1.0.RC1, and Spring Social Twitter 1.1.0.RC1. These release candidates are the first step toward a GA release coming soon. They include several improvements, bug fixes, and a few new features, including:

  • New Thymeleaf 3 and 4 dialects to match Spring Social's JSP tag library.
  • A generic connection factory for quick configuration of an API for which there is no formal connection factory support. Provides a RestOperations as the API binding.
  • Optimized use of RestTemplate in API bindings when using Spring 3.2+.
  • A new streamlined and more flexible Java configuration option.
  • SecurityConfigurerAdapter for enabling provider-based authentication with Spring Security's Java configuration.
  • A pluggable session-abstraction.
  • Support for Facebook's built-in OpenGraph actions in the API binding.

CVE-2014-0097 Fixed in Spring Security 3.2.2 and 3.1.6

Releases | Rob Winch | March 11, 2014 | ...

Spring Security 3.2.2 (change log) and 3.1.6 (change log) have been released and are available in Maven Central.

Among the highlights, these two releases resolve CVE-2014-0097 which allows a malicious user to impersonate a user with an empty password if ALL of the following hold true:

  • The application is using ActiveDirectoryLdapAuthenticator
  • The directory allows anonymous binds (not recommended)

NOTE: This does NOT impact users of LdapAuthenticationProvider or <ldap-authentication-provider>

For full details on the releases, please refer to the previously mentioned change logs.

Final Service Release for Spring Data Release Train Babbage

Releases | Oliver Drotbohm | March 10, 2014 | ...

I am happy to announce the availability of the last service release of the Spring Data Babbage release train. The release includes the following modules:

The release bundles a bunch of important enhancements and bug fixes and is a recommended upgrade. The release forms the last service release of the Babbage release train. Users are recommended to have a look at the latest releases of Spring Data Codd

Spring AMQP 1.3.0 Release Candidate Available

Releases | Gary Russell | March 07, 2014 | ...

We are pleased to announce the availability of the Spring AMQP (for Java) 1.3.0.RC1 release candidate. It is expected to be the final candidate before GA.

The release includes some significant new features, including:

  • Listener Container

  • The listener container concurrency can be changed without first stopping the container and the listeners will be adjusted accordingly

  • The listener container can dynamically adjust the concurrent consumers, based on workload

  • The listener container now supports consumer priority (with RabbitMQ 3.2.x or greater)

  • The listener container now supports the configuration of an exclusive consumer

  • Rabbit Template

  • The RabbitTemplate now has several convenient receiveAndReply methods

  • The RabbitTemplate can now be configured with a RetryTemplate, enabling clients to not have to deal directly with broker connectivity issues.

Spring Data Redis 1.2 GA Released

Releases | Christoph Strobl | March 04, 2014 | ...

Spring Data Redis 1.2.0 has been released and is now available from Maven Central. This release sums up the fixes and enhancements from 1.1.1 and RC1 plus an updated documentation. The release has been tested against Redis 2.4.6, 2.6.17, 2.8.6 as well as the recent 3.0-beta1 using the latest Spring framework 3.2 and 4.0 versions.

Reference Documentation | Changes | JavaDoc

Up next SD Redis will join the Spring Data release train Dijkstra. We are looking forward to your feedback on Twitter or in the issue tracker.

For more information about Spring Data Redis please see the home page.

Spring Boot 1.0.0.RC4 Available Now

Releases | Dave Syer | March 04, 2014 | ...

Spring Boot 1.0.0 (RC4) has been released and is available in the repo.spring.io repository. There are some bug fixes from RC3 and a load of updated third-party dependencies. New features include

  • Support for Spring Loaded reloading of classes during development in Maven and Gradle builds.
  • A starter pom for spring-data-rest (and a sample).
  • Lots of new documentation (all in the source code but published as usual at http://projects.spring.io/spring-boot.
  • Automatic main class detection for "gradle run".
  • Support for relaunching and incrementing Spring Batch jobs on startup.

If there are no more…

Spring Data Release Train Codd Goes GA

Releases | Oliver Drotbohm | February 24, 2014 | ...

I am happy to announce the final release of the Spring Data release train named Codd. The full list of participating modules looks as follows:

Spring Batch 3.0 Milestone 3 Released

Releases | Michael Minella | February 24, 2014 | ...

Today we are pleased to announce the final milestone release towards Spring Batch 3.0 (download). This release demonstrates our support of JSR-352 and currently supports all its required features. We also added a number of new features to Spring Batch for existing Spring Batch users. Spring Batch is a lightweight, comprehensive framework for the development of robust batch applications.

Features in Milestone 3

As the final milestone for the Spring Batch 3.0.0 release, all major features for this release are complete. The major features for this release include:

  • JSR-352 support
  • Promote Spring Batch Integration to Spring Batch
  • Upgrade to support Spring 4 and Java 8
  • Other fixes and improvements

JSR-352 Support

Spring has invested a large amount of time and resources in our contribution to this spec. Our collaboration with the other industry experts via the JCP, JSR-352 validates that the batch patterns that Spring Batch has implemented and battle tested over the past six years in countless production environments is the best approach for building mission critical batch applications in the enterprise.

3.0.0.M3 is the first release of Spring Batch that is compliant with JSR-352 in that it passes all 152 of the SE TCK tests. The Spring Batch implementation of JSR-352 allows users to use the familiar components of Spring Batch and still maintain compliance with java standards. Spring Batch supports the configuration of jobs via the JSR-352 based XML, injection of batch artifacts developed against the javax.batch.* interfaces using the injection methods defined in the JSR (Spring's dependency injection, batch.xml, and inline configuration), as well as all scalability options provided in JSR-352 (splits and partitioning via threads).

Our goal for our implementation was simple: follow the rules of the JSR without breaking the rules already defined by Spring Batch. In other words, implement the specification without impacting existing Spring Batch users. We have done this by providing two "paths" for implementing batch jobs. The first is the traditional Spring Batch way. Using the Spring Batch XML or Spring's java configuration, developing against the Spring Batch interfaces, etc. This will not change as part of the 3.0 release. The second "path" is the JSR path. This method of development uses the JSR-352 defined XML schema to configure your jobs, uses the JSR's JobOperator for launching jobs and managing the metadata, and developers write code against the JSR's APIs. It is important to note that these are two distinctly different paths. While using Spring Batch components will work with JSR-352 based jobs, their use within those contexts will be dictated by the JSR's rules. An example of this would be the injection of the contexts defined in JSR-352 (StepContext and JobContext). If a job is configured using traditional Spring Batch methods and launched the via regular Spring Batch components, those contexts will not be available to the batch artifacts. However, if you configure the job via the JSR-352 XML and launch it via the JSR-352 JobOperator, those contexts will be injected where appropriate.

It is important to point out that Spring Batch does not just implement JSR-352. It goes much further than the spec in a number of ways:

  • Components - Spring Batch provides 17 different ItemReader implementations, 16 ItemWriter implementations, and many other components that have years of testing in production environments under their belts.
  • Scalability - JSR-352 provides scaling options for a single JVM only (partitioning and splits both via threads). Spring Batch provides multi-JVM scalability options including remote partitioning and remote chunking.
  • Spring dependency injection - While JSR-352 provides a form of "dependency injection light", there are a number of limitations that it places on the construction of batch artifacts (must use no-arg constructors for example). Spring Batch is built on Spring and benefits from the power of the Spring Framework's capabilities.
  • Java based configuration - While Spring's XML based configuration options are well known, Spring and specifically Spring Batch, provide the option to configure your jobs using the type safety of java based configuration.
  • Hadoop/Big Data integration - Spring Batch is a foundational tool for interacting with Hadoop and other big data stores in the Spring ecosystem. Spring for Apache Hadoop provides a number of batch related extensions to use Spring Batch to orchestrate work on a Hadoop cluster. Spring XD builds on Spring Batch by providing both execution capabilities, but also management functionality similar to Spring Batch Admin for any environment.

Spring will continue to participate in the evolution of JSR-352 as it goes through maintenance revisions and look forward to further contributions to the JCP process.

Promote Spring Batch Integration to Spring Batch

Spring Batch Integration has been a little known sub project of Spring Batch Admin for a few years now. However, given how powerful the features this library provides and it's usefulness in enterprise development, we decided to move it from under the Spring Batch Admin umbrella to under the Spring Batch umbrella. Designed to provide useful components that bridge batch and integration processing, Spring Batch Integration provides a number of options for launching and scaling batch applications. Features include:

  • Asynchronous ItemProcessor/ItemWriter - Executes the ItemProcessor logic on another thread, returning a Future to the ItemWriter. Once the Future returns, the result is written.
  • JobLaunchingMessageHandler/JobLaunchingMessageGateway - Provides the ability to launch jobs via Spring Messages received over channels.
  • Remote Chunking - Provides the ability to execute ItemProcessor logic remotely (across multiple JVMs) via a master/slave configuration.
  • Remote Partitioning - Provides the ability to execute full chunks remotely (read/process/write across multiple JVMs) via a master/slave configuration.

These components have allowed Spring Batch applications to seamlessly integrate and scale in many enterprises.

Upgrade to support Spring 4 and Java 8

As part of our efforts to keep dependencies up to date, we have updated Spring Batch and it's various modules to support Spring 4. Because of these updates, Spring 4 will be the minimum supported version of Spring for Spring Batch 3.0.0.M3. This not only brings along the numerous list of new features found in Spring 4, but it also provides the ability to run on Java 8 immediately.

Other fixes and improvements

Beyond the above large new features, we have also added some smaller features and continued to fix bugs. New features we added include the addition of a JobScope and support for SQLite.

Roadmap to a release candidate

So what's left? As we approach our release candidate, there is still some minor work to be done. We are still taking a hard look at the dependencies for Spring Batch and looking to upgrade as many as possible.

Conclusion

3.0.0.M3 marks a key milestone for Spring Batch. It allows developers to test out the JSR-352 based functionality while still having the foundation of Spring and Spring Batch to rely upon. It also brings new features to the framework. We look forward to your comments and feedback in the forums, in social media, and in person!

Spring Mobile 1.1.1 Released

Releases | Roy Clarkson | February 21, 2014 | ...

We're happy to announce that Spring Mobile 1.1.1 is now available. This is a maintenance release that primarily addresses an issue where some Samsung tablets were being incorrectly resolved as mobile devices. Additional testing was also added for Windows 8 and newer versions of iOS. This release is built against Spring Framework 3.2.8, and has been tested against Spring Framework 4.0.2. See the changelog for more information.

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all