Spring Framework 2.1 turns into Spring Framework 2.5!

My first blog post - and what a big announcement to make
After a series of Spring 2.1 milestone releases, we've been reviewing the overall set of features that we introduced:
- full Java 6 and Java EE 5 support (JDBC 4.0, JTA 1.1, JavaMail 1.4, JAX-WS 2.0, etc)
- full-featured annotation-driven dependency injection (including support for 'qualifier' annotations)
- support for component scanning in the classpath (autodetecting annotated classes)
- bean name pointcut element in AspectJ pointcut expressions
- built-in support for for AspectJ load-time weaving (based on Spring's LoadTimeWeaver abstraction)
- further XML configuration namespaces ("context", "jms") for maximum convenience
- extended SimpleJdbcTemplate functionality (support for named parameters etc)
- officially certified WebSphere support (support for the WebSphere 6 UOWManager facility etc)
- Spring framework jars are shipped as OSGi-compliant bundles out of the box
- Spring ApplicationContext can be deployed as JCA RAR file (for headless application modules)
- JCA 1.5 message endpoint management (for Spring-managed JMS and CCI message listeners)
- completely revised framework for integration tests (with support for JUnit 4 and TestNG)
as well as many refinements in the details. Almost all of those features are available in the recently released 2.1 M4 already.
We concluded that this goes significantly beyond what we originally planned for Spring 2.1. The version number 2.1, as used for the milestones, does not reflect the significance and the comprehensiveness of the features in this major release.
So I'm pleased to announce that the 2.1 milestones will seamlessly turn into Spring Framework 2.5 as the upcoming major release! Spring 2.5 is scheduled for final release in October, with a first release candidate expected for early October. Watch out for upcoming blog posts on specific Spring 2.5 features as we move closer to the final release!
Note that, as originally planned, Spring 2.5 will still be compatible with JDK 1.4.2+ and J2EE 1.3+. While many of the new major features inherently require Java 5 or higher, Spring 2.5 also includes significant enhancements that are available to Java 1.4 users as well: e.g. the bean name pointcut element, the jms configuration namespace, the certified WebSphere support and the JCA RAR deployment option.
Modified

Alex Wei says:
Added on September 10th, 2007 at 8:28 amGreat news!
Thanks for the fantastic work! Spring makes our lives so much easier…
Magnus Heino says:
Added on September 10th, 2007 at 9:19 amWill the new testing framework make it possible to do things like this? http://opensource.atlassian.com/projects/spring/browse/SPR-3653
Anjan Bacchu says:
Added on September 10th, 2007 at 10:47 amhi Juergen,
cool features.
are you NOW based in Europe or the Silicon Valley ?
BR,
~A
bhaskar says:
Added on September 10th, 2007 at 11:07 amThe RAR deployment sounds really promising. Is there a alpha release of it , I can play with ?
Sylvain Gogel says:
Added on September 10th, 2007 at 1:10 pmYou guys are awesome, it must be said. Your work make it SOOO easier, cleaner, faster, i can't even remember my JEE work from before Springframework.
New namespaces looks promising, once again, simpler XML is better, as Java6. WebSphere official certification is also a big step for further adoption.
Paul says:
Added on September 10th, 2007 at 1:26 pmNow you will have to go through the entire source base and documentation and do a find and replace
I am not too keen on using minor version numbers to reflect "comprehensiveness" and I think the jump to 2.5 is too pronounced. If the richness of functionality is that remarkable, releasing it as 3.0 seems more logical than skipping 4 milestone numbers. My argument, I think, is even better supported by the proposed 2.6 release.
Erwin Vervaet says:
Added on September 10th, 2007 at 2:09 pmWow Juergen, your first blog post! Congrats!
Just kidding, nice work with the milestone!
Juergen Hoeller (blog author) says:
Added on September 10th, 2007 at 2:30 pmI've already finished the search and replace
As for skipping minor version numbers there: We did think about it for a while but eventually concluded that 2.5 was the most appropriate choice. I understand your concerns but keep in mind that this is not unusual: See JCA 1.0 -> 1.5, Tomcat 5.0 -> 5.5, IntelliJ IDEA 2.0 -> 2.5 -> 2.6 (yes, even a 2.6 following there back in IDEA's history).
This release is still fully based on the Spring 2.0 groundwork: not breaking compatibility with it, not deprecating any of it - 'just' enriching it. For that reason, calling it 3.0 would be going too far. This release is also still compatible with JDK 1.4, which suggests staying within 2.x naming, since Spring 3.0 is really expected to be Java 5 only.
In other words, this release is literally right inbetween 2.0 and 3.0 in that it provides comprehensive Java 5 and Java EE 5 support already, very close to a Java 5 framework - sort of half the way to 3.0, while also being a straightforward drop-in replacement for Spring 2.0 and providing new features for JDK 1.4 users as well.
Finally, despite significant new options being available now, the fundamental usage model doesn't change radically from 2.0. Spring 2.5 rather takes the present usage model to its logical conclusion in the context of Java 5.
Juergen Hoeller (blog author) says:
Added on September 10th, 2007 at 2:33 pmThe RAR deployment option has already been available for a couple of months, actually. Check out org.springframework.jca.context.SpringContextResourceAdapter's javadoc in the M4 release; this will give you an insight into how this is supposed to be used.
Juergen Hoeller (blog author) says:
Added on September 10th, 2007 at 2:39 pmAnjan, I'm personally still based in Europe - in Linz, Austria. Our primary European development center is in Southampton, UK, which is the lab that I'm organizationally affiliated with.
Paul says:
Added on September 10th, 2007 at 3:16 pmJuergen, thank you for your response. I now can see your point of view. You know, what you said may be very useful for the actual reference documentation. Perhaps a "Why 2.5 not 2.1?" section and then put in your explanation verbatim.
Ben Hale (blog author) says:
Added on September 10th, 2007 at 3:37 pm[quote comment="47289"]The RAR deployment sounds really promising. Is there a alpha release of it , I can play with ?[/quote]
[quote comment="47318"]The RAR deployment option has already been available for a couple of months, actually. Check out org.springframework.jca.context.SpringContextResourceAdapter's javadoc in the M4 release; this will give you an insight into how this is supposed to be used.[/quote]
In addtion to the M4 release, nightly snapshots for the cutting edge are located at http://static.springframework.org/downloads/nightly/snapshot-download.php?project=SPR
serge says:
Added on September 10th, 2007 at 5:09 pmany work going into Spring MVC (other than WebFlow)
Nat says:
Added on September 10th, 2007 at 6:33 pmIs there any work on JdbcTemplate to allow multiple statement execution in one connection in 2.5? I think it is very useful since you can, for example, insert hierarchy data with @@identity support or query data with arbitrary number of arguments using temporary table.
Martin Gilday says:
Added on September 11th, 2007 at 3:51 amWill the m4 release be available in the Spring Maven repository? I am looking at https://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo-snapshots/org/springframework/spring/
Is this the correct location?
Thanks.
Ralph Pöllath says:
Added on September 11th, 2007 at 3:56 amNo word on OSGi?
Andrea Del Bene says:
Added on September 11th, 2007 at 5:32 amGreat news Juergen!
And by the way, your avatar is very cool, you seem some kind of rock star
!
Rod Johnson (blog author) says:
Added on September 11th, 2007 at 1:03 pmThose shades sure are cool! And I didn't believe you when you said you'd write a blog about 2.5…
Andy Jefferson says:
Added on September 11th, 2007 at 1:58 pmJuergen,
are you going to be supporting JDO 2.1 changes in Spring 2.X ? or are you now totally assimilated into the JPA collective to not see superior persistence now
raveman says:
Added on September 11th, 2007 at 9:19 pmSpring ApplicationContext can be deployed as RAR file (for headless application modules) ??
why RAR and not ARJ ? i liked ARJ better back. why not use normal zip compression ? no, RAR is not that much better just a little better and in bigger files its almost the same
Rod Johnson (blog author) says:
Added on September 12th, 2007 at 12:29 amJuergen means RAR the JCA archive format not the compression algorithm. RARs are specified in Java EE.
raveman says:
Added on September 12th, 2007 at 9:37 amnice, i can wait when java still ZIP filetype
Juergen Hoeller (blog author) says:
Added on September 13th, 2007 at 7:19 amHey Andy, we're certainly interested in supporting JDO 2.1 features as far as we can without breaking JDO 2.0 compatibility. Feel free to raise a JIRA enhancement request with some suggestions and I'll see what I can do in time for the Spring 2.5 release…
Chris Beams says:
Added on September 14th, 2007 at 11:20 am[quote comment="48081"]Hey Andy, we're certainly interested in supporting JDO 2.1 features as far as we can without breaking JDO 2.0 compatibility. Feel free to raise a JIRA enhancement request with some suggestions and I'll see what I can do in time for the Spring 2.5 release…[/quote]
Added: http://opensource.atlassian.com/projects/spring/browse/SPR-3877
Pether Sorling says:
Added on September 14th, 2007 at 3:40 pmWhen will
https://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo-snapshots/org/springframework/spring/
be updated ?
Looking forward to try out the new junit4 and tiles2 support.
Dave Syer (blog author) says:
Added on October 3rd, 2007 at 5:36 amIn case anyone was reading the comments here and not the other blogs…
Maven artifacts have been relocated. See Ben's blog for more detail (http://blog.interface21.com/main/2007/09/18/maven-artifacts-2/)