|
| 1 | +mongo-c-driver 1.2.0 |
| 2 | +==================== |
| 3 | + |
| 4 | +It is my pleasure to announce to you the MongoDB C driver 1.2.0. |
| 5 | + |
| 6 | +This is a stable release with additive ABI changes and bugfixes. It is |
| 7 | +compatible with MongoDB version 2.4 and later. |
| 8 | + |
| 9 | +The following notes summarize changes since the previous stable release, |
| 10 | +1.1.11, including changes in the 1.2.0 betas and release candidate. |
| 11 | + |
| 12 | +This version rewrites mongoc_client_t's internals to match two important new |
| 13 | +specs for MongoDB drivers: the Server Discovery And Monitoring Spec and the |
| 14 | +Server Selection Spec. The rewritten client has many advantages: |
| 15 | + |
| 16 | + * All replica set members or mongos servers are discovered and periodically |
| 17 | + checked in parallel. The driver's performance is dramatically better and |
| 18 | + more predictable with multi-server deployments, or with a flaky network, |
| 19 | + or when some servers are slow or down. |
| 20 | + * Clients from the same mongoc_client_pool_t share a background thread that |
| 21 | + discovers and monitors all servers in parallel. |
| 22 | + * Unnecessary round trips for server checks and pings are eliminated. |
| 23 | + * Behavior is documented in the specs, and consistent with other drivers, |
| 24 | + even in complex or unusual scenarios. |
| 25 | + * The URI's "replicaSet" option is enforced: the driver now refuses to connect |
| 26 | + to a server unless it is a member of a replica set with the correct setName. |
| 27 | + * Many race conditions related to changing deployment conditions are fixed. |
| 28 | + |
| 29 | +To conform to the new specs, the client now accepts these options in the |
| 30 | +MongoDB URI; see the mongoc_uri_t documentation for details: |
| 31 | + |
| 32 | + * heartbeatFrequencyMS |
| 33 | + * serverSelectionTimeoutMS |
| 34 | + * serverSelectionTryOnce |
| 35 | + * socketCheckIntervalMS |
| 36 | + |
| 37 | +Other features: |
| 38 | + |
| 39 | + * All timeouts that can be configured in the URI now interpret 0 to mean "use |
| 40 | + the default value for this timeout". |
| 41 | + * The client's read preference can be configured in the URI with the new |
| 42 | + options "readPreference" and "readPreferenceTags"; see the mongoc_uri_t |
| 43 | + documentation. |
| 44 | + * The new mongoc_uri_get_read_prefs_t function retrieves both the read mode |
| 45 | + and tags from a mongoc_uri_t. |
| 46 | + * New accessors mongoc_gridfs_file_get_id, mongoc_client_get_default_database, |
| 47 | + and mongoc_bulk_operation_get_write_concern. |
| 48 | + * Debug tracing can be controlled at runtime with mongoc_log_trace_enable and |
| 49 | + mongoc_log_trace_disable. |
| 50 | + * Set mongoc_client_pool_t's size with mongoc_client_pool_min_size() |
| 51 | + and mongoc_client_pool_max_size(). |
| 52 | + |
| 53 | +Other changes: |
| 54 | + |
| 55 | + * Enable runtime asserts in release build. |
| 56 | + * The libbson submodule's URL now uses the recommended https://, not git:// |
| 57 | + * mongoc_client_kill_cursor is now deprecated and will be removed in 2.0. |
| 58 | + * The write concern "w=-1" is documented as obsolete. |
| 59 | + |
| 60 | +These notable bugs have been fixed since 1.1.11: |
| 61 | + |
| 62 | + * The driver now uses the server's maxWireVersion to avoid an error and |
| 63 | + extra round-trip when executing aggregations on MongoDB 2.4 and older. |
| 64 | + * Much improved reporting of network errors, unavailable servers, and |
| 65 | + authentication failure |
| 66 | + * Off-by-one error in mongoc_gridfs_file_seek with mode SEEK_END |
| 67 | + * The writeConcernErrors field of bulk results is properly formatted. |
| 68 | + * A cursor with a server "hint" sets slaveOkay and / or $readPreference. |
| 69 | + * Destroying an exhaust cursor must close its socket |
| 70 | + * "wtimeoutms" was ignored for write concerns besides "majority". |
| 71 | + * Bulk write operations might fail in mixed-version sharded clusters with |
| 72 | + some pre-2.6 mongos servers. |
| 73 | + * A variety of bugs and incorrect results in mongoc_bulk_operation_execute. |
| 74 | + * Numerous compiler warnings and build failures on various platforms. |
| 75 | + * Copious refinements to the documentation. |
| 76 | + |
| 77 | +Thanks to everyone who contributed to this version of libmongoc. |
| 78 | + |
| 79 | + * Jason Carey |
| 80 | + * Samantha Ritter |
| 81 | + * A. Jesse Jiryu Davis |
| 82 | + * Hannes Magnusson |
| 83 | + * Kyle Suarez |
| 84 | + * Jeremy Mikola |
| 85 | + * Remi Collet |
| 86 | + * Jose Sebastian Battig |
| 87 | + * Derick Rethans |
| 88 | + * Yuchen Xie |
| 89 | + * Manuel Schoenlaub |
| 90 | + * Sujan Dutta |
| 91 | + * Lloyd Zhou |
| 92 | + * rubicks |
| 93 | + * Pawel Szczurko |
| 94 | + * Yuval Hager |
| 95 | + |
| 96 | +Peace, |
| 97 | + |
| 98 | + A. Jesse Jiryu Davis |
| 99 | + |
| 100 | + |
1 | 101 | mongo-c-driver 1.2.0-rc0
|
2 | 102 | ========================
|
3 | 103 |
|
|
0 commit comments