Skip to content

Releases: mongodb/mongo-cxx-driver

MongoDB C++11 Driver r4.1.4

08 Oct 17:17
4f52739
Compare
Choose a tag to compare

Changed

  • Bump the auto-downloaded C Driver version to 2.1.2.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r3.11.1

08 Oct 15:31
bc5daf4
Compare
Choose a tag to compare

Fixed

  • The API version of auto-downloaded C Driver libraries no longer incorrectly inherits the C++ Driver's BUILD_VERSION value.

Changed

  • Bump the minimum required C Driver version to 1.30.6.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r4.1.3

30 Sep 18:58
6912cfb
Compare
Choose a tag to compare

Changed

  • Bump the auto-downloaded C Driver version to 2.0.2.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r4.1.2

03 Sep 15:09
eadecf0
Compare
Choose a tag to compare

Fixed

  • storage_engine() const in mongocxx::v_noabi::options::index is correctly exported using mongocxx export macros instead of bsoncxx export macros.
  • Fix -Wdeprecated-literal-operator warning.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r4.1.1

01 Jul 14:37
527fa3c
Compare
Choose a tag to compare

Fixed

  • CMake option ENABLE_TESTS (OFF by default) is no longer overwritten by the auto-downloaded C Driver (ON by default) during CMake configuration.
  • Static pkg-config files are updated to depend on the static (not shared) libbson / libmongoc packages.
  • Fix build if macros GCC/GNU/Clang/MSVC are already defined.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r4.1.0

01 May 19:43
c6be26d
Compare
Choose a tag to compare

Fixed

  • The API version of auto-downloaded C Driver libraries no longer incorrectly inherits the C++ Driver's BUILD_VERSION value.
  • Potentially unchecked narrowing conversion in bsoncxx::v_noabi::builder::core::append() now throws an exception with error code k_cannot_append_string.

Added

  • storage_engine() in mongocxx::v_noabi::options::index.
  • Support for sort option with replaceOne and updateOne operations.
  • Support for BSON Binary Vector.
  • Support $lookup in CSFLE and QE.

Deprecated

  • Support for MacOS 11 (EOL since Nov 2020) and MacOS 12 (EOL since Oct 2021).
  • storage_options() in mongocxx::v_noabi::options::index: use storage_engine() instead.
    • base_storage_options and wiredtiger_storage_options in mongocxx::v_noabi::options::index are also deprecated.
  • hedge() in mongocxx::v_noabi::read_preference: hedged reads will no longer be supported by MongoDB.

Changed

  • Bump the minimum required C Driver version to 2.0.0.
  • Set CMake maximum policy version to 4.0.
    • The CMake minimum required version is still 3.15.
  • C++17 polyfill implementations for optional<T> and string_view are now declared in the bsoncxx::v1::stdx namespace.
    • The bsoncxx::v_noabi::stdx namespace now contains type aliases to their v1 equivalents.
    • This is an ABI breaking change for all symbols which reference bsoncxx::v_noabi::stdx in their declaration (including mongocxx library symbols).
      • This does not affect users who compile with C++17 or newer and have not set BSONCXX_POLY_USE_IMPLS=ON.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r4.0.0

20 Nov 21:06
7402d3d
Compare
Choose a tag to compare

Added

  • Getter for the start_at_operation_time option in mongocxx::v_noabi::options::change_stream.

Changed

  • Bump the minimum required C Driver version to 1.29.0.
  • CMake option ENABLE_TESTS is now OFF by default.
    • Set ENABLE_TESTS=ON to re-enable building test targets.
    • Set BUILD_TESTING=ON to include test targets in the "all" target when ENABLE_TESTS=ON (since 3.9.0, OFF by default).
  • Layout of mongocxx::v_noabi::options::change_stream to support the new optional start_at_operation_time accessor.

Deprecated

Removed

  • Support for external polyfill libraries.
    • ENABLE_BSONCXX_POLY_USE_IMPLS=ON is now implicit behavior.
    • The following CMake options are no longer supported:
      • ENABLE_BSONCXX_POLY_USE_IMPLS
      • BSONCXX_POLY_USE_MNMLSTC
      • BSONCXX_POLY_USE_MNMLSTC_SYSTEM
      • BSONCXX_POLY_USE_BOOST
  • Support for CMake option MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX.
    • MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX=OFF is now implicit behavior.
  • Redeclarations of bsoncxx::stdx interfaces in the mongocxx::stdx namespace.
    • Use bsoncxx::stdx::optional<T> instead of mongocxx::stdx::optional<T>.
    • Use bsoncxx::stdx::string_view instead of mongocxx::stdx::string_view.
  • Inline namespace macros for bsoncxx and mongocxx namespace: *_INLINE_NAMESPACE_*.
  • The <bsoncxx/stdx/make_unique.hpp> header.
  • The <bsoncxx/types/value.hpp> header.
  • The <bsoncxx/util/functor.hpp> header.
  • The <mongocxx/options/create_collection.hpp> header.
  • References to deprecated utf8 which have equivalent string alternatives.
    • k_utf8 in bsoncxx::v_noabi::type. Use k_string instead.
    • b_utf8 in bsoncxx::v_noabi::types. Use b_string instead.
    • get_utf8 in bsoncxx::v_noabi::document::element, bsoncxx::v_noabi::array::element, and bsoncxx::v_noabi::types::bson_value::view. Use get_string instead.
    • k_cannot_append_utf8 and k_need_element_type_k_utf8 in bsoncxx::v_noabi::exception::error_code. Use k_cannot_append_string and k_need_element_type_k_string instead.
  • Undocumented using-directives and using-declarations.
    • bsoncxx::builder::types in <bsoncxx/builder/list.hpp>. Use bsoncxx::types in <bsoncxx/types.hpp> instead.
    • bsoncxx::builder::stream::concatenate in <bsoncxx/builder/stream/helpers.hpp>. Use bsoncxx::builder::concatenate in <bsoncxx/builder/concatenate.hpp> instead.
    • mongocxx::events::read_preference in <mongocxx/events/topology_description.hpp>. Use mongocxx::read_preference in <mongocxx/read_preference.hpp> instead.

