All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

FLOW3 1.0.0 alpha11

From TYPO3Wiki
Jump to: navigation, search
This page belongs to the Flow Team (category Flow)

Release Notes for FLOW3 1.0.0 alpha11

This document contains information about FLOW3 version 1.0.0 alpha 11 which was released on August 20th, 2010.


notice - Note

As an alpha release, FLOW3 1.0.0 alpha 11 is not recommended for production use unless you know what you're doing

Full Release Notes at

What's New?

For a full list of new features and improvements please see our Changelog below.

Your Feedback

We want to hear your opinion! What's your experience with this release? What went well, what didn't? What features are you missing? Join our discussions in the mailing list, IRC channel and twitter ... Check out for ways to get involved and get in touch. Get into the FLOW3! - Your FLOW3 Core Team


MD5 checksums can be found on the download page.


You need to adjust your code in case you used FLOW3's REST controller or created a Fluid viewhelper based on the if viewhelper.

Templates need adjustments when using the FLOW3 username/password authentication and in edge-cases involving the checkbox and radio viewhelpers.

See below for more details.


Changes that (may) require end-user code adjustments


  • The RESTController has been renamed to RestController
  • The expected POST arguments for the UsernamePassword authentication token have been changed, you need to adjust HTML templates and other code as needed. The names were

now we expect

  • You need to add the new canRender() method to implementation of ViewInterface


  • In case you copied the f:if ViewHelper to create a custom condition ViewHelper: Please check the new f:if ViewHelper to see how to adjust your ViewHelper -- you basically just have to throw away a lot of code.
  • The value argument is required again in form.checkbox and ViewHelpers.



(MVC) Added a new method to the ViewInterface: canRender() must tell if the view is able to render something meaningful for the given controller context. - r5033

(*) Removed @version keyword from files, resolves #8835 - r4969
(MVC) Renamed the RESTController to RestController - r4989
(Core) Adjusted use of Locale to I18n in sources, relates to #8772 - r4860
(Cache) Removed the constant TAG_PACKAGES_CODE, it is never used (as pointed out by Christian Kuhn) - r4995
(Documentation) The CGL mention the usage of PHP Error Control Operators now, resolves #8864 - r5004
(I18n) Moved formatting functionality from DatesReader to DatetimeFormatter. Relates to #7722, 7724 - r4913
(I18n) Changed Readers so they throw exceptions when unable to get format from CLDR. Relates to #7722 - r4910
(I18n) Moved formatting functionality from NumbersReader to NumberFormatter. Relates to #7722, #7724 - r4920
(I18n) Documentation chapter for I18n added - r4975
(I18n) Changed string parameters to class constants - r4950
(I18n) Renamed Locale subpackage directory name to I18n. Relates to #8772 - r4851
(I18n) Renamed Locale subpackage to I18n (completed). Resolves #8772 - r4852
(MVC) Cleaned up View implementations. They now correctly implement F3\FLOW3\MVC\View\ViewInterface. This resolves #9136 - r4931
(MVC) Changed the order how views are resolved: If a dedicated view exists for the controller / action pair, it is chosen instead of the Fluid Template View. - r5033
(Validation) The ValidatorResolver now throws a helpful exception when encountering missing @param annotations - r4988

(*) Various tests are now using the concatenatePaths utitlity method when building a path to the temp directory. This resolves #8913 - r4921
(Utility) Added helper function \F3\FLOW3\Utility\Files::is_link() that works on Windows too. This resolves #8432 - r4862
(AOP) AOP now correctly adds default value from method argument for array values, fixes #8554 - r4987
(Cache) Sanitizing entry identifier in Cache\FileBackend, fixes #9357 - r4998
(Cache) Removed tagIndex from memcache and APC backends, fixes #8918. Thanks to Christian Kuhn - r4974
(Core) Removed use of $Revision$ in Bootstrap.php, resolves #9296. If we ever need something like this it could be a post-merge/post-checkout hook in git - r4977
(Core) Removed test for use of $Revision$ in Bootstrap.php, relates to #9296 - r4978
(I18n) Changed name Locale to I18n in configuration. Relates to #8772 - r4855
(I18n) Fixed warning when bad filename given in AbstractXmlParser. Resolves #8846 - r4850
(MVC) F3\FLOW3\MVC\View\JsonView no longer throws an exception if more than one variable is assigned. This relates to #9136 - r4953
(Object) The ObjectSerializer now detects recursive reference in the object structure to be serialized. This should now allow to add even complex object structures to a session object which is then transparently stored by FLOW3. Resolves #9360 - r5009
(Persistence) Ordering by multiple fields works again, fixes #8968 - r5002
(Persistence) isEmpty() matches correctly on NULL now, equality checks against NULL now work correctly on collections, relates to #9358, fixes #9184 - r5000
(Persistence) isEmpty() now works correctly in queries, fixes #9358 - r4999
(Persistence) Ordering by multiple fields works again, fixes #8968 - r5003
(Security) Shortened some variable names in HTML (input fields with a name longer than 64 characters are ignored in default Suhosin setups), fixes #6315 - r5005
(Validation) Some validators did not reset stale errors on isValid() calls, fixes #8558 - r4948
(Validation) Fixed a few failing tests of composite validators, caused by incorrect mock building - r4956

