mongo-c-driver 1.1.0
====================

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

This release is a stable release with additive ABI changes and bugfixes.

The below changes include some carried over from RC0.

Changes include:
 * RC0
   * ABI versioning for 1.1 versus 1.0 symbols
   * additional geo index options
   * authMechanismProperties in URI
   * fixes for OS X Yosemite
   * removal of replica set member limit
   * SCRAM-SHA-1 SASL mechanism
   * updated dependency on libbson 1.1 abi
   * validation for bulk insert
   * various memory leak fixes
 * Fixes to documentation typos
 * "How to Ask For Help" in the README
 * Removed dependency on sasl for PLAIN authentication
 * Use provided username, if available, for X.509 auth
 * Fixed WriteConcern error reporting for some writes
 * Check for closed sockets before attempting RPCs
 * Fixes for gridfs file seek
 * Fixes for mongoc_cursor_clone()
 * Fixes for unix domain socket support
 * Fixes for polling on win32
 * Improved warnings on failure to connect
 * Addition of wired tiger options
 * Fixes for examples

Additions to the ABI include:
 * support for extra option in count
   - mongoc_collection_count_with_opts
 * additional index options
   - mongoc_index_opt_geo_get_default
   - mongoc_index_opt_geo_init
   - mongoc_index_opt_wt_get_default
   - mongoc_index_opt_wt_init
 * rand interface to seed and verify the strong random number generation needed
   by some auth mechanisms
   - mongoc_rand_seed
   - mongoc_rand_add
   - mongoc_rand_status
 * URI additions to support more complicated auth credentials
   - mongoc_uri_get_credentials
   - mongoc_uri_get_mechanism_properties
 * Support for cursor returning metadata crud operations
   - mongoc_client_find_databases
   - mongoc_collection_find_indexes
   - mongoc_database_find_collections
 * Kill cursor supportp
   - mongoc_client_kill_cursor
 * Various get/setters on cursor
   - mongoc_cursor_get_batch_size
   - mongoc_cursor_get_id
   - mongoc_cursor_set_batch_size
 * More socket/stream options
   - mongoc_socket_check_closed
   - mongoc_socket_inet_ntop
   - mongoc_stream_check_closed
   - mongoc_stream_write

Additional Notes:
  Existing complex index names may contain a zero instead of a type due to
a bug in mongoc_collection_keys_to_index_string. As a result those indexes may 
be hard to drop from the driver as they have a name you would not expect.

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

 * Adam Midvidy
 * aherlihy
 * alexeyvo
 * Christian Hergert
 * Hannes Magnusson
 * Jason Carey
 * Jérôme Lebel
 * Jesse Jiryu Davis
 * lloydzhou
 * Mark Benevenuto
 * Paul Melnikow
 * Samantha Ritter
 * Shraya Ramani
 * Spencer Jackson
 * Spencer Jackson
 * Tyler Brock


Enjoy!

-- Jason Carey

mongo-c-driver 1.1.0-rc0
========================

It is my pleasure to announce to you the 1.1.0-rc0 release of the MongoDB C driver.

This release is a release candidate with additive ABI changes and bugfixes.

Changes include:
 * ABI versioning for 1.1 versus 1.0 symbols
 * additional geo index options
 * authMechanismProperties in URI
 * fixes for OS X Yosemite
 * removal of replica set member limit
 * SCRAM-SHA-1 SASL mechanism
 * updated dependency on libbson 1.1 abi
 * validation for bulk insert
 * various memory leak fixes

Additions to the ABI include:
 * support for extra option in count
   - mongoc_collection_count_with_opts
 * extra index and collection info
   - mongoc_collection_get_index_info
   - mongoc_database_get_collection_info
 * additional geo options
   - mongoc_index_opt_geo_get_default
   - mongoc_index_opt_geo_init
 * rand interface to seed and verify the strong random number generation needed
   by some auth mechanisms
   - mongoc_rand_seed
   - mongoc_rand_add
   - mongoc_rand_status
 * URI additions to support more complicated auth credentials
   - mongoc_uri_get_credentials
   - mongoc_uri_get_mechanism_properties

Additional Notes:
  Existing complex index names may contain a zero instead of a type due to
a bug in mongoc_collection_keys_to_index_string. As a result those indexes may 
be hard to drop from the driver as they have a name you would not expect.

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

 * Adam Midvidy
 * aherlihy
 * alexeyvo
 * Christian Hergert
 * Jason Carey
 * Jérôme Lebel
 * Samantha Ritter
 * Spencer Jackson
 * Tyler Brock


