MongoDB C++11 Driver 3.1.3

@saghm saghm released this Aug 21, 2017

This is the fourth stable release in the mongocxx 3.1.x series.

This release provides bug fixes since r3.1.2.

Please note that this version of mongocxx requires the MongoDB C Driver 1.5.0.

See the MongoDB C++ Driver Manual and the Driver Installation Instructions for more details on downloading, installing, and using this driver.

NOTE: The mongocxx 3.1.x series does not promise API or ABI stability across patch releases.

The full list of user-visible issues that have been resolved in 3.1.3 since the prior 3.1.2 series are as follows:

Bug

  • [CXX-1423] - Add missing include for <cassert> in tests

Downloads

MongoDB C++11 Driver 3.1.2

@saghm saghm released this Jul 12, 2017 · 4 commits to releases/stable since this release

This is the third stable release in the mongocxx 3.1.x series.

This release provides bug fixes since r3.1.1.

Please note that this version of mongocxx requires the MongoDB C Driver 1.5.0.

See the MongoDB C++ Driver Manual and the Driver Installation Instructions for more details on downloading, installing, and using this driver.

NOTE: The mongocxx 3.1.x series does not promise API or ABI stability across patch releases.

The full list of user-visible issues that have been resolved in 3.1.2 since the prior 3.1.1 series are as follows:

Bug

  • [CXX-1191] - Backport mongocxx::uri::database() segfaults if no database specified in URL
  • [CXX-1371] - Backport fix for b_timestamp fields appending in wrong order

Downloads

MongoDB C++11 Driver 3.1.1

@xdg xdg released this Dec 20, 2016 · 10 commits to releases/stable since this release

This is the second stable release in the mongocxx 3.1.x series.

This release provides bug fixes since r3.1.0.

Please note that this version of mongocxx requires the MongoDB C Driver 1.5.0.

See the MongoDB C++ Driver Manual and the Driver Installation Instructions for more details on downloading, installing, and using this driver.

NOTE: The mongocxx 3.1.x series does not promise API or ABI stability across patch releases.

The full list of user-visible issues that have been resolved in 3.1.1 since the prior 3.1.0 series are as follows:

Bug

  • [CXX-1167] - Backport CXX-1163 - Compiling with SSL support doesn't work
  • [CXX-1170] - Backport CXX-1158 - Unable to link against SSL libs on MacOS
  • [CXX-1176] - Backport CXX-1043 - Add doxygen tag for mongocxx and bsoncxx namespaces

Downloads

MongoDB C++11 Driver 3.1.0

@jrassi jrassi released this Dec 13, 2016 · 18 commits to releases/stable since this release

This is the first stable release in the mongocxx 3.1.x series.

This release provides support for new features in MongoDB 3.4.

Please note that this version of mongocxx requires the MongoDB C Driver 1.5.0.

See the MongoDB C++ Driver Manual and the Driver Installation Instructions for more details on downloading, installing, and using this driver.

NOTE: The mongocxx 3.1.x series does not promise API or ABI stability across patch releases.

Note that there are no changes since the prior 3.1.0-rc0 release, with the exception of two documentation fixes (CXX-1149 and CXX-1155).

The full list of user-visible issues that have been resolved in 3.1.0 since the prior 3.0.x series are as follows:

Bug

  • [CXX-894] - Return disengaged result optionals for unack'ed write operations
  • [CXX-938] - stdx polyfills are not declared in the ABI inline namespace
  • [CXX-1001] - mongocxx::cursor.begin() increments the iterator
  • [CXX-1009] - mongocxx::pool should take options::pool, not options::ssl
  • [CXX-1039] - Update link to final collation page in 3.4 manual
  • [CXX-1047] - MSVC warning C4714, bsoncxx operator <<, view() etc. marked as __forceinline not inlined
  • [CXX-1061] - Update link to final views page in 3.4 manual
  • [CXX-1065] - read_concern::acknowledge_string should return const string_view
  • [CXX-1070] - Confusing installation instructions
  • [CXX-1093] - collection::distinct() should return error to user if collation specified and connection max wire version < 5
  • [CXX-1100] - Having more than one iterator per cursor violates mongoc lifecycle constraints
  • [CXX-1109] - Integration tests should pass against server versions 2.4 through 3.0
  • [CXX-1135] - Read preference option not applied to distinct
  • [CXX-1149] - Links to MongoDB Manual in documentation should point to development version of manual instead of stable version

