This is the first release candidate for mongocxx 3.3.0, the MongoDB C++11 driver.
This release provides additional support for new features in MongoDB 3.6, introduces support for client sessions and change streams, and includes a large number of fixes and improvements since the 3.2 release series.
Please note that this version of mongocxx requires the MongoDB C driver 1.10.1.
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.3.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.3.0-rc0 since the prior 3.2 series are as follows:
New Feature
- [CXX-1184] - Prevent misuse of client temporaries
- [CXX-1390] - Array Update Improvements
- [CXX-1398] - Implement session and session options API
- [CXX-1399] - Implement session
- [CXX-1400] - PIMPL session
- [CXX-1401] - Make collection and database modifications for sessions
- [CXX-1402] - Update thread/fork safety for sessions
- [CXX-1403] - Add page on sessions
- [CXX-1404] - Add a session example
- [CXX-1408] - Add Change Stream API
- [CXX-1414] - Change stream support
- [CXX-1416] - Causally Consistent Reads support
- [CXX-1519] - Document how to use the latest TLS protocols
- [CXX-1549] - Deprecate public bulk_write constructors
- [CXX-1552] - Drop MongoDB 2.6
- [CXX-1557] - Deprecate collection::bulk_write(bulk_write&), add bulk_write::execute()
- [CXX-1560] - Add clusterTime property to static type for change stream documents
- [CXX-1567] - Deprecate autoIndexId for collection creation
Bug
- [CXX-1511] - Client constructor should throw if mongoc_uri_new_with_error fails
- [CXX-1553] - Wrong ctor call to b_timestamp
- [CXX-1564] - Cannot set use_cursor or batch_size with aggregation cursor
Improvement
- [CXX-1498] - Upgrade to C driver 1.10
- [CXX-1516] - Decrease likelihood of implicit session leaks
- [CXX-1525] - Migrate from APIs deprecated in libmongoc 1.9.0 and older
- [CXX-1529] - Update algorithm for Kerberos hostname canonicalization
- [CXX-1536] - Use libmongoc "with_opts" bulk operation functions
- [CXX-1550] - Build C Driver with CMake on Evergreen
- [CXX-1565] - Use mongoc_collection_find_and_modify_with_opts
- [CXX-1568] - Initial aggregate command for a change stream should not be retried