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.