Skip to content

v0.8.5

Choose a tag to compare

@genedna genedna released this 29 Jul 06:27
· 3 commits to main since this release
dda106a

[0.8.5] - 2026-07-29

Fixed

  • Delta decoder now returns GitError for malformed streams instead of
    panicking.
    Previously, crafted delta input could trigger a shift overflow
    on overlong size varints, attempt to allocate an impractically large output
    buffer, or silently produce wrong-length output when the instruction stream
    produced more bytes than the declared result size. The decoder now:
    • Rejects varints that would overflow a usize with
      GitError::InvalidData.
    • Reserves the output buffer incrementally and caps output at the declared
      result size, returning InvalidData on overrun.
    • Rejects negative-copy instructions that read before the base buffer.
  • Pack delta-rebuild path propagates decoder errors. Pack previously
    called a fallible delta helper directly in the thread pool and could lose
    failures. rebuild_delta_with_hash now reuses the hardened
    delta_decode function and returns GitError, and failures are surfaced
    through SharedParams to the pack decoder's main loop so decode stops
    cleanly instead of hanging on a waitlist.

Changed

  • Dependency upgrades:
    • bstr 1.12 → 1.13
    • futures 0.3.32 → 0.3.33
    • path-absolutize 3.1 → 4.0
    • uuid 1.23 → 1.24
    • tokio 1.52 → 1.53

New Contributors

Full Changelog: v0.8.4...v0.8,5