What's New
On this page
Overview
The MongoDB C Driver consists of two libraries: libbson
and
libmongoc
. On this page, you can learn about the changes,
and deprecations made in each version of the driver libraries.
Learn what's new in:
What's New in 1.30.0
The following sections describe the changes in the 1.30.0 release of the C driver.
libbson
The 1.30.0 release of libbson
includes the following changes:
Deprecations
Deprecates support for Debian 9 and Debian 10
Improvements
Improves the performance of BSON to JSON serialization for nested documents
Fixes
Updates the truncated output of the
bson_as_json_with_opts()
function to no longer split valid UTF-8 sequencesUpdates generated JSON text in the following ways:
Serializes all empty arrays and documents with one space
Serializes arrays that the driver omits because of the maximum recursion limit to
[ ... ]
instead of{ ... }
Applies the maximum recursion limit to legacy CodeWScope documents
Fixes an output parameter leaked after unsuccessful calls to the
bson_append_array_builder_begin()
function
libmongoc
The 1.30.0 release of libmongoc
includes the following changes:
Deprecations
Deprecates support for Debian 9 and Debian 10
New Features
Adds support for structured logging. To configure this feature, use the
mongoc_client_set_structured_log_opts()
andmongoc_client_pool_set_structured_log_opts()
functions.Adds support for cache lifetime configuration of In-Use Encryption data encryption keys. To configure this feature, use the
mongoc_auto_encryption_opts_set_key_expiration()
andmongoc_client_encryption_opts_set_key_expiration()
functions.To learn more about In-Use Encryption, see In-Use Encryption in the MongoDB Server manual.
Adds support for the
sort
option for update and replace operations.Adds support for constructing a
mongoc_bulkwrite_t
type without a client by using themongoc_bulkwrite_new()
andmongoc_bulkwrite_set_client()
functions.
Improvements
Improves the performance of the
mongoc_server_description_new_copy()
function
Fixes
Includes the following APM event fixes required by the SDAM specification:
After delivering a
server_opening
event, the driver must deliver a correspondingserver_closed
event before deliveringtopology_closed
Before delivering a
topology_closed
event, the driver delivers atopology_changed
event that has anew_description
of typeUnknown
Fixes possible crashes when the driver reports the inserted document IDs in the verbose results of client bulk writes
For more information about this release, see the v1.30 release notes.
What's New in 1.29.0
The 1.29.0 release of the C driver includes several changes.
libbson
The 1.29.0 release of libbson
includes the following changes:
Deprecations
Deprecates the
bson_string_t
and associated functionsDeprecates compiling with
BSON_MEMCHECK
Deprecates
bson_in_range_*()
andbson_cmp_*()
functionsDeprecates
bson_atomic_*()
andbson_thrd-yield()
functionsDeprecates
bson_as_json()
andbson_array_as_json()
functions
libmongoc
The 1.29.0 release of libmongoc
includes the following changes:
Deprecations
Deprecates
mongoc_client_command
. Usemongoc_client_command_simple
instead.Deprecates
mongoc_database_command
. Usemongoc_database_command_simple
instead.Deprecates
mongoc_collection_command
. Usemongoc_collection_command_simple
instead.
Changes
Drops support for Visual Studio 2013
Raises required version of the
libmongocrypt
dependency to 1.12.0 to support the In-Use Encryption feature
For more information about this release, see the v1.29 release notes.
What's New in 1.28.0
The 1.28.0 release of the C driver includes several changes.
libbson
The 1.28.0 release of libbson
includes the following changes:
New Features
Adds
bson_validate_with_error_and_offset()
function
Changes
Removes automatic
ccache
detection and usageRemoves
Mongo_USE_CCACHE
libmongoc
New Features
Adds support for In-Use Encryption range queries
mongoc_collection_insert_one
includes the insert IDAdds new bulk write API
mongoc_bulkwrite_t
Adds
serverMonitoringMode
URI option
Changes
Raises minimum wire protocol version from
6
to7
Raises required
libmongocrypt
version to v1.11.0 to support In-Use Encryption
Deprecations
Deprecates
*_hint
option. Instead, use the*_server_id
option.Deprecates
mongoc_bulk_operation_set_hint
. Instead, usemongoc_bulk_operation_set_server_id
.Deprecates
mongoc_bulk_operation_get_hint
. Instead, usemongoc_bulk_operation_get_server_id
.Deprecates
mongoc_cursor_set_hint
. Instead, usemongoc_cursor_set_server_id
.Deprecates
mongoc_cursor_get_hint
. Instead, usemongoc_cursor_get_server_id
.
Deprecates
ENABLE_SSL=LIBRESSL
andmongoc_stream_tls_libressl_new
.Deprecates
ENABLE_SASL=CYRUS
and theCYRUS_PLUGIN_PATH_PREFIX
option on Windows platforms.
For more information about this release, see the v1.28 release notes.
What's New in 1.27.6
The 1.27.6 release of the C driver includes several changes.
libbson
The 1.27.6 release of libbson
includes the following changes:
Fixes
Fixes handling of malformed extended JSON for special BSON types
libmongoc
The 1.27.6 release of libmongoc
includes the following changes:
Fixes
Fixes TSan warning
Fixes C23 compile
Improvements
Documents expected behavior of command errors in a transaction
What's New in 1.27.5
The 1.27.5 release of the C driver includes several changes.
libbson
The 1.27.5 release of libbson
includes the following changes:
Fixes
Fixes large string handling in
bson_append_utf8
libmongoc
The 1.27.5 release of libmongoc
includes the following changes:
Fixes
Fixes possible build error in environments where
bool
or_Bool
is a macro
What's New in 1.27.4
The 1.27.4 release of the C driver includes several changes.
libbson
The 1.27.4 release of libbson
includes the following changes:
Fixes
Fixes build issues with Visual Studio 2013
libmongoc
The 1.27.4 release of libmongoc
includes the following changes:
Fixes
Fixes possible crash reading malformed wired protocol message
Fixes build issues with Visual Studio 2013
What's New in 1.27.3
The 1.27.3 release of the C driver includes several changes.
libbson
The 1.27.3 release of libbson
includes the following changes:
Changes
Introduces changes surrounding the development processes, including new code signing and dependency tracking. There are no behavioral or API changes.
libmongoc
The 1.27.3 release of libmongoc
includes the following changes:
Fixes
Upgrades bundled Zlib from 1.2.3 to 1.3.1
What's New in 1.27.2
The 1.27.2 release of the C driver includes several changes.
libbson
The 1.27.2 release of libbson
includes the following changes:
Fixes
Fixes parsing of colon in timezone
Fixes error on failure to initialize a subdocument in
bson_iter_visit_all
libmongoc
The 1.27.2 release of libmongoc
includes the following changes:
Fixes
Closes leftover connections to remote servers
New Features
Checks environment variable
MONGO_EXPERIMENTAL_SRV_PREFER_TCP
to prefer TCP over SRV lookup
What's New in 1.27.1
The 1.27.1 release of the C driver includes several changes.
libbson
The 1.27.1 release of libbson
includes the following changes:
Fixes
Fixes large string handling in
bson_string_new
andbson_string_append
libmongoc
This version is incremented to match the libbson
version, but there are no changes since 1.27.0.
What's New in 1.27.0
The 1.27.0 release of the C driver includes several changes.
libbson
This version is incremented to match the libbson
version, but there are no changes since 1.26.2.
libmongoc
The 1.27.0 release of libmongoc
includes the following changes:
Changes
Raises the required version of libmongocrypt to 1.10.0 to support In-Use Encryption. This corresponds to CMake option
ENABLE_CLIENT_SIDE_ENCRYPTION
.
Fixes
Fixes possible crash when client is configured with an empty password
New Features
Adds database name to command events
mongoc_apm_command_failed_get_database_name
andmongoc_apm_command_succeeded_get_database_name
Supports delegated KMIP protocol for In-Use Encryption
Enables setting socket timeout per client
What's New in 1.26.2
The 1.26.2 release of the C driver includes several changes.
libbson
The 1.26.2 release of libbson
includes the following changes:
Fixes
Fixes iteration on
bson_strfreev
libmongoc
The 1.26.2 release of libmongoc
includes the following changes:
Changes
By default, disables plugin loading with Cyrus SASL on Windows. To re-enable, set the CMake option
CYRUS_PLUGIN_PATH_PREFIX
to the absolute path prefix of the Cyrus SASL plugins.
Fixes
Fixes possible hang if
mongoc_gridfs_file_readv
is called with a corrupt chunk with incomplete dataFixes assert with legacy exhaust cursor protocol when connected to MongoDB server versions earlier than 4.2
What's New in 1.26.1
The 1.26.1 release of the C driver includes several changes.
libbson
The 1.26.1 release of libbson
includes the following changes:
Fixes
Uses aligned allocation for
bson_array_builder_t
libmongoc
The 1.26.1 release of libmongoc
includes the following changes:
Fixes
Fixes 32-bit compile with 64-bit
time_t
What's New in 1.26.0
The 1.26.0 release of the C driver includes several changes.
libbson
This version is incremented to match the libmongoc
version, but there are no changes since 1.25.4.
libmongoc
The 1.26.0 release of libmongoc
includes the following changes:
New Features
Supports named KMS providers
Redirects retries in sharded clusters to another mongos if possible
Improvements
Adds
VERSION_CURRENT
file in source to ease buildingConsiders more errors retryable