Revision history for Perl extension Text::Template::Simple. 0.86 Mon Mar 5 22:10:12 2012 => Fixed a stupid error where I forgot to unpack @_. => Don't allow expressions as shared variables (won't work anyway) 0.85 Sun Jan 29 01:39:43 2012 => Fix taint check for users running as root (cpan clients) => Drop legacy perl support. 0.84 Tue Nov 15 03:46:23 2011 => Bump version. Internal cleanup. 0.83 Fri Jun 4 04:55:09 2010 => Overhaul the test suite. 0.82 Mon Sep 21 22:38:16 2009 => Now using warnings pragma. warnings::compat is required under $] < 5.006. => Lots of internal fixes/re-organization to comply with Perl::Critic policies. => Bundle .perlcriticrc 0.81 Sun Sep 13 08:34:21 2009 => Legacy perl (5.6/5.5.3) fixes. 0.80 Sat Aug 8 02:37:32 2009 => New stable version. Highlights: o "resume" option went to oblivion. o Taint mode support o Cache improvements. o "monolith" & interpolated includes do not mix. It now returns an error. o Empty includes return enpty string instead of dying. o Shared variables (only SCALARs) for includes. 0.79_09 Fri Aug 7 06:11:05 2009 => Polish the tokenizer debugging codes. => Testing build tool change. 0.79_08 Fri Aug 7 03:42:48 2009 => Fix monolith test. 0.79_07 Thu Aug 6 04:17:38 2009 => Implemented the monolith test. => monolith option does not work with interpolated includes. It's currently marked as a CAVEAT and the module now returns an error if such a situation occurs. 0.79_06 Wed Aug 5 06:53:49 2009 => Pod fixes. => Implemented shared var & empty includes tests. 0.79_05 Sun Aug 2 10:46:33 2009 => Internal cleanup. => Fixed the tokenizer for empty includes. It now returns an empty token instead of dying. => Implemented shared variables for dynamic includes (no monolith). 0.79_04 Sat May 2 06:32:11 2009 => Internal cleanup. => Implement block filter test. 0.79_03 Fri May 1 04:18:15 2009 => Cache improvements. 0.79_02 Thu Apr 30 17:02:24 2009 => Bump version. 0.79_01 Thu Apr 30 05:08:23 2009 => Internal cleanup. => Add version checking into template disk cache. => Remove resume() completely. Was: - too complex - too buggy - dumb source filter => Added support for taint mode. 0.70 Sun Apr 26 16:43:10 2009 => Bump the version for a new stable release. => Highlights: * New option: capture_warnings. * Verbose error messages are now disabled by default. * Moved the API reference into Text/Template/Simple/API.pod. * There is now a monolithic version of the module. * Include improvements (params & filters) * Implemented block filters (experimental). 0.62_18 Sun Apr 26 03:21:08 2009 => Move template constants into base->parser->_internal(). 0.62_17 Thu Apr 23 23:09:13 2009 => Move _file_exists to io->file_exists. => New option: capture_warnings. => Verbose error messages are now disabled by default. Set verbose_errors to a true value to enable this. => Move the API reference into Text/Template/Simple/API.pod. => Implemented tests 027 & 028. 0.62_16 Thu Apr 23 19:52:29 2009 => Update builder. 0.62_15 Tue Apr 21 22:52:14 2009 => Updating distro tools. 0.62_14 Tue Apr 21 03:38:27 2009 => Updating distro tools. 0.62_13 Fri Apr 10 08:48:15 2009 => Test meta fields. 0.62_12 Fri Apr 10 06:24:09 2009 => Build tool update. => Added LICENSE. 0.62_11 Thu Apr 9 02:35:30 2009 => Fix Devel::Size support. => Removed MANIFEST.SKIP & added no_index to M::B. Thanks to Graham Barr. 0.62_10 Thu Apr 9 00:12:42 2009 => Testing MANIFEST.SKIP. 0.62_09 Wed Apr 8 20:59:18 2009 => Testing MANIFEST.SKIP. 0.62_08 Wed Apr 8 03:15:35 2009 => There is now a monolithic version of the module, bundled with the distributon. Find it in ./monolitic_version/. 0.62_07 Sun Apr 5 04:05:28 2009 => Moved most error messages into fatal(). 0.62_06 Tue Oct 21 23:42:05 2008 => Updated build tool to automatically change version numbers and update pod. => Renamed error ids in fatal(). 0.62_05 Sun Oct 12 23:32:47 2008 => Internal cleanup. => Updated build tool to automatically change version numbers. 0.62_04 Fri Oct 10 22:20:58 2008 => Fixed a semicolon issue with code blocks. => Removed cmd callbacks from the tokenizer. Also removed trim(). => Implemented block filters. => Fixed filter split regex. => New placeholder test. => Fixed a long standing bug in the tokenizer. => Internal cleanup. 0.62_03 Fri Oct 10 19:53:49 2008 => Fixed tts(). => Pod fixes. 0.62_02 Fri Oct 10 01:37:09 2008 => Fixed a warning generated via an edge case in the tokenizer. => Internal cleanup. 0.62_01 Wed Oct 8 23:56:32 2008 => Token dumper fix. => Changed internal token type handling from strings to constants. => More internal cleanup. => Updated memcache tests. => Include improvements o Implemented include parameters. o Implemented include filters. o Added new placeholder unit tests. o No examples yet. 0.61 Fri Oct 3 20:21:49 2008 => Re-release with a fix for the brand-new world-writable files issue :p 0.60 Fri Oct 3 17:42:14 2008 => Milestone! Highlights: * Dynamic Includes (a.k.a processed includes) * Interpolation in includes * Chomping (global & per directive) * Template name access through $0 * Explicit types to compile() => Increased some PREREQ versions for prehistoric perls as the cache tests are failing under 5.6.x. 0.54_18 Fri Oct 3 01:15:09 2008 => Fix for 24-include-paths.t. 0.54_17 Thu Oct 2 22:46:02 2008 => Implemented placeholder tests except 22-monolith.t (TODO) 0.54_16 Thu Oct 2 04:25:06 2008 => Typo in token dumper. => Pod updates for new functionality. 0.54_15 Wed Oct 1 21:12:00 2008 => Moved token indexes into ::Constants. => Renamed some internal constants. => Fixed and documented explicit type passing to compile(). => Changed token format (swapped id <-> str). 0.54_14 Wed Oct 1 06:11:49 2008 => Re-implemented the previous overcomplicated and buggy chomping interface. This is now solid. * Removed buggy chomping tests. * Also moved the chomping action into the parser. => Improved token dumping. 0.54_13 Tue Sep 23 20:53:34 2008 => Renamed the test to "26-template-name-dollar-zero.t" as either the shell or the test suite seem to expand $0 in the file name. Weird, but too lazy to investigate the real cause. 0.54_12 Mon Sep 22 00:37:43 2008 => Fixed template name access through $0. => New placeholder test. 0.54_11 Sat Sep 20 23:51:43 2008 => Split Text::Template::Simple into smaller base classes. => Internal cleanup. 0.54_10 Sat Sep 20 22:32:39 2008 => tts() wrapper function. => Implement 25-chomp.t. => Fix tokenizer bug. 0.54_09 Wed Sep 17 00:01:41 2008 => Internal cleanup. => Implemented collapse/chomp/no-chomp per directive. This hopefully completes the chomp() interface. Unit tests & Pod to come... => Added roadmap & flow chart to distro. 0.54_08 Mon Sep 15 01:44:40 2008 => More fixes for the _chomp(). => Implemented pre/post chomp and collapse (tricky!). 0.54_07 Sun Sep 14 03:09:39 2008 => Pod typos. => I/O layer fix. => Added ltrim/rtrim to Util. => Implemented the chomping inside the tokenizer. 0.54_06 Sat Sep 13 02:22:00 2008 => You can now use $0 inside templates to access to the name of the template. => Added support for pre/post chomping (a la TT) into the tokenizer. The rest of the tokenizer or the parser currently does not support that, so it's practically useless for now (<%- -%>, <%=- -%>, etc.). 0.54_05 Fri Sep 12 00:15:23 2008 => Implemented include paths. 0.54_04 Wed Sep 10 22:26:35 2008 => Internal cleanup. => Improved interpolation of includes. 0.54_03 Sun Sep 7 21:33:49 2008 => Added a test for changing the default delimiters. => Pod update: if the template is a FH, it will not be closed after reading. 0.54_02 Sun Sep 7 00:58:38 2008 => Implemented comment directives. => Removed fix_uncuddled. Seemed like nonsense :p => Added DEBUG_TOKENS to the tokenizer. => Implemented & documented the no "monolith" option (also renamed cache_monolith to monolith). => ".tts" is now the official file extension for Text::Template::Simple templates. Updated test suite and Pod to reflect this. 0.54_01 Sat Aug 30 20:12:09 2008 => Fix _parser_id(). => Pod updates. => Implemented the "dynamic" include directive. => Implemented interpolation in includes => New tests for includes. => Removed deprecated parts. => New cache file format. => All files are now in UTF-8 encoding. 0.53 Sat Mar 22 02:32:51 2008 => Abstracted several sub classes into a function. It is now possible to alter them via subclassing. => New test: 15-connector.t. 0.52 Tue Mar 11 23:10:25 2008 => Added a test to check module versions. => Internal cleanup. 0.51_03 Mon Mar 10 23:11:12 2008 => New interface test. => Updated Pods. 0.51_02 Sun Mar 9 23:13:17 2008 => Implemented new tests for the cache interface. => Cache tests are using File::Temp. 0.51_01 Sun Mar 9 01:19:59 2008 => Resume unknown tokens as RAW instead of die()ing. => Added a mechanism to make it possible to add new tokens and token handlers. => New sub modules: Text::Template::Simple::Cache - Cache object Text::Template::Simple::Cache::ID - Cache ID generator Text::Template::Simple::IO - I/O methods Text::Template::Simple::Deprecated - Temporary module to support old interface for a while => All cache methods are now accessible through the cache object. => All I/O methods are now accessible through the io object. => New cache tests. 0.50 Sun Dec 30 22:05:32 2007 => Implemented the html_table output of ::Caller->stack. => New version just before the new year! Yay! :) 0.49_11 Sun Dec 23 23:20:44 2007 => Internal cleanup. 0.49_10 Mon Dec 17 20:06:17 2007 => Added support for buffering caller stack dump. => Pod updates. 0.49_09 Sun Dec 16 16:05:18 2007 => Fix typos. => Added Perl::Tidy support. If you have this module, bogus templates will be displayed in a tidied way. This also enabled for displaying template fragments (if debug is enabled and set to a higher value). => Forgot a single quote in the resume template. 0.49_08 Sat Dec 15 00:48:48 2007 => Each subclass is now in it's own file. Monolithic module is no more. => Internal cleanup. 0.49_07 Sun Dec 9 23:00:33 2007 => Output buffer variable names are now randomly generated. All public interface (and Pod) related to this has now been removed. => Exporter is back. But with different export keys. => Internal cleanup. => New subclassing tests. 0.49_06 Sun Dec 2 21:49:38 2007 => Improved I/O Layer handling. => Pod fix. 0.49_05 Sat Dec 1 23:54:15 2007 => Code cleanup. => Removed IS_DEBUG(). => Removed Exporter. => Removed old code. => Restored verbose error message when there is a compilation error. 0.49_04 Fri Nov 30 00:12:23 2007 => Added a "check" option to map_keys. => Code cleanup. 0.49_03 Wed Nov 28 01:05:26 2007 => Added delimiter escaping (request from Bastian Friedrich). => Replaced the parser with a new sleek & sexy tokenizer. => Unbalanced delimiter error now gives the type of missing one. 0.49_02 Sun Nov 4 00:09:53 2007 => Fixed a typo in Text::Template::Simple::Caller::_text_table(); => All distro files now has LF line ending. => Added 'caller' to permit list of safe mode. 0.49_01 Sun Nov 4 00:09:53 2007 => Added a caller stack dumper. => Fixed Win32 compatibility (again). 0.48 Tue May 29 21:40:16 2007 => Removed AUTOLOAD. => When I issue a dump_cache() with Data::Dumper & Deparse() enabled, under mod_perl2 or PerlEx, I got a strange error: Can't locate object method "first" via package "B::SVOP" at ... This does not happen suddenly, but after I call dump_cache() three times. I couldn't duplicate the error with a simple example, so this may be related to some other part of my actual code (not related to Text::Template::Simple). I've created a workaround for now. If you get the same error somehow (it is now a warning) please report via RT and include a sample code if possible. => Internal cleanup. => Test::More is now required. 0.47 Thu Jan 4 18:16:21 2007 => Implemented an I/O layer mechanism. => Fixed Win32 compatibility (older perls don't have a Win32.pm) 0.46 Thu Dec 21 20:16:33 2006 => Bugfix in _resume(). => Internal changes: Replaced remaining die()s with croak()s. s[} else {][}\n else {]sg; => Added a new test to demonstrate extending Text::Template::Simple. => Safe templates were not working. Fixed by adding a require opcode (disable strict to disable require). => Added a safe test. 0.45 Sat Dec 16 22:15:18 2006 => Internal optimization. => Added line number and file name emulation to parser. You have to use file templates or enable cache to enable this feature. => Implemented a resume method. If enabled, the compiler will resume on fatal errors. There are some buggy parts and it will slow down the compilation process. 0.44 Sat Sep 9 10:44:43 2006 => Forgot to remove development code. Fixed versions in this file. 0.43 Fri Sep 8 20:52:41 2006 => Internal cleanup & optimization. 0.42 Fri Sep 8 14:23:34 2006 => Added fix_uncuddled option (bool) to new & implemented it. If you are a uncuddled else/elsif fan, enable this or your template will die a horrible death. 0.41 Tue Aug 8 04:01:44 2006 => Fixed flock() check. => New option to new(): warn_ids. => Fixed a nasty bug in self printing blocks. 0.40 Thu Jun 15 21:03:27 2006 => Several optimizations. => Fixed README & Makefile.PL ABSTRACT. => Added compat code to Build.PL => Changed get_id(). => Added 'static' includes. => Changed FH detection in _examine(). 0.3 Wed Feb 22 21:15:59 2006 => Completely new API and new design. 0.2 Thu Dec 1 22:24:35 2005 => New extended interface. 0.1 Sat Dec 11 20:18:26 2004 => First release.