See the full list of changes in Jira and upgrade guide

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r3.11.0

02 Oct 16:43
24852b6
Compare
Choose a tag to compare

Important

This is the final v3 minor release. Patch releases containing backports for relevant bug fixes will be supported for up to one year after the first v4 release. New features will not be backported.

Added

  • Support for MongoDB Server version 8.0.
  • Stable support for In-Use Encryption Range Indexes.
  • Documentation of the API and ABI versioning and compatibility policy.
  • API documentation pages for directories, files, namespaces, and root namespace redeclarations.
  • empty() member function for mongocxx::v_noabi::bulk_write.

Fixed

  • GCC 4.8.5 (RHEL 7) compatibility issues.
    • Redeclaration error due to bsoncxx::v_noabi::stdx::basic_string_view<...>::npos.
    • User-defined literal syntax error due to bsoncxx::v_noabi::operator"" _bson(const char*, size_t).
  • MSVC 17.11 compatibility issue due to missing <string> include directives.
  • bsoncxx::v_noabi::to_json error handling given invalid BSON documents.
  • Client pool error handling on wait queue timeout per waitQueueTimeoutMS.

Changed

  • Bump the minimum required C Driver version to 1.28.0.
  • Declare all exported function symbols with __cdecl when compiled with MSVC.
    • This does not affect users who compile with MSVC's default calling convention.
    • This is an ABI breaking change for users who use an alternative default calling convention when building their projects (e.g. with /Gz, /Gv, etc.). See Argument Passing and Naming Conventions for more information.
  • FetchContent_MakeAvailable() is used to populate dependencies instead of FetchContent_Populate() for the C Driver (when not provided by CMAKE_PREFIX_PATH) and mnmlstc/core (when automatically selected or when BSONCXX_POLY_USE_MNMLSTC=ON).
    • Note: FetchContent_Populate() is still used for mnmlstc/core for CMake versions prior to 3.18 to avoid add_subdirectory() behavior.
  • Test suite now uses Catch2 v3 via FetchContent instead of the bundled Catch2 v2 standalone header.
    • C++14 or newer is required to build tests when enabled with ENABLE_TESTS=ON.
    • Set ENABLE_TESTS=OFF to avoid the C++14 requirement when building C++ Driver libraries.

Deprecated

  • The bsoncxx/util/functor.hpp header.
  • The bsoncxx::util namespace.

Removed

  • Support for MongoDB Server 3.6. See MongoDB Software Lifecycle Schedules.
  • Export of private member functions in the bsoncxx ABI:
    • bsoncxx::v_noabi::types::bson_value::value::value(const uint8_t*, uint32_t, uint32_t, uint32_t)
    • bsoncxx::v_noabi::types::bson_value::view::_init(void*)
    • bsoncxx::v_noabi::types::bson_value::view::view(const uint8_t*, uint32_t, uint32_t, uint32_t)
    • bsoncxx::v_noabi::types::bson_value::view::view(void*)
  • Export of private member functions in the mongocxx ABI:
    • mongocxx::v_noabi::options::change_stream::as_bson()
    • mongocxx::v_noabi::options::aggregate::append(bsoncxx::v_noabi::builder::basic::document&)
    • mongocxx::v_noabi::options::index::storage_options()

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r3.10.2

25 Jun 15:12
3166bdb
Compare
Choose a tag to compare

Added

  • SSDLC Compliance Report and related release artifacts.

Fixed

  • Undefined behavior when moving a mongocxx::v_noabi::events::topology_description::server_descriptions object due to uninitialized data member access.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira:

Signature Verification

Release artifacts may be verified by using the accompanying detached signature (.asc) and the cpp-driver public key obtained from https://pgp.mongodb.com.

MongoDB C++11 Driver r3.10.1

05 Mar 15:58
feb0ae8
Compare
Choose a tag to compare

Fixed

  • (MSVC only) The name of the libbsoncxx package in the "Requires" field of the libmongocxx pkg-config file incorrectly used the library output name instead of the pkg-config package name when ENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=OFF.
  • (MSVC only) The translation of the MSVC_RUNTIME_LIBRARY target property into an ABI tag parameter in library and package filenames did not account for generator expressions.

See the full list of changes in Jira.

Feedback

To report a bug or request a feature, please open a ticket in the MongoDB issue management tool Jira: