FLOW3 1.0.0 beta1
Release Notes for FLOW3 1.0.0 beta 1
This document contains information about FLOW3 version 1.0.0 beta 1 which was released on August 29, 2011.
For a full list of new features and improvements please see our Changelog below.
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 http://flow.typo3.org/get-involved/ 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 will need to adjust your code for the newly introduced vendor namespaces. To aid with this task, there is a script available in the FLOW3 package. Simply call
from your distribution root directory and you'll get some instructions.
Table names for models
The table names now follow the fully qualified class names to avoid the risk of name clashes. To update the framework tables, run the included doctrine migrations using
To migrate your own tables, create migrations that are using "RENAME TABLE ... TO ..."
If you have account entries, you need to recreate their password hashes or configure your system to use the old salted MD5 hashing, the password hashing strategy may be replaced in the Objects.yaml. See https://review.typo3.org/#change,2332 for the change.
Authentication credentials in forms
If you have a login form, you need to change the parameter names with which username and password are passed for the username/password authentication. See https://review.typo3.org/#change,3375 for the change. Instead of
you need to use
[!!!][-FEATURE] (Persistence) Remove (old) persistence [!!!][BUGFIX] Avoid Credentials to be stored in the request [!!!][BUGFIX] Fix MVC Error Handling, and remove recursive Property Mapper configuration [!!!][BUGFIX] Make FunctionalTestCase usable for persistence tests [!!!][BUGFIX] Resolve non-standard model/repository bindings [!!!][FEATURE] (Property) Rewritten Property Mapper [!!!][FEATURE] Command line commands and optimized bootstrap [!!!][FEATURE] Implement a safe password hashing mechanism using PBKDF2 [!!!][FEATURE] Improve error and message handling, change validation API [!!!][FEATURE] New package bootstrap mechanism [!!!][FEATURE] Speed up ObjectAccess [!!!][TASK] Change $omitSignalInformation in SignalSlot [!!!][TASK] Change default policy for Doctrine to DEFERRED_EXPLICIT [!!!][TASK] Change generated table structure for Doctrine [!!!][TASK] Clean up MVC\Request hierarchy [!!!][TASK] Fix DDL for PDO cache backend [!!!][TASK] Improve API of Signal Slot Dispatcher [!!!][TASK] Make "prototype" default scope and additional scope checks [!!!][TASK] Make table name correspond to full model class name [!!!][TASK] Move interface introductions to class level [!!!][TASK] Remove (old) persistence remains [!!!][TASK] Remove sessionInitialization setting for Doctrine [!!!][TASK] Some improvements to CLI handling [FEATURE] (Documentation): Property Mapper documentation [FEATURE] (Error): Debug Exception Handler displays nested exceptions [FEATURE] (MVC): Make SubRequestBuilder extensible [FEATURE] (Persistence) Add Doctrine adapter [FEATURE] (Persistence) Bring back generic persistence [FEATURE] (Property) Allow to explicitly specify a TypeConverter [FEATURE] A console log backend [FEATURE] Add a getter to retrieve all configured roles [FEATURE] Add a typo3.org SSO authentication provider [FEATURE] Add addRole() and removeRole() to Account [FEATURE] Add Doctrine commands for CLI [FEATURE] Add Doctrine Migrations support [FEATURE] Add flow3:doctrine:dql command [FEATURE] Add flow3:doctrine:info command [FEATURE] Add method to refresh tokens and update credentials [FEATURE] Add string to boolean Type converter [FEATURE] Allow AOP to work on abstract classes [FEATURE] Allow property introduction through AOP [FEATURE] Basic help support for command line commands [FEATURE] CLI CommandManager [FEATURE] DateTime conversion support [FEATURE] Debug backtrace output in command line mode [FEATURE] Do not ignore @throws annotation [FEATURE] Doctrine: Automatically add joins for subproperty constraints [FEATURE] Documentation: First version of Property Mapper [FEATURE] Enable autogenerated @Id properties for Doctrine [FEATURE] Enable CSRF protection for ExtDirect requests [FEATURE] Enable SQL connection initialization [FEATURE] Enhance the RsaWalletService [FEATURE] Exit code support for command-line responses [FEATURE] Filter FLOW3_AOP_* properties from var_dump output [FEATURE] FLOW3 (Core): Enable per-package autoloaders [FEATURE] FLOW3 (Debugger): var_dump on CLI with ANSI colors [FEATURE] FLOW3 (Security): Add HTTP Basic authentication mechanism [FEATURE] FLOW3 (Security): Make used authentication token class configurable [FEATURE] FLOW3 (Security): Return correct response for access denied exceptions [FEATURE] FLOW3 (Utility): Fetch authorization request header in Environment [FEATURE] Hide internal commands in command line help [FEATURE] Implement autocompletion in interactive shell mode [FEATURE] Intelligently recognize boolean options [FEATURE] MVC: Get root request from sub request [FEATURE] New proxy class compiling mechanism [FEATURE] New signal "afterControllerInvocation" in MVC Dispatcher [FEATURE] Offer use of reflection in ObjectAccess [FEATURE] Property: Add boolean to boolean converter [FEATURE] Property: Include array to object converter [FEATURE] Re-introduce Lock Manager [FEATURE] Read migrations from active packages [FEATURE] Reference Code for Exceptions [FEATURE] Reflection: Allow access to description in reflections [FEATURE] Routing supports multidimensional arguments [FEATURE] Security: Add CSRF protection for restricted controllers [FEATURE] Security: Add request resuming after security interception [FEATURE] Set useful defaults for cascade attributes in Doctrine [FEATURE] Shorthand command commands and arguments [FEATURE] Support DateTime in JsonView [FEATURE] Support Linux ACLs for setfilepermissions [FEATURE] Use ACLs and common interface for set file permissions [FEATURE] Use dedicated log for SQL queries [FEATURE] Utility: tweak Array utitility class [FEATURE] Vendor Namespaces Support [FEATURE] Warm up caches [FEATURE][BUGFIX] Calculate referenced column names from class code [BUGFIX] Rename and combine TypeConverters [BUGFIX] (Command): Add a safeguard if class does not exist [BUGFIX] (Doctrine) Teach SqlitePlatform it's own type [BUGFIX] (Documentation): add Property Mapper chapter to manual, update authors [BUGFIX] (Functional Tests): Make sendWebRequest more realistic [BUGFIX] (MVC): Introduce internal Request Arguments [BUGFIX] (MVC): Original Request must only be set if there is a validation error [BUGFIX] (Object): Session objects with fallbacks [BUGFIX] (Package) Clear message when package dir cannot be deleted [BUGFIX] (Persistence): Doctrine\QueryResult::getQuery() should return cloned query [BUGFIX] (Persistence): Implement deferred loading in Doctrine\QueryResult [BUGFIX] (Property): Fix edge case in property mapper [BUGFIX] (Property): Refactor TypeConverter API [BUGFIX] (Property, Validation): Code Cleanup [BUGFIX] (Reflection): Make ObjectAccess::getPropertyPath() more robust [BUGFIX] (Reflection): Only detect tags when they are at the beginning of a line [BUGFIX] (Resource): Fix file upload [BUGFIX] (Tests): Fix test cases [BUGFIX] (Tests): fixed test cases [BUGFIX] (Utility) Fix isDot() use in Files [BUGFIX] (Utility) Make emptyDirectoryRecursively() remove dot-names [BUGFIX] (Validation): Only add a property validator when the built validator is non-empty [BUGFIX] (Validation): Remove PropertyError [BUGFIX] Add timeout parameter to delete calls [BUGFIX] Adding ArrayToArray Converter [BUGFIX] Allow advice on __construct and __clone even if not in class [BUGFIX] Allow command controllers in packages without vendor name [BUGFIX] Allow more than one token class per provider [BUGFIX] Allow skipping of arguments in signal dispatch [BUGFIX] Always lowercase file extensions in Resource [BUGFIX] AOP proxies pass NULL arguments to parent [BUGFIX] AOP: Also execute advices of a parent method [BUGFIX] AOP: Don't call parent::__wakeup() twice [BUGFIX] AOP: Fix global runtime evaluations definitions [BUGFIX] AOP: Fix multiple runtime conditions per method [BUGFIX] AOP: Fix proxy initialization in inherited proxyclasses [BUGFIX] Avoid public resources from being deleted on Windows [BUGFIX] Avoid warning in memcache unit test [BUGFIX] Broken error message in generic Request class [BUGFIX] Bugfix for "Replace readlink() by realpath()" commit [BUGFIX] Cache manager should flush classes in Tests [BUGFIX] Caches are not flushed on change files [BUGFIX] Caching of unproxied classes in ProxyClassBuilder [BUGFIX] Call wakeup method of parents to initialize AOP structures [BUGFIX] Clean up cache file backend unit tests [BUGFIX] Cloning an entity should result in a new Uuid [BUGFIX] Command is not run in compile time if identifier is abbreviated [BUGFIX] Completely serialize not yet persisted entities [BUGFIX] Consider DateTime objects in valuehash generation [BUGFIX] deactivate interactive shell if it's not available [BUGFIX] delay in redirects is ignored [BUGFIX] Directory Iteration should skip hidden directories [BUGFIX] Doctrine: Allow nesting of AND and OR conditions in queries [BUGFIX] Exception is created but not thrown [BUGFIX] Fatal error in redis backend cache tests [BUGFIX] Fix a type hint in the package manager interface [BUGFIX] Fix and cleanup UriBuilder [BUGFIX] Fix AOP Proxy Building [BUGFIX] fix APC unit test [BUGFIX] Fix aspect change detection in AOP ProxyClassBuilder [BUGFIX] Fix broken comment in CacheManager [BUGFIX] Fix cache file backend collectGarbage() [BUGFIX] Fix calculation of identifier for value objects [BUGFIX] Fix compile command on Windows [BUGFIX] Fix constructor setting injection for singletons [BUGFIX] Fix CSRF protection for camelCased actions [BUGFIX] Fix exception message for missing memcache extension [BUGFIX] fix exception message for missing Package.php [BUGFIX] Fix generic persistence [BUGFIX] Fix invalid API call in command line interactive shell [BUGFIX] Fix log messages in AOP proxy creation [BUGFIX] Fix minor CLI command issues [BUGFIX] Fix order in which settings are merged [BUGFIX] Fix param handling in FLOW3's Doctrine\Query [BUGFIX] Fix permissions of imported resources [BUGFIX] Fix permissions of imported resources [BUGFIX] Fix potentially uninitialized variable [BUGFIX] Fix several generic persistence problems [BUGFIX] Fix typo in Bootstrap [BUGFIX] Fix undefined index error on SqliteSchemaManager [BUGFIX] Fix used signal name in SignalAspect [BUGFIX] Fix value hash for subclassed valueobjects [BUGFIX] Fix wrong quotes in ProxyMethod class [BUGFIX] FLOW3 (Error): Make \F3\var_dump more robust [BUGFIX] FLOW3 (MVC): Fix redirect for sub requests [BUGFIX] FLOW3 (Reflection): ObjectAccess::isPropertyGettable works for ArrayAccess objects [BUGFIX] FLOW3 (Security): Fix separation of tokens in security context [BUGFIX] Flush caches after changing package states [BUGFIX] Handle deletion of orphaned references in abstract backend [BUGFIX] Handle treatment of FALSE in igbinary_unserialize() [BUGFIX] Increase minimum PHP version to 5.3.2 [BUGFIX] Inherited methods cannot be adviced [BUGFIX] Initialize AOP system on __wakeup() of proxy class [BUGFIX] initialize commandMethodName in CommandController [BUGFIX] Injection with factory settings is usable again [BUGFIX] It should be possible to disable Doctrine integration [BUGFIX] Join Table names are not truncated correctly [BUGFIX] Lifecycle methods are executed twice for advice constructors [BUGFIX] Make cached configuration symlink aware [BUGFIX] Make cached configuration symlink aware [BUGFIX] Make CSRF protection work with recent changes on UriBuilder [BUGFIX] Make doctrine update and compilation configurable [BUGFIX] Make Doctrine\Query serializable [BUGFIX] Make entity-only ACLs possible in PolicyService [BUGFIX] Make getLimit() and getOffset() return stuff [BUGFIX] Make internal arguments accept Objects [BUGFIX] Make links/redirects work in SubRequests [BUGFIX] Make sure countAll() returns integers [BUGFIX] Make sure entities can be used in links/redirect [BUGFIX] Make sure to never proxy internal classes [BUGFIX] Make table name in @Table annotation optional [BUGFIX] Make value object hash calculation more robust [BUGFIX] MessageTest adjusted to the last Message changeset [BUGFIX] Methods whose name contain "protected" can't be adviced [BUGFIX] Modify queries in persistence only when Security Context is available [BUGFIX] MVC: Correctly reset controller subpackage key in forward [BUGFIX] Only serialize session if it has been initialized [BUGFIX] Only write Reflection Data if it changed [BUGFIX] Persistence: Fix count queries with parameters [BUGFIX] Persistence: Fix Doctrine inheritance mapping for base class [BUGFIX] Persistence: Fix lazy loading with clone in generic persistence [BUGFIX] PersistentObjectConverter can convert non UUID strings [BUGFIX] Properly escape and quote CLI arguments [BUGFIX] Property Mapper does not support interface as conversion target [BUGFIX] Provide SystemLogger to PointcutMethodNameFilter [BUGFIX] ProxyClassBuilder produces valid code for prototype arguments [BUGFIX] Reflection returns more FLOW3 specific reflection objects [BUGFIX] Reflection Service does not save emerged class reflections [BUGFIX] Reflection: Annotations without values are added in the proxy classes [BUGFIX] Register shutdown object methods on object creation [BUGFIX] Regression: Permissions for Configuration/ [BUGFIX] Remove constructor in RawValidator [BUGFIX] remove datecheck on timezone test [BUGFIX] Remove obsolete fix permissions on flow3_dev [BUGFIX] Remove obsolete variable definition from ApcBackend [BUGFIX] Remove unnecessary chmod for PackageStates [BUGFIX] Remove unused variable in Cache PdoBackend tests [BUGFIX] replace uniqid() calls in Unit Tests [BUGFIX] Request arguments should never contain objects [BUGFIX] RoutePart default values can't be set recursively [BUGFIX] RouteParts must always return strings [BUGFIX] Router skips routes if the target controller does not exist [BUGFIX] Save policy cache before doctrine compilation is triggerd [BUGFIX] Security Randomizer produces a Warning on Windows [BUGFIX] Security: Fix runtime evaluations with global objects [BUGFIX] Session: Make ProxyClassBuilder aware of uninitialized DoctrineProxies [BUGFIX] Set proper file permissions with setfacl [BUGFIX] Set proper permissions for Configuration/ [BUGFIX] Several AOP bugfixes [BUGFIX] sub request argument namespace is not set recursively [BUGFIX] Testing: Fix var annotations in FunctionalTestCase [BUGFIX] Testing: Make functional tests run with the new bootstrap [BUGFIX] Undo change "Allow more than one token class per provider" [BUGFIX] Warn if exception dump could not be written [BUGFIX] Let NullBackend implement PhpCapableBackend [BUGFIX] Fix method visibility filter [BUGFIX] Fix runtime evaluations with global objects [BUGIFX] Fix table name inference for packages without vendor name