Spring Framework 4.0 M1 & 3.2.3 available

Dear Spring community,

It’s my pleasure to announce the first milestone towards Spring Framework 4.0, delivering a first cut of our work on several key themes:

  • the first wave of Java SE 8 / OpenJDK 8 support (some details following below)
  • initial support for JMS 2.0, JPA 2.1, Bean Validation 1.1, and JSR-236 concurrency (from the EE 7 umbrella)
  • a first cut of our generalized condition mechanism for bean definitions (@Conditional along the lines of @Profile)
  • Spring’s WebSocket endpoint model (which Rossen will be introducing in more detail soon)

With respect to Java SE 8, we support OpenJDK 8 build 88+ in several areas of the framework:

  • support for the 1.8 bytecode format in component scanning and subclass generation
  • lambda expressions and method references against Spring callback interfaces
  • JSR-310 Date-Time value types for Spring data binding and formatting
  • initial support for the JDK 8 parameter name discovery mechanism

Spring’s Java 8 support is a work in progress and tracking OpenJDK 8 snapshots on their way to the JDK 8 Developer Preview date in September (see We expect to release a corresponding Spring Framework 4.0 release candidate around that time, to be presented at SpringOne (September 9-12; see

Along with 4.0 M1, we’ve released Spring Framework 3.2.3, containing fixes for recently reported issues but also coming with OpenJDK 8 runtime support. Spring Framework 3.2.x will support deployment on JDK 8 runtimes for applications compiled against JDK 7 (with -target 1.7) or earlier. Note that it won’t support JDK 8’s bytecode format (-target 1.8, as needed for lambdas); please upgrade to Spring Framework 4.0 for that purpose.

Enjoy your first experiences with Spring on OpenJDK 8, and let us know how it works for you!


comments powered by Disqus