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_LAUNCHER
to 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
serverMonitoringMode
URI 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=1
parses 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_LAUNCHER
to build with ccache.
- Set
- Remove
MONGO_USE_CCACHE
(no longer applicable; see above).
Changed:
- Test and example targets are excluded from the
ALL
target.- All test targets can be built using the
mongo_c_driver_tests
target. - All example targets can be built using the
mongo_c_driver_examples
target.
- All test targets can be built using the
- Use
#!/usr/bin/env bash
instead of#!/bin/sh
in uninstall script generated byENABLE_UNINSTALL=ON
.
Deprecated:
- Use of
*_hint
functions is deprecated in favor of more aptly named*_server_id
functions:mongoc_bulk_operation_set_hint
is deprecated formongoc_bulk_operation_set_server_id
mongoc_bulk_operation_get_hint
is deprecated formongoc_bulk_operation_get_server_id
mongoc_cursor_set_hint
is deprecated formongoc_cursor_set_server_id
mongoc_cursor_get_hint
is deprecated formongoc_cursor_get_server_id
- A future minor release plans to drop support for Visual Studio 2013.
ENABLE_SSL=LIBRESSL
is deprecated along withmongoc_stream_tls_libressl_new
. Support for LibreSSL may be dropped in a future major release.ENABLE_SASL=CYRUS
on Windows platforms is deprecated. Support forENABLE_SASL=CYRUS
on Windows may be dropped in a future major release.- The associated Windows-only option
CYRUS_PLUGIN_PATH_PREFIX
is deprecated.
- The associated Windows-only option