New Feature

  • [CXX-778] - Allow configuration of SSL independently of the C driver
  • [CXX-859] - Implement Decimal 128 type spec
  • [CXX-927] - Support sending writeConcern for commands that write
  • [CXX-948] - Support new readConcern level "linearizable"
  • [CXX-957] - Allow a user to decide whether to build static or shared libraries
  • [CXX-971] - Support providing collation per operation
  • [CXX-976] - Allow users to set a limit on acceptable staleness
  • [CXX-978] - Add application name and driver version to the MongoDB handshake
  • [CXX-999] - Support read-only views
  • [CXX-1042] - Write mongocxx configuration guide
  • [CXX-1051] - Add new top-level find options and deprecate options::find::modifiers()
  • [CXX-1053] - Add getters to options::create_collection/options::create_view/validation_criteria classes, make setters support chaining, deprecate to_document() methods
  • [CXX-1059] - Add aggregation pipeline class builder methods for new MongoDB 3.4 stages and $geoNear / $indexStats stages
  • [CXX-1124] - Username no longer required for MONGODB-X509 auth
  • [CXX-1132] - Test that collection::find(), collection::find_one(), and collection::find_one_and_*() fail with error if collation specified and server lacks collation support
  • [CXX-1134] - Add bsoncxx generic internal error code
  • [CXX-1142] - Make minimum value of maxStalenessSeconds 90 seconds
  • [CXX-1155] - Add Windows configure/build/test instructions to cxx driver manual

Downloads

MongoDB C++11 Driver 3.1.0-rc0

@xdg xdg released this Nov 29, 2016 · 29 commits to releases/stable since this release

This is the first release candidate for mongocxx 3.1.0, the MongoDB C++11 driver.

This release provides support for new features in MongoDB 3.4.

Please note that this version of mongocxx requires the MongoDB C driver 1.5.0.

See the MongoDB C++ Driver Manual and the Driver Installation Instructions for more details on downloading, installing, and using this driver.

NOTE: The mongocxx 3.1.x series does not promise API or ABI stability across patch releases.

The full list of user-visible issues that have been resolved in 3.1.0-rc0 since the prior 3.0.x series are as follows:

Bug

  • [CXX-894] - Return disengaged result optionals for unack'ed write operations
  • [CXX-938] - stdx polyfills are not declared in the ABI inline namespace
  • [CXX-1001] - mongocxx::cursor.begin() increments the iterator
  • [CXX-1009] - mongocxx::pool should take options::pool, not options::ssl
  • [CXX-1039] - Update link to final collation page in 3.4 manual
  • [CXX-1047] - MSVC warning C4714, bsoncxx operator <<, view() etc. marked as __forceinline not inlined
  • [CXX-1061] - Update link to final views page in 3.4 manual
  • [CXX-1065] - read_concern::acknowledge_string should return const string_view
  • [CXX-1070] - Confusing installation instructions
  • [CXX-1093] - collection::distinct() should return error to user if collation specified and connection max wire version < 5
  • [CXX-1100] - Having more than one iterator per cursor violates mongoc lifecycle constraints
  • [CXX-1109] - Integration tests should pass against server versions 2.4 through 3.0
  • [CXX-1135] - Read preference option not applied to distinct

