Hi Greg.
The 2.x branch will never require the change. At most, in 2.x, the
warning will become true by default and you will have to turn it off. We
don't plan to retire the 2.x branch. Velocity Engine 3.0 may be a bit of
a different beast, but you can stick to 2.x.
I'm pretty sure that we can provide some templates migration tooling for
those wanting to update to 3.0 when it is released, though.
I realize that a lot of the discussions happened among PMCs on
[email protected] or is scattered in comments on github and
jira, so let me take the opportunity of this mail to try to present the
direction in which I'd like to go:
- after engine 2.5 is released, we'll release two concurrent versions of
velocity-tools: 3.2 and 4.0. Tools 4.0 will use the jakarta J2EE instead
of javax, and provide Spring 6/7 mvc support, but they should be
similar. Both the 3.x and 4.x branches will be maintained.
- engine 3.0 (/if/ it goes as planned) will use kotlin multiplatform,
the antlr parser, the gradle build system, and a VTL syntax which can
not incorporate $foo.bar because its syntax has to be a super-set of the
kotlin string template syntax.
Well, at least, that's my proposal. The "if" is the transition from
javacc to antlr, which I have to technically validate (but I don't see
why it couldn't be done).
Claude B
On 16/06/2026 09.29, Greg Huber wrote:
Hello,
Looking at the release notes:
* Deprecation of some VTL syntax constructs: the formal reference
notation |${...}| is now preferred for non-bare references (|$foo|
is still fine, but |$foo.bar| should be rewritten as |${foo.bar}|).
Deprecation warnings are off by default; the next minor release will
turn them on by default, and the next major release will remove
support for those deprecated forms.
I enabled runtime.deprecation.warn=true, to see the warnings, there
are hundreds :
2026-06-16 08:19:17,094 WARN org.apache.velocity.rendering
ASTReference:init - the informal notation
'$utils.formatDate($utils.now, $text.get("date.toStringFormat"))' is
deprecated in output; use the formal notation ${...} instead [line
634, column 21]
This is a very big change, adding ${} to 95% of our velocity statements.
Going forward > 2.5 is this change necessary or can it be ignored?
Cheers Greg
On 14/06/2026 18:06, Claude Brisson via dev wrote:
The test build of Velocity Engine 2.5 RC1 is available.
No determination as to the quality ('alpha,' 'beta,' or 'GA') of
Velocity Engine 2.5 has been made, and at this time it is simply a
"test build". We welcome any comments you may have, and will take all
feedback into account if a quality vote is called for this build.
Release notes:
*
https://dist.apache.org/repos/dist/dev/velocity/velocity-engine/2.5/release-notes.html
Distribution:
* https://dist.apache.org/repos/dist/dev/velocity/velocity-engine/2.5/
Maven 2 staging repository:
*
https://repository.apache.org/content/repositories/orgapachevelocity-1050/
Documentation:
* https://velocity.apache.org/engine/2.5/
Sources:
* https://github.com/apache/velocity-engine/releases/tag/2.5-RC1
A vote regarding the quality of this test build will be initiated
within the next couple of days.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]