Skip to content

Releases: mongodb/mongo-c-driver

mongo-c-driver 1.15.2

06 Nov 23:33
1.15.2
7275aad
Compare
Choose a tag to compare

I'm pleased to announce version 1.15.2 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

No changes since 1.15.1; release to keep pace with libmongoc's version.

libmongoc

Bug fixes:

  • Prevent mongoc_transaction_opts_set_max_commit_time_ms from applying to subsequent transactions that should be using the default.
  • Do not report the initial error if a retry for a change stream function (mongoc_collection_watch, mongoc_database_watch, or mongoc_client_watch) succeeds

Links:

Thanks to everyone who contributed to this release.

  • Andreas Braun
  • Clyde Bazile

mongo-c-driver 1.15.1

30 Aug 19:05
Compare
Choose a tag to compare

I'm pleased to announce version 1.15.1 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

No change since 1.15.0; released to keep pace with libmongoc's version.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.15.1.

Bug fixes:

  • Fix change stream resume logic when no documents received
  • Reduce the required cmake version to build with zstd support
  • Minor fixes to mongos pinning logic
  • Do not resume a change stream on NonResumableChangeStreamError

Links:

Thanks to everyone who contributed to this release.

  • Kevin Albertson
  • Clyde Bazile

mongo-c-driver 1.15.0

13 Aug 22:49
1.15.0
baa9687
Compare
Choose a tag to compare

I'm pleased to announce version 1.15.0 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

No change since 1.14.1; released to keep pace with libmongoc's version.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.15.0. This release adds
support for MongoDB 4.2 features.

Features:

  • Support for sharded transactions on MongoDB sharded clusters 4.2+.
  • Add convenient transaction runner (mongoc_client_session_with_transaction),
    which accepts a callback and performs appropriate retry logic.
  • Add a new transaction option to specify maximum time to wait for a commit,
    mongoc_transaction_opts_set_max_commit_time_ms.
  • Add URI option "retryReads=true" safely and automatically retries certain
    read operations if the server is a MongoDB 3.6+. Note, this may require applications to adjust any custom retry logic to prevent inadvertently retrying for too long
  • Poll SRV records to mongos servers periodically.
  • Keep connections alive after a primary stepdown detected.
  • Standardizes URI options supported across all spec-compliant MongoDB drivers.
  • "retryWrites" URI option now defaults to true (requires crypto for session
    support).
  • Send any aggregate with $out or $merge stage to a primary.
  • Add the ability to specify an aggregate pipeline as an update document.
  • Add a database aggregate helper, mongoc_database_aggregate.
  • Add option for change streams, "startAfter".
  • Add mongoc_change_stream_get_resume_token, which returns the resume token
    which should be used to resume a change stream.
  • Add support for zstd compression.

Bug fixes:

  • Correctly report an error in mongoc_change_stream_next if the resume token
    (_id) is not a document. Previously, an error was only reported if the
    field was missing.
  • Fix mongoc_collection_update with MONGOC_UPDATE_MULTI_UPDATE,
    mongoc_collection_remove, and mongoc_collection_delete when retryWrites
    was enabled. They would fail previously.
  • Command options are now correctly taken into account when batching bulk
    writes for OP_QUERY. It was possible to exceed the maximum document size
    before.
  • Fix a crash if a multi-batch bulk write with OP_MSG errored on a batch.

Links:

Thanks to everyone who contributed to this release.

  • Kevin Albertson
  • Jeremy Mikola
  • Haris Sheikh
  • Samantha Ritter
  • Isabel Atkinson
  • Sara Golemon
  • Clyde Bazile
  • Roberto C. Sánchez
  • Lior Kaplan
  • pasniak

mongo-c-driver 1.14.1

05 Aug 15:29
Compare
Choose a tag to compare

I'm pleased to announce version 1.14.1 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

It is my pleasure to announce libbson 1.14.1.

Bug fixes:

  • Remove unnecessary dependencies from pkg-config.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.14.1.

Bug fixes:

  • Prohibit starting a transaction for pre-4.0 MongoDB servers.
  • Prohibit starting a sharded transaction for pre-4.2 MongoDB servers.

Links:

Thanks to everyone who contributed to this release.

  • Jeremy Mikola
  • Clyde Bazile
  • Kevin Albertson

mongo-c-driver 1.14.0

22 Feb 18:18
1.14.0
71d7eae
Compare
Choose a tag to compare

I'm pleased to announce version 1.14.0 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

It is my pleasure to announce libbson 1.14.0.

Features:

  • ObjectIDs are generated in compliance with the driver ObjectID spec.
  • Add a bson_copy_to_excluding_noinit variant taking a va_list.
  • Add example of validating BSON nesting depth with bson_visitor_t.

Bug fixes:

  • Relaxed JSON pads datetime milliseconds with spaces instead of zeroes.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.14.0.

