.. include:: /Includes.rst.txt .. _breaking-73046: =================================================================================== Breaking: #73046 - Alias AbstractNode -> ViewHelperNode for backwards compatibility =================================================================================== See :issue:`73046` Description =========== `ViewHelperInterface::compile()` in standalone Fluid now requires an actual `ViewHelperNode` instead of `AbstractNode` as it was before. The reason for changing this should be fairly obvious. In order to preserve signature compatibility an alias is put in place. The alias is created so that `TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\AbstractNode` becomes an alias of `TYPO3Fluid\Fluid\Core\Parser\SyntaxTree\ViewHelperNode`. This is obviously less than ideal but solves the problem immediately and prioritises not breaking the public API by breaking the non-public API. Impact ====== This signature change means that ViewHelpers which implement a custom `compile()` method must update their signature (does not apply to ViewHelpers implementing only renderStatic). Two ViewHelpers in TYPO3 CMS Fluid were migrated as part of the standalone Fluid merge - but third-party ViewHelpers would require either migration or an alias. * Overridden TemplateParsers (before standalone Fluid merge) might not work, depending on the nature of overrides (conditions checking class names may fail) * Custom Nodes (implemented via an overridden TemplateParser, before standalone Fluid) would break either in function or form (incompatible constructor signatures on PHP7 at least) Affected Installations ====================== Any TYPO3 site using an extension which replaces or directly interacts with TemplateParser or TemplateCompiler from Fluid. Only known affected community extension is at this point EXT:builder, specifically the template validation/analysis feature. Migration ========= Change any reference to classes in `TYPO3\CMS\Fluid\Core\TemplateParser` to `TYPO3Fluid\Fluid\Core\TemplateParser`. .. index:: PHP-API, Fluid