mongo-c-driver 1.9.0
This version drops support for MongoDB 2.4 and adds support for MongoDB 3.6 features:
- New struct mongoc_change_stream_t to watch a collection for changes.
- New struct mongoc_client_session_t represents a MongoDB 3.6 session,
which supports causal consistency: you are guaranteed to read your writes
and to perform monotonic reads, even when reading from secondaries or in
a sharded cluster.
- New functions that accept flexible options as a BSON document. These
accept a "sessionId" option and any future options. In addition, the
two new "update" functions accept the "arrayFilters" option that is new
in MongoDB 3.6:
mongoc_collection_insert_one
mongoc_collection_insert_many
mongoc_collection_update_one
mongoc_collection_update_many
mongoc_collection_replace_one
mongoc_collection_delete_one
mongoc_collection_delete_many
mongoc_client_command_with_opts
mongoc_database_command_with_opts
mongoc_collection_command_with_opts
mongoc_client_find_databases_with_opts
mongoc_client_get_database_names_with_opts
mongoc_collection_create_bulk_operation_with_opts
mongoc_collection_find_indexes_with_opts
mongoc_database_find_collections_with_opts
mongoc_database_get_collection_names_with_opts
- New URI option "retryWrites=true" safely and automatically retries certain
write operations if the server is a MongoDB 3.6 replica set or sharded
cluster.
- Support for MongoDB OP_MSG wire protocol.
Additional changes not specific to MongoDB 3.6:
- Support for mongodb+srv URIs to query DNS for SRV and TXT records that
configure the connection to MongoDB.
- Support LibreSSL with CMake build
- The "minPoolSize" URI option is deprecated: it's confusing and not useful.
Bug fixes:
- mongoc_bulk_operation_execute did not always initialize "reply".
- Fix C99 pedantic warnings.
php-pecl-mongodb 1.4.0 (PHP extension)
-
Bug
- [PHPC-1038] - "documents" key in "command" in APM's commandStarted for "insert" is missing
- [PHPC-1043] - phongo_execute_query() may leak cursor struct on error
- [PHPC-1049] - Build warnings with CLang/LLVM
- [PHPC-1050] - Advancing a new command cursor to check for an error may invoke getMore
- [PHPC-1053] - UTCDateTime constructor reports that its single argument is required
- [PHPC-1057] - Refactor option parsing for execute methods
- [PHPC-1067] - BSON document produces driver segfault
- [PHPC-1072] - phongo_execute_command() leaks BSON reply on error
- [PHPC-1092] - Infinite loop iterating BSON object properties with foreach
- [PHPC-1093] - Bound checking on 32-bit platforms for APM's duration_micros
- [PHPC-1096] - Driver fails to build with libmongoc's bundled zlib
- [PHPC-1104] - pecl package misses zlib sources
-
Epic
- [PHPC-934] - PHPC MongoDB 3.6 Support
-
** New Feature**
- [PHPC-834] - Add Read, ReadWrite, and Write command execute methods
- [PHPC-967] - Add support for reading and writing OP_COMPRESSED
- [PHPC-975] - Array Update Improvements
- [PHPC-979] - OP_MSG support
- [PHPC-980] - Implement Drivers Sessions API
- [PHPC-986] - All writes retryable support
- [PHPC-987] - Causally Consistent Reads support
- [PHPC-993] - Parse localLogicalSessionTimeoutMinutes from isMaster response
- [PHPC-1015] - Implement Initial DNS Seedlist discovery spec
- [PHPC-1027] - Introduce classes for deprecated BSON types
- [PHPC-1029] - Support maxTimeMS getMore option for tailable command cursors
- [PHPC-1042] - Support options array for BulkWrite, Command, and Query execute methods
- [PHPC-1109] - Support batchSize getMore option for command cursors
-
** Task**
- [PHPC-227] - Mongo Orchestration should restart when Vagrant test VM boots
- [PHPC-599] - Document 32-bit platform limitation for Timestamp arguments
- [PHPC-995] - Drop support for MongoDB 2.4
- [PHPC-1003] - Use container environment for Travis CI builds
- [PHPC-1013] - Test Driver Wire Version Overlap logic
- [PHPC-1024] - Document BSON exceptions for Cursor iteration
- [PHPC-1035] - Improve server compatibility error messages for wire version checks
- [PHPC-1036] - Update test suite for MongoDB 3.6
- [PHPC-1037] - Upgrade bundled libmongoc and libbson to 1.9
- [PHPC-1039] - Non data-bearing servers must be excluded when determining if a cluster supports sessions
- [PHPC-1047] - Add MongoDB 3.6 to test framework
- [PHPC-1048] - Rename phongo_execute_write to phongo_execute_bulk_write
- [PHPC-1055] - Improve docs for linking correct version of OpenSSL on macOS
- [PHPC-1065] - Enable BSON corpus tests for deprecated types
- [PHPC-1069] - Enable Coverity scans for the driver
- [PHPC-1070] - Create macro for accessing zval class or type name
- [PHPC-1077] - Fix X509 test failures with libmongoc 1.9.0 and MongoDB 3.6
- [PHPC-1078] - Create constant for available read concern level
- [PHPC-1079] - Document that jsonSerialize() returns legacy extended JSON
- [PHPC-1080] - Document new (deprecated) BSON classes
- [PHPC-1081] - Investigate Fedora build failures for 1.4.0beta1
- [PHPC-1082] - Add a PHP version check to config.m4
- [PHPC-1084] - Upgrade switch/case fallthrough comments to use GCC 7's new attribute
- [PHPC-1097] - Report libmongoc's compression engines in phpinfo() output
- [PHPC-1098] - Fix test failures due to floating point precision
- [PHPC-1100] - Fix test failures when driver is compiled without SSL
-
** Improvement**
- [PHPC-709] - Debuglog timestamp does not contain micro/nanoseconds
- [PHPC-888] - Support additional TLS libraries for bundled libmongoc
- [PHPC-969] - Have TCP keepalive default to true
- [PHPC-1031] - Run configure check to use ASN1_STRING_get0_data over ASN1_STRING_data in bundled libmongoc
- [PHPC-1071] - Report class name in exception for unexpected object values
php-mongodb 1.3.0 (PHP library)
This library is a high-level abstraction for the mongodb extension. This release adds support for new features in MongoDB 3.6 and drops support for MongoDB 2.4 and earlier.
Release Highlights
Version 1.4.0 of the mongodb extension introduced a new MongoDB\Driver\Session class to support client sessions for MongoDB 3.6. Session objects may be created via a new MongoDB\Client::startSession() method. All Client, Database, and Collection methods that communicate with the server now accept a "session" option. Presently, this option may be used for facilitating causally consistent reads. Sessions are not currently supported for GridFS operations.
MongoDB 3.6 introduced change streams, which allows applications to subscribe to all data changes on a collection (without manually tailing the oplog). Change streams are implemented using the aggregation framework and tailable cursors. This release adds support for change streams via a new MongoDB\Collection::watch() method, which returns a MongoDB\ChangeStream iterator. This iterator wraps a MongoDB\Driver\Cursor object and implements additional functionality, such as automatic resuming in the event of a dropped connection. A new tutorial on tailable cursor iteration has been added to the documentation, which is relevant for anyone working with tailable cursors or change streams.
Update methods (e.g. updateMany(), findOneAndUpdate()) now support an arrayFilters option, which may be used to specify which elements to modify in an array field. See Specify arrayFilters for Array Update Operations in the MongoDB manual for more information on this new feature.
MongoDB\Client::listDatabases() now supports a filter option, which may be used to filter which databases are returned when connected to MongoDB 3.6.
This release upgrades the mongodb extension requirement to 1.4.0. Support for MongoDB 2.4 and earlier has been removed.
How to install
Updates may require up to 24 hours to propagate to mirrors. If the following command doesn't work, please retry later:
sudo dnf upgrade --refresh --advisory=FEDORA-2018-555b092f06
Please login to add feedback.
This update has been submitted for testing by remi.
remi edited this update.
New build(s):
Karma has been reset.
This update has been pushed to testing.
This update has reached 7 days in testing and can be pushed to stable now if the maintainer wishes
This update has been submitted for batched by remi.
This update has been submitted for stable by bodhi.
This update has been pushed to stable.