Skip to content

Releases: mongodb/mongo-c-driver

mongo-c-driver 1.2.4

15 Mar 02:40

Choose a tag to compare

It is my pleasure to announce the MongoDB C Driver 1.2.4. This release fixes a
security vulnerability: when a mongoc_client_t uses SSL and is disconnected, it
failed to re-verify the server certificate after reconnecting. This flaw affects
single clients, not pooled ones.

Thanks to everyone who contributed to the development of this release.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson

Peace,

-- A. Jesse Jiryu Davis

mongo-c-driver 1.3.3

05 Feb 06:57

Choose a tag to compare

It is my pleasure to announce MongoDB C Driver 1.3.3. This fixes a bug where
a slightly-oversized bulk write operation was not split into batches; instead,
it was sent whole to the server, which rejected it.

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.3.2

02 Feb 01:52

Choose a tag to compare

It is my pleasure to announce MongoDB C Driver 1.3.2. This is a bugfix release:

  • A socket is properly discarded after a network error from a command.
  • mongoc_database_get_collection now copies the database's read preferences,
    read concern, and write concern, instead of copying the client's.
  • mongoc_cursor_t's private struct now allows a negative limit.

Thanks to everyone who contributed to this release.

  • A. Jesse Jiryu Davis
  • Jeremy Mikola
  • Hannes Magnusson

Peace,
A. Jesse Jiryu Davis

mongo-c-driver 1.3.1

18 Jan 16:57

Choose a tag to compare

It is my pleasure to announce MongoDB C Driver 1.3.1. This is a bugfix release:

  • mongoc_client_get_gridfs now copies the client's read preferences, read
    concern, and write concern to the newly created mongoc_gridfs_t. Before
    this fix, GridFS operations were always executed with the default config:
    data was read from the primary, with the read concern level "local", and
    written with write concern "acknowledged". Now, if you have configured any
    of these options on the mongoc_client_t, they are respected by the
    mongoc_gridfs_t.
  • CMakeLists.txt now includes and installs the pkg-config files.

Thanks to everyone who contributed to this release.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Christopher Wang
  • Jean-Bernard Jansen
  • Jeremy Mikola
  • Jeroen Ooms

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.3.0

08 Dec 01:45

Choose a tag to compare

It is my pleasure to announce to you the release of the MongoDB C Driver 1.3.0.

Changes since the the release candidate 1.3.0-rc0:

  • Fix a cursor bug introduced on big-endian platforms in 1.3.0-beta0.
  • Improve documentation for mongoc_host_list_t.
  • Move private mongoc_host_list_t functions from public header.
  • Refactor the build system to declare library version in one place.

All new features and changes since the previous stable release, 1.2.1:

  • If the driver is compiled without SSL support but a URI with "ssl=true"
    is passed to mongoc_client_new, mongoc_client_new_from_uri, or
    mongoc_client_pool_new, the function logs an error and returns NULL. Before,
    the driver would attempt a non-SSL connection.
  • mongoc_collection_find_and_modify will now apply the mongoc_collection_t's
    write_concern_t when talking to MongoDB 3.2.
  • Support for MongoDB 3.2's "readConcern" feature for queries, counts, and
    aggregations. The option "readConcernLevel" is now accepted in the MongoDB
    URI. New struct mongoc_read_concern_t, and functions operating on it:
    • mongoc_client_get_read_concern
    • mongoc_client_set_read_concern
    • mongoc_database_get_read_concern
    • mongoc_database_set_read_concern
    • mongoc_collection_get_read_concern
    • mongoc_collection_set_read_concern
    • mongoc_read_concern_copy
    • mongoc_read_concern_destroy
    • mongoc_read_concern_get_level
    • mongoc_read_concern_new
    • mongoc_read_concern_set_level
    • mongoc_uri_get_read_concern
  • Support for MongoDB 3.2's "bypassDocumentValidation" option for writes.
  • New struct mongoc_bulk_write_flags_t and related functions:
    • mongoc_bulk_operation_set_bypass_document_validation
  • New struct mongoc_find_and_modify_opts_t and related functions:
    • mongoc_find_and_modify_opts_new
    • mongoc_find_and_modify_opts_destroy
    • mongoc_find_and_modify_opts_set_sort
    • mongoc_find_and_modify_opts_set_update
    • mongoc_find_and_modify_opts_set_fields
    • mongoc_find_and_modify_opts_set_flags
    • mongoc_find_and_modify_opts_set_bypass_document_validation
    • mongoc_collection_find_and_modify_with_opts
  • New functions to copy database and collection handles:
    • mongoc_collection_copy
    • mongoc_database_copy
  • Support for MongoDB 3.2 wire protocol: use commands in place of OP_QUERY,
    OP_GETMORE, and OP_KILLCURSORS messages.
  • To explain a query plan with MongoDB 3.2, you must now call the "explain"
    command, instead of including the "$explain" key in a mongoc_collection_find
    query. See the mongoc_collection_find documentation page for details.
  • Configurable wait time on tailable cursors with MongoDB 3.2:
    • mongoc_cursor_get_max_await_time_ms
    • mongoc_cursor_set_max_await_time_ms
  • Use electionId to detect a stale replica set primary during a network split.
  • Disconnect from replica set members whose "me" field does not match the
    connection address.
  • The client side matching feature, mongoc_matcher_t and related functions,
    are deprecated and scheduled for removal in version 2.0.
  • New CMake options ENABLE_SSL, ENABLE_SASL, ENABLE_TESTS, and ENABLE_EXAMPLES.
  • Use constant-time comparison when verifying credentials.
  • Combine environment's CFLAGS with configure options when building.
  • Improved man page output and "whatis" entries.

