* 3.x:
Refactor code
Add some type hints
Deprecate using ~ with + or - in an expression without using parentheses to clarify precedence
Change some type hints to be more precise
Deprecate not passing AbstractExpression args to most constructor arguments for classes extending AbstractExpression
Remove obsolete method
Add support for detecting if an expression had explicit parentheses
Fix tests
Unify error messages when a filter expects a mapping/sequence
This PR was merged into the 3.x branch.
Discussion
----------
Deprecate using ~ with + or - in an expression without using parentheses to clarify precedence
See https://wiki.php.net/rfc/concatenation_precedence for the related change in PHP 7.4.
Commits
-------
816c510cef Deprecate using ~ with + or - in an expression without using parentheses to clarify precedence
This PR was merged into the 3.x branch.
Discussion
----------
Change some type hints to be more precise
Commits
-------
43b6e098df Change some type hints to be more precise
This PR was merged into the 3.x branch.
Discussion
----------
Deprecate not passing AbstractExpression args to most constructor arguments for classes extending AbstractExpression
Commits
-------
824143d5e5 Deprecate not passing AbstractExpression args to most constructor arguments for classes extending AbstractExpression
This PR was merged into the 3.x branch.
Discussion
----------
Add support for detecting if an expression had explicit parentheses
It's going to help with operator precedence changes and their related deprecation notices.
Commits
-------
d133ab7e70 Add support for detecting if an expression had explicit parentheses
This PR was merged into the 3.x branch.
Discussion
----------
Unify error messages when a filter expects a mapping/sequence
Besides unifying the error messages, I've also removed the mention of `\Traversable` as this does not help and is an implementation detail (mapping and sequence are Twig terms, Traversable is not).
Or maybe we should introduce the notion of a "iterable"?
Commits
-------
c599125a39 Unify error messages when a filter expects a mapping/sequence
This PR was merged into the 3.x branch.
Discussion
----------
Use get_debug_type() everywhere
Commits
-------
0da899d911 Use get_debug_type() everywhere
* 3.x:
Add an additional example in the docs
Fix ignored parenthesis in expressions
Tweak previous merge
Added details in the doc of filters and functions of IntlExtension
Add more information about the filter and the negative operators
Update plural.rst: Fixing filter name
This PR was merged into the 3.x branch.
Discussion
----------
Add more information about the filter and the negative operators
Refs #974
Refs #1368
Refs #1634
Refs #2470
Commits
-------
fae6cfc32f Add more information about the filter and the negative operators
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Fix ignored parenthesis in expressions
Closes#3705Closes#2891
Commits
-------
1488238e32 Fix ignored parenthesis in expressions
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Added details in the doc of filters and functions of IntlExtension
Commits
-------
8716392603 Added details in the doc of filters and functions of IntlExtension
This PR was merged into the 3.x branch.
Discussion
----------
Update plural.rst: Fixing filter name
Info is taken from https://github.com/twigphp/Twig/pull/4357#issuecomment-2378435199
Besides, I changed to a more illustrative example word. One of the rare cases where ChatGPT was indeed useful... ;-)
Commits
-------
bd33033fd1 Update plural.rst: Fixing filter name
This PR was merged into the 3.x branch.
Discussion
----------
Implement the `enum` function
Fixes#3681
Requires #4353
Commits
-------
cff6f1ca80 Implement the `enum` function
* 3.x:
Deprecate using Node directly, introduce EmptyNode and Nodes
Add support for inline comments
Update plural.rst: Fixing(?) broken links
Fix CS
Add support for accessing class constants with the dot operator
Fix getting a property on an object casted to an array
Replace strtr() by strtolower()
Improve escape deprecation message
Remove useless assign in compiled code
Add fixture filename as key
Be more precise about double-escaping
Fix template name in error for an unknown dynamic extends called from an include
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 4.x branch.
Discussion
----------
Add generics for LoopIterator
/cc `@stof`
Commits
-------
a4dc388c62 Add generics for LoopIterator