Enjoy!

-- Jason Carey

mongo-c-driver 1.0.2
====================

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

This release is a minor point release with no ABI changes and mostly small
bugfixes.

Changes include:
 * A variety of fixes for read preference based node selection
 * Avoided inclusion of getLastError in 2.6 writeConcern
 * Correct handling of pass through params for collection_aggregate
 * Improved error reporting in socket connect
 * Public MONGOC_DEFAULT_CONNECTTIMEOUTMS

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

 * Adam Midvidy
 * Christian Hergert
 * Denis Gladkikh
 * Jason Carey
 * Jeremy Mikola
 * Jérôme Lebel
 * Tyler Brock
 * Wisdom Omuya

-- Jason Carey

mongo-c-driver 1.0.0
====================

It is my very distinct pleasure to announce to you the 1.0 release of
the MongoDB C driver!

This is the culmination of just over a year of work and could not have
been done without the help of our wonderful community.

Thanks to everyone who contributed to the development of this driver!

 * Christian Hergert
 * Jason Carey
 * Gary Murakami
 * Christian Heckl
 * Frank Watson Song
 * Hannes Magnusson
 * Jérôme Lebel
 * Kyle Suarez
 * Maga Napanga
 * Michael Kuhn
 * Vincent Giersch
 * essentia44
 * yuqing

Happy Hacking!

-- Christian Hergert


mongo-c-driver 0.98.2
=====================

One final step before our journey to 1.0!

This is a relatively small release, adding some features needed for drivers
building on top of the C driver.

A new libmongoc-priv.so library is installed that does not have symbols
hidden. You can access private headers via the -private.h variants. This
means you will need to recompile your project every time the library is
changed (if you use those private headers, as they are subject to change).

A special thanks to Hannes Magnusson for patches in this release.

See `git shortlog 0.98.0..0.98.2` for a list of all the changes.

-- Christian Hergert


mongo-c-driver 0.98.0
=====================

Another step in the rapidly approaching path to 1.0!

This release is primarily a bugfix release and stablization effort as we
approach 1.0 of the MongoDB C driver.

This release requires 0.98.0 of Libbson for improvements to the memory
management system. You can now setup custom memory allocators at the
start of the process.

This is a RC release that with a few improvements will likely become 1.0.

A special thanks to the following for patches in this cycle:

 * Kyle Suarez
 * yuqing

See `git shortlog 0.96.4..0.98.0` for a list of all the changes.

-- Christian Hergert


mongo-c-driver 0.96.4
=====================

Another incremental feature update and bugfix release!

In this release, you will find the following changes:

 * build/mci.sh script for automatically building Debian packages, RPMs, and
   Solaris packaging based on the host operating system.
 * Various libbson improvements, now depending on 0.8.4.
 * Alignment fixes for Solaris Studio C compiler via libbson.
 * Addition of mongoc_gridfs_remove_by_filename() for removing a file from
   gridfs by filename.
 * client command functions can now take a fully qualified namespace.
 * collections can now support names that indicate a command namespace.
 * Commands will no longer fail if they do not contain an "ok" field.
 * OP_QUERY will now set the slaveOk bit in the wire protocol if
 * readPreferences are set to non-PRIMARY.
 * Various documentation and build fixes.

Thanks again to all the contributors, and happy hacking!


mongo-c-driver 0.96.2
=====================

Hot on the heels of 0.96.0 we would like to present mongo-c-driver 0.96.2!

This is primarily a bugfix release. Included in this release are:

 * Ensure batchSize is used in cursor GETMORE operations with `aggregate`.
 * Ensure enough buffer space is allocated for incoming RPC when buffering
   from a stream.
 * Require libbson 0.8.2 for more robust `bson_next_power_of_two()` when
   using `size_t` and BCON compilation fix with C++.
 * Handle cursor id's that are not 64-bit values in response from
   `aggregate` command.
 * Handle upsert on MongoDB < 2.6 when _id does not contain an `ObjectId`.
 * Use 100 for default batchSize in `aggregate` command.

Happy Hacking!


mongo-c-driver 0.96.0
=====================

It's that time again, time for another mongo-c-driver release!

This release includes much new documentation, which can be found at
http://docs.mongodb.org/ecosystem/drivers/c/.

