Release Notes: This release adds a Document::isEquivalentTo method to compare two documents for equivalence, where two documents have the same elements but in different order (in contrast to equality check, which requires the same element ordering). It fixes a bug in BinaryData::getSize implementation where it was not reporting the 5 extra bytes (4 for the length of the binary data and 1 for the binary data type) included in the BSON representation. It refactors BinaryData to use a PIMPL to allow for efficient pass-by-value semantics.
Release Notes: This release fixes a bug in the Document::DocumentImpl::update method. Specifying the default index value of -1 led to a duplicate element being added to document.
Release Notes: This release adds an uma::bson::ODMObject base class for a more elegant ODM than the interface exposed by the base uma::bson::Object class. It adds a src/test/sample/odm directory with ODMObject based ODM sample classes and tests.
Release Notes: This release adds a Document::create method to create an empty element of a specified type, fixes a bug in Document::hasNestedElement when invalid paths were specified, and fixes a bug in Document::set method which led to duplicate entries.
Release Notes: Object::setValue is no longer purely virtual. The default implementation of Object::setValue is based on a reference returned by Object::getValue. This release fixes a bug in Document::remove and makes it return copy instead of reference. It updates Array::remove to return copy instead of reference. It adds an ObjectId::setBytes method to allow updating an ObjectId instance.
Release Notes: This release implements a simple callback-based ODM (Object-Document mapping) framework. Client applications can create model objects which store data as uma::bson::Value instances while extending from the new uma::bson::Object class. The unit test suite has been expanded to include the ODM test suite.