Changes for version 1.01_08
- Version started at 2010-01-28-21:02. get_include_candidates() copes gracefully without $current_dir. Documentation corrections.
Changes for version 1.01_07
- Version started at 2010-01-11-15:03. Test case added for defines messing with line/character positions. Correct line/character numbers for changes from define replacement. Added test cases for multiple function registration in constructor. Retired <: for iterator=x set=y :> syntax. Moved void-wrap of assigns from optimization to compile phase. Preallocate large string to template output string for speed. Tightened main instruction loop in run(). Removed unused $total_instr variable. Unroll of top of variable stack into own variable during execution. Evil evil and thrice evil optimizations to _eval_var(). Use faster procedural rather than OO interface to Digest::MD5(). Push count of program length into compile rather than runtime. Push count of variable segment length into compile from eval.
Changes for version 1.01_06
- Version started at 2009-12-31-17:43. Correction to broken position character counting after newlines. _optimize_template() no longer takes args or returns one. Added clarification to FastMmap caching benchmarks in POD.
Changes for version 1.01_05
- Version started at 2009-12-30-09:55. Typo fixed in the new documentation. Helps if I don't accidentally delete half the benchmark listing too.
Changes for version 1.01_04
- Version started at 2009-12-29-11:14. COMPAT BUSTER: $current_dir no-longer defaults to Cwd::cwd() when find_template() is called, instead an undef value will be passed: if you need the cwd you can work it out yourself. :) Removed dependency on Cwd. Store special loop vars as array rather than hash. Only build special loop vars if any are needed by loop. Added tests for special loop var optimizations. Added tests for subscript access of special vars. (var['__prev__']). Added "case-study" style snippets to caching documentation. Added benchmark dump to performance section.
Changes for version 1.01_03
- Version started at 2009-12-09-20:14. Knew those unixy file paths in the tests' error-match regexps would bite me eventually: made the error text tests properly OS-agnostic. Remembered to update coverage stats this time.
Changes for version 1.01_02
- Version started at 2009-12-08-08:29. Release focus: optimizing the compile and optimization phases. Major optimization to jump target renumbering in template optimization. Only call _delete_instr() when actually needed. Doh. Prebuild list of jump-targets for speed when merging adjacent literals. Correctly made FUNC_NEEDS_TEMPLATE a constant sub. Use tr/// instead of m// for newline-counting during compile. Replace nasty array munging during compile with splice(). Moved a few regexp compiles outside the loops using them.
Changes for version 1.01_01
- Version started at 2009-09-10-13:25. No-longer assumes english-localized perl error text in tests. Unreadable template test: improved check that it really is unreadable.
Modules
Templates safely sandboxed from your application.
Base library object for Template::Sandbox functions.
Basic number functions library for Template::Sandbox.
Basic string functions library for Template::Sandbox.