13 KiB
Release Notes
Development
v1.3.0 - January 1st, 2014
- #690 - Added support for subexpressions (@machty)
- #696 - Fix for reserved keyword "default" (@nateirwin)
- #692 - add line numbers to nodes when parsing (@fivetanley)
- #695 - Pull options out from param setup to allow easier extension (@blakeembrey)
- #694 - Make the environment reusable (@blakeembrey)
- #636 - Print line and column of errors (@sgronblo)
- Use literal for data lookup - c1a93d3
- Add stack handling sanity checks - cd885bf
- Fix stack id "leak" on replaceStack - ddfe457
- Fix incorrect stack pop when replacing literals - f4d337d
v1.2.1 - December 26th, 2013
- #684 - Allow any number of trailing characters for valid JavaScript variable (@blakeembrey)
- #686 - Falsy AMD module names in version 1.2.0 (@kpdecker)
v1.2.0 - December 23rd, 2013
- #675 - Cannot compile empty template for partial (@erwinw)
- #677 - Triple brace statements fail under IE (@hamzaCM)
- #655 - Loading Handlebars using bower (@niki4810)
- #657 - Fixes issue where cli compiles non handlebars templates (@chrishoage)
- #681 - Adds in-browser testing and Saucelabs CI (@kpdecker)
- #661 - Add @first and @index to #each object iteration (@cgp)
- #650 - Handlebars is MIT-licensed (@thomasboyt)
- #641 - Document ember testing process (@kpdecker)
- #662 - handlebars-source 1.1.2 is missing from RubyGems.
- #656 - Expose COMPILER_REVISION checks as a hook (@machty)
- #668 - Consider publishing handlebars-runtime as a separate module on npm (@dlmanning)
- #679 - Unable to override invokePartial (@mattbrailsford)
- #646 - Fix "\{{" immediately following "{{" (@dmarcotte)
- Allow extend to work with non-prototyped objects - eb53f2e
- Add JavascriptCompiler public API tests - 1a751b2
- Add AST test coverage for more complex paths - ddea5be
- Fix handling of boolean escape in MustacheNode - b4968bb
Compatibility notes:
@index
and@first
are now supported foreach
iteration on objectsHandlebars.VM.checkRevision
andHandlebars.JavaScriptCompiler.prototype.compilerInfo
now available to modify the version checking behavior.- Browserify users may link to the runtime library via
require('handlebars/runtime')
v1.1.2 - November 5th, 2013
-
#644 - Using precompiled templates (AMD mode) with handlebars.runtime 1.1.1 (@fddima)
-
Add simple binary utility tests - 96a45a4
-
Fix empty string compilation - eea708a
v1.1.1 - November 4th, 2013
-
#642 - handlebars 1.1.0 are broken with nodejs
-
Fix release notes link - 17ba258
v1.1.0 - November 3rd, 2013
-
#483 - Add first and last @ vars to each helper (@denniskuczynski)
-
#557 -
\\{{foo}}
escaping only works in some situations (@dmarcotte) -
#543 - publish passing master builds to s3 (@fivetanley)
-
#608 - Add
includeZero
flag toif
conditional -
#498 -
Handlebars.compile
fails on empty string although a single blank works fine -
#599 - lambda helpers only receive options if used with arguments
-
#592 - Optimize array and subprogram performance
-
#571 - uglify upgrade breaks compatibility with older versions of node
-
#587 - Partial inside partial breaks?
Compatibility notes:
- The project now includes separate artifacts for AMD, CommonJS, and global objects.
- AMD: Users may load the bundled
handlebars.amd.js
orhandlebars.runtime.amd.js
files or load individual modules directly. AMD users should also note that the handlebars object is exposed via thedefault
field on the imported object. This gist provides some discussion of possible compatibility shims. - CommonJS/Node: Node loading occurs as normal via
require
- Globals: The
handlebars.js
andhandlebars.runtime.js
files should behave in the same manner as the v1.0.12 / 1.0.0 release.
- AMD: Users may load the bundled
- Build artifacts have been removed from the repository. npm, components/handlebars.js, cdnjs, or the builds page should now be used as the source of built artifacts.
- Context-stored helpers are now always passed the
options
hash. Previously no-argument helpers did not have this argument.
v1.0.12 / 1.0.0 - May 31 2013
- #515 - Add node require extensions support (@jjclark1982)
- #517 - Fix amd precompiler output with directories (@blessenm)
- #433 - Add support for unicode ids
- #469 - Add support for
?
in ids - #534 - Protect from object prototype modifications
- #519 - Fix partials with . name (@jamesgorrie)
- #519 - Allow ID or strings in partial names
- #437 - Require matching brace counts in escaped expressions
- Merge passed partials and helpers with global namespace values
- Add support for complex ids in @data references
- Docs updates
Compatibility notes:
- The parser is now stricter on
{{{
, requiring that the end token be}}}
. Templates that do not follow this convention should add the additional brace value. - Code that relies on global the namespace being muted when custom helpers or partials are passed will need to explicitly pass an
undefined
value for any helpers that should not be available. - The compiler version has changed. Precompiled templates with 1.0.12 or higher must use the 1.0.0 or higher runtime.
v1.0.11 / 1.0.0-rc4 - May 13 2013
- #458 - Fix
./foo
syntax (@jpfiset) - #460 - Allow
:
in unescaped identifers (@jpfiset) - #471 - Create release notes (These!)
- #456 - Allow escaping of
\\
- #211 - Fix exception in
escapeExpression
- #375 - Escape unicode newlines
- #461 - Do not fail when compiling
""
- #302 - Fix sanity check in knownHelpersOnly mode
- #369 - Allow registration of multiple helpers and partial by passing definition object
- Add bower package declaration (@DevinClark)
- Add NuSpec package declaration (@MikeMayer)
- Handle empty context in
with
(@thejohnfreeman) - Support custom template extensions in CLI (@matteoagosti)
- Fix Rhino support (@broady)
- Include contexts in string mode (@leshill)
- Return precompiled scripts when compiling to AMD (@JamesMaroney)
- Docs updates (@iangreenleaf, @gilesbowkett, @utkarsh2012)
- Fix
toString
handling under IE and browserify (@tommydudebreaux) - Add program metadata
v1.0.10 - Node - Feb 27 2013
- #428 - Fix incorrect rendering of nested programs
- Fix exception message (@tricknotes)
- Added negative number literal support
- Concert library to single IIFE
- Add handlebars-source gemspec (@machty)
v1.0.9 - Node - Feb 15 2013
- Added
Handlebars.create
API in node module for sandboxed instances (@tommydudebreaux)
1.0.0-rc3 - Browser - Feb 14 2013
- Prevent use of
this
or..
in illogical place (@leshill) - Allow AST passing for
parse
/compile
/precompile
(@machty) - Optimize generated output by inlining statements where possible
- Check compiler version when evaluating templates
- Package browser dist in npm package
Prior Versions
When upgrading from the Handlebars 0.9 series, be aware that the signature for passing custom helpers or partials to templates has changed.
Instead of:
template(context, helpers, partials, [data])
Use:
template(context, {helpers: helpers, partials: partials, data: data})