chore(deps): lower the pymongo floor for the mongodb extra to 4.9

4.17 was picked on the belief that dnspython only became a core pymongo
dependency there, which is wrong: pymongo has declared dnspython>=1.16.0,<3.0.0
as a core requirement since well before that, so mongodb+srv:// URIs resolve at
4.9 too. The real floor is 4.9, the release AsyncMongoClient landed in, and 4.8
has no AsyncMongoClient at all.

Verified against live Atlas on 4.9: sync and async search, list_search_indexes,
same top hit and score as 4.17. Resolution is unchanged, pymongo 4.17.0 either
way, so this only widens what an existing environment is allowed to bring.
This commit is contained in:
Yuneng Jiang 2026-09-02 18:25:51 -07:00
parent cfe247ebfe
commit 63482cfdbd
No known key found for this signature in database
2 changed files with 5 additions and 8 deletions

View file

@ -112,12 +112,9 @@ utils = [
]
caching = ["diskcache>=5.6.3,<6.0"]
mcp = ["mcp>=1.28.1,<2.0"]
# Driver for the MongoDB Atlas vector store. Atlas Vector Search has no HTTP query
# API, so that provider talks to the cluster over the wire protocol. Imported lazily
# and kept out of the base install, which never needs a MongoDB driver. The floor is
# 4.17 because that is where dnspython became a core dependency rather than the `srv`
# extra, and Atlas hands out mongodb+srv:// URIs that do not resolve without it.
mongodb = ["pymongo>=4.17,<5.0"]
# Driver for the MongoDB Atlas vector store; Atlas Vector Search has no HTTP query API.
# The floor is 4.9 because that is the release AsyncMongoClient landed in.
mongodb = ["pymongo>=4.9,<5.0"]
# SAML SSO for the admin UI. python3-saml pulls in xmlsec/lxml, whose wheels
# bundle the native libxmlsec1/libxml2 libraries, so no system packages are
# required. Kept out of the base `proxy` extra so it stays optional.

4
uv.lock generated
View file

@ -10,7 +10,7 @@ resolution-markers = [
]
[options]
exclude-newer = "2026-08-30T17:51:25.171404Z"
exclude-newer = "2026-08-31T00:55:41.895302Z"
exclude-newer-span = "P3D"
[manifest]
@ -4554,7 +4554,7 @@ requires-dist = [
{ name = "pydantic", specifier = ">=2.10.0,<3.0.0" },
{ name = "pydantic-settings", specifier = ">=2.14.1,<3.0" },
{ name = "pyjwt", marker = "extra == 'proxy'", specifier = ">=2.13.0,<3.0" },
{ name = "pymongo", marker = "extra == 'mongodb'", specifier = ">=4.17,<5.0" },
{ name = "pymongo", marker = "extra == 'mongodb'", specifier = ">=4.9,<5.0" },
{ name = "pynacl", marker = "extra == 'proxy'", specifier = ">=1.6.2,<2.0" },
{ name = "pypdf", marker = "extra == 'proxy-runtime'", specifier = ">=6.16.1,<7.0" },
{ name = "pyroscope-io", marker = "sys_platform != 'win32' and extra == 'proxy'", specifier = ">=0.8.16,<1.0" },