Announcing 1.30.0 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
Improvements:
- Improve performance of BSON-to-JSON serialization for nested documents.
Fixes:
- Truncated output of
bson_as_json_with_opts
is changed to no longer split valid UTF-8 sequences. - Changes were made to the generated JSON text in some cases:
- Previously, empty arrays and documents would serialize with either one or two spaces depending on whether it is nested. Empty arrays and documents now consistently serialize with just one space.
- Previously, an array omitted due to the maximum recursion limit would serialize to "{ ... }", as if it were a document. Omitted arrays now serialize to "[ ... ]".
- The maximum recursion limit now applies to legacy codewscope documents. Deeply nested scope documents will now be omitted like any other deeply nested document.
- Fix leak of output parameter on failed call to
bson_append_array_builder_begin
.
Deprecated:
- Support for Debian 9 and Debian 10.
libmongoc
New Features:
- Add support for structured logging.
- See
mongoc_client_set_structured_log_opts
andmongoc_client_pool_set_structured_log_opts
.
- See
- Add option to configure cache lifetime of In-Use Encryption data encryption keys.
- See
mongoc_auto_encryption_opts_set_key_expiration
andmongoc_client_encryption_opts_set_key_expiration
.
- See
- Support
sort
option for update and replace operations. - Support constructing a
mongoc_bulkwrite_t
without a client.- See
mongoc_bulkwrite_new
andmongoc_bulkwrite_set_client
.
- See
Improvements:
- Improve performance of
mongoc_server_description_new_copy
.
Fixes:
- Additional APM events required by the SDAM specification will now be delivered:
- Servers that have seen
server_opening
will now see aserver_closed
prior totopology_closed
. - Before
topology_closed
, atopology_changed
event will transition toUnknown
topology type.
- Servers that have seen
- Fix reporting insert IDs in
mongoc_bulkwrite_t
when verbose results requested.
Deprecated:
- Support for Debian 9 and Debian 10.
Links:
Thanks to everyone who contributed to this release.
- Kevin Albertson
- Micah Scott
- Jeremy Mikola
- Adrian Dole
- Ezra Chung
- Antony Polukhin
- Jeroen Ooms
- Colby Pike