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.