Skip to content

v0.10.3

Choose a tag to compare

@genedna genedna released this 04 Oct 08:40
· 1 commit to main since this release
v0.10.3
2f85ebd

git-internal v0.10.3

Release date: 2026-10-04 · Crate: git-internal 0.10.3 · Full changelog: CHANGELOG.md

git-internal v0.10.3 fixes a correctness bug in Index::refresh_with_hash_kind reported in #183. Because v0.10.0 – v0.10.2 were not published as GitHub releases, this release also carries the index v3 and legacy pack-index work from the 0.10.x line.

Fixed in 0.10.3

  • Index::refresh_with_hash_kind now recomputes the blob's object ID — the digest of "<type> <size>\0" + the file contents, matching ObjectHash::from_type_and_data_for_kind — instead of a digest of the raw file bytes (#183). Previously an unchanged tracked file was always reported as changed, and its entry hash was overwritten with a value that no object in the database has. The header is streamed into the hasher before the file contents, so the file is still never buffered in memory. A regression test covers SHA-1, SHA-256 and BLAKE3.

Also in 0.10.0 – 0.10.2

  • Git index version 3 with the extended flags word (skip-worktree / intent-to-add), as required by Libra's plans (libra issue #490, ADR-SW-02). Reading accepts v2 and v3; the writer emits v3 exactly when some entry carries an extended bit, otherwise byte-identical v2 output. This is a 0.x breaking minor: Flags gains public fields.
  • Legacy v1 pack-index support in Pack::decode's retention scan: a SHA-1 pack whose sibling .idx has no \xfftOc magic is read with the new parse_idx_v1 (fanout/entries validated, checksum verified), and unknown CRCs are reported as None instead of zero placeholders.

Full diff: v0.9.0...v0.10.3