There are extensive bugfixes and improvements in GridFS since 1.2.1, including:

  • Handle seeking, reading, and writing past the end of a GridFS file.
  • If a GridFS chunk is missing, mongoc_gridfs_file_readv sets file->error to
    domain MONGOC_ERROR_GRIDFS and a new code MONGOC_ERROR_GRIDFS_CHUNK_MISSING.
  • Optimization for long seeks forward with mongoc_gridfs_file_seek.

Other fixes since 1.2.1:

  • Memory leaks in mongoc_database_has_collection and mongoc_cursor_next.
  • Report writeConcern failures from findAndModify and from legacy writes.
  • Memory leak in mongoc_database_find_collections.
  • Set OP_QUERY's nToReturn from the provided limit.
  • Fix compiler warnings and errors, especially with Visual Studio 2015,
    GCC 4.8, and IBM XL C.
  • Bugs and typos in tutorial examples.

Thanks to everyone who contributed to this release candidate.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Kyle Suarez
  • Jose Sebastian Battig
  • Matt Cotter
  • Claudio Canella
  • alexeyvo
  • Christopher Wang
  • Flavio Medeiros
  • Iago Rubio
  • Jeremy Mikola
  • Victor Leschuk
  • Jason Carey

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.2.3

04 Dec 14:36

Choose a tag to compare

This release fixes the CMake build, which I broke in the 1.2.2 release.

-- A. Jesse Jiryu Davis

mongo-c-driver 1.3.0-rc0

02 Dec 16:30

Choose a tag to compare

Pre-release

It is my pleasure to announce to you the first release candidate of MongoDB C
driver 1.3.0. It includes additive ABI changes and bugfixes, and support for
the upcoming MongoDB 3.2. It is compatible with MongoDB 2.4 and later.

New features and changes since 1.3.0-beta0:

  • If the driver is compiled without SSL support but a URI with "ssl=true"
    is passed to mongoc_client_new, mongoc_client_new_from_uri, or
    mongoc_client_pool_new, the function logs an error and returns NULL. Before,
    the driver would attempt a non-SSL connection.
  • New functions to copy database and collection handles:
    • mongoc_collection_copy
    • mongoc_database_copy
  • If a GridFS chunk is missing, mongoc_gridfs_file_readv sets file->error to
    domain MONGOC_ERROR_GRIDFS and a new code MONGOC_ERROR_GRIDFS_CHUNK_MISSING.
  • Use electionId to detect a stale replica set primary during a network split.
  • Disconnect from replica set members whose "me" field does not match the
    connection address.
  • The client side matching feature, mongoc_matcher_t and related functions,
    are deprecated and scheduled for removal in version 2.0.
  • New CMake options ENABLE_SSL, ENABLE_SASL, ENABLE_TESTS, and ENABLE_EXAMPLES.
  • The build system is refactored to declare the current version and latest
    release in one place.

Other fixes:

  • Memory leaks in mongoc_database_has_collection and mongoc_cursor_next.
  • Report writeConcern failures from findAndModify and from legacy writes.

Thanks to everyone who contributed to this release candidate.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Matt Cotter
  • Claudio Canella
  • Victor Leschuk
  • Flavio Medeiros
  • Christopher Wang

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.2.2

30 Nov 21:03

Choose a tag to compare

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

