Skip to content

Releases: TYPO3/Fluid

4.0.0

11 Sep 08:50
@s2b s2b
a5d7bd3
Compare
Choose a tag to compare

Nearly eight years after the launch of Fluid v2, we are happy to release Fluid v4. For this major version we had one key goal in mind: no breaking changes to user-facing APIs, such as ViewHelpers or View classes. We are confident that we have achieved this goal.

In this release, we focused on improving code quality by introducing stricter type checks across most of the codebase. In addition, we have deprecated several outdated or suboptimal APIs – most notably, the renderStatic() method for ViewHelpers and the related traits. While these deprecated APIs remain functional in Fluid v4, they will be removed in the upcoming Fluid v5 release. We strongly encourage users to consult the deprecation log and update their code to ensure compatibility with future versions.

To make the upgrade process as seamless as possible, we've backported many of the new features to Fluid v2, ensuring that the migration path is largely backward-compatible.

Noteworthy features in v4 that could not be backported:

  • faad81a <f:comment> now ignores Fluid syntax errors
  • ba2c48b {true}, {false} and {null} are part of the language now and can be used in all templates
  • 4d5b0c9 AbstractTagBasedViewHelper now supports boolean tag arguments according to the HTML5 standard

A full list of breaking changes is available in the documentation.

New Contributors

Full Changelog: 2.15.0...4.0.0

2.15.0

01 Sep 12:06
@s2b s2b
0a8ebdb
Compare
Choose a tag to compare

