r3.2.0-rc0
版本发布时间: 2017-11-18 03:21:54
mongodb/mongo-cxx-driver最新发布版本:r3.11.0(2024-10-03 00:43:36)
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::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
- [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