<!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 - </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 -  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="user-guide.html">User Guide</a>
        </li>
              
    <li class="none">
              <a href="developer-guide.html">Developer Guide</a>
        </li>
              
    <li class="none">
              <a href="vtl-reference-guide.html">VTL Reference</a>
        </li>
              
    <li class="none">
              <a href="anakia.html">Anakia: XML->doc tool</a>
        </li>
              
    <li class="none">
              <a href="texen.html">Texen: text generation</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">
              <strong>Changes in 1.5</strong>
        </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="http://svn.apache.org/viewvc/velocity/engine/branches/Velocity_1.5_BRANCH/">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="expanded">
              <a href="project-reports.html">Project Reports</a>
                <ul>
                  
    <li class="none">
              <a href="changelog.html">Change Log</a>
        </li>
                  
    <li class="none">
              <strong>Changes Report</strong>
        </li>
                  
    <li class="none">
              <a href="dev-activity.html">Developer Activity</a>
        </li>
                  
    <li class="none">
              <a href="file-activity.html">File Activity</a>
        </li>
                  
    <li class="none">
              <a href="apidocs/index.html">JavaDocs</a>
        </li>
                  
    <li class="none">
              <a href="jira-report.html">Jira Report</a>
        </li>
                  
    <li class="none">
              <a href="xref/index.html">Source Xref</a>
        </li>
                  
    <li class="none">
              <a href="taglist.html">Tag List</a>
        </li>
                  
    <li class="none">
              <a href="xref-test/index.html">Test Source Xref</a>
        </li>
              </ul>
        </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">
        <h2><a name="changes_report"></a>Changes Report</h2><h3><a name="release_history"></a>Release History</h3><table class="bodyTable"><tr class="a"><th>Version</th><th>Date</th><th>Description</th></tr><tr class="b"><td><a href="#a1.5">1.5</a></td><td>2007-02-20</td><td></td></tr><tr class="a"><td><a href="#a1.5-beta2">1.5-beta2</a></td><td>2006-11-24</td><td></td></tr><tr class="b"><td><a href="#a1.5-beta1">1.5-beta1</a></td><td>2006-09-13</td><td></td></tr></table><br /><br /><h3><a name="a1.5"></a>Release 1.5 - 2007-02-20</h3><table class="bodyTable"><tr class="a"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td></properties>                          Fix to SecureUberspector to work properly with #foreach and iterators. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-516" class="externalLink">VELOCITY-516</a>. Thanks to Vincent Massol.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-191" class="externalLink">VELOCITY-191</a>. Thanks to Aki Nieminen.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr></table><h3><a name="a1.5-beta2"></a>Release 1.5-beta2 - 2006-11-24</h3><table class="bodyTable"><tr class="b"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>New StringResourceLoader can retrieve templates from repository of in-memory Strings. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-183" class="externalLink">VELOCITY-183</a>. Thanks to Eelco Hillenius.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>RuntimeInstance.getProperty now returns value set with RuntimeInstance.setProperty,     even before initialization. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-493" class="externalLink">VELOCITY-493</a>. Thanks to Claude Brisson.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>When macros have incorrect number of arguments, if property     "velocimacro.arguments.strict" is set to true a ParseErrorException     will be thrown. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-435" class="externalLink">VELOCITY-435</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>MethodInvocationException now contains line, column, template name     allowing application to produce more useful error messages. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-414" class="externalLink">VELOCITY-414</a>. Thanks to Matthijs Lambooy.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Fixed race condition in template retrieval that caused macros to     fail under simultaneous load. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-24" class="externalLink">VELOCITY-24</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>New event handler InvalidReferenceHandler allows application     to catch invalid references.  Sample implementation collects     them in list and optionally throws exception. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-423" class="externalLink">VELOCITY-423</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-179" class="externalLink">VELOCITY-179</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Removed Serializable from InternalContextBase, because one of the members is not serializable anyway so this never worked (Found by Findbugs). Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-458" class="externalLink">VELOCITY-458</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Add an additional pair of Executors that are smart about Map. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-449" class="externalLink">VELOCITY-449</a>. Thanks to Alexey Panchenko.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Method caching now uses consistent keys. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-453" class="externalLink">VELOCITY-453</a>. Thanks to Alexey Panchenko.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Change the meaning of localscope for macros to allow access to references from      calling context. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-459" class="externalLink">VELOCITY-459</a>. Thanks to Stephen Haberman.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Add a test for the DataSourceResource Loader.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>Fix a problem in the DataSourceResource Loader, removing a potential security issue with SQL injection.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Build now creates the MD5 and SHA1 checksums for archives and jars.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Fix a number of issues reported by running FindBugs on the Velocity source.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr></table><h3><a name="a1.5-beta1"></a>Release 1.5-beta1 - 2006-09-13</h3><table class="bodyTable"><tr class="b"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Stop references from calling object.toString() twice. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-438" class="externalLink">VELOCITY-438</a>. Thanks to Stephen Haberman.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-429" class="externalLink">VELOCITY-429</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>When #include was followed by #parse with the same file name, a ClassCastException was thrown. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-98" class="externalLink">VELOCITY-98</a>. Thanks to Michal Chmielewski.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Wrapped exceptions now have Cause property set on JDK 1.4.  (note that Velocity         continues to run under JDK 1.3). Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-425" class="externalLink">VELOCITY-425</a>. Thanks to Llewellyn Falco.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>When Velocity is initialized, default.properties stream was not being closed.  This     made it difficult to undeploy webapps on Windows with Velocity unpacked. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-418" class="externalLink">VELOCITY-418</a>. Thanks to Jason Weinstein.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Upgraded to latest commons collection, fixing problem with non-recognition         of configuration file encoding in rare circumstances. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-151" class="externalLink">VELOCITY-151</a>. Thanks to Kirk Wolf.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>The Introspector could throw a NPE when a parameter to an overloaded method was null. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-370" class="externalLink">VELOCITY-370</a>. Thanks to Reggie Riser.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>If toString() returned null in a silent reference then "null" was displayed. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-381" class="externalLink">VELOCITY-381</a>. Thanks to Llwellyn Falco and Dan Powell.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Fixed bug in which empty body for #if (e.g. <code>#if(some expression)#end</code>         caused ParseException. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-359" class="externalLink">VELOCITY-359</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Added javacc task to build.xml simplifying modification process         for editing syntax files. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-222" class="externalLink">VELOCITY-222</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Velocity Engine was throwing NPE when used without a call to         init().  Now gives a more meaningful exception message. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-374" class="externalLink">VELOCITY-374</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>Fixed problem with Uberspect Info class being created incorrectly.         Added template name to Info allowing better error reporting. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-404" class="externalLink">VELOCITY-404</a>. Thanks to Llewellyn Falco.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>Numerous improvements to the documentation.  Reorganized table of         contents, moved community content to the Wiki, added article on using         Velocity in web applications.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-350" class="externalLink">VELOCITY-350</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Velocity would give error when last line of file was a ## comment. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-272" class="externalLink">VELOCITY-272</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>Added method to retrieve application attributes. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-412" class="externalLink">VELOCITY-412</a>. Thanks to Malcolm Edgar.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-196" class="externalLink">VELOCITY-196</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>#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. Thanks to Thomas Veith.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>New optional event handler that escapes all references.         Regular expressions can be used to configure which references         have HTML, JavaScript, SQL, or XML escaping.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>New optional event handler implementation that forces #parse / #include to stay         in same directory as parent template. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-154" class="externalLink">VELOCITY-154</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>New event handler to modify behavior of #parse / #include. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-260" class="externalLink">VELOCITY-260</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>FileResourceLoader now accepts absolute path when configured to accept it. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-144" class="externalLink">VELOCITY-144</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>String containing "##" was treated as unterminated String. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-126" class="externalLink">VELOCITY-126</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Spruced up Geir's old URLResourceLoader and promoted it from the whiteboard to         the main distribution. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELTOOLS-55" class="externalLink">VELTOOLS-55</a>. Thanks to Charles Harvey.</td><td><a href="http://velocity.apache.org/who-we-are.html#nbubna" class="externalLink">nbubna</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>Throw Runtime exceptions from nodes up the chain. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-424" class="externalLink">VELOCITY-424</a>. Thanks to Malcom Edgar.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-426" class="externalLink">VELOCITY-426</a>. Thanks to Malcom Edgar.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-403" class="externalLink">VELOCITY-403</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#nbubna" class="externalLink">nbubna</a></td></tr><tr class="b"><td><img src="images/remove.gif" alt="remove" /></td><td>Removed all J2EE build tasks.  Now automatically detects availability             of javax.sql.Datasource (in JDK 1.4+) and builds DatasourceResourceLoader             when allowed. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-401" class="externalLink">VELOCITY-401</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>ant build now downloads the required dependency jars from ibiblio.org</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>Unified template name, line and column number reporting for ParserErrorException Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-373" class="externalLink">VELOCITY-373</a>. Thanks to Malcolm Edgar.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/remove.gif" alt="remove" /></td><td>Dropped the non-functional Velocity compiler.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>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</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>Contributed a maven build for Velocity</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Reworked the ant build to product only two jars: velocity.jar and velocity-dep.jar.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="a"><td><img src="images/remove.gif" alt="remove" /></td><td>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.</td><td><a href="http://velocity.apache.org/who-we-are.html#henning" class="externalLink">henning</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Added support for decimal numbers. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-242" class="externalLink">VELOCITY-242</a>. Thanks to Peter Romianowski.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>MethodInvocationException now consistently thrown         (previously was hidden when in parameter to Velocimacro). Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-284" class="externalLink">VELOCITY-284</a>. Thanks to Mike Rettig.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Fixed problem in which foreach loop would fail to call overloaded method. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-109" class="externalLink">VELOCITY-109</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Removed ERROR level log message "Can't find 'VM_global_library.vm'". Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-86" class="externalLink">VELOCITY-86</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Anakia now generates consistent line endings based on platform.  Requires upgrade to JDom 1.0. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-348" class="externalLink">VELOCITY-348</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>Anakia can now be pre-loaded with custom context values from an optional XML file. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-190" class="externalLink">VELOCITY-190</a>. Thanks to Peter Ryan.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/add.gif" alt="add" /></td><td>Directives can now be delimited with curly braces, for example #if($condition)something#{else}otherthing#{end}. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-43" class="externalLink">VELOCITY-43</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Nulls now handled appropriate within #foreach. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-254" class="externalLink">VELOCITY-254</a>. Thanks to Christopher Reck.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Upgraded JavaCC to version 3.2, providing JDK 1.5 compatibility.         (Older version used keyword 'enum' which is reserved in JDK 1.5). Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-324" class="externalLink">VELOCITY-324</a>. Thanks to Shinobu Kuwai.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>DatasourceResourceLoader now allows injection of Datasource, allowing it to be used in Inversion of Control (IOC) frameworks. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-267" class="externalLink">VELOCITY-267</a>. Thanks to Matt Raible .</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>#stop now works properly. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-218" class="externalLink">VELOCITY-218</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>ClasspathResourceLoader now searches ContextClassLoader for template. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-196" class="externalLink">VELOCITY-196</a>. Thanks to Charles Oliver Nutter.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/remove.gif" alt="remove" /></td><td>Removed use of <a>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(). Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-164" class="externalLink">VELOCITY-164</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#dlr" class="externalLink">dlr</a></td></tr><tr class="a"><td><img src="images/add.gif" alt="add" /></td><td>New Map literal syntax. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-152" class="externalLink">VELOCITY-152</a>. Thanks to James Taylor.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/remove.gif" alt="remove" /></td><td>Removed the long-deprecated Log4JLogSystem.  Never fear,             SimpleLog4JLogSystem remains.</td><td><a href="http://velocity.apache.org/who-we-are.html#dlr" class="externalLink">dlr</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>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.</td><td><a href="http://velocity.apache.org/who-we-are.html#dlr" class="externalLink">dlr</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>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. Thanks to Daniel Rall.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="a"><td><img src="images/remove.gif" alt="remove" /></td><td>Deprecated org.apache.velocity.tools.VelocityFormatter class in favor             of the various format classes in the Velocity Tools library.</td><td><a href="http://velocity.apache.org/who-we-are.html#wglass" class="externalLink">wglass</a></td></tr><tr class="b"><td><img src="images/remove.gif" alt="remove" /></td><td>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.</td><td><a href="http://velocity.apache.org/who-we-are.html#dlr" class="externalLink">dlr</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Fix to BaseTestCase as suggested by Will Glass-Husain to handle line endings Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-185" class="externalLink">VELOCITY-185</a>. Thanks to wglass.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>Parameterized cache and mod time control in TexenTask based on patch from          Henning. Thanks to henning.</td><td><a href="http://velocity.apache.org/who-we-are.html#" class="externalLink"></a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>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. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-150" class="externalLink">VELOCITY-150</a>. Thanks to wglass.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>SimplePool now removes elements from pool on a get(). NOTE : Previously, it left the             reference to the object in the pool. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-161" class="externalLink">VELOCITY-161</a>. Thanks to wglass.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Fixes problem with single line comment             embedded in a multi-line comment. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-61" class="externalLink">VELOCITY-61</a>. Thanks to wglass.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Change for VELOCITY-221 and partial for VELOCITY-148, allowing newlines in             directives. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-221" class="externalLink">VELOCITY-221</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>Change to finish request VELOCITY-148, allowing '+' as a string concat. We'll have             to see how the community likes it. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-148" class="externalLink">VELOCITY-148</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Didn't allow formal reference notation as first arg             to foreach. Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-239" class="externalLink">VELOCITY-239</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>To make using w/ XML easier allow alternative logical operators 'and', 'or',             'lt', 'gt', 'le', 'ge', 'eq', 'ne', 'not'.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="b"><td><img src="images/update.gif" alt="update" /></td><td>Allow newlines in strings.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="a"><td><img src="images/fix.gif" alt="fix" /></td><td>Tiny fix to VelocityWriter to prevent a NPE if someone passes it a null Fixes <a href="https://issues.apache.org/jira/browse/ViewIssue.jspa?key=VELOCITY-148" class="externalLink">VELOCITY-148</a>.</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="b"><td><img src="images/fix.gif" alt="fix" /></td><td>Anakia changes to accomodate finalization of JDOM API.  In AnakiaJDOMFactory,             AnakiaTask, and OutputWrapper</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr><tr class="a"><td><img src="images/update.gif" alt="update" /></td><td>Added template, line and column info to MIEs thrown by ASTMethod</td><td><a href="http://velocity.apache.org/who-we-are.html#geirm" class="externalLink">geirm</a></td></tr></table>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2000-2007
    
          The Apache Software Foundation
          
  

  
    
  
  
    
             Last Published: 2007-03-06 19:34:56
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
