chore(deps-dev): bump pymongo from 4.7.3 to 4.12.1
Bumps pymongo from 4.7.3 to 4.12.1.
Release notes
Sourced from pymongo's releases.
PyMongo 4.12.1
Community notes: https://www.mongodb.com/community/forums/t/pymongo-4-12-1-released/320326
What's Changed
- PYTHON-5288: [v4.12] SRV hostname validation fails when resolver and resolved hostnames are identical with three domain levels by
@​blink1073in mongodb/mongo-python-driver#2276- PYTHON-5297 [v4.12] AsyncMongoClient connection error causes UnboundLocalError by
@​blink1073in mongodb/mongo-python-driver#2277- PYTHON-5295 [v4.12] Update lockfile for compat with older versions of uv by
@​blink1073in mongodb/mongo-python-driver#2278- PYTHON-5310 [v4.12] Fix uri_parser AttributeError when used directly (#2283) by
@​ShaneHarveyin mongodb/mongo-python-driver#2302- PYTHON-5314 [v4.12] Fix default imports for modules that worked in v4.8 (#2300) by
@​ShaneHarveyin mongodb/mongo-python-driver#2303- PYTHON-5348 Fix CodeQL Scanning for GitHub Actions (#2308) [v4.12] by
@​mongodb-drivers-pr-botin mongodb/mongo-python-driver#2310- PYTHON-5212 [v4.12] Do not hold Topology lock while resetting pool by
@​blink1073in mongodb/mongo-python-driver#2307- PYTHON-5346: [v4.12] test_init_disconnected_with_srv cannot run against sharded Topologies (#2304) by
@​NoahStappin mongodb/mongo-python-driver#2309- PYTHON-5306: [v4.12] - Fix use of public MongoClient attributes before connection (#2285) by
@​NoahStappin mongodb/mongo-python-driver#2311- PYTHON-5336 Added VECTOR_SUBTYPE line to API docs (#2313) [v4.12] by
@​mongodb-drivers-pr-botin mongodb/mongo-python-driver#2314- PYTHON-5309: [v4.12] AsyncMongoClient doesn't use PyOpenSSL (#2286) by
@​NoahStappin mongodb/mongo-python-driver#2319- PYTHON-5357 Update changelog for 4.12.1 release (#2321) by
@​aclark4lifein mongodb/mongo-python-driver#2323Full Changelog: https://github.com/mongodb/mongo-python-driver/compare/4.12.0...4.12.1
PyMongo 4.12.0
Community notes: https://www.mongodb.com/community/forums/t/pymongo-4-12-released/318187
PyMongo 4.11.3
What's Changed
- PYTHON-5202 WaitQueueTimeoutError should not clear the pool (#2192) [v4.11] by
@​mongodb-drivers-pr-botin mongodb/mongo-python-driver#2196- PYTHON-5131 [v4.11] Migrate off of Ubuntu 20.04 GitHub Actions Runners by
@​blink1073in mongodb/mongo-python-driver#2182- PYTHON-5198 Fix test_03_invalid_keyid (#2195) [v4.11] by
@​mongodb-drivers-pr-botin mongodb/mongo-python-driver#2198- Prepare for 4.11.3 release by
@​blink1073in mongodb/mongo-python-driver#2208New Contributors
@​mongodb-drivers-pr-botmade their first contribution in mongodb/mongo-python-driver#2196Full Changelog: https://github.com/mongodb/mongo-python-driver/compare/4.11.2...4.11.3
PyMongo 4.11.2
Community notes:
What's Changed
- PYTHON-5166 Allow Database.command to run bulkWrite commands (#2164) [v4.11] by
@​ShaneHarveyin mongodb/mongo-python-driver#2172- PYTHON-5155 Use dochub link for fork warning (#2173) [v4.11] by
@​ShaneHarveyin mongodb/mongo-python-driver#2174Full Changelog: https://github.com/mongodb/mongo-python-driver/compare/4.11.1...4.11.2
PyMongo 4.11.1
Community notes: https://www.mongodb.com/community/forums/t/pymongo-4-11-1-released/312193
PyMongo 4.11.0
Community notes: https://www.mongodb.com/community/forums/t/pymongo-4-11-released/310976
... (truncated)
Changelog
Sourced from pymongo's changelog.
Changes in Version 4.12.1 (2025/04/29)
Version 4.12.1 is a bug fix release.
- Fixed a bug that could raise
UnboundLocalErrorwhen creating asynchronous connections over SSL.- Fixed a bug causing SRV hostname validation to fail when resolver and resolved hostnames are identical with three domain levels.
- Fixed a bug that caused direct use of
pymongo.uri_parserto raise anAttributeError.- Fixed a bug where clients created with connect=False and a "mongodb+srv://" connection string could cause public
pymongo.MongoClientandpymongo.AsyncMongoClientattributes (topology_description, nodes, address, primary, secondaries, arbiters) to incorrectly return a Database, leading to type errors such as: "NotImplementedError: Database objects do not implement truth value testing or bool()".- Removed Eventlet testing against Python versions newer than 3.9 since Eventlet is actively being sunset by its maintainers and has compatibility issues with PyMongo's dnspython dependency.
- Fixed a bug where MongoDB cluster topology changes could cause asynchronous operations to take much longer to complete due to holding the Topology lock while closing stale connections.
- Fixed a bug that would cause AsyncMongoClient to attempt to use PyOpenSSL when available, resulting in errors such as "pymongo.errors.ServerSelectionTimeoutError: 'SSLContext' object has no attribute 'wrap_bio'".
Issues Resolved ...............
See the
PyMongo 4.12.1 release notes in JIRA_ for the list of resolved issues in this release... _PyMongo 4.12.1 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=43094
Changes in Version 4.12.0 (2025/04/08)
.. warning:: Driver support for MongoDB 4.0 reached end of life in April 2025. PyMongo 4.12 will be the last release to support MongoDB 4.0.
PyMongo 4.12 brings a number of changes including:
- Support for configuring DEK cache lifetime via the
key_expiration_msargument to :class:~pymongo.encryption_options.AutoEncryptionOpts.- Support for $lookup in CSFLE and QE supported on MongoDB 8.1+.
- pymongocrypt>=1.13 is now required for :ref:
In-Use Encryptionsupport.- Added :meth:
gridfs.asynchronous.grid_file.AsyncGridFSBucket.rename_by_nameand :meth:gridfs.grid_file.GridFSBucket.rename_by_namefor more performant renaming of a file with multiple revisions.- Added :meth:
gridfs.asynchronous.grid_file.AsyncGridFSBucket.delete_by_nameand :meth:gridfs.grid_file.GridFSBucket.delete_by_namefor more performant deletion of a file with multiple revisions.- AsyncMongoClient no longer performs DNS resolution for "mongodb+srv://" connection strings on creation. To avoid blocking the asyncio loop, the resolution is now deferred until the client is first connected.
- Added index hinting support to the :meth:
~pymongo.asynchronous.collection.AsyncCollection.distinctand :meth:~pymongo.collection.Collection.distinctcommands.- Deprecated the
hedgeparameter for :class:~pymongo.read_preferences.PrimaryPreferred,
... (truncated)
Commits
84d0d3dBUMP 4.12.1c52a456PYTHON-5357 Update changelog for 4.12.1 release (#2321) (#2323)dd99f80PYTHON-5309: [v4.12] AsyncMongoClient doesn't use PyOpenSSL (#2286) (#2319)fecd29cPYTHON-5336 Added VECTOR_SUBTYPE line to API docs (#2313) [v4.12] (#2314)c11d0f4PYTHON-5306: [v4.12] - Fix use of public MongoClient attributes before connec...f5836b3PYTHON-5346: [v4.12] test_init_disconnected_with_srv cannot run against shard...38bc13dPYTHON-5212 [v4.12] Do not hold Topology lock while resetting pool (#2307)c6671e2PYTHON-5348 Fix CodeQL Scanning for GitHub Actions (#2308) [v4.12] (#2310)79cb34aPYTHON-5314 [v4.12] Fix default imports for modules that worked in v4.8 (#230...c837846PYTHON-5310 [v4.12] Fix uri_parser AttributeError when used directly (#2283) ...- Additional commits viewable in compare view
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency -
@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Greptile Summary
Disclaimer: Experimental PR review
Updates pymongo development dependency from 4.7.3 to 4.12.1, bringing several bug fixes and improvements to MongoDB driver functionality.
- Fixed AsyncMongoClient SSL connection issues that could raise UnboundLocalError
- Fixed SRV hostname validation failures with three domain levels
- Fixed performance issues with MongoDB cluster topology changes due to Topology lock handling
- Fixed AsyncMongoClient incorrectly attempting to use PyOpenSSL
- Added support for configuring DEK cache lifetime and $lookup in CSFLE/QE for MongoDB 8.1+