* 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
* 3.x:
Add start/end time accessors on Profile
Fix 'ignore missing' when used on an 'embed' tag
Fix the possibility to override an aliased block (via use)
Add test
Add hot cache reload for templates
Add RemovableCacheInterface
Add some tests
Optimize compiled code for "set" tag
Improve how trim behaves
Add more tests
Add return types in FileystemLoader
Add compile-time checks for the "matches" operator
This PR was merged into the 3.x branch.
Discussion
----------
Migrate NodeTestCase to static data providers
PHPUnit 11 requires data providers to be static. This PR prepares our abstract `NodeTestCase` by deprecating the non-static `getTests()` and adding a static `provideTests()` as a replacement. I've also added PHPUnit attributes which newer PHPUnit releases prefer over PHPDoc annotations.
Commits
-------
f555a33c Migrate NodeTestCase to static data providers
* 3.x:
-
Fix capturing output from extensions that still use echo
Add missing @deprecated tags
Add more information about migrating away from twig_escape_filter()
Fix compat with older versions of PHP
Extract the escaping logic to a runtime
* 3.x:
Bump version to 3.9.4-DEV
Fix a warning
Use ::class everywhere
Auto-close PRs on subtree-splits
Bump version
Prepare the 3.9.3 release
Update CHANGELOG
Ensure Lexer:: is always initialized
fix: #4033 add missing unwrap call when a TemplateWrapper instance can be present
change extended DI extension class
fix: #4029 when use_yield is true CaptureNode use iterator_to_array preserveKeys argument to false