Features:

  • Support for OpenSSL 1.1.1 and its implementation of TLS v1.3.
  • New function mongoc_stream_should_retry.
  • New accessor mongoc_server_description_last_update_time.
  • New method mongoc_client_reset to be called after forking.

Bug fixes:

  • OP_MSG with unacknowledged writes (write concern of w:0) would serialize
    incorrectly on big-endian platforms, causing writes to use the default
    write concern of w:1.
  • mongoc_collection_update_many and mongoc_collection_delete_many would fail
    with the URI option retryWrites=true.
  • In a transaction, the driver now properly ignores the readConcern configured
    on a client, database, or collection: only the mongoc_transaction_opt_t's
    readConcern is used.
  • Remove timestamp from uninstall scripts to permit reproducible build.
  • Setting mongoc_ssl_opt_t.pem_file or ca_file to a bad file path caused a
    hang with Darwin SSL.
  • Fix the ENABLE_SASL cmake option:
    • Remove unnecessary GSSAPI value. It was equivalent to specifying ENABLE_SASL=CYRUS.
    • ENABLE_SASL=AUTO now correctly chooses SSPI on Windows instead of CYRUS.
  • The client pool failed to set proper apm callbacks for clients created
    via try_pop().

Links:

Thanks to everyone who contributed to this release.

  • A. Jesse Jiryu Davis
  • Roberto C. Sánchez
  • Kevin Albertson
  • Samantha Ritter
  • Spencer McKenney
  • Henrik Edin
  • Jeremy Mikola
  • Evgeni Dobranov
  • Derick Rethans
  • 平民·寻梦(Pingmin Fenlly Liu)
  • David Carlier
  • Gustaf Neumann
  • Jeroen
  • Jeroen Ooms
  • Kaitlin Mahar
  • Tomas Mozes
  • Clyde Bazile
  • Scott Gayou

mongo-c-driver 1.13.1

24 Jan 20:54
1.13.1
ee4dfea
Compare
Choose a tag to compare

I'm pleased to announce version 1.13.1 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

It is my pleasure to announce libbson 1.13.1.

Bug fixes:

  • Separate libmongoc and libbson uninstall scripts so they do not overwrite
    each other.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.13.1.

Bug fixes:

  • mongoc_collection_update_many and mongoc_collection_delete_many would fail
    with the URI option retryWrites=true.
  • Remove timestamp from uninstall scripts to permit reproducible build.
  • Add missing header files to the release tarball to fix compilation when
    configuring with ENABLE_SASL=GSSAPI.
  • Separate libmongoc and libbson uninstall scripts so they do not overwrite
    each other.
  • Fix running make install with DESTDIR.

Links:

Thanks to everyone who contributed to this release.

  • Kevin Albertson
  • A. Jesse Jiryu Davis
  • Henrik Edin

mongo-c-driver 1.13.0

17 Sep 19:12
Compare
Choose a tag to compare

I'm pleased to announce version 1.13.0 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

It is my pleasure to announce libbson 1.13.0.

Features:

  • New functions to save and restore progress of a bson_iter_t:
    bson_iter_key_len, bson_iter_offset, and bson_iter_init_from_data_at_offset
  • Additional functions bson_iter_overwrite_date_time, bson_iter_overwrite_oid,
    and bson_iter_overwrite_timestamp. All fixed-length BSON values can now be
    updated in place.

Bug fixes:

  • Fix crash when iterating corrupt BSON.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.13.0.

Features:

  • Report a new error code, MONGOC_ERROR_GRIDFS_CORRUPT, when a chunk larger
    than chunkSize is detected. Before, the driver had crashed with an assert.
  • Restructure of install directory. All mongoc headers are under mongoc/
    and all bson headers are under bson/. The preferred way of including the
    headers are mongoc/mongoc.h and bson/bson.h respectively.
    Forwarding headers in the root are provided for backwards compatibility.
  • The default CMake build type had been unspecified, now it is RelWithDebInfo.
  • Support LibreSSL 2.7+.

Bug fixes:

  • mongoc_collection_replace_one is now a correctly exported symbol.
  • Fix multiple issues with readConcern and writeConcern inheritance.
  • Fix rare crash with mongodb+srv URIs on Windows.
  • mongoc_gridfs_create_file_from_stream ignored errors while writing chunks
    to the server.
  • The following functions should not have taken a "bypassDocumentValidation"
    option in bson_t *opts, the option is now prohibited:
    • mongoc_bulk_operation_insert_with_opts
    • mongoc_bulk_operation_update_one_with_opts
    • mongoc_bulk_operation_update_many_with_opts
    • mongoc_bulk_operation_replace_one_with_opts
  • The heartbeat-succeeded and heartbeat-failed events (part of SDAM
    Monitoring) had uninitialized "duration" fields, they are now set correctly.

