blob: 4e20ab7b66a6f6d60337113905631cf4cdc36f8c [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Apache Velocity -
Changelog</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<link rel="alternate" href="http://feeds.feedburner.com/ApacheVelocitySiteNews" type="application/rss+xml" title="Apache Velocity -
Changelog News" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="composite">
<div id="banner">
<a href="../../../" id="bannerLeft">
<img src="images/velocity_project_wide.png" alt="" />
</a>
<span id="bannerRight">
<img src="images/velocity-logo.png" alt="" />
</span>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
<a href="http://www.apache.org/">Apache</a>
&gt;
<a href="../../../">Velocity</a>
&gt;
Velocity Engine
</div>
<div class="xright"> <a href="../../devel/index.html">Engine</a>
|
<a href="../../../tools/devel/index.html">Tools</a>
|
<a href="../../../dvsl/devel/index.html">DVSL</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Velocity</h5>
<ul>
<li class="none">
<a href="index.html">General</a>
</li>
<li class="none">
<a href="overview.html">Overview</a>
</li>
<li class="none">
<a href="getting-started.html">Getting Started</a>
</li>
<li class="none">
<a href="webapps.html">Web Applications</a>
</li>
<li class="none">
<a href="../../../download.cgi">Download</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ (Wiki)</a>
</li>
</ul>
<h5>Docs</h5>
<ul>
<li class="none">
<a href="docs/user-guide.html">User Guide</a>
</li>
<li class="none">
<a href="docs/developer-guide.html">Developer Guide</a>
</li>
<li class="none">
<a href="docs/vtl-reference-guide.html">VTL Reference</a>
</li>
<li class="none">
<a href="docs/anakia.html">Anakia: XML->doc tool</a>
</li>
<li class="none">
<a href="docs/texen.html">Texen: text generation</a>
</li>
<li class="none">
<a href="docs/veltag.html">Veltag: JSP taglib</a>
</li>
</ul>
<h5>Developers</h5>
<ul>
<li class="none">
<a href="license.html">License</a>
</li>
<li class="none">
<a href="apidocs/index.html">Javadoc</a>
</li>
<li class="none">
<a href="changes-report.html">Changes in 1.5</a>
</li>
<li class="none">
<a href="jira-report.html">Resolved Issues in 1.5</a>
</li>
<li class="none">
<a href="jar-dependencies.html">Dependencies</a>
</li>
<li class="none">
<a href="../../../download.cgi">Source Code Repository</a>
</li>
<li class="none">
<a href="build.html">Building from Source</a>
</li>
</ul>
<h5>Community</h5>
<ul>
<li class="none">
<a href="http://wiki.apache.org/velocity/">Wiki</a>
</li>
<li class="none">
<a href="../../../news.html">Recent News</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/velocity/PoweredByVelocity">Powered By Velocity</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/velocity/VelocityEditors">IDE/Editor Plugins</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/velocity/PublishedArticlesAndBooks">Articles and Books</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/velocity/GetInvolved">Get Involved</a>
</li>
<li class="none">
<a href="../../../contact.html">Mailing Lists</a>
</li>
</ul>
<h5>Velocity Development</h5>
<ul>
<li class="none">
<a href="http://wiki.apache.org/velocity/RoadMap">Road Map</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/velocity/CodeStandards">Coding Standards</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/velocity/DocumentationGuidelines">Documentation Guidelines</a>
</li>
<li class="none">
<a href="https://issues.apache.org/jira/browse/VELOCITY">Issues</a>
</li>
<li class="none">
<a href="../../../who-we-are.html">Who we are</a>
</li>
</ul>
<h5>Translations</h5>
<ul>
<li class="none">
<a href="http://www.jajakarta.org/velocity/">Site (Japanese)</a>
</li>
<li class="none">
<a href="translations/user-guide_fi.html">User's Guide (Finnish)</a>
</li>
<li class="none">
<a href="translations/user-guide_fr.html">User's Guide (French)</a>
</li>
<li class="none">
<a href="translations/user-guide_es.html">User's Guide (Spanish)</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html">Project Information</a>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<a class="poweredBy" href="../../../" title="Apache Velocity" ><img class="poweredBy" alt="Apache Velocity" src="images/pbv90x30.png" /></a>
<a class="poweredBy" href="../../../rss/news.rss" title="Velocity News Feed" ><img class="poweredBy" alt="Velocity News Feed" src="images/feed-icon-24x24.jpg" /></a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<release version="1.5" date="in Subversion">
<action type="add" dev="henning" issue="VELOCITY-191" due-to="Aki Nieminen">
Make FileResourceLoader unicode aware to allow skipping over BOM markers
like those created by Windows Notepad. This is a workaround for a Java
bug, where Java itself does not recognize the UTF-8 BOM as defined by
the unicode standard.
</action>
</release>
<release version="1.5-beta2" date="2006-11-24">
<action type="add" dev="henning" issue="VELOCITY-183" due-to="Eelco Hillenius">
New StringResourceLoader can retrieve templates from repository of in-memory Strings.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-493" due-to="Claude Brisson">
RuntimeInstance.getProperty now returns value set with RuntimeInstance.setProperty,
even before initialization.
</action>
<action type="add" dev="wglass" issue="VELOCITY-435">
When macros have incorrect number of arguments, if property
&quot;velocimacro.arguments.strict&quot; is set to true a ParseErrorException
will be thrown.
</action>
<action type="add" dev="henning" issue="VELOCITY-414" due-to="Matthijs Lambooy">
MethodInvocationException now contains line, column, template name
allowing application to produce more useful error messages.
</action>
<action type="fix" dev="henning" issue="VELOCITY-24">
Fixed race condition in template retrieval that caused macros to
fail under simultaneous load.
</action>
<action type="add" dev="wglass" issue="VELOCITY-423">
New event handler InvalidReferenceHandler allows application
to catch invalid references. Sample implementation collects
them in list and optionally throws exception.
</action>
<action type="add" dev="wglass" issue="VELOCITY-179">
New, optional SecureIntrospector prohibits methods that involve manipulation of classes, classloaders
or reflection objects. Use this introspector to secure Velocity against a risk of
template writers using reflection to perform malicious acts.
</action>
<action type="fix" dev="henning" issue="VELOCITY-458">
Removed Serializable from InternalContextBase, because one of the members is not serializable anyway so this never worked (Found by Findbugs).
</action>
<action type="fix" dev="henning" issue="VELOCITY-449" due-to="Alexey Panchenko">
Add an additional pair of Executors that are smart about Map.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-453" due-to="Alexey Panchenko">
Method caching now uses consistent keys.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-459" due-to="Stephen Haberman">
Change the meaning of localscope for macros to allow access to references from
calling context.
</action>
<action type="add" dev="henning">
Add a test for the DataSourceResource Loader.
</action>
<action type="add" dev="henning">
Fix a problem in the DataSourceResource Loader, removing a potential security issue with SQL injection.
</action>
<action type="add" dev="henning">
Build now creates the MD5 and SHA1 checksums for archives and jars.
</action>
<action type="fix" dev="henning">
Fix a number of issues reported by running FindBugs on the Velocity source.
</action>
</release>
<release version="1.5-beta1" date="2006-09-13">
<action type="fix" dev="wglass" issue="VELOCITY-438" due-to="Stephen Haberman">
Stop references from calling object.toString() twice.
</action>
<action type="update" dev="wglass" issue="VELOCITY-429" due-to="">
Pass through all runtime exceptions. Among other benefits, this
allows plugins to throw a runtime exception to signify an application
level problem in the calling application.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-98" due-to="Michal Chmielewski">
When #include was followed by #parse with the same file name, a ClassCastException was thrown.
</action>
<action type="add" dev="wglass" issue="VELOCITY-425" due-to="Llewellyn Falco">
Wrapped exceptions now have Cause property set on JDK 1.4. (note that Velocity
continues to run under JDK 1.3).
</action>
<action type="fix" dev="wglass" issue="VELOCITY-418" due-to="Jason Weinstein">
When Velocity is initialized, default.properties stream was not being closed. This
made it difficult to undeploy webapps on Windows with Velocity unpacked.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-151" due-to="Kirk Wolf">
Upgraded to latest commons collection, fixing problem with non-recognition
of configuration file encoding in rare circumstances.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-370" due-to="Reggie Riser">
The Introspector could throw a NPE when a parameter to an overloaded method was null.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-381" due-to="Llwellyn Falco and Dan Powell">
If toString() returned null in a silent reference then &quot;null&quot; was displayed.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-359" due-to="">
Fixed bug in which empty body for #if (e.g. <code>#if(some expression)#end</code>
caused ParseException.
</action>
<action type="add" dev="wglass" issue="VELOCITY-222" due-to="">
Added javacc task to build.xml simplifying modification process
for editing syntax files.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-374" due-to="">
Velocity Engine was throwing NPE when used without a call to
init(). Now gives a more meaningful exception message.
</action>
<action type="update" dev="wglass" issue="VELOCITY-404" due-to="Llewellyn Falco">
Fixed problem with Uberspect Info class being created incorrectly.
Added template name to Info allowing better error reporting.
</action>
<action type="update" dev="wglass" issue="" due-to="">
Numerous improvements to the documentation. Reorganized table of
contents, moved community content to the Wiki, added article on using
Velocity in web applications.
</action>
<action type="update" dev="wglass" issue="VELOCITY-350" due-to="">
When testing objects in VTL for equality, if both objects are a number, use
number equality. If both objects are the same class, use the equals method.
New behavior: If objects are different classes, compare the String
representation of both objects rather than logging an error.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-272" due-to="">
Velocity would give error when last line of file was a ## comment.
</action>
<action type="update" dev="wglass" issue="VELOCITY-412" due-to="Malcolm Edgar">
Added method to retrieve application attributes.
</action>
<action type="update" dev="wglass" issue="VELOCITY-196" due-to="">
Velocity now searches in the current thread's context classloader
before the system classloader for all templates loaded with the
ClasspathResourceLoader and for all user-defined ResourceLoaders,
introspectors, event handlers, etc.
A typical use for this is to have Velocity in the application
container classpath while keeping templates and plugins in the
webapp classpath.
</action>
<action type="update" dev="wglass" issue="" due-to="Thomas Veith">
#set now sets references to null when required. For backwards
compatibility this must be enabled by setting the configuration key
<code>directive.set.null.allowed</code> to true.
</action>
<action type="add" dev="wglass" issue="" due-to="">
New optional event handler that escapes all references.
Regular expressions can be used to configure which references
have HTML, JavaScript, SQL, or XML escaping.
</action>
<action type="add" dev="wglass" issue="VELOCITY-154" due-to="">
New optional event handler implementation that forces #parse / #include to stay
in same directory as parent template.
</action>
<action type="add" dev="wglass" issue="VELOCITY-260" due-to="">
New event handler to modify behavior of #parse / #include.
</action>
<action type="update" dev="wglass" issue="VELOCITY-144" due-to="">
FileResourceLoader now accepts absolute path when configured to accept it.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-126" due-to="">
String containing &quot;##&quot; was treated as unterminated String.
</action>
<action type="add" dev="nbubna" issue="VELTOOLS-55" due-to="Charles Harvey">
Spruced up Geir's old URLResourceLoader and promoted it from the whiteboard to
the main distribution.
</action>
<action type="update" dev="henning" issue="VELOCITY-424" due-to="Malcom Edgar">
Throw Runtime exceptions from nodes up the chain.
</action>
<action type="update" dev="henning" issue="VELOCITY-426" due-to="Malcom Edgar">
Revert the split between org.apache.velocity.runtime.parser.node.Node and
org.apache.velocity.runtime.parser.Node. The parser now only uses ...parser.node.Node
because this change broke custom directives.
</action>
<action type="update" dev="nbubna" issue="VELOCITY-403" due-to="">
Made a lot of internal logging upgrades including: Deprecated LogSystem interface
and replaced it (and all its implementations) with a new LogChute interface and implementations,
added getLog() to RuntimeServices (and all its friends) to improve on and replace its now deprecated
logging methods, added a JdkLogChute as a 3rd default option for those using JDK 1.4+, and added a
StandardOutLogChute as final resort if other LogChute inits fail. See JIRA issues VELOCITY-403, VELOCITY-166,
VELOCITY-403,VELOCITY-166,VELOCITY-78, VELOCITY-157, VELOCITY-159, VELOCITY-193.
</action>
<action type="remove" dev="henning" issue="VELOCITY-401" due-to="">
Removed all J2EE build tasks. Now automatically detects availability
of javax.sql.Datasource (in JDK 1.4+) and builds DatasourceResourceLoader
when allowed.
</action>
<action type="add" dev="henning" issue="" due-to="">
ant build now downloads the required dependency jars from ibiblio.org
</action>
<action type="update" dev="henning" issue="VELOCITY-373" due-to="Malcolm Edgar">
Unified template name, line and column number reporting for ParserErrorException
</action>
<action type="remove" dev="henning" issue="" due-to="">
Dropped the non-functional Velocity compiler.
</action>
<action type="update" dev="henning" issue="" due-to="">
Started separating out the JavaCC generated parts of the Velocity Parser. Not yet complete to avoid user visible changes. Scheduled to be completed for 2.0
</action>
<action type="add" dev="henning" issue="" due-to="">
Contributed a maven build for Velocity
</action>
<action type="fix" dev="henning" issue="" due-to="">
Reworked the ant build to product only two jars: velocity.jar and velocity-dep.jar.
</action>
<action type="remove" dev="henning" issue="" due-to="">
Removed the Configuration class and all methods that references it. This class was deprecated since Velocity 1.1 and was scheduled to be gone for Velocity 1.3 or 1.4. Now
it was finally removed in 1.5.
</action>
<action type="add" dev="wglass" issue="VELOCITY-242" due-to="Peter Romianowski">
Added support for decimal numbers.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-284" due-to="Mike Rettig">
MethodInvocationException now consistently thrown
(previously was hidden when in parameter to Velocimacro).
</action>
<action type="fix" dev="wglass" issue="VELOCITY-109" due-to="">
Fixed problem in which foreach loop would fail to call overloaded method.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-86" due-to="">
Removed ERROR level log message &quot;Can't find 'VM_global_library.vm'&quot;.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-348" due-to="">
Anakia now generates consistent line endings based on platform. Requires upgrade to JDom 1.0.
</action>
<action type="add" dev="wglass" issue="VELOCITY-190" due-to="Peter Ryan">
Anakia can now be pre-loaded with custom context values from an optional XML file.
</action>
<action type="add" dev="wglass" issue="VELOCITY-43" due-to="">
Directives can now be delimited with curly braces, for example #if($condition)something#{else}otherthing#{end}.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-254" due-to="Christopher Reck">
Nulls now handled appropriate within #foreach.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-324" due-to="Shinobu Kuwai">
Upgraded JavaCC to version 3.2, providing JDK 1.5 compatibility.
(Older version used keyword 'enum' which is reserved in JDK 1.5).
</action>
<action type="update" dev="wglass" issue="VELOCITY-267" due-to="Matt Raible ">
DatasourceResourceLoader now allows injection of Datasource, allowing it to be used in Inversion of Control (IOC) frameworks.
</action>
<action type="fix" dev="wglass" issue="VELOCITY-218" due-to="">
#stop now works properly.
</action>
<action type="update" dev="wglass" issue="VELOCITY-196" due-to="Charles Oliver Nutter">
ClasspathResourceLoader now searches ContextClassLoader for template.
</action>
<action type="remove" dev="dlr" issue="VELOCITY-164" due-to="">
Removed use of <a href="http://jakarta.apache.org/log4j/" class="externalLink">Log4J's</a>
deprecated Category and Priority classes in favor of the corresponding
and supported Logger and Level. To update, replace necessary
references, and Category.getInstance() with Logger.getLogger().
</action>
<action type="add" dev="wglass" issue="VELOCITY-152" due-to="James Taylor">
New Map literal syntax.
</action>
<action type="remove" dev="dlr" issue="" due-to="">
Removed the long-deprecated Log4JLogSystem. Never fear,
SimpleLog4JLogSystem remains.
</action>
<action type="update" dev="dlr" issue="" due-to="">
Enhanced the implementation of ResourceCacheImpl using Jakarta Commons
Collections LRUMap class. The previous greedy implementation did not
set an upper bound for the cache size, meaning that cached resources
were never relinquished (a possible memory leak). You can continue to
use that behavior by setting the
<code>resource.manager.cache.size</code> for your cache to less than
1.
</action>
<action type="update" dev="gmj" issue="" due-to="Daniel Rall">
Took dan's modified SimpleLog4jLogSystem, and renamed Log4JLogSystem, and
put back old version of SimpleLog4JLogSystem, as deprecated. That way
we can move forward with an up-to-date version that uses Logger, and
for one release, be backwards compatile for the Category-using log4j
crowd.
</action>
<action type="remove" dev="wglass" issue="" due-to="">
Deprecated org.apache.velocity.tools.VelocityFormatter class in favor
of the various format classes in the Velocity Tools library.
</action>
<action type="remove" dev="dlr" issue="" due-to="">
Deprecated the org.apache.velocity.servlet.VelocityServlet class in
favor of org.apache.velocity.tools.view.servlet.VelocityViewServlet
from the Velocity Tools library. Servlet interaction is more a core
competency of the Velocity Tools package than of Velocity's
core.
</action>
<action type="fix" dev="gmj" issue="VELOCITY-185" due-to="wglass">
Fix to BaseTestCase as suggested by Will Glass-Husain to handle line endings
</action>
<action type="update" dev="" issue="" due-to="henning">
Parameterized cache and mod time control in TexenTask based on patch from
Henning.
</action>
<action type="fix" dev="gmj" issue="VELOCITY-150" due-to="wglass">
Fix to DatasourceResourceLoader - stop using the old Runtime singleton as
would leak a little memory for each instance of VelocityEngine created.
Hunted down by Will Glass-Husain.
</action>
<action type="fix" dev="gmj" issue="VELOCITY-161" due-to="wglass">
SimplePool now removes elements from pool on a get(). NOTE : Previously, it left the
reference to the object in the pool.
</action>
<action type="fix" dev="gmj" issue="VELOCITY-61" due-to="wglass">
Fixes problem with single line comment
embedded in a multi-line comment.
</action>
<action type="fix" dev="gmj" issue="VELOCITY-221" due-to="">
Change for VELOCITY-221 and partial for VELOCITY-148, allowing newlines in
directives.
</action>
<action type="update" dev="gmj" issue="VELOCITY-148" due-to="">
Change to finish request VELOCITY-148, allowing '+' as a string concat. We'll have
to see how the community likes it.
</action>
<action type="fix" dev="gmj" issue="VELOCITY-239" due-to="">
Didn't allow formal reference notation as first arg
to foreach.
</action>
<action type="update" dev="gmj" issue="" due-to="">
To make using w/ XML easier allow alternative logical operators 'and', 'or',
'lt', 'gt', 'le', 'ge', 'eq', 'ne', 'not'.
</action>
<action type="update" dev="gmj" issue="" due-to="">
Allow newlines in strings.
</action>
<action type="fix" dev="gmj" issue="VELOCITY-148" due-to="">
Tiny fix to VelocityWriter to prevent a NPE if someone passes it a null
</action>
<action type="fix" dev="gmj" issue="" due-to="">
Anakia changes to accomodate finalization of JDOM API. In AnakiaJDOMFactory,
AnakiaTask, and OutputWrapper
</action>
<action type="update" dev="gmj" issue="" due-to="">
Added template, line and column info to MIEs thrown by ASTMethod
</action>
</release>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2000-2007
The Apache Software Foundation
Last Published: 2007-01-28 17:40:22
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>