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
set
tag. gh-499, gh-502
1.4.1 / 2014-07-03
- Fixed
macro
argument 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
fs
loader should takecwd
as 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
null
should yield empty string when resolving variable. gh-408 - Added Escape character for
date
filter argument. gh-427, gh-432 - Added Make
if
andelseif
throw a better error message when a tag body is omitted. gh-425 - Fixed don't throw errors on accessing property of
null
object. gh-471 - Fixed
loop
variables work correctly in nested loops. gh-433 - Fixed Some IE8 compatibility (require es5). gh-428
1.3.2 / 2014-01-27
- Fixed
for
loop variables on objects. gh-409 - Fixed Misc. IE8 fixes. gh-410
- Fixed
include
files 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
set
tag to set keys on objects with bracket and dot-notation. gh-388 - Added
groupBy
filter from swig-extras. gh-383 - Fixed
swig.run
filepath
arg 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
date
filterN
option 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
variable
blocks are no longer auto-escaped. gh-309 - Fixed Allow nested macros to work when importing. gh-310
- Fixed swig.setDefaultTZOffset. gh-311
- Changed
set
tag assigns to the local context, allowing setting withinfor
loops, 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
include
tag now acceptsonly
(and is preferred, if possible). gh-240 - Added
swig.version
and-v
to cli - Changed Deprecated
raw
filter. Usesafe
. - Changed Allow
import
andmacro
tags to be outside of blocks. gh-299 - Changed Don't escape
macro
output. gh-297 - Changed (Custom) Filters can be marked as
safe
to 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
include
paths on windows. gh-295
1.0.0-pre3 / 2013-08-20
- Changed Allow tags at block-level if specified. gh-289
- Fixed
swig.compileFile
runs 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
compileFile
andrenderFile
operations. 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.init
method. - 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.compileFile
returns a function that renders templates, not an object - Changed Express-compatible using
swig.renderFile
. - Changed
extends
,import
, andinclude
now reference files with relative paths from the current file (info). - Changed
extends
may no longer accept variables (info). - Changed
else if
tag is nowelseif
orelif
. - Changed Removed
only
argument 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
spaceless
tag 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
parentBlock
argument 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
extends
tag parameters - Fixed Compile errors in Android and other random browsers
- Fixed Misc documentation
- Fixed Leaking __keys variable into global scope
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 missing
tokens to include tag - Changed include tag
with context
to only work ifcontext
is an object - Changed
autoescape
tag controls no longer 'yes' or 'no'. Usetrue
andfalse
- Changed parser is now passed into tags as an argument
- Changed don't require passing context object when rendering template
- Fixed dateformats
N
andw
gh-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
extensions
for 3rd party extension access in custom tags gh-44 - Added Whitespace Control gh-46
- Changed The
empty
tag infor
loops is nowelse
gh-49 - Changed
forloop
vars toloop
closes gh-47 - Fixed
include
tag'swith
andonly
args documentation gh-50
0.9.4 / 2012-02-07
- Fixed
parent
tag would not render when called within tags gh-41 - Fixed Documentation for forloop.index & forloop.key gh-42
- Fixed Errors when using
include
inside base templateblock
tags gh-43 - Fixed Allow
set
tag to set values to numbers gh-45 - Fixed
set
tag 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
date
filter gh-27. - Added New
raw
tag. - 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
add
when 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
filter
tag. - Added Node.js compatible 0.4.1 - 0.6.X
- Added Allow setting cache globally or per-template.
- Changed Removed
swig.render
andswig.fromString
. - Changed
swig.fromFile
is 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 browser
will build Swig for use in major browsers. gh-3 - Changed Allow overriding
escape
filters. 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
raw
filter to force variable to not be escaped. - Added
escape
ande
filters to force variable to be escaped. - Added Allow filters to accept any JS objects, arrays, strings, and context variables.
- Changed
if
,else
, andelse if
tags support all JS-valid if-syntaxes + extra operators. - Fixed
default
filter 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
include
tags 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
locals
for express support. - Changed Increased cache lookup speed by removing crypto dependency.
- Fixed
length
filter 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
if
blocks. - Added Support for
forloop.first
infor
blocks. - Added Support for
forloop.last
infor
blocks. - Added Support for
forloop.key
infor
blocks. - Added Support for
{% empty %}
infor
blocks.
0.2.2 / 2011-09-16
- Added Support for
else if ...
withinif
blocks.
0.2.1 / 2011-09-13
- Added Support for
else
withinif
blocks.
0.2.0 / 2011-09-11
- Fixed
if
statements allow filters applied to operands. - Fixed
for
loops allow filters applied to the object that will be iterated over.
0.1.9 / 2011-09-11
- Added
allowErrors
flag 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
, andreplace
filters. - 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
, anduniq
filters - 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