Skip to content

Releases: mongodb/mongo-cxx-driver

MongoDB C++11 Driver r3.8.0

21 Jun 14:19
2e645d0
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.8.0

What's New

  • Support MongoDB server version 6.0 and 7.0
  • Support C++20 language standard
  • Support updated Queryable Encryption protocol
    • Introduces backwards breaking changes to the Queryable Encryption protocol. Using Queryable Encryption now requires MongoDB server version 7.0+.
  • Support new Queryable Encryption features
    • Add client_encryption::create_encrypted_collection to automatically create data encryption keys when creating a new encrypted collection.
  • Support new security features
    • Add ability to fetch KMS credentials automatically from Azure, GCP, and AWS environments.
    • Support authentication with KMS AWS temporary credentials.
    • Cache fetched AWS credentials.
    • Support AWS IAM Roles for service accounts, EKS in particular.
  • Add srvMaxHosts option to limit the number of mongos servers used in connecting to sharded clusters.
  • Retry operations if the connection handshake fails.

Dependency updates

  • Minimum C Driver (libmongoc) version bumped to 1.24.0.

Deprecations and Removals

Support for below operating systems will be dropped in an upcoming release.

  • macOS 10.14
  • macOS 10.15
  • Ubuntu 14.04

Bug

  • [CXX-2451] - Kerberos on Windows should not pass username to SSPI when password is not set
  • [CXX-2548] - Disable causal consistency in implicit sessions
  • [CXX-2599] - Error if RewrapManyDataKey is called with masterKey and without provider
  • [CXX-2670] - options::aggregate::append ignores readConcern

New Feature

  • [CXX-2307] - Add native support for AWS IAM Roles for service accounts, EKS in particular
  • [CXX-2318] - Provide options to limit number of mongos servers used in connecting to sharded clusters
  • [CXX-2425] - Key Management API
  • [CXX-2474] - Add ClientEncryption entity and Key Management API operations to Unified Test Format
  • [CXX-2496] - Add Queryable Encryption behavior for CreateCollection() and Collection.Drop()
  • [CXX-2500] - Add Queryable Encryption API to AutoEncryptionOpts
  • [CXX-2502] - Add Queryable Encryption API to ClientEncryptionOpts
  • [CXX-2508] - Obtain AWS credentials for CSFLE in the same way as for MONGODB-AWS
  • [CXX-2546] - Automatically create Queryable Encryption keys
  • [CXX-2554] - Cache AWS Credentials Where Possible

Improvement

  • [CXX-1712] - Overload bsoncxx::to_json to accept a bsoncxx::array::view
  • [CXX-2172] - Support AWS authentication with temporary credentials in CSFLE
  • [CXX-2284] - Append platform data to handshake
  • [CXX-2344] - Use OP_MSG to authenticate if server supports OP_MSG
  • [CXX-2393] - Drivers should retry operations if connection handshake fails
  • [CXX-2394] - Require hello command for connection handshake to use OP_MSG, disallowing OP_QUERY
  • [CXX-2433] - Support In-Use Encryption Shared Library
  • [CXX-2441] - Add example of iterating change stream indefinitely
  • [CXX-2490] - Make allowDiskUse opt-out rather than opt-in in 6.0
  • [CXX-2491] - Clustered Indexes for all Collections
  • [CXX-2517] - Support for Range Indexes
  • [CXX-2527] - Reduce expected removeKeyAltName operations to a single findOneAndUpdate
  • [CXX-2528] - Ensure "does not fail" in CSE Prose Test 13 accounts for (no) matching documents
  • [CXX-2534] - Allow RewrapManyDataKeyResult.bulkWriteResult to be optional
  • [CXX-2551] - Add support for GCP attached service accounts when using GCP KMS
  • [CXX-2562] - Error if RewrapManyDataKey is called with libmongocrypt < 1.5.2
  • [CXX-2565] - Support the Azure VM-assigned Managed Identity for Automatic KMS Credentials
  • [CXX-2610] - Improve test coverage for retryable handshake errors
  • [CXX-2637] - Deprecate currentOp/collStats commands by 7.0
  • [CXX-2642] - Drivers should not create the ECC collection in v2 of queryable encryption
  • [CXX-2664] - Bump maxWireVersion for MongoDB 7.0

See full list of changes in JIRA.

Reporting Issues

Think you’ve found a bug? Want to see a new feature in the C++ Driver? Please open a case in our issue management tool, Jira:
  • Create an account and login.
  • Navigate to the CXX project.
  • Click Create Issue. Please provide as much information as possible about the issue type and how to reproduce it.
  • Bug reports in Jira for all driver projects (i.e. CXX, CDRIVER etc) and the Core Server (i.e. SERVER) projects are public.

MongoDB C++11 Driver r3.7.2

06 Jun 19:37
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.7.2

Bug

  • [CXX-2686] - Fails to compile with GCC 13.0.1

MongoDB C++11 Driver r3.7.1

14 Mar 17:40
a94ee66
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.7.1

Bug

  • [CXX-2584] - Update libmongoc dependency to 1.22.1 in CMakeLists.txt
  • [CXX-2650] - Fix limit value in open_download_stream

Improvement

  • [CXX-2629] - Remove requirement to set `/Zc:__cplusplus` in MSVC flags

MongoDB C++11 Driver r3.7.0

30 Sep 16:20
18512ee
Compare
Choose a tag to compare

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 cl...
Read more

MongoDB C++11 Driver r3.6.7

03 May 15:26
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.6.7

Bug

  • [CXX-2358] - Compilation failure (tests) with glibc 2.34

MongoDB C++11 Driver r3.7.0-beta1

05 Oct 23:35
2bc3fbc
Compare
Choose a tag to compare
Pre-release

Release Notes - C++ Driver - Version 3.7.0-beta1

Includes support for MongoDB Atlas Serverless.

MongoDB C++11 Driver r3.6.6

05 Oct 22:26
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.6.6

Bug

  • [CXX-2143] - Throwing in bsoncxx::document::element::get_*() if the element is invalid.
  • [CXX-2276] - Install tries to remove empty directories

MongoDB C++11 Driver r3.6.5

04 Jun 20:30
65c36ea
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.6.5

Bug

  • Revert CXX-2258 which introduced a higher dependency requirement on libmongoc.

MongoDB C++11 Driver r3.6.4

04 Jun 00:38
8a9ce93
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.6.4

Bug

  • [CXX-2234] - Expect space after "base64" in extended JSON binary
  • [CXX-2251] - Missing bsoncxx/types/value.hpp
  • [CXX-2258] - Prelude headers applied incorrectly

Improvement

  • [CXX-2211] - Remove usages of xtrace in shell scripts
  • [CXX-2255] - Run Evergreen tasks on Ubuntu 18.04

MongoDB C++11 Driver r3.6.3

07 Apr 19:49
cb24968
Compare
Choose a tag to compare

Release Notes - C++ Driver - Version 3.6.3

Bug

  • [CXX-2143] - Throwing in bsoncxx::document::element::get_*() if the element is invalid.