| <?xml version="1.0"?> |
| |
| <document> |
| |
| <properties> |
| <title>Velocity Changes</title> |
| <author email="jon@latchkey.com">Jon S. Stevens</author> |
| </properties> |
| |
| <body> |
| |
| <section name="Velocity Changes"> |
| |
| <p> |
| This document tracks the changes in Velocity between releases. |
| </p> |
| |
| <subsection name="1.5-dev"> |
| <p> |
| This section describes changes to the main branch |
| after the 1.4 release. |
| </p> |
| |
| <ul> |
| <li> |
| Removed use of <a href="http://jakarta.apache.org/log4j/">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(). (#19133) (dlr) |
| </li> |
| <li> |
| Removed the long-deprecated Log4JLogSystem. Never fear, |
| SimpleLog4JLogSystem remains. (dlr) |
| </li> |
| <li> |
| 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. (dlr) |
| </li> |
| |
| <li> |
| 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. (gmj) |
| </li> |
| |
| <li> |
| 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. (dlr) |
| </li> |
| <li> |
| Fix to BaseTestCase as suggested by Will Glass-Husain to handle line endings |
| (#20992) (gmj) |
| </li> |
| <li> |
| Parameterized cache and mod time control in TexenTask based on patch from |
| Henning. (gmj) |
| </li> |
| <li> |
| Fix to DatasourceResourceLoader - stop using the old Runtime singleton as |
| would leak a little memory for each instance of VelocityEngine created. |
| Bug #17820, hunted down by Will Glas-Husain. (gmj) |
| </li> |
| <li> |
| SimplePool now removes elements from pool on a get(). NOTE : Previously, it left the |
| reference to the object in the pool. Fix for #19042 suggested |
| by Will. (gmj) |
| </li> |
| <li> |
| Fix to bug #7697, suggested by Will. Fixes problem with single line comment |
| embedded in a multi-line comment. (gmj) |
| </li> |
| <li> |
| Change for bug #24338 and partial for #17803, allowing newlines in |
| directives. (gmj) |
| </li> |
| <li> |
| Change to finish request #17803, allowing '+' as a string concat. We'll have |
| to see how the community likes it. (gmj) |
| </li> |
| |
| <li> |
| Fix for bug #25669, that didn't allow formal reference notation as first arg |
| to foreach. (gmj) |
| </li> |
| </ul> |
| |
| </subsection> |
| |
| |
| <subsection name="1.4-dev"> |
| <p> |
| This section describes changes to the main branch after the |
| 1.3 release. They were released as part of 1.4 rc1 on |
| Oct-9-2003. |
| </p> |
| |
| <ul> |
| <li> |
| Added support for dynamic selection of output character encoding to |
| VelocityServlet. By default, the selected encoding is the value of |
| the output.encoding Velocity property, but can be made dynamic by |
| overriding the new chooseCharacterEncoding() method. (dlr) |
| </li> |
| <li> |
| Bill Boland pointed out that VelocityServlet's pooling of |
| VelocityWriter was preventing the underlying OutputStreamWriter from |
| being garbage collected. This was fixed by clearing the |
| VelocityWriter's reference to its internal OutputStreamWriter to allow |
| the latter to be GC'd while VelocityWriter is pooled. (#18951) |
| </li> |
| <li> |
| Deprecated org.apache.velocity.runtime.Runtime in favor of the |
| RuntimeInstance and RuntimeSingleton classes. (dlr) |
| </li> |
| <li> |
| Fix to MethodMap part of introspector to make the overloaded |
| method selection work as specified in the JLS, from Attila |
| Szegedi. (gmj) |
| </li> |
| <li> |
| Tiny fix for bug where multiple slashes not getting rendered correctly. (#7380) |
| (gmj) |
| </li> |
| <li> |
| Fix for bug where #set($foo = !true) not working. (#7387) (gmj) |
| </li> |
| <li> |
| Fix for bug where $##(nl) foo ate the $ (#7381) (gmj) |
| </li> |
| <li> |
| Disallow any WORD tokens for directives except 1st arg to #macro() or thi 'in' |
| in foreach. (#7383,#7384) (gmj) |
| </li> |
| <li> |
| Remove '=' as a valid token for anything but #set() as nothing else can do |
| assignment. (#7385) (gmj) |
| </li> |
| <li> |
| Fix problem where VM in stringlit as arg to VM NPE'd. Whoops. (gmj) |
| </li> |
| <li> |
| Deprecated <code>Velocity.templateExists(String)</code> in favor of |
| the more appropriately named |
| <code>Velocity.resourceExists(String)</code>. (dlr) |
| </li> |
| <li> |
| Deprecated VelocityServlet's <code>properties</code> key in favor of |
| the namespace protected <code>org.apache.velocity.properties</code> |
| key. (dlr) |
| </li> |
| <li> |
| Update user guide - remove confusing (wrong) content. (gmj) |
| </li> |
| <li> |
| Brought all introspective-ish behavior under one umbrella interface, Uberspect, |
| to allow customizable, pluggable introspection. (gmj) |
| </li> |
| <li>`` |
| Fixes for bug 7684 : make sure event handler called with real reference literal |
| even if a quiet reference. Bug 7183 : fixes to win32 .bat files in examples |
| (gmj) |
| </li> |
| <li> |
| Fix for bugs 8517, 6955 : anything ...#set... was confusing the parser (gmj) |
| </li> |
| <li> |
| Removed deprecated use of DEFAULT_OUTPUTTER.output() in Anaka's NodeList (gmj) |
| </li> |
| <li> |
| Upgraded JDOM to v1.0b9 (gmj) |
| </li> |
| </ul> |
| |
| </subsection> |
| |
| |
| <subsection name="1.3.1-rc2"> |
| <p> |
| This section desscribes changes to the VEL_1_3_BRANCH after |
| the 1.3.1-rc2 release. It was released as 1.3.1 on it's own branch, |
| VEL_1_3_1_BRANCH on March 31, 2003. |
| </p> |
| </subsection> |
| |
| <subsection name="1.3.1-rc1"> |
| <p> |
| This section describes changes to the VEL_1_3_BRANCH after the |
| 1.3.1-rc1 release. This was released as 1.3.1-rc2 on July 24, 2002. |
| </p> |
| |
| <ul> |
| <li> |
| Another fix to primitive argument introspection problem, |
| suggested by Chris Felaco(gmj) |
| </li> |
| <li> |
| Another minor introspection tweak, for null values (gmj) |
| </li> |
| |
| </ul> |
| </subsection> |
| |
| |
| <subsection name="1.3"> |
| <p> |
| This section describes changes to the VEL_1_3_BRANCH after the |
| 1.3 release. This was released as 1.3.1-rc1 on July 22, 2002. |
| </p> |
| |
| <ul> |
| <li> |
| Fixed primitive argument introspection problem. (gmj) |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="1.3-rc1"> |
| <p> |
| This section describes changes to the VEL_1_3_BRANCH after the |
| 1.3-rc1 release. This branch was released as v1.3 on July 7, 2002. |
| </p> |
| |
| <ul> |
| <li> |
| Fixed javadoc in ClasspathResourceLoader (gmj) |
| </li> |
| <li> |
| Backport from HEAD the #foo("#bar('a')") NPE fix (gmj) |
| </li> |
| <li> |
| Update User's Guide - remove confusing and wrong content. (gmj) |
| </li> |
| <li> |
| Fixed problem discovered by Ivan Bella where concurrent method |
| invocations with varying parameters would be incorrect. (gmj) |
| </li> |
| <li> |
| Brought recent Spanish and French translations of the User's Guide to the |
| 1.3 branch. (gmj) |
| </li></ul> |
| |
| </subsection> |
| |
| <subsection name="1.3-dev"> |
| <p> |
| This section describes changes to the main branch after the |
| 1.2 release. This was then branched as VEL_1_3_BRANCH in CVS |
| and released as v1.3-rc on March 17, 2002. |
| </p> |
| |
| <ul> |
| <li> |
| Fix to LogSystem. ORed when I should have ANDed. Reported |
| by Matt Gould (mpg@mpgsoftware.com). (gmj) |
| </li> |
| <li> |
| Documentation patch for 'getting started', reported by |
| Yuji Kumasaka (kumasaka@mms.intec.co.jp) (gmj) |
| </li> |
| <li> |
| Changed AnakiaTask to not specify Xerces, but let JDOM find |
| a parser. (gmj) |
| </li> |
| <li> |
| Change reported in bug #4256 by Jim Mackraz (jim@mackraz.com) |
| reviewd and fixed by DLR. (gmj) |
| </li> |
| <li> |
| Fixed Velocimacro autoload infinite loop bug. (gmj) |
| </li> |
| <li> |
| Update docs re autoload VM and repeatability of init() (gmj) |
| </li> |
| <li> |
| Added constructors to VelocityContext for plug and play |
| interoperability with the java.util.Map interface (dlr, gmj) |
| </li> |
| <li> |
| Committed Texen patches from Stephane Bailliez |
| (sbailliez@imediation.com) anticipating review by the Texen |
| aficianados in the Velocity community. (gmj) |
| </li> |
| <li> |
| Fix problem where local-scope VMs were interfering with |
| VM library autoloading. (gmj) |
| </li> |
| <li> |
| Added support for primitive arrays in #foreach() re bug #4370 |
| (gmj) |
| </li> |
| <li> |
| Parser fixes for $foo.bar} and $foo.bar#if (gmj) |
| </li> |
| <li> |
| Changed build targets to not include external dependencies in |
| velocity jars by default. (gmj) |
| </li> |
| <li> |
| Added support for an 'ApplicationContext' to allow the application |
| set an Object accessable to custom loaders and loggers. (gmj) |
| </li> |
| <li> |
| Added <code>cleanup()</code> hook method to |
| <code>TexenTask</code> to easily allow subclasses to perform |
| cleanup activities without overriding |
| <code>execute()</code>. (dlr) |
| </li> |
| <li> |
| ResourceManager and ResourceCache are now pluggable. |
| Default implementations work as they always did. (gmj) |
| </li> |
| <li> |
| Added support for allowing user to configure pluggable |
| directives. We supported it, but offered no way of |
| actually configuring it as such. (gmj) |
| </li> |
| <li> |
| Fixed lonely # in #macro() bug reported by |
| Tim Chamberlain (tchamberlain@sportingnews.com) and |
| added template test. (gmj) |
| </li> |
| <li> |
| Deprecation update : AnakiaTask b/c JDOM, default logger |
| b/c LogKit 1.0. (gmj) |
| </li> |
| <li> |
| New simple log4j logger, uses either an existing category if that is |
| passed to it, or just writes to a new file. |
| </li> |
| <li> |
| Log support enhanced to include automatic selection for default file logger |
| using either Jakarta Avalon Logkit or Jakarta Log4j, whichever it finds |
| in the classpath. (gmj) |
| </li> |
| <li> |
| Fix for problem reported by Robert Edgar where a reference-ish entity |
| like \${foo} wouldn't render the preceeding \ |
| </li> |
| <li> |
| Support for is<Property>() introspection. (gmj) |
| </li> |
| <li> |
| Added better resolution of method ambiguity based on invocation |
| parameters so we better choose between overloaded methods. (gmj) |
| </li> |
| <li> |
| Patch from Michael McKibben for introspector to fix problem |
| where public interface methods implemented by a private or default |
| class were skipped when resolving access. (gmj) |
| </li> |
| <li> |
| Modified the Introspector and environs to make it independent |
| of Velocity-specific imports for reuse by others. (gmj) |
| </li> |
| <li> |
| Patch from Dan Finkelstein to fix problem when a resource |
| loader in named, but has no defined parameters, resulting in |
| NPE from ResourceManager. (gmj) |
| </li> |
| <li> |
| Adjusted formatting of the default error output from |
| VelocityServlet as suggested by Igor Fedulov. (gmj) |
| </li> |
| <li> |
| Fix for so-called runt reference bug reported by |
| Lukas Zimmermann such that $foo.bar()RUNT had following |
| RUNT treated as a reference. (gmj) |
| </li> |
| <li> |
| Update servlet1 example to use the 'new' handleRequest() (gmj) |
| </li> |
| <li> |
| Added support for ${user.home}/build.properties to Ant build |
| file. (dlr) |
| </li> |
| <li> |
| VelocityServlet subclasses may now use a web.xml context |
| parameter as the default value for the path to their |
| velocity.properties file. (dlr) |
| </li> |
| <li> |
| Added patch from Sylwester Lachiewicz (matrix@plusnet.pl) |
| for the DataSourceResourceLoader |
| to bring the javadoc up to date re the properties example, |
| and he also added examples for the DataSource configuration as well as the |
| syntax needed to create a compatible table. (gmj) |
| </li> |
| <li> |
| Small fix to enable logical complement #set($foo = !$bar), as reported by |
| Chris Rousseau. (gmj) |
| </li> |
| <li> |
| Doc fixes by many. Thanks all. (gmj) |
| </li> |
| <li> |
| Fix to StringUtils.chop(). (gmj) |
| </li> |
| <li> |
| Fix to StringLiteral bug found by Stephane Bailliez - in high load situations |
| it was possible to get an NPE if the timing worked out just right. Also |
| fixed a side-effect found by Victor Salaman. (gmj) |
| </li> |
| <li> |
| Fix to $foo## bug reported by Nathan Bubna. (gmj) |
| </li> |
| <li> |
| Fix to VM bug found by Paulo Gaspar, where when using inline-scope VMs and |
| VM recursion the namespace got dumped at the wrong time, killing the |
| recursion. (gmj) |
| </li> |
| <li> |
| Add class to provide bean-like access to Texen. (jvz) |
| </li> |
| <li> |
| Small introspection side-effect fix suggested by Sven Meier, prevents |
| Obj[] from getting altered in event of null value. (gmj) |
| </li> |
| <li> |
| Log4jLogSystem deprecated in favor of the simpler SimpleLog4jLogSystem. |
| (gmj) |
| </li> |
| |
| </ul> |
| |
| </subsection> |
| |
| <subsection name="1.2"> |
| <p> |
| 1.2 was released on December 9, 2001. |
| </p> |
| |
| </subsection> |
| |
| <subsection name="1.2-rc3"> |
| <p> |
| This section describes changes to the VEL_1_2_BRANCH after the |
| 1.2-rc3 release. 1.2-rc3 was released on November 7, 2001 |
| for a quick community check. It is intended to be the final |
| rc for the 1.2 release. |
| </p> |
| |
| <ul> |
| <li> |
| Small fix to Velocity.java and VelocityEngine.java for |
| invokeVelocimacro() - the were broken in the last major |
| VM change (months ago) and never noticed. (gmj) |
| </li> |
| <li> |
| Added notes re the new no-dep jar. (gmj) |
| </li> |
| </ul> |
| |
| </subsection> |
| |
| <subsection name="1.2-rc2"> |
| <p> |
| This section describes changes to the VEL_1_2_BRANCH after the |
| 1.2-rc2 release. 1.2-rc2 was released on October 18, 2001 |
| as an administrative fix for 1.2-rc1 (files were damaged.) |
| </p> |
| |
| <ul> |
| <li> |
| Backport the 'disappearing curly' and 'nit' fixes from 1.3 (gmj) |
| </li> |
| <li> |
| Backport autoreload infinte loop and local-scope |
| interferance bugs. (gmj ) |
| </li> |
| <li> |
| Backport Texen patches from Stephane Bailliez and follow-on |
| fixes from jvz and dlr. (gmj) |
| </li> |
| <li> |
| Changed build targets to not include external dependencies in |
| velocity jars by default. (gmj) |
| </li> |
| </ul> |
| |
| </subsection> |
| |
| <subsection name="1.2-rc1"> |
| <p> |
| This section describes changes to the VEL_1_2_BRANCH after the |
| 1.2-rc1 release. These are updates working towards a rc2 or |
| final. |
| </p> |
| |
| <ul> |
| <li> |
| Fix to LogSystem. ORed when I should have ANDed. Reported |
| by Matt Gould (mpg@mpgsoftware.com). (gmj) |
| </li> |
| <li> |
| Documentation patch for 'getting started', reported by |
| Yuji Kumasaka (kumasaka@mms.intec.co.jp) (gmj) |
| </li> |
| <li> |
| Changed AnakiaTask to not specify Xerces, but let JDOM find |
| a parser. (gmj) |
| </li> |
| <li> |
| Change reported in bug #4256 by Jim Mackraz (jim@mackraz.com) |
| reviewd and fixed by DLR. (gmj) |
| </li> |
| </ul> |
| |
| </subsection> |
| |
| <subsection name="1.2-dev"> |
| <p> |
| This section describes changes to the main branch after the 1.1 release. |
| This was then branched as VEL_1_2_BRANCH in CVS and released as v1.2-rc1 |
| on September 26, 2001. |
| </p> |
| |
| <ul> |
| <li> |
| Fix to AbstractContext to 'roll forward' EventCartridges to ensure that |
| the last one added is available at render time. (gmj) |
| </li> |
| <li> |
| Small changes to developer docs re jar-src target and docs target. (gmj) |
| </li> |
| <li> |
| Small changes to AND and OR nodes to support the legal but wacky use like |
| #set( $foo = ($woog || $bar ) ). (gmj) |
| </li> |
| <li> |
| Major change to Parser char stream - no longer using the stock, javacc generated |
| ASCII 8-bit char stream but rather a Unicode 'custom' char stream. This solves |
| the problems reported with 16 bit characters that unluckily have a 0a or 0d in the |
| low-order byte. (gmj) |
| </li> |
| <li> |
| Added additional templates to encoding test using contributions from |
| Ilkka Priha, Michael Zhou and Vitaly Repetenko. Thanks guys! (gmj) |
| </li> |
| <li> |
| Update from Russel Edens to clear fileWriter cache for Texen's |
| Generator.java. (JSS) |
| </li> |
| <li> |
| Fix to VM system to prevent dumping of VM namespace when using |
| namespaces (in local.scope). (gmj) |
| </li> |
| <li> |
| Fix to VM system to have correct 'schmoo' |
| output of a non-reference passed as arg to VM. Thanks to DLR |
| and Paulo for flogging this out of me :) (gmj) |
| </li> |
| <li> |
| Updates to StringUtils from Robert Burrell Donkin. (gmj) |
| </li> |
| <li> |
| Added MIE propogation from #parse() and VMs to propogate out. Thanks |
| to Michael Salmon for pointing this out. (gmj) |
| </li> |
| <li> |
| Added logging interface to Velocity class for completeness. (gmj) |
| </li> |
| <li> |
| Patch by Michael Salmon to WebMacro converter tool to let arbitrary |
| set of files be converted. (gmj) |
| </li> |
| <li> |
| TokenManagerError now thrown as ParserException to allow catching |
| at application level. (Suggested by Tim Joyce.) (gmj) |
| </li> |
| <li> |
| Small parser fix to get ObjectArrray and IntegerRange handling right |
| everywhere. (gmj) |
| </li> |
| <li> |
| Speed optimzations for test provider. (dlr) |
| </li> |
| <li> |
| Enhancement to MIE message suggested by Conor MacNeill to make interpretation |
| of exception more useful when debugging. (gmj) |
| </li> |
| <li> |
| Small fix to #parse() and #include() |
| such that when the template/resource was not file based |
| but stream based, there was no 'parent template' encoding to use |
| for decoding the arg to #parse/#include. Runtime default is used. |
| Thanks to Dan Finkelstein for finding this bug. (gmj) |
| </li> |
| <li> |
| Fix to problem reported by Andreas Wikberger (and patch too!) where |
| two loads were required to have template refresh after change when |
| time-based caching was enabled. (gmj) |
| </li> |
| <li> |
| Updated log4j adapter to be compatible with 1.1.x and updated |
| jars in build/lib to match. (gmj) |
| </li> |
| <li> |
| Changed VMFactory to not output scary messages when library is |
| not found or empty string. Suggested by Tal Dayan. (gmj) |
| </li> |
| <li> |
| Added auto alternator functionality to VelocityFormatter. (dlr) |
| </li> |
| <li> |
| Modified Velocity to support separate runtime instances and |
| added application support class o.a.v.app.VelocityEngine (gmj) |
| </li> |
| <li> |
| Updated junit to v3.7 in build/lib (gmj) |
| </li> |
| <li> |
| Checked in patches from Attila Szegedi which improves the XPath |
| support in Anakia. These are fully backwards compatible with |
| previous versions. (jss) |
| </li> |
| <li> |
| Fixed the build/test.sh convenience script to use Ant. (jss) |
| </li> |
| <li> |
| Intrspector fix using contributions from Attila Szegedi |
| (szegedia@freemail.hu) - removes problems associated with |
| access to inner classes and public interfaces on default |
| or private facades. (gmj) |
| </li> |
| <li> |
| Added new autoreload feature for VM system - VM global libraries |
| will be automatically reloaded on use. See 'Configuration' section |
| of developers guide for more info. (gmj) |
| </li> |
| <li> |
| Logging changes : moved prefix out of RuntimeInstance into logger |
| impl to support better log4j users who don't need it. Changed |
| ExternalLoggerTest to support that as well as sep runtime instance. |
| Needed to support log4j adapter contrib from Jeroen C. van Gelderen. |
| Also, LogSystem.init() now can throw an Exception. (gmj) |
| </li> |
| <li> |
| Also added AvalonLogSystem switch to allow user to simply |
| specify by name a logger from the existing hierarchy. Thanks to |
| Carsten Ziegeler. (gmj) |
| </li> |
| <li> |
| Texen enhancement - allow to use template resources from |
| a jar. (jvz) |
| </li> |
| <li> |
| Allow proper propagation of VelocityExceptions (RNFE, PEE, and MIE) |
| from #parse() and #include(), where appropriate. (gmj) |
| </li> |
| <li> |
| Bug fix to allow formal reference to be passed into VMs. (gmj) |
| </li> |
| <li> |
| Revamping of Introspector to allow dump of cache |
| when classloader change is detected, by Attila Szegedi |
| and Paulo Gaspar. (gmj) |
| </li> |
| <li> |
| Added testcase to verify introspection cache dumped when |
| classloader changed. (gmj) |
| </li> |
| <li> |
| Added PrimordialLogSystem and changed RuntimeInstance to use it. (gmj) |
| </li> |
| <li> |
| Minor fixes to ASTRefernce presentation. (gmj) |
| </li> |
| <li> |
| Texen enhancement - allow multiple properties files to be specified. (jvz) |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="1.1-rc2"> |
| <p> |
| This section describes changes to the VEL_1_1_BRANCH after the |
| 1.1-rc2 release. This was released as v1.1 on June 16, 2001. |
| </p> |
| |
| <ul> |
| <li> |
| Update from Russel Edens to clear fileWriter cache for Texen's |
| Generator.java. (JSS) |
| </li> |
| </ul> |
| |
| </subsection> |
| |
| <subsection name="1.1-rc1"> |
| <p> |
| This section describes changes to VEL_1_1_BRANCH after the 1.1-rc1 |
| release. This was released as v1.1-rc2 on June 2, 2001. |
| </p> |
| |
| <ul> |
| <li> |
| Fix to AbstractContext to 'roll forward' EventCartridges to ensure that |
| the last one added is available at render time. (gmj) |
| </li> |
| <li> |
| Small changes to developer docs re jar-src target and docs target. (gmj) |
| </li> |
| <li> |
| Small changes to AND and OR nodes to support the legal but wacky use like |
| #set( $foo = ($woog || $bar ) ). (gmj) |
| </li> |
| <li> |
| Major change to Parser char stream - no longer using the stock, javacc generated |
| ASCII 8-bit char stream but rather a Unicode 'custom' char stream. This solves |
| the problems reported with 16 bit characters that unluckily have a 0a or 0d in the |
| low-order byte. (gmj) |
| </li> |
| <li> |
| Added additional templates to encoding test using contributions from |
| Ilkka Priha, Michael Zhou and Vitaly Repetenko. Thanks guys! (gmj) |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="1.1-dev"> |
| <p> |
| This section describes changes to the main branch after the 1.0.1 release. |
| This was then branched as VEL_1_1_BRANCH in CVS and released as v1.1-rc1 on May 20, 2001. |
| </p> |
| |
| <ul> |
| <li> |
| Removed build.sh and build.bat scripts in favor of making people "install" Ant. |
| </li> |
| <li> |
| Added Kent's, others and my changes to VelocityServlet. Fundamental change is changing |
| handleRequest() to take a req, resp and ctx args, as well as making returning |
| <code>null</code> permissible to indicate that request is taken care of. (gmj) |
| </li> |
| <li> |
| Added support for alternate encoding for templates (input sources). It is now |
| controllable by two properties (input and output), and tested with UTF-8. |
| UTF-8 rocks. Why are there others? :) Also added testcase. (gmj) |
| </li> |
| <li> |
| Fixed problem where MethodInvocationExceptions were not correctly generated for |
| method exceptions in a few places. All seems to work now. (gmj) |
| </li> |
| <li> |
| Added fix from Charles Bennet for build.xml to include all necessary parts in classpath |
| for building examples. (gmj) |
| </li> |
| <li> |
| Performance improvment additions for the AST, the majority from Kent Johnson, plus |
| his suggestions for Configuration and ResourceManager (gmj) |
| </li> |
| <li> |
| More MethodInvocationExceptions fun : the LHS of a #set() could throw |
| an Exception, and we wouldn't propogate it. (gmj) |
| </li> |
| <li> |
| EventCartridge support. See docs :) (gmj) |
| </li> |
| <li> |
| Documentation : basic EventCartridge description. (gmj) |
| </li> |
| <li> |
| Added request specific encoding specification for templates. (gmj) |
| </li> |
| <li> |
| Additions from Tim Joyce for more Method Exception propogation |
| and exception event handling. (gmj) |
| </li> |
| <li> |
| Performance patches from Kaspar Nielsen for ASTDirective and Include. (gmj) |
| </li> |
| <li> |
| Texen patch from Robert Burrell Donkin which makes Texen throw all exceptions |
| rather than eating them, and some javadoc. (gmj) |
| </li> |
| <li> |
| Fix for the much acclaimed and dreaded #$foo, $$foo #$#$foofoo, etc bug. (gmj) |
| </li> |
| <li> |
| Added some autoconfigure support for the servlet example to hele |
| users new to Servlets, and added a little README to help then find |
| Tomcat and setup a webapp. (gmj) |
| </li> |
| <li> |
| Removed the .close() of the output stream in VelocityServlet |
| and symmetrized VelocityWriter recycle. (gmj) |
| </li> |
| <li> |
| Converted from using the Velocity Configuration class (now deprecated) to |
| the Jakarta Commons collections component's ExtendedProperties class. |
| (Which came from Velocity and was renamed.) Should result in no changes |
| other than deprecation of Configuration and one deprecated method in |
| o.a.v.app.Velocity. (gmj) |
| </li> |
| <li> |
| Removed build/build.sh and build/build.bat and build/lib/ant*.jar to |
| move to explicit Ant-based build. (jss) |
| </li> |
| <li> |
| Changed JarResourceLoader to use normal 'path' configuration key |
| and added jar test to MultiLoaderTestCase. (gmj) |
| </li> |
| <li> |
| Updated the regexp in the WM conversion tool. (dlr) |
| </li> |
| <li> |
| Added EventHandler test case and example, and |
| removed NullReferenceEventHandler |
| as redundant. (gmj) |
| </li> |
| <li> |
| Moved all event-realated things to o.a.v.app.event package, |
| updated all things that depend upon it, |
| and modified the context stuff to support a public event |
| interface. Also renamed the null set method to something |
| more appropos, and added arg to method. (gmj) |
| </li> |
| <li> |
| Added switch to turn off 'resource found' messages in |
| ResourceManager. Default is on. Key is |
| 'resource.manager.logwhenfound'. (gmj) |
| </li> |
| |
| </ul> |
| </subsection> |
| |
| <subsection name="1.0.1-dev"> |
| <p> |
| Released as v1.0.1-rc1 on April 10, 2001. |
| </p> |
| <p> |
| No changes following rc1. Released as v1.0.1 on April 22, 2001. |
| </p> |
| |
| <ul> |
| <li> |
| Small fix to ASTGENode.java to catch NPE if LHS or RHS is null or not |
| int or Integer. (gmj) |
| </li> |
| <li> |
| Added examples-clean-forumdemo target to build.xml for cleaning up |
| after building the forumdemo. (JSS) |
| </li> |
| <li> |
| Small fix to ASTAndNode.java to short circuit if LHS is false, and to |
| log an error of LHS or RHS is null. (gmj) |
| </li> |
| <li> |
| Small fix to ASTGTNode.jave to catch NPE if LHS or RHS is null. (gmj) |
| </li> |
| <li> |
| Documentation : changed license instructions in coding-standards.xml (gmj) |
| </li> |
| <li> |
| Added 'throws Exception' to handleRequest() in VelocityServlet.java |
| (suggestion from Christoph Reck) (gmj) |
| </li> |
| <li> |
| Updates to README.txt and examples/README.txt as suggested by Kent Johnson (gmj) |
| </li> |
| <li> |
| Added Enumerator as a valid iteration type for #foreach() - added warnings |
| to use of same to documentation. (gmj) |
| </li> |
| <li> |
| Added panic sqawk in AvalonLogSystem() to also go to stderr. (gmj) |
| </li> |
| <li> |
| Finished all comparison nodes (NPE prevention and good logging) and |
| enhanced logical.vm test template to try them all. (gmj) |
| </li> |
| <li> |
| Added xmlapp_example to examples, and added to examples build target. |
| Was moved from whiteboard. (gmj) |
| </li> |
| |
| </ul> |
| |
| </subsection> |
| <subsection name="1.0b3"> |
| <p> |
| Released as version 1.0 on April 2, 2001 |
| </p> |
| |
| <ul> |
| <li> |
| Documentation: Fix the VTL Reference guide for the #if |
| statement. Thanks to Joaquim Carvalho for the find. (JSS) |
| </li> |
| <li> |
| Documentation: Fixed the html in the user guide that generates |
| the TOC so that the numbers come out in proper order. (JSS) |
| </li> |
| <li> |
| Added common base class for application-level exceptions in package |
| org.apache.velocity.exception. Thanks to Kyle Downey for the |
| suggestion. (gmj) |
| </li> |
| <li> |
| Added javadoc to o.a.v.context.AbstractContext clarifying which |
| of the internalXXX methods are required. Thanks to |
| Joshua Levy for the suggestion. (gmj) |
| </li> |
| <li> |
| Added license and javadoc to examples/context_example/DBContext.java |
| to clarify why some internalXXX methods are stubbed out. (gmj) |
| </li> |
| <li> |
| Documentation : Clarification of VM properties and added note on |
| VM declaration / usage order in user guide. (gmj) |
| </li> |
| <li> |
| Fixed HttpServletRequestWrap.java - getInputStream() wasn't calling |
| the method on the wrapped HttpServletRequest. Thanks to |
| Shahar Solomianik. (gmj) |
| </li> |
| <li> |
| Removed build.compiler from the build.xml file. (JSS) |
| </li> |
| <li> |
| Fixed problem found by jon where high concurrency would lead to |
| a dry parser pool, which would lead to vast unpleasantness masked |
| as resource access errors. All seems to be better now. Simple |
| fix, so little risk. (gmj) |
| </li> |
| <li> |
| Added <code>parser.pool.size</code> as a configuration parameter to |
| help tune Velocity configurations for high concurrency loads. (gmj) |
| </li> |
| <li> |
| Documentation : developers-guide - information/example on making a |
| custom logger, and start of work on documenting resource loaders. (gmj) |
| </li> |
| <li> |
| Removed some debugging gibberish from |
| InternalContextAdapterImpl.java (gmj) |
| </li> |
| <li> |
| Committed John McNally's Texen patch to texen's Generator.java |
| to keep from accumulating introspection cache data in iterative |
| calls to parse() with template caching off. (gmj) |
| </li> |
| <li> |
| Documentation : added some special-case Context information and a |
| secion on Vel and XML in the developers guide. (gmj) |
| </li> |
| </ul> |
| |
| </subsection> |
| |
| <subsection name="1.0b2"> |
| |
| <p> |
| Released as version 1.0 beta 2 on March 26, 2001 |
| </p> |
| |
| <ul> |
| <li> |
| Make the distribution have CRLF for all of the text files (JSS). |
| </li> |
| <li> |
| Fixed release packaging to create things in the right directory |
| structure (JSS). |
| </li> |
| <li> |
| Re-added 'include' support for Configuration. (JVZ) |
| </li> |
| <li> |
| Fixed VMProxy bug when reference arg was null. (#1074) (gmj) |
| </li> |
| <li> |
| Fixed nullpointer problem in cache refresh in ResourceManager |
| (reported by Ilkka Priha) (gmj) |
| </li> |
| <li> |
| VelocityServlet now respects the 'default.contentType' |
| property again. That must have fallen out during the 'request |
| process' rework in VelServlet. (reported by csterg@aias.gr) (gmj) |
| </li> |
| <li> |
| Changed AnakiaTask and TexenTask to use the canonical |
| template file path rather than the literal string specified. |
| Motivated for ease of gump-tion. Also added |
| failonerror to the testcases.xml for the same reason. (gmj) |
| </li> |
| <li> |
| Added Sam's suggestion for normalizing \n[\r] when comparing |
| results to expected results in the testbed via BaseTestCase (gmj) |
| </li> |
| <li> |
| Qualified import statments in Generator.java. Added tests for |
| automatic boolean mapping in TexenTestCase.java. Added default |
| boolean mapping to texen for properties used with the |
| contextProperties option. Allow variants on boolean values in |
| Configuration.java, and changes to relevant templates in testbed. |
| Added default objects to context in TexenTask.java. (JVZ) |
| </li> |
| <li> |
| Documentation changes to Configuration.java (DLR) |
| </li> |
| <li> |
| Augmented the MethodInvocationException message in ASTMethod to |
| make the stacktraces more useful - noted from some traffic on |
| Turbine list. (gmj) |
| </li> |
| <li> |
| Added powered by logo. Look in |
| xdocs/images/powered-by-logo.psd/.gif (JSS) |
| </li> |
| <li> |
| Changed the internals of the Configuration class so that |
| setProperty(K,V) will replace the value at K with V; |
| addProperty(K,V) works the way setProperty(K,V) used |
| to: if there is a value already stored at K then |
| V is added to the vector. If nothing is being stored |
| at K then the scalar V is simply added. setProperty(K,V) |
| is basically a short form for clearProperty(K)/addProperty(K,V). |
| Also added setConfiguration(C), so that an application using |
| velocity could easily take a subset of the application |
| configuration using C.subset(velocityProps) and set the |
| whole velocity configuration at once. This is now how |
| the velocity service works in Turbine. (JVZ) |
| </li> |
| |
| <li> |
| Added support to the Runtime/Velocity classes for |
| addProperty(K,V). (JVZ) |
| </li> |
| |
| <li> |
| Added support to Runtime/Velocity classes for setConfiguration. |
| (JVZ) |
| </li> |
| |
| <li> |
| Confirmed that the build.bat works on Win98 as well as made the |
| classpath that the build.bat generates equal to the one that |
| build.sh generates. (JSS) |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="1.0b1"> |
| <ul> |
| <li> |
| Initial release. |
| </li> |
| </ul> |
| </subsection> |
| |
| </section> |
| |
| </body> |
| </document> |