CouchDB 0.9-alpha with several new features and some API changes has just been released, so that we are pleased to announce a new release of PHPillow, too. The most important change is PHP 5.2 compability, which comes together with some API changes. PHPillow itself is an object orientated wrapper around the document orientated database CouchDB.
Thanks to Jan und Till, who started to port PHPillow to PHP 5.2, PHPillow is now fully compatible with this version of PHP. This involved some API chnages, since PHPillow earlier relied on late static binding (LSB), a feature only available in PHP 5.3. This has been introduced more as a test for this PHP feature, and actually cluttered the API a bit, so this release can also be considered an API cleanup.
The changes, as reported in the changelog, are:
Implemented: Support PHP 5.2
Implemented: Support for HTTP-Redirects. They only work on the same server, which should be OK, especially for CouchDB.
Implemented: BC handling for old CouchDB view paramters introduced using new view parameter names. Breaks support for CouchDB 0.8.1, since trunk and and 0.8.1 are API incompatible now.
Implemented: __isset() for phpillow documents
Implemented: Indexable date validator
Implemented: Float number validator
Implemented: Use PHPs stream wrapper for HTTP communication
Implemented: Made connection base class abstract and layed out stream connection handler in custom class.
Implemented: Option to set the timeout directly in the connection class with a lower default timeout.
Implemented: Support for group and group_level view parameters
Implemented: Script to backup and restore database independant from CouchDBs storage file format. (experimental)
No bugs were fixed - because no bugs has been reported. :) If you find some, you can report them in PHPillows issue tracker.
All the API changes are documented in the release tarball in the file "apichange.txt". Read it carefully, it should help you to save some time migrating to the new release.
Again, I hope not to need to break the API again, but since CouchDB is still alpha, too - this might happen again. Porting arbit to the new version of PHPillow was a matter of minutes, though. From now on PHPillow will only work with CouchDB in version 0.9 or later.