From b89ab999ba463876a2d474bfadea225c39d84eb4 Mon Sep 17 00:00:00 2001 From: zzstoatzz Date: Sat, 25 Jul 2026 02:30:07 -0500 Subject: [PATCH] release: v0.3.20 --- CHANGELOG.md | 4 ++++ build.zig.zon | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 135b0ef..3ec9425 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # changelog +## 0.3.20 + +- **fix**: fetch websocket.zig from tangled.org (`v0.1.11`) instead of the GitHub mirror. The `73429df` crash fix shipped in 0.3.18 had been pushed only to GitHub, so the dependency URL pointed off-forge and dragged GitHub into every consumer's module graph. `v0.1.11` tags that same commit on tangled.org — identical content hash, no code change. + ## 0.3.19 - **fix**: `Mst` delete now prunes subtree nodes it empties. `deleteFromNode` recursed into a child and marked the parent dirty but never dropped the child when the delete emptied it; MST nodes are content-addressed, so the emptied node serialized as a real block and changed every ancestor CID. The tree therefore no longer equalled the tree that never contained the key — the equality commit-proof inversion depends on. `verifyCommitDiff` consequently returned `PrevDataMismatch` for valid second commits from a real PDS; any repo with two records whose keys differ in height hits it, since the lower key lives alone in a subtree. We only trimmed at the root; the TS reference and atmos both prune here (atmos cites indigo's `removeChild`/`IsEmpty` invariant). Found downstream in zlay via the atmoq relay-conformance corpus, where the `sync11/commit2-valid` control was being dropped. Post-delete roots now match atmos byte-for-byte over 25,000 deletes in atproto-bench; costs ~3% on a pure-delete microbenchmark. New coverage: a pure-MST prune test, a golden `@atproto/repo` partial-proof fixture through `verifyCommitDiff`, plus canonicality and lazy-stub guards ported from atmos. See `REPORT-mst-inversion-prevdata.md`. diff --git a/build.zig.zon b/build.zig.zon index 32a284b..c0d8d06 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,11 +1,11 @@ .{ .name = .zat, - .version = "0.3.19", + .version = "0.3.20", .fingerprint = 0x8da9db57ee82fbe4, .minimum_zig_version = "0.16.0-dev.3070+b22eb176b", .dependencies = .{ .websocket = .{ - .url = "https://github.com/zzstoatzz/websocket.zig/archive/73429df.tar.gz", + .url = "https://tangled.org/zzstoatzz.io/websocket.zig/archive/v0.1.11.tar.gz", .hash = "websocket-0.1.10-ZPISdUowBQAXIl_X9VpZozIxBLVf_o5wYjOMMdobrXF5", }, .@"atproto-interop-tests" = .{ -- 2.51.2