This PR was merged into the 3.x branch.
Discussion
----------
Make some CoreExtension methods part of the public API
Closes#4040
Commits
-------
0a275945 Make some CoreExtension methods part of the public API
This PR was merged into the 3.x branch.
Discussion
----------
Move some static extension methods to non-static
A first step to resolve#4040
Commits
-------
283475b1 Move some static extension methods to non-static
This PR was merged into the 3.x branch.
Discussion
----------
Add needs_charset option for filters and functions
Another step to make internal methods independent from the environment.
Commits
-------
c63f695e Add needs_charset option for filters and functions
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Extract the escaping logic to a runtime
Commits
-------
ead768a4 -
e4a78534 Add missing `@deprecated` tags
d728d1b8 Add more information about migrating away from twig_escape_filter()
70b2e3ca Fix compat with older versions of PHP
84bff064 Extract the escaping logic to a runtime
This PR was merged into the 3.x branch.
Discussion
----------
Fix capturing output from extensions that still use echo
Fix#4039
Commits
-------
8c43456a Fix capturing output from extensions that still use echo
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
[Doc] Correct Order & Explanation on precedence
Following this [issue](https://github.com/twigphp/Twig/issues/3714), i worked on it trying to make it simple and easy to understand
Indeed order of the precedence was not good for ``b-and``, ``b-xor`` and ``b-and``.
Code [here ](https://github.com/twigphp/Twig/blob/3.x/src/Extension/CoreExtension.php#L280) to understand. I also added additional explanations.
Commits
-------
01e0b7ce [Doc] Correct Order & Explanation on precedence
This PR was merged into the 3.x branch.
Discussion
----------
Respect coding standard in documentation
From https://twig.symfony.com/doc/3.x/coding_standards.html
```
Put exactly one space after the : sign in hashes and , in arrays and hashes:
{{ [1, 2, 3] }}
{{ {'foo': 'bar'} }}
```
Commits
-------
609620e8 Respect coding standard in documentation
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
synchronize sourceContext
I have some debugging extensions that need the template name from various nodes in a `NodeVisitor`. Currently this is guaranteed for the nodes created from parsing the template. This ensures that the `SourceContext` is also set for nodes created by `NodeVisitors` modifying the node tree.
I am not sure if it is a good idea to always set the `SourceContext` on a child node or if this should only set it if it is not set.
Commits
-------
350670a3 synchronize sourceContext