- Made compatible with XP 12 - @thekid
- Merged PR #30: Add possibility to inherit partials - @thekid
- Fixed
com.handlebarsjs.PartialNode
string representation to include closing braces (@thekid)
- Added support for literals enclosed in
[]
- @thekid - Optimized helpers invoked as part of a block - @thekid
- Fixed Call to undefined method errors for unclosed sections - @thekid
- Merged PR #29: Implement inverse blocks - @thekid
- Added PHP 8.4 to the test matrix - @thekid
- Optimized parsing
{{.}}
by not parsing following text - @thekid
- Merged PR #28: Allow registering functions in BlockHelper - @thekid
- Merged PR #27: Remove decorator support and optimize inline partials (@thekid)
- Fixed htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated (@thekid)
- Fixed implementation to not render helper output. This ensures compatibility with the official Handlebars implementation. See issue #26 (@thekid)
- Merged PR #25: Migrate to new testing library - @thekid
- Merged PR #23: Add support for literal segments, e.g. notations
like
array.[0].[item-class]
. (@thekid) - Merged PR #22: Give helpers precedence over input properties.
Heads up: This creates a BC break,
{{date}}
will now invoke the date helper instead of selecting the date property from the current context! (@thekid)
- Fixed
@first
and@last
inside nested each loops - @thekid
- Merged PR #21: Add support for "../." - @thekid
- Fixed "Creation of dynamic property" warnings in PHP 8.2 - @thekid
- Implemented xp-framework/rfc#341, dropping compatibility with XP 9 (@thekid)
- Merged PR #20: Make it possible to exchange the parser - @thekid
- Fixed partials with parameters being used inside
each
- @thekid
- Added support for repeating parent selector
../
to form lookups such as../../name
, see pull request #19 (@thekid) - Added support for accessing outer iteration via e.g.
../@index
or../@key
, see pull request #19 (@thekid) - Added support for
@root
, implemented feature request #18 - @thekid
- Fixed nested contexts inside
{{#each}}...{{/each}}
- @thekid
- Changed log helper to use
level="..."
argument to control log level, and its default to use loglevel info, aligning it with HandlebarsJS. See https://handlebarsjs.com/guide/builtin-helpers.html#log (@thekid) - Merged PR #17: Add support for
else if
as syntactic sugar for nested if / else cascades (@thekid) - Merged PR #16: Add support for
each
with block params. This pull request also includes a more efficient iteration algorithm as a side-effect. (@thekid) - Made compatible with
xp-forge/mustache
version 7.0, which emits single quotes as'
. (@thekid)
- Added support for
with ... as |alias|
, implementing feature request #15. (@thekid)
- Fixed
{{>partial}}
(without a space before the partial name) raising a runtime error (@thekid)
- Merged PR #14: Inline MustacheEngine, further reducing indirections and dependencies (@thekid)
- Fixed
com.handlebarsjs.BlockNode
string cast not yielding options correctly separated from node name (@thekid)
- Merged PR #13: Add support for escaping tags - either by prefixing a
backslash (
\{{escaped}}
) or by using quadruple mustaches. See https://handlebarsjs.com/guide/expressions.html#escaping-handlebars-expressions (@thekid)
- Implemented xp-framework/rfc#334: Drop PHP 5.6:
. Heads up: Minimum required PHP version now is PHP 7.0.0
. Rewrote code base, grouping use statements
. Converted
newinstance
to anonymous classes . Rewroteisset(X) ? X : default
toX ?? default
(@thekid)
- Implemented RFC #335: Remove deprecated key/value pair annotation syntax (@thekid)
- Made compatible with XP 10 - @thekid
- Made compatible with PHP 7.4 - refrain using
{}
for string offsets (@thekid)
- Fix issue #12: Fix hash options passed to partials - @thekid
- Added support for generators in
each
, where they are treated like hashes, producing@key
and@first
selectors for each yielded value. Hoewever, note generators can only be iterated once due to the nature of their implementation! (@thekid) - Added support for generators in
if
andunless
. Iterators yielding at least one element are considered truthy. (@thekid)
- Made compatible with
xp-framework/logging
version 9.0.0 - @thekid
- Fixed multiline tokens creating hundreds of zero option values - @thekid
- Fixed issue #11: Call to a member function name() on null when no start tag is present, but a close tag is encountered (@thekid)
- Merged pull request #10: Add HandleBarsEngine::write() - @thekid
- Merged pull request #9: Partial blocks and inline partials - @thekid
- Fixed issue #8: Call to undefined method
VariableNode::lookup()
when using variables for partial context (@thekid)
- Fixed issue #6: Dependencies - @thekid
- Added forward compatibility with XP 9.0.0 - @thekid
- Refactored code to use
typeof()
instead ofxp::typeOf()
, see xp-framework/rfc#323 (@thekid)
- Fixed lang.Error (Argument 3 passed to
ListContext::__construct()
must be an instance of com\github\mustache\Context, none given). (@thekid)
- Heads up: Dropped PHP 5.5 support! - @thekid
- Added forward compatibility with XP 8.0.0 - @thekid
- Fixed issue #4: Missing tests for literals - by adding tests and fixing numbers, null and empty strings in the course of doing so (@thekid)
- Fixed issue #3: Error with incorrect end tag - @thekid
- Implemented partials contexts and parameters. These can be used to create shared partials and to expose data from other contexts. (@thekid)
- Implemented dynamic partials (@thekid)
- Added support for the
lookup
builtin added in HandleBars.js 2.0.0 See https://github.com/wycats/handlebars.js/commit/306feb4 (@thekid) - Fixed subexpressions lookup for current nodeset (
.
). (@thekid) - Made helper signature for subexpressions consistent with signatures
for nodes:
function(Node $items, Context $context, $options)
(@thekid)
- Added version compatibility with XP 7 - @thekid
- Fix code to use
nameof()
instead of the deprecatedgetClassName()
method from lang.Generic. See xp-framework/core#120 (@thekid)
- Declared dependency on xp-framework/logging, which has since been extracted from XP core. (@thekid)
- Heads up: Changed minimum XP version to XP 6.5.0, and with it the minimum PHP version to PHP 5.5. (@thekid)
- Dropped dependency on
com.handlebarsjs.LogCategoryExtensions
which was necessary as long as xp-framework/core#4 hadn't been merged (@thekid)
- Rewrote codebase to use short array syntax - @thekid
- Added forward compatibility with XP 6.4.0 (@thekid)
- Added preliminary PHP 7 support (alpha2 and beta1) (@thekid)
- Verified support for PHP7 when using XP 6.3.1 (@thekid)
- Renamed the package-internal String class to
com.handlebarsjs.Quoted
. See https://wiki.php.net/rfc/reserve_more_types_in_php_7 (@thekid)
- Changed dependency to use XP 6.0 (instead of dev-master) - @thekid
- Fixed logging to a
util.log.LogCategory
with only one argument, e.g.{{log 'Hello World'}}
. Use debug by by default. (@thekid)
- First public release - @thekid