I am very proud to announce the release of Flextrine 0.9. This is a major release with changes across the board; much of the codebase has been improved, optimized and cleaned up, and a host of new features have been added. Flextrine has also moved from Google Code to Github, and the documentation has been completely updated for the new version and is available on the Github wiki. Some of the new features are listed below:
- The ability to run multiple Flextrine applications within a single install – Flextrine will ship with a micro-framework to facilitate this along with a command line tool to create new projects.
- Flextrine Manager functions, including entity generation, will become available through the command line (implemented through the Doctrine console tool) to aid in build processes. The Flextrine Manager has been removed.
- Configuration files are YAML instead of PHP.
- Support for XML, YAML as well as annotations in entities (this was done mainly to enable the use of the awesome ORM Designer) .
- Massive performance boosts when updating large objects graphs.
- Lazily loaded collection associations can be configured to load on demand, throwing ItemPendingErrors to allow Flex components to react to the updates automatically.
- Lazily loaded entities can be configured to load on demand.
- Improved DQL querying from Flex including support for named parameters and hydration modes including scalar queries.
- Bi-directional associations are now auto-managed by Flextrine, so there is no longer a need to set both sides of the relationship.
- An EntityManager::rollback() method that undoes any changes made to the repository.
- Class table and single table inheritance.
- By default repositories hold weak references so that unused entities are eligible for garbage collection after Configuration::entityTimeToLive has elapsed (configurable globally or per repository).
- The option to run Flextrine in PULL mode; this queues up changes but doesn’t apply them to the repositories until a successful return from em.flush() (experimental!)
- PagedCollections which load query results as the user scrolls (experimental!)
- Integrated support for access control to entities using Zend_Acl (experimental!)
- Heaps of bug fixes!
Flextrine v0.9 is available from www.flextrine.com