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

FLOW3 1.0.0 alpha10

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

Release Notes for FLOW3 1.0.0 alpha10

This document contains information about FLOW3 version 1.0.0 alpha 10 which was released on July 9th, 2010.


notice - Note

As an alpha release, FLOW3 1.0.0 alpha 10 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.


Upgrading from 1.0.0 alpha9 should be flawless - just make sure to replace the package:// stream wrapper references by resource://


Changes that (may) require end-user code adjustments

FLOW3 (Resource): Renamed the resource stream wrapper's scheme from "package://" to "resource://". You need to globally search & replace "package://" your code for this to work.


Fixed case of template filenames - r4339


(ExtDirect) The RequestHandler will call an ExceptionHandler to log exceptions that occured inside an Ext Direct request - r4668

(ExtDirect) Handle exceptions that occured during dispatch to actions and return them to the client, relates to #8143 - r4485
(ExtDirect) Fixed Ext Direct implementation and based Ext Direct View on JsonView, relates to #7920 - r4474
(ExtDirect) The view can convert errors to an Ext JS specific format - r4676

(ExtDirect) Configurable exception information exposure in the Ext Direct RequestHandler - r4668


Removed object and cache configuration for missing DatesReader class, resolving exception #1184926175 - r4509
Base Distribution: Fixed bug ##7847 (Missing trailing slash in FLOW3_ROOTPATH causes fatal error) - r4338
(Cache) Now throwing exception if setting of value in memcache fails, fixes #8074 - r4482
(Cache) Fixed bug #7929 leading to entry duplication in Memcached - r4336
(MVC) Fixed the RequestTest (and added an additional one) - r4340
(Persistence) logicalNot() now works, fixes #8411. Some code cleanup along the way - r4636
(Persistence) Added a safeguard to the processSplObjectStorage() method which on certain occasions caused a fatal error - r4470
(Persistence) When checking for objects removed from an array comparison now works, fixes #8132 - r4479
(Persistence) Fixed some bugs in PDO backend - r4468
(Reflection) ObjectAccess now handles ArrayAccess implementations correctly - r4469
(Resource) The ResourceStreamWrapper now handles non-existent paths correctly in makeDirectory() and open(), fixes #8156 - r4491
(Resource) The ResourceInterceptor can now be given a default package key to use, fixes #8455; using that in TYPO3, resolves #8459, resolves #8456 - r4663
(Security) Follow up to #8427. Now inheritance of roles is (hopefully) working as expected - r4662

Replaced generic exceptions by exceptions coming from the defined exception hierarchy, resolves #7682 - r4483
(Cache) When splitting large data for memcache the split now uses self::MAX_BUCKET_SIZE for reference - r4482
(Documentation) Updated the Resource Management section in the FLOW3 manual - r4446
(Error) \F3\var_dump() now accepts an optional second parameter to set a custom title for your debug output. Relates to #8468 - r4619
(Error) The debugger now doesn't filter Resource classes anymore - r4446
(Locale) Changed exception hierarchy to be more meaningful. Relates #7722, #7724 - r4695
(Locale) Added support for iterating over results from HierarchicalCLDRModel. Relates to #7722 - r4445
(MVC) The Request object now returns the case sensitive action name, even if it has been set all lowercase by a route. That means that a route http://host/package/mycontroller/myaction will be correctly resolved to myActionAction if \F3\Package\Controller\MyController::myActionAction exists. Addresses #7243 - r4337
(Object) Added a more meaningful exception message to the ObjectContainerBuilder which detects leading backslashes in object names specified in an Objects.yaml file - r4671
(Object) The ObjectContainerBuilder now displays some additional information about the configuration source in case it finds a reference to non-existing object names - r4698
(Persistence) Renamed QOM to Qom to follow coding guidelines, part 4 of 2. I feel like Douglas Adams... Anyway, Subversion somehow ate an earlier try of this commit - r4623
(Persistence) The like() constraint now can be used case-insensitive (like equals); constraints do stricter checks on property and operand types - r4605
(Persistence) If objects have been blocked by security query rewriting, ignore them in certain places; relates to #6604 - r4638
(Persistence) Equality comparison in a query now works correctly when comparing against NULL, relates to #8299 - r4605
(Persistence) Passing an empty array to mapToObject() now causes a proper exception to be thrown - r4689
(Persistence) When persisting NULL values are now recorded and collection (array, SplObjectStorage) properties are restored as NULL if they contained NULL, resolves #6520 - r4605
(Security) Added a safeguard to catch syntax errors when loading the policy configuration - r4624

(AOP) Added the documentation for the matches operator, usable in runtime evaluations - r4626

