v0.22.37
Changes
- Report unexpected receive-pack status lines as
LBR-NET-002, using a fixed protocol diagnostic that does not echo the remote status line. - Require an actual
0000flush before interpreting receive-pack unpack/ref status. Empty replies and truncated positive or negative reports fail withmissing receive-pack status flushand the protocol-specific hint. - Validate framing with a shared-buffer scan that takes O(frame count) additional work without copying payloads. Complete server unpack/ref rejections retain their existing variants, reasons and hints; bytes after the first flush keep their existing treatment.
- Preserve local tracking refs when status validation fails. A failed reply does not establish whether the remote already applied the update; inspect remote state before retrying.
- Sync push command EN, zh-CN, developer and website docs, error-code and compatibility notes, and the Cargo-only integration index.
Validation
- Independent Claude and Codex source reviews PASS, with no remaining P0/P1. Seven P2 observations have explicit dispositions, including unchanged hint behavior, test-environment limits and the distinction between HTTP and SSH coverage.
- All four required new names compiled uniquely. The complete push module passed 77/77, including all73 prior cases, with zero failures/errors/retries. Its actual local HTTP receive-pack fixture exercised25 malformed/truncated/empty/status responses through production execute_safe and HttpsClient in0.873s, checking GET/POST, delete command/trailer, exact errors/hints and unchanged local tracking refs.
- 15/15 compatibility/document guards passed with zero failures/errors/retries. Cargo check, nightly fmt, scoped Clippy with
-D warnings, document semantic checks and plan structure checks passed. All2348 tracked file hashes were unchanged during local execution. - Post-bump unfiltered default suite: 10134/10134 passed, 231 binaries, zero failures/errors/retries, run
30362895-e6b5-4710-aa93-a67e163deaf0. The case set exactly equals v0.22.36's10,130 cases plus four new gates. The three original ignored cases remain unchanged. - Cargo refreshed the lockfile with only Libra's36-to37 version change; all six version surfaces agree. Website documentation generation and typecheck passed on the final push document; its signed documentation commit accompanies the release.
- Multi-platform distribution, Homebrew sentinel and signed-manifest proof are verified separately for this exact tag and commit.
Scope
This release implements PKT-09 on v0.22.36. The HTTP fixture is not a TLS or raw SSH end-to-end test. Valid ng reason validation/rendering and Git/SSH reader/wrapper changes belong to later cards. Existing bare-flush hint behavior and shared-process test env limitations are recorded without claiming a fix. The complete plan and final aggregation remain in progress.