As of April 2017, RedBeanPHP will be actively developed again. Over the last year some missing features have been identified and I decided there is still room for improvement. The new version of RedBeanPHP will be called RedBeanPHP 5. This is because it will involve a major change, the distribution will feature separate versions per database to reduce the overall codebase. A combined version (like the now) will also still be available. This means that unlike previous major upgrades, version 5 will be fully backward compatible.
- Separate versions for MySQL, Postgres and SQLite as well as combined (DONE)
- Storage of partial beans (DONE)
- R::look(...) perform query and put result in template (DONE)
- R::matchUp(...) match-and-update in one go (easy to create login functionality) (DONE)
- R::csv(...) create a CSV file from a query (DONE)
- R::diff(...) returns a diff between a pair of beans
- Added setEnforeUTF8Encoding to fix issue with stringifying binary data
- Added exists() to bean to check for relation
- Fixed notice in Facade inproper use of reset()
- Added missing validations for findOrDispense and findOneOrDispense
RedBeanPHP 3.5 EOL
RedBeanPHP 3.5 will reach its end-of-life status by October 2016. Make sure you have upgraded to RedBeanPHP 4.3 by that time. Unlike version 3.5 RedBeanPHP 4.3 does not support PHP 5.2 and PHP 5.1 if you're still on PHP 5.2 please upgrade to the latest version of PHP 7+ to continue using RedBeanPHP. RedBeanPHP 4.3 requires at least PHP 5.3.
The release cycle of RedBeanPHP is two times a year; a spring release and an autumn release. This means every six months there will be a new version of RedBeanPHP.
- Spring Beta release: March
- Spring Final release: April
- Autumn Beta release: September
- Autumn Final release: October
RedBeanPHP uses a very sane version numbering system. The version number tells you something about the version; it has meaning. All RedBeanPHP versions have a version number. The version number consists of three parts; major, minor and point release.Version X.X.X
When the major version number increases, this means the new version is NOT backward compatible with all previous versions. Most of the time this means you better not use it in your current project if you are already using RedBeanPHP or you might have to make some changes to the project to make it work with the new version of RedBeanPHP. This is not always as bad as it sounds. For instance version 3 is not backward compatible with version 2, but only if you use the optimizers (which by default are turned off). So while this is a major version bump it's actually not that bad. However, while difference between 2 and 3 is relatively small, the gap between 1 and 2 was a really big one. Anyway whenever the major version number changes make sure you check the changelog to determine whether you can upgrade or not.
A minor version change means new features! Minor versions don't break backward compatibiltity, they just mean new features have been added. Often, this goes hand in hand with changes in documentation or bugfixes. Therefore it's relatively safe to do a minor upgrade. Be sure though to check the changelog on the website. You might be able to take advantage of the new features!
A point version or point release happens when the last digit has been increased. Note that although you might assume a digit normally varies from 0-9, you might encounter minor and point releases like X.X.12 or X.30.X. Not sure if this will happen, however as RedBeanPHP matures you will see less major upgrades and more minor upgrades and point releases. A point release version is normally a maintenance version. This may include bugfixes, new tests, documentation changes or just some code cleanup. While it's always a good idea to scan the changelog most of the time you can be pretty sure there are no compatibility issues nor interesting new feature. Of course if you have reported an issue the point release can be quite interesting because the bug might have been fixed. In this case, the Github bug report number and the fix will be mentioned in the changelog.