Version 4.3.3 documents support for the following:
:ref:CSFLE on-demand credentials for cloud KMS providers.
Authentication support for :ref:EKS Clusters.
Added the :ref:timeout-example example page to improve the documentation
for :func:pymongo.timeout.
Bug Fixes
.........
Fixed a performance regression in :meth:~gridfs.GridFSBucket.download_to_stream
and :meth:~gridfs.GridFSBucket.download_to_stream_by_name by reading in chunks
instead of line by line (PYTHON-3502_).
Improved performance of :meth:gridfs.grid_file.GridOut.read and
:meth:gridfs.grid_file.GridOut.readline (PYTHON-3508_).
Issues Resolved
...............
See the PyMongo 4.3.3 release notes in JIRA_ for the list of resolved issues
in this release.
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
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 from 3.12.0 to 4.3.3.
Release notes
Sourced from pymongo's releases.
Changelog
Sourced from pymongo's changelog.
... (truncated)
Commits
3d03276
BUMP 4.3.31edbfad
PYTHON-3529 Improve reliability of test_list_databases (#1120)cde9adf
PYTHON-3527 + PYTHON-3528 Fix no-server tests (#1118)b290f7b
PYTHON-3526 Fix mockup tests (#1119)3ab7390
PYTHON-3500 Resync retryable tests to fix serverless failures (#1116)363e0b2
PYTHON-2818 Add documentation and changelog (#1115)79aa5e6
PYTHON-3516 Improve test EventListener api (#1114)d056804
PYTHON-2818 Add native support for AWS IAM Roles for service accounts, EKS in...fcb1151
PYTHON-3517 Add documentation for on-demand KMS providers (#1113)92e6150
PYTHON-3493 Bulk Write InsertOne Should Be Parameter Of Collection Type (#1106)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)