- Simplify code for parsing
else if- @thekid - Added PHP 8.6 to test matrix - @thekid
- Fixed E_DEPRECATED: Using null as an array offset is deprecated, use an empty string instead (PHP 8.5+) (@thekid)
- Heads up: Dropped support for PHP < 7.4, see xp-framework/rfc#343 (@thekid)
- Added PHP 8.5 to test matrix - @thekid
- Refactored template loading to no longer use deprecated functionality
from the
xp-forge/mustachelibrary, making it compatible with its newest major release (@thekid)
- Merged PR #31: Make
withTemplates()accept folder references and in- memory declarations (@thekid)
- Made compatible with XP 12 - @thekid
- Merged PR #30: Add possibility to inherit partials - @thekid
- Fixed
com.handlebarsjs.PartialNodestring 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
@firstand@lastinside 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.
../@indexor../@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 ifas syntactic sugar for nested if / else cascades (@thekid) - Merged PR #16: Add support for
eachwith block params. This pull request also includes a more efficient iteration algorithm as a side-effect. (@thekid) - Made compatible with
xp-forge/mustacheversion 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.BlockNodestring 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
newinstanceto anonymous classes . Rewroteisset(X) ? X : defaulttoX ?? 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@keyand@firstselectors 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
ifandunless. Iterators yielding at least one element are considered truthy. (@thekid)
- Made compatible with
xp-framework/loggingversion 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
lookupbuiltin 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.LogCategoryExtensionswhich 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.LogCategorywith only one argument, e.g.{{log 'Hello World'}}. Use debug by by default. (@thekid)
- First public release - @thekid