github mongodb/mongo-cxx-driver r3.0.0
MongoDB C++11 Driver 3.0.0

latest releases: r3.10.1, r3.10.0, debian/3.9.0-1...
8 years ago

This is the first stable release of the new MongoDB C++11 driver.

Please see our blog post for a full description of the new driver's design goals. The new driver is incompatible with all previous MongoDB C++ drivers. Due to the long history and complex version numbering of prior C++ drivers released by MongoDB, the C++11 driver is issuing its first stable release as 3.0.0. This is the lowest major version number that was found to be unambiguous with all previously released MongoDB C++ driver versions.

As specified in the Quickstart Guide, building the driver requires a conforming C++11 compiler (GCC 4.8.2, clang-3.5, VS 2015 Update 1, etc.) and depends on the 1.3.1 release of the MongoDB C Driver.

While we plan to commit to a stable ABI in the future, versions prior to 3.1.0 will not offer a stable ABI. The library currently has a soname ABI version of _noabi which indicates no API or ABI stability guarantee across any two releases. We are holding off on setting an ABI version so that we can incorporate post-GA feedback before locking down the ABI. We anticipate releasing 3.1.0 with an ABI this Spring.

API documentation can be found here. Please file JIRA tickets if you encounter any problems using the driver. Pull requests against the master branch are welcomed and encouraged.

Please note the following known issues in this release:

Known Issues

  • [CXX-778] - C++ driver SSL cannot be configured independently of C driver
  • [CXX-771] - Max time argument to some collection methods is ignored
  • [CXX-784] - Cannot use `document::view` with stream builder
  • [CXX-758] - Read concern is not inherited when not explicitly set when built against libmongoc < 1.3.2
  • [CXX-834] - Return local mongoc errors and server errors in different error spaces
  • [CXX-804] - ABI is not set

The following issues have been resolved in 3.0.0 since the prior 3.0.0-rc0 release:

Bug

  • [CXX-805] - options::find::comment() is unused
  • [CXX-811] - MCI builds that are failing are shown as passing
  • [CXX-813] - Memory leak detected
  • [CXX-814] - test_driver issues warning that bulk_write update_one requires $ operators
  • [CXX-825] - mongocxx_mocked in debug requres /bigobj on Windows
  • [CXX-827] - uri constructor calls .data() on a string_view and passes to libmongoc
  • [CXX-828] - Requires.private field occurs twice in....
  • [CXX-830] - bsoncxx passes non-terminated strings into libbson

Improvement

  • [CXX-522] - Tag free functions with calling convention macro
  • [CXX-680] - Productionize clang-format
  • [CXX-754] - write example that shows how to handle driver exceptions gracefully
  • [CXX-793] - Audit all files checked in to git for copyright header
  • [CXX-794] - Audit all C++ headers and source files for proper includes and include ordering
  • [CXX-796] - Improve bsoncxx doc comments
  • [CXX-807] - Enforce compiler minima in CMake
  • [CXX-810] - Remove WriteConcern fsync property
  • [CXX-812] - Support GCC 4.8.2
  • [CXX-815] - b64_ntop.h should be a private header and not installed
  • [CXX-817] - Improve bsoncxx polyfill selection options
  • [CXX-818] - Add doxygen 'relates' tag docs for all free relational ops
  • [CXX-819] - VS2015 build should default to boost, not mnmlstc
  • [CXX-821] - Fix TODO comments about linking to documentation when available

Don't miss a new mongo-cxx-driver release

NewReleases is sending notifications on new releases.