Release Notes - C++ Driver - Version 3.7.0
Bug
- [CXX-1891] - Coverity analysis defect 105008: Uninitialized scalar field
- [CXX-2093] - rpm-package-build on Linux Distro Packaging failing
- [CXX-2117] - Oid prose tests fail on s390x Ubuntu 18.04 (MongoDB 4.4)
- [CXX-2237] - listLocalSessions test occasionally fails
- [CXX-2258] - Prelude headers applied incorrectly
- [CXX-2276] - Install tries to remove empty directories
- [CXX-2327] - hard-coded libdir in pkg-config scripts breaks with lib64
- [CXX-2329] - options::server_api::version_from_string() throws the wrong type
- [CXX-2330] - calc_release_version.py produces different output for Python2 vs Python3
- [CXX-2358] - Compilation failure (tests) with glibc 2.34
- [CXX-2364] - Remove git merge markers from docs/content/mongocxx-v3/client-side-encryption.md
- [CXX-2447] - Fix comment helper specification tests
- [CXX-2455] - Fix server version incompatibility for updateOne-let and updateMany-let server-side error tests
- [CXX-2457] - Fix getMore with comment specs
- [CXX-2461] - Fix server version incompatibility for bulkWrite updateOne and updateMany server-side error tests of let support
- [CXX-2475] - Inherited comment causes OperationFailure on MongoDB <4.4.0
- [CXX-2539] - collection::find_one_and_* may raise exception with unacknowledged write concern
New Feature
- [CXX-1173] - Support users adding mongocxx as a CMake subdirectory
- [CXX-1619] - Implement ObjectID spec
- [CXX-1628] - Code coverage in Evergreen
- [CXX-1714] - Resync CRUD spec tests to use transaction spec test format
- [CXX-2254] - Implement Evergreen testing for versioned API
- [CXX-2478] - Change Stream event document missing "to" field for rename events
Improvement
- [CXX-1455] - Add JSON-like syntax to construct BSON object
- [CXX-1530] - Ensure example code is consistent with docs processes
- [CXX-1643] - Use mongoc_uri_new_with_error for better exception messages
- [CXX-1660] - Fix doxygen warnings
- [CXX-1697] - Test with C driver extra alignment on
- [CXX-1739] - Create rpm-package-build Evergreen task
- [CXX-1817] - Rename get_utf8() to get_string()
- [CXX-1824] - Add missing tests for aggregation pipeline in bulk write updates
- [CXX-1898] - Separate installation instructions into more discrete guides
- [CXX-1945] - separate BulkWrite tests by operation
- [CXX-1975] - Tests drivers raise error if hint specified for unacknowledged delete using OP_MSG or OP_DELETE
- [CXX-1985] - Support for 'authorizedDatabases' option
- [CXX-2002] - Raise error when hint option is provided on unacknowledged writes against any server version
- [CXX-2019] - Test arrayFilters on non-supporting server for subsequent ops in bulkWrite
- [CXX-2049] - Add a way to run specific test suites or tests in test_driver
- [CXX-2057] - Add tests for update/replacement validation in single and bulk write operations
- [CXX-2064] - Test that ElectionInProgress is not resumed
- [CXX-2067] - Expose bson_value::value type constructors
- [CXX-2074] - Testing Data Lake with Drivers
- [CXX-2088] - Implement ENABLE_TESTS CMake option
- [CXX-2094] - Correctly express lack of event assertions in change stream tests
- [CXX-2109] - Deprecate all references to utf8
- [CXX-2111] - Support Azure and GCP keystores in FLE
- [CXX-2116] - Document rpath for non-standard install location
- [CXX-2125] - Add comparison operators for bson_value and element
- [CXX-2130] - Add append method for list builder
- [CXX-2131] - Add extract_document and extract_array methods for list builder
- [CXX-2132] - Remove builder::list in favor of builder::document and builder::array
- [CXX-2138] - Versioned MongoDB API for Drivers
- [CXX-2155] - Sharing a MongoClient for metadata lookup can lead to deadlock in drivers using automatic encryption
- [CXX-2164] - Migrate away from travis-ci
- [CXX-2179] - Implement change stream oplog parsing code for delta oplog entries
- [CXX-2193] - Change estimatedDocumentCount() to use the $collStats Agg Stage Instead of Count Command
- [CXX-2202] - Support Removal of Several Platform Builds
- [CXX-2206] - Test that KMS TLS connections verify peer certificates
- [CXX-2226] - Vendor Fedora RPM spec file
- [CXX-2229] - Convert CRUD v2 spec tests to unified test format
- [CXX-2230] - Upgrade unified test runner to version 1.1
- [CXX-2239] - Convert change stream spec tests to unified test format
- [CXX-2257] - Stable API Connection Examples for Docs
- [CXX-2265] - Add test for security-sensitive command monitoring event redaction
- [CXX-2269] - Test against 5.0 servers
- [CXX-2274] - Support 'let' option for aggregate command
- [CXX-2345] - Investigate changes in SERVER-58612: Add BSON Binary subtype 7
- [CXX-2368] - Snapshot reads on Secondaries
- [CXX-2400] - Add support for the comment field to all helpers
- [CXX-2410] - Support KMIP provider
- [CXX-2415] - mongocxx::read_preference::tags(bsoncxx::document::view_or_value) should take a bsoncxx::array::view_or_value
- [CXX-2424] - Add GridFS partial download
- [CXX-2438] - Change streams support for user-facing PIT pre- and post-images
- [CXX-2458] - Avoid warnings when compiling with -Wfloat-equal
- [CXX-2470] - test_util for matching exceptions should produce clearer explanation
- [CXX-2492] - Platform Support: Add Enterprise RHEL 8 (zSeries)
- [CXX-2497] - Always report 'wallTime' in the change stream event output