Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 19 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@

## [1.1.0] - 2026-03-19

### Added
- Canonical `{ receipt, runtime_metadata? }` response model
- Verification targets canonical receipt
- TypeScript and Python SDK parity
- TypeScript CLI support
CommandLayer SDKs now align on the Commons-first Protocol-Commons v1.1.0 surface. This release replaces the mixed 1.0.0-era documentation and response assumptions with a single canonical receipt model shared by the TypeScript SDK, Python SDK, fixtures, and verification flow.

### Changed
- Normalized response handling to wrapper model
- Improved verification flow alignment with runtime
### What changed from 1.0.0
- Standardized on the canonical `{ receipt, runtime_metadata? }` wrapper and receipt-first verification flow across both SDKs.
- Aligned TypeScript and Python behavior, fixtures, and parity checks around the same v1.1.0 receipt hashing and verification semantics.
- Added TypeScript CLI support for the current Commons surface.

### Fixed
- No additional fixes recorded in this release note.
### Removed
- x402-first positioning from Commons-facing surfaces and release documentation. Commons is no longer presented as an x402-first product surface in this repo.
- Ambiguous blended response/documentation paths that implied multiple concurrent canonical envelopes.

### Notes
- Protocol-Commons v1.1.0 is the current supported line
- Commercial support is not yet first-class
- SDK reflects canonical receipt-first architecture
### Breaking changes
- Consumers should treat the v1.1.0 wrapper and receipt shape as the only canonical public contract documented by this repository.
- Verification guidance now assumes the canonical receipt payload and current signer-discovery flow; integrations built around older mixed envelopes should update.

### Non-breaking improvements
- Improved cross-SDK parity coverage for hashing, signature verification, and signer resolution behavior.
- Clearer release alignment: Protocol-Commons v1.1.0 is the supported line for this repository and its published SDK packages.

### Known limitations / scope
- This repository is Commons-first and does not claim first-class commercial or x402 runtime coverage.
- The SDKs may still normalize some older blended runtime responses for compatibility, but those compatibility paths are not the canonical contract.
4 changes: 2 additions & 2 deletions python-sdk/tests/test_verify.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ def _signed_receipt() -> tuple[dict[str, object], str]:
"status": "success",
"x402": {
"verb": "summarize",
"version": "1.0.0",
"entry": "x402://summarizeagent.eth/summarize/v1.0.0",
"version": "1.1.0",
"entry": "x402://summarizeagent.eth/summarize/v1.1.0",
},
"metadata": {
"proof": {
Expand Down
2 changes: 1 addition & 1 deletion test_vectors/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This directory contains shared receipt fixtures used by both SDKs and the parity
- `receipt_valid.json` — canonical valid receipt fixture.
- `receipt_valid_v1.json` — additional valid receipt fixture used for version compatibility checks.
- `receipt_invalid_sig.json` — receipt fixture with an invalid signature.
- `receipt_wrong_kid.json` — receipt fixture whose `kid` drifts but still verifies with an explicit public key.
- `receipt_wrong_kid.json` — receipt fixture expected to fail verification after `kid` mutation changes the signed content.
- `receipt_malformed_pubkey.json` — receipt fixture paired with malformed ENS signer metadata scenarios.
- `public_key_base64.txt` — shared Ed25519 public key for explicit-key verification.
- `expected_hash.txt` — expected SHA-256 hash for canonical receipt hashing.
Expand Down
2 changes: 1 addition & 1 deletion typescript-sdk/scripts/unit-tests.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ await assertRejects(

const receipt = {
status: "success",
x402: { verb: "summarize", version: "1.0.0", entry: "x402://summarizeagent.eth/summarize/v1.0.0" },
x402: { verb: "summarize", version: "1.1.0", entry: "x402://summarizeagent.eth/summarize/v1.1.0" },
result: { summary: "test" },
metadata: {
proof: {
Expand Down
Loading