Skip to content

build(deps): bump oauthlib 3.3.1 -> 4.0.0 - #1610

Merged
potiuk merged 1 commit into
mainfrom
fix/oauthlib-4
Oct 14, 2026
Merged

potiuk merged 1 commit into
mainfrom
fix/oauthlib-4

Conversation

@zeroshade

Copy link
Copy Markdown
Member

Summary

  • Bump oauthlib 3.3.1 → 4.0.0 in uv.lock to resolve the two open Dependabot alerts on main: GHSA-xpv3-w29h-x7cv (timing-unsafe PKCE code_verifier comparison) and GHSA-hj66-6f7g-4r5v (JSONP callback injection in RevocationEndpoint). Both are fixed only in 4.0.0.
  • oauthlib is transitive: tools/gmail/oauth-draft → google-auth-oauthlib → requests-oauthlib (oauthlib>=3.0.0, no upper bound). Lock-only change via uv lock --upgrade-package oauthlib; no manifest edits.
  • 4.0.0's breaking changes are all provider-side (revocation-endpoint JSONP removed, grant validation order). oauth-draft only uses the client InstalledAppFlow in oauth-draft-setup.

Type of change

  • Python package (tools/*/ with pyproject.toml) — lockfile only

Test plan

  • tools/gmail/oauth-draft: uv run pytest passes
  • Real client path under oauthlib 4.0.0 (the unit tests mock InstalledAppFlow): InstalledAppFlow.from_client_config(...).authorization_url(prompt="consent") builds a valid Google consent URL
  • Not run: the interactive browser consent flow end to end (needs real Google OAuth credentials)
  • prek hooks pass except workspace-pytest, skipped for host-specific failures in container-gateway / symlink-lint that test: isolate container-gateway and symlink-lint fixtures from the host #1608 fixes

Linked issues

Dependabot alerts #9 and #10 (close automatically once merged to main).

Generative AI disclosure

Drafted with Claude Code (Opus 5.5) and reviewed by the author; the commit carries a Generated-by: trailer.

Resolves Dependabot alerts GHSA-xpv3-w29h-x7cv (timing-unsafe PKCE
code_verifier comparison) and GHSA-hj66-6f7g-4r5v (JSONP callback in
RevocationEndpoint); both are fixed only in 4.0.0. oauthlib arrives
transitively via google-auth-oauthlib -> requests-oauthlib (which
requires oauthlib>=3.0.0, no upper bound) for tools/gmail/oauth-draft.

The 4.0.0 breaking changes are all provider-side (revocation JSONP
removal, grant validation order); oauth-draft only uses the client
InstalledAppFlow, whose authorization URL still builds under 4.0.0.

Generated-by: Claude Code (Opus 5.5)
@zeroshade
zeroshade requested a review from potiuk October 13, 2026 12:04
@zeroshade zeroshade added family:tools tools/* substrate:framework-dev Tool substrate: build / validate / eval the framework itself contract:mail-create Tool capability: outbound mail composition (editable draft; sending is a separate human step) and removed substrate:framework-dev Tool substrate: build / validate / eval the framework itself labels Oct 13, 2026
@github-actions github-actions Bot added the family:ci .github workflows, prek, validators label Oct 13, 2026
@potiuk
potiuk merged commit 8493b0f into main Oct 14, 2026
56 checks passed
@potiuk
potiuk deleted the fix/oauthlib-4 branch October 14, 2026 08:09
potiuk pushed a commit to Kaap10/magpie that referenced this pull request Oct 16, 2026
Resolves Dependabot alerts GHSA-xpv3-w29h-x7cv (timing-unsafe PKCE
code_verifier comparison) and GHSA-hj66-6f7g-4r5v (JSONP callback in
RevocationEndpoint); both are fixed only in 4.0.0. oauthlib arrives
transitively via google-auth-oauthlib -> requests-oauthlib (which
requires oauthlib>=3.0.0, no upper bound) for tools/gmail/oauth-draft.

The 4.0.0 breaking changes are all provider-side (revocation JSONP
removal, grant validation order); oauth-draft only uses the client
InstalledAppFlow, whose authorization URL still builds under 4.0.0.

Generated-by: Claude Code (Opus 5.5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contract:mail-create Tool capability: outbound mail composition (editable draft; sending is a separate human step) family:ci .github workflows, prek, validators family:tools tools/*

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants