Skip to content

Release 2.8.2: move settle set to pympp 0.11 + x402 2.21 (verified) - #130

Merged
vvillait88 merged 1 commit into
mainfrom
deps/settle-set-pympp-x402
Aug 31, 2026
Merged

Release 2.8.2: move settle set to pympp 0.11 + x402 2.21 (verified)#130
vvillait88 merged 1 commit into
mainfrom
deps/settle-set-pympp-x402

Conversation

@vvillait88

Copy link
Copy Markdown
Contributor

Summary

Releases agentscore-commerce 2.8.2, moving the coupled MPP settle set forward: pympp 0.10.1 -> 0.11.0 and x402 2.20.0 -> 2.21.0. Both were verified against the registry's gate (run in full this time, not deferred):

  • pympp 0.11 switches credential canonicalization to RFC 8785 / JCS, which is exactly what mppx 0.9.1 (the JS counterpart) already uses — so the two implementations align rather than diverge. pympp has no EIP-712 zero-amount proof (that domain-v3 mechanism is mppx-only), so the mppx-0.8.0 break class does not apply. 0.11's Mpp.create now reads .name off each method; the one test that stubbed a bare object() is updated to a method-shaped stub.
  • x402 2.21 leaves the Base mainnet USDC EIP-712 domain unchanged (all USD Coin entries still version: "2"); 2.21 only refactored constants.py into default_assets.py. No wire change on the rail we settle.

Type of change

  • Docs, tests, or internal maintenance only
  • Bug fix (no breaking change)
  • New feature (no breaking change)
  • Breaking change (existing callers must update)

Public API

None. No exported symbols or wire formats changed; this bumps two peer-dep versions and updates one test stub for pympp 0.11's .name method contract.

Test plan

uv run pytest (1868 passed, 4 skipped, 95.37% coverage), uv run ruff check + ruff format --check + uv run ty check all clean — ty validates the pympp-0.11 / x402-2.21 API surface our code calls. Standing obligation: a live all-rails settle against a pympp-0.11 merchant is the final cross-implementation confirmation and runs as a post-deploy smoke.

Checklist

  • Tests cover the new behavior, and the suite passes locally
  • Lint, format, and type checks pass
  • Docs and README examples updated if the public surface changed
  • No secrets, credentials, or personal data in the diff or the tests

Moves the coupled settle set forward after verifying it end to end (the registry
gate, run in full this time rather than deferred):

- pympp 0.10.1 -> 0.11.0: 0.11 switches credential canonicalization to RFC 8785
  / JCS, which is exactly what mppx 0.9.1 (the JS counterpart) already uses, so
  this ALIGNS the two implementations rather than diverging. pympp has no EIP-712
  zero-amount proof (that domain-v3 mechanism is mppx-only), so the mppx-0.8.0
  break class does not apply. 0.11's Mpp.create now reads .name off each method;
  the one test that stubbed a bare object() is updated to a method-shaped stub.
- x402 2.20.0 -> 2.21.0: the Base mainnet USDC EIP-712 domain is unchanged (all
  USD Coin entries still version "2"); 2.21 only refactored constants.py into
  default_assets.py. No wire change on the rail we settle.

Verification: full suite 1868 passed; ruff, format, ty all clean (ty validates
the 0.11/2.21 API surface our code calls). Standing obligation: a live all-rails
settle against a pympp-0.11 merchant is the final cross-impl confirmation and
runs as a post-deploy smoke.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vvillait88
vvillait88 merged commit fdc10f3 into main Aug 31, 2026
7 checks passed
@vvillait88
vvillait88 deleted the deps/settle-set-pympp-x402 branch August 31, 2026 22:46
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.

1 participant