mongo-cxx-driver

C++ Driver for MongoDB

APACHE-2.0 License

Downloads
45
Stars
1K
Committers
92

Bot releases are hidden (Show)

mongo-cxx-driver - MongoDB C++11 Driver r3.10.2 Latest Release

Published by eramongodb 4 months ago

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.

mongo-cxx-driver - MongoDB C++11 Driver r3.10.1

Published by kevinAlbs 8 months ago

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:

mongo-cxx-driver - MongoDB C++11 Driver r3.10.0

Published by adriandole 8 months ago

Added

  • Forward headers providing non-defining declarations of bsoncxx and mongocxx class types.
    • Note: user-defined forward declarations of any library entity has not been, and is still not, supported.
      To obtain the declaration or definition of a library entity, always include the corresponding header.
  • The CMake option ENABLE_BSONCXX_USE_POLY_IMPLS (OFF by default) allows selecting bsoncxx implementations of C++17 polyfills by default when no polyfill library is requested.
  • The CMake option BSONCXX_POLY_USE_IMPLS (OFF by default) allows selecting bsoncxx implementations of C++17 polyfills instead of external libraries or the C++ standard library.

Changed

  • The bsoncxx::v_noabi and mongocxx::v_noabi namespaces are no longer declared inline.
    • This change is not expected to break source or binary compatibility, but is nevertheless documented here due to its significance. If this change does inadvertently break source or binary compatibility, please submit a bug report.
    • Root namespace declarations are still supported and expected to remain equivalent to their prior definitions (e.g. bsoncxx::document is still equivalent to bsoncxx::v_noabi::document, mongocxx::client is still equivalent to mongocxx::v_noabi::client, etc.). Argument-dependent lookup and template instantiations are expected to remain equivalent to their prior behavior.
    • Note: user-defined forward declarations of any library entity has not been, and is still not, supported.
      To obtain the declaration or definition of a library entity, always include the corresponding header.
  • Library filenames, when compiled with MSVC (as detected by CMake's MSVC variable), are now embedded with an ABI tag string, e.g. bsoncxx-v_noabi-rhs-x64-v142-md.lib.
    • This new behavior is enabled by default; disable by setting ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=OFF when configuring the CXX Driver.
    • The ABI tag string can also be embedded in pkg-config metadata filenames, e.g. libbsoncxx-v_noabi-rhs-x64-v142-md.pc. This is disabled by default; enable by setting ENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ON (requires ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=ON).

Removed

  • Deprecated CMake package config files.
    • find_package(libbsoncxx) and find_package(libmongocxx) are no longer supported.
      Use find_package(bsoncxx) and find_package(mongocxx) instead.
    • Accordingly, LIBBSONCXX_* and LIBMONGOCXX_* CMake variables provided by the legacy CMake package config files are no longer supported. Use the mongo::bsoncxx_* and mongo::mongocxx_* CMake targets instead.
    • Note: manually setting compile definitions, include directories, and link libraries is unnecessary with target-based CMake. The former LIBBSONCXX_* and LIBMONGOCXX_* CMake variables are superseded by the target_link_libraries() CMake command, which automatically propagates the necessary compile definitions, include directories, and link libraries to dependent targets via mongo::bsoncxx_* and mongo::mongocxx_* interface properties.
  • Experimental C++ standard library as a polyfill option via BSONCXX_POLY_USE_STD_EXPERIMENTAL.

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:

mongo-cxx-driver - MongoDB C++11 Driver r3.9.0

Published by kevinAlbs 12 months ago

Added

  • The C++ driver container image is now available on Docker hub.
  • Document availability of on vcpkg and Conan.
  • Add CMake option MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX (default is TRUE
    for backwards-compatibility). If enabled, CMAKE_INSTALL_PREFIX defaults to the build directory.
  • Add API to manage Atlas Search Indexes.
  • Automatically download C driver dependency if not provided.
  • Add VERSIONINFO resource to bsoncxx.dll and mongocxx.dll.

Changed

  • Do not build tests as part of all target. Configure with BUILD_TESTING=ON to build tests.
  • Bump minimum required CMake version to 3.15 to support the FetchContent module and for consistency with the C Driver.
  • Improve handling of downloaded (non-system) mnmlstc/core as the polyfill library.
    • Use FetchContent instead of ExternalProject to download and build the library.
    • Do not patch include directives in mnmlstc/core headers.
  • Bump minimum C Driver version to 1.25.0.

Fixed

  • Explicitly document that throwing an exception from an APM callback is undefined behavior.
  • Do not prematurely install mnmlstc/core headers during the CMake build step.
  • Require a C Driver CMake package is found via find_dependency() for all installed CXX Driver package configurations.

Removed

  • Remove support for exported targets from the CMake project build tree.
  • Drop support for the following operating systems:
    • macOS 10.14 and 10.15
    • Ubuntu 14.04

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:

mongo-cxx-driver - MongoDB C++11 Driver r3.8.1

Published by vector-of-bool about 1 year ago

mongo-cxx-driver - MongoDB C++11 Driver r3.8.0

Published by kevinAlbs over 1 year ago

mongo-cxx-driver - MongoDB C++11 Driver r3.7.2

Published by eramongodb over 1 year ago

mongo-cxx-driver - MongoDB C++11 Driver r3.7.1

Published by kevinAlbs over 1 year ago

mongo-cxx-driver - MongoDB C++11 Driver r3.7.0

Published by eramongodb about 2 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.7

Published by kevinAlbs over 2 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.7.0-beta1

Published by kevinAlbs about 3 years ago

Includes support for MongoDB Atlas Serverless.

mongo-cxx-driver - MongoDB C++11 Driver r3.6.6

Published by kevinAlbs about 3 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.5

Published by kevinAlbs over 3 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.4

Published by kevinAlbs over 3 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.3

Published by bazile-clyde over 3 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.2

Published by bazile-clyde almost 4 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.1

Published by kevinAlbs almost 4 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.0

Published by kevinAlbs about 4 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.6.0-rc0

Published by bazile-clyde about 4 years ago

mongo-cxx-driver - MongoDB C++11 Driver r3.2.1

Published by kevinAlbs over 4 years ago

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:

Package Rankings
Top 29.93% on Formulae.brew.sh
Top 20.37% on Conda-forge.org
Badges
Extracted from project README
codecov Documentation Documentation License