- Make dictionary calls take precedence over attributes and .get (issue #16)
- Add else support in inverted if blocks (issue #17)
- Improve error parsing and reporting (issue #23)
- Port over a few more tests from handlebars.js
- Changed
pybars.__version__tuple topybars.__version_info__,pybars.__version__is now a string - Added
Compiler().precompile(source)that will return Python source code to allow for caching of compiled templates and easier debugging - Template code now checks to ensure it is being run with the same version of pybars that is was generated with
- The library now always throws
pybars.PybarsErroron errors - Added support for nested subexpressions
- Block helpers by themselves on lines no longer introduce any whitespace
- Added
tests.pytest runner and--debugflag - Moved tests out of
pybarsnamespace
- Fixed a bug with nested scopes and parent paths (
../)
- Expose
pybars.Scope()so helpers can properly scope data so../will work
- Added subexpression support
- Changed
Falseto printfalseandTrueto printtrue - Added support for
nullandundefinedliterals
- Added support for segment literals (
[foo bar]) - Fixed a bug related to newlines in the middle of tags
- Added support for single-quoted string literals
- Added the
lookuphelper - Added support for quoted partial names
- Added support for negative integers
- Added support for parent acccess to data elements (
@../) - Added support for keyword args being passed to partials
- Added explicit
@_parentdata access - Added
@rootdata support - Added
@index,@key,@firstand@lastdata access - Added support for object attributes within the
#eachhelper - Added Python 3 support