Doctrine MongoDB ODM release 1.0.3

Posted on November 3, 2015 by Maciej Malarz

We are happy to announce the immediate availability of Doctrine MongoDB ODM 1.0.3.

Reusing embedded documents

Until now, we have advised developers to deep clone embedded documents when changing owning documents; otherwise, strange things could happen. The reason being was that in order for ODM to properly track changes, it would store parent parent associations and manage the lifecycle of each document (top-level and embedded alike). It was therefore reasonable that Doctrine require relocated objects to be distinct instances.

Manual cloning is no longer needed!

With this relase, ODM will now do all the heavy lifting for you. Documents found to have been reused during a persist or flush lifecycle event shall be cloned by UnitOfWork automatically and updated on the parent document or collection.

Other bug fixes

Notable fixes may be found in the changelog. A full list of issues and pull requests included in this release may be found in the 1.0.3 milestone.

Work on 1.1 is starting and it will require PHP 5.5+

We are happy to announce that work on 1.1 is commencing! While no release dates have been scheduled, you can take a look at the 1.1 milestone for brief list of goodies that we intend to ship next. If you would like to suggest additional features or, better yet, help in with development, please get in touch. Currently, we are looking forward to implementing hydrated aggregation results, support especially now that MongoDB announced \$lookup operator, available for everybody in 3.2 and custom collection classes for EmbedMany and ReferenceMany associations.

The current master branch will soon become development branch for 1.1 and the PHP requirement will be bumped to 5.5. If you cannot upgrade your PHP runtime, please continue to use the 1.0.x branch. If you are interested in testing the latest bug fixes (before we tag them), you may want to follow the 1.0.x branch.