(AOP) Global objects available in runtime evaluations can now be configured in the settings. Resolves #6598 - r4613
(AOP) Added a matches operator as a new possibility for runtime evaluations - r4613
(Cache) The memcached backend now handles expiry times of more than 30 days correctly, resolves #6143 - r4486
(Locale) Added base code for message formatting. Relates to #7724 - r4694
(Locale) Added support for aliases in CLDR parser. Relates to #7722 - r4504
(Locale) Added date / time formatting as defind in CLDR. Relates to #7722 - r4504
(Locale) Added fundamental classes for CLDR data reader. They will be used to build concrete readers. Relates to #7722 - r4344
(Locale) Added number formatting as defined in CLDR. Relates to #7722 - r4445
(Locale) Added support for plurals rules from CLDR. Relates to #7722 - r4399
(Object) The lifecycle initialization method (typically initializeObject()) is now also called after recreating an object (f.e. when it is recreated from persistent storage). Additionally, initializeObject() now gets a parameter to determine if creation or recreation took place. Resolves #8258 - r4517
(Persistence) Query now allows for comfortable chaining of constraints with logicalAnd() and logicalOr(), resolves #6736 - r4481
(Reflection) ObjectAccess:setProperty() now also supports arrays as a subject. Resolves #8133 - r4494
(Resource) The Resource Manager now provides an API method for getting more information about recently imported or uploaded resources. Resolves #8088 - r4446
(Resource) The resource:// stream wrapper now also supports persistent resource - just specify the resource hash to access one. Resolves #8082 - r4446
(Resource) Resource objects can now be converted to a string. Its __toString() method returns the resource's sha1 hash - r4446
(Security) Implemented the "Everybody" role that is always applied in the security context and configured in the policy. Resolves #8544 - r4761
(Security) Implemented request to "Create encryption hash if none was defined", resolves #7516, resolves #7517 - r4616
(Security) Implemented query rewriting according to the security policy. Relates to #5659, Resolves #6604 - r4613

(Object) Added session scope related methods to the object manager and interface - r4613
(Object) The Object Manager (and the object containers) now provide a method for retrieving the implementation class name by specifying the object name. Resolves #7960 - r4337
(Persistence) Query::isEmpty() has been added and can check for empty collection properties, relates to #8299 - r4605
(Persistence) Query::isEmpty() has been added and can check for empty collection properties, relates to #8299 - r4604


Fixed case of template filenames - r4339
(Core) AbstractViewHelper does not flood the syslog anymore. Resolves #5783 - r4594
(Core) Putting form fields in partial now works as expected. Resolves #4277 - r4595
(Core) Fixed misleading exception. Resolves #7417 - r4508
(ViewHelpers) ViewHelper did only check whether "multiple" attribute was set and not whether it was empty or not. Resolves #5879 - r4614
(ViewHelpers) fixed security viewhelpers: Since r4653 you'll have to set the rendering Context in the parent object when implementing ChildNodeAccessInterface. That was a breaking change - r4660

Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682 - r4483
(Core) Removed removeInterceptor() from Parser\Configuration, clear case of YAGNI - r4665
(Core) Introduced a RenderingContextInterface to more cleanly decouple Fluid's rendering context from the TypoScript rendering context. Note that view helpers (and other code) should now refer to that interface instead of the concrete Fluid implementation! - r4671
(TemplateView) Major refactoring of the layout, partial and section rendering mechanism. This also induces a speedup as redundant rendering is eliminated - r4607
(ViewHelpers) Added URI attribute to ResourceViewHelper - r4680
(ViewHelpers) Refactored f:persistence.identity ViewHelper to f:identity.json ViewHelper, giving the identity of an object as JSON string - r4669
(ViewHelpers) the <f:section />-ViewHelper now does NOT render itself anymore when encountered in a normal template. Example: Before the change, the template "before <f:section name='...'> middle </f:section> after" was rendered as "before middle after", but now it is only rendered as "before after". Although this is a breaking change, it is quite unlikely that anybody relied on this behavior, as it was inconsistent beforehand - r4607

The TemplateVariableContainer now provides a method to retrieve all variables - r4678
(ViewHelpers) The <f:render>-ViewHelper can be now used to render sections in the same partial and template. In these cases, all arguments need to be specified explicitely - r4607
(ViewHelpers) Added URI options format, additionalParams, absolute, addQueryString & argumentsToBeExcludedFromQueryString to FormViewHelper. Resolves #8247 - r4620
(ViewHelpers) GroupedForViewHelper can now group by object. Resolves #7389 - r4620
(ViewHelpers) The <f:render>-ViewHelper can be now used to render sections recursively - r4653
(ViewHelpers) Added DebugViewHelper. Resolves #8468 - r4620
(ViewHelpers) added "selectAllByDefault" argument to ViewHelper. Resolves #4984 - r4630
(ViewHelpers) Added ViewHelper for getting the identity of persisted objects - r4497

(TemplateView) Removed renderSection() and renderWithLayout() from public API in F3\Fluid\View\TemplateView, as this should only be called from inside Fluid - r4607


Now creates upperCamelCase template files, fixes #8177 - r4598


Fixed the electronic address validator for NULL primaryElectronicAddress - r4708
(Domain) PersonName->getFullName() now does not have spaces around the name anymore. Resolves #8639. Thanks to Sebastian Michaelsen for the patch! - r4769

Past Release Notes

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