Announcing 1.28.0 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
New features:
- Add
bson_validate_with_error_and_offset.
Build Configuration:
- Remove automatic ccache detection and usage (CCache.cmake).
- Set
CMAKE_<LANG>_COMPILER_LAUNCHERto build with ccache.
- Set
- Remove
MONGO_USE_CCACHE(no longer applicable; see above).
libmongoc
New features:
- Support In-Use Encryption range queries.
- Include insert ID on result of
mongoc_collection_insert_one. - Add new bulk write API
mongoc_bulkwrite_t. Requires MongoDB 8.0. Reduces round-trips for mixed writes. - Add
serverMonitoringModeURI option.
Improvements:
- Improve performance of OpenSSL connection creation.
- Improve performance when trace logging is configured (
ENABLE_TRACING=ON) but disabled at runtime. - Prefer FIPS compliant functions for SCRAM-SHA-256 key derivation.
- Remove required slash to delimit options in MongoDB URI (e.g.
mongodb://example.com?w=1parses the same asmongodb://example.com/?w=1). - Include topology description in server selection timeout errors.
Notes:
- Bump minimum wire protocol version from 6 (MongoDB 3.6) to 7 (MongoDB 4.0).
- Raise required version of libmongocrypt to 1.11.0 to support In-Use Encryption (corresponds to the CMake option:
ENABLE_CLIENT_SIDE_ENCRYPTION).
Build Configuration:
- Remove automatic ccache detection and usage (CCache.cmake).
- Set
CMAKE_<LANG>_COMPILER_LAUNCHERto build with ccache.
- Set
- Remove
MONGO_USE_CCACHE(no longer applicable; see above).
Changed:
- Test and example targets are excluded from the
ALLtarget.- All test targets can be built using the
mongo_c_driver_teststarget. - All example targets can be built using the
mongo_c_driver_examplestarget.
- All test targets can be built using the
- Use
#!/usr/bin/env bashinstead of#!/bin/shin uninstall script generated byENABLE_UNINSTALL=ON.
Deprecated:
- Use of
*_hintfunctions is deprecated in favor of more aptly named*_server_idfunctions:mongoc_bulk_operation_set_hintis deprecated formongoc_bulk_operation_set_server_idmongoc_bulk_operation_get_hintis deprecated formongoc_bulk_operation_get_server_idmongoc_cursor_set_hintis deprecated formongoc_cursor_set_server_idmongoc_cursor_get_hintis deprecated formongoc_cursor_get_server_id
- A future minor release plans to drop support for Visual Studio 2013.
ENABLE_SSL=LIBRESSLis deprecated along withmongoc_stream_tls_libressl_new. Support for LibreSSL may be dropped in a future major release.ENABLE_SASL=CYRUSon Windows platforms is deprecated. Support forENABLE_SASL=CYRUSon Windows may be dropped in a future major release.- The associated Windows-only option
CYRUS_PLUGIN_PATH_PREFIXis deprecated.
- The associated Windows-only option