This PR was merged into the 2.x branch.
Discussion
----------
Enable cache invalidation when auto_reload=true
Related to https://github.com/symfony/symfony-docs/pull/16671
Enabling `auto_reload` is not effective when `opcache.validate_timestamps=0`.
Commits
-------
ef8ae9cb Enable bytecode invalidation with auto_reload
This PR was submitted for the 3.x branch but it was merged into the 2.x branch instead.
Discussion
----------
Fix docs about the deprecated tag
Closes#3594
Commits
-------
17142af9 Fix docs about the deprecated tag
This PR was merged into the 3.x branch.
Discussion
----------
add support for the class constant on objects
This is especially useful for Symfony Turbo:
Before:
```twig
<div id="books" {{ turbo_stream_listen('App\\Entity\\Book') }}></div>
```
After:
```twig
<div id="books" {{ turbo_stream_listen(constant('class', book) }}></div>
```
Replace https://github.com/php/php-src/pull/6763
Commits
-------
0d6bd458 add support for the class constant on objects
This PR was submitted for the 3.x branch but it was merged into the 2.x branch instead.
Discussion
----------
New info: Documents / filters / format_datetime: added info and examp…
…le of using argument `timezone`
issues 3477:
https://github.com/twigphp/Twig/issues/3477
Commits
-------
16d06cc4 New info: Documents / filters / format_datetime: added info and example of using argument `timezone`
This PR was submitted for the 3.x branch but it was merged into the 2.x branch instead.
Discussion
----------
Added token type and value to error message
Added the given token type and value to the error message in case that the token after '.' is neither a name nor a number.
I think it helps a lot to have more expressive verbose error messages (specially in this case with the dot `.` operator, since it's the concatenation operator in PHP and developers may mistakenly use it instead of tilde `~` operator which is the concatenation operator in Twig.
I also think that it's better to extract the error message generating script out of `TokenStream::expect` (the code I included at the end of this message) and make it a new method with more general flexibility to be able to use the same method with all these scenarios but I'm not sure if this level of abstraction meets the Twig source policy so I didn't try to do that.
```
sprintf('%sUnexpected token "%s"%s ("%s" expected%s).',
$message ? $message.'. ' : '',
Token::typeToEnglish($token->getType()),
$token->getValue() ? sprintf(' of value "%s"', $token->getValue()) : '',
Token::typeToEnglish($type), $value ? sprintf(' with value "%s"', $value) : '')
```
Commits
-------
6c8da65b Added token type and value to error message
This PR was merged into the 2.x branch.
Discussion
----------
Fix custom escapers when using multiple Twig environments
Closes#3668
Commits
-------
9c03ef0d Fix custom escapers when using multiple Twig environments
This PR was merged into the 2.x branch.
Discussion
----------
Rename variable in SecurityPolicyInterface.php
Hi @fabpot
When using psalm, an error is reported when the name of the variable is not the same than the one in the interface.
This also could give issues with named params.
The securityPolicy implementation is using `property` as the name of the variable, which make a lot more sens https://github.com/twigphp/Twig/blob/3.x/src/Sandbox/SecurityPolicy.php#L110.
So I updated the interface. But I wasn't sure on which branch (1.x, 2.x, 3.x) I should have opened the PR.
I also wondering if you want me to rename $obj to $object maybe ?
Commits
-------
3f07c38c Rename variable
This PR was merged into the 2.x branch.
Discussion
----------
do not reuse internally generated variable names during parsing
fixes#3647
Commits
-------
1411c454 do not reuse internally generated variable names during parsing
This PR was merged into the 2.x branch.
Discussion
----------
Disallow non closures in `sort` filter when the sanbox mode is enabled
Commits
-------
2eb33080 Disallow non closures in `sort` filter when the sanbox mode is enabled
This PR was submitted for the 3.x branch but it was merged into the 2.x branch instead.
Discussion
----------
Fix call to deprecated "convertToHtml" method
note: We can not rely on the new interface `ConverterInterface` because this interface already existed in [version 1.0](https://github.com/thephpleague/commonmark/blob/1.0/src/ConverterInterface.php)
Commits
-------
779fdd09 Fix call to deprecated "convertToHtml" method