v0.6.6 - 2014-03-09 - Added support for escaped newlines in templates v0.6.5 - 2014-02-14 - Added ist.global(key, value) v0.6.4 - 2014-01-14 - Fixed @dom directive not inserting child nodes - Fixed tests for Safari, PhantomJS and IE11 - Added Safari, PhantomJS and IE11 to tested browsers v0.6.3 - 2014-01-11 - Automated tests are now run with Firefox and Opera in addition to Chrome - Fixed text node contents being set to non-string - Removed 'ist!path/to/template!bare' syntax which has no use case - Removed ActiveX XMLHttpRequest support for ist! plugin, supported browsers all have a builtin XMLHttpRequest object anyway. v0.6.2 - 2014-01-06 - Update to PEGjs version 0.8.0 v0.6.1 - 2013-12-18 - Fixed r.js builds with "ist!path/to/template" dependencies - Moved tests to Karma - Added r.js build tests v0.6.0 - 2013-11-25 - Rewrote rendering to enable updating - Added @else v0.5.8 - 2013-11-03 - Added element property paths (div[.path.to.property=value]) v0.5.7 - 2013-09-06 - Rewrote rendering to use less class-like patterns (boosted rendering performance by ~30%); additionnaly the "internal" representation of templates is now full JSON. - Rewrote expression evaluation to use with statements; pushScope and popScope now replace pushEvalVar and popEvalVar, which are now deprecated - Added node prerendering (boosts rendering performance by ~10%) - Split code into modules, switched to building using r.js - Added @dom directive to insert DOM nodes from context - Prepared updateable version - Added @define and @use directives v0.5.6 - 2013-03-09 - Fixed a bug where r.js could not build a project when templates where loaded using the ist! plugin syntax v0.5.5 - 2012-12-06 - Fixed a bug where pushEvalVar would not hide a previously pushed variable - Added new tests for push/popEvalVar behaviour - Fixed a bug where rendering with context properties names that are not valid identifiers would cause an error - Optimized rendering by reading context properties when the Context object is created, instead of doing it once for each "{{ }}" evaluation - Template nodes now have a _getCode() method that outputs JS code to regenerate themselves - Templates loaded with the 'ist!' requirejs plugin are now pre-parsed. This can be disabled by using the '!bare' suffix (eg. 'ist!templates/x!bare') - Added a built-in '@eachkey' helper to loop over object own properties - Fixed a bug with block comments following spaces on the same line, enhanced comment tests - Added event handler qualifiers, defined as [!click=function(e) { ... }] - Enabled escaped characters inside bracket-based qualifiers (properties, attributes, events), mainly to allow using square brackets inside them. v0.5.4 - 2012-11-19 - Added support for inline text nodes (text nodes specified on the same line as an element node: div.class "text child") v0.5.3 - 2012-11-11 - Added partials - Fixed error reporting (was buggy when evaluating code anywhere but in text nodes) and added new tests for it v0.5.2 - 2012-10-20 - Rewrote build script using make - Added support for standalone usage (without an AMD loader) - Added support for template in <script> tags - Updated tests to handle Firefox exception messages - Added fromScriptTag helper v0.5.1 - 2012-07-20 - Added expression evaluation to {{...}} blocks and @directives - Enhanced error handling and reporting - Allowed implicit node creation (with qualifiers only; was working since 0.5 but undocumented and untested) v0.5 - 2012-07-12 - Full parser rewrite using PEGjs - Reworked directory structure and added build script (can use uglify-js) - New Context object, see README for API (mainly useful in directive helpers) - Block helpers: parameters changed to account for new Context object - Block helpers: named parameters are no longer supported (no use case) - Block helpers: accept "direct" quoted string as parameter instead of context path - Block helpers: allow returning undefined instead of an empty document fragment - @each: added loop.length, loop.first and loop.last - @each: fixed a bug when array items were arrays v0.4.5 - 2012-05-29 - Fixed r.js build v0.4.4 - 2012-05-24 - Fixed issue when reporting syntax errors v0.4.3 - 2012-05-20 - Fixed issue with requirejs contexts, where IST was always using the default context when looking for @include-d templates v0.4.2 - 2012-04-26 - @each now treats all falsy values as an empty array - Enabled access to loop index and outer context in @each directives v0.4.1 - 2012-04-19 - Moved node creation outside compiler - Added new single-node creation helper; can also create multiple nodes at once. v0.4 - 2012-04-19 - Enabled template compilation with undefined block helpers (so they can be defined/registered just before rendering) - Added named parameters support to block helpers - Implemented @include directive v0.3 - 2012-04-15 - Added generic block helper support - Reimplemented directives (if/unless/with/each) using block helpers v0.2 - 2012-04-15 - Fixed not supporting double quotes inside text nodes - Fixed a typo in @if/@unless directives - Complete test coverage v0.1 - 2012-04-10 - Initial release