What's Changed

  • [TASK] Trigger deprecation if true/false/null variable is used by @s2b in #952
  • [TASK] Deprecate CompileWithContentArgumentAndRenderStatic trait by @s2b in #967
  • [BUGFIX] Improved argument validation in TagBuilder (#937) by @s2b in #969
  • [BUGFIX] Prevent interference between functional tests by @s2b in #977
  • [FEATURE] Provide contentArgument API to all ViewHelpers by @s2b in #979
  • [BUGFIX] Properly restore renderingContext in renderChildren() (#970) by @s2b in #980
  • [TASK] Annotate correct type hints in AbstractTemplateView (#986) by @s2b in #987
  • [TASK] Deprecate CompileWithRenderStatic and renderStatic() by @s2b in #990
  • [TASK] Add deprecation hints to TemplatePaths by @s2b in #998

Full Changelog: 2.14.1...2.15.0

2.14.1

31 Jul 09:10
@s2b s2b
ad0deb5
Compare
Choose a tag to compare

What's Changed

  • [BUGFIX] Restore previous empty tag attribute behavior by @s2b in #943

Full Changelog: 2.14.0...2.14.1

2.14.0

23 Jul 16:56
9aeb4b1
Compare
Choose a tag to compare

What's Changed

  • [TASK] Use 'false' over 'FALSE' in comments and docs by @lolli42 in #903
  • [TASK] Use 'true' over 'TRUE' in comments and docs by @lolli42 in #905
  • [TASK] Use 'null' over 'NULL' in comments and docs by @lolli42 in #907
  • [TASK] Avoid registerArgument() with required=false by @lolli42 in #909
  • [TASK] Add v2 Changelog (#912) by @lolli42 in #915
  • [TASK] Allow registerArgument() to override arguments by @s2b in #917
  • [TASK] Deprecate shortcut methods in AbstractTemplateView by @s2b in #920
  • [TASK] Use RenderingContext->setAttribute() (#922) by @lolli42 in #923
  • [TASK] Migrate missed $view->getTemplatePaths() (#926) by @s2b in #927
  • [BUGFIX] Supply correct parameter to json_decode (#928) by @s2b in #929
  • [TASK] Type hint arguments in ViewInterface by @lolli42 in #933

Full Changelog: 2.13.0...2.14.0

2.13.0

12 Jul 12:53
5585e3a
Compare
Choose a tag to compare

What's Changed

  • [TASK] Avoid pre PHP 8.0 code switches by @lolli42 in #886
  • [TASK] Avoid implicitly nullable method parameter by @lolli42 in #897
  • [TASK] Avoid deprecated php-cs-fixer rules by @lolli42 in #899
  • [TASK] Add PHP 8.4 to CI matrix by @lolli42 in #901

Full Changelog: 2.12.0...2.13.0

2.12.0

26 Jun 15:26
f8556bc
Compare
Choose a tag to compare

What's Changed

  • [TASK] Raise php-cs-fixer:^3.54.0 by @s2b in #869
  • [TASK] Switch Documentation Rendering to PHP by @Alagts in #870
  • [TASK] Use xxh3 instead of sha1 by @lolli42 in #871
  • [BUGFIX] Re-enable arbitrary aria- and data- arguments by @s2b in #872
  • [FEATURE] Allow arbitrary arguments for TagBasedViewHelper by @s2b in #859
  • [TASK] Prepare fluid binary to support multiple commands by @s2b in #875
  • [FEATURE] Command to generate XSD Schemas for ViewHelpers by @s2b in #876
  • [BUGFIX] Allow override of universal attributes by @s2b in #877
  • [FEATURE] Add f:constant ViewHelper by @andreaskienast in #874
  • [TASK] Migrate to phpunit attributes by @s2b in #879
  • [TASK] github actions/checkout@v4 instead of v3 by @lolli42 in #881
  • [TASK] Improve test case inheritance chain by @lolli42 in #883
  • [TASK] Tune RenderingContext withAttribute() and getAttribute() by @lolli42 in #882

New Contributors

Full Changelog: 2.11.0...2.12.0

2.11.0

08 Apr 07:38
@s2b s2b
392c7d5
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.10.1...2.11.0

2.10.1

11 Dec 13:16
@s2b s2b
567a166
Compare
Choose a tag to compare

What's Changed

  • [BUGFIX] Explicitly set variables should override local variables by @s2b in #849
  • [BUGFIX] Choose global/local variable based on primary identifier by @s2b in #850

Full Changelog: 2.10.0...2.10.1

2.10.0

27 Nov 18:18
d521f00
Compare
Choose a tag to compare

What's Changed

  • [BUGFIX] Fix missing “null” annotation for parameter $sectionName by @magicsunday in #813
  • [TASK] Remove constructor from variable provider interface by @s2b in #829
  • [FEATURE] Proper support of local variables in ViewHelpers by @s2b in #828
  • [BUGFIX] Use ScopedVariableProvider in CycleViewHelper by @s2b in #830
  • [BUGFIX] Use ScopedVariableProvider in GroupedForViewHelper by @s2b in #831
  • [BUGFIX] Throw array conversion exception in AbstractNode->castToString() by @sbuerk in #827
  • [BUGFIX] Eliminate side-effects from ForViewHelper by @s2b in #820
  • [FEATURE] Attributes for RenderingContext by @s2b in #832
  • [TASK] Run tests with PHP 8.3 by @s2b in #835
  • [BUGFIX] Support mix of global/local in variable variables by @s2b in #833
  • [BUGFIX] Fix memory overhead of getScopedCopy() by @s2b in #834
  • [FEATURE] JsonViewHelper for StandaloneFluid by @s2b in #836
  • [FEATURE] TrimViewHelper for StandaloneFluid by @s2b in #837
  • [FEATURE] Nl2brViewHelper for StandaloneFluid by @s2b in #838
  • [TASK] Document current behaviour of boolean cast by @s2b in #843
  • [TASK] Add test case for f:variable by @s2b in #844
  • [FEATURE] UrlencodeViewHelper for StandaloneFluid by @s2b in #842
  • [FEATURE] NumberViewHelper for StandaloneFluid by @s2b in #839
  • [FEATURE] StripTagsViewHelper for StandaloneFluid by @s2b in #840
  • [FEATURE] CaseViewHelper for StandaloneFluid by @s2b in #841

New Contributors

Full Changelog: 2.9.3...2.10.0

2.9.3

14 Nov 16:21
7d0b084
Compare
Choose a tag to compare

What's Changed

  • [TASK] Raise phpunit and align changes by @sbuerk in #811
  • [BUGFIX] Support division by floats smaller than 1 by @s2b in #775
  • [DOCS] Sharpen docs of f:for viewhelper by @kitzberger in #812
  • [TASK] Apply single_line_empty_body from PER-CS2.0 by @s2b in #814
  • Drop documentation of removed variable provider parameter by @mbrodala in #815
  • [TASK] Add test for recursive partial by @s2b in #818
  • [BUGFIX] Clear fluid cache after example tests by @s2b in #817
  • [TASK] Correct comments in StandardVariableProvider by @s2b in #822
  • [TASK] Bump friendsofphp/php-cs-fixer:^3.37.1 by @lolli42 in #825
  • [TASK] Add test case for nested VariableViewHelper by @s2b in #824
  • [BUGFIX] Load variables from file with getByPath by @s2b in #816
  • [BUGFIX] Prevent infinite loop in BooleanParser by @s2b in #821

Full Changelog: 2.9.2...2.9.3