(I18n) Added lenient parsing for NumberParser. Relates to #7725 - r4925
(I18n) Locale-aware validators added. Relates to #9246 - r4952
(I18n) Added lenient parsing for DatetimeParser. Relates to #7725 - r4928
(I18n) Numbers, date and time parsers added with basic functionality. Relates to #7725 - r4903
(I18n) Translator class added. Relates to #8842 - r4847
(I18n) Added TranslationProvider interface and concrete implementation using XLIFF. Relates to #7723 - r4827
(I18n) Added support for XLIFF file format. Relates to #7723 - r4827
(MVC) F3\FLOW3\MVC\View\JsonView is now able to render multiple variables. By default only variables with the name "value" are rendered. You can change that behavior through the setVariablesToRender() setter. This relates to #9136 - r4953
(MVC) The name of the request argument triggering the actions show(), delete() and update is now configurable through the RestController's property "resourceArgumentName". Default name is "resource". Resolves #9327 - r4989
(MVC) The ActionController now allows for specifying view object names for each format, e.g. a specific view for JSON request, another one for HTML etc. Resolves #7113 - r5033
(Persistence) The base repository now only sets the repository's object type if it has not been defined before. By that it is possible to define a custom object type in the property declaration of a concrete repository - r4956
(Property) The property mapper now supports creation and recreation of objects specified by a UUID in an identity array even if they are just part of the overall source object / array to be mapped - r4956
(Security) Implemented a convenience method for retrieving the currently logged in account from the Security Context. Resolves #9356 - r4997


(*) Added doc comments to a few methods. Added basic parameter check for transaction arguments - r4956

(ExtDirect) Fixed a bug which resulted in a broken communication between client and server via ExtDirect if a shared action method had zero required arguments. Resolves #9323, relates to #9279 - r4979
(ExtDirect) Fixed a bug which resulted in a broken communication between client and server via ExtDirect if a shared action method had optional arguments. Resolves #9279 - r4956


(*) Renamed ConditionViewHelper and TagBasedViewHelper to Abstract*ViewHelper as per CGL - r4840
(Core) Cleanup: Removed F3\Fluid\Core\Parser\TemplateParser::getConfiguration(), as it is never used - r4837
(View) Added getter for template parser to AbstractTemplateView. This is useful if you want to use the parser from within your custom ViewHelper (creating a new instance would skip interceptor registration) - r4907
(View) Adjusted the template view to the extended ViewInterface. - r5033
(ViewHelpers) The value argument is required again in form.checkbox and ViewHelpers. This is a breaking change, as the value argument has not been mandatory for a while. But it probably won't break existing templates as omitting the value makes no sense at all. Relates to #8852 - r4864
(ViewHelpers) Replaced custom convertToArray() method by PHPs iterator_to_array() function in cycle, for and groupedFor ViewHelpers. This resolves #8732. Thanks to Michael Feinbier! - r4898
(ViewHelpers) Added argument "objectName" to form ViewHelper. This is now the recommended way to specify the name of the object that is bound to a form! If objectName is not specified, the name attribute will be used as object name for backwards-compatibility reasons. This resolves #6521 - r4905
(ViewHelpers) Small performance improvement in ForViewHelper: Objects will only be converted to arrays if reverse is TRUE. Relates to #8732 - r4907

(Core) Renamed F3\Fluid\Core\Parser\SyntaxTree\ViewHelperNode::getViewHelper() to F3\Fluid\Core\Parser\SyntaxTree\ViewHelperNode::getUninitializedViewHelper() - r4837
(Core) Added AbstractTemplateView Type Hints to ViewHelperVariableContainer again. Resolves #8319 - r4837
(Core) Refactored all Condition-ViewHelpers like f:if, f:security.if* to use a newly created base class F3\Fluid\Core\ViewHelper\ConditionViewHelper. This greatly simplifies the implementation of custom conditions. However, THIS IS A BREAKING CHANGE in case you copied the f:if ViewHelper to create a custom condition ViewHelper, as the internal workings changed. Please check the new f:if ViewHelper to see how to adjust your ViewHelper -- you basically just have to throw away a lot of code. Resolves #8824 - r4836
(Core) Negative numeric values are properly converted to FALSE when used in boolean ViewHelper arguments. This resolves #8893 - r4864
(View) fixed method signature of AbstractTemplateView:getTemplateSource() that was different from the concrete implementation - r4841
(View) AbstractTemplateView now correctly implements F3\FLOW3\MVC\View\ViewInterface and assign() and assignMultiple() will return an instance of $this to allow chaining again like $this->view->assign()->assign()... This fixes #9090 - r4931
(ViewHelpers) Fixed a possible security issue where the content inside the Fluid a is not properly HTML escaped. (forwardport from fluid extension r2482) - r4906
(ViewHelpers) FormViewHelper wraps hidden fields with a div tag to create XHTML valid output. This fixes #5512 - r4872
(ViewHelpers) Now, it is possible to "unselect" checkboxes and multiselect fields in editing forms. This fixes #5638. This fixes #8535. This fixes #6897 (improved forwardport from Fluid extension r2346) - r4874

(Core) implemented overrideArgument() method in AbstractViewHelper to be able to override previously registered arguments in subclasses. This resolves #8852 - r4864
(ViewHelpers) Added iteration information to for ViewHelper. Thanks to all the contributors for your input and patches! This resolves #6149 - r4904
(ViewHelpers) Added count ViewHelper (slightly improved forwardport from fluid extension). This resolves #8992 - r4899

Past Release Notes

If you have skipped one version while upgrading to this version, please make sure to read those ReleaseNotes (see list) also.