Changelog
2014-01-03: V 3.5.5
- DONE - BUGFIX Postgres writer creates wrong column when using Bcrypt hash (
issue #340)
2013-12-10: V 3.5.4
- DONE - Re-added V3.5.2 performance improvement and integrating it with FIX #335.
2013-12-10: V 3.5.3
- DONE - BUGFIX reverted performance improvement 3.5.2, causes extra column bug
- DONE - Added R::assocRow for keyed row querying
- DONE - Added Preloader support for aliased lists
- DONE - Preloader now allows multiple filtering
2013-11-26: V 3.5.2
- DONE - Minor performance improvement
2013-11-06: V 3.5.1
- DONE - Added __toString to SQLHelper, can be used for debugging purposes
- DONE - Added R::useWriterCache(), a nicer alias for $writer->setUseCache
2013-10-01: V 3.5.0 LTS
- DONE - R::dispenseAll,
a facade-only method to dispense various types at once
- DONE - R::loadAll, alias for R::batch for consistency
- DONE - R::ext(), to add dynamic plugins
- DONE - added R::inspect() replaces ugly R::$writer->methods().
- DONE - R::beansToArray
- DONE - Refactored glueSQLCondition method, added tests
- DONE - Improved support for named parameters
- DONE - Graph() now hardcoded in facade, no need for replica (easy for Composer)
- DONE - TimeLine log() now hardcoded in facade, no need for replica (easy for Composer)
- DONE - Removed sync() and R::unrelated()
- DONE - Automatically switches to utf8mb4 if MySQL/MariaDB version higher >= 5.5
- DONE - ENUMs
- DONE - Tree traversal
- DONE - Filter shared items by link conditions
- DONE - Via() - alias for R::renameAssociation
- DONE - Count related beans using countOwn and countShared
- DONE - Model Formatter support PHP namespaces out-of-the-box
- DONE - READ SUPPORT for UUIDS (primary key no longer cast to integer)
- DONE - White list for BeanCan Server
- DONE - BeanCan Server 2: REST-like routes
- DONE - Improve performance sharedList
- DONE - Improve query readability
- DONE - Improve notation Preloader, use 'ownPage|page' instead of 'ownPage'=>'page'
- DONE - Cheatsheet / relational matrix
2013-06-12: V 3.4.7
- DONE - Database name now visible in exception string.
- DONE - getCell now returns NULL instead of an empty array in case of an exception.
- DONE - Added static method for Null flag in Cooker to fix a test case.
2013-05-23: V 3.4.6
- DONE - Backward compatibility fix: re-added getProperties() in Bean class.
2013-05-15: V 3.4.5
- DONE - isChanged now also returns true if change to NULL.
2013-05-09: V 3.4.4
- DONE - Send along error code with connect.
2013-04-29: V 3.4.3
2013-04-11: V 3.4.2
2013-04-05: V 3.4.1
2013-04-01: V 3.4
- DONE - Beautification of column names
- DONE - Basic support for 1-1 and polymorph relations
- DONE - Integrate SQLHelper and with() withCondition()
- DONE - Easy way to add properties to a shared relation
- DONE - Easy way to use R::preload() for nested beans
- DONE - Renewed Support for spatial types
- DONE - Query Writer Cache
- DONE - Make Facade thinner (Harmonize APIs)
- DONE - $bean->old('property'); - Read previous value (3.3.4)
- DONE - $bean->hasChanged('property'); (3.3.4)
- DONE - $bean->isTainted(); - shorthand for getMeta('tainted') (3.3.4)
- DONE - Advanced exportAll
- DONE - MySQL boolean type now uses BOOLEAN columns
- DONE - Transactions will be disabled in fluid mode to suppress errors due to schema changes
- DONE - R::transaction(closure);
- DONE - SQL Helper integration one step further: $bean->with($sqlBuilderQuery)...
- DONE - Moved sync() and timeline() out of all-in-one package
- DONE - Added PostgreSQL types: line segments, circles and money
- DONE - nest query builders in the query builder.
- DONE - Removed escaping method from adapter
- DONE - Refactored escaping
- DONE - Added -- keep-cache in SQL to instruct writer cache to keep cache even if query is non-read
- DONE - Lots of code formatting
- DONE - Cleaned up documentation now using references to avoid duplicate comments
2012-11-16: V 3.3.7
- DONE - Fixed: Cant store initial literal 1.0 value
2012-11-16: V 3.3.6
- DONE - Fixed bug empty beans in R::preload()
- DONE - Fix minor issue cache loader with id 0
2012-11-01: V 3.3.5
- DONE - Fixed bug in R::preload()
- DONE - Harmonized Facade (preload and configure) for advanced users
2012-10-11: V 3.3.4
- DONE - Removed support spatial data types.
2012-10-11: V 3.3.3
2012-10-05: V 3.3.2
2012-10-04: V 3.3.1
2012-10-01: V 3.3
- DONE - Fixed ID-0 issue in BeanCan Server.See issue on Github.
- DONE - Added eager loading for parent beans.R::preload(...)
- DONE - OCI/Oracle fixes
- DONE - Tests for bean inject()
- DONE - Improvements documentation and clean up
- DONE - Backward compatibility switch for keyed exports: RedBean_OODBBean::setFlagKeyedExport()
- DONE - $bean->with() now also reloads the list, can now be used multiple times
- DONE - Beans now accept DateTime objects (convert to string)
- DONE - Keyless export
- DONE - Filtered export
- DONE - Order and filter own-lists
- DONE - Aliased lists
- DONE - Benchmarking
- DONE - Support for Oracle Database (plugin Writer) (thanks Stephane)
- DONE - Replica: Extend R-facade with plugins
- DONE - Replica: 'flavours'
- DONE - Composer Support
- DONE - R::syncSchema() easy way to sync databases
- DONE - New Cache plugin
- DONE - Tag caching
- DONE - Polymorphism: associate($bean,$mixedTypes)
- DONE - Display errors in fluid-debug mode
- DONE - BeanCan server: added export method
- DONE - Introduction strict type checking
- DONE - Improved Dependency Injection (3.2.1)
- DONE - Integer fix CUBRID writer (3.2.2)
- DONE - Database Writers optional for unit testing, depending on ini config
- DONE - Added $bean->setAttr($property,$value)->...; chainable
- DONE - Added $bean->unsetAll($properties)->...; chainable
- DONE - Now uses SPLExceptions (requires PHP >= 5.1)
- DONE - Added index-precheck to avoid redundant index creation Exceptions
- DONE - Fix index check
2012-06-27: V 3.2.3
- DONE - Fixed issue causing some columns not to get indexed
2012-06-21: V 3.2.2
- DONE - Fixed issue with large integers in CUBRID driver
2012-05-01: V 3.2.1
- DONE - Fixed naming convention details for CUBRID driver
2012-05-01: V 3.2
- DONE - Boxing and Unboxing beans
- DONE - R::findAll() to eliminate queries like R::find('1 ORDER BY ..);
- DONE - R::find() should accept a Query Helper object as well
- DONE - TimeLine plugin (Schema altering log), R::log()
- DONE - R::dependencies() changes foreign key constraints to cascade on delete
- DONE - CUBRID driver
- DONE - Postgres geometrical types
- DONE - R::isoDate and R::isoDateTime
- DONE - SQLHelper queries may contain spaces
- DONE - Chill Mode
- DONE - R::related($array,'page'); get multiple many-to-many at once
- DONE - FUSE Dependency injection
- DONE - Support for BIG INT primary keys
- DONE - Added R::taggedAll($type,$taglist) to find all beans having all tags in $taglist
- DONE - Added DuplicationManager and TagManager, no API changes
- DONE - Adapter now has clear error reporting
- DONE - Input validation R::related
- DONE - Store() and Trash() now also accept models
- DONE - Dup() no longer taints the bean
- DONE - reset capture mode in SQLHelper
- DONE - Refactored OODB to improve testability
- DONE - R::close() now resets connection flag properly
2011-10-01: V 3.1
- DONE - R::storeAll($beans)
- DONE - R::trashAll($beans)
- DONE - Support for Postgres datetime
- DONE - R::close() - closes database connection
- DONE - Model_Formatter getModelName($model,$bean) now gets a bean
- DONE - R::dispenseLabels($list)
- DONE - R::gatherLabels($beans)
2011-09-15: V 3.0.4
- DONE - Fixed issue in R::dup() Nullifying Ids after preloaded lists
2011-09-01: V 3.0.3
- DONE - Fixed issue in R::dependencies()
2011-08-15: V 3.0.2
- DONE - R::dependencies(...)
2011-08-01: V 3.0.1
2011-08-01: V 3.0
- DONE - Support for special, DB specific data types like DATE, DATETIME and SPATIAL types
- DONE - Mix SQL with PHP
- DONE - New Test Architecture
- DONE - Find() works with PostgreSQL without the need for first argument as WHERE
- DONE - R::graph($requestArray) - directly from facade
- DONE - A little REST support in BeanCan Server (more will follow)
- DONE - R::dup() - replaces copy, makes a deep copy of a bean, properly and without storing.
- DONE - new R::exportAll, exports all own-list, automatic recursion protection
- DONE - relaxed interface model formatter
- DONE - You can now unset parent objects using $bean->parent = null/false
- DONE - R::graph() has 2nd parameter to filter empty beans
- DONE - $bean->isEmpty(), returns TRUE if all the properties are empty
- DONE - R::graph() now throws exceptions in case of unexpected structure
- DONE - FALSE is stored as 0 in SQLite now
- DONE - Unrelated no longer triggers error when there are no associations at all
- DONE - R::findOne now returns NULL instead of FALSE - seems more appropriate
- DONE - Removed 3rd param in Exception to avoid issues with PHP 5.2 and earlier
- DONE - Removed Optimizers
- DONE - Removed Old cooker (now in plus-pack)
- DONE - Removed R::setupMultiple() - use R::addDatabase() instead
- DONE - Removed R::relatedOne() - use R::related() instead
- DONE - Removed Facade Helper OO
- DONE - Removed Legacy Tag API, explode issues
- DONE - Removed R::copy
- DONE - Removed Bean Exporter from all-in-one package
- DONE - Removed BeanFormatter, no longer supports custom ID fields
- DONE - Removed R::view()
2011-07-15: V 2.2.3
2011-07-01: V 2.2.2
2011-06-15: V 2.2.1
- DONE - Fixed minor issue with indirect modification of nested beans. (issue #100)
2011-06-01: V 2.2
- DONE - Added R::nuke()
- DONE - Added R::prefix()
2011-05-15: V 2.1
- DONE - Added R::genSlots()
- DONE - Added bean->exportToBean()
- DONE - Added R::exportAll($bean, TRUE) and R::exportAllToObj()
- DONE - Added RedBeanPHP Bean Exporter Class (RedBean_Exorter)
- DONE - Added R::addTags()
- DONE - Fixed an issue in SQLite that prevented columns in tables with custom ID fields to be widened
- DONE - Removed triggers from SQLite, now uses foreign key constraints
- DONE - Foreign key constraints will now be created correctly for tables with multiple keys as well
- DONE - Fixed an issue that prevented the use of camelCase in own- and shared- properties (still not recommended, bad practice)
- DONE - Fixed an issue concerning own/shared property and trash/delete hook (#90)
2011-05-01: V 2.0
- DONE - Support for N:1 relations
- DONE - On-the-fly Views
- DONE - Improved tagging
- DONE - Automatic constraints to keep link tables clean
- DONE - Automatic foreign key generation
- DONE - New and improved Form Cooker
- DONE - Bean2JSON when casting a bean to a string
- DONE - New flexbible architecture
- DONE - Clean up (less than 100KB now!)
- DONE - Many other improvments, bugfixes and tests…
2010-09-01: V 1.0-1.3
- DONE - 1.0 version of RedBeanPHP, New Architecture
2009-05-01: V 0.1-0.9
- DONE - Birth of RedBeanPHP, first betas
For details concerning versioning guidelines of RedBeanPHP take a look at the
versioning page.
Where is RedBeanPHP heading? Take a look into the crystal ball, peek into the future on the
RedBeanPHP roadmap.