Releases: mongodb/mongo-cxx-driver
MongoDB C++11 Driver 3.3.0-rc0
This is the first release candidate for mongocxx 3.3.0, the MongoDB C++11 driver.
This release provides additional support for new features in MongoDB 3.6, introduces support for client sessions and change streams, and includes a large number of fixes and improvements since the 3.2 release series.
Please note that this version of mongocxx requires the MongoDB C driver 1.10.1.
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.3.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.3.0-rc0 since the prior 3.2 series are as follows:
New Feature
- [CXX-1184] - Prevent misuse of client temporaries
- [CXX-1390] - Array Update Improvements
- [CXX-1398] - Implement session and session options API
- [CXX-1399] - Implement session
- [CXX-1400] - PIMPL session
- [CXX-1401] - Make collection and database modifications for sessions
- [CXX-1402] - Update thread/fork safety for sessions
- [CXX-1403] - Add page on sessions
- [CXX-1404] - Add a session example
- [CXX-1408] - Add Change Stream API
- [CXX-1414] - Change stream support
- [CXX-1416] - Causally Consistent Reads support
- [CXX-1519] - Document how to use the latest TLS protocols
- [CXX-1549] - Deprecate public bulk_write constructors
- [CXX-1552] - Drop MongoDB 2.6
- [CXX-1557] - Deprecate collection::bulk_write(bulk_write&), add bulk_write::execute()
- [CXX-1560] - Add clusterTime property to static type for change stream documents
- [CXX-1567] - Deprecate autoIndexId for collection creation
Bug
- [CXX-1511] - Client constructor should throw if mongoc_uri_new_with_error fails
- [CXX-1553] - Wrong ctor call to b_timestamp
- [CXX-1564] - Cannot set use_cursor or batch_size with aggregation cursor
Improvement
- [CXX-1498] - Upgrade to C driver 1.10
- [CXX-1516] - Decrease likelihood of implicit session leaks
- [CXX-1525] - Migrate from APIs deprecated in libmongoc 1.9.0 and older
- [CXX-1529] - Update algorithm for Kerberos hostname canonicalization
- [CXX-1536] - Use libmongoc "with_opts" bulk operation functions
- [CXX-1550] - Build C Driver with CMake on Evergreen
- [CXX-1565] - Use mongoc_collection_find_and_modify_with_opts
- [CXX-1568] - Initial aggregate command for a change stream should not be retried
MongoDB C++11 Driver 3.2.0
This is the first stable release in the mongocxx 3.2 series.
This release introduces support for MongoDB 3.4 features, as well as partial support for some MongoDB 3.6 features and GridFS support.
Please note that this version of mongocxx requires the MongoDB C Driver 1.9.2 or newer.
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.2 series does not promise API or ABI stability across patch releases.
Changes since the prior 3.2.0-rc1 release:
Bug
- [CXX-1435] - problem with the mongocxx::result::insert_many class
- [CXX-1446] - `mongoc_collection_get_last_error` is deprecated in 1.8.x of libmongoc
- [CXX-1521] - Basic builder document/array types should have noexcept move ctor and assignment op
New Feature
- [CXX-1390] - Array Update Improvements
- [CXX-1405] - OP_MSG support
- [CXX-1415] - All writes retryable support
- [CXX-1418] - Parse localLogicalSessionTimeoutMinutes from isMaster response
- [CXX-1438] - Implement Initial DNS Seedlist discovery spec
Task
MongoDB C++11 Driver 3.1.4
This is the fifth stable release in the mongocxx 3.1.x series.
This release provides bug fixes since r3.1.3.
Please note that this version of mongocxx requires the MongoDB C Driver 1.7.0 or newer. Prior releases in the 3.1.x series only required 1.5.0 or newer, however the fixes included in this release depend on associated fixes that did not arrive in the C driver until 1.7.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.4 since the prior 3.1.3 series are as follows:
Bug
MongoDB Legacy C++ Driver 1.1.3
This is a minor patch release above the prior legacy-1.1.2 release, and is a recommended upgrade for all users of legacy-1.1.2 or older legacy driver releases.
Bug
MongoDB C++11 Driver 3.2.0-rc1
This is the second release candidate for mongocxx 3.2.0, the MongoDB C++11 driver.
This release includes fixes for bugs found in 3.2.0-rc0. Please see the 3.2.0-rc0 release notes for information on changes since the prior 3.1.x release series.
Please note that this version of mongocxx requires the MongoDB C driver 1.8.2.
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.2.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.2.0-rc1 since 3.2.0-rc0 series are as follows:
Bug
- [CXX-1476] - Element search stops prematurely due to missing string length check
MongoDB C++11 Driver 3.2.0-rc0
This is the first release candidate for mongocxx 3.2.0, the MongoDB C++11 driver.
This release provides additional support for new features in MongoDB 3.4, introduces support for GridFS, and includes a large number of fixes and improvements since the 3.1.x release series.
Please note that this version of mongocxx requires the MongoDB C driver 1.8.2.
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.2.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.2.0-rc0 since the prior 3.1.x series are as follows:
Bug
- [CXX-771] - Change collection methods to use options.max_time()
- [CXX-994] - Fix missing or misleading docs about pools, thread/fork safety and background monitoring
- [CXX-1014] - bsoncxx::builder::core exceptions are undocumented
- [CXX-1043] - Add doxygen tag for mongocxx and bsoncxx namespaces
- [CXX-1080] - Document autoIndexId as deprecated
- [CXX-1118] - BSON Regex flags must be alphabetically ordered
- [CXX-1144] - Mutator methods which return non-void should document their return value
- [CXX-1150] - bsoncxx builders should error when multiple keys are pushed without a value
- [CXX-1151] - bsoncxx::builder::core::view_document() and bsoncxx::builder::core::view_array() should throw when builder top-level BSON datum type is incorrect
- [CXX-1152] - Context enforcement for BSON stream builder doesn't play nicely with statements that leave open sub-documents or sub-arrays
- [CXX-1158] - Unable to link against SSL libs on MacOS
- [CXX-1163] - Compiling with SSL support doesn't work
- [CXX-1172] - Document `result::bulk_write::modified_count()` throws with mongod 2.4
- [CXX-1175] - Drivers MUST NOT require a username *in the URI* for MONGODB-X509
- [CXX-1178] - CMAKE_C_COMPILER, CMAKE_CXX_COMPILER not passed to CMake invocation for EP_mnmlstc_core
- [CXX-1187] - mongocxx::uri::database() segfaults if no database specified in URL
- [CXX-1196] - Improve mongocxx::instance documentation
- [CXX-1220] - Invalid URI passed to SSL unit test for mongocxx::pool
- [CXX-1228] - fix minor issues with stream builder and example
- [CXX-1231] - When patching include paths to use 'mnmlstc', avoid filename collisions (PR #582)
- [CXX-1242] - Index pages from each section in driver manual fail to render properly
- [CXX-1243] - Audit GridFS implementation for correct handling of user-provided and server-provided file lengths and chunk sizes
- [CXX-1246] - bsoncxx::builder::stream::single_context should not permit appending of multiple values
- [CXX-1252] - Tailable cursors only work once
- [CXX-1254] - Document that write_concern timeout of zero means no timeout
- [CXX-1258] - Cursor iterators lose lockstep at cursor end
- [CXX-1279] - Copy assignment for database/collection incorrectly degrades to no-op if rhs is default-constructed
- [CXX-1281] - collection::find() and collection::distinct() leak a mongoc_cursor_t on some error paths
- [CXX-1285] - aggregate sets read preference option incorrectly
- [CXX-1300] - Prevent mongoc_init/mongoc_cleanup from running more than once
- [CXX-1302] - Documentation for read_concern::acknowledge_string() should clarify that any read concern string can be passed in
- [CXX-1317] - bucket::upload_from_stream() and bucket::upload_from_stream_with_id() should abort upload on failure
- [CXX-1322] - gridfs::bucket::upload_from_stream and upload_from_stream_with_id infinitely loop on invalid ifstream without error bits set
- [CXX-1324] - Examples not running under Ubuntu 16.04 builders
- [CXX-1325] - Overly-greedy template substitution in declarations of comparison operator free functions for bsoncxx::types::value
- [CXX-1338] - Capped size in bytes is limited to 32bit integer, need 64bit integer
- [CXX-1341] - Wrong integer type for many CRUD spec API fields
- [CXX-1346] - PR: fixing more __imp_bson and __imp_mongoc linker errors
- [CXX-1347] - Calls to bson_append_* are not checked for errors in the core builder
- [CXX-1367] - bsoncxx::types::timestamp t and i parts are reversed
- [CXX-1387] - Bulk write operations don't inherit write concern from the collection
- [CXX-1441] - Build fails on Evergreen because of use of deprecated libmongoc API
- [CXX-1453] - Compilation fails on GCC 6 due to -Wignored-attributes
- [CXX-1454] - list_collections test fails with MMAPv1 storage engine
- [CXX-1458] - Deprecate ~frame() destructor, and add close() function as replacement
- [CXX-1461] - Missing UNREACHABLE in json.cpp
- [CXX-1463] - b_regex and b_codewscope constructors lack SFINAE protections
Epic
- [CXX-1257] - Revise static library naming and link configuration
- [CXX-1358] - Implement the index view API for the C++ driver
- [CXX-1372] - Implement the microbenchmark suite and generate scores for the driver
New Feature
- [CXX-915] - Add example of how to write a CMake project to build against the C++11 driver
- [CXX-995] - Add mongocxx::pool examples
- [CXX-1055] - Add new read_preference setters that support method chaining, deprecate existing setters and constructors
- [CXX-1060] - Adopting bsoncxx::stdx polyfills into mongocxx::stdx namespace is confusing
- [CXX-1075] - Add section to manua...
MongoDB C++11 Driver 3.1.3
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
MongoDB C++11 Driver 3.1.2
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
MongoDB C++11 Driver 3.1.1
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
MongoDB C++11 Driver 3.1.0
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