Version 3.11 adds support for MongoDB 4.4 and includes a number of bug fixes. Highlights include:
Support for OCSP (Online Certificate Status Protocol).
Support for PyOpenSSL as an alternative TLS implementation. PyOpenSSL is required for OCSP support. It will also be installed when using the "tls" extra if the version of Python in use is older than 2.7.9.
Support for the MONGODB-AWS authentication mechanism.
Support for the directConnection URI option and kwarg to ~pymongo.mongo_client.MongoClient.
Support for speculative authentication attempts in connection handshakes which reduces the number of network roundtrips needed to authenticate new connections on MongoDB 4.4+.
Support for creating collections in multi-document transactions with ~pymongo.database.Database.create_collection on MongoDB 4.4+.
Added index hinting support to the ~pymongo.collection.Collection.replace_one, ~pymongo.collection.Collection.update_one, ~pymongo.collection.Collection.update_many, ~pymongo.collection.Collection.find_one_and_replace, ~pymongo.collection.Collection.find_one_and_update, ~pymongo.collection.Collection.delete_one, ~pymongo.collection.Collection.delete_many, and ~pymongo.collection.Collection.find_one_and_delete commands.
Added index hinting support to the ~pymongo.operations.ReplaceOne, ~pymongo.operations.UpdateOne, ~pymongo.operations.UpdateMany, ~pymongo.operations.DeleteOne, and ~pymongo.operations.DeleteMany bulk operations.
Added support for bson.binary.UuidRepresentation.UNSPECIFIED and MongoClient(uuidRepresentation='unspecified') which will become the default UUID representation starting in PyMongo 4.0. See handling-uuid-data-example for details.
Added the background parameter to pymongo.database.Database.validate_collection. For a description of this parameter see the MongoDB documentation for the validate command.
Added the allow_disk_use parameters to pymongo.collection.Collection.find.
Added the hedge parameter to ~pymongo.read_preferences.PrimaryPreferred, ~pymongo.read_preferences.Secondary, ~pymongo.read_preferences.SecondaryPreferred, ~pymongo.read_preferences.Nearest to support disabling (or explicitly enabling) hedged reads in MongoDB 4.4+.
Fixed a bug in change streams that could cause PyMongo to miss some change documents when resuming a stream that was started without a resume token and whose first batch did not contain any change documents.
Fixed an bug where using gevent.Timeout to timeout an operation could lead to a deadlock.
Deprecations:
Deprecated the oplog_replay parameter to pymongo.collection.Collection.find. Starting in MongoDB 4.4, the server optimizes queries against the oplog collection without requiring the user to set this flag.
Deprecated pymongo.collection.Collection.reindex. Use ~pymongo.database.Database.command to run the reIndex command instead.
Deprecated pymongo.mongo_client.MongoClient.fsync. Use ~pymongo.database.Database.command to run the fsync command instead.
Deprecated pymongo.mongo_client.MongoClient.unlock. Use ~pymongo.database.Database.command to run the fsyncUnlock command instead. See the documentation for more information.
Deprecated pymongo.mongo_client.MongoClient.is_locked. Use ~pymongo.database.Database.command to run the currentOp command instead. See the documentation for more information.
Unavoidable breaking changes:
~gridfs.GridFSBucket and ~gridfs.GridFS do not support multi-document transactions. Running a GridFS operation in a transaction now always raises the following error: InvalidOperation: GridFS does not support multi-document transactions
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
We couldn't find any modification to the CHANGELOG.md file. If your changes are not suitable for the changelog, that's fine. Otherwise please add them to the changelog!
Bumps pymongo from 3.10.1 to 3.11.0.
Release notes
Sourced from pymongo's releases.
Changelog
Sourced from pymongo's changelog.
Commits
31949fb
BUMP 3.11 (with proper changelog title)316830d
BUMP 3.11.1.dev09fa94db
BUMP 3.11 (#476)c99254f
PYTHON-2334 Add regression test for gevent.Timeout compatibility (#475)83578dc
PYTHON-2334: Fix gevent.Timeout race condition (#472)ff327b3
PYTHON-2252 Add examples and documentation for new UUID behavior (#467)de1e293
PYTHON-2219 Document hidden index option (#474)c92150d
PYTHON-1631 Automate release wheels for Windows and manylinux (#473)b04e334
PYTHON-2328 Reset the connection pool in Topology.on_change (#470)c16b5b9
PYTHON-2331 Fix set_memory_error complier warning (#469)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)