Releases: mongodb/mongo-cxx-driver
MongoDB C++11 Driver r3.6.0-rc0
Release Notes - C++ Driver - Version 3.6.0-rc0
Bug
- [CXX-1950] - Drivers must run SDAM flow even when server description is equal to the last one
- [CXX-2025] - $changeStream must be the first stage in a change stream
- [CXX-2028] - Explicit write concern is incorrectly applied to collection::find_one_and_* methods
- [CXX-2037] - Cannot build on Windows with Visual Studio 2019
New Feature
- [CXX-1687] - Support Client-side Field Level Encryption
- [CXX-1716] - Add support for Zstandard compression
- [CXX-1746] - Ensure that getMore right after a resume is retried
- [CXX-1785] - Spec: Finer-grained updates from aggregation via $merge
- [CXX-1853] - support ability to pass hint to update
- [CXX-1872] - MONGODB-AWS Support
- [CXX-1873] - Support for allowDiskUse on find operations
- [CXX-1874] - Allow passing hint to findAndModify update and replace operations
- [CXX-1936] - Reduce Client Time To Recovery On Topology Changes
- [CXX-1947] - Allow hinting the delete command
- [CXX-1966] - Driver support for server Hedged Reads
- [CXX-1998] - 'CommitQuorum' option support for 'createIndexes’ command on MongoDB 4.4
Improvement
- [CXX-1880] - bsoncxx::element::array does not expose key() function
- [CXX-1910] - OCSP Support
- [CXX-1912] - Raise error if hint specified for unacknowledged update using OP_MSG or OP_UPDATE
- [CXX-1934] - Unify behavior around configuration for replica set discovery
- [CXX-1948] - Do not repeatedly resume if getMore receives the same error
- [CXX-1965] - Ensure that the WriteConcernError "errInfo" object is propagated
- [CXX-1969] - Add URI option to disable certificate revocation checking
- [CXX-1972] - Implement b_type struct -> bson_value_t conversions
- [CXX-1973] - Bump minimum required C driver
- [CXX-1976] - Add RetryableWriteError error labels to retryable transaction tests
- [CXX-1978] - Deprecate geoHaystack and geoSearch
- [CXX-1994] - Add missing URI option getters
- [CXX-2000] - Don't use admin database for FLE tests
- [CXX-2024] - allowDiskUse option for find should be documented as only being supported in 4.4+
- [CXX-2058] - Update our testing framework (catch)
- [CXX-2059] - Add key_id getter to mongocxx::options::encrypt
- [CXX-2063] - options::encrypt::key_id() should take a bson_value
- [CXX-2066] - implement a make_value helper
- [CXX-2069] - Treat CursorNotFound as a resumable change stream error
MongoDB C++11 Driver r3.4.2
Release Notes - C++ Driver - Version 3.4.2
The MongoDB C++ Driver Team is pleased to announce the availability of mongocxx-3.4.2. This release provides bug fixes since r3.4.1.
Please note that this version of mongocxx requires the MongoDB C driver 1.13.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.4.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.4.2 since the prior release:
Bug
- [CXX-2028] - Explicit write concern is incorrectly applied to collection::find_one_and_* methods.
MongoDB C++11 Driver r3.3.2
Release Notes - C++ Driver - Version 3.3.2
The MongoDB C++ Driver Team is pleased to announce the availability of mongocxx-3.3.2. This release provides bug fixes since r3.3.1.
Please note that this version of mongocxx requires the MongoDB C driver 1.10.1 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.3.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.3.2 since the prior release:
Bug
- [CXX-2028] - Explicit write concern is incorrectly applied to collection::find_one_and_* methods.
MongoDB C++11 Driver r3.2.1
Release Notes - C++ Driver - Version 3.2.1
The MongoDB C++ Driver Team is pleased to announce the availability of mongocxx-3.2.1. This release provides bug fixes since r3.2.0.
Please note that this version of mongocxx requires the MongoDB C driver 1.9.2 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.2.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.2.1 since the prior release:
Bug
- [CXX-2028] - Explicit write concern is incorrectly applied to collection::find_one_and_* methods.
MongoDB C++11 Driver r3.5.1
Release Notes - C++ Driver - Version 3.5.1
The MongoDB C++ Driver Team is pleased to announce the availability of mongocxx-3.5.1. This release provides bug fixes since r3.5.0.
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.1 since the prior release:
Bug
- [CXX-2028] - Explicit write concern is incorrectly applied to collection::find_one_and_* methods.
MongoDB C++11 Driver r3.5.0
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
- [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
MongoDB C++11 Driver 3.4.1
This patch release addresses compilation issues when compiling without a polyfill on C++17 supporting compilers.
Please note that this version of mongocxx requires the MongoDB C driver 1.13.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.4.x series does not promise API or ABI stability across patch releases.
Here is the full list of user-visible issues that have been resolved in 3.4.1 since the prior 3.4.0 release:
Bug
MongoDB C++11 Driver 3.4.0
This is the first stable release in the mongocxx 3.4 series.
This release provides support for new features MongoDB 4.0 (most notably transactions) as well as command monitoring and SDAM monitoring.
Please note that this version of mongocxx requires the MongoDB C driver 1.13.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.4.x series does not promise API or ABI stability across patch releases.
Here is the full list of user-visible issues that have been resolved in 3.4.0 since the prior 3.3 series:
New Feature
- [CXX-1385] - Add API for subscribing to SDAM events
- [CXX-1386] - Implement command monitoring API
- [CXX-1433] - Implement Database Enumeration spec
- [CXX-1478] - Support ReplaceOptions in CRUD API
- [CXX-1505] - Implement SASLPrep
- [CXX-1509] - SCRAM-SHA-256 Support
- [CXX-1531] - Implement Transactions spec
- [CXX-1538] - Delete public bulk_write constructor
- [CXX-1541] - Handshake changes for SDAM and Auth
- [CXX-1558] - Remove collection::bulk_write(bulk_write&)
- [CXX-1559] - Update SCRAM-SHA-256 implementation and tests for spec change
- [CXX-1582] - Support nameOnly option in listCollections command
- [CXX-1584] - Add helpers and options for Change Streams Follow-on Work
- [CXX-1585] - Remove MD5 from ObjectID generation
- [CXX-1592] - Add MongoDB 4.0 to the Evergreen matrix
- [CXX-1594] - Implement new count API
- [CXX-1616] - Remove equality/inequality operators from options classes
- [CXX-1622] - Test only the initial command in a transaction includes readConcern
- [CXX-1639] - Support new readConcern level "available"
- [CXX-1658] - Generate C Driver version number when installing
Bug
- [CXX-1595] - GNU 4.9.3: 'max_align_t' was not declared
- [CXX-1625] - Android NDK r17 compiler error
- [CXX-1626] - CRUD operations set ordered to false by default
- [CXX-1638] - Don't call string_view::to_string
Improvement
- [CXX-1499] - Don't access bson_iter_t internals
- [CXX-1500] - document::view::find should use bson_iter...w_len functions
- [CXX-1528] - Deprecate snapshot option
- [CXX-1562] - Port session tests to mongocxx command monitoring API
- [CXX-1573] - Spec tests should use the same format for bulk writes
- [CXX-1577] - Flexible collection creation
- [CXX-1578] - Remove options::aggregate::use_cursor
- [CXX-1580] - Log backtraces in test failures on Evergreen
- [CXX-1586] - Add user commands to list of commands that write
- [CXX-1591] - Only send bypassDocumentValidation if it's true
- [CXX-1596] - Use mongoc_cursor_new_from_command_reply_with_opts
- [CXX-1601] - Update ChangeStream spec to detail usage of startAtOperationTime
- [CXX-1620] - Migrate from functions deprecated in libmongoc 1.12
- [CXX-1651] - Rewrite "Contributing" page
- [CXX-1653] - Remove database::modify_collection
- [CXX-1657] - Require libbson and libmongoc 1.13.0
- [CXX-1660] - Fix doxygen warnings
- [CXX-1666] - improve documentation of element::bool()
r3.3.1
This release provides bug fixes since r3.3.0.
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.
Bug
- [CXX-1614] - Client constructed with independently defined SSL options always crashes
MongoDB C++11 Driver 3.3.0
This is the first stable release in the mongocxx 3.3 series.
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 only change since 3.3.0-rc0 is a test that verifies client sessions are prohibited with unacknowledged writes. Here is the full list of user-visible issues that have been resolved in 3.3.0 since the prior 3.2 series:
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
Task
- [CXX-1518] - Prohibit using unacknowledged writes with explicit sessions