This PR was merged into the 3.x branch.
Discussion
----------
Update plural.rst: Fixing(?) broken links
More important question: Is the filter's name `plural` or `pluralize`??
Commits
-------
cc3a2b7bac Update plural.rst: Fixing(?) broken links
This PR was merged into the 3.x branch.
Discussion
----------
Add support for inline comments
Closes#4001
Commits
-------
d9d8bb0df3 Add support for inline comments
This PR was merged into the 3.x branch.
Discussion
----------
Fix template name in error for an unknown dynamic extends called from an include
Closes#3265
The code was introduced in #1529, but removing it nowadays does not break any existing test.
Review ignoring whitespace.
Commits
-------
4824f2a4a3 Fix template name in error for an unknown dynamic extends called from an include
This PR was merged into the 3.x branch.
Discussion
----------
Add support for accessing class constants with the dot operator
This PR allows accessing class constants from objects: `{{ foo.SOME_CONSTANT }}`. This should nicely replace the `constant()` function when an object is at hand, and is actually needed to make the `enum` function work in #4352.
Commits
-------
1ea0452323 Add support for accessing class constants with the dot operator
This PR was merged into the 3.x branch.
Discussion
----------
Fix getting a property on an object casted to an array
Closes#3371
Commits
-------
7d5269e100 Fix getting a property on an object casted to an array
This PR was merged into the 3.x branch.
Discussion
----------
Replace strtr() by strtolower()
The performance of `strtolower()` has been fixed in PHP 8.
Commits
-------
04471ab8cd Replace strtr() by strtolower()
This PR was merged into the 3.x branch.
Discussion
----------
Add fixture filename as key
This way, it's easier to see which test failed and what the file was.
In PHPStorm this is visualized very nice.

Commits
-------
633d70103d Add fixture filename as key
This PR was merged into the 3.x branch.
Discussion
----------
Remove useless assign in compiled code
It's already unset / initialized on catch.
Having it this way, is a bit easier for me when analyzing this in TwigStan.
Commits
-------
5c73c6695c Remove useless assign in compiled code
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Improve escape deprecation message
This was introduced in https://github.com/twigphp/Twig/pull/4176
According to #4343 the message can be improved.
I made a few changes to the test to make it easier to work with. Best to review this PR **commit by commit**.
/cc `@stof`
Commits
-------
7256713c86 Improve escape deprecation message
This PR was merged into the 3.x branch.
Discussion
----------
Be more precise about double-escaping
Closes#3918
Commits
-------
fe3d615aa4 Be more precise about double-escaping
This PR was merged into the 3.x branch.
Discussion
----------
Add start/end time accessors on Profile
Closes#3418
Commits
-------
f83c844b7d Add start/end time accessors on Profile
This PR was merged into the 3.x branch.
Discussion
----------
Fix 'ignore missing' when used on an 'embed' tag
Closes#3085
Commits
-------
09790a7542 Fix 'ignore missing' when used on an 'embed' tag
This PR was merged into the 3.x branch.
Discussion
----------
Fix the possibility to override an aliased block (via use)
Closes#3709
Commits
-------
955611d5bb Fix the possibility to override an aliased block (via use)
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Add template cache hot reload
Closes#3880
This PR achieves 2 things in the minimum amount of code (in 2 commits):
* It adds a new `RemovableCacheInterface` that allows cache to be removed.
* It adds a memory cache to allow updating existing templates in the same process (think FrakenPHP for instance) without polluting the permanent cache.
Commits
-------
00ba8046b0 Add test
dca5099aad Add hot cache reload for templates
786a67b1a9 Add RemovableCacheInterface
This PR was merged into the 3.x branch.
Discussion
----------
Add some tests
Closes#3691
The bug described in #3691 has been fixed via #3999.
This PR adds tests to prove it works now and to avoid future regressions.
Commits
-------
85c2ba5147 Add some tests
This PR was merged into the 3.x branch.
Discussion
----------
Optimize compiled code for "set" tag
Commits
-------
9855e35d44 Optimize compiled code for "set" tag
This PR was merged into the 3.x branch.
Discussion
----------
Add compile-time checks for the "matches" operator
Commits
-------
d1beac4dfa Add compile-time checks for the "matches" operator
This PR was merged into the 3.x branch.
Discussion
----------
Add return types in FileystemLoader
Commits
-------
15279ca8ee Add return types in FileystemLoader
This PR was merged into the 3.x branch.
Discussion
----------
[Doc] Document about `html` and `html_attr` strategies
Ref #4322
Commits
-------
ac88c9ae75 [Doc] Document about `html` and `html_attr` strategies
This PR was merged into the 3.x branch.
Discussion
----------
Fix the handling of predefined arguments in CallExpression
Commits
-------
37fa03681e fix the handling of predefined arguments in CallExpression