From 2a16651387062f366ed01f00abe43658bc416c47 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sat, 26 Sep 2026 08:07:31 +0200 Subject: [PATCH] Explain that the inert attribute classes are kept for static analysis, not class loading --- CHANGELOG | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 6c3bb715f..6a5e11e56 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,8 +3,8 @@ * Remove support for cloning `Twig\Environment`; create a new environment instead * Remove support for calling `TemplateWrapper::unwrap()` without an environment argument * Stop detecting `echo` and `print` in compiled nodes; `yield` is the only supported mode and 3.x deprecates the alternative - * Remove the now inert `#[YieldReady]` attribute from the built-in nodes; the attribute itself is kept so 3.x extensions still load - * Remove the now inert `#[FirstClassTwigCallableReady]` attribute from the built-in nodes; the attribute itself is kept so 3.x extensions still load + * Remove the now inert `#[YieldReady]` attribute from the built-in nodes; the attribute class is kept so code supporting both 3.x and 4.x passes static analysis + * Remove the now inert `#[FirstClassTwigCallableReady]` attribute from the built-in nodes; the attribute class is kept so code supporting both 3.x and 4.x passes static analysis * Add an optional `string $template = ''` argument to `IncludeNode::addGetTemplate()`; subclasses overriding this method must declare a compatible parameter * Remove the obsolete `Twig\Test\NodeTestCase::getTests()` method; override `provideTests()` instead * Make `Twig\Markup` final