Spring 5.x / 6.x support

"Claude Brisson via dev" <[email protected]> Mon, 4 May 2026 23:58:10 +0200
Newsgroups gmane.comp.jakarta.velocity.devel
Message-ID <[email protected]>
Hello all.

The Engine master branch is in good shape for a new 2.5 release.

Afterwards, the initial plan is to publish two releases for the tools in 
one go:

- Tools 3.2 still using the javax namespace
- Tools 4.0 switching to the jakarta namespace

But while updating Engine dependencies, I noticed that some dependencies 
cannot be upgraded to their latest version because their minimal Java 
version has been raised and/or because they depend on jakarta classes:

- in module velocity-engine-examples : dom4j, stuck at 2.1.5 ; dom4j 
2.2.0 switches from javax.xml.bind to jakarta.xml.bind (and thus 
requires Java 11)
- in module spring-velocity-support: Spring stuck at 5.3.39, requiring 
Java 17 for 6.x

We don't really care about velocity-engine-examples still using an old 
dom4j dependency. So let's forget about that one.

But the case of spring-velocity-support is more problematic, because if 
we want to offer Velocity support for Spring 6.x users, then this 
specific module needs a specific Java 17+ enforcer rule.

My proposal is a new module, spring6-velocity-support.

I'm not sure what the alternative would be: drop Spring 5.x support and 
ship Engine 2.5 with an incompatible spring-velocity-support targeting 
Spring 6? Release an Engine 3.0 just because the Spring support is not B.C.?

Note that this Spring support problematic is totally orthogonal with the 
javax/jakarta problematic. The Spring support in the core is 
namespace-agnostic, it becomes a concern only if we want to extend the 
Spring support in the tools.

Thoughts / +1s about this new spring6-velocity-support module?