Note: We withheld uploading tags 4.3.0 and 4.3.1 to PyPI due to a
version handling error and a necessary documentation update.
dnspython <https://pypi.python.org/pypi/dnspython>_ is now a required
dependency. This change makes PyMongo easier to install for use with "mongodb+srv://"
connection strings and MongoDB Atlas <https://www.mongodb.com/cloud>_.
PyMongo 4.3 brings a number of improvements including:
Added support for decoding BSON datetimes outside of the range supported
by Python's :class:~datetime.datetime builtin. See
:ref:handling-out-of-range-datetimes for examples, as well as
:class:bson.datetime_ms.DatetimeMS,
:class:bson.codec_options.DatetimeConversion, and
:class:bson.codec_options.CodecOptions's datetime_conversion
parameter for more details (PYTHON-1824_).
PyMongo now resets its locks and other shared state in the child process
after a :py:func:os.fork to reduce the frequency of deadlocks. Note that
deadlocks are still possible because libraries that PyMongo depends like
OpenSSL cannot be made fork() safe in multithreaded applications.
(PYTHON-2484_). For more info see :ref:pymongo-fork-safe.
When used with MongoDB 6.0+, :class:~pymongo.change_stream.ChangeStream s
now allow for new types of events (such as DDL and C2C replication events)
to be recorded with the new parameter show_expanded_events
that can be passed to methods such as :meth:~pymongo.collection.Collection.watch.
PyMongo now internally caches AWS credentials that it fetches from AWS
endpoints, to avoid rate limitations. The cache is cleared when the
credentials expire or an error is encountered.
When using the MONGODB-AWS authentication mechanism with the
aws extra, the behavior of credential fetching has changed with
pymongo_auth_aws>=1.1.0. Please see :doc:examples/authentication for
more information.
Bug fixes
.........
Fixed a bug where :class:~pymongo.change_stream.ChangeStream
would allow an app to retry calling next() or try_next() even
after non-resumable errors (PYTHON-3389_).
Fixed a bug where the client could be unable to discover the new primary
after a simultaneous replica set election and reconfig (PYTHON-2970_).
Issues Resolved
...............
See the PyMongo 4.3 release notes in JIRA_ for the list of resolved issues
in this release.
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)
Bumps pymongo[srv] from 3.11.3 to 4.3.2.
Release notes
Sourced from pymongo[srv]'s releases.
Changelog
Sourced from pymongo[srv]'s changelog.
... (truncated)
Commits
bed7504
BUMP 4.3.25dec361
PYTHON-3474 Improve documentation about credential handling (#1080)942e281
PYTHON-1889 Single-source the version tuple/string (#1079)1c9193f
BUMP 4.3.13eb316e
BUMP 4.3.0f79b909
PYTHON-3453 Fix handling of enterprise auth vars (#1076)f3fc409
PYTHON-3474 Document changes to AWS Credential Handling (#1077)df77653
PYTHON-3347 Test against Python 3.11 prerelease (#1069)4e11bda
PYTHON-3445 Fix documentation for with_options (#1075)438539e
PYTHON-3445 Improve documentation for with_options (#1074)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)