New Feature

  • [CXX-778] - Allow configuration of SSL independently of the C driver
  • [CXX-859] - Implement Decimal 128 type spec
  • [CXX-927] - Support sending writeConcern for commands that write
  • [CXX-948] - Support new readConcern level "linearizable"
  • [CXX-957] - Allow a user to decide whether to build static or shared libraries
  • [CXX-971] - Support providing collation per operation
  • [CXX-976] - Allow users to set a limit on acceptable staleness
  • [CXX-978] - Add application name and driver version to the MongoDB handshake
  • [CXX-999] - Support read-only views
  • [CXX-1042] - Write mongocxx configuration guide
  • [CXX-1051] - Add new top-level find options and deprecate options::find::modifiers()
  • [CXX-1053] - Add getters to options::create_collection/options::create_view/validation_criteria classes, make setters support chaining, deprecate to_document() methods
  • [CXX-1059] - Add aggregation pipeline class builder methods for new MongoDB 3.4 stages
  • [CXX-1124] - Username no longer required for MONGODB-X509 auth
  • [CXX-1132] - Test that collection::find(), collection::find_one(), and collection::find_one_and_*() fail with error if collation specified and server lacks collation support
  • [CXX-1134] - Add bsoncxx generic internal error code
  • [CXX-1142] - Make minimum value of maxStalenessSeconds 90 seconds

Downloads

MongoDB C++11 Driver 3.0.3

@jrassi jrassi released this Nov 15, 2016 · 172 commits to releases/stable since this release

This is the third patch release of the new MongoDB C++11 driver. Please see the release notes for the 3.0.3 driver below for additional details on this new driver.

Please note that this version of the driver requires the MongoDB C driver 1.3.4 in order to build and exhibit expected behavior.

The MongoDB C++11 driver 3.0.x series does not promise API or ABI stability across patch releases. There are two API breaking changes in the 3.0.3 release:

  • [CXX-1068] - Make bsoncxx iterators always const_iterators
  • [CXX-1089] - document::element::operator[] overloads should not throw when given an invalid element

The full list of user-visible issues that have been resolved in 3.0.3 since the prior 3.0.2 release are as follows:

Bug

  • [CXX-1018] - Document production/API/ABI stability across branches
  • [CXX-1044] - collection::find() ignores find options "allow_partial_results" and "no_cursor_timeout"
  • [CXX-1045] - collection::count() serializes options::count::hint incorrectly
  • [CXX-1049] - Install target fails to install headers when source absolute path contains the substring "test"
  • [CXX-1062] - read_concern::acknowledge_string() creates invalid read concern when attempting to set to server default
  • [CXX-1063] - mongocxx::uri doesn't validate URI on construction
  • [CXX-1068] - Make bsoncxx iterators always const_iterators
  • [CXX-1072] - database::create_collection() sends invalid request to server when "no_padding" option is set to true
  • [CXX-1089] - document::element::operator[] overloads should not throw when given an invalid element
  • [CXX-1101] - collection::drop() throws exception when collection does not exist and connected to 3.0 mongod or earlier
  • [CXX-1103] - bsoncxx test binary doesn't return test status in exit code
  • [CXX-1116] - result::insert_one/insert_many returns possibly-dangling references for inserted ids, no definition provided for result::insert_many::result()

Downloads

MongoDB C++11 Driver 3.0.2

@xdg xdg released this Sep 19, 2016 · 440 commits to master since this release

This is the second patch release of the new MongoDB C++11 driver. Please see the release notes for the 3.0.1 driver below for additional details on this new driver.

Please note that this version of the driver requires the MongoDB C driver 1.3.4 in order to build and exhibit expected behavior.

The MongoDB C++11 driver 3.0.x series does not promise API or ABI stability across patch releases. There are some minor API breaking changes in the 3.0.2 release. We apologize for any inconvenience. We are aiming to achieve API stability for the upcoming 3.1.x series. Some known changes include:

  • bsoncxx::oid objects are now default initialized to a valid state
  • JSON-ification of element and types has been removed
  • JSON formatting has changed to use libbson's JSON algorithm