Links:

Thanks to everyone who contributed to this release.

  • A. Jesse Jiryu Davis
  • Roberto C. Sánchez
  • Kevin Albertson
  • Henrik Edin
  • Spencer McKenney
  • Jeremy Mikola
  • Evgeni Dobranov
  • Tomas Mozes
  • Derick Rethans
  • Gustaf Neumann
  • Jeroen
  • Jeroen Ooms
  • Kaitlin Mahar
  • Scott Gayou

mongo-c-driver 1.12.0

18 Jul 20:13
1.12.0
a690091
Compare
Choose a tag to compare

I'm pleased to announce version 1.12.0 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

It is my pleasure to announce libbson 1.12.0. This release deprecates all
MD5-related public APIs; they will be removed in the next major release.

Bug fixes:

  • Properly handle zero-length BSON binary values
  • Fix crash parsing Base64-encoded data in JSON when using libbson without
    libmongoc

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.12.0.

Features:

  • New function mongoc_client_session_in_transaction to check if a multi-
    document transaction is started.
  • New examples for change streams and transactions, improved guide for
    migrating from mongoc_collection_count to mongoc_collection_count_documents

Bug fixes:

  • Fix occasional crash in sharded queries
  • Retry all retryable write concern errors
  • mongoc_client_session_commit_transaction sets the correct error label when
    the primary is unavailable
  • mongoc_collection_find_with_opts had prohibited read preference "primary"
    in a transaction
  • mongoc_collection_aggregate had not inherited its mongoc_collection_t's
    read preference; only an explicitly provided read preference was used.
  • Allow unencoded delimiters in username/password if unambiguous

Links:

Thanks to everyone who contributed to this release.

  • Roberto C. Sánchez
  • A. Jesse Jiryu Davis
  • Kevin Albertson
  • Spencer McKenney
  • Evgeni Dobranov
  • Jeremy Mikola
  • 平民·寻梦(Pingmin Fenlly Liu)

mongo-c-driver 1.11.0

22 Jun 23:18
1.11.0
44ee444
Compare
Choose a tag to compare

I'm pleased to announce version 1.11.0 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

It is my pleasure to announce libbson 1.11.0. This version adds the following
features and improvements:

  • All "destroy" functions such as bson_destroy or bson_reader_destroy now
    ignore a NULL argument.
  • Replace MD5 with FNV-1a hash to generate ObjectIds (for FIPs compliance).

Bug fixes:

  • Functions incorrectly marked with the "const" compiler attribute are now
    marked as "pure", fixes build error when link-time optimization is enabled.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.11.0. This release adds
support for MongoDB 4.0 features. It includes the following additions and
improvements:

  • Multi-document transactions, see mongoc_client_session_start_transaction
  • New function mongoc_error_has_label to check for specific error labels such
    as "TransientTransactionError" or "UnknownTransactionCommitResult" in
    error replies.
  • New functions to subscribe to changes on an entire client or database:
    • mongoc_client_watch
    • mongoc_database_watch
  • New option for change streams, "startAtOperationTime".
  • mongoc_collection_count_with_opts is deprecated for two new functions:
    • mongoc_collection_count_documents
    • mongoc_collection_estimated_document_count
  • Support for SCRAM-SHA-256 authentication, including support for non-ASCII
    passwords using libicu is an optional dependency.
  • Faster mongoc_database_get_collection_names_with_opts fetches only names,
    not the entire collection metadata.

Additional changes not specific to MongoDB 4.0:

  • All "destroy" functions such as mongoc_collection_destroy now ignore a NULL
    argument.
  • The driver now returns an error if you attempt to use "arrayFilters" in an
    update with a MongoDB server older than 3.6.
  • Update functions include a new "upsertedCount" field in the reply document.
  • Replace MD5 with FNV-1a hash to generate ObjectIds (for FIPs compliance).

Bug fixes:

  • Functions incorrectly marked with the "const" compiler attribute are now
    marked as "pure", fixes build error when link-time optimization is enabled.

Links:

Thanks to everyone who contributed to this release.

  • A. Jesse Jiryu Davis
  • Kevin Albertson
  • Evgeni Dobranov
  • Spencer McKenney
  • Jeremy Mikola
  • Roberto C. Sánchez
  • Remi Collet

mongo-c-driver 1.10.3

19 Jun 18:22
1.10.3
9a329e3
Compare
Choose a tag to compare

I'm pleased to announce version 1.10.3 of libbson and libmongoc,
the libraries constituting the MongoDB C Driver.

libbson

No change since 1.10.2; released to keep pace with libmongoc's version.

libmongoc

It is my pleasure to announce the MongoDB C Driver 1.10.3. This release fixes
a crash when parsing binary data from JSON if mongoc_init isn't called.

Links: