Skip to content

Releases: mongodb/mongo-c-driver

mongo-c-driver 1.2.0-rc0

01 Oct 22:08
Compare
Choose a tag to compare
Pre-release

It is my pleasure to announce the release candidate of the MongoDB C driver
1.2.0. It includes features and bugfixes developed since 1.2.0-beta1.

Notable bugs fixed:

  • Much improved reporting of network errors, unavailable servers, and authentication failure
  • Destroying an exhaust cursor must close its socket
  • Various bugs in server reconnection logic
  • mongoc_collection_aggregate returned invalid cursor after failure
  • Wrong error message after failed network write on Sparc
  • Missing JSON test files in release tarball

Other changes:

  • Enable runtime asserts in release build.
  • mongoc_client_kill_cursor is now deprecated and will be removed in version 2.0.

This release candidate also includes all bugfixes from 1.1.11.

Version 1.2.0 final will be a stable release with additive ABI changes and
bugfixes. It is compatible with MongoDB version 2.4 and later.

Thanks to everyone who contributed to this version of libmongoc.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Kyle Suarez
  • rubicks
  • Jose Sebastian Battig
  • Jason Carey
  • Remi Collet
  • Yuval Hager

Peace,

-- A. Jesse Jiryu Davis

mongo-c-driver 1.1.11

23 Sep 20:37
Compare
Choose a tag to compare

It is my pleasure to announce to you the MongoDB C driver 1.1.11.

This is a patch release with bug fixes:

  • Undetected network errors when sending messages to the server
  • Off-by-one error in mongoc_gridfs_file_seek with mode SEEK_END
  • Memory leak parsing a URI that contains an invalid option
  • The libbson submodule's URL now uses the recommended https://, not git://

Thanks to everyone who contributed to the development of this point release for
libmongoc.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Jason Carey
  • Jose Sebastian Battig
  • rubicks

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.2.0-beta1

03 Sep 20:47
Compare
Choose a tag to compare
Pre-release

It is my pleasure to announce the second beta release of the MongoDB C driver
1.2.0. It includes features and bugfixes developed since 1.2.0-beta.

New features:

  • Set mongoc_client_pool_t's size with mongoc_client_pool_min_size()
    and mongoc_client_pool_max_size().
  • The write concern "w=-1" is now documented as obsolete.
  • Abundant fixes and additions to the documentation, beyond those in the
    previous beta.

Notable bugs fixed:

  • Crashes and races in several replica set scenarios.
  • The driver now uses the server's maxWireVersion to avoid an error and
    extra round-trip when executing aggregations on MongoDB 2.4 and older.
  • Fixed network error handling in multiple code paths.
  • connectTimeoutMS limits the time the driver can spend reconnecting to
    servers in single-threaded (non-pooled) mode with serverSelectionTryOnce.

Version 1.2.0 final will be a stable release with additive ABI changes and
bugfixes. It is compatible with MongoDB version 2.4 and later.

Thanks to everyone who contributed to this version of libmongoc.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Manuel Schoenlaub
  • Kyle Suarez
  • Remi Collet

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.2.0-beta

11 Aug 01:49
Compare
Choose a tag to compare
Pre-release

It is my pleasure to announce to you the first beta release of the MongoDB C driver 1.2.0.

This release is a stable release with additive ABI changes and bugfixes. It is compatible with MongoDB version 2.4 and later.

Version 1.2.0 rewrites mongoc_client_t's internals to match two important new specs for MongoDB drivers: the Server Discovery And Monitoring Spec and the Server Selection Spec. The rewritten client has many advantages:

  • All replica set members or mongoses are discovered and periodically
    checked in parallel. The driver's performance is dramatically better and
    more predictable with multi-server deployments, or with a flaky network,
    or when some servers are slow or down.
  • Clients from the same mongoc_client_pool_t share a background thread that
    discovers and monitors all servers in parallel.
  • Unnecessary round trips for server checks and pings are eliminated.
  • Behavior is documented in the specs, and consistent with other drivers, even
    in complex or unusual scenarios.
  • The URI's "replicaSet" option is enforced: the driver now refuses to connect
    to a server unless it is a member of a replica set with the right setName.
  • Many race conditions related to changing deployment conditions are fixed.

To conform to the new specs, the client now accepts these options in the MongoDB URI; see the mongoc_uri_t documentation for details:

  • heartbeatFrequencyMS
  • serverSelectionTimeoutMS
  • serverSelectionTryOnce
  • socketCheckIntervalMS

Other features:

  • All timeouts that can be configured in the URI now interpret 0 to mean "use the default value for this timeout".
  • The client's read preference can be configured in the URI with the new
    options "readPreference" and "readPreferenceTags", see the mongoc_uri_t
    documentation.
  • The new mongoc_uri_get_read_prefs_t function retrieves both the read mode
    and tags from a mongoc_uri_t.
  • New accessors mongoc_gridfs_file_get_id, mongoc_client_get_default_database,
    and mongoc_bulk_operation_get_write_concern.
  • Debug tracing can be controlled at runtime with mongoc_log_trace_enable and
    mongoc_log_trace_disable.

Notable bugs fixed:

  • "wtimeoutms" was ignored for write concerns besides "majority".
  • Bulk write operations might fail in mixed-version sharded clusters with
    some pre-2.6 mongos servers.
  • Normal operations were logged during startup and could not be silenced.
  • A variety of bugs and incorrect results in mongoc_bulk_operation_execute.
  • Numerous compiler warnings and build failures on various platforms.
  • Copious refinements to the documentation.

