github mongodb/mongo-cxx-driver r3.2.0-rc0
MongoDB C++11 Driver 3.2.0-rc0

latest releases: r3.10.1, r3.10.0, debian/3.9.0-1...
pre-release6 years ago

This is the first release candidate for mongocxx 3.2.0, the MongoDB C++11 driver.

This release provides additional support for new features in MongoDB 3.4, introduces support for GridFS, and includes a large number of fixes and improvements since the 3.1.x release series.

Please note that this version of mongocxx requires the MongoDB C driver 1.8.2.

See the MongoDB C++ Driver Manual and the Driver Installation Instructions for more details on downloading, installing, and using this driver.

NOTE: The mongocxx 3.2.x series does not promise API or ABI stability across patch releases.

The full list of user-visible issues that have been resolved in 3.2.0-rc0 since the prior 3.1.x series are as follows:

Bug

  • [CXX-771] - Change collection methods to use options.max_time()
  • [CXX-994] - Fix missing or misleading docs about pools, thread/fork safety and background monitoring
  • [CXX-1014] - bsoncxx::builder::core exceptions are undocumented
  • [CXX-1043] - Add doxygen tag for mongocxx and bsoncxx namespaces
  • [CXX-1080] - Document autoIndexId as deprecated
  • [CXX-1118] - BSON Regex flags must be alphabetically ordered
  • [CXX-1144] - Mutator methods which return non-void should document their return value
  • [CXX-1150] - bsoncxx builders should error when multiple keys are pushed without a value
  • [CXX-1151] - bsoncxx::builder::core::view_document() and bsoncxx::builder::core::view_array() should throw when builder top-level BSON datum type is incorrect
  • [CXX-1152] - Context enforcement for BSON stream builder doesn't play nicely with statements that leave open sub-documents or sub-arrays
  • [CXX-1158] - Unable to link against SSL libs on MacOS
  • [CXX-1163] - Compiling with SSL support doesn't work
  • [CXX-1172] - Document `result::bulk_write::modified_count()` throws with mongod 2.4
  • [CXX-1175] - Drivers MUST NOT require a username *in the URI* for MONGODB-X509
  • [CXX-1178] - CMAKE_C_COMPILER, CMAKE_CXX_COMPILER not passed to CMake invocation for EP_mnmlstc_core
  • [CXX-1187] - mongocxx::uri::database() segfaults if no database specified in URL
  • [CXX-1196] - Improve mongocxx::instance documentation
  • [CXX-1220] - Invalid URI passed to SSL unit test for mongocxx::pool
  • [CXX-1228] - fix minor issues with stream builder and example
  • [CXX-1231] - When patching include paths to use 'mnmlstc', avoid filename collisions (PR #582)
  • [CXX-1242] - Index pages from each section in driver manual fail to render properly
  • [CXX-1243] - Audit GridFS implementation for correct handling of user-provided and server-provided file lengths and chunk sizes
  • [CXX-1246] - bsoncxx::builder::stream::single_context should not permit appending of multiple values
  • [CXX-1252] - Tailable cursors only work once
  • [CXX-1254] - Document that write_concern timeout of zero means no timeout
  • [CXX-1258] - Cursor iterators lose lockstep at cursor end
  • [CXX-1279] - Copy assignment for database/collection incorrectly degrades to no-op if rhs is default-constructed
  • [CXX-1281] - collection::find() and collection::distinct() leak a mongoc_cursor_t on some error paths
  • [CXX-1285] - aggregate sets read preference option incorrectly
  • [CXX-1300] - Prevent mongoc_init/mongoc_cleanup from running more than once
  • [CXX-1302] - Documentation for read_concern::acknowledge_string() should clarify that any read concern string can be passed in
  • [CXX-1317] - bucket::upload_from_stream() and bucket::upload_from_stream_with_id() should abort upload on failure
  • [CXX-1322] - gridfs:🪣:upload_from_stream and upload_from_stream_with_id infinitely loop on invalid ifstream without error bits set
  • [CXX-1324] - Examples not running under Ubuntu 16.04 builders
  • [CXX-1325] - Overly-greedy template substitution in declarations of comparison operator free functions for bsoncxx::types::value
  • [CXX-1338] - Capped size in bytes is limited to 32bit integer, need 64bit integer
  • [CXX-1341] - Wrong integer type for many CRUD spec API fields
  • [CXX-1346] - PR: fixing more __imp_bson and __imp_mongoc linker errors
  • [CXX-1347] - Calls to bson_append_* are not checked for errors in the core builder
  • [CXX-1367] - bsoncxx::types::timestamp t and i parts are reversed
  • [CXX-1387] - Bulk write operations don't inherit write concern from the collection
  • [CXX-1441] - Build fails on Evergreen because of use of deprecated libmongoc API
  • [CXX-1453] - Compilation fails on GCC 6 due to -Wignored-attributes
  • [CXX-1454] - list_collections test fails with MMAPv1 storage engine
  • [CXX-1458] - Deprecate ~frame() destructor, and add close() function as replacement
  • [CXX-1461] - Missing UNREACHABLE in json.cpp
  • [CXX-1463] - b_regex and b_codewscope constructors lack SFINAE protections

Epic

  • [CXX-1257] - Revise static library naming and link configuration
  • [CXX-1358] - Implement the index view API for the C++ driver
  • [CXX-1372] - Implement the microbenchmark suite and generate scores for the driver

New Feature

  • [CXX-915] - Add example of how to write a CMake project to build against the C++11 driver
  • [CXX-995] - Add mongocxx::pool examples
  • [CXX-1055] - Add new read_preference setters that support method chaining, deprecate existing setters and constructors
  • [CXX-1060] - Adopting bsoncxx::stdx polyfills into mongocxx::stdx namespace is confusing
  • [CXX-1075] - Add section to manual on connecting with auth and SSL
  • [CXX-1085] - Inconsistent API for operation level write concern
  • [CXX-1086] - Deprecate non-const methods on mongocxx::client
  • [CXX-1087] - Public method documentation for command helpers should point users to command reference, not shell method reference
  • [CXX-1121] - Include MONGOCXX_CALL and BSONCXX_CALL macros with function definitions
  • [CXX-1130] - Implement GridFS Spec
  • [CXX-1159] - Make unwrapping conversion operators constant (PR #577)
  • [CXX-1160] - Please add instructions to compile Mongo C++ driver as static library
  • [CXX-1161] - b_regex should provide a default value for options string
  • [CXX-1174] - Introduce make_document() and make_array() helpers, builder::core append style methods should return ref-to-this
  • [CXX-1202] - Document how to build array in a loop with stream builder
  • [CXX-1207] - Update vendored Catch to latest stable version
  • [CXX-1233] - Create GridFS upload/download example
  • [CXX-1241] - Implement Extended JSON spec
  • [CXX-1255] - Add a "file length" accessor to gridfs::downloader
  • [CXX-1280] - Basic builders are not copyable or movable
  • [CXX-1282] - collection::name() should not guarantee returned string is null-terminated
  • [CXX-1283] - scoped_bson_t should simplify use case providing a pointer for initialization
  • [CXX-1307] - bsoncxx: Change static library name to "bsoncxx-static", add static-only pkg-config and CMake config files
  • [CXX-1308] - Add basic integration tests for GridFS bucket methods other than open_upload_stream()/open_download_stream()
  • [CXX-1313] - "bsoncxx" depends on "bson-1.0" if BUILD_SHARED_LIBS, else depends on "bson-static-1.0"
  • [CXX-1315] - mongocxx: Change static library name to "mongocxx-static", add static-only pkg-config and CMake config files, depend on mongoc-static-1.0 if BUILD_SHARED_LIBS=OFF
  • [CXX-1316] - Add tests for installed pkg-config and installed CMake config files
  • [CXX-1318] - Add GridFS integration tests which upload/download files of size >4 GB
  • [CXX-1334] - Add index hint to aggregation and non-materialized views
  • [CXX-1356] - Add support for reading and writing OP_COMPRESSED
  • [CXX-1359] - Replace use of index options in API with BSON document
  • [CXX-1360] - Implement index_model and add dummy implementation of index_view
  • [CXX-1362] - Replace dummy index view implementation with actual implementation
  • [CXX-1464] - Support non-experimental use of std::optional and string::view in C++17 mode

Improvement

  • [CXX-869] - mongocxx::result::insert_many::inserted_ids() should be const
  • [CXX-984] - Improve use of bson_init_static
  • [CXX-992] - bsoncxx::document::view::find() should be rewritten to avoid string allocation
  • [CXX-1169] - Minor refactoring (PR #578)
  • [CXX-1188] - Add functionality to write a model for mongocxx::collection
  • [CXX-1217] - GridFS download streams should kill the cursor when closed
  • [CXX-1333] - Cache SCRAM-SHA-1 ClientKey
  • [CXX-1429] - Document polyfill option BSONCXX_POLY_USE_SYSTEM_MNMLSTC
  • [CXX-1447] - Reduce use of deprecated methods in test files

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

NewReleases is sending notifications on new releases.