[SPR-13795] Remove Velocity support Created: 15/Dec/15  Updated: 02/Oct/17  Resolved: 04/Jul/16

Status: Closed
Project: Spring Framework
Component/s: None
Affects Version/s: None
Fix Version/s: 5.0 M1

Type: Pruning Priority: Major
Reporter: Juergen Hoeller Assignee: Juergen Hoeller
Resolution: Complete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relates to SPR-14062 Native Support for pebble templates i... Resolved
relates to SPR-13235 Deprecate Velocity support Closed
is related to SPR-16035 OpenJpaVendorAdapter missing from spr... Resolved
is related to SPR-14460 Documentation still favoring velocity... Closed
is related to SPR-13294 Drop JasperReports support Closed
Days since last comment: 41 weeks, 6 days ago
Last commented by a User: false
Last updater: Juergen Hoeller


Velocity 1.7 dates back to 2010. Following up on the deprecation of our Velocity support in Spring 4.3, let's not include it to begin with in the 5.0 generation.

Comment by Claude Brisson [ 05/Jul/16 ]

Hi, Spring folks.
Velocity folks, here.

While you may legitimately deprecate Velocity 1.7, be sure not to deprecate Velocity as a whole: despite the lack of releases in the last few years, Velocity has been continuously maintained and we're ready to release a 2.0 version. I hope we'll find the time to do it very soon.

Comment by Juergen Hoeller [ 05/Jul/16 ]

We are not in the business of deprecating Velocity in general in any case SPR-13235 deprecated our Velocity support package in the core framework distribution, and this issue here is just about actually removing it towards Spring Framework 5.0.

In the end, we don't want to drag along an outdated dependency - with a limited audience among Spring developers in the meantime - into a new major generation of the framework. Note that our traditional Velocity support package remains around in Spring Framework 4.3.x which we're maintaining until 2019. We have been reducing our optional third-party dependencies for a while, asking maintainers to ship Spring support on their end instead, e.g. for Thymeleaf and Ibatis. Feel free to do this for Velocity 2.0 as well as it materializes, even with support for Spring Framework 4.x since the View contract remains identical anyway.

For Spring 5, we are strategically moving away from traditional template-based web views in general. Even just for that reason alone, we are not going to introduce support for any new template engine generations but rather focus on other areas (Jackson integration, JavaScript templates, etc). FWIW, we are going to keep supporting FreeMarker as a sort of reference - in classic Servlet MVC as well as Spring's new reactive web support -, including our generic base classes for template-based views which other support classes may derive from (like the Velocity 1.x based view classes do right now).

Comment by Erwin Vervaet [ 07/Sep/17 ]

Juergen Hoeller,
It seems Velocity is back
See http://velocity.apache.org/news.html:

Sunday, 6 August 2017

The Velocity developers are pleased to announce the release of Velocity Engine 2.0.

Comment by Juergen Hoeller [ 02/Oct/17 ]

As mentioned above, any stakeholders there, please ask the Velocity team to ship Spring adapters for Velocity 2.0 themselves, along the lines of Thymeleaf where this has turned out as a very successful model. As with OpenJPA (SPR-16035), we do not consider it necessary for those to be part of the Spring distribution which would imply a continued maintenance and integration testing burden for us. We'd rather keep this restricted to FreeMarker on our end.

In general, we're trying to reduce third-party adapters in the core Spring distribution to two 'reference' implementations per case - validating our abstractions but not aiming for completeness there: e.g. Hibernate + EclipseLink for special JPA features, FreeMarker + Groovy for template rendering, etc. Note that we do not ship a DataNucleus adapter, and as mentioned no Thymeleaf adapter either (despite it being more popular than FreeMarker these days).

Generated at Sun Jul 22 20:01:32 UTC 2018 using JIRA 7.9.0#79000-sha1:3ca552e944c2fe83b21589bc06f155b9b428cc2b.