Announcing libbson and libmongoc 1.9.0
I’m pleased to announce version 1.9.0 of libbson and libmongoc, the libraries constituting the MongoDB C Driver.
libbson
It is my pleasure to announce Libbson-1.9.0.
New features and bugfixes:
- Fix Autotools syntax for OpenBSD and any platform lacking stdint.h.
- Fix Android NDK incompatibilities.
- Fix a one-byte write past the end of a buffer in bson_decimal128_to_string.
- Avoid reading past the end of a string that contains UTF-8 multibyte NIL.
- Fix some pedantic warnings in C99 mode.
libmongoc
It is my pleasure to announce mongo-c-driver 1.9.0. This version drops support for MongoDB 2.4 and adds support for MongoDB 3.6 features:
- New struct mongoc_change_stream_t to watch a collection for changes.
- New struct mongoc_client_session_t represents a MongoDB 3.6 session, which supports causal consistency: you are guaranteed to read your writes and to perform monotonic reads, even when reading from secondaries or in a sharded cluster.
- New functions that accept flexible options as a BSON document. These
accept a “sessionId” option and any future options. In addition, the
two new “update” functions accept the “arrayFilters” option that is new
in MongoDB 3.6:
- mongoc_collection_insert_one
- mongoc_collection_insert_many
- mongoc_collection_update_one
- mongoc_collection_update_many
- mongoc_collection_replace_one
- mongoc_collection_delete_one
- mongoc_collection_delete_many
- mongoc_client_command_with_opts
- mongoc_database_command_with_opts
- mongoc_collection_command_with_opts
- mongoc_client_find_databases_with_opts
- mongoc_client_get_database_names_with_opts
- mongoc_collection_create_bulk_operation_with_opts
- mongoc_collection_find_indexes_with_opts
- mongoc_database_find_collections_with_opts
- mongoc_database_get_collection_names_with_opts
- New URI option “retryWrites=true” safely and automatically retries certain write operations if the server is a MongoDB 3.6 replica set or sharded cluster.
- Support for MongoDB OP_MSG wire protocol.
Additional changes not specific to MongoDB 3.6:
- Support for mongodb+srv URIs to query DNS for SRV and TXT records that configure the connection to MongoDB.
- Support LibreSSL with CMake build
- The “minPoolSize” URI option is deprecated: it’s confusing and not useful.
Bug fixes:
- mongoc_bulk_operation_execute did not always initialize “reply”.
- Fix C99 pedantic warnings.
Links:
Thanks to everyone who contributed to this release.
- A. Jesse Jiryu Davis
- Hannes Magnusson
- Jeremy Mikola
- Kevin Albertson
- Jeroen Ooms
- Iulian Rotaru
- Derick Rethans
- Graham Whitted
- Brian Moss
- Alex Masterov
- Michael Kuhn
- Sriharsha Vardhan
- Jean-Marc Le Roux
- Dimitri Gence
Peace,
A. Jesse Jiryu Davis