All Notable changes to php-handlebars will be documented in this file.
Updates should follow the Keep a CHANGELOG principles.
- PHP 8.1 and 8.2 compat
- Target handlebars.js v4.7.7
- Target handlebars.c v1.0.0
- Objects can now be iterated with
#each known_helpersis now passed properly to the compiler inrender
0.9.2 - 2020-12-06
- Target handlebars.c v0.7.3
- Fixes for PHP 8
0.9.1 - 2020-04-18
- Test failure on PHP 8 (@remicollet)
- Test failure on 32bit
- The compiled template produced by
Handlebars\VM::compile()should now be deterministic, if using handlebars.c >= 0.7.1. - Target handlebars.c v0.7.1. The extension is fully backwards compatible to v0.6.4.
0.9.0 - 2020-04-17
- Preliminary PHP 8 support
- Support for precompiling templates. New methods
Handlebars\VM::compile()andHandlebars\VM::renderFromBinaryString(). - Mustache-style lambda support behind a new compiler flag
mustacheStyleLambdas. Please note that due to limitations in the parser, they will make (functionally compatible) transformations to the template passed to the lambda and may not work with some handlebars syntax.
- Drop max PHP version constraint from PECL
- Selective helper options omission - If the argument is a closure: we will omit passing the options
object if it will go into a slot with an incompatible type. If the argument is a callable object: we will append the
options if the appended parameter will go into a declared parameter with either no type signature or explicitly
typed with
Handlebars\Options. This will allow some standard helpers to have typed default arguments while still allowing access to the Options object for other helpers. Seetests/helper-with-options.phptfor details. Handlebars\ParseExceptionis deprecated and now an alias ofHandlebars\CompileException- Improved typehints
- Target handlebars.c v0.7.0. The extension is fully backwards compatible with v0.6.4.
- PHP 5 support, require at least PHP 7.2
0.8.3 - 2018-11-11
- Allow installation on PHP 7.3
- Class aliases
Handlebars\Registry\RegistryforHandlebars\RegistryandHandlebars\Registry\DefaultRegistryforHandlebars\DefaultRegistry
0.8.2 - 2018-02-22
- Mustache delimiter preprocessing support behind the compat flag
- Property lookup now generates a closure from a method if the value of the property is null or does not exist to emulate the behaviour of javascript where functions and properties share a symbol table - only supported for PHP 7 or greater
- Windows support
- Changed target handlebars.c version to 0.6.4
0.8.1 - 2016-11-08
- SIGABORT on invalid helper type
- Segfault during callable object call, caused by uninitialized value from 0d38317
0.8.0 - 2016-11-07
strictandassumeObjectsflag supporthandlebars_cache_reset()to completely empty the cache
- Target handlebars.c version to 0.6.0
0.7.4 - 2016-09-21
- Compilation fails on PHP 7.1 (#35)
0.7.3 - 2016-05-05
- Changed the license from
LGPLv3toSimplified BSD License - Changed target handlebars.c version to 0.5.1
- Changed target php-psr version to 0.2.3
0.7.2 - 2016-04-24
- Link failure with inline attribute on
php_handlebars_is_int_arrayandphp_handlebars_is_callableusing GCC 5.3 on Ubuntu 16.04 LTS
0.7.1 - 2016-04-15
- Segfault in phpinfo when cache is disabled
0.7.0 - 2016-04-13
- New handlebars VM