Bug

  • [CXX-878] - max_time->count(), seconds.count() ambiguous
  • [CXX-879] - Error-prone use of std::time_t in bsoncxx::types::b_date
  • [CXX-880] - MongoDB C++11 driver fails to build on FreeBSD
  • [CXX-893] - Link errors in Debug Build
  • [CXX-896] - Use chrono::duration for mongocxx::options::index::expire_after_seconds
  • [CXX-917] - SSL support is examining the wrong define to detect C driver SSL support
  • [CXX-919] - BSON Null should not be discouraged
  • [CXX-934] - Remove database::stats()
  • [CXX-940] - Default constructed bsoncxx::oid object is dangerous
  • [CXX-941] - When converting to JSON, strings are not escaped
  • [CXX-986] - Invalid error handling in find_and_modify - null pointer access
  • [CXX-988] - Fix documentation of invalid element access
  • [CXX-1010] - PR: Use a regular string not a raw string for MSVC2015
  • [CXX-1011] - PR: Support finding libbson and mongo_c on Windows when pkg-config is present
  • [CXX-1034] - unique_ptr T type for document and array value should be array-ish
  • [CXX-1040] - Segmentation fault in instance_management

Improvement

  • [CXX-861] - Documentation missing examples for accessing data
  • [CXX-881] - Change mongocxx::options setters to return a self reference
  • [CXX-882] - Incorrect mongoc include path, non-pkgconfig
  • [CXX-886] - Add the $lookup pipeline operator
  • [CXX-887] - Create an example of getting _id's from insert results
  • [CXX-890] - Add an example that shows how to manage a long-lived instance object
  • [CXX-902] - Reduce flushes on output operations...
  • [CXX-904] - Grammatical errors in API documentation...
  • [CXX-916] - Documented exceptions are incorrect

New Feature

  • [CXX-784] - Add ability to use document::view with stream builder
  • [CXX-875] - Database::has_collection has ambiguous error modes

Downloads

MongoDB Legacy C++ Driver 1.1.2

@jrassi jrassi released this Jun 21, 2016 · 907 commits to master since this release

This is a minor patch release above the prior legacy-1.1.1 release, and is a recommended upgrade for all users of legacy-1.1.1 or older legacy driver releases.

There are only trivial differences between this release and the legacy-1.1.1 release, below. This release is being issued to roll up backports from MongoDB r3.0.8...r3.0.12.

Bug

  • [CXX-899] - Update documentation of third-party licenses
  • [CXX-906] - Null dereference in DBClientWithCommands methods: getCollectionNames(), getCollectionInfos(), exists()
  • [CXX-920] - ConfError utility is not defined in the legacy driver build system
  • [CXX-921] - legacy driver fails to build on FreeBSD
  • [CXX-924] - legacy driver fails to build on Hurd
  • [CXX-928] - "KeyError: 'MONGO_SSL'" build error in non-SSL legacy builds

Improvement

  • [CXX-832] - Friendlier error message when decoding Decimal128 BSONElements

Task

  • [CXX-850] - Backport server r3.0.8..r3.0.12 changes

Downloads

MongoDB Legacy C++ Driver 1.1.1

@acmorrow acmorrow released this Apr 19, 2016 · 676 commits to releases/stable since this release

This is a minor patch release above the prior legacy-1.1.0 release, and is a recommended upgrade for all users of legacy-1.1.0 or older legacy driver releases.

There are only trivial differences between this release and the legacy-1.1.0 release, below. This release is being issued to roll up backports from MongoDB r3.0.7...r3.0.8 and improve test coverage ahead of a larger drop of backports from MongoDB r3.0.8..r3.0.11.

There are no interesting user-facing bugs or changes to report in this release.

Bug

  • [CXX-782] - Doxygen documentation does not include all directories
  • [CXX-897] - CountWithHint test fails when run against 3.3 release

Improvement

  • [CXX-822] - Bulk operation initialiser comments need to be swapped.

Task

  • [CXX-724] - Backport server r3.0.7..r3.0.8 changes
  • [CXX-780] - Add VS2015 builders for legacy C++ driver

Downloads