Skip to content

Releases: libra-tools/git-internal

v0.8.7

Choose a tag to compare

@genedna genedna released this 10 Aug 12:11

Full Changelog: v0.8.6...v0.8.7

v0.8.6

Choose a tag to compare

@genedna genedna released this 31 Jul 17:14

What's Changed

New Contributors

Full Changelog: v0.8.3...v0.8.6

v0.8.5

Choose a tag to compare

@genedna genedna released this 29 Jul 06:27
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

v0.8.4

Choose a tag to compare

@genedna genedna released this 25 Jul 09:19
1e5e25b

Patch release fixing a flaky SHA-256 pack-encoding panic that could crash downstream tools (e.g. libra bundle create) under async runtimes.

Fixed

• Pack trailer no longer panics with Invalid byte length: got 32, expected 20 on SHA-256 repositories. PackEncoder finalizes its running checksum on whichever async
worker thread happens to run the task, but ObjectHash::from_bytes re-read the thread-local HashKind at finalize time. On threads where set_hash_kind was never
called (default SHA-1), finalizing a SHA-256 pack aborted with a panic — surfacing as intermittent, scheduling-dependent failures such as pack encoder task failed
in async runtimes that migrate tasks across worker threads. Both the delta path (encode/mod.rs) and the non-delta parallel path (encode/parallel.rs) now infer
the hash kind from the checksum byte length, and propagate a GitError instead of unwrapping.

Added

• ObjectHash::from_bytes_infer_kind — constructs an ObjectHash from raw bytes by inferring the hash kind from the byte length (20 → SHA-1, 32 → SHA-256) instead of
consulting the thread-local HashKind. Safe to call from any thread regardless of whether set_hash_kind has been invoked there.
• Regression test internal::pack::encode::tests::test_parallel_encode_trailer_ignores_thread_local_kind, which drives a SHA-256 encoder on a fresh thread holding
the default SHA-1 thread-local kind — the exact condition that previously panicked.

Changed

• Package repository metadata now points to https://github.com/libra-tools/git-internal.
• Resolved pre-existing clippy -D warnings debt so the lint gate passes again: match → ? in delta::decode, and iter() → values() map iteration in internal::index
(no behavior change).
• Added CHANGELOG.md to the repository; future releases will be recorded there.

Compatibility

• No breaking API changes. ObjectHash::from_bytes keeps its existing thread-local validation semantics; the new constructor is additive.
• Semver-compatible with 0.8.3 — downstream crates can upgrade by bumping the requirement to git-internal = "0.8.4".

v0.8.3

Choose a tag to compare

@genedna genedna released this 06 Jul 17:37

What's Changed

Full Changelog: v0.8.2...v0.8.3

v0.8.2

Choose a tag to compare

@genedna genedna released this 06 Jul 05:39
26cb0b7

What's Changed

  • Reduce duplicate copies in pack encoding by @cheng20050714 in #137
  • perf(pack): port final50 decode fast path by @schwerli in #149
  • feat(pack): Rabin fingerprint delta encoder with multi-threaded search, achieving git-level compression by @NJUWallSpider in #150
  • feat(pack): add pack stats analyzer by @Maoxinyi237 in #146
  • feat(pack): add PackStats utility for pack object type distribution by @jiatianbo666 in #139
  • feat(pack): add PackStats and stats_pack for pack file object statistics by @sunruizhesrz in #138
  • build(deps): bump ureq from 3.2.0 to 3.3.0 by @dependabot[bot] in #156
  • fix: use git index ctime on v9fs by @Ivanbeethoven in #159

New Contributors

Full Changelog: v0.7.6...v0.8.2

v0.7.6

Choose a tag to compare

@genedna genedna released this 19 Jun 10:05
Immutable release. Only release title and notes can be modified.

Fix annotated tag OID to canonical hash of serialized form
Tag::new previously hashed a Display-based string instead of to_data(),
so id != hash(to_data()), breaking packfile round-trips of annotated
tags. Hash to_data() to keep the id canonical, add regression test, and
bump version to 0.7.6.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Signed-off-by: Eli Ma eli@patch.sh

v0.7.5

Choose a tag to compare

@genedna genedna released this 06 Jun 16:38
Immutable release. Only release title and notes can be modified.

What's Changed

  • build(deps): bump rustls-webpki from 0.103.9 to 0.103.10 in the cargo group across 1 directory by @dependabot[bot] in #122
  • build(deps): bump ureq from 3.2.0 to 3.3.0 by @dependabot[bot] in #123

Full Changelog: https://github.com/web3infra-foundation/git-internal/commits/v0.7.5

v0.7.3

Choose a tag to compare

@genedna genedna released this 13 Mar 16:51
Immutable release. Only release title and notes can be modified.
5747f2c

What's Changed

v0.7.2

Choose a tag to compare

@genedna genedna released this 13 Mar 16:47
Immutable release. Only release title and notes can be modified.
f62bd29

What's Changed