MongoDB C Driver v1.15.0 Release Notes

Release Date: 2019-08-13 // over 4 years ago
  • 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+.
    • πŸ“Š 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.
    • 0️⃣ "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