Age | Commit message (Collapse) | Author | Files | Lines |
|
New features and bug fixes:
- MongoDB 3.4 Support
- New URI and read preference option, "maxStalenessSeconds"
- Set MongoDB client handshake data with mongoc_client_set_appname or
mongoc_client_pool_set_appname.
- writeConcern and readConcern enhancements.
- Collation allows users to specify language-specific rules for string
comparison when sorting documents.
- mongoc_collection_count_with_opts uses the collection's read
preference if none is passed in
- Improved TLS support
- Fixed LibreSSL (libssl) support
- Added LibreSSL (libtls) support
- Fixed Secure Channel build on VS 2010
- OpenSSL now supports SNI (all others already do)
- Additional features for Application Performance Monitoring
- New functions accept flexible options as a BSON document.
- mongoc_collection_find is now deprecated in favor of
mongoc_collection_find_with_opts.
- New helper function to include read concern in one of the above
function's options parameter: mongoc_read_concern_append.
- mongoc_client_command no longer applies the client's read preference
and read concern by default. Same change for mongoc_database_command
and mongoc_collection_command.
- mongoc_collection_count_with_opts now applies the collection's read
preference if no read preference is provided
- mongoc_collection_create_index and mongoc_collection_drop_index now
apply the collection's write concern.
- mongoc_collection_create_index_with_opts now applies the collection's
write concern if none is specified in "opts"
- connectTimeoutMS timer now begins after DNS resolution, and resets for
each interface attempted (e.g., if the driver first tries IPv6, then
IPv4).
- New error code MONGOC_ERROR_DUPLICATE_KEY.
- mongoc_collection_find no longer treats the "filter" key specially in
queries - querying for a document with a key named "filter" is the
same now as any other key.
- The server description parameter to the following functions is
"const":
- mongoc_server_description_host
- mongoc_server_description_id
- mongoc_server_description_ismaster
- mongoc_server_description_round_trip_time
- mongoc_server_description_type
- Exported symbols are no longer declared in seperate export files.
- mongoc no longer crashes when multi roundtrip bulk operation fails.
- Added support for the new readConcernLevel "linearizable".
- Clients now check for misformatted "readPreferenceTags" in URI.
- New CMake option ENABLE_TRACING allows debug output, which before had
only been available with "configure --enable-tracing".
- Bugfix: "PossiblePrimary"-type replicas could be selected for reads
- Bugfixes: The random number generator used to select servers is now
properly seeded, and secondary queries are now properly distributed
according to localThresholdMS, not just to the lowest-latency secondary.
The latency estimate is reset after a connection error.
- Fix crashes in mongoc_topology_invalidate_server and
mongoc_client_kill_cursor.
- mongoc_collection_insert, mongoc_collection_update,
mongoc_collection_remove consistently use domain MONGOC_ERROR_BSON,
code MONGOC_ERROR_BSON_INVALID if passed oversized BSON, and
MONGOC_ERROR_COLLECTION for other errors. mongoc_bulk_operation_execute
continues to use MONGOC_ERROR_COMMAND for all errors.
- If mongoc_client_pool_t fails to start its scanner thread in the
background, it logs and aborts instead of silently continuing, then
failing to connect.
- The driver now updates its view of the whole topology with information
from each new connection handshake.
- Improved error reporting when the driver fails to reach the server,
and correctly distinguish "connection error" and "connection timeout".
Deprecations:
- mongoc_collection_find is deprecated for
mongoc_collection_find_with_opts.
Removed configure flags:
- --enable-experimental has been removed. All previously experimental
features are now always on.
- The configure option "--enable-hardening" had had no effect. It is
removed in favor of system-wide compiler configuration.
|
|
|
|
- The driver can now use the native TLS and crypto functions
included in Mac OS X and Windows.
- The driver implements the MongoDB Command Monitoring Spec.
- New functions mongoc_client_set_error_api and
mongoc_client_pool_set_error_api
allow applications to distinguish client and server errors.
- Unacknowledged writes (writes whose mongoc_write_concern_t "w"
value is zero) now reply with an empty document instead of one
with nInserted: 0, nUpdated: 0, and so on.
- Public API For Higher-Level Drivers
- New connection string option "localThresholdMS".
- zSeries, POWER8, and ARM 64-bit platform support.
- Performance enhancements, reduce allocation and copying in
command code.
- All man page names now begin with "mongoc_" to avoid install
conflicts.
- New function mongoc_gridfs_file_set_id.
|
|
pkgsrc changes:
- Release tarballs cannot build man pages any more, use pre-built
ones instead.
Changes since 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.
- Support for MongoDB 3.2's "bypassDocumentValidation" option for writes.
- New struct mongoc_bulk_write_flags_t and related functions.
- New struct mongoc_find_and_modify_opts_t and related functions.
- New functions to copy database and collection handles.
- 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.
- 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.
|
|
mongo-c-driver 1.2.0
- 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
- Enable runtime asserts in release build.
- mongoc_client_kill_cursor is now deprecated and will be removed
in version 2.0.
mongo-c-driver 1.1.11
- 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
|
|
mongo-c-driver 1.1.7
- 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.
mongo-c-driver 1.1.6
- 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.
- mongoc_matcher_t now supports basic subdocument and array matching
mongo-c-driver 1.1.5
- 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
|
|
- Fixed client pool concurrency issues
- Fixed some scenarios where replica sets would fail to reconnect on
primary step down.
- Improved write concern handling
- Validate port number in URI
- Various other fixes
|
|
mongo-c-driver 1.1.2
====================
* Process connectTimeoutMS cast insensitively
* Addition of missing trace macros
* Improvement of internal error messages
* Fix a segfault in OpenSSL cleanup routines
* Fix for IPv66 support for replica sets
* Coalesce small vectorized TLS writes
* MinGW fixups
* Fix for a memory leak in get_database_names()
* Fixes for patching write concern through the bulk api
* Fix to normalize hostnames in uri parsing
* Fix for managing connections in the client pool
* Various other fixes
mongo-c-driver 1.1.0
====================
* 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
|
|
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).
For other minor changes, see commits made since 0.98.0:
https://github.com/mongodb/mongo-c-driver/compare/0.98.0...1.0.0
|
|
Changes in 0.96.2
-----------------
* 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.
Changes in 0.96.0
-----------------
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.
|
|
mongo-c-driver is a client library written in C for MongoDB.
|