2.95 Mon Oct 21 2013
- Added support for "none" for default_escape [Mark Stosberg]
- Escape unicode new-line characters in JS escape [Michael Peters]
2.94 Thu Jan 17 2013
- Fixed bug where options were bleeding over into subsequent calls to new()
[Michael Peters]
2.93 Wed Jan 16 2013
- Feature: Added config() method to make setting global defaults
easy so that each call to new() has less boiler plate. [Michael
Peters]
- Bug Fix: t/05-force_untaint.t now passes when run with prove
[Michael Peters]
- Bug Fix: die_on_bad_params now controls whether we die if tmpl_vars
reuse names from tmpl_loops (which can be useful in some situations)
[Michael Peters]
2.91 Fri Mar 30 2012
- Feature: RT #18901 - Added new utf8 option to make it really simple
to use UTF-8 encoded templates [Michael Peters]
- Feature: RT #30586 - Added new open_mode option to allow for
Perl IO layers to interact when using open() on the template files
[moritz@faui2k3.org and Michael Peters]
- Feature: RT #38189 - Allow clean XML style tags "<tmpl_var foo />"
to be used as well. [allard@byte.nl]
- Feature: RT #46285 - Added support for lazily-evaluated coderefs
for TMPL_LOOPs. [Justin DeVuyst and Michael Peters]
- Feature: RT #64797 - Added new option die_on_missing_include (defaults
to true) that allows users to turn off the behavior of dieing when an
include can't be found [Zdenek Styblik and Michael Peters]
- Feature: Add new cache_lazy_vars option so that the values from coderefs
used for TMPL_VARs can be cached and the coderef not run multiple times
[Michael Peters]
- Feature: Add new cache_lazy_loops option so that the values from coderefs
used for TMPL_LOOPs can be cached and the coderef not run multiple times
[Michael Peters]
- Feature: Added __even__, __outer__ and __index__ loop context vars.
[Michael Peters]
- Bug Fix: RT #26456 - force_untaint can't work in Perl < 5.8.0
[admin@photoresearchers.com]
- Bug Fix: RT #67663 - remove warning under Perl > 5.14.0 about using tied
with a file handle without "*" [RENEEB, TODDR and Michael Peters]
- Bug Fix: RT #35534 - Using the same loop multiple times with
different vars will no longer cause an error if die_on_bad_params
is set. [Ron Savage & Michael Peters]
- Bug Fix: RT #38325 - Give a better error message if param() is set
with a reference to a reference. [Mark Stosberg & Michael Peters]
- Test Fix: RT #26103 - t/05-blind-cache.t no longer modifies the
distribution during the tests but instead uses temp files [Jan
Dubois and Michael Peters]
- Test Fix: Tests that create and modify files now use temp files
and file_cache_dir is always a temp directory [Michael Peters]
- Doc Fix: Using more POD formatting [Michael Peters]
- Doc Fix: RT #46244 - fix broken link to tutorial [Michael Peters]
- Doc Fix: RT #60282 - fix various mispellings [Florian Ernst]
- Doc Fix: RT #60283 - fix broken HTML example [Florian Ernst]
- Doc Fix: RT #60284 - fix broken POD [Florian Ernst and Michael Peters]
- Development: Moved development to GitHub
(https://github.com/mpeters/html-template)
- Development: Switched to using Dist::Zilla internally for release management
- Development: Added Michael Peters as co-maintainer
2.9 Mon Jan 29 15:54:03 EST 2007
- New Feature: the new force_untaint option makes sure you do not
pass tainted values to param(). [Sven Neuhaus]
- New Feature: Added ESCAPE=NONE as a synonym for ESCAPE=0. Fixed
both to work with default_escape. [cpan@punch.net]
- Bug Fix: DEFAULT didn't work with URL and JS escaping.
- Bug Fix: Long-standing bug where variables set in a loop weren't
available inside inner loops under global_vars if the variable
wasn't actually used in the outer loop. (Thanks to Richard Fein
for help debugging the fix.)
- Doc Fix: Changed references to CVS in the docs to Subversion now that
the switch is complete.
- Test Fix: At long last, the work from the Phalanx project has
been merged! The tests are now more complete and easier to work
on. Thanks Phalanx guys!
2.8 Wed Dec 21 18:37:39 EST 2005
- New Feature: the new default_escape option allows you to apply
escaping to all variables in a template. [Alex Kapranoff]
- Bug Fix: ESCAPE wasn't working on variables containing code-refs.
- Bug Fix: Changed HTML::Template to help sub-classes by called
_new_from_loop() via ref($self) rather than hard-coding the package
name. [Mark Stosberg]
- Bug Fix: Including more than one <tmpl_else> tag in <tmpl_unless> or
<tmpl_unless> now dies with an error message, instead of silently ignoring
one of the clauses. [Mitar and Mark Stosberg]
- Bug Fix: Fixed HTML::Template to re-evaluate conditions to handle
<tmpl_else>. This bug could cause HTML::Template to take both
branches of a conditional if a code-ref parameter returned a
different value when called a second time. [Emanuele Zeppieri]
2.7 Thu Jun 24 12:00:00 2004
- New Feature: Added javascript escaping with ESCAPE=JS. (Craig Manley)
- Bug Fix: Improved cache keying to be sensitive to options which
alter the compilation of templates (path, search_path,
loop_context_vars and global_vars). Calls to new() with
different settings for any of these options will no longer pull
incorrect cached objects.
- Bug Fix: Added code to detect broken Perl 5.8.0 installs
during installation (i.e. Redhat 8 and 9).
- Bug Fix: Fixed parsing of ESCAPE='URL' (Paul Baker)
- Bug Fix: Added check for empty filename passed to new().
- Test Fix: Migrated tests to Test::More. This will allow the
easier introduction of new tests and the use of
Devel::Cover. (Gabor Szabo)
2.6 Thu Aug 29 12:00:00 2002
- New Feature: HTML::Template will combine HTML_TEMPLATE_ROOT
environment variable and path option if both are
available. (Jesse Erlbaum)
- New Feature: __counter__ variable now available when
loop_context_vars is set (Simran Gambhir)
- New Feature: The default attribute allows you to specify
defaults for <tmpl_var> tags.
- Bug Fix: fixed parser to reject <tmpl_var>s with no names.
(crazyinsomniac)
- Doc Fix: fixed documentation to correctly describe the
interaction of case_sensitive and loop_context_vars.
(Peter Claus Lamprecht)
- Doc Fix: updated mailing-list information to reflect move from
vm.com to sourceforge.net
2.5 Fri Feb 01 12:00:00 2002
- Bug Fix: global_vars fixed for loops within loops
- Bug Fix: include paths were broken under Windows (David Ferrance)
- Bug Fix: nested include path handling was wrong (Gyepi Sam)
- Bug Fix: MD5 signatures for file cache corrected (Martin Schroth)
- Bug Fix: print_to was broken for tied filehandles (Darren Chamberlain)
- Doc Fix: added mailing-list archive URL to FAQ, added link to
tutorial, fixed typos and formatting
- Doc Fix: added reference to new HTML::Template website at
http://html-template.sourceforge.net/
2.4 Mon August 27 12:00:00 2001
- Bug Fix: case_sensitive option broke loops (Peter Leonard)
- Bug Fix: code-ref params now work with IF and UNLESS
2.3 Thu June 28 12:00:00 2001
- New Feature: template tags can now span lines. (Roland Giersig)
- New Feature: new() option 'filehandle'. (Roland Giersig)
- Bug Fix: includes were broken in some cases using scalarref
templates. (Lance Thomas)
- Bug Fix: recursive include detection was broken for scalarref
templates. (Mark Stosberg)
- Bug Fix: cleaned up more 5.004 warnings. (Jere Julian)
2.2 Sat December 23 12:00:00 2000
- Bug Fix: fixed memory leak in global_vars implementation
(Ade Olonoh)
- Bug Fix: fixed file_cache not reloading templates on changes
(T.J. Mather)
- Bug Fix: fixed broken error checking in param() (Mark Stosberg)
2.1 Sun December 18 12:00:00 2000
- New Feature: new 'file_cache' and 'double_file_cache' options
provide a file based caching method (T.J. Mather)
- New Feature: new 'print_to' option for output() allows
output() to print to a filehandle as it runs.
(Chris Nokleberg)
- New Feature: new 'case_sensitive' option to allow template
variable names to be case sensitive. (Matthew Wickline)
- New Feature: new 'filter' option allows pre-parse filtering of
template files.
- Bug Fix: added single-quote escaping to HTML escaping code
(Ralph Corderoy)
- Bug Fix: fixed a noisy bug in param() when used with 'associate'
(William Ward)
- Doc Fix: broke out FAQ into separate file.
2.0 Sun September 16 12:00:00 2000
- New Feature: new 'search_path_on_include' option (Jody Biggs)
- New Feature: much requested variable __ODD__ added to set of
loop_context_vars.
- New Feature: new 'no_includes' option (Scott Guelich)
- Doc Addition: Added link to Japanese translation (Kawai Takanori)
- Bug Fix: loop_context_vars was mostly broken (T.J. Mather,
Martin Schroth and Dave Wolfe)
- Bug Fix: vanguard_compatibility_mode was broken on first line of
included files. (uchum)
1.8 Sun June 25 12:00:00 2000
- New Feature: global_vars option makes outer variables visible
inside loops.
- Bug Fix: Use File::Spec to construct pathnames. This means
that HTML::Template should now work on VMS and MacOS.
(Larry Moore)
- Bug Fix: loop_context_vars were broken in an unusual case
(Todd Larason)
- Bug Fix: ESCAPE was broken in some cases.
- New License: switched to GPL/Artistic hybrid normally used
with Perl modules.
1.7 Fri March 24 12:00:00 2000
- New Feature: new method query() enables introspection into
loops (Chris Houser)
- New Feature: Better error handling with Carp
- Bug Fix: URLESCAPE was skipping some important escapes (Simran Gambhir)
- New FAQ: How can I execute a program from inside my template?
1.6 Sun March 05 12:00:00 2000
- New Feature: double_cache combines shared memory and local memory
caching for twice the speedup!
- New feature: ESCAPE=URL (added by Tobias Brox)
- Bug Fix: allow for blessed objects in calls to param()
(thanks to Michael Lloyd and David Glasser)
- Bug Fix: _mtime was broken in 1.5, fixed a typo.
1.5.1 Wed February 23 12:00:00 2000
- Bug Fix: 1.5 broke caching in some cases - thanks to Drew Taylor
for help solving this one.
1.5 Mon February 17 12:00:00 2000
- Shared cache now uses IPC::SharedCache and is much more stable.
- Fixed problem with mixed case associated CGI.pm parameters
- param() now accepts subroutine refs for TMPL_VARs.
1.4 Sat January 8 12:00:00 2000
- New feature: new() option 'shared_cache' enables experimental
IPC shared memory caching!
- TMPL_IF now works on TMPL_LOOP variables.
- Public CVS server available at www.sourceforge.net.
- Bug Fix from Doug Steinwand: loop_context_vars not working
on one-item loops.
1.3 Fri December 17 12:00:00 1999
- Omnibus regex patch from Matthew Wickline: a faster and more
robust parse().
- New tag: TMPL_UNLESS, the opposite of TMPL_IF.
- Numerous bug fixes: mixed-case filenames in includes,
recursive TMPL_INCLUDEs, reporting filename and line number
inside included files, better syntax-error detection.
- Optional loop context variables - __FIRST__, __LAST__ and
__INNER__.
1.2.1 Wed November 17 12:00:01 1999
- tiny bug fix
1.2 Wed November 17 12:00:00 1999
- Added multi-parameter and hash-ref syntax for param() calls.
- Added DTD-compliant <!-- TMPL_* --> syntax patch from
Matthew Wickline - Thanks!
- vanguard_compatibility_mode = 1 implies die_on_bad_params = 0
1.1 Fri November 05 12:00:00 1999
- Lifted requirement that <TMPL_INCLUDE>s be alone on a line
- Added "path" option to new() to manipulate search path for
templates.
- bug fixes
1.0 Fri October 28 12:00:00 1999
- An HTML::Template mailing-list! Send a blank message to
htmltmpl-subscribe@lists.vm.com to join.
- bug fixes
- improved docs
0.96 October 14th 1999 15:49
- Added "ESCAPE=1" option to <TMPL_VAR> to HTML-escape
variable values. (Peter Marelas, thanks!)
- more bug fixes (David Glasses, James William Carlson -
thanks)
- even *more* code cleanup!
- new FAQ concerning pre-loading templates and mod_perl.
0.95 October 8th 1999 12:28
- bug fix: some lines were getting chomped (Eric Zylberstejn)
- *NUMEROUS* bug fixes (David Glasser - Thanks a lot!)
- new FAQ section in documentation
- code cleanup and improved comments
0.91 September 29th 1999 17:59
- bug fix: possible loss of text after a </TMPL_IF>
(Thanks to Tom Huskins for alerting me to this one!)
0.9 September 28th 1999 17:46
- <TMPL_IF> and <TMPL_ELSE>
- near total rewrite - faster, smaller, more "compiler-esque" code.
- *MASSIVE* speedups in all modes - up to 10x faster!1
- bug fix : param() wasn't returning names of LOOPs
- This really is version 0.9 so 1.0 is coming up. Get those
bug reports in!
0.06 September 19th 1999 23:09
- added associate parameter to new() and obsoleted
associate_CGI() (still supported for now)
- added support for HTML_TEMPLATE_ROOT environment variable
- small performance improvements using typeglobs
- added a performance testing script: time_trial.pl
0.051 September 10th 1999 17:30
- small problem with make test fixed.
0.05 September 10th 1999 17:18
- Added <TMPL_INCLUDE> functionality!
- Added associate_CGI() method - donated by Richard Dice
- Cleaned up internal access to new() options.
- more bug fixes from such notables as Kevin Puetz, and Steve
Reppucci.
0.04 Fri June 18 12:00:00 1999
- fixed cacheing - under certain conditions it was totally broken!
- changed {param} to {param_values} - some older perls complained.
- die_on_bad_params => 0 now also applied to loop body.
- added copious comments about how bad m//i is to avoid future
bug reports about [tT][hH][iI][sS]!
- added numerous bug fixes and optimizations submitted by Mike
Blazer, Adriano Nagelschmidt Rodrigues, Andrej Mikus and
Ilya Obshadko. Thanks!
0.03 Fri June 11 17:37:00 1999
- fixed a few irritating "undefined variable" errors in -w
- big speedup on large TMPL_LOOPs. They are at least one order of
magnitude faster now!
- die_on_bad_params => 0 never really worked! It does now.
0.02 Mon May 31 12:47:00 1999
- die on multiple source parameters in new()
- tries to preserve newlines in loop body
- copies in array contents from array refs on param call
i.e. allows for reuse of scratch arrays on calling side
- Added a CREDITS section to the docs, inaugurated it with
Richard Chen for his many fixes.
- Added type => 'sometype', source => 'source' new() syntax.
- made "NAME=" in tags optional. Added a test.pl to check for
this.
0.01 Mon May 17 15:17:00 1999
- added cacheing to module and perldoc
- moved .tmpl files used by 'make test' to /templates
- first release!
0.00 Fri May 14 14:59:06 1999
- original version; created by h2xs 1.18