MongoDB C++ Driver v5.0 Release Notes
Release Date: 2020-03-31 // about 4 years ago-
🚀 Release Notes - C++ Driver - Version 3.5.0
🚀 The MongoDB C++ Driver Team is pleased to announce the availability of mongocxx-3.5.0. This release provides support for new features in MongoDB 4.2.
🚀 Please note that this version of mongocxx requires the MongoDB C driver 1.15.0 or higher.
👀 See the MongoDB C++ Driver Manual and the Driver Installation Instructions for more details on downloading, installing, and using this driver.
🚀 The mongocxx 3.5.x series does not promise API or ABI stability across patch releases.
🆓 Please feel free to post any questions to the MongoDB community forum in the Drivers, ODMs, and Connectors category with the cxx-driver tag. Bug reports should be filed against the CXX project in the MongoDB JIRA. Your feedback on the C++11 driver is greatly appreciated.
🚀 The following are user-visible issues that have been resolved in 3.5.0 since the prior release:
🐛 Bug
- [CXX-1688] - MongoDB CXX driver does not compile with standard polyfill.
- [CXX-1689] - database::_create_collection is not using C++17-compatible string conversion.
- ✅ [CXX-1693] - Test with latest gcc
- 🐧 [CXX-1720] - clang 7.0.1, Linux, c++14, libc++, ambiguous overload in change_stream.cpp
- [CXX-1769] - ChangeStream spec's Resumable Error definition is too broad
- 🏗 [CXX-1901] - Building C++ driver from master fails to find cmake packages of C driver
- [CXX-1922] - scoped_bson_t::steal() doesn't clear _is_initialized flag
- ✅ [CXX-1938] - Catch does not guarantee running at least one test SECTION per TEST_CASE run
🆕 New Feature
- [CXX-1669] - Add an uninstall target
- 🏗 [CXX-1678] - std::aligned_storage build failure with extra alignment
- [CXX-1681] - Implement Unified URI Options
- [CXX-1682] - Implement Convenient API for Transactions
- 📌 [CXX-1684] - Support mongos pinning for sharded transactions
- [CXX-1685] - Retryable Reads
- [CXX-1691] - Connections survive primary stepdown
- 👍 [CXX-1695] - Support sharded transactions recovery token
- [CXX-1696] - Aggregate command must be sent to a primary if it uses $out
- ✅ [CXX-1701] - Resync transactions tests to include test with session1 in APM expectations
- [CXX-1702] - Add database aggregate helper
- 🏗 [CXX-1711] - Add CMake flags to build both shared and static libraries
- 👍 [CXX-1715] - Support 'startAfter' option to the $changeStream stage
- [CXX-1719] - Drivers should use majority write concern when retrying commitTransaction
- [CXX-1721] - Drivers should ignore batchSize=0 for aggregate with $out
- 0️⃣ [CXX-1732] - Support Retryable Writes on by Default
- 👍 [CXX-1734] - Support postBatchResumeToken in change streams
- ✅ [CXX-1742] - Resync transaction spec tests for bulk write error reporting change
- 👍 [CXX-1743] - Add support for majority read concern level to Aggregation $out
- ✅ [CXX-1755] - Require retryable writes network error tests to run on mongos 4.2+
- ⚡️ [CXX-1756] - Add the ability to specify a pipeline to an update command
- [CXX-1759] - Document connection string and URI option precedence rules
- ✅ [CXX-1761] - Use runOn syntax to specify transaction test requirements
- [CXX-1771] - Allow applications to set maxTimeMS for commitTransaction
- ⚡️ [CXX-1805] - Operating System Removals/Updates for 4.2
- 👍 [CXX-1806] - Raise an actionable error message when retryWrites fails due to using an unsupported storage engine
👌 Improvement
- [CXX-1532] - Demonstrate "pool" in thread-safety.md
- [CXX-1572] - Retryable writes should consider more errors retryable
- 🗄 [CXX-1637] - Delete deprecated collection::replace_one overloads
- ✅ [CXX-1670] - Add test that reads ignore db/collection readConcern in transaction
- [CXX-1680] - COPYING and THIRD_PARTY_NOTICES should be installed to $PREFIX/share/doc/mongo-cxx-driver
- [CXX-1707] - Export targets for CMake project
- 🚀 [CXX-1752] - Remove GitPython from calc_release_version.py
- [CXX-1783] - Don't send $readPreference to standalone servers
- ✅ [CXX-1790] - Test MongoDB 4.2 in Evergreen
- ✅ [CXX-1795] - Use runOn syntax to specify CRUD test requirements
- [CXX-1820] - Deprecation warning on mongoc_uri_get_ssl
- [CXX-1834] - Make pipeline extensible
- ✏️ [CXX-1899] - Typos in install guide