All Versions
25
Latest Version
6.2
Avg Release Cycle
197 days
Latest Release
1567 days ago

Changelog History
Page 3

  • v2.0 Changes

    February 28, 2018

    🚀 This is the first stable release in the mongocxx 3.2 series.

    🚀 This release introduces support for MongoDB 3.4 features, as well as partial support for some MongoDB 3.6 features and GridFS support.

    Please note that this version of mongocxx requires the MongoDB C Driver 1.9.2 or newer.

    👀 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 series does not promise API or ABI stability across patch releases.

    🚀 Changes since the prior 3.2.0-rc1 release:

    🐛 Bug

    • [CXX-1435] - problem with the mongocxx::result::insert_many class
    • [CXX-1446] - mongoc_collection_get_last_error is deprecated in 1.8.x of libmongoc
    • 🏗 [CXX-1521] - Basic builder document/array types should have noexcept move ctor and assignment op

    🆕 New Feature

    • ⚡️ [CXX-1390] - Array Update Improvements
    • 👍 [CXX-1405] - OP_MSG support
    • 👍 [CXX-1415] - All writes retryable support
    • 📜 [CXX-1418] - Parse localLogicalSessionTimeoutMinutes from isMaster response
    • 👀 [CXX-1438] - Implement Initial DNS Seedlist discovery spec

    Task

    • [CXX-1470] - Improve server compatibility error messages for wire version checks
    • ✅ [CXX-1475] - Resync retryable writes test
    • [CXX-1488] - Fix issues identified by coverity
    • ⬆️ [CXX-1493] - Upgrade C driver minimum to 1.9.2
    • [CXX-1506] - GridFS MD5 digest must be optional
  • v2.0-rc1 Changes

    December 06, 2017

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

    🚀 This release includes fixes for bugs found in 3.2.0-rc0. Please see the 3.2.0-rc0 release notes for information on changes since the prior 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-rc1 since 3.2.0-rc0 series are as follows:

    🐛 Bug

    • [CXX-1476] - Element search stops prematurely due to missing string length check
  • v2.0-rc0 Changes

    November 17, 2017

    🚀 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
    • 0️⃣ [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::bucket::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
    • 0️⃣ [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
  • v1.4 Changes

    February 28, 2018

    🚀 This is the fifth stable release in the mongocxx 3.1.x series.

    🚀 This release provides bug fixes since r3.1.3.

    Please note that this version of mongocxx requires the MongoDB C Driver 1.7.0 or newer. Prior releases in the 3.1.x series only required 1.5.0 or newer, however the fixes included in this release depend on associated fixes that did not arrive in the C driver until 1.7.0.

    👀 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.1.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.1.4 since the prior 3.1.3 series are as follows:

    🐛 Bug

    • [CXX-1252] - Tailable cursors only work once
    • [CXX-1258] - Cursor iterators lose lockstep at cursor end
  • v1.1.3 Changes

    February 28, 2018

    🚀 This is a minor patch release above the prior legacy-1.1.2 release, and is a recommended upgrade for all users of legacy-1.1.2 or older legacy driver releases.

    🐛 Bug

    • [CXX-951] - "'ref' is not a member of 'boost'" error when compiling legacy driver in C++11 mode
    • [CXX-1426] - Check cursor pointers before using them