HISTORY.md
27.9 KB
1.4.2 / 2014-08-04
- Added Report JS parse errors with template filenames. gh-492
-
Fixed Ensure block-level tags (
set, etc) are parsed in correct order. gh-495 - Fixed Ensure import tag uses current Swig instance's loader. gh-421, gh-503
- Fixed Allow disabling cache on compile/render functions directly. gh-423
- Fixed Ensure compilation does not leak global variables. gh-496
- Fixed Fix for-loops to run on strings. gh-478, gh-479
-
Fixed Allow macro output to be assigned using
settag. gh-499, gh-502
1.4.1 / 2014-07-03
-
Fixed
macroargument names colliding with context variable names. gh-457 - Fixed filter chaining within tags. gh-441
1.4.0 / 2014-07-03
-
Changed Allow variable tokens to start with
$. gh-455 -
Changed
fsloader should takecwdas default base path. gh-419 - Changed handle errors which occur at the time of rendering. gh-417
-
Changed default options in bin (
varControls,tagControls,cmtControls). gh-415 -
Changed
nullshould yield empty string when resolving variable. gh-408 -
Added Escape character for
datefilter argument. gh-427, gh-432 -
Added Make
ifandelseifthrow a better error message when a tag body is omitted. gh-425 -
Fixed don't throw errors on accessing property of
nullobject. gh-471 -
Fixed
loopvariables work correctly in nested loops. gh-433 - Fixed Some IE8 compatibility (require es5). gh-428
1.3.2 / 2014-01-27
-
Fixed
forloop variables on objects. gh-409 - Fixed Misc. IE8 fixes. gh-410
-
Fixed
includefiles when loaders have base paths. gh-407
1.3.0 / 2014-01-20
- Changed Removed official node v0.8.x support
- Added Custom template loader support. gh-377, gh-384, gh-382
- Added Ability to set root path using template loaders. gh-382, gh-293
- Added CLI now accepts custom filter and tag arguments. gh-391
-
Added Allow
settag to set keys on objects with bracket and dot-notation. gh-388 -
Added
groupByfilter from swig-extras. gh-383 -
Fixed
swig.runfilepatharg is always optional. gh-402 - Fixed Filters on non-empty functions apply correctly. gh-397
- Fixed Filters applied to functions w/ & w/o dotkeys. gh-365
-
Fixed
datefilterNoption returns correct number. gh-375 - Fixed Ensure getting parent template checks cache if on. gh-378
1.2.2 / 2013-12-02
- Fixed CTX var output in imported macros. gh-363
1.2.1 / 2013-12-02
- Fixed Scoping for Express. gh-363
1.2.0 / 2013-12-01
- Added Filepath parameter can be passed to swig.run to allow extends in-browser. gh-349
- Changed Use local-context first for var lookups. gh-344, gh-347
- Changed Allow DOTKEY after functions/objects/filters. gh-355
- Changed Context of for-tags carries into includes. gh-356
- Changed When a callback is passed into compileFile, catch all errors thrown by compile and pass the error to callback. gh-340
- Fixed Instances of Swig retain their options properly. gh-351
- Fixed Fix misc documentation issues. gh-359, gh-358
1.1.0 / 2013-10-02
- Added Allow logic in default parsing. gh-326
- Fixed Error when attempting to wrap spaceless tag around macro/function output. gh-336
- Fixed Don't overwrite keys on the locals object. gh-337
1.0.0 / 2013-09-23
- Fixed Allow parent and other tags to work correctly nested in other tags. gh-331
- Fixed Prevent lexer from matching partial logic/words in variables. gh-330
Migrating from v0.x.x? View the Migration Guide
1.0.0-rc3 / 2013-09-14
- Fixed Allow bools in token parser by default. gh-321
- Fixed Allow variables as object values. gh-323
- Fixed Don't partially match logic words. gh-322
- Fixed Parent tag in parent's block with no local block edge case. gh-316
1.0.0-rc2 / 2013-09-06
-
Changed Function output from
variableblocks are no longer auto-escaped. gh-309 - Fixed Allow nested macros to work when importing. gh-310
- Fixed swig.setDefaultTZOffset. gh-311
-
Changed
settag assigns to the local context, allowing setting withinforloops, etc. gh-303 - Fixed Standardize variable undefined checking. gh-301
- Fixed Remove multiple redefinition of block-level tags in compiled templates.
- Fixed Performance issue with compile if no default locals are defined.
1.0.0-rc1 / 2013-08-28
-
Added
includetag now acceptsonly(and is preferred, if possible). gh-240 -
Added
swig.versionand-vto cli -
Changed Deprecated
rawfilter. Usesafe. -
Changed Allow
importandmacrotags to be outside of blocks. gh-299 -
Changed Don't escape
macrooutput. gh-297 -
Changed (Custom) Filters can be marked as
safeto disable auto-escaping. gh-294 -
Fixed
{% for k,v ... %}tag syntax assigned variables backwards. - Fixed Filters being applied to empty functions throwing errors. gh-296
-
Fixed
includepaths on windows. gh-295
1.0.0-pre3 / 2013-08-20
- Changed Allow tags at block-level if specified. gh-289
-
Fixed
swig.compileFileruns callback template is found in cache. gh-291 - Fixed Accidental modification of Swig Options Object. gh-287
- Fixed Preserve forward-slashes in text chunks. gh-285
1.0.0-pre2 / 2013-08-18
- Changed Binary: Allow --method-name to be a shortcut for --wrap-start var setting.
-
Changed Make reverse filter an alias for
sort(true). -
Added Allow asyncronous
compileFileandrenderFileoperations. gh-283 -
Added Filter:
sort. - Added Allow {% end[tag] tokens... %}. gh-278
- Added Built source map for minified browser source.
- Added Contextual support for object method calls. gh-275
-
Added
parser.on('start'|'end'...options. gh-274 - Added Allow object prototypal inheritance. gh-273
- Fixed Prevent circular extends. gh-282
- Fixed Throw an error if reserved word is used as var. gh-276
- Fixed Add filename to errors if possible. gh-280
- Fixed Filters work over arrays/objects if possible. gh-259
- Fixed Allow {% parent %} to work in middle parent templates. gh-277
- Fixed Allow newlines in tags/vars/comments. gh-272
1.0.0-pre1 / 2013-08-14
- Changed Completely rewritting parsing engine supports many more syntaxes and is much easier to extend.
-
Changed There is no more
swig.initmethod. -
Changed Custom filters can be added using
swig.addFilter -
Changed Custom tags can be added using
swig.addTag - Changed Writing custom tags uses an entirely new, simplified format
- Changed Removed the underscore/lodash dependency
- Changed Template parsing has been completely rewritten
-
Changed
swig.compileFilereturns a function that renders templates, not an object -
Changed Express-compatible using
swig.renderFile. -
Changed
extends,import, andincludenow reference files with relative paths from the current file (info). -
Changed
extendsmay no longer accept variables (info). -
Changed
else iftag is nowelseiforelif. -
Changed Removed
onlyargument frominclude. -
Changed allow
_,$to start var names in templates. - Changed Documentation is auto-generated from jsdoc comments in-files.
-
Added Ability to set custom var/tag/comment controls (
{{,}}, etc, can be customized). - Added Variable/string concatenation gh-135.
-
Added Binary application for
compile,run, andrender(Lets you pre-compile templates into JS functions for client-side delivery). - Fixed Lots.
0.14.0 / 2013-06-08
- Added Allow executing functions from within templates gh-182
-
Added New
spacelesstag gh-193 -
Fixed bug when attempting to loop over nested vars with
for. gh-232
0.13.5 / 2013-01-29
- Fixed date filter output for 'O' when time-zone offset is negative gh-185
0.13.4 / 2012-12-19
- Fixed Runaway loop on missing template gh-162 gh-165
- Fixed Allow variables in if tag conditionals to have filters with arguments gh-167
0.13.3 / 2012-12-07
0.13.2 / 2012-10-28
- Changed Allow variables, filters, arguments to span lines gh-122
- Changed Throw Errors when using undefined filters gh-115
- Fixed compiling files from absolute paths gh-103
- Fixed Prevent global variables from being used before context variables gh-117
0.13.1 / 2012-10-28
- Fixed Macros should be preserved when using inheritence gh-132 (nsaun)
- Fixed bug in parent tag logic gh-130
- Fixed Error messaging when parent block failed compilation gh-129 (nsaun)
0.13.0 / 2012-10-20
- Added Support for nested blocks! gh-64 gh-129 (nsaun)
-
Changed Removed the
parentBlockargument from tags. - Fixed Object keys may now contain dots
0.12.1 / 2012-10-05
- Added More information on some parser errors
- Added indent parameter to json_encode filter to support pretty-printing.
-
Added support for variables as
extendstag parameters - Fixed Compile errors in Android and other random browsers
- Fixed Misc documentation
- Fixed Leaking __keys variable into global scope * Documentation
0.12.0 / 2012-07-26
- Fixed Misc documenation
- Changed Support Node.js >=v0.6
0.11.2 / 2012-04-10
0.11.1 / 2012-04-01
- Fixed Duplicate (string) tokens were being removed when extending a base template. gh-67
0.11.0 / 2012-02-27
- Added Support for Windows style paths gh-57
-
Added
ignore missingtokens to include tag -
Changed include tag
with contextto only work ifcontextis an object -
Changed
autoescapetag controls no longer 'yes' or 'no'. Usetrueandfalse - Changed parser is now passed into tags as an argument
- Changed don't require passing context object when rendering template
-
Fixed dateformats
Nandwgh-59 - Fixed number changing to string after add filter or set from variable gh-53 gh-58
- Fixed speed decrease caused by loop.cycle fixed
- Fixed Ensure set tag bubbles through extends and blocks
0.10.0 / 2012-02-13
- Added loop.index0, loop.revindex, loop.revindex0, and loop.cycle gh-48
-
Added init config
extensionsfor 3rd party extension access in custom tags gh-44 - Added Whitespace Control gh-46
-
Changed The
emptytag inforloops is nowelsegh-49 -
Changed
forloopvars toloopcloses gh-47 -
Fixed
includetag'swithandonlyargs documentation gh-50
0.9.4 / 2012-02-07
-
Fixed
parenttag would not render when called within tags gh-41 - Fixed Documentation for forloop.index & forloop.key gh-42
-
Fixed Errors when using
includeinside base templateblocktags gh-43 -
Fixed Allow
settag to set values to numbers gh-45 -
Fixed
settag for booleans using too many checks
0.9.3 / 2012-01-28
- Fixed Allow object and array values to be accessed via context variables gh-40
0.9.2 / 2012-01-23
- Fixed Correctly reset autoescape after closing an autoescape tag. gh-39
0.9.1 / 2012-01-18
- Fixed Allow multi-line tags and comments. gh-30
0.9.0 / 2011-12-30
- Added DateZ license to browser header, use link to underscore license.
-
Added Timezone support in
datefilter gh-27. -
Added New
rawtag. - Changed Swig is no longer node 0.4 compatible.
-
Fixed Filter
date('f')for 10am times. -
Fixed Filter
date('r')returns in UTC date format. This is more correct tospec RFC2822, per php.net/date. -
Fixed Filter
addwhen adding numbers/numbers+strings together. - Fixed Tests for error messages that changed in node >0.6.0.
0.8.0 / 2011-11-04
-
Added date filter formats
z,W,t,L,o,B, andc. -
Added New
filtertag. - Added Node.js compatible 0.4.1 - 0.6.X
- Added Allow setting cache globally or per-template.
-
Changed Removed
swig.renderandswig.fromString. -
Changed
swig.fromFileis nowswig.compileFile. -
Changed
swig.init()will clear template cache. -
Changed
swig.init()is now optional for browser mode with no custom settings. - Changed Development dependencies are be more lenient.
- Fixed Parser will properly preserver '\' escaping. gh-24
- Fixed Rewrote tag argument parsing for proper space handling.
- Fixed Rewrote filter argument parsing. gh-23
-
Fixed Allow pipe
|characters in filter arguments. gh-22
0.7.0 / 2011-10-05
-
Added
make browserwill build Swig for use in major browsers. gh-3 -
Changed Allow overriding
escapefilters. gh-19
0.6.1 / 2011-10-02
- Fixed chaining filters when the first takes a variable as an argument will not crash parsing.
0.6.0 / 2011-10-02
-
Added
{% import foo as bar %}tag for importing macros. - Added Allow escaping for js in escape filter and autoescape tag.
-
Added
rawfilter to force variable to not be escaped. -
Added
escapeandefilters to force variable to be escaped. - Added Allow filters to accept any JS objects, arrays, strings, and context variables.
-
Changed
if,else, andelse iftags support all JS-valid if-syntaxes + extra operators. -
Fixed
defaultfilter for undefined variables. closes gh-18
0.5.0 / 2011-09-27
- Added More error messaging in some edge cases.
- Added Better error messaging including context and line numbers.
- Changed Improved compile and render speeds.
-
Changed
includetags accept context variables instead of just strings. - Changed Templates can be compiled and rendered from an absolute path outside of the template root.
- Fixed Will not double escape output.
0.4.0 / 2011-09-24
- Added Macro support docs
-
Changed Removed requirement to manually specify
localsfor express support. - Changed Increased cache lookup speed by removing crypto dependency.
-
Fixed
lengthfilter returns length of objects (number of keys). - Fixed Filters return empty string unless they can apply to the given object.
- Fixed Filters will attempt to apply to all values in an object or array.
0.3.0 / 2011-09-17
-
Added Support for
{% set ... %}tag.
0.2.3 / 2011-09-16
-
Fixed Critical fix for negations in
ifblocks. -
Added Support for
forloop.firstinforblocks. -
Added Support for
forloop.lastinforblocks. -
Added Support for
forloop.keyinforblocks. -
Added Support for
{% empty %}inforblocks.
0.2.2 / 2011-09-16
-
Added Support for
else if ...withinifblocks.
0.2.1 / 2011-09-13
-
Added Support for
elsewithinifblocks.
0.2.0 / 2011-09-11
-
Fixed
ifstatements allow filters applied to operands. -
Fixed
forloops allow filters applied to the object that will be iterated over.
0.1.9 / 2011-09-11
-
Added
allowErrorsflag will allow errors to be thrown and bubbled up. Default to catch errors. - Changed Internal speed improvements.
0.1.8 / 2011-09-10
-
Added
add,addslashes, andreplacefilters. -
Changed All tags that 'end' must use named ends like
endblock,endif,endfor, etc...
0.1.7 / 2011-09-05
- Added this History document
- Fixed date filter to zero-pad correctly during september when using 'm' format
0.1.6 / 2011-09-04
- Fixed Template inheritance blocks messing up.
0.1.5 / 2011-09-04
-
Added
first,last, anduniqfilters - Added ability to specify custom filters
- Added ability to specify custom tags
- Changed slots removed -- implement using custom tags if desired
- Fixed ability to do either dot- or bracket-notation or mixed in variables
- Fixed internal parsing helpers
0.1.3 / 2011-09-01
- Fixed filter parser to work correctly with single-quoted params in filters.
0.1.2 / 2011-09-01
- Initial swig publish after forking from node-t