Skip to content

v0.22.37

Choose a tag to compare

@genedna genedna released this 15 Sep 16:06
· 688 commits to main since this release

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 0000 flush before interpreting receive-pack unpack/ref status. Empty replies and truncated positive or negative reports fail with missing receive-pack status flush and 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.