Date of release: 2005-06-23
Some new features and lot of bugfixes.
If you are using the Log4J logging, from now at least Log4J 1.2 is required. This is because of incompatible changes in the Log4J API.
If you build FreeMarker yourself: from now at least JavaCC 3.2 (instead of JavaCC 2.1) and at least Ant 1.6.1 (instead of Ant 1.5.x) is required. This doesn't affect users who use the
freemarker.jarcomes with the distribution.
Changes on the FTL side
New built-in for formatting numbers for ``computer audience'' as opposed to human audience:
New built-in for the columnar/tabular displaying of sequences:
The sequence slice and substring operators now allow the omitting of the last index, in which case it defaults to the index of the last sequence item or character. Example:
products[2..]. (Also, numerical range literals now allow the omitting of the final number, in which case it defaults to infinity. Example:
?replacehas worked forever if the string to replace was
Changes on the Java side
New template loader:
freemarker.cache.StringTemplateLoader. It uses a
Stringsas its source of templates. See more in the JavaDoc.
Experimental Rhino support: FreeMarker now comes with an experimental object wrapper for Rhino (Java ECMAScript implementation):
Some new utility methods for
Bugfix: FTL literals and any other
SimpleHash-es now can be used as parameters to the FreeMarker-unaware Java methods that are exposed by
BeansWrapper. That is, the method parameters are automatically converted from
Bugfix: The JSP support now works in JSP 2 compliant containers as well. No, it doesn't support the new features of JSP 2 yet, it's just that the JSP 1.2 taglib support has not worked in JSP 2 containers.
setURLEscapingCharsetmethods died with
NullPointerExceptionwhen you tried to set the setting value to
null, which is legal for these settings.
freemarker.template.utility.StringUtil.replace(...)has worked forever if the string to replace was
Bugfix: The Log4J logging was updated to be compatible with the upcoming Log4J 1.3. Note that now FreeMarker will need at least Log4J 1.2.
Bugfix: FreeMarker didn't built from the source code on J2SE 1.5, because of the introduction of the
Bugfix: The return value of
SimpleSequence.synchronizedWrapper()was not properly synchronized. Same with
Bugfix: Problem with
BeansWrapperand overridden bean methods/properties. (Details: bug-tracker entry #1217661 and #1166533)
Bugfix: Can't access JSP taglibs if
Requestattribute is defined in the data-model (Details: bug-tracker entry #1202918).
Bugfix: Various minor parser glitches were fixed.
Manual improvements, especially in the FAQ.