Skip to content

gix-pack v0.73.0

Choose a tag to compare

@Byron Byron released this 23 Jul 13:23
842bc44

Bug Fixes

  • cap remaining gix-pack allocations
  • reject invalid pack entry header metadata
    The pack entry decoder stored the consumed header length with an infallible u16
    conversion and accepted ref-delta hash lengths through panic-capable slice and
    ObjectId conversions. Malformed or unsupported metadata should become decode
    errors instead of process panics.

New Features (BREAKING)

  • make pack compression levels configurable
    Require explicit compression levels when creating pack entries and expose compression in bundle-writing options. Defaults match git: the zlib default for pack entries and the fastest level when completing thin packs with loose-object data.

Bug Fixes (BREAKING)

  • prevent panics when decoding malformed pack entry headers
    Represent the pack entry object hash as gix_hash::Kind in
    Entry::from_bytes() instead of accepting a raw hash length. This keeps callers
    from passing unsupported or inconsistent hash lengths and lets the decoder derive
    the ref-delta base id length from the selected object format.

Commit Statistics

  • 26 commits contributed to the release.
  • 31 days passed between releases.
  • 4 commits were understood as conventional.
  • 3 unique issues were worked on: #2611, #2676, #2690

Commit Details

view details
  • #2611
    • Add a benchmark for pack generation from loose objects (0ba5af4)
  • #2676
    • Reject invalid pack entry header metadata (5850141)
  • #2690
    • Cap remaining gix-pack allocations (ace687c)
  • Uncategorized
    • Update changelogs prior to release (cb6ec7d)
    • Release gix-trace v0.1.21, gix-validate v0.11.3, gix-path v0.12.3, gix-utils v0.3.5, gix-config-value v0.19.0, gix-prompt v0.16.0, gix-sec v0.14.2, gix-url v0.37.0, gix-credentials v0.39.0, safety bump 18 crates (f0ec710)
    • Merge pull request #2722 from GitoxideLabs/reasons (c16b5a1)
    • Replace lint allowances with expectations (43ff87a)
    • Merge pull request #2714 from GitoxideLabs/fix-credentials-parsing (cf3053a)
    • Release gix-path v0.12.2, gix-error v0.2.5, gix-utils v0.3.4, gix-date v0.15.6, gix-url v0.36.2, gix-credentials v0.38.2 (27aec47)
    • Merge pull request #2695 from ameyypawar/fix/2024-compression-level (6e1c4a2)
    • Review (f1ac335)
    • Make pack compression levels configurable (f26c18a)
    • Merge pull request #2707 from ameyypawar/fix/2703-inflate-error (6d95da6)
    • Adapt to changes in gix-features, use gix-zlib accordingly. (9c2977a)
    • Merge pull request #2691 from GitoxideLabs/gix-pack-missing-cap (0052e42)
    • Merge pull request #2675 from ameyypawar/bench/2611-pack-generation (09642c6)
    • Review (223f673)
    • Measure the discovery walk and state the benchmark's limits (6391b3e)
    • Merge pull request #2678 from GitoxideLabs/pack-entry-header-safety (938506b)
    • Remove redundant pack data hash length field (5d4c52b)
    • Prevent panics when decoding malformed pack entry headers (b69f0a6)
    • Merge pull request #2616 from 0WD0/wd/pack (b2a0fd6)
    • Review (3d511c3)
    • Merge pull request #2670 from GitoxideLabs/fix-ci (d785bbc)
    • Update mmap2 to avoid potential for unsoundness (eda41b1)
    • Merge pull request #2646 from GitoxideLabs/report (1b1541e)