Artifact 789283c4a0f30d2fab8805db504b9994742c3b5625af71fdc2d2022ceb23612c:
- File
docs/RELEASE-NOTES-0.3.6.md
— part of check-in
[9033c13f21]
at
2026-09-17 17:04:25
on branch trunk
— Remove issue-tracker numbers from source and documents
The tracker is disposable and does not live with the source, so a number is a dangling pointer. Every zit#NN and #NN reference in code comments, test names, help text, smoke labels, identifiers, release notes and errata is replaced by enough context to stand alone, or by a short plain statement of the problem. No behaviour changed. (user: dmestas, size: 1811) [annotate] [blame] [check-ins using]
# zit 0.3.6 zit 0.3.6 fixes a clone failure against Fossil servers whose front web server appends a parameter to the reply's Content-Type. `zit clone` of libspatialite from gaia-gis.it stopped with "the peer's reply exceeded the size limit"; it now completes. No artifact, tag namespace, or sync message changed. ## The failure The server answers the first clone round with `Content-Type: application/x-fossil-uncompressed; charset=utf-8`. zit compared the header exactly against the three protocol media types, so the `; charset=utf-8` suffix matched none of them and the reply was treated as the default, a zlib container. The plaintext body's first four bytes — `cfil`, from the first `cfile` card — were then read as the container's length: 1.6 GB, over the reply cap, hence the size message. The reply was 5 MB. `sync.parseMediaType` now reads the media type up to the first `;`, with surrounding whitespace trimmed, and compares it case-insensitively — the same tolerance fossil's own client has through its prefix compare. `zit serve` already stripped the parameter on incoming requests through its own copy of the logic; it uses the shared one now. ## Compatibility - Artifacts, tags, and the sync protocol are unchanged; Fossil RFC revision 00 remains the target. - No on-disk format changed (the image schema stays at version 6). - No command, flag, or output changed. ## Qualification `zig build test`, `e2e`, `smoke` (Fossil interop against a real `fossil`), `muscle` (41 differential steps), `git-import-e2e`, `git-export-e2e`, and `dst`, plus the three-runner CI battery (macOS ARM64, Linux x86-64, Linux ARM64). Verified against the repository that failed: 0.3.5 stops on the first round, 0.3.6 clones all 24,018 artifacts of libspatialite and its timeline matches the server's.