Thanks to everyone who contributed to this version of libmongoc.

  • A. Jesse Jiryu Davis
  • Sujan Dutta
  • Jason Carey
  • Hannes Magnusson
  • Jeremy Mikola
  • Derick Rethans
  • Samantha Ritter
  • Yuchen Xie
  • Lloyd Zhou

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.1.10

22 Jul 01:32
Compare
Choose a tag to compare

It is my pleasure to announce to you the MongoDB C driver 1.1.10.

This is a patch release with bug fixes:

  • Occasional crash reconnecting to replica set.
  • Queries sent to recovering replica set members.
  • Memory leak when calling ismaster on replica set members.

Thanks to everyone who contributed to the development of this point release for
libmongoc.

  • A. Jesse Jiryu Davis
  • Daniil Zaitsev
  • Jason Carey
  • Jeremy Mikola

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.1.9

29 Jun 03:49
Compare
Choose a tag to compare

It is my pleasure to announce to you the MongoDB C driver 1.1.9.

This release fixes a common crash in 1.1.8, which itself was introduced while
fixing a rare crash in 1.1.7. For further details:

https://jira.mongodb.org/browse/CDRIVER-721
https://jira.mongodb.org/browse/CDRIVER-695

Thanks to everyone who contributed to the development of this point release for
libmongoc.

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.1.8

21 Jun 07:58
Compare
Choose a tag to compare

Update: this release suffers from a severe regression, CDRIVER-721, so I'm removing it.

It is my pleasure to announce to you the 1.1.8 release of the MongoDB C driver.

This is a patch release with bug fixes:

  • Crash freeing client after a replica set auth error.
  • Compile error in strict C89 mode.

Thanks to everyone who contributed to the development of this point release for
libmongoc.

Peace,

A. Jesse Jiryu Davis

Mongo-c-driver 1.1.7

09 Jun 21:15
Compare
Choose a tag to compare

mongo-c-driver 1.1.7

It is my pleasure to announce to you the 1.1.7 release of the MongoDB C driver.

This is a patch release with bug fixes:

  • Thread-safe use of Cyrus SASL library.
  • Experimental support for building with CMake and SASL.
  • Faster reconnection to replica set with some hosts down.
  • Crash iterating a cursor after reconnecting to a replica set.
  • Unchecked errors decoding invalid UTF-8 in MongoDB URIs.
  • Fix error reporting from mongoc_client_get_database_names.

Thanks to everyone who contributed to the development of this point release for
libmongoc.

  • A. Jesse Jiryu Davis
  • Jason Carey
  • Hannes Magnusson

Peace,

A. Jesse Jiryu Davis

Mongo-c-driver 1.1.6

18 May 22:10
Compare
Choose a tag to compare

mongo-c-driver 1.1.6

It is my pleasure to announce to you the 1.1.6 release of the MongoDB C driver.

This is a patch release with performance enhancements and bug fixes:

  • mongoc_bulk_operation_execute now coalesces consecutive update operations
    into a single message to a MongoDB 2.6+ server, yielding huge performance
    gains. Same for remove operations. (Inserts were always coalesced.)
  • Large numbers of insert operations are now properly batched according to
    number of documents and total data size.
  • GSSAPI / Kerberos auth now works.
  • The driver no longer tries three times in vain to reconnect to a primary,
    so socketTimeoutMS and connectTimeoutMS now behave closer to what you
    expect for replica sets with down members. A full fix awaits 1.2.0.

I snuck in a feature:

  • mongoc_matcher_t now supports basic subdocument and array matching

Thanks to everyone who contributed to the development of this point release for
libmongoc.

  • A. Jesse Jiryu Davis
  • Jason Carey
  • Kai Mast
  • Matt Cotter

Peace,

A. Jesse Jiryu Davis

Mongo-c-driver 1.1.5

12 May 21:29
Compare
Choose a tag to compare

mongo-c-driver 1.1.5

It is my pleasure to announce to you the 1.1.5 release of the MongoDB C driver.

This is a patch release with performance enhancements and bug fixes:

  • The fsync and j write concern flags now imply acknowledged writes
  • Prevent using fsync or j with conflicting w=0 write concern
  • Obey socket timeout consistently in TLS/SSL mode
  • Return an error promptly after a network hangup in TLS mode
  • Prevent crash using SSL in FIPS mode
  • Always return NULL from mongoc_database_get_collection_names on error
  • Fix version check for GCC 5 and future versions of Clang
  • Fix warnings and errors building on various platforms
  • Add configure flag to enable/disable shared memory performance counters
  • Minor docs improvements and fix links from C Driver docs to Libbson docs

With this release, Libbson abandons the convention that odd-numbered patch
versions indicate unstable releases. We switch to simple semantic versioning:
1.1.5 is a stable release with bug fixes since 1.1.4. During subsequent
development the version will be "1.1.6-dev".

Thanks to everyone who contributed to the development of this point release for
libmongoc.

  • A. Jesse Jiryu Davis
  • Christian Hergert
  • Jason Carey
  • Jeremy Mikola
  • Jeroen Ooms
  • Hannes Magnusson

Enjoy!

-- A. Jesse Jiryu Davis