* 3.x: (30 commits)
Make {} optional for the types tag
Remove the note about types mapping argument
Add a note on the types locality
Fix CS
Fix typos in the docs
Use spl_object_id() instead of spl_object_hash()
Add `LastModifiedExtensionInterface` and implementation in `AbstractExtension` to track modification of runtime classes
Bump version
Optimize NameExpression compilation
Fix typo in enum twig doc functions
Remove dead method in ModuleNode
Bump version
Prepare the 3.18.0 release
Add support for `Twig\Markup`
Fix unary operator precedence change
Replace Twigfiddle by the new Twig playground
Fix MacroNode $name argument can be overridden
Ignore exceptions from undefined handlers when using the guard tag
[Doc] Update the docs about attribute() function
Fix doc
...
* 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
* 3.x:
Fix a @return type hint
Fix CS
Fix a test
Fix type
Simplify sandbox code
Get rid of weird code
[html-extra] filter classes
Fix some inconsistencies
* 3.x:
Fix CS
Move functions for CoreExtension
Move functions for EscaperExtension
Move functions for StringLoaderExtension
Move functions for DebugExtension
Move functions for MarkdownExtension
Move functions for InkyExtension
Move functions for CssInlinerExtension
Move functions for HtmlExtension
Deprecate internal extension functions in favor of methods on the extension classes
Tweak deprecated docs