chore(deps-dev): bump python-deps group and migrate gmail/oauth-draft to MCP 2.0 - #1095
Open
potiuk wants to merge 2 commits into
Open
chore(deps-dev): bump python-deps group and migrate gmail/oauth-draft to MCP 2.0#1095potiuk wants to merge 2 commits into
potiuk wants to merge 2 commits into
Conversation
… 3 updates Updates the requirements on [prek](https://github.com/j178/prek), [ruff](https://github.com/astral-sh/ruff) and [mcp](https://github.com/modelcontextprotocol/python-sdk) to permit the latest version. Updates `prek` from 0.4.10 to 0.4.13 - [Release notes](https://github.com/j178/prek/releases) - [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md) - [Commits](j178/prek@v0.4.10...v0.4.13) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` from 0.15.22 to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) Updates `mcp` to 2.0.0 - [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases) - [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md) - [Commits](modelcontextprotocol/python-sdk@v1.28.1...v2.0.0) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) Updates `ruff` to 0.16.2 - [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.15.22...0.16.2) --- updated-dependencies: - dependency-name: mcp dependency-version: 2.0.0 dependency-type: direct:development dependency-group: python-deps - dependency-name: prek dependency-version: 0.4.12 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…ff 0.16 The group bump raised `mcp` to >=2.0.0 but carried no code change, so `pytest (oauth-draft)` failed on `ModuleNotFoundError: No module named 'mcp.server.fastmcp'`. MCP 2.0 moves the server class, so port the bridge: `mcp.server.fastmcp.FastMCP` -> `mcp.server.mcpserver.MCPServer`, and the tool schema attribute `inputSchema` -> `input_schema` in the tests. Regenerate `uv.lock`, which the bump left inconsistent — mcp 2.0 splits out `mcp-types` and pulls `opentelemetry-api` / `truststore` while dropping `pydantic-settings` / `python-dotenv`. Apply `ruff format` under the new 0.16.2. That version formats Python code blocks inside Markdown, which 0.15.x did not, so three `skills/*.md` docs and ten eval `report.md` fixtures reflow. This is also the real explanation for the Markdown hunks in #1077 — genuine formatter output from a newer ruff, not hand edits. Verified with a full `prek run --all-files` (all hooks pass) and `pytest` for tools/gmail/oauth-draft (81 passed) before committing; the commit-time hook re-run was skipped because it re-resolves every workspace member after the lockfile change and does not terminate in reasonable time. Co-authored-by: Jarek Potiuk <potiuk@apache.org> Generated-by: Claude Code (Opus 5)
This was referenced Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mcpto>=2.0.0with no accompanying code change, sopytest (oauth-draft)failed on
ModuleNotFoundError: No module named 'mcp.server.fastmcp'.mcp.server.fastmcp.FastMCP→mcp.server.mcpserver.MCPServer, and thetool-schema attribute
inputSchema→input_schemain the tests. This is thesubstance of the change, not a side effect of the bump.
uv.lock, which dependabot left inconsistent: MCP 2.0 splits outmcp-typesand pullsopentelemetry-api/truststore, while droppingpydantic-settings/python-dotenv.uv lock --checkfailed before this.ruff formatunder the new 0.16.2.Renamed off the
dependabot/uv/...branch deliberately: it now carries ahand-written migration, and dependabot force-pushes its own branches.
Dependency changes
mcp>=1.28.1>=2.0.0ruff>=0.15.21/>=0.15.22>=0.16.2prek>=0.4.10>=0.4.13Heads-up: ruff 0.16 formats Python inside Markdown
0.16.2 formats fenced Python blocks in
.mdfiles; 0.15.x did not. Threeskills/*.mddocs and ten evalreport.mdfixtures reflow as a result.The eval fixtures model user-pasted issue bodies, so normalising their spacing
makes them slightly less faithful as "messy input" test data. Accepted here on
the grounds that the pinned formatter should be the single source of truth for
formatting; excluding
.mdwas considered and rejected.It also retroactively explains the Markdown hunks in #1077: those were genuine
formatter output from a newer ruff, not hand edits. My review there said
otherwise and is corrected on that PR.
Type of change
tools/*/withpyproject.toml)prek, workflows, validators)Supersedes
Test plan
prek run --all-filespasses (all hooks)uv run --directory tools/gmail/oauth-draft --project . python -m pytest— 81 passeduv lock --checkcleanRFC-AI-0004 compliance
tool; the MCP 2.0 port changes the server class, not the tool surface, and
adds no HTML/rich-text parameter