You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking issue for advisories in langchain/uv.lock that the daily security sweep could not clear, so they are not silently lost. Updated per run.
Context: Dependabot is not scanning this repo
GET /repos/vectorize-io/integrations-python/dependabot/alerts returns HTTP 200 with an empty array in every state (open, fixed, dismissed, auto_dismissed) while langchain/uv.lock is committed — the repo has never been scanned, so there are no alert numbers anywhere in this issue, only GHSA/CVE ids.
Action for a maintainer: enable Dependabot alerts under Settings -> Code security. Until then this repo is invisible to it and every sweep has to re-derive the advisory set by hand with uv export | uvx pip-audit.
2026-09-02
Baseline on main: 23 findings across 8 packages (uvx pip-audit, py3.13 resolution leg).
No check failed; nothing was backlogged for a build failure. What follows is backlogged because no upgrade path exists, not because anything broke.
Root cause of everything below: requires-python = ">=3.9"
Python 3.9 has been EOL since October 2025 and every fix listed here dropped 3.9 support. The lock therefore resolves two legs, and the 3.9 leg cannot be made clean at any version. Concretely, after #10 + #11 the py3.9 leg still carries:
Proposed fix: drop Python 3.9. Remove it from requires-python, the classifiers block in langchain/pyproject.toml, and the matrices in .github/workflows/python_test.yml and lint.yml. That collapses the two resolution legs into one and clears every advisory above. It is an API-compatibility decision for the published langchain-vectorize package, so the sweep will not make it unilaterally.
Two regressions introduced on the py3.9 leg (accepted knowingly)
Both are cases where the newest 3.9-compatible version is itself vulnerable, and staying put would have been worse overall:
urllib3 2.3.0 -> 2.6.3 introduces GHSA-mf9v-mfxr-j63j (introduced in 2.6.0, fixed in 2.7.0). It clears 5 other urllib3 advisories in exchange, so 6 -> 2.
langchain/tests/test_retrievers.py is a live integration suite, not a unit suite — its session fixture raises ValueError: Please set the VECTORIZE_TOKEN environment variable. It cannot be executed outside CI, on main or on any branch. Sweep verification is therefore limited to uv sync --dev, ruff format --check, ruff check, mypy . and pytest collection, on both py3.9 and py3.13; actual test execution is delegated to each PR's own CI run.
Tracking issue for advisories in
langchain/uv.lockthat the daily security sweep could not clear, so they are not silently lost. Updated per run.Context: Dependabot is not scanning this repo
GET /repos/vectorize-io/integrations-python/dependabot/alertsreturns HTTP 200 with an empty array in every state (open,fixed,dismissed,auto_dismissed) whilelangchain/uv.lockis committed — the repo has never been scanned, so there are no alert numbers anywhere in this issue, only GHSA/CVE ids.Action for a maintainer: enable Dependabot alerts under Settings -> Code security. Until then this repo is invisible to it and every sweep has to re-derive the advisory set by hand with
uv export | uvx pip-audit.2026-09-02
Baseline on
main: 23 findings across 8 packages (uvx pip-audit, py3.13 resolution leg).Shipped: #10 (12 advisories: h11, idna, orjson, requests, urllib3, pytest) and #11 (9 advisories: langchain-core, langsmith — major, needs review).
No check failed; nothing was backlogged for a build failure. What follows is backlogged because no upgrade path exists, not because anything broke.
Root cause of everything below:
requires-python = ">=3.9"Python 3.9 has been EOL since October 2025 and every fix listed here dropped 3.9 support. The lock therefore resolves two legs, and the 3.9 leg cannot be made clean at any version. Concretely, after #10 + #11 the py3.9 leg still carries:
Proposed fix: drop Python 3.9. Remove it from
requires-python, theclassifiersblock inlangchain/pyproject.toml, and the matrices in.github/workflows/python_test.ymlandlint.yml. That collapses the two resolution legs into one and clears every advisory above. It is an API-compatibility decision for the publishedlangchain-vectorizepackage, so the sweep will not make it unilaterally.Two regressions introduced on the py3.9 leg (accepted knowingly)
Both are cases where the newest 3.9-compatible version is itself vulnerable, and staying put would have been worse overall:
langsmith>=0.3.45) introduces GHSA-v34v-rq6j-cj6p (introduced in 0.4.10, fixed in 0.6.3). This one is a genuine net negative for the 3.9 leg: 3 -> 4. It is unavoidable while both langchain-core 0.3.86 and py3.9 are in play, and disappears entirely if 3.9 is dropped.Note on local verification
langchain/tests/test_retrievers.pyis a live integration suite, not a unit suite — its session fixture raisesValueError: Please set the VECTORIZE_TOKEN environment variable. It cannot be executed outside CI, onmainor on any branch. Sweep verification is therefore limited touv sync --dev,ruff format --check,ruff check,mypy .and pytest collection, on both py3.9 and py3.13; actual test execution is delegated to each PR's own CI run.