github mongodb/mongo-cxx-driver r4.0.0
MongoDB C++11 Driver r4.0.0

2 days ago

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.

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.

Don't miss a new mongo-cxx-driver release

NewReleases is sending notifications on new releases.