Skip to content

chore(deps): grouped dependency updates, adapted - #251

Open
glebedel wants to merge 2 commits into
mainfrom
s2d2/deps/stackone-ai-python-248
Open

glebedel wants to merge 2 commits into
mainfrom
s2d2/deps/stackone-ai-python-248

Conversation

@glebedel

@glebedel glebedel commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Takes Dependabot's grouped bump from #248 (security: pydantic GHSA-qpmf-fgh3-ff25 and GHSA-3r8g-cqwr-jr29, certifi GHSA-6q48-6c7w-9gw2, langsmith advisories via the transitive bump) and adds the code changes it needs to pass CI. ruff 0.17 formats markdown code blocks and ty 0.0.95 reports new diagnostics and exits 1 on warnings, so #248 fails lint and both type checks. openai 3 needs no runtime change: stackone_ai never imports it, and the example only needed typing.

Requested by guillaume@stackone.com via s2d2 Security Autopilot run sa-2026-11-05-ae4daeb6. Supersedes #248.

Package Before After
pydantic 2.12.5 2.14.2
openai (examples extra) 2.32.0 3.42.1
langchain-core / langchain / langchain-openai 1.6.3 / 1.4.1 / 1.1.14 1.7.3 / 1.4.7 / 1.7.3
ruff 0.14.10 0.17.3
ty 0.0.7 0.0.95
pytest / pytest-asyncio / pytest-cov / hypothesis / python-dotenv as in #248 as in #248