Additionally, this release improves support for various exotic systems.
Solaris 10 is supported much better on SPARC and x86_64 based systems.

Some workarounds for mixed-mode sharded-clusters have been added to improve
resiliency when rolling upgrades are performed.

Build improvements have been added to help us detect SASL and SSL
implementations on platforms that do not support pkg-config. This should
simplify building for some of you.

We've added some more logging to SASL authentication to help debug
authentication failures.

A bug causing an abort() when SSL is used and a server is down has been fixed.

We've renamed various _delete() functions to _remove() to provide consistency
with other MongoDB drivers.

You can now specify SSL options for client pools.

-D_REENTRANT is always defined now on Solaris to help with errno detection.
This may not have been done before if using a non-GCC platform with pthreads.

A bug was fixed where timeouts could have been 1000x longer than expected
due to failure to convert from microseconds to milliseconds.

A bug was fixed with authentication in sharded cluster and replica set
scenarios.

Happy Hacking!


mongo-c-driver 0.94.2
=====================

Hot on the heels of 0.94.0 is 0.94.2, a bugfix release.

A bug has been fixed when using TLS streams and large result sets.

In this release, we added support for Sun's C compiler (Sun Pro C) on Solaris.
This allows for builds on Solaris 10 with SPARC using the native toolchain.

This release contains a couple of fixes in libbson as well.

Keep those bug reports coming, and as always, Happy Hacking!


mongo-c-driver 0.94.0
=====================

The mongo-c-driver team is proud to announce the release of 0.94.0. This
release is a followup to the previous release adding more features to be found
in MongoDB 2.6.

You will find some new API's, bug fixes, and more documentation. Under the
hood, 0.94.0 uses the new write-commands as part of MongoDB 2.6 when it
discovers it is communicating with a MongoDB server. There is now a bulk
operation API (See `mongoc-bulk-operation.h`).

Helpers for common server commands have been added. You can find most of
them `mongoc-collection.h`.

To simply using mongo-c-driver from Windows, we've included pre-built binaries
on the release page.

Thanks to all of the contributors this release!

Happy Hacking!


mongo-c-driver 0.92.0
=====================

The mongo-c-driver team is proud to announce the release of 0.92.0. This
release is the culimation of a few months work and has many bug fixes and
new features. It contains over 350 commits from 4 authors since the 0.90.0
release.

The mongo-c-driver release tarballs now contain a bundled copy of libbson.
If you do not have libbson installed or the system installed libbson is too
old, the bundled copy of libbson will be installed.

 * Revamped build system to simplify installation.
 * Windows Vista and newer support.
 * Various GridFS fixes and features.
 * Kerberos support via cyrus-sasl.
 * Various SSL improvements.
 * Support for Solaris 11, FreeBSD 10, RHEL 5+, and SmartOS.
 * A new client side expression matcher to perform basic query processing.
   It can perform queries such as {'field': {'$in': [1,2,3]}}. See
   mongoc_matcher_t for more information.
 * A new socket abstraction for platform independent network sockets.
 * A new mongoc-dump example for how to write a simple mongodump replacement.
 * Counters can use rdtscp instruction on Core iX systems for very fast
   counters.
 * configure has new options. If in doubt, the defaults are sensible.
   * --enable-coverage=yes|no
   * --enable-debug=yes|no
   * --enable-debug-symbols=yes|no
   * --enable-hardening=yes|no
   * --enable-optimizations=yes|no
   * --enable-ssl=yes|no
   * --enable-sasl=yes|no
   * --enable-tracing=yes|no
   * --with-libbson=auto|system|bundled

mongo-c-driver 0.92.0 requires libbson 0.6.4 or newer.

Happy Hacking!


Libmongoc 0.90.0
================

This is the initial release of the new Libmongoc. We chose 0.90.0 for the
release version to differentiate ourselves from the, now legacy, version of
libmongoc. We will rapidly work towards reaching an API/ABI stable library fit
for a 1.0.0 release.

Libmongoc is Apache licensed so it can be embedded in a multitude of scenarios.

The API of 0.90.0 is completely different from the previous versions. We think
this allowed us to create a high-quality library that you will enjoy using in
your applications.

Many outstanding bugs were closed in the process of creating Libbson 0.90.0. So
if you had a pet issue, please take a look to see if it was resolved as part of
this effort!

Thanks, and enjoy developing your applications with libmongoc!
