This is the first stable release in the mongocxx 3.3 series.
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 only change since 3.3.0-rc0 is a test that verifies client sessions are prohibited with unacknowledged writes. Here is the full list of user-visible issues that have been resolved in 3.3.0 since the prior 3.2 series:
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
Task
- [CXX-1518] - Prohibit using unacknowledged writes with explicit sessions