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.
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: A redesigned and refactored API that has been developed almost exclusively on Windows 7 using MSVC 2010 in 32-bit mode. The API is mostly the same as the previous 1.3 release, with only a few changes. The implementation is in some cases a lot different, but should be transparent to the user. The current release has been tested on Mac OS X 10.8, LLVM 3.1 64 bit mode, Solaris 11 GCC 4.7.2 32- and 64-bit mode, and Windows with MSVC 2010 and 2012 in 32- and 64-bit mode.
Release Notes: Clone methods were added to Document and Array to perform true deep cloning of documents/arrays. The next version 2.0 will include breaking API changes and will focus primarily on working with MSVS 2010 32-bit builds.
Release Notes: This release enables bson output verification using the MongoDB bsondump utility in the unit test suite for Windows builds, adds minor refactoring and code cleanup, and inlines a few methods.
Release Notes: This release downgrades sources from C++11 to C++98 for use in older systems and mobile devices. The C++11 bases sources have been moved to a branch in the project subversion repository. This release also works with the Windows 7/MSVS 2010 64-bit build.