Releases: mongodb/mongo-cxx-driver
MongoDB C++11 Driver r4.1.4
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
Fixed
storage_engine() const
inmongocxx::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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
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 codek_cannot_append_string
.
Added
storage_engine()
inmongocxx::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()
inmongocxx::v_noabi::options::index
: usestorage_engine()
instead.base_storage_options
andwiredtiger_storage_options
inmongocxx::v_noabi::options::index
are also deprecated.
hedge()
inmongocxx::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>
andstring_view
are now declared in thebsoncxx::v1::stdx
namespace.- The
bsoncxx::v_noabi::stdx
namespace now contains type aliases to theirv1
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
.
- This does not affect users who compile with C++17 or newer and have not set
- The
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
Added
- Getter for the
start_at_operation_time
option inmongocxx::v_noabi::options::change_stream
.
Changed
- Bump the minimum required C Driver version to 1.29.0.
- CMake option
ENABLE_TESTS
is nowOFF
by default.- Set
ENABLE_TESTS=ON
to re-enable building test targets. - Set
BUILD_TESTING=ON
to include test targets in the "all" target whenENABLE_TESTS=ON
(since 3.9.0,OFF
by default).
- Set
- Layout of
mongocxx::v_noabi::options::change_stream
to support the new optionalstart_at_operation_time
accessor.
Deprecated
- Support for MongoDB Server 4.0.
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 themongocxx::stdx
namespace.- Use
bsoncxx::stdx::optional<T>
instead ofmongocxx::stdx::optional<T>
. - Use
bsoncxx::stdx::string_view
instead ofmongocxx::stdx::string_view
.
- Use
- 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 equivalentstring
alternatives.k_utf8
inbsoncxx::v_noabi::type
. Usek_string
instead.b_utf8
inbsoncxx::v_noabi::types
. Useb_string
instead.get_utf8
inbsoncxx::v_noabi::document::element
,bsoncxx::v_noabi::array::element
, andbsoncxx::v_noabi::types::bson_value::view
. Useget_string
instead.k_cannot_append_utf8
andk_need_element_type_k_utf8
inbsoncxx::v_noabi::exception::error_code
. Usek_cannot_append_string
andk_need_element_type_k_string
instead.
- Undocumented using-directives and using-declarations.
bsoncxx::builder::types
in<bsoncxx/builder/list.hpp>
. Usebsoncxx::types
in<bsoncxx/types.hpp>
instead.bsoncxx::builder::stream::concatenate
in<bsoncxx/builder/stream/helpers.hpp>
. Usebsoncxx::builder::concatenate
in<bsoncxx/builder/concatenate.hpp>
instead.mongocxx::events::read_preference
in<mongocxx/events/topology_description.hpp>
. Usemongocxx::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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
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 formongocxx::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)
.
- Redeclaration error due to
- 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 ofFetchContent_Populate()
for the C Driver (when not provided byCMAKE_PREFIX_PATH
) and mnmlstc/core (when automatically selected or whenBSONCXX_POLY_USE_MNMLSTC=ON
).- Note:
FetchContent_Populate()
is still used for mnmlstc/core for CMake versions prior to 3.18 to avoidadd_subdirectory()
behavior.
- Note:
- 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.
- C++14 or newer is required to build tests when enabled with
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.
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
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:
- Create an account and login.
- Navigate to the CXX project
- Click
Create
.