This release fixes a rare bug where the driver can direct reads to hidden
secondaries unintentionally. It also includes fixes and improvements to the
build system.

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.3.0-beta0

18 Nov 22:24

Choose a tag to compare

Pre-release

It is my pleasure to announce to you the beta of MongoDB C driver 1.3.0.
This beta includes additive ABI changes and bugfixes, and support for
the upcoming MongoDB 3.2. It is compatible with MongoDB 2.4 and later.

New features and changes:

  • mongoc_collection_find_and_modify will now apply the mongoc_collection_t's
    write_concern_t when talking to MongoDB 3.2.
  • Support for MongoDB 3.2's "readConcern" feature for queries, counts, and
    aggregations. The option "readConcernLevel" is now accepted in the MongoDB
    URI. New struct mongoc_read_concern_t, and functions operating on it:
    • mongoc_client_get_read_concern
    • mongoc_client_set_read_concern
    • mongoc_database_get_read_concern
    • mongoc_database_set_read_concern
    • mongoc_collection_get_read_concern
    • mongoc_collection_set_read_concern
    • mongoc_read_concern_copy
    • mongoc_read_concern_destroy
    • mongoc_read_concern_get_level
    • mongoc_read_concern_new
    • mongoc_read_concern_set_level
    • mongoc_uri_get_read_concern
  • Support for MongoDB 3.2's "bypassDocumentValidation" option for writes.
  • New struct mongoc_bulk_write_flags_t and related functions:
    • mongoc_bulk_operation_set_bypass_document_validation
    • mongoc_bulk_operation_set_flags
  • New struct mongoc_find_and_modify_opts_t and related functions:
    • mongoc_find_and_modify_opts_new
    • mongoc_find_and_modify_opts_destroy
    • mongoc_find_and_modify_opts_set_sort
    • mongoc_find_and_modify_opts_set_update
    • mongoc_find_and_modify_opts_set_fields
    • mongoc_find_and_modify_opts_set_flags
    • mongoc_find_and_modify_opts_set_bypass_document_validation
    • mongoc_collection_find_and_modify_with_opts
  • Configurable wait time on tailable cursors with MongoDB 3.2:
    • mongoc_cursor_get_max_await_time_ms
    • mongoc_cursor_set_max_await_time_ms
  • Support for MongoDB 3.2 wire protocol: use commands in place of OP_QUERY,
    OP_GETMORE, and OP_KILLCURSORS messages.
  • To explain a query plan with MongoDB 3.2, you must now call the "explain"
    command, instead of including the "$explain" key in a mongoc_collection_find
    query. See the mongoc_collection_find documentation page for details.
  • Use constant-time comparision when verifying credentials
  • Combine environment's CFLAGS with configure options when building.
  • Improved man page output and "whatis" entries

Extensive bugfixes and improvements in GridFS, including:

  • Handle seeking, reading, and writing past the end of a GridFS file.
  • Better error reporting if a GridFS file has missing chunks.
  • Optimization for long seeks forward with mongoc_gridfs_file_seek.

Other fixes:

  • Memory leak in mongoc_database_find_collections.
  • Set OP_QUERY's nToReturn from the provided limit.
  • Fix compiler warnings and errors, especially with Visual Studio 2015,
    GCC 4.8, and IBM XL C.
  • Include missing build script FindSASL2.cmake in distribution tarball
  • Bugs and typos in tutorial examples

Thanks to everyone who contributed to this version of libmongoc.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Kyle Suarez
  • Jose Sebastian Battig
  • Jeremy Mikola
  • Iago Rubio
  • Matt Cotter
  • alexeyvo

Peace,

A. Jesse Jiryu Davis

mongo-c-driver 1.2.1

30 Oct 00:57

Choose a tag to compare

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

This release includes critical bugfixes for SSL connections with
mongoc_client_pool_t, and for Unix domain socket connections.

The documentation is updated for a change introduced in version 1.2.0:
mongoc_client_set_ssl_opts and mongoc_client_pool_set_ssl_opts now configure
the driver to require an SSL connection to the server, even if "ssl=true" is
omitted from the MongoDB URI. Before, SSL options were ignored unless
"ssl=true" was included in the URI.

The build instructions are improved, including the steps to build with OpenSSL
on OS X El Capitan. Build errors and warnings are fixed for clang in gnu99
mode and MinGW.

Thanks to everyone who contributed to this version of libmongoc.

  • A. Jesse Jiryu Davis
  • Hannes Magnusson
  • Tamas Nagy

Peace,

A. Jesse Jiryu Davis