This PR was merged into the 1.x branch.
Discussion
----------
[Doc] Fixed documentation about 'Definition vs Runtime'
Commits
-------
c0b5eb9f [Doc] Fixed documentation about 'Definition vs Runtime'
This PR was merged into the 1.x branch.
Discussion
----------
[1.x] Allow using namespaced aliases as extension names
Commits
-------
c9a2f3db [1.x] Allow using namespaced aliases as extension names
This PR was squashed before being merged into the 1.x branch (closes#2484).
Discussion
----------
Add namespaced aliases
Commits
-------
5420a5e3 Add the aliases
71af32b3 Add namespaced aliases
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes#2473).
Discussion
----------
Update number_format.rst
Added warning when trying to format negative numbers at literal
Commits
-------
40fdb9e3 Update number_format.rst
This PR was squashed before being merged into the 1.x branch (closes#2478).
Discussion
----------
Drop support for HHVM
Commits
-------
b6a4895e fixed tests for PHP 7.2
6ff8d6f4 dropped support for HHVM
This PR was merged into the 1.x branch.
Discussion
----------
added PHP 7.2 to the test matrix
Commits
-------
0768f10b added PHP 7.2 to the test matrix
This PR was merged into the 1.x branch.
Discussion
----------
Fix code for older versions of PHP
Commits
-------
75f2231a fixed code for older versions of PHP
This PR was merged into the 1.x branch.
Discussion
----------
Support PHPUnit 6 for testing extensions
When testing a Twig extension via the provided test cases [according to the documentation](https://twig.sensiolabs.org/doc/2.x/advanced.html#testing-an-extension), PHPUnit 6 is not supported.
I think we should force people who haven't upgraded to upgrade to PHPUnit 6 instead of limiting the ones who did.
Also, Twig 2.x runs only on PHP 7. People using Twig 2.x would most likely also test their code on PHP 7. Even though PHPUnit 5 supports PHP 7, I think most people who have updated PHP could update or would have already updated PHPUnit.
Commits
-------
8ebaf8e6 Support PHPUnit 6 for testing extensions
This PR was merged into the 1.x branch.
Discussion
----------
Prepare for php 7.2
* allow `|length` of `null`
* allow `|length` of objects not implementing `\Countable`
*To get no errors when running with PHP 7.2 You need to use phpunit
^6.1, otherwise the `each` function, used by phpunit, triggers errors.
You can do so by running phpunit like:
`SYMFONY_PHPUNIT_VERSION=6.1 phpnightly vendor/bin/simple-phpunit`*
Commits
-------
d2b7a01a Prepare for php 7.2
This PR was merged into the 1.x branch.
Discussion
----------
Fix generating template name in createTemplate() method
Before this change the name for the template was generated randomly based on uniqid(mt_rand()). It generated new file whenever the template was loaded as string using the `template_from_string` function even the template was the same. The generated file wasn't used anymore.
Now the cache file is generated by the content of template so using the `template_from_string` is much faster and doesn't pollute the cache folder with unneeded files.
Commits
-------
a7c8b082 Fix generating template name in createTemplate() method
Before this change the name for the template was generated randomly based on uniqid(mt_rand()). It generated new file whenever the template was loaded as string using the `template_from_string` even the template was the same. The generated file wasn't used anymore.
Now the cache file is generated by the content of template so using the `template_from_string` is faster and doesn't pollute the cache folder with unneeded files.
* allow `|length` of `null`
* allow `|length` of objects not implementing `\Countable`
* To get no errors when running with PHP 7.2 You need to use phpunit
^6.1, otherwise the `each` function, used by phpunit, triggers errors.
You can do so by running phpunit like:
`SYMFONY_PHPUNIT_VERSION=6.1 phpnightly vendor/bin/simple-phpunit` *
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes#2461).
Discussion
----------
Fix typo in `advanced.rst` file
Commits
-------
a264fc62 Fix typo in `advanced.rst` file
This PR was merged into the 1.x branch.
Discussion
----------
fixed edge case in the method cache for Twig attributes
closes#2447
Commits
-------
413be416 fixed edge case in the method cache for Twig attributes
This PR was submitted for the master branch but it was merged into the 1.x branch instead (closes#2448).
Discussion
----------
Wrong stdClass class name generates warning
Commits
-------
38987c93 Wrong stdClass class name generates warning
This PR was merged into the 1.x branch.
Discussion
----------
Fix#2431
See title
Commits
-------
a5c2da6d test if is_object before calling method_exists, fixes#2431
This PR was squashed before being merged into the 1.x branch (closes#2434).
Discussion
----------
Autoescape test addition; collision fix in Array Loader.
This PR makes two changes. It was created while testing a third issue that was discovered to be fixed in the latest version.
## Added JS to Autoescape: name test
This adds "index.js.html" to the autoescape:name test, proving the functionality of the JS escape system and the name guessing strategy.
## Fixed collision in Array Loader
While trying to run the above test, it was discovered that the Array Loader uses the content of the template file as the "key" for determining which compiled template to load.
As the above test uses identical content for both HTML and JS templates this led to the compiled HTML template always being loaded.
This change prepends the content with the filename, which vaguely follows the same mechanism as the "options" (which are appended after `getCacheKey` is called).
**This change might be a backwards-incompatible change** depending on your interpretation of how `Loader/Array` is intended to be used.
The class itself states:
> This loader should only be used for unit testing.
The assumption is it's OK for this to occur.
Test cases have been updated to take this key change into account, and an additional test has been added to confirm `Loader/Array` specifically has the capability to resolve two files with the same content to different keys.
Commits
-------
da82b41a Autoescape test addition; collision fix in Array Loader.