Bump to 2.5.18: agentscore-py 2.6.4, x402 2.19.0, and routine deps - #110
Merged
Conversation
Raises the SDK floor to the version just published, plus stripe 15.5.0, trio 0.34.0, and ty 0.0.70. Holds x402 at 2.18.0: it is a wire-contract package on the settle path, and the hold registry requires protocol-field evidence (maxAmountRequired / x402Version / decimals byte-diff) before it moves, which is its own deliberate pass rather than a routine bump. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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
Version bump to 2.5.18 plus the full dependency sweep, together so one release carries both.
agentscore-pyfloor raised to 2.6.4, the version just published from the sdk repo.x4022.18.0 to 2.19.0. This was held on a previous pass for lacking protocol-field evidence; the evidence was gathered rather than the hold re-carried. Both wheels were unpacked and compared, and every protocol-governed field count is identical (maxAmountRequired16,x402Version105,decimals2300,payTo26,asset1333,scheme1068), so nothing on the wire contract moved. Five files differ, and the one that matters is a security fix:x402_http_server_basenormalized the request path by decoding percent-escapes globally, so a decoded byte could create a segment boundary the router never saw, and a wildcard tail carrying a decoded line feed failed to match its own route, skipping payment verification and settlement. 2.19.0 decodes one segment at a time, re-escapes any separator a decode yields, and compiles the route regex withDOTALL.stripe15.5.0,trio0.34.0,ty0.0.70.2.19.0's only
constants.pychange is Monad Mainnet's USDC name ("USD Coin"to"USDC"), a chain we do not settle on. Base mainnet keeps"USD Coin"in both versions, which is the value the EIP-712 domain hash depends on, so signature verification on our rail is untouched. That was checked by reading the network block rather than inferred from the field name.Six transitives stay behind latest (
websockets,pydantic-core,eth-keyfile,construct-typing,parsimonious,jsonalias). Each is constrained by its parent (pydantic, solana, web3, sanic, eth-abi, solders) rather than by anything this repo declares, so forcing them would override a peer's own resolution. They move when their parents move.This release should land after the Solana confirmation-timeout fix (#109) so the published version carries both.
Type of change
Public API
None. No exported type, function signature, wire format, or response shape changes. The
x402peer moves within its existing>=2.9,<3range, so no caller migration.Test plan
Full local gate set on the upgraded lock:
ruff checkandruff format --check(215 files) clean,ty check agentscore_commerce/clean, andpytest tests/at 1841 passed / 4 skipped with coverage 95.36% against the 95% floor. No test changes were needed since no behavior in this repo changed; the x402 fix is upstream and covered by its own suite. Reproduce withuv sync --all-extras && uv run pytest tests/.Checklist