Skip to content

[TASK] Update typo3fluid/fluid (^2.0 || ^4.0 => ^5.0)#205

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/typo3fluid-fluid-5.x
Open

[TASK] Update typo3fluid/fluid (^2.0 || ^4.0 => ^5.0)#205
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/typo3fluid-fluid-5.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jan 6, 2026

This PR contains the following updates:

Package Change Age Confidence
typo3fluid/fluid ^2.0 || ^4.0^5.0 age confidence

Release Notes

TYPO3/Fluid (typo3fluid/fluid)

v5.2.0

Compare Source

What's Changed

Full Changelog: TYPO3/Fluid@5.1.1...5.2.0

v5.1.1

Compare Source

What's Changed

Full Changelog: TYPO3/Fluid@5.1.0...5.1.1

v5.1.0

Compare Source

What's Changed

  • [TASK] Add test case for template name fallbacks by @​s2b in #​1287
  • [TASK] Add stringable tests for StrictArgumentProcessor by @​s2b in #​1291
  • [DOCS] Fluid file extension by @​s2b in #​1292
  • [TASK] Apply new cgl rules by @​s2b in #​1294
  • [TASK] Improve exception message for invalid ViewHelper arguments by @​s2b in #​1296
  • [BUGFIX] Don't remove path duplicates to allow reordering by @​s2b in #​1298
  • [BUGFIX] Cast stringable objects early for ViewHelper arguments by @​s2b in #​1290
  • [BUGFIX] Allow null value as input for f:replace by @​s2b in #​1282
  • [FEATURE] UnsafeHTML interface to allow passing variables to template without being escaped by @​Kanti in #​1288

Full Changelog: TYPO3/Fluid@5.0.3...5.1.0

v5.0.3

Compare Source

What's Changed

  • [TASK] Extend enum test coverage by @​s2b in #​1269
  • [DOCS] Document <f:argument> does not work when rendering sections by @​cundd in #​1274
  • [BUGFIX] Allow constants and enum cases as argument default by @​s2b in #​1272
  • [TASK] Loosen PHPDoc type for Fluid namespaces by @​s2b in #​1280
  • [TASK] Allow TemplateValidator to discover underscore variables by @​s2b in #​1283

New Contributors

Full Changelog: TYPO3/Fluid@5.0.2...5.0.3

v5.0.2

Compare Source

What's Changed

Full Changelog: TYPO3/Fluid@5.0.1...5.0.2

v5.0.1

Compare Source

What's Changed

Full Changelog: TYPO3/Fluid@5.0.0...5.0.1

v5.0.0

Compare Source

Version 5.0 is the next major milestone in the development of the Fluid templating engine. Based on the previous efforts that went into Fluid 4, Fluid 5 continues to refactor and to modernize the underlining source code, which sometimes requires introducing strategic breaking changes. All breaking changes in this release have been pre-announced in Fluid 4, both in the changelog and by applying the @deprecated annotation or emitting a deprecation notice in the code.

These breaking changes allow us to ship meaningful new features that weren't possible before:

Streamlined ViewHelper Argument Validation

ViewHelpers now use the StrictArgumentProcessor to validate ViewHelper arguments. This means that argument validation behaves the same with ViewHelpers and with the <f:argument> ViewHelper, which was introduced with Fluid 4.2. While the new validation might require some adjustments in existing projects, it has clear advantages: ViewHelper instances can actually rely on the types specified in their API to be checked properly by Fluid, which makes a lot of custom validation code obsolete.

The new argument validation adds support for union types as well as iterable, countable and callable, which allows ViewHelpers to define a clearer API.

See #​1062, #​1074, #​1194 and #​1226 for more details.

Template File Resolving and File Extension

Fluid 5 now features an internal fallback chain for template file names. Template files are now resolved in the following order (first match wins):

templateRootPath: templates/
template: myTemplate
format: html

1. templates/myTemplate.fluid.html
2. templates/myTemplate.html
3. templates/myTemplate
4. templates/MyTemplate.fluid.html
5. templates/MyTemplate.html
6. templates/MyTemplate

This means that it's no longer necessary for template names to start with an uppercase character. Also, there is a new dedicated file extension *.fluid.* for Fluid templates: *.fluid.html instead of *.html, *.fluid.xml instead of *.xml, and so on. Because of the fallback chain, both can be added without breaking potential overrides from other template paths.

We recommend switching to the new file extension if Fluid 5 can be a hard requirement for your project. Otherwise, just stick to the existing general file extensions. The new file extension is entirely optional and will not be a requirement.

See #​1243 and #​1258 for more details.

Simplified Cache Warmup

Fluid 5 comes with a much simpler way to warmup the template cache in your project. The existing cache warmup functionality has been removed and replaced by a new implementation that requires much less configuration and context. By default, it makes use of the new *.fluid.* file extension to discover all Fluid templates in your project.

bin/fluid warmup \
    --cacheDirectory examples/cache/ \
    --path examples/Resources/
    --path examples/ResourceOverrides/

See #​1224 for more details.

Alternative Syntax for CDATA Sections

A long-standing issue in Fluid templates has been that the Fluid variable and inline ViewHelper syntax collides with inlined CSS or JavaScript code. This issue has now been addressed with Fluid 5: A new alternative syntax has been introduced that makes collisions between CSS/JavaScript and Fluid far less likely.

The normal inline and variable syntax uses single curly braces { } as tokens in Fluid templates. In <![CDATA[ ]]> sections, this syntax are now ignored. Instead, three curly braces {{{ }}} can be used to call Fluid ViewHelpers or to access variables. The tag-based syntax is disabled altogether in CDATA sections.

See #​1246 and the documentation for more details: Avoiding syntax collision with JS and CSS.

Deprecations and Breaking Changes

Please refer to the documentation for a full list of breaking changes and newly introduced deprecations in Fluid 5.0: Changelog 5.x.

What's Changed

Please note that some of the listed changes have been backported to Fluid 4.5.0, most importantly all new ViewHelpers.

New Contributors

Full Changelog: TYPO3/Fluid@4.5.0...5.0.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/typo3fluid-fluid-5.x branch from fd725c3 to d0f65f4 Compare February 6, 2026 14:06
@renovate renovate bot force-pushed the renovate/typo3fluid-fluid-5.x branch from d0f65f4 to 16e3aef Compare February 13, 2026 21:49
@renovate renovate bot force-pushed the renovate/typo3fluid-fluid-5.x branch from 16e3aef to 65f4d5f Compare March 6, 2026 11:12
@renovate renovate bot changed the title [TASK] Update typo3fluid/fluid (^2.0 || ^4.0 => ^2.0 || ^4.0 || ^5.0) Mar 6, 2026
@renovate renovate bot force-pushed the renovate/typo3fluid-fluid-5.x branch 9 times, most recently from aedeb9a to b32f5ab Compare March 12, 2026 14:43
@renovate renovate bot force-pushed the renovate/typo3fluid-fluid-5.x branch 2 times, most recently from 3909ce7 to 7953ac9 Compare March 17, 2026 07:48
@renovate renovate bot force-pushed the renovate/typo3fluid-fluid-5.x branch 3 times, most recently from 36083b0 to 1468a0a Compare March 31, 2026 13:36
@renovate renovate bot force-pushed the renovate/typo3fluid-fluid-5.x branch from 1468a0a to 4b29bd2 Compare March 31, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

0 participants