Adaptation (on top of Dependabot's commit)

  • ruff format applied to README, MIGRATION, CLAUDE.md and tests/test_end_user_id.py.
  • tests/vectors added to ruff extend-exclude: it is vendored byte for byte from sdk-conformance and the conformance job diffs it, so ruff must not rewrite it.
  • ty 0.0.95: ty-specific suppression codes in the LangChain adapter, a declared dict[str, Any] for prop in toolset.py, stale unresolved-import ignores removed (mcp is a core dependency), AsyncGenerator for the transport context manager, and list_tools(params=PaginatedRequestParams(...)) instead of the deprecated cursor overload (same request; params exists since well before the mcp>=1.24.3 floor).
  • Examples: Any for the OpenAI payload lists, narrow tool_calls to function calls before reading .function, drop two unused ignores.

Local checks (identical commands, Python 3.13, logs kept by s2d2)

Check main #248 as is this PR
uv sync --all-extras --locked pass pass pass
pnpm install --frozen-lockfile pass pass pass
ruff check . pass pass pass
ruff format --check . pass fail (5 files) pass
ty check stackone_ai pass fail (4 errors) pass
ty check examples pass fail (4 errors) pass
pytest 871 passed 871 passed 871 passed
uv build pass pass pass

ty check and pytest also pass on Python 3.11.

Demo: dependency fix, evidence is the local suite.

Gates
  • forge: ran: slop meter 0 added comment lines, longest block 0, type escapes 0, copies 0 (before = after); no rewrite needed
  • review: ran: /stackone-code-review-security:review (correctness + dependency agents) none above threshold
  • codex_review: ran: 1 P1 (ruff reformatted vendored tests/vectors/README.md, would fail conformance diff) fixed by restoring the file and adding ruff extend-exclude
  • security_scan: ran: security-reviewer none above threshold; Aikido 16 open critical/high on uv.lock: 4 fixed by this bump (langsmith x3, certifi), 12 not in this group (anyio, mcp, cryptography, dnspython) out of scope
  • codex_security: ran: none found (OSV clean for all 23 bumped versions, hashes match PyPI)
  • security_review: ran: workspace security-review checklist, no findings; session isolation, DO, webhook and D1 items not applicable to an SDK library

Gates ran on 73af0cc.

🤖 Generated with Claude Code


Summary by cubic

Applies Dependabot's grouped security bump (pydantic GHSA-qpmf-fgh3-ff25 and GHSA-3r8g-cqwr-jr29, certifi GHSA-6q48-6c7w-9gw2, langsmith via transitive) and adapts the code so CI passes with the new tool versions. openai 3 needs no runtime change — stackone_ai never imports it, and only the example's typing needed updating.

Dependencies

  • pydantic 2.12.5 → 2.14.2, langchain-core/langchain/langchain-openai to 1.7.3/1.4.7/1.7.3, openai 2.32.0 → 3.42.1, ruff 0.14.10 → 0.17.3, ty 0.0.7 → 0.0.95, plus the pytest group.
  • Fixes 4 open security findings (3 langsmith, 1 certifi); 12 others in uv.lock are out of scope for this group.

Adaptations

  • ruff format applied to markdown docs and one test; tests/vectors added to extend-exclude since it's vendored byte-for-byte from sdk-conformance and CI diffs it.
  • ty 0.0.95 fixes: ty-specific suppression codes in the LangChain adapter, removed stale unresolved-import ignores for the mcp core dependency, AsyncGenerator for the transport context manager, and list_tools(params=...) instead of the deprecated cursor overload.
  • Examples use Any for OpenAI payload lists and narrow tool_calls to function calls before reading .function.

All 871 tests pass on Python 3.11 and 3.13; local lint, format, and type checks are green.

Written for commit 73af0cc. Summary will update on new commits.

View guided diff Turn on auto-fix

dependabot Bot and others added 2 commits November 2, 2026 10:08
…h 12 updates

Bumps the python-minor-patch group with 12 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.14.2` |
| [langchain-core](https://github.com/langchain-ai/langchain) | `1.6.3` | `1.7.3` |
| [langchain](https://github.com/langchain-ai/langchain) | `1.4.1` | `1.4.7` |
| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.14` | `1.7.3` |
| [openai](https://github.com/openai/openai-python) | `2.32.0` | `3.42.1` |
| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.4` |
| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.148.8` | `6.170.14` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.1.1` | `9.2.0` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.1` |
| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.17.3` |
| [ty](https://github.com/astral-sh/ty) | `0.0.7` | `0.0.95` |



Updates `pydantic` from 2.12.5 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v2.14.2/HISTORY.md)
- [Commits](pydantic/pydantic@v2.12.5...v2.14.2)

Updates `langchain-core` from 1.6.3 to 1.7.3
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain-core==1.6.3...langchain-core==1.7.3)

Updates `langchain` from 1.4.1 to 1.4.7
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain==1.4.1...langchain==1.4.7)

Updates `langchain-openai` from 1.1.14 to 1.7.3
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain-openai==1.1.14...langchain-openai==1.7.3)

Updates `openai` from 2.32.0 to 3.42.1
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v2.32.0...v3.42.1)

Updates `python-dotenv` from 1.2.1 to 1.2.4
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](theskumar/python-dotenv@v1.2.1...v1.2.4)

Updates `hypothesis` from 6.148.8 to 6.170.14
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](HypothesisWorks/hypothesis@hypothesis-python-6.148.8...v6.170.14)

Updates `pytest` from 9.1.1 to 9.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.1...9.2.0)

Updates `pytest-asyncio` from 1.3.0 to 1.4.1
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](pytest-dev/pytest-asyncio@v1.3.0...v1.4.1)

Updates `pytest-cov` from 7.0.0 to 7.1.0
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-cov@v7.0.0...v7.1.0)

Updates `ruff` from 0.14.10 to 0.17.3
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.14.10...0.17.3)

Updates `ty` from 0.0.7 to 0.0.95
- [Release notes](https://github.com/astral-sh/ty/releases)
- [Changelog](https://github.com/astral-sh/ty/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ty@0.0.7...0.0.95)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.170.14
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: langchain
  dependency-version: 1.4.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-patch
- dependency-name: langchain-core
  dependency-version: 1.7.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: langchain-openai
  dependency-version: 1.7.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: openai
  dependency-version: 3.42.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-minor-patch
- dependency-name: pydantic
  dependency-version: 2.14.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: pytest-asyncio
  dependency-version: 1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: pytest-cov
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: python-dotenv
  dependency-version: 1.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-patch
- dependency-name: ruff
  dependency-version: 0.17.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-patch
- dependency-name: ty
  dependency-version: 0.0.95
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Apply ruff 0.17 formatting (markdown code blocks and one test), exclude
the vendored tests/vectors copy from ruff so it stays byte-identical to
sdk-conformance, and clear
the diagnostics ty 0.0.95 now reports, which fail CI because ty exits 1
on warnings: ty-specific suppression codes in the LangChain adapter, a
declared dict type in the nullable normalisation, stale unresolved-import
suppressions for the core mcp dependency, AsyncGenerator for the
transport context manager, list_tools(params=...) instead of the
deprecated cursor overload, and typed OpenAI payloads in the examples.

Requested by guillaume@stackone.com via s2d2 Security Autopilot run sa-2026-11-05-ae4daeb6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Guillaume Lebedel <10488548+glebedel@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants