---
title: "Changelog 4.x"
manual: "Fluid Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/fluid:changelog-4-x"
source: "Changelog/4.x.rst"
rendered: "2026-09-26T08:24:58+00:00"
---

# Changelog 4.x {#changelog-4-x}

This Changelog lists notable deprecation and breaking changes. The full list of changes is available
[in the Fluid releases on GitHub](https://github.com/TYPO3/Fluid/releases).

## 4.5 {#4-5}

-   Deprecation: Using the `xmlns` namespace syntax with a PHP namespace instead of an url is deprecated
    and will no longer work in Fluid v5.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperAbstractViewHelper::validateArguments()`
    has been marked as deprecated and will be removed in Fluid v5.
-   Deprecation: Custom implementations of the `validateArguments()` methods in ViewHelpers will no longer
    be called in Fluid v5. Use `TYPO3FluidFluidCoreViewHelperViewHelperArgumentsValidatedEventInterface`
    instead.
-   -   **Deprecation: Classes, interfaces, methods and constants related to cache warmup are deprecated and will be removed in Fluid v5:**

        -   `TYPO3FluidFluidCoreCacheFluidCacheInterface::getCacheWarmer()`
        -   `TYPO3FluidFluidCoreCacheSimpleFileCache::getCacheWarmer()`
        -   `TYPO3FluidFluidCoreCacheFluidCacheWarmerInterface`
        -   `TYPO3FluidFluidCoreCacheStandardCacheWarmer`
        -   `TYPO3FluidFluidCoreCacheFluidCacheWarmupResult`
        -   `TYPO3FluidFluidCoreCompilerFailedCompilingState`
        -   `TYPO3FluidFluidCoreCompilerTemplateCompiler::MODE_NORMAL`
        -   `TYPO3FluidFluidCoreCompilerTemplateCompiler::MODE_WARMUP`
        -   `TYPO3FluidFluidCoreCompilerTemplateCompiler::$mode`
        -   `TYPO3FluidFluidCoreCompilerTemplateCompiler::enterWarmupMode()`
        -   `TYPO3FluidFluidCoreCompilerTemplateCompiler::isWarmupMode()`
-   Deprecation: The `<f:cache.warmup>` ViewHelper is deprecated and will be removed in Fluid v5.
-   Deprecation: Fluid variable names can no longer start with an underscore character (`_`). Adding such a variable to a template
    now emits a E_USER_DEPRECATED level error and will result in an exception in Fluid v5. Note that this doesn't affect array
    keys or object property names, only the name of the variable itself.
-   Deprecation: Replacing `<![CDATA[]]>` sections by empty lines is deprecated and will be removed in Fluid v5.
    Method `TYPO3FluidFluidCoreParserTemplateProcessorNamespaceDetectionTemplateProcessor.php::replaceCdataSectionsByEmptyLines()` now emits a E_USER_DEPRECATED level error.

## 4.4 {#4-4}

-   Deprecation: Setting a template's layout with the variable `layoutName` is deprecated and will no longer work in Fluid v5.
    Use `TYPO3FluidFluidCoreParserParsingState->setLayoutName()` instead.
-   Deprecation: Constant `TYPO3FluidFluidCoreCompilerTemplateCompiler::LAYOUT_VARIABLE`
    has been marked as deprecated and will be removed in Fluid v5.

## 4.3 {#4-3}

-   Deprecation: Property `TYPO3FluidFluidCoreViewHelperAbstractViewHelper::$childNodes`
    has been marked as deprecated and will be removed in Fluid v5. Use `$viewHelperNode->getChildNodes()`
    instead.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperAbstractViewHelper::setChildNodes()`
    has been marked as deprecated and will be removed in Fluid v5.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperViewHelperInterface::setChildNodes()`
    has been marked as deprecated and will be removed in Fluid v5.

## 4.2 {#4-2}

-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperViewHelperResolver::resolvePhpNamespaceFromFluidNamespace()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperViewHelperResolver::isNamespaceValidOrIgnored()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Constant `TYPO3FluidFluidCoreParserPatterns::NAMESPACESUFFIX`
    has been marked as deprecated and will be removed in Fluid v5.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperAbstractViewHelper::isValidType()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperAbstractViewHelper::getFirstElementOfNonEmpty()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperAbstractViewHelper::postParseEvent()`
    now emits a E_USER_DEPRECATED level error. It will be removed with Fluid v5. ViewHelpers using this event
    should switch to the new `TYPO3FluidFluidCoreViewHelperViewHelperNodeInitializedEventInterface`
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperViewHelperResolver::addNamespaces()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Inheritance of ViewHelper namespaces is deprecated. If a ViewHelper namespace is used in a
    template that is neither defined globally nor locally directly in the template, Fluid now emits a
    E_USER_DEPRECATED level error.

## 4.0 {#4-0}

-   Breaking: Method `TYPO3FluidFluidViewAbstractTemplateView::initializeRenderingContext()`
    has been removed.
-   Breaking: Method `TYPO3FluidFluidViewAbstractTemplateView::setCache()`
    has been removed.
-   Breaking: Method `TYPO3FluidFluidViewAbstractTemplateView::getTemplatePaths()`
    has been removed.
-   Breaking: Method `TYPO3FluidFluidViewAbstractTemplateView::getViewHelperResolver()`
    has been removed.
-   Breaking: Change visibility of class constants that represent internal Fluid state. The
    following constants have been set to `protected` and can only be accessed by
    `AbstractTemplateView` and its child implementations:
    `TYPO3FluidFluidViewAbstractTemplateView::RENDERING_TEMPLATE`,
    `TYPO3FluidFluidViewAbstractTemplateView::RENDERING_PARTIAL`,
    `TYPO3FluidFluidViewAbstractTemplateView::RENDERING_LAYOUT`
-   Breaking: Careful addition of method and property type hints throughout the system.
    This should be only mildly breaking and projects should be able to adapt easily.
-   Deprecation: First parameter of method `TYPO3FluidFluidViewTemplatePaths->__construct()`
    is deprecated. The Constructor will be removed with Fluid v5.
-   Deprecation: Method `TYPO3FluidFluidViewTemplatePaths->fillFromConfigurationArray()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidViewTemplatePaths->fillDefaultsByPackageName()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidViewTemplatePaths->ensureAbsolutePaths()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidViewTemplatePaths->extractPathArrays()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidViewTemplatePaths->getPackagePath()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidViewTemplatePaths->toArray()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Constant `TYPO3FluidFluidViewTemplatePaths::DEFAULT_TEMPLATES_DIRECTORY`
    has been marked as deprecated and will be removed in Fluid v5.
-   Deprecation: Constant `TYPO3FluidFluidViewTemplatePaths::DEFAULT_LAYOUTS_DIRECTORY`
    has been marked as deprecated and will be removed in Fluid v5.
-   Deprecation: Constant `TYPO3FluidFluidViewTemplatePaths::DEFAULT_PARTIALS_DIRECTORY`
    has been marked as deprecated and will be removed in Fluid v5.
-   Deprecation: Trait `TYPO3FluidFluidCoreViewHelperTraitsCompileWithRenderStatic`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Trait `TYPO3FluidFluidCoreViewHelperTraitsCompileWithContentArgumentAndRenderStatic`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Static method `renderStatic()` on ViewHelpers that don't use `TYPO3FluidFluidCoreViewHelperTraitsCompileWithRenderStatic`
    or `TYPO3FluidFluidCoreViewHelperTraitsCompileWithContentArgumentAndRenderStatic` now emits a
    E_USER_DEPRECATED level error.
-   Deprecation: Method `TYPO3FluidFluidCoreViewHelperAbstractViewHelper->overrideArgument()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Calling method `TYPO3FluidFluidCoreViewHelperAbstractTagBasedViewHelper->registerUniversalTagAttributes()`
    now emits a E_USER_DEPRECATED level error.
-   Deprecation: Calling method `TYPO3FluidFluidCoreViewHelperAbstractTagBasedViewHelper->registerTagAttribute()`
    now emits a E_USER_DEPRECATED level error.
-   Breaking: Method `TYPO3FluidFluidCoreViewHelperAbstractConditionViewHelper->evaluateCondition()`
    and handling has been removed.
-   Breaking: Method `TYPO3FluidFluidCoreParserSyntaxTreeObjectAccessorNode->getAccessors()`
    has been removed.
-   Breaking: Constant `TYPO3FluidFluidCoreCompilerTemplateCompiler::SHOULD_GENERATE_VIEWHELPER_INVOCATION`
    has been removed.
-   Breaking: Constant `TYPO3FluidFluidCoreVariablesStandardVariableProvider::ACCESSOR_ARRAY`
    has been removed.
-   Breaking: Constant `TYPO3FluidFluidCoreVariablesStandardVariableProvider::ACCESSOR_GETTER`
    has been removed.
-   Breaking: Constant `TYPO3FluidFluidCoreVariablesStandardVariableProvider::ACCESSOR_ASSERTER`
    has been removed.
-   Breaking: Constant `TYPO3FluidFluidCoreVariablesStandardVariableProvider::ACCESSOR_PUBLICPROPERTY`
    has been removed.
-   Breaking: Static property `TYPO3FluidFluidCoreParserPatterns::$SCAN_PATTERN_ESCAPINGMODIFIER`
    has been removed.
-   Breaking: Trait `TYPO3FluidFluidCoreViewHelperTraitsParserRuntimeOnly`
    has been removed.
-   Breaking: Interface `TYPO3FluidFluidCoreParserSyntaxTreeExpressionParseTimeEvaluatedExpressionNodeInterface`
    and its handling has been removed.
-   Breaking: Class `TYPO3FluidFluidCoreVariablesVariableExtractor`
    has been removed.
-   Breaking: Class `TYPO3FluidFluidCoreCompilerViewHelperCompiler`
    has been removed.
-   Breaking: Exception `TYPO3FluidFluidCoreCompilerStopCompilingChildrenException`
    and its handling has been removed.
-   Breaking: Test abstracts `TYPO3FluidFluidTestsBaseTestCase` and
    `TYPO3FluidFluidTestsUnitTestCase` have been removed.
-   Breaking: Using invalid namespace `https://typo3.org` instead of
    `http://typo3.org` (https vs. http) throws an exception
-   Important: Minimum PHP version has been raised to ^8.2
