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_helpers
is 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.phpt
for details. Handlebars\ParseException
is 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\Registry
forHandlebars\Registry
andHandlebars\Registry\DefaultRegistry
forHandlebars\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
strict
andassumeObjects
flag 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
LGPLv3
toSimplified 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_array
andphp_handlebars_is_callable
using 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