Releases: mongodb/mongo-c-driver
mongo-c-driver 1.29.0
Announcing 1.29.0 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Deprecated:
bson_string_t
and associated functions are deprecated and planned for removal in a future major release.- Compiling with
BSON_MEMCHECK
defined is deprecated. bson_in_range_*
andbson_cmp_*
functions.bson_atomic_*
andbson_thrd_yield
functions.bson_as_json
andbson_array_as_json
are deprecated due to producing non-portable Legacy Extended JSON. Prefer Canonical Extended JSON or Relaxed Extended JSON for portability. To continue using Legacy Extended JSON, usebson_as_legacy_extended_json
andbson_array_as_legacy_extended_json
.
Fixes:
- Fix Relaxed Extended JSON encoding of dates after year 9999.
Improvements:
- Improve performance of bson_utf8_escape_for_json
libmongoc
Improvements:
- Retry KMS requests on transient errors.
Platform Support:
- Support for Visual Studio 2013 is dropped.
Deprecated:
mongoc_client_command
is deprecated and planned for removal in a future release. Usemongoc_client_command_simple
instead.mongoc_database_command
is deprecated and planned for removal in a future release. Usemongoc_database_command_simple
instead.mongoc_collection_command
is deprecated and planned for removal in a future release. Usemongoc_collection_command_simple
instead.
Notes:
- Raise required version of libmongocrypt to 1.12.0 to support In-Use Encryption (corresponds to the CMake option:
ENABLE_CLIENT_SIDE_ENCRYPTION
). - A future minor release will raise the minimum supported MongoDB Server version from 4.0 to 4.2. This is in accordance with MongoDB Software Lifecycle Schedules. Support for MongoDB Server 4.0 will be dropped in a future release!
Links:
Thanks to everyone who contributed to this release.
- Kevin Albertson
- Ezra Chung
- Micah Scott
- Adrian Dole
- Andreas Braun
- Joshua Siegel
mongo-c-driver 1.28.1
Announcing 1.28.1 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Fixes:
- Fix large string handling in
bson_string_truncate
. - Fix possible crash in
bson_value_copy
.
libmongoc
Fixes:
- Do not return result in
mongoc_bulkwritereturn_t
if there are no known successful writes. - Validate lengths in ill-formed server responses.
- Do not override read preference when using aggregate with
$out/$merge
with unscanned servers. - Remove unexpected warning if
authSource
in TXT record is overriden by URI option. - Fix crash when non-existent CA file configured with OpenSSL.
Links:
Thanks to everyone who contributed to this release.
- Ezra Chung
- Joshua Siegel
- Kevin Albertson
mongo-c-driver 1.28.0
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
Links:
mongo-c-driver 1.27.6
Announcing 1.27.6 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Fixes:
- Fix handling of malformed extended JSON for special BSON types.
- Fix large string handling in
bson_string_new
andbson_string_append
.
libmongoc
Fixes:
- Fix TSan warning.
- Fix C23 compile.
Improvements:
- Document expected behavior of command errors in a transaction.
Links:
Thanks to everyone who contributed to this release.
- Adrian Dole
- Ezra Chung
- Joshua Siegel
- Kevin Albertson
mongo-c-driver 1.27.5
Announcing 1.27.5 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
- Fix large string handling in
bson_append_utf8
.
libmongoc
Fixes:
- Fix possible build error in environments where
bool
or_Bool
is a macro.
Links:
Thanks to everyone who contributed to this release.
- Kevin Albertson
- Roberto C. Sánchez
mongo-c-driver 1.27.4
Announcing 1.27.4 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Fixes:
- Fix build with Visual Studio 2013.
libmongoc
Fixes:
- Fix possible crash reading malformed wire protocol message.
- Fix build with Visual Studio 2013.
Links:
Thanks to everyone who contributed to this release.
- Ezra Chung
- Kevin Albertson
mongo-c-driver 1.27.3
Announcing 1.27.3 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Notes:
- This patch release introduces changes surrounding the development processes,
including new code signing and dependency tracking. There are no behavioral
or API changes.
libmongoc
Notes:
- This patch release introduces changes surrounding the development processes,
including new code signing and dependency tracking. There are no behavioral
or API changes.
Fixes:
- Upgraded bundled Zlib from 1.2.3 to 1.3.1
Links:
Thanks to everyone who contributed to this release.
- Colby Pike
mongo-c-driver 1.27.2
Announcing 1.27.2 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Fixes:
- Fix parsing of colon in timezone.
- Error on failure to init subdocument in
bson_iter_visit_all
.
libmongoc
Fixes:
- Close leftover connections to removed servers.
New features:
- Check environment variable
MONGOC_EXPERIMENTAL_SRV_PREFER_TCP
to prefer TCP for SRV lookup.
Links:
Thanks to everyone who contributed to this release.
- Kevin Albertson
- Roman-Koshelev
mongo-c-driver 1.27.1
Announcing 1.27.1 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Fixes:
- Fix string handling in
bson_string_new
andbson_string_append
.
libmongoc
No changes since 1.27.0. Version incremented to match the libbson version.
Links:
Thanks to everyone who contributed to this release.
- Roberto C. Sánchez
mongo-c-driver 1.27.0
Announcing 1.27.0 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
No changes since 1.26.2. Version incremented to match the libmongoc version.
libmongoc
Notes:
- Raise required version of libmongocrypt to 1.10.0 to support In-Use Encryption (corresponds to the CMake option:
ENABLE_CLIENT_SIDE_ENCRYPTION
). - A future minor release plans to raise the minimum supported MongoDB Server version from 3.6 to 4.0. This is in accordance with MongoDB Software Lifecycle Schedules.
Fixes:
- Fix possible crash when client is configured with empty password.
New Features:
- Add database name to command events:
mongoc_apm_command_failed_get_database_name
andmongoc_apm_command_succeeded_get_database_name
. - Support delegated KMIP protocol for In-Use Encryption.
- Enable setting socket timeout per client.
Links:
Thanks to everyone who contributed to this release.
- Kevin Albertson
- Adrian Dole
- Ezra Chung
- Roberto C. Sánchez
- Scott Hunt