PackageTrack
Sign in Get early access

gix-pack

Implements git packs and related data structures

0.74.0 43M downloads/mo #1351 most downloaded on crates.io GitoxideLabs/gitoxide

What this package is like to depend on

Last release today

22 Aug 2026

Ships on a steady schedule

a new release about every 4 weeks

Nearly every release is documented

notes for 55 of 55 stable releases

1 version withdrawn

withdrawn after publishing

4 years old

56 releases · first in 2023

16 releases in the last 12 months

see the full history below

Release timeline

56 releases · Feb 2023 to Aug 2026
2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 56
  1. 0.74.0 22 Aug 2026
    Release notes

    New Features

    • <csr-id-40a4ca7d1802361850a6a4a6aef91c8c2c5d730f/> expose index-less parallel pack traversal (cache Tree, Context, Options) Re-export cache::delta::{Tree, traverse::{Context, Options}} at cache so external callers can build a delta Tree directly from a pack header scan and resolve all of its objects in parallel via Tree::traverse -- without a pre-built .idx. This is the index-less companion to the already-public, idx-verified index::File::traverse_with_index.

      Minimal surface by design: the delta module stays pub(crate), so only the three already-documented items a caller names become public -- pub mod delta would instead expose the module's internal error types and constructors and fail #![deny(missing_docs)]. Tree::from_offsets_in_pack (already public) builds the tree straight from the pack; with_capacity/add_root/add_child remain for callers who assemble it by ascending pack offset themselves.

      Additive and non-breaking; cargo doc is clean under -D warnings, and a doc-test anchors the index-less path (Tree::from_offsets_in_pack). Shape approved in #2922.

    Bug Fixes

    • <csr-id-916f5d8c32deb0a03bb6a01c8d8e9c4b6c69d186/> validate delta base sizes during entry decoding <!-- agent --> Reject delta instruction streams whose declared base size differs from the resolved base object. The regression demonstrates that a REF_DELTA could previously reconstruct successfully despite lying about its base size.

      Git reference: patch_delta() compares the decoded source size with src_size before applying instructions, observed at cf5497b14c5a.

    • <csr-id-d7bbb8e053c3ce9c24fe0a4bf1aaaca7b7a58270/> resolve delta trees lazily in a lock-free pool <!-- agent --> --- Summary of findings

      The lazy, stealable resolver fixes the pathological phpstan pack without regressing the Linux best case. At 16 threads, phpstan falls from the 98.38-second baseline resolver time to 22.70 seconds, while the Linux best-case resolver improves slightly from 11.81 to 11.33 seconds. Charged peak memory on phpstan falls from 13.14 GB to 2.16 GB, and the Linux best case falls from 1.96 GB to 1.76 GB.

      Across the measured packs, gix resolver speedup at 16 threads ranges from 10.80x to 12.48x over its new serial path. On phpstan, gix is 1.07x faster than Git at one thread and 2.31x faster at 16 threads. On the identical 10.9M-object Linux payload, gix's SHA-256 resolver is 2.72x to 2.99x faster than its SHA-1 resolver, confirming that the slow SHA-1 implementation dominates much of the remaining absolute cost.

      The Git SHA-256 comparison was initially unfair: the local Git build used the portable SHA256_BLK backend while RustCrypto selected ARMv8 SHA-2 instructions. Rebuilding Git with OpenSSL reduced its eight-thread wall time from 144.15 to 40.45 seconds and user CPU time from 471.94 to 99.81 seconds. All final Git SHA-256 comparisons use that faster backend.

      --- Pathological phpstan pack

      The pack contains 100.7k objects but expands to 174.6 GB because one root ends in a deep, expensive delta tree. The previous resolver takes 98.53 seconds wall clock and has a 13.14 GB peak memory footprint.

      The new resolver takes 283.41, 71.94, 36.42, and 22.83 seconds wall clock at 1, 4, 8, and 16 threads. Its resolver speedups are 3.94x, 7.81x, and 12.48x relative to one thread, remaining nearly linear through eight threads. Peak memory footprint is 0.68, 0.75, 1.17, and 2.16 GB respectively. Thus the fastest run is 4.31x faster than the old wall time while using 84% less charged peak memory.

      Git was measured at 1, 2, 4, 8, and 16 threads while keeping its aggregate delta-base cache allowance at least as large as the default eight-thread allowance of 8 times 96 MiB. Git takes 304.51, 168.06, 98.80, 65.41, and 52.79 seconds, for 5.77x one-to-sixteen-thread scaling. At equal thread counts, gix is 1.07x, 1.37x, 1.80x, and 2.31x faster at 1, 4, 8, and 16 threads.

      At the nearest wall-time operating points, gix at four threads takes 71.94 seconds with a 0.75 GB peak footprint, while Git at eight threads takes 65.41 seconds with a 1.90 GB peak footprint. gix therefore uses 61% less charged working memory near Git-matching throughput.

      --- Linux best-case pack

      The 7.6M-object fixture expands to 95.6 GB and guards the already-friendly case. The old implementation takes 13.68 seconds wall clock and 11.81 seconds in the resolver. The new implementation takes 137.48, 36.75, 19.81, and 13.16 seconds wall clock at 1, 4, 8, and 16 threads; resolver scaling reaches 11.97x at 16 threads.

      The 16-thread result is slightly faster than the old implementation, with 11.33 seconds in the resolver, and lowers peak footprint from 1.96 to 1.76 GB. Peak footprint remains effectively constant from one through 16 threads. Git takes 156.65, 60.48, 45.48, and 42.97 seconds at the same thread counts, so gix's advantage grows from 1.14x to 3.27x.

      --- SHA-1 and SHA-256 sibling packs

      The sibling packs contain 10.9M objects, expand to 146.7 GB, and preserve the same compressed payload and delta topology. This isolates hashing from work distribution.

      For SHA-1, gix takes 212.57, 56.58, 30.60, and 20.74 seconds wall clock at 1, 4, 8, and 16 threads. Resolver scaling reaches 11.36x at 16 threads. The default eight-thread Git run takes 125.11 seconds, while gix takes 30.60 seconds at eight threads and 20.74 seconds at 16.

      For SHA-256, gix takes 72.47, 21.83, 12.58, and 8.67 seconds wall clock. Resolver scaling reaches 10.80x at 16 threads. Against OpenSSL-backed Git, gix is 1.21x, 2.02x, 3.22x, and 5.61x faster at equal thread counts. Git improves from 87.85 seconds at one thread to 40.45 seconds at eight, then regresses to 48.68 seconds at 16 with 204.81 seconds of system CPU.

      --- Hasher and scheduler interpretation

      On identical pack data, gix SHA-256 resolver time is 70.31 seconds at one thread versus 210.35 seconds for SHA-1, and 6.51 seconds at 16 threads versus 18.51 seconds for SHA-1. SHA-256 is therefore 2.99x faster serially and 2.84x faster at 16 threads, with a 2.72x to 2.99x advantage throughout the measured range.

      The similar 10.80x to 12.48x gix scaling across pathological, best-case, SHA-1, and SHA-256 packs argues against lock contention being the main high-thread limitation. The remaining flattening is consistent with finite parallel work, scheduling overhead, memory bandwidth, and hashing cost.

      --- Memory interpretation

      The resolver no longer materializes the unresolved internal-node frontier. It resolves a child only when a worker starts it, shares immutable bases between sibling tasks, and recycles the final base reference. A linear chain therefore needs roughly two object buffers per active worker instead of retaining every intermediate base.

      macOS max RSS includes clean file-backed pages. gix maps the pack, so its reported RSS can include most of a multi-gigabyte pack even when those pages are reclaimable; Git reads through bounded pread buffers. Peak memory footprint better represents charged working memory here. On phpstan, gix max RSS grows from 7.20 to 8.90 GB across 1 to 16 threads, but charged footprint grows from only 0.68 to 2.16 GB. On the Linux best case, footprint stays at 1.76 GB across the same range.

      --- Implementation

      Use lock-free local deques and a shared root injector so idle workers can steal branches from the last expensive root without every worker hoarding roots. Enable this resolver through the gix parallel feature.

      Regression tests prove that internal siblings are not all materialized before descent and that two workers can concurrently resolve children from one remaining root. The scheduler follows the proven Git index-pack principles of bounded live delta bases and keeping independent delta work available, informed by builtin/index-pack.c at cf5497b14c.

    • <csr-id-64b9efefb9a538a0c40f3413d6c758a17bbc2daf/> resolve in-pack ref deltas while indexing Valid packs may encode a base inside the same pack with REF_DELTA and may place the delta before that base. The streaming lookup previously treated an object-database miss as fatal, while index construction rejected every remaining ref delta.

      Keep lookup misses in the stream and park ref-delta children by base object ID until traversal resolves the matching object. This preserves external thin-pack injection and reuses the existing delta tree for forward and chained references.

      Git reference: a23bace963d508bd96983cc637131392d3face18, builtin/index-pack.c and t/t5300-pack-object.sh.

    Refactor (BREAKING)

    • <csr-id-c055803f6412e15ed9470b6427508fd89f235212/> remove object_hash from Options This forces callers to explicitly choose a hash, eliminating the risk that Sha1 is implicitly chosen for them in SHA-1/SHA-256 builds through Default::default() without them being aware of it or noticing. This comes at the cost of callers having to always pass the hash, but that seems like a reasonable trade-off.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 19 commits contributed to the release over the course of 30 calendar days.
    • 30 days passed between releases.
    • 5 commits were understood as conventional.
    • 3 unique issues were worked on: #1025, #2424, #2868

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #1025
      • Resolve in-pack ref deltas while indexing (64b9efe)
    • #2424
      • Resolve delta trees lazily in a lock-free pool (d7bbb8e)
    • #2868
      • Validate delta base sizes during entry decoding (916f5d8)
    • Uncategorized
      • Update manifests prior to release (ebe9095)
      • Merge pull request #2926 from cruessler/remove-object-hash-from-options (b2d919a)
      • Remove object_hash from Options (c055803)
      • Merge pull request #2905 from GitoxideLabs/various-improvements (f3bbfad)
      • Adapt to changes in gix-testtools (0cbe539)
      • Merge pull request #2923 from rdicosmo/swh-expose-delta-tree-main (c4426f0)
      • Review (dcb8ccd)
      • Expose index-less parallel pack traversal (cache Tree, Context, Options) (40a4ca7)
      • Merge pull request #2916 from cruessler/require-object-hash-in-store-at (dd8c759)
      • Adapt to changes in gix-odb (1dc741f)
      • Merge pull request #2869 from GitoxideLabs/validate-delta-base-size (9c12c2d)
      • Merge pull request #2867 from GitoxideLabs/fix-url-authority-parsing (cc3ee80)
      • Release gix-path v0.12.4, gix-command v0.9.2, gix-config-value v0.19.1, gix-url v0.37.1, gix-credentials v0.39.1, gix-transport v0.58.1 (ab4fcb0)
      • Merge pull request #2852 from GitoxideLabs/delta-tree-parallelism (4a6cf9d)
      • Merge pull request #2825 from GitoxideLabs/azure-compatibility (9b787f6)
      • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a) </details>
    Open source →
  2. 0.73.0 23 Jul 2026
    Release notes

    Bug Fixes

    • <csr-id-ace687ce6803fc761a75344d0aa7dea64c54f2cb/> cap remaining gix-pack allocations
    • <csr-id-5850141ee122e10b3ff1f4fe40b81837cb8d32af/> 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)

    • <csr-id-f26c18a947252e5edf4c05671691da0a81465a33/> 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)

    • <csr-id-b69f0a6a6abf208ccc4fa622574c48e75df6e933/> 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

    <csr-read-only-do-not-edit/>

    • 27 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

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #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
      • Release gix-actor v0.41.2, gix-features v0.49.0, gix-hash v0.26.0, gix-hashtable v0.16.0, gix-object v0.63.0, gix-glob v0.27.0, gix-attributes v0.34.0, gix-packetline v0.22.0, gix-filter v0.33.0, gix-fs v0.22.0, gix-chunk v0.7.3, gix-commitgraph v0.38.0, gix-revwalk v0.34.0, gix-traverse v0.60.0, gix-worktree-stream v0.35.0, gix-archive v0.35.0, gix-bitmap v0.3.3, gix-tempfile v24.0.0, gix-lock v24.0.0, gix-index v0.54.0, gix-pathspec v0.19.0, gix-ignore v0.22.0, gix-worktree v0.55.0, gix-imara-diff v0.2.4, gix-diff v0.66.0, gix-blame v0.16.0, gix-ref v0.66.0, gix-config v0.59.0, gix-discover v0.54.0, gix-dir v0.28.0, gix-mailmap v0.33.2, gix-revision v0.48.0, gix-merge v0.19.0, gix-negotiate v0.34.0, gix-zlib v0.1.0, gix-pack v0.73.0, gix-odb v0.83.0, gix-refspec v0.44.0, gix-shallow v0.13.0, gix-transport v0.58.0, gix-protocol v0.64.0, gix-status v0.33.0, gix-submodule v0.33.0, gix-worktree-state v0.33.0, gix v0.86.0, gix-fsck v0.24.0, gitoxide-core v0.60.0, gix-tix v0.1.0, gitoxide v0.56.0, safety bump 40 crates (842bc44)
      • 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) </details>
    Open source →
  3. 0.72.0 22 Jun 2026
    Release notes

    Bug Fixes

    • <csr-id-6de909bec54270cf2433eb944af20ed0e7bd7467/> cap aggregate delta data allocation in gix-pack A ClusterFuzz data_file testcase could build a malformed delta chain whose individual entry sizes stayed below the configured fuzz allocation cap, but whose aggregate decompressed delta payload size reached multi-gigabyte scale. The fuzz harness then attempted to reserve that aggregate buffer and aborted with libFuzzer out-of-memory.

      Reject aggregate delta payload sizes once they exceed File::with_alloc_limit_bytes(), matching the existing protection for individual decoded object sizes. Add the minimized ClusterFuzz testcase to the data_file artefacts so the known input remains available to the fuzz target and artifact smoke test.

    Bug Fixes (BREAKING)

    • <csr-id-ee91e314010fa53c839de199ffd504d72110b507/> remove unused index::Version::hash() method. It's not useful either as there is no relationship between the Version of the index file and the hash to use.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 11 commits contributed to the release over the course of 27 calendar days.
    • 27 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.15.5, gix-hashtable v0.15.2, gix-object v0.62.0, gix-attributes v0.33.2, gix-filter v0.32.0, gix-revwalk v0.33.0, gix-traverse v0.59.0, gix-worktree-stream v0.34.0, gix-archive v0.34.0, gix-tempfile v23.0.2, gix-index v0.53.0, gix-worktree v0.54.0, gix-imara-diff v0.2.3, gix-diff v0.65.0, gix-blame v0.15.0, gix-ref v0.65.0, gix-config v0.58.0, gix-discover v0.53.0, gix-dir v0.27.0, gix-revision v0.47.0, gix-merge v0.18.0, gix-negotiate v0.33.0, gix-pack v0.72.0, gix-odb v0.82.0, gix-refspec v0.43.0, gix-transport v0.57.2, gix-protocol v0.63.0, gix-status v0.32.0, gix-submodule v0.32.0, gix-worktree-state v0.32.0, gix v0.85.0, gix-fsck v0.23.0, gitoxide-core v0.59.0, gitoxide v0.55.0, safety bump 28 crates (6428edc)
      • Merge pull request #2657 from GitoxideLabs/dev/aratiu/sha256-pack (cdafa6a)
      • Review (14025af)
      • Cover multi-index write under SHA-256 (bbf6fe3)
      • Correct the index-verification progress label for non-SHA-1 hashes (aa319aa)
      • Merge pull request #2632 from GitoxideLabs/fix-fuzz-failure (70d38bf)
      • Cap aggregate delta data allocation in gix-pack (6de909b)
      • Merge pull request #2602 from cruessler/run-gix-pack-tests-with-sha-256 (4f862a5)
      • Remove unused index::Version::hash() method. (ee91e31)
      • Add generated archives for SHA-256 in gix-pack (4f1bb83)
      • Merge pull request #2618 from GitoxideLabs/report (f7d4f33) </details>
    Open source →
  4. 0.71.0 26 May 2026
    Release notes

    New Features

    • <csr-id-04c894e6e9de1ef9b4e2e654a9f3da85df2788f6/> Add SHA-256 support This means that if compiled in, SHA-256 packs can now be read and used.

    Other

    • <csr-id-3e389020600415ad9fd0de38835534bfe4889ba0/> reject truncated delta headers within their own data range ClusterFuzz reported a panic in gix-pack's data_file fuzz target for testcase clusterfuzz-testcase-minimized-gix-pack-data_file-6499869547364352. The minimized pack could reach File::decode_entry() and panic while applying a relocated delta instruction range with the slice error 'slice index starts at 11 but ends at 9'.

      The first delta decoding pass stored all decompressed delta instructions contiguously, but decoded each delta's base and result size headers from the remaining combined instruction buffer. If a malformed delta header continued past that delta's declared decompressed size, header parsing could consume bytes from the following delta and produce an invalid instruction range for the current delta.

      Limit delta size-header parsing to the current delta's decompressed instruction range so truncated malformed headers become delta corruption errors instead of cross-delta ranges. Add the ClusterFuzz artifact and a regression that exercises the same offsets as the data_file fuzz target.

      It's notable that it doesn't reproduce when run in debug mode or with the test-suite, but it does reproduce with the fuzzer, and it's fixed now (hence does not reproduce). To keep the suite simple, I removed the extra test.

    Bug Fixes (BREAKING)

    • <csr-id-176d07b9bd00bc83d310f0034452a1448414c55f/> accept non-canonical pack entry size headers C Git accepts overlong pack entry size encodings, and real servers can send them when reusing existing pack data. Accept these headers while recording the actual header length consumed from the pack.

      Keeping the actual header length avoids recomputing a canonical length from the decoded size, which would break pack offset reconstruction and ofs-delta base offset calculations for non-canonical entries.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 23 commits contributed to the release over the course of 28 calendar days.
    • 28 days passed between releases.
    • 3 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-error v0.2.4, gix-date v0.15.4, gix-actor v0.41.1, gix-trace v0.1.20, gix-validate v0.11.2, gix-path v0.12.1, gix-utils v0.3.3, gix-features v0.48.1, gix-hash v0.25.1, gix-hashtable v0.15.1, gix-object v0.61.0, gix-glob v0.26.1, gix-quote v0.7.2, gix-attributes v0.33.1, gix-command v0.9.1, gix-packetline v0.21.4, gix-filter v0.31.0, gix-fs v0.21.2, gix-chunk v0.7.2, gix-commitgraph v0.37.1, gix-revwalk v0.32.0, gix-traverse v0.58.0, gix-worktree-stream v0.33.0, gix-archive v0.33.0, gix-bitmap v0.3.2, gix-tempfile v23.0.1, gix-lock v23.0.1, gix-index v0.52.0, gix-config-value v0.18.1, gix-pathspec v0.18.1, gix-ignore v0.21.1, gix-worktree v0.53.0, gix-imara-diff v0.2.2, gix-diff v0.64.0, gix-blame v0.14.0, gix-ref v0.64.0, gix-sec v0.14.1, gix-config v0.57.0, gix-prompt v0.15.1, gix-url v0.36.1, gix-credentials v0.38.1, gix-discover v0.52.0, gix-dir v0.26.0, gix-mailmap v0.33.1, gix-revision v0.46.0, gix-merge v0.17.0, gix-negotiate v0.32.0, gix-pack v0.71.0, gix-odb v0.81.0, gix-refspec v0.42.0, gix-shallow v0.12.1, gix-transport v0.57.1, gix-protocol v0.62.0, gix-status v0.31.0, gix-submodule v0.31.0, gix-worktree-state v0.31.0, gix v0.84.0, gix-fsck v0.22.0, gitoxide-core v0.58.0, gitoxide v0.54.0, safety bump 27 crates (10c58bb)
      • Accept non-canonical pack entry size headers (176d07b)
      • Merge pull request #2590 from GitoxideLabs/independent-testtools (575113d)
      • Adapt to changes in gix-testtools (ce9e6bd)
      • Merge pull request #2581 from GitoxideLabs/improvements (8af2691)
      • Add SHA-256 support (04c894e)
      • Merge pull request #2573 from cruessler/run-gix-traverse-tests-with-sha-256 (278d7ec)
      • Address auto-review (0ec3bb7)
      • Cleanup the justfile and automate feature tests (db7b97b)
      • Merge pull request #2571 from GitoxideLabs/fix/avoid-pack-delta-panic (24cdbb0)
      • Address auto-review (c5db356)
      • Address review comment about large delta header probes (af84752)
      • Address review comments about decompression bounds (89a27bf)
      • Address review comment about produced delta bytes (8e562c7)
      • Reject truncated delta headers within their own data range (3e38902)
      • Merge pull request #2568 from GitoxideLabs/dependabot/cargo/cargo-56d6b174d8 (ab2fee1)
      • Update crates to Rust 2024 edition (2cb17b2)
      • Remove rust_2018_idioms lint declarations (e10d5f6)
      • Raise MSRV for hash dependency updates (3675a8d)
      • Merge pull request #2543 from cruessler/run-gix-worktree-stream-tests-with-sha-256 (23af41a)
      • Adapt to changes in gix_object::Data (4309fa4)
      • Adapt to changes in gix-testtoolsand rename hash_kind -> object_hash (d9648e8)
      • Merge pull request #2546 from GitoxideLabs/fix-2545 (adb8328) </details>
    Open source →
  5. 0.70.0 27 Apr 2026
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release over the course of 2 calendar days.
    • 4 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-error v0.2.3, gix-date v0.15.3, gix-actor v0.41.0, gix-path v0.12.0, gix-features v0.48.0, gix-hash v0.25.0, gix-hashtable v0.15.0, gix-object v0.60.0, gix-glob v0.26.0, gix-attributes v0.33.0, gix-command v0.9.0, gix-filter v0.30.0, gix-fs v0.21.0, gix-commitgraph v0.37.0, gix-revwalk v0.31.0, gix-traverse v0.57.0, gix-worktree-stream v0.32.0, gix-archive v0.32.0, gix-tempfile v23.0.0, gix-lock v23.0.0, gix-index v0.51.0, gix-config-value v0.18.0, gix-pathspec v0.18.0, gix-ignore v0.21.0, gix-worktree v0.52.0, gix-imara-diff v0.2.1, gix-diff v0.63.0, gix-blame v0.13.0, gix-ref v0.63.0, gix-sec v0.14.0, gix-config v0.56.0, gix-prompt v0.15.0, gix-url v0.36.0, gix-credentials v0.38.0, gix-discover v0.51.0, gix-dir v0.25.0, gix-mailmap v0.33.0, gix-revision v0.45.0, gix-merge v0.16.0, gix-negotiate v0.31.0, gix-pack v0.70.0, gix-odb v0.80.0, gix-refspec v0.41.0, gix-shallow v0.12.0, gix-transport v0.57.0, gix-protocol v0.61.0, gix-status v0.30.0, gix-submodule v0.30.0, gix-worktree-state v0.30.0, gix v0.83.0, gix-fsck v0.21.0, gitoxide-core v0.57.0, gitoxide v0.53.0, safety bump 48 crates (53f880c)
      • Adapt to changes in gix-object (91bfab0)
      • Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23) </details>
    Open source →
  6. 0.69.0 24 Apr 2026
    Release notes

    Chore

    • <csr-id-cf5279db3e9cf9cb68e63fd5f2792748024ce0eb/> Add fuzz-testing That's the only way to be reasonably sure it will not panic when parsing malformed files.
    • <csr-id-3e05ca352597ef5966fa4dc4f52456c2424cddad/> add package.include directives to control which files are packaged.

    Bug Fixes

    • <csr-id-1dc8ede81e2a30af1ea068a8b1c8130124621b02/> secure reading of corruped or malformed pack files, pack index or multi-indices

    New Features (BREAKING)

    • <csr-id-91d0c261c2ca4e3f771f37ea0ed11adbc533829b/> enforce the specification of alloc_init_bytes to handle untrusted input This breaking change is intended to force a decision about how much memory allocation an untrusted party can command by tempering with binary file formats.
    • <csr-id-3ef39161304de6ac2f246e28aee0c66cee02b55a/> parameterize data Previously we'd hardcode a memory map, but now this is parameterised with a trait to allow accessing data in a more abstract form. This is primarily meant to speedup fuzz testing, but may also be useful later for portability.

    Bug Fixes (BREAKING)

    • <csr-id-c0ab0f43d4549eb97a04e8a9bfa6b9921cb24197/> remove insecure leb64 and secure leb64_from_read from overflows

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 20 commits contributed to the release over the course of 32 calendar days.
    • 33 days passed between releases.
    • 6 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Update changelogs prior to release (f9fbcba)
      • Merge pull request #2530 from GitoxideLabs/advisories (63b8419)
      • Address auto-review (7429b15)
      • Add corpus-builder scripts when corpus files are available; auto-run artifacts in test suite (e64e3b8)
      • Add fuzz tests for 10 more crates, and related fixes (0396152)
      • Enforce the specification of alloc_init_bytes to handle untrusted input (91d0c26)
      • Secure reading of corruped or malformed pack files, pack index or multi-indices (1dc8ede)
      • Remove insecure leb64 and secure leb64_from_read from overflows (c0ab0f4)
      • Add fuzz-testing (cf5279d)
      • Parameterize data (3ef3916)
      • Add reproductions for all known advisories (392336f)
      • Merge pull request #2497 from cruessler/pass-hash-len-to-tree-ref-iter (7d50c30)
      • Review (d9b358b)
      • Adapt to changes in gix-object (6df1d55)
      • Merge pull request #2513 from GitoxideLabs/v2-diff (2a5db88)
      • Thanks clippy (e4f380e)
      • Merge pull request #2518 from GitoxideLabs/improvements (444a92b)
      • Add package.include directives to control which files are packaged. (3e05ca3)
      • Make package.include patterns more specific so they don't match ignored files (c2c917f)
      • Merge pull request #2480 from GitoxideLabs/report (98bae84) </details>
    Open source →
  7. 0.68.0 22 Mar 2026
    Release notes

    New Features

    • <csr-id-383291689c659a2cc0bee7687f5a9b9f7a3659a4/> add sha1 and sha256 features to gix. This way one can control which hashes are compiled in exactly, while having reasonable defaults automatically.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release.
    • 28 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-error v0.2.1, gix-date v0.15.1, gix-path v0.11.2, gix-features v0.46.2, gix-hash v0.23.0, gix-hashtable v0.13.0, gix-object v0.58.0, gix-packetline v0.21.2, gix-filter v0.28.0, gix-fs v0.19.2, gix-commitgraph v0.35.0, gix-revwalk v0.29.0, gix-traverse v0.55.0, gix-worktree-stream v0.30.0, gix-archive v0.30.0, gix-tempfile v21.0.2, gix-lock v21.0.2, gix-index v0.49.0, gix-pathspec v0.16.1, gix-ignore v0.19.1, gix-worktree v0.50.0, gix-diff v0.61.0, gix-blame v0.11.0, gix-ref v0.61.0, gix-sec v0.13.2, gix-config v0.54.0, gix-prompt v0.14.1, gix-credentials v0.37.1, gix-discover v0.49.0, gix-dir v0.23.0, gix-revision v0.43.0, gix-merge v0.14.0, gix-negotiate v0.29.0, gix-pack v0.68.0, gix-odb v0.78.0, gix-refspec v0.39.0, gix-shallow v0.10.0, gix-transport v0.55.1, gix-protocol v0.59.0, gix-status v0.28.0, gix-submodule v0.28.0, gix-worktree-state v0.28.0, gix v0.81.0, gix-fsck v0.19.0, gitoxide-core v0.55.0, gitoxide v0.52.0, safety bump 31 crates (c389a2c)
      • Merge pull request #2454 from GitoxideLabs/dependabot/cargo/cargo-da044b9bb0 (6183fd0)
      • Bump the cargo group with 68 updates (6bdb331)
      • Merge pull request #2441 from cruessler/remove-sha-1-from-default-features (e8bf096)
      • Add sha1 and sha256 features to gix. (3832916)
      • Adapt to sha1 not being default feature of gix-hash (e71c703)
      • Merge pull request #2442 from GitoxideLabs/report (f7277f3) </details>
    Open source →
  8. 0.67.0 22 Feb 2026
    Release notes

    Chore

    • <csr-id-5932e8858d7853c1e51be87f89b9984269fa712f/> improve crate description

    Other

    • <csr-id-e63d487fb1b1425a9458fc7400517ad2c0280fd2/> skip subtrees with identical oids Add a short-circuit check to the core gix-diff algorithm to skip identical subtrees based on oid. This substantially improves diff performance on large repos by avoiding loading & diffing objects from unchanged subtrees.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release over the course of 10 calendar days.
    • 12 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-error v0.2.0, gix-date v0.15.0, gix-actor v0.40.0, gix-object v0.57.0, gix-quote v0.7.0, gix-attributes v0.31.0, gix-command v0.8.0, gix-filter v0.27.0, gix-chunk v0.7.0, gix-commitgraph v0.34.0, gix-revwalk v0.28.0, gix-traverse v0.54.0, gix-worktree-stream v0.29.0, gix-archive v0.29.0, gix-bitmap v0.3.0, gix-index v0.48.0, gix-pathspec v0.16.0, gix-worktree v0.49.0, gix-diff v0.60.0, gix-blame v0.10.0, gix-ref v0.60.0, gix-config v0.53.0, gix-prompt v0.14.0, gix-url v0.35.2, gix-credentials v0.37.0, gix-discover v0.48.0, gix-dir v0.22.0, gix-mailmap v0.32.0, gix-revision v0.42.0, gix-merge v0.13.0, gix-negotiate v0.28.0, gix-pack v0.67.0, gix-odb v0.77.0, gix-refspec v0.38.0, gix-shallow v0.9.0, gix-transport v0.55.0, gix-protocol v0.58.0, gix-status v0.27.0, gix-submodule v0.27.0, gix-worktree-state v0.27.0, gix v0.80.0, gix-fsck v0.18.0, gitoxide-core v0.54.0, gitoxide v0.51.0, safety bump 42 crates (ecf90fc)
      • Merge pull request #2438 from mystor/push-wvvuuwmrwlul (e441fa9)
      • Skip subtrees with identical oids (e63d487)
      • Merge pull request #2377 from cruessler/add-sha-256-to-gix-commitgraph (228caf7)
      • Improve crate description (5932e88)
      • Use GIX_TEST_FIXTURE_HASH for gix-commitgraph and gix-pack. (d51b858)
      • Merge branch 'release' (9327b73) </details>
    Open source →
  9. 0.66.0 10 Feb 2026
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 6 commits contributed to the release over the course of 19 calendar days.
    • 19 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-error v0.1.0, gix-date v0.14.0, gix-actor v0.39.0, gix-trace v0.1.18, gix-path v0.11.1, gix-features v0.46.1, gix-hash v0.22.1, gix-object v0.56.0, gix-quote v0.6.2, gix-attributes v0.30.1, gix-command v0.7.1, gix-packetline v0.21.1, gix-filter v0.26.0, gix-fs v0.19.1, gix-chunk v0.6.0, gix-commitgraph v0.33.0, gix-revwalk v0.27.0, gix-traverse v0.53.0, gix-worktree-stream v0.28.0, gix-archive v0.28.0, gix-bitmap v0.2.16, gix-tempfile v21.0.1, gix-lock v21.0.1, gix-index v0.47.0, gix-config-value v0.17.1, gix-pathspec v0.15.1, gix-worktree v0.48.0, gix-diff v0.59.0, gix-blame v0.9.0, gix-ref v0.59.0, gix-sec v0.13.1, gix-config v0.52.0, gix-prompt v0.13.1, gix-url v0.35.1, gix-credentials v0.36.0, gix-discover v0.47.0, gix-dir v0.21.0, gix-mailmap v0.31.0, gix-revision v0.41.0, gix-merge v0.12.0, gix-negotiate v0.27.0, gix-pack v0.66.0, gix-odb v0.76.0, gix-refspec v0.37.0, gix-shallow v0.8.1, gix-transport v0.54.0, gix-protocol v0.57.0, gix-status v0.26.0, gix-submodule v0.26.0, gix-worktree-state v0.26.0, gix v0.79.0, safety bump 35 crates (d66ac10)
      • Merge pull request #2407 from GitoxideLabs/dependabot/cargo/cargo-fb4135702f (8bceefb)
      • Bump the cargo group with 59 updates (7ce3c55)
      • Merge pull request #2396 from GitoxideLabs/gix-error (e8612b5)
      • Adapt to changes in gix-error (a304f13)
      • Merge pull request #2393 from GitoxideLabs/report (f7d0975) </details>
    Open source →
  10. 0.65.0 22 Jan 2026
    Release notes

    New Features (BREAKING)

    • <csr-id-5c1bd0387f98eee37265a42ba4b6624c783c9a71/> Use std::ops::ControlFlow where possible
    • <csr-id-0c68131e8663390199c0b9665ffbb1727743940b/> use gix-error instead of thiserror

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 8 commits contributed to the release over the course of 16 calendar days.
    • 16 days passed between releases.
    • 2 commits were understood as conventional.
    • 1 unique issue was worked on: #2363

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #2363
      • Regenerate all changelogs with a more recent CSR version (cbbdef5)
    • Uncategorized
      • Release gix-error v0.0.0, gix-date v0.13.0, gix-actor v0.38.0, gix-validate v0.11.0, gix-path v0.11.0, gix-features v0.46.0, gix-hash v0.22.0, gix-hashtable v0.12.0, gix-object v0.55.0, gix-glob v0.24.0, gix-attributes v0.30.0, gix-command v0.7.0, gix-packetline v0.21.0, gix-filter v0.25.0, gix-fs v0.19.0, gix-chunk v0.5.0, gix-commitgraph v0.32.0, gix-revwalk v0.26.0, gix-traverse v0.52.0, gix-worktree-stream v0.27.0, gix-archive v0.27.0, gix-tempfile v21.0.0, gix-lock v21.0.0, gix-index v0.46.0, gix-config-value v0.17.0, gix-pathspec v0.15.0, gix-ignore v0.19.0, gix-worktree v0.47.0, gix-diff v0.58.0, gix-blame v0.8.0, gix-ref v0.58.0, gix-sec v0.13.0, gix-config v0.51.0, gix-prompt v0.13.0, gix-url v0.35.0, gix-credentials v0.35.0, gix-discover v0.46.0, gix-dir v0.20.0, gix-mailmap v0.30.0, gix-revision v0.40.0, gix-merge v0.11.0, gix-negotiate v0.26.0, gix-pack v0.65.0, gix-odb v0.75.0, gix-refspec v0.36.0, gix-shallow v0.8.0, gix-transport v0.53.0, gix-protocol v0.56.0, gix-status v0.25.0, gix-submodule v0.25.0, gix-worktree-state v0.25.0, gix v0.78.0, gix-fsck v0.17.0, gitoxide-core v0.53.0, gitoxide v0.50.0, safety bump 50 crates (562e684)
      • Use std::ops::ControlFlow where possible (5c1bd03)
      • Merge pull request #2373 from GitoxideLabs/gix-error (4c6a7a7)
      • Adapt to changes in gix-chunk (e6e90ff)
      • Use gix-error instead of thiserror (0c68131)
      • Merge pull request #2364 from GitoxideLabs/changelogs (0a333e5)
      • Merge pull request #2346 from GitoxideLabs/release (c663b3f) </details>
    Open source →
  11. 0.64.1 06 Jan 2026
    Release notes

    Commit Statistics

    • 2 commits contributed to the release.
    • 1 day passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    view details
    • Uncategorized
      • Use fundamental-type comparisons throughout tests (47536a5)
      • Merge pull request #2933 from GitoxideLabs/report-august (b8914ff)
    Open source →
    Release notes

    <csr-id-d99352bd3b7c75791826b40df20afdd4b0d8b26e/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 4 commits contributed to the release over the course of 5 calendar days.
    • 6 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-trace v0.1.17, gix-features v0.45.2, gix-command v0.6.5, gix-hash v0.21.2, gix-date v0.12.1, gix-actor v0.37.1, gix-object v0.54.1, gix-filter v0.24.1, gix-fs v0.18.2, gix-tempfile v20.0.1, gix-lock v20.0.1, gix-traverse v0.51.1, gix-index v0.45.1, gix-diff v0.57.1, gix-pack v0.64.1 (7be8f90)
      • Merge pull request #2345 from matts1/push-utkmrmunzotv (c0cf38f)
      • Don't decompress the delta when decompressing base objects. (d99352b)
      • Merge pull request #2322 from GitoxideLabs/report (211b4fb) </details>
    Open source →
    Release notes

    gix-object v0.64.1

    Compare

    Choose a tag to compare

    Open source →
  12. 0.64.0 31 Dec 2025
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 2 commits contributed to the release over the course of 9 calendar days.
    • 9 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.12.0, gix-actor v0.37.0, gix-features v0.45.1, gix-hash v0.21.1, gix-object v0.54.0, gix-filter v0.24.0, gix-fs v0.18.1, gix-revwalk v0.25.0, gix-traverse v0.51.0, gix-worktree-stream v0.26.0, gix-archive v0.26.0, gix-index v0.45.0, gix-worktree v0.46.0, gix-diff v0.57.0, gix-blame v0.7.0, gix-ref v0.57.0, gix-config v0.50.0, gix-credentials v0.34.0, gix-discover v0.45.0, gix-dir v0.19.0, gix-mailmap v0.29.0, gix-revision v0.39.0, gix-merge v0.10.0, gix-negotiate v0.25.0, gix-pack v0.64.0, gix-odb v0.74.0, gix-refspec v0.35.0, gix-transport v0.52.0, gix-protocol v0.55.0, gix-status v0.24.0, gix-submodule v0.24.0, gix-worktree-state v0.24.0, gix v0.77.0, gix-fsck v0.16.0, gitoxide-core v0.52.0, gitoxide v0.49.0, safety bump 32 crates (115e208)
      • Merge pull request #2299 from GitoxideLabs/report (d6c5b9d) </details>
    Open source →
  13. 0.63.0 22 Dec 2025
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 1 commit contributed to the release.
    • 30 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.11.1, gix-actor v0.36.1, gix-trace v0.1.16, gix-features v0.45.0, gix-hash v0.21.0, gix-hashtable v0.11.0, gix-object v0.53.0, gix-glob v0.23.0, gix-attributes v0.29.0, gix-filter v0.23.0, gix-fs v0.18.0, gix-commitgraph v0.31.0, gix-revwalk v0.24.0, gix-traverse v0.50.0, gix-worktree-stream v0.25.0, gix-archive v0.25.0, gix-tempfile v20.0.0, gix-lock v20.0.0, gix-index v0.44.0, gix-config-value v0.16.0, gix-pathspec v0.14.0, gix-ignore v0.18.0, gix-worktree v0.45.0, gix-diff v0.56.0, gix-blame v0.6.0, gix-ref v0.56.0, gix-config v0.49.0, gix-prompt v0.12.0, gix-url v0.34.0, gix-credentials v0.33.0, gix-discover v0.44.0, gix-dir v0.18.0, gix-mailmap v0.28.1, gix-revision v0.38.0, gix-merge v0.9.0, gix-negotiate v0.24.0, gix-pack v0.63.0, gix-odb v0.73.0, gix-refspec v0.34.0, gix-shallow v0.7.0, gix-transport v0.51.0, gix-protocol v0.54.0, gix-status v0.23.0, gix-submodule v0.23.0, gix-worktree-state v0.23.0, gix v0.76.0, gix-fsck v0.15.0, gitoxide-core v0.51.0, gitoxide v0.48.0, safety bump 43 crates (21fecdf) </details>
    Open source →
  14. 0.62.0 22 Nov 2025
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 2 commits contributed to the release.
    • 30 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.11.0, gix-actor v0.36.0, gix-path v0.10.22, gix-object v0.52.0, gix-packetline v0.20.0, gix-filter v0.22.0, gix-revwalk v0.23.0, gix-traverse v0.49.0, gix-worktree-stream v0.24.0, gix-archive v0.24.0, gix-index v0.43.0, gix-worktree v0.44.0, gix-diff v0.55.0, gix-blame v0.5.0, gix-ref v0.55.0, gix-config v0.48.0, gix-url v0.33.2, gix-credentials v0.32.0, gix-discover v0.43.0, gix-dir v0.17.0, gix-mailmap v0.28.0, gix-revision v0.37.0, gix-merge v0.8.0, gix-negotiate v0.23.0, gix-pack v0.62.0, gix-odb v0.72.0, gix-refspec v0.33.0, gix-transport v0.50.0, gix-protocol v0.53.0, gix-status v0.22.0, gix-submodule v0.22.0, gix-worktree-state v0.22.0, gix v0.75.0, gix-fsck v0.14.0, gitoxide-core v0.50.0, gitoxide v0.47.0, safety bump 32 crates (82ff92f)
      • Merge pull request #2230 from yuki0iq/doc_auto_cfg (fbf9c39) </details>
    Open source →
  15. 0.61.1 23 Oct 2025
    Release notes

    <csr-id-6f469a6fea59c88e6c69a5f94b0bc8a5977cb75b/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release over the course of 1 calendar day.
    • 1 day passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.10.7, gix-actor v0.35.6, gix-trace v0.1.15, gix-features v0.44.1, gix-hash v0.20.1, gix-object v0.51.1, gix-glob v0.22.1, gix-attributes v0.28.1, gix-packetline-blocking v0.19.3, gix-commitgraph v0.30.1, gix-archive v0.23.1, gix-tempfile v19.0.1, gix-index v0.42.1, gix-config-value v0.15.3, gix-ignore v0.17.1, gix-worktree v0.43.1, gix-diff v0.54.1, gix-ref v0.54.1, gix-sec v0.12.2, gix-config v0.47.1, gix-url v0.33.1, gix-credentials v0.31.1, gix-mailmap v0.27.4, gix-revision v0.36.1, gix-pack v0.61.1, gix-odb v0.71.1, gix-packetline v0.19.3, gix-transport v0.49.1, gix-protocol v0.52.1, gix-status v0.21.1, gix v0.74.1 (bdcce5f)
      • Remove doc_auto_cfg feature to fix docs.rs documentation. (6f469a6)
      • Merge pull request #2224 from GitoxideLabs/report (3313233) </details>
    Open source →
  16. 0.61.0 22 Oct 2025
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 16 commits contributed to the release over the course of 99 calendar days.
    • 99 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-dir v0.16.0, gix-mailmap v0.27.3, gix-revision v0.36.0, gix-merge v0.7.0, gix-negotiate v0.22.0, gix-pack v0.61.0, gix-odb v0.71.0, gix-refspec v0.32.0, gix-shallow v0.6.0, gix-packetline v0.19.2, gix-transport v0.49.0, gix-protocol v0.52.0, gix-status v0.21.0, gix-submodule v0.21.0, gix-worktree-state v0.21.0, gix v0.74.0, gix-fsck v0.13.0, gitoxide-core v0.49.0, gitoxide v0.46.0 (49f8d53)
      • Release gix-date v0.10.6, gix-utils v0.3.1, gix-actor v0.35.5, gix-trace v0.1.14, gix-validate v0.10.1, gix-path v0.10.21, gix-features v0.44.0, gix-hash v0.20.0, gix-hashtable v0.10.0, gix-object v0.51.0, gix-glob v0.22.0, gix-quote v0.6.1, gix-attributes v0.28.0, gix-command v0.6.3, gix-packetline-blocking v0.19.2, gix-filter v0.21.0, gix-fs v0.17.0, gix-chunk v0.4.12, gix-commitgraph v0.30.0, gix-revwalk v0.22.0, gix-traverse v0.48.0, gix-worktree-stream v0.23.0, gix-archive v0.23.0, gix-bitmap v0.2.15, gix-tempfile v19.0.0, gix-lock v19.0.0, gix-index v0.42.0, gix-config-value v0.15.2, gix-pathspec v0.13.0, gix-ignore v0.17.0, gix-worktree v0.43.0, gix-diff v0.54.0, gix-blame v0.4.0, gix-ref v0.54.0, gix-sec v0.12.1, gix-config v0.47.0, gix-prompt v0.11.2, gix-url v0.33.0, gix-credentials v0.31.0, gix-discover v0.42.0, gix-dir v0.16.0, gix-mailmap v0.27.3, gix-revision v0.36.0, gix-merge v0.7.0, gix-negotiate v0.22.0, gix-pack v0.61.0, gix-odb v0.71.0, gix-refspec v0.32.0, gix-shallow v0.6.0, gix-packetline v0.19.2, gix-transport v0.49.0, gix-protocol v0.52.0, gix-status v0.21.0, gix-submodule v0.21.0, gix-worktree-state v0.21.0, gix v0.74.0, gix-fsck v0.13.0, gitoxide-core v0.49.0, gitoxide v0.46.0, safety bump 42 crates (89fb308)
      • Merge pull request #2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 (4da2927)
      • Fixup Copilot commits and thank clippy (b188a7d)
      • Update MSRV to 1.82 and replace once_cell with std equivalents (6cc8464)
      • Merge pull request #2202 from GitoxideLabs/dependabot/cargo/cargo-4a7155215a (9365cc3)
      • Bump the cargo group across 1 directory with 64 updates (838ff95)
      • Merge pull request #2155 from folkertdev/skip-flate2 (752d6dc)
      • Refactor (0e7aa81)
      • Merge pull request #2113 from GitoxideLabs/release (dc7343c)
      • Release gix-actor v0.35.4, gix-fs v0.16.1, gix-object v0.50.2, gix-ref v0.53.1 (79ba9d0)
      • Merge pull request #2100 from GitoxideLabs/release (202bc6d)
      • Release gix-actor v0.35.3, gix-path v0.10.20, gix-features v0.43.1, gix-object v0.50.1 (d64f257)
      • Merge pull request #2090 from GitoxideLabs/dependabot/cargo/cargo-f147714000 (473fe52)
      • Bump the cargo group with 41 updates (428412c)
      • Merge pull request #2075 from GitoxideLabs/improvements (784c046) </details>
    Open source →
  17. 0.60.0 15 Jul 2025
    Release notes

    <csr-id-fce70950006892f51b32af233656be6fe5de9df3/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 14 commits contributed to the release over the course of 79 calendar days.
    • 80 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.10.3, gix-actor v0.35.2, gix-trace v0.1.13, gix-path v0.10.19, gix-features v0.43.0, gix-hash v0.19.0, gix-hashtable v0.9.0, gix-object v0.50.0, gix-glob v0.21.0, gix-attributes v0.27.0, gix-command v0.6.2, gix-packetline-blocking v0.19.1, gix-filter v0.20.0, gix-fs v0.16.0, gix-commitgraph v0.29.0, gix-revwalk v0.21.0, gix-traverse v0.47.0, gix-worktree-stream v0.22.0, gix-archive v0.22.0, gix-tempfile v18.0.0, gix-lock v18.0.0, gix-index v0.41.0, gix-config-value v0.15.1, gix-pathspec v0.12.0, gix-ignore v0.16.0, gix-worktree v0.42.0, gix-diff v0.53.0, gix-blame v0.3.0, gix-ref v0.53.0, gix-sec v0.12.0, gix-config v0.46.0, gix-prompt v0.11.1, gix-url v0.32.0, gix-credentials v0.30.0, gix-discover v0.41.0, gix-dir v0.15.0, gix-mailmap v0.27.2, gix-revision v0.35.0, gix-merge v0.6.0, gix-negotiate v0.21.0, gix-pack v0.60.0, gix-odb v0.70.0, gix-refspec v0.31.0, gix-shallow v0.5.0, gix-packetline v0.19.1, gix-transport v0.48.0, gix-protocol v0.51.0, gix-status v0.20.0, gix-submodule v0.20.0, gix-worktree-state v0.20.0, gix v0.73.0, gix-fsck v0.12.0, gitoxide-core v0.48.0, gitoxide v0.45.0, safety bump 43 crates (5a919c4)
      • Update changelogs prior to release (65037b5)
      • Merge pull request #2070 from GitoxideLabs/dependabot/cargo/cargo-827bceb7eb (dab97f7)
      • Bump the cargo group across 1 directory with 68 updates (a9a8ea1)
      • Merge pull request #2062 from rickprice/minor_documentation_fixups (c2eb0c1)
      • Small documentation fixes (bfb1c34)
      • Merge pull request #2059 from bradlarsen/main (52906fb)
      • Refactor (56ca4bf)
      • Delta application is a fallible operation (fce7095)
      • Merge pull request #2033 from GitoxideLabs/dependabot/cargo/cargo-b72232998d (f8d7c0a)
      • Bump the cargo group with 56 updates (151e3a5)
      • Merge pull request #2009 from GitoxideLabs/release-gix-index (c3f06ae)
      • Release gix-path v0.10.18, gix-date v0.10.2, gix-traverse v0.46.2, gix-index v0.40.1 (d2b4c44)
      • Merge pull request #1971 from GitoxideLabs/new-release (8d4c4d1) </details>
    Open source →
  18. 0.59.1 26 Apr 2025
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release.
    • 1 day passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.10.1, gix-utils v0.3.0, gix-actor v0.35.1, gix-validate v0.10.0, gix-path v0.10.17, gix-features v0.42.1, gix-hash v0.18.0, gix-hashtable v0.8.1, gix-object v0.49.1, gix-glob v0.20.0, gix-quote v0.6.0, gix-attributes v0.26.0, gix-command v0.6.0, gix-packetline-blocking v0.19.0, gix-filter v0.19.1, gix-fs v0.15.0, gix-commitgraph v0.28.0, gix-revwalk v0.20.1, gix-traverse v0.46.1, gix-worktree-stream v0.21.1, gix-archive v0.21.1, gix-tempfile v17.1.0, gix-lock v17.1.0, gix-index v0.40.0, gix-config-value v0.15.0, gix-pathspec v0.11.0, gix-ignore v0.15.0, gix-worktree v0.41.0, gix-diff v0.52.1, gix-blame v0.2.1, gix-ref v0.52.1, gix-sec v0.11.0, gix-config v0.45.1, gix-prompt v0.11.0, gix-url v0.31.0, gix-credentials v0.29.0, gix-discover v0.40.1, gix-dir v0.14.1, gix-mailmap v0.27.1, gix-revision v0.34.1, gix-merge v0.5.1, gix-negotiate v0.20.1, gix-pack v0.59.1, gix-odb v0.69.1, gix-refspec v0.30.1, gix-shallow v0.4.0, gix-packetline v0.19.0, gix-transport v0.47.0, gix-protocol v0.50.1, gix-status v0.19.1, gix-submodule v0.19.1, gix-worktree-state v0.19.0, gix v0.72.1, gix-fsck v0.11.1, gitoxide-core v0.47.1, gitoxide v0.44.0 (e104545)
      • Bump all prior pratch levels to majors (5f7f805)
      • Merge pull request #1969 from GitoxideLabs/new-release (631f07a) </details>
    Open source →
  19. 0.59.0 25 Apr 2025 withdrawn
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 13 commits contributed to the release.
    • 21 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-path v0.10.16, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.1, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.1, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.1, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.1, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.52.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.1, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.1, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.47.0, gitoxide v0.43.0 (cc5b696)
      • Adjusting changelogs prior to release of gix-path v0.10.16, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.1, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.1, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.1, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.1, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.52.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.1, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.1, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.47.0, gitoxide v0.43.0, safety bump 7 crates (49fa9f3)
      • Release gix-date v0.10.0, gix-utils v0.2.1, gix-actor v0.35.0, gix-validate v0.9.5, gix-path v0.10.15, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.0, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.0, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.0, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.0, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.51.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.0, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.0, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.46.0, gitoxide v0.43.0, safety bump 30 crates (db0b095)
      • Update changelogs prior to release (0bf84db)
      • Merge pull request #1935 from pierrechevalier83/fix_1923 (3b1bef7)
      • J fmt (c3c6504)
      • Merge pull request #1957 from EliahKagan/run-ci/versioning (5823b22)
      • Adapt Cargo.toml files in workspace to gix-features bump (6315536)
      • Merge pull request #1949 from GitoxideLabs/dependabot/cargo/cargo-6893e2988a (b5e9059)
      • Bump the cargo group with 21 updates (68e6b2e)
      • Merge pull request #1933 from GitoxideLabs/release-gix-features (1612c73)
      • Release gix-features v0.41.1 (fc5faf2)
      • Merge pull request #1919 from GitoxideLabs/release (420e730) </details>
    Open source →
  20. 0.58.0 04 Apr 2025
    Release notes

    Changed (BREAKING)

    • <csr-id-5095f44db58014f4a35ea8996a90d56d2ac19d45/> adjust error return types to handle collision detection This does mean a lot of churn across the tree, but the change is usually just an adjustment to variants of an existing error type, so I expect that most downstream users will require little to no adaption for this change.
    • <csr-id-4f2b6496109573237f82ee30058cbb93abf3e338/> use separate error type for I/O hashing operations Prepare for hashing becoming fallible.
    • <csr-id-54e57649f0e0b15c0bd1d3233e41524cb91a8cb9/> adjust hash verification return types for the common interface This mostly just affects return types – using git_hash::verify::Error instead of bespoke duplicated versions thereof, and occasionally returning an ObjectId instead of () for convenience.
    • <csr-id-6c02b0a044edc123d95525ed8e8a6e2fb1e45213/> split index and pack checksum verification errors

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 19 commits contributed to the release.
    • 76 days passed between releases.
    • 4 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0 (d248e3d)
      • Release gix-sec v0.10.12, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0 (ada5a94)
      • Release gix-date v0.9.4, gix-utils v0.2.0, gix-actor v0.34.0, gix-features v0.41.0, gix-hash v0.17.0, gix-hashtable v0.8.0, gix-path v0.10.15, gix-validate v0.9.4, gix-object v0.48.0, gix-glob v0.19.0, gix-quote v0.5.0, gix-attributes v0.25.0, gix-command v0.5.0, gix-packetline-blocking v0.18.3, gix-filter v0.18.0, gix-fs v0.14.0, gix-commitgraph v0.27.0, gix-revwalk v0.19.0, gix-traverse v0.45.0, gix-worktree-stream v0.20.0, gix-archive v0.20.0, gix-tempfile v17.0.0, gix-lock v17.0.0, gix-index v0.39.0, gix-config-value v0.14.12, gix-pathspec v0.10.0, gix-ignore v0.14.0, gix-worktree v0.40.0, gix-diff v0.51.0, gix-blame v0.1.0, gix-ref v0.51.0, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0, safety bump 48 crates (b41312b)
      • Update changelogs prior to release (38dff41)
      • Merge pull request #1915 from emilazy/push-qvyqmopsoltr (4660f7a)
      • Refactor (4501086)
      • Migrate gix_object::{try_ =>}compute_hash users (3d7e379)
      • Migrate hashing API users to fallible versions (fbf6cc8)
      • Adjust error return types to handle collision detection (5095f44)
      • Use separate error type for I/O hashing operations (4f2b649)
      • Adjust hash verification return types for the common interface (54e5764)
      • Split index and pack checksum verification errors (6c02b0a)
      • Migrate all hashing API users to gix_hash::Hasher::finalize() (4e935ce)
      • Migrate all hashing API users to gix_hash (baa1430)
      • Merge pull request #1907 from EliahKagan/run-ci/raw (7b17da6)
      • Drop trailing , just before ) on same line in function calls (66a5ae1)
      • Merge pull request #1854 from GitoxideLabs/montly-report (16a248b)
      • Thanks clippy (8e96ed3)
      • Merge pull request #1778 from GitoxideLabs/new-release (8df0db2) </details>
    Open source →
  21. 0.57.0 18 Jan 2025
    Release notes

    New Features

    • support cloning a single revision

      A full object ID passed through with_ref_name() produced an object-ID refspec
      mapping and panicked while clone assumed every mapping had a name. Branch and
      tag checkout also retained ordinary clone tracking semantics instead of offering
      a single-revision mode.

      Add PrepareFetch::with_revision() and gix clone --revision for full refs, HEAD,
      and full object IDs. Revision clones use a one source-only implicit refspec,
      detach HEAD to the fetched commit, create no ordinary refs, persist no fetch
      refspec, and disable tag following. Existing with_ref_name() and --ref behavior
      stays unchanged.

      This follows Git commit 337855629f59 (builtin/clone: teach git-clone(1) the
      --revision= option) and its t/t5621-clone-revision.sh behavior.

    Commit Statistics

    • 7 commits contributed to the release over the course of 30 calendar days.
    • 30 days passed between releases.
    • 1 commit was understood as conventional.
    • 1 unique issue was worked on: #1930

    Commit Details

    view details
    • #1930
      • Support cloning a single revision (b1174b6)
    • Uncategorized
      • Merge pull request #2910 from codeAnqiang-ma/fix/relative-date-month-rollover (566fea1)
      • Adapt to changes in gix-date (613ff86)
      • Merge pull request #2824 from GitoxideLabs/fetch-revision (7a34c17)
      • Merge pull request #2879 from GitoxideLabs/remove-jwalk (b6492d3)
      • Replace jwalk with dua-core (c49dc45)
      • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a)
    Open source →
    Release notes

    <csr-id-17835bccb066bbc47cc137e8ec5d9fe7d5665af0/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 9 commits contributed to the release over the course of 27 calendar days.
    • 27 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-utils v0.1.14, gix-actor v0.33.2, gix-hash v0.16.0, gix-trace v0.1.12, gix-features v0.40.0, gix-hashtable v0.7.0, gix-path v0.10.14, gix-validate v0.9.3, gix-object v0.47.0, gix-glob v0.18.0, gix-quote v0.4.15, gix-attributes v0.24.0, gix-command v0.4.1, gix-packetline-blocking v0.18.2, gix-filter v0.17.0, gix-fs v0.13.0, gix-chunk v0.4.11, gix-commitgraph v0.26.0, gix-revwalk v0.18.0, gix-traverse v0.44.0, gix-worktree-stream v0.19.0, gix-archive v0.19.0, gix-bitmap v0.2.14, gix-tempfile v16.0.0, gix-lock v16.0.0, gix-index v0.38.0, gix-config-value v0.14.11, gix-pathspec v0.9.0, gix-ignore v0.13.0, gix-worktree v0.39.0, gix-diff v0.50.0, gix-blame v0.0.0, gix-ref v0.50.0, gix-sec v0.10.11, gix-config v0.43.0, gix-prompt v0.9.1, gix-url v0.29.0, gix-credentials v0.27.0, gix-discover v0.38.0, gix-dir v0.12.0, gix-mailmap v0.25.2, gix-revision v0.32.0, gix-merge v0.3.0, gix-negotiate v0.18.0, gix-pack v0.57.0, gix-odb v0.67.0, gix-refspec v0.28.0, gix-shallow v0.2.0, gix-packetline v0.18.3, gix-transport v0.45.0, gix-protocol v0.48.0, gix-status v0.17.0, gix-submodule v0.17.0, gix-worktree-state v0.17.0, gix v0.70.0, gix-fsck v0.9.0, gitoxide-core v0.45.0, gitoxide v0.41.0, safety bump 42 crates (dea106a)
      • Update all changelogs prior to release (1f6390c)
      • Merge pull request #1762 from GitoxideLabs/fix-1759 (7ec21bb)
      • Bump rust-version to 1.70 (17835bc)
      • Merge pull request #1752 from GitoxideLabs/git-shell (1ca480a)
      • Thanks clippy (9193b05)
      • Merge pull request #1410 from GitoxideLabs/status (0ab4f64)
      • Adapt to changes in gix-traverse (1de4e70)
      • Merge pull request #1739 from GitoxideLabs/new-release (d22937f) </details>
    Open source →
    Release notes

    v0.57.0

    Compare

    Choose a tag to compare

    Open source →
  22. 0.56.0 22 Dec 2024
    Release notes

    Commit Statistics

    • 11 commits contributed to the release over the course of 30 calendar days.
    • 30 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    view details
    • Uncategorized
      • Update manifests prior to release (ebe9095)
      • Merge pull request #2905 from GitoxideLabs/various-improvements (f3bbfad)
      • Adapt to changes in gix-testtools (0cbe539)
      • Merge pull request #2901 from cruessler/switch-to-gix-odb-at-opts (2a4d996)
      • Introduce Store::at() where possible (17fea2a)
      • Merge pull request #2897 from cruessler/run-more-tests-with-sha-256 (59f2d61)
      • Review (98c29f6)
      • Use GIX_TEST_FIXTURE_HASH for more tests (bbea2c4)
      • Merge pull request #2867 from GitoxideLabs/fix-url-authority-parsing (cc3ee80)
      • Release gix-path v0.12.4, gix-command v0.9.2, gix-config-value v0.19.1, gix-url v0.37.1, gix-credentials v0.39.1, gix-transport v0.58.1 (ab4fcb0)
      • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a)
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 4 commits contributed to the release over the course of 28 calendar days.
    • 28 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0 (beb0ea8)
      • Release gix-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0, gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1, gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1, gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0, safety bump 16 crates (c1ba571)
      • Update changelogs prior to release (7ea8582)
      • Merge pull request #1701 from GitoxideLabs/release (e8b3b41) </details>
    Open source →
    Release notes

    gix-worktree v0.56.0

    Compare

    Choose a tag to compare

    Open source →
  23. 0.55.0 24 Nov 2024
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 13 commits contributed to the release.
    • 33 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-glob v0.17.1, gix-command v0.3.11, gix-filter v0.15.0, gix-chunk v0.4.10, gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0, gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-sec v0.10.10, gix-config v0.42.0, gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-ignore v0.12.1, gix-bitmap v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0, gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0, gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0, gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0 (4000197)
      • Release gix-date v0.9.2, gix-actor v0.33.1, gix-hash v0.15.1, gix-features v0.39.1, gix-validate v0.9.2, gix-object v0.46.0, gix-path v0.10.13, gix-quote v0.4.14, gix-attributes v0.23.1, gix-packetline-blocking v0.18.1, gix-filter v0.15.0, gix-chunk v0.4.10, gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0, gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-config v0.42.0, gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-bitmap v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0, gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0, gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0, gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0, safety bump 25 crates (8ce4912)
      • Prepare changelogs prior to release (bc9d994)
      • Merge pull request #1700 from GitoxideLabs/reduce-memory (54ea266)
      • Try to reduce memory consumption by avoiding over-capacity of possibly large vectors (664e28c)
      • Merge pull request #1687 from EliahKagan/run-ci/32bit (aeaebec)
      • Deduplicate some repeated tests (dc0a73a)
      • Use <= on 32-bit for some size assertions (fc13fc3)
      • Merge pull request #1662 from paolobarbolini/thiserror-v2 (7a40648)
      • Upgrade thiserror to v2.0.0 (0f0e4fe)
      • Merge pull request #1654 from EliahKagan/doctest-workspace (1411289)
      • Mark gix-pack vendored izip! doctest ignore (0783e9c)
      • Merge pull request #1642 from GitoxideLabs/new-release (db5c9cf) </details>
    Open source →
  24. 0.54.0 22 Oct 2024
    Release notes

    New Features

    • <csr-id-add4cf4c0d2ce0f331a619ffd31f709a3b9f0bff/> gix dirwalk as a way to run gix-dir directly This is mostly for testing walks specifically, without needing them as part of gix clean or gix status.
    • <csr-id-6ab327e54a71ca5e4d555bfedfffd81359d8b529/> add gix merge tree --message '' to allow creating commits This is useful for controlling cherry-picks precisely.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release over the course of 26 calendar days.
    • 28 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #2584 from GitoxideLabs/improvements (1322a36)
      • gix dirwalk as a way to run gix-dir directly (add4cf4)
      • Merge pull request #2568 from GitoxideLabs/dependabot/cargo/cargo-56d6b174d8 (ab2fee1)
      • Update crates to Rust 2024 edition (2cb17b2)
      • Remove rust_2018_idioms lint declarations (e10d5f6)
      • Merge pull request #2557 from GitoxideLabs/cherry-pick (0771cb2)
      • Add gix merge tree --message '' to allow creating commits (6ab327e) </details>
    Open source →
    Release notes

    <csr-id-64ff0a77062d35add1a2dd422bb61075647d1a36/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 22 commits contributed to the release.
    • 61 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 2 times to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-merge v0.0.0, gix-negotiate v0.16.0, gix-pack v0.54.0, gix-odb v0.64.0, gix-packetline v0.18.0, gix-transport v0.43.0, gix-protocol v0.46.0, gix-revision v0.30.0, gix-refspec v0.26.0, gix-status v0.14.0, gix-submodule v0.15.0, gix-worktree-state v0.14.0, gix v0.67.0, gix-fsck v0.7.0, gitoxide-core v0.42.0, gitoxide v0.38.0 (f1364dc)
      • Release gix-date v0.9.1, gix-utils v0.1.13, gix-actor v0.33.0, gix-hash v0.15.0, gix-trace v0.1.11, gix-features v0.39.0, gix-hashtable v0.6.0, gix-validate v0.9.1, gix-object v0.45.0, gix-path v0.10.12, gix-glob v0.17.0, gix-quote v0.4.13, gix-attributes v0.23.0, gix-command v0.3.10, gix-packetline-blocking v0.18.0, gix-filter v0.14.0, gix-fs v0.12.0, gix-chunk v0.4.9, gix-commitgraph v0.25.0, gix-revwalk v0.16.0, gix-traverse v0.42.0, gix-worktree-stream v0.16.0, gix-archive v0.16.0, gix-config-value v0.14.9, gix-tempfile v15.0.0, gix-lock v15.0.0, gix-ref v0.48.0, gix-sec v0.10.9, gix-config v0.41.0, gix-prompt v0.8.8, gix-url v0.28.0, gix-credentials v0.25.0, gix-ignore v0.12.0, gix-bitmap v0.2.12, gix-index v0.36.0, gix-worktree v0.37.0, gix-diff v0.47.0, gix-discover v0.36.0, gix-pathspec v0.8.0, gix-dir v0.9.0, gix-mailmap v0.25.0, gix-merge v0.0.0, gix-negotiate v0.16.0, gix-pack v0.54.0, gix-odb v0.64.0, gix-packetline v0.18.0, gix-transport v0.43.0, gix-protocol v0.46.0, gix-revision v0.30.0, gix-refspec v0.26.0, gix-status v0.14.0, gix-submodule v0.15.0, gix-worktree-state v0.14.0, gix v0.67.0, gix-fsck v0.7.0, gitoxide-core v0.42.0, gitoxide v0.38.0, safety bump 41 crates (3f7e8ee)
      • Merge pull request #1637 from GitoxideLabs/improve-error-message (b36d7ef)
      • Thanks clippy (2d1fbce)
      • Merge pull request #1624 from EliahKagan/update-repo-url (795962b)
      • Update gitoxide repository URLs (64ff0a7)
      • Merge pull request #1612 from Byron/merge (37c1e4c)
      • Adapt to changes in gix-diff (3fd9fab)
      • Thanks clippy (af03832)
      • Adapt to chagnes in gix-diff (5c1f010)
      • Merge pull request #1582 from Byron/gix-path-release (93e86f1)
      • Release gix-trace v0.1.10, gix-path v0.10.11 (012a754)
      • Merge pull request #1566 from Byron/merge (d69c617)
      • Adapt to changes in gix-features (ee80b2b)
      • Merge pull request #1557 from Byron/merge-base (649f588)
      • Allow empty-docs (beba720)
      • Merge branch 'global-lints' (37ba461)
      • Workspace Clippy lint management (2e0ce50)
      • Merge pull request #1547 from nyurik/cast-lossless (c3a7dcf)
      • Fix clippy::cast_lossless (29ad2df)
      • Merge pull request #1546 from nyurik/semilocons (f992fb7)
      • Add missing semicolons (ec69c88) </details>
    Open source →
  25. 0.53.0 22 Aug 2024
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 2 commits contributed to the release.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-actor v0.32.0, gix-object v0.44.0, gix-filter v0.13.0, gix-revwalk v0.15.0, gix-traverse v0.41.0, gix-worktree-stream v0.15.0, gix-archive v0.15.0, gix-ref v0.47.0, gix-config v0.40.0, gix-index v0.35.0, gix-worktree v0.36.0, gix-diff v0.46.0, gix-discover v0.35.0, gix-dir v0.8.0, gix-mailmap v0.24.0, gix-negotiate v0.15.0, gix-pack v0.53.0, gix-odb v0.63.0, gix-revision v0.29.0, gix-refspec v0.25.0, gix-status v0.13.0, gix-submodule v0.14.0, gix-worktree-state v0.13.0, gix v0.66.0, gix-fsck v0.6.0, gitoxide-core v0.41.0, gitoxide v0.38.0, safety bump 26 crates (b3ff033)
      • Prepare changelog prior to (yet another) release (209b6de) </details>
    Open source →
  26. 0.52.0 22 Aug 2024
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 5 commits contributed to the release.
    • 30 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (4fe330e)
      • Release gix-attributes v0.22.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (f2b522d)
      • Release gix-glob v0.16.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (a65a17f)
      • Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (d19af16)
      • Prepare changelogs prior to release (0f25841) </details>
    Open source →
  27. 0.51.1 23 Jul 2024
    Release notes

    <csr-id-a2da5373fada6c1a90d139bba6db7b238ae6504c/>

    Bug Fixes

    • <csr-id-36d96f124bae7282da69883dc4c8e145261fb0f9/> assure duplicate packs and indices aren't overwriting existing ones. That way, on Windows there is no chance for access-denied errors. Maybe there are other advantages as well even for Unix.

      Since packs are usually written rarely, in comparison to loose objects, the extra file accesss seems acceptable.

    • <csr-id-36d1b69ae6d8765936ebb0dc590a14704dc41e64/> do not write empty packs and indices Failure can occour on Windows as it's likely such a pack or index is already opened during negotiation. Then, when an empty fetch via --depth 1 is repeated, a temporary file would be renamed onto one an mmapped pack or index, causing a failure.

      Now packs or indices aren't written anymore if they are empty.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 22 commits contributed to the release.
    • 62 days passed between releases.
    • 3 commits were understood as conventional.
    • 1 unique issue was worked on: #1404

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 2 times to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #1404
      • Assure duplicate packs and indices aren't overwriting existing ones. (36d96f1)
      • Do not write empty packs and indices (36d1b69)
    • Uncategorized
      • Release gix-actor v0.31.5, gix-filter v0.11.3, gix-fs v0.11.2, gix-commitgraph v0.24.3, gix-revwalk v0.13.2, gix-traverse v0.39.2, gix-worktree-stream v0.13.1, gix-archive v0.13.2, gix-config-value v0.14.7, gix-tempfile v14.0.1, gix-ref v0.45.0, gix-sec v0.10.7, gix-config v0.38.0, gix-prompt v0.8.6, gix-url v0.27.4, gix-credentials v0.24.3, gix-ignore v0.11.3, gix-index v0.33.1, gix-worktree v0.34.1, gix-diff v0.44.1, gix-discover v0.33.0, gix-pathspec v0.7.6, gix-dir v0.6.0, gix-mailmap v0.23.5, gix-negotiate v0.13.2, gix-pack v0.51.1, gix-odb v0.61.1, gix-transport v0.42.2, gix-protocol v0.45.2, gix-revision v0.27.2, gix-refspec v0.23.1, gix-status v0.11.0, gix-submodule v0.12.0, gix-worktree-state v0.11.1, gix v0.64.0, gix-fsck v0.4.1, gitoxide-core v0.39.0, gitoxide v0.37.0 (6232824)
      • Release gix-glob v0.16.4, gix-attributes v0.22.3, gix-command v0.3.8, gix-filter v0.11.3, gix-fs v0.11.2, gix-commitgraph v0.24.3, gix-revwalk v0.13.2, gix-traverse v0.39.2, gix-worktree-stream v0.13.1, gix-archive v0.13.2, gix-config-value v0.14.7, gix-tempfile v14.0.1, gix-ref v0.45.0, gix-sec v0.10.7, gix-config v0.38.0, gix-prompt v0.8.6, gix-url v0.27.4, gix-credentials v0.24.3, gix-ignore v0.11.3, gix-index v0.33.1, gix-worktree v0.34.1, gix-diff v0.44.1, gix-discover v0.33.0, gix-pathspec v0.7.6, gix-dir v0.6.0, gix-mailmap v0.23.5, gix-negotiate v0.13.2, gix-pack v0.51.1, gix-odb v0.61.1, gix-transport v0.42.2, gix-protocol v0.45.2, gix-revision v0.27.2, gix-refspec v0.23.1, gix-status v0.11.0, gix-submodule v0.12.0, gix-worktree-state v0.11.1, gix v0.64.0, gix-fsck v0.4.1, gitoxide-core v0.39.0, gitoxide v0.37.0 (a1b73a6)
      • Update manifests (by cargo-smart-release) (0470df3)
      • Prepare changelog prior to release (99c00cc)
      • Release gix-path v0.10.9 (15f1cf7)
      • Release gix-actor v0.31.4, gix-object v0.42.3 (bf3d82a)
      • Merge pull request #1430 from klensy/deps (ab02aa9)
      • Gate few deps (a2da537)
      • Release gix-path v0.10.8 (8d89b86)
      • Merge branch 'tar-only' (1dfa90d)
      • Remove binary files in favor of tar files (dcab79a)
      • Merge branch 'main' into config-key-take-2 (9fa1054)
      • Merge branch 'fix-1404' (9923542)
      • Merge branch 'feat/checkout-other-refs' (ecfde07)
      • Thanks clippy (f36b9bd)
      • Merge branch 'status' (2f9f0ac)
      • Thanks clippy (acc1331)
      • Merge pull request #1361 from EliahKagan/freebsd (9c65d98)
      • Regenerate archives for changed scripts (ea12fc2)
      • Make bash script shebangs more portable (68cbea8) </details>
    Open source →
  28. 0.51.0 22 May 2024
    Release notes

    Bug Fixes (BREAKING)

    • <csr-id-b32a847e10b742834169fac56c284645c1ed28f3/> don't panic when unknown entry types are encountered. Related to https://github.com/helix-editor/helix/issues/10660 which runs into object types that are unknown.

      I have looked into this and couldn't find evidence of a new pack-entry type in the Git codebase.

      It also looks like that Git will never write packs that aren't V2

      • initially I thought it might write V3 based on some other criteria.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 5 commits contributed to the release over the course of 9 calendar days.
    • 39 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-features v0.38.2, gix-actor v0.31.2, gix-validate v0.8.5, gix-object v0.42.2, gix-command v0.3.7, gix-filter v0.11.2, gix-fs v0.11.0, gix-revwalk v0.13.1, gix-traverse v0.39.1, gix-worktree-stream v0.13.0, gix-archive v0.13.0, gix-tempfile v14.0.0, gix-lock v14.0.0, gix-ref v0.44.0, gix-config v0.37.0, gix-prompt v0.8.5, gix-index v0.33.0, gix-worktree v0.34.0, gix-diff v0.44.0, gix-discover v0.32.0, gix-pathspec v0.7.5, gix-dir v0.5.0, gix-macros v0.1.5, gix-mailmap v0.23.1, gix-negotiate v0.13.1, gix-pack v0.51.0, gix-odb v0.61.0, gix-transport v0.42.1, gix-protocol v0.45.1, gix-revision v0.27.1, gix-status v0.10.0, gix-submodule v0.11.0, gix-worktree-state v0.11.0, gix v0.63.0, gitoxide-core v0.38.0, gitoxide v0.36.0, safety bump 19 crates (4f98e94)
      • Adjust changelogs prior to release (9511416)
      • Merge branch 'status' (04ef31e)
      • Adapt to changes in gix-pack (bad5b48)
      • Don't panic when unknown entry types are encountered. (b32a847) </details>
    Open source →
  29. 0.50.0 13 Apr 2024
    Release notes

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 4 commits contributed to the release over the course of 12 calendar days.
    • 22 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #2374 from GitoxideLabs/gix-error (25233ce)
      • Turn Exn::into_box() to Exn::into_inner(). (939b8fc)
      • Merge pull request #2352 from GitoxideLabs/gix-error (ae23762)
      • Adadpt exn to most pressing needs of gitoxide (abedade) </details>
    Open source →
    Release notes

    Bug Fixes (BREAKING)

    • <csr-id-2a9c178326b7f13ba6bc1f89fc2b9d9facbecf48/> Make topo more similar to Ancestors, but also rename Ancestors to Simple

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release over the course of 5 calendar days.
    • 30 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-trace v0.1.9, gix-utils v0.1.12, gix-packetline-blocking v0.17.4, gix-filter v0.11.1, gix-fs v0.10.2, gix-traverse v0.39.0, gix-worktree-stream v0.12.0, gix-archive v0.12.0, gix-config v0.36.1, gix-url v0.27.3, gix-index v0.32.0, gix-worktree v0.33.0, gix-diff v0.43.0, gix-pathspec v0.7.3, gix-dir v0.4.0, gix-pack v0.50.0, gix-odb v0.60.0, gix-transport v0.42.0, gix-protocol v0.45.0, gix-status v0.9.0, gix-worktree-state v0.10.0, gix v0.62.0, gix-fsck v0.4.0, gitoxide-core v0.37.0, gitoxide v0.35.0, safety bump 14 crates (095c673)
      • Prepare changelogs prior to release (5755271)
      • Merge branch 'add-topo-walk' (b590a9d)
      • Adapt to changes in gix-traverse (1cfeb11)
      • Make topo more similar to Ancestors, but also rename Ancestors to Simple (2a9c178)
      • Adapt to changes in gix-traverse (6154bf3)
      • Thanks clippy (7f6bee5) </details>
    Open source →
  30. 0.49.0 14 Mar 2024
    Release notes

    <csr-id-39879af6eaf2bf4fe159a5c6371c98d516c4febe/>

    Bug Fixes

    • <csr-id-88061a176b2f4b5a377a4cff513979ddb1e306a1/> assure memory maps are created with MAP_PRIVATE That way, the mmap process should work under more circumstances.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 8 commits contributed to the release over the course of 5 calendar days.
    • 18 days passed between releases.
    • 2 commits were understood as conventional.
    • 1 unique issue was worked on: #1312

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #1312
      • Assure memory maps are created with MAP_PRIVATE (88061a1)
    • Uncategorized
      • Release gix-date v0.8.5, gix-hash v0.14.2, gix-trace v0.1.8, gix-utils v0.1.11, gix-features v0.38.1, gix-actor v0.31.0, gix-validate v0.8.4, gix-object v0.42.0, gix-path v0.10.7, gix-glob v0.16.2, gix-quote v0.4.12, gix-attributes v0.22.2, gix-command v0.3.6, gix-filter v0.11.0, gix-fs v0.10.1, gix-chunk v0.4.8, gix-commitgraph v0.24.2, gix-hashtable v0.5.2, gix-revwalk v0.13.0, gix-traverse v0.38.0, gix-worktree-stream v0.11.0, gix-archive v0.11.0, gix-config-value v0.14.6, gix-tempfile v13.1.1, gix-lock v13.1.1, gix-ref v0.43.0, gix-sec v0.10.6, gix-config v0.36.0, gix-prompt v0.8.4, gix-url v0.27.2, gix-credentials v0.24.2, gix-ignore v0.11.2, gix-bitmap v0.2.11, gix-index v0.31.0, gix-worktree v0.32.0, gix-diff v0.42.0, gix-discover v0.31.0, gix-pathspec v0.7.1, gix-dir v0.2.0, gix-macros v0.1.4, gix-mailmap v0.23.0, gix-negotiate v0.13.0, gix-pack v0.49.0, gix-odb v0.59.0, gix-packetline v0.17.4, gix-transport v0.41.2, gix-protocol v0.44.2, gix-revision v0.27.0, gix-refspec v0.23.0, gix-status v0.7.0, gix-submodule v0.10.0, gix-worktree-state v0.9.0, gix v0.60.0, safety bump 26 crates (b050327)
      • Prepare changelogs prior to release (52c3bbd)
      • Merge branch 'status' (3e5c974)
      • Merge pull request #1314 from avoidalone/main (5722e3a)
      • Remove repetitive words (39879af)
      • Fix lints for nightly, and clippy (f8ce3d0)
      • Merge branch 'mmap-mode' (9e9b9fe) </details>
    Open source →
  31. 0.48.0 25 Feb 2024
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 11 commits contributed to the release over the course of 30 calendar days.
    • 36 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.8.4, gix-utils v0.1.10, gix-actor v0.30.1, gix-object v0.41.1, gix-path v0.10.6, gix-glob v0.16.1, gix-quote v0.4.11, gix-attributes v0.22.1, gix-command v0.3.5, gix-filter v0.10.0, gix-commitgraph v0.24.1, gix-worktree-stream v0.10.0, gix-archive v0.10.0, gix-config-value v0.14.5, gix-ref v0.42.0, gix-sec v0.10.5, gix-config v0.35.0, gix-prompt v0.8.3, gix-url v0.27.1, gix-credentials v0.24.1, gix-ignore v0.11.1, gix-index v0.30.0, gix-worktree v0.31.0, gix-diff v0.41.0, gix-discover v0.30.0, gix-pathspec v0.7.0, gix-dir v0.1.0, gix-pack v0.48.0, gix-odb v0.58.0, gix-transport v0.41.1, gix-protocol v0.44.1, gix-revision v0.26.1, gix-refspec v0.22.1, gix-status v0.6.0, gix-submodule v0.9.0, gix-worktree-state v0.8.0, gix v0.59.0, gix-fsck v0.3.0, gitoxide-core v0.36.0, gitoxide v0.34.0, safety bump 10 crates (45b4470)
      • Prepare changelogs prior to release (f2e111f)
      • Thanks clippy (13d5602)
      • Merge branch 'tempfile-permissions' (7b44c7f)
      • Release gix-tempfile v13.1.0, gix-lock v13.1.0, safety bump 12 crates (8430442)
      • Merge branch 'entryoom' (684fa5c)
      • Refactor (2a9ef4e)
      • Merge branch 'chunks_exact' (d4d478b)
      • Use chunks_exact where possible (2482023)
      • Handle OOM when copying to buffers (0be338f)
      • Release gix-path v0.10.5 (b8cba96) </details>
    Open source →
  32. 0.47.0 20 Jan 2024
    Release notes

    <csr-id-6f469a6fea59c88e6c69a5f94b0bc8a5977cb75b/>

    New Features

    • <csr-id-924cd62f7ef74f479114c80cee0db0ba5f522579/> allow credential fill with gix credential fill to run without a repo

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 5 commits contributed to the release.
    • 31 days passed between releases.
    • 2 commits were understood as conventional.
    • 1 unique issue was worked on: #2198

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #2198
      • Allow credential fill with gix credential fill to run without a repo (924cd62)
    • Uncategorized
      • Merge pull request #2254 from ralphmodales/credential-fill-fix (dba337d)
      • Merge pull request #2204 from cruessler/improve-blame-ranges (663b41e)
      • Merge pull request #2230 from yuki0iq/doc_auto_cfg (fbf9c39)
      • Remove doc_auto_cfg feature to fix docs.rs documentation. (6f469a6) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 11 commits contributed to the release over the course of 16 calendar days.
    • 21 days passed between releases.
    • 0 commits were understood as conventional.
    • 1 unique issue was worked on: #1231

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #1231
      • Improve usage of unsafe (4017e69)
    • Uncategorized
      • Release gix-utils v0.1.9, gix-features v0.38.0, gix-actor v0.30.0, gix-object v0.41.0, gix-path v0.10.4, gix-glob v0.16.0, gix-attributes v0.22.0, gix-command v0.3.3, gix-packetline-blocking v0.17.3, gix-filter v0.9.0, gix-fs v0.10.0, gix-commitgraph v0.24.0, gix-revwalk v0.12.0, gix-traverse v0.37.0, gix-worktree-stream v0.9.0, gix-archive v0.9.0, gix-config-value v0.14.4, gix-tempfile v13.0.0, gix-lock v13.0.0, gix-ref v0.41.0, gix-sec v0.10.4, gix-config v0.34.0, gix-url v0.27.0, gix-credentials v0.24.0, gix-ignore v0.11.0, gix-index v0.29.0, gix-worktree v0.30.0, gix-diff v0.40.0, gix-discover v0.29.0, gix-mailmap v0.22.0, gix-negotiate v0.12.0, gix-pack v0.47.0, gix-odb v0.57.0, gix-pathspec v0.6.0, gix-packetline v0.17.3, gix-transport v0.41.0, gix-protocol v0.44.0, gix-revision v0.26.0, gix-refspec v0.22.0, gix-status v0.5.0, gix-submodule v0.8.0, gix-worktree-state v0.7.0, gix v0.58.0, safety bump 39 crates (eb6aa8f)
      • Prepare changelogs prior to release (6a2e0be)
      • Release gix-trace v0.1.7, gix-features v0.37.2, gix-commitgraph v0.23.2, gix-traverse v0.36.2, gix-index v0.28.2 (b6c04c8)
      • Merge pull request #1248 from joshtriplett/tyop (39f35da)
      • Typo fixes (3ef3bc2)
      • Merge branch 'safety-invariants' (2a663a0)
      • Put Tree in its own module (c85a981)
      • Properly track safety invariants (6587eea)
      • Demote ItemSliceMut::get_mut() bound-check to debug-code only. (911c05f)
      • Make ItemSliceSync::get_mut() check that the index is in range (ef21617) </details>
    Open source →
  33. 0.46.1 30 Dec 2023
    Release notes

    <csr-id-3bd09ef120945a9669321ea856db4079a5dab930/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release.
    • 1 day passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.8.3, gix-hash v0.14.1, gix-trace v0.1.6, gix-features v0.37.1, gix-actor v0.29.1, gix-validate v0.8.3, gix-object v0.40.1, gix-path v0.10.3, gix-glob v0.15.1, gix-quote v0.4.10, gix-attributes v0.21.1, gix-command v0.3.2, gix-packetline-blocking v0.17.2, gix-utils v0.1.8, gix-filter v0.8.1, gix-fs v0.9.1, gix-chunk v0.4.7, gix-commitgraph v0.23.1, gix-hashtable v0.5.1, gix-revwalk v0.11.1, gix-traverse v0.36.1, gix-worktree-stream v0.8.1, gix-archive v0.8.1, gix-config-value v0.14.3, gix-tempfile v12.0.1, gix-lock v12.0.1, gix-ref v0.40.1, gix-sec v0.10.3, gix-config v0.33.1, gix-prompt v0.8.2, gix-url v0.26.1, gix-credentials v0.23.1, gix-ignore v0.10.1, gix-bitmap v0.2.10, gix-index v0.28.1, gix-worktree v0.29.1, gix-diff v0.39.1, gix-discover v0.28.1, gix-macros v0.1.3, gix-mailmap v0.21.1, gix-negotiate v0.11.1, gix-pack v0.46.1, gix-odb v0.56.1, gix-pathspec v0.5.1, gix-packetline v0.17.2, gix-transport v0.40.1, gix-protocol v0.43.1, gix-revision v0.25.1, gix-refspec v0.21.1, gix-status v0.4.1, gix-submodule v0.7.1, gix-worktree-state v0.6.1, gix v0.57.1 (972241f)
      • Merge branch 'msrv' (8c492d7)
      • Change rust-version manifest field back to 1.65. (3bd09ef) </details>
    Open source →
  34. 0.46.0 29 Dec 2023
    Release notes

    New Features

    • <csr-id-aacc326a198e4c78dd546018eebaff192ff5223d/> add a gix commit sign prototype
    • <csr-id-58b5060958e0090773bb15ffb3679d99704b70a0/> add first debug version of gix branch list

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 14 commits contributed to the release over the course of 60 calendar days.
    • 99 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #2208 from cruessler/add-commit-signing (8699d0f)
      • Refactor (82f788e)
      • Add a gix commit sign prototype (aacc326)
      • Merge pull request #2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 (4da2927)
      • Update MSRV to 1.82 and replace once_cell with std equivalents (6cc8464)
      • Adapt to change in gix-blame (a721e74)
      • Adapt to change in gix-blame (268dac4)
      • Merge pull request #2142 from cruessler/add-branch-list (525873f)
      • Fix copy-paste doc comment (04650a7)
      • Move --all to 'branch list' (6651548)
      • Refactor (e537611)
      • Add first debug version of gix branch list (58b5060)
      • Merge pull request #2106 from cruessler/add-open-with-environment-overrides (c149116)
      • Fail gix tag list when JSON is requested (fb2766b) </details>
    Open source →
    Release notes

    <csr-id-aea89c3ad52f1a800abb620e9a4701bdf904ff7d/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 9 commits contributed to the release over the course of 19 calendar days.
    • 23 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.8.2, gix-hash v0.14.0, gix-trace v0.1.5, gix-features v0.37.0, gix-actor v0.29.0, gix-validate v0.8.2, gix-object v0.40.0, gix-path v0.10.2, gix-glob v0.15.0, gix-quote v0.4.9, gix-attributes v0.21.0, gix-command v0.3.1, gix-packetline-blocking v0.17.1, gix-utils v0.1.7, gix-filter v0.8.0, gix-fs v0.9.0, gix-chunk v0.4.6, gix-commitgraph v0.23.0, gix-hashtable v0.5.0, gix-revwalk v0.11.0, gix-traverse v0.36.0, gix-worktree-stream v0.8.0, gix-archive v0.8.0, gix-config-value v0.14.2, gix-tempfile v12.0.0, gix-lock v12.0.0, gix-ref v0.40.0, gix-sec v0.10.2, gix-config v0.33.0, gix-prompt v0.8.1, gix-url v0.26.0, gix-credentials v0.23.0, gix-ignore v0.10.0, gix-bitmap v0.2.9, gix-index v0.28.0, gix-worktree v0.29.0, gix-diff v0.39.0, gix-discover v0.28.0, gix-macros v0.1.2, gix-mailmap v0.21.0, gix-negotiate v0.11.0, gix-pack v0.46.0, gix-odb v0.56.0, gix-pathspec v0.5.0, gix-packetline v0.17.1, gix-transport v0.40.0, gix-protocol v0.43.0, gix-revision v0.25.0, gix-refspec v0.21.0, gix-status v0.4.0, gix-submodule v0.7.0, gix-worktree-state v0.6.0, gix v0.57.0, gix-fsck v0.2.0, gitoxide-core v0.35.0, gitoxide v0.33.0, safety bump 40 crates (e1aae19)
      • Prepare changelogs of next release (e78a92b)
      • Merge branch 'maintenance' (4454c9d)
      • Upgrade MSRV to v1.70 (aea89c3)
      • Adapt to changes in gix-hash (859a092)
      • Merge branch 'main' into fix-1183 (1691ba6)
      • Merge branch 'archive-handling' (7549559)
      • Check all git-lfs managed files into the repository (35439de)
      • Release gix-hash v0.13.3, gix-index v0.27.1 (98b08f4) </details>
    Open source →
  35. 0.45.0 06 Dec 2023
    Release notes

    New Features

    • <csr-id-37d3bf24ac1a79302f3e97b97372e4ad381c45e2/> add first debug version of gix tag list

    • <csr-id-ab52a49a555ab25e6cf632cb0b080eab72958a7d/> gix revision list --long-hashes for faster iteration. The performance of the short-hash generation was improved as well.

    • <csr-id-c5bc49f2a02e9b28c2466ea4c7ae711d091ffc96/> support for commitgraph list from..to to exercise the new 'hide' capability.

    • <csr-id-1df1ebb34dd3e2101d8a112dda66f6bac5261ea7/> Enable precious file parsing in gix CLI by default, allow overrides. That's pretty neat as one can now set GIX_PARSE_PRECIOUS=0 in the environment to disable precious file parsing, good to see what difference it makes.

      It's also possible to do this wiht gix -c gitoxide.parsePrecious=0.

    • <csr-id-36a6ffeea7bbde7fb3689ddf2a107e09a50e602c/> add support for multiple blame ranges like gix blame -L <range> -L <other-range> ... Update the blame subcommand to handle multiple line ranges. This allows specifying multiple -L options similar to the usage of git.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 19 commits contributed to the release over the course of 78 calendar days.
    • 80 days passed between releases.
    • 5 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #2073 from cruessler/add-tag-list (c7af04d)
      • Refactor (750ae9b)
      • Add first debug version of gix tag list (37d3bf2)
      • Merge pull request #2062 from rickprice/minor_documentation_fixups (c2eb0c1)
      • Small documentation fixes (bfb1c34)
      • Merge pull request #2041 from cruessler/add-blame-extraction (dd5f0a4)
      • Merge pull request #2051 from GitoxideLabs/improvements (f933f80)
      • gix revision list --long-hashes for faster iteration. (ab52a49)
      • Adapt to changes in gix-blame (4afc51d)
      • Merge pull request #2022 from cruessler/add-rename-tracking-to-blame (76eddf8)
      • Refactor (3e5365c)
      • Merge pull request #2037 from GitoxideLabs/hide (92febae)
      • Support for commitgraph list from..to to exercise the new 'hide' capability. (c5bc49f)
      • Merge pull request #2019 from GitoxideLabs/precious-opt-in (5f9de52)
      • Enable precious file parsing in gix CLI by default, allow overrides. (1df1ebb)
      • Merge pull request #1973 from holodorum/feature/blame-range-support (de13b16)
      • Refactor (d4461e7)
      • Add support for multiple blame ranges like gix blame -L <range> -L <other-range> ... (36a6ffe)
      • Adapt to changes in gix-blame (8143d69) </details>
    Open source →
    Release notes

    Changed (BREAKING)

    • <csr-id-d6e720146c633bdc5400425b6097a3f5de93a51b/> Use gix-object::Find trait

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 29 commits contributed to the release.
    • 55 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0 (d3fd11e)
      • Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4, gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8, gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0, gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0, safety bump 27 crates (55d386a)
      • Prepare changelogs prior to release (d3dcbe5)
      • J fmt (51c7abc)
      • Merge pull request #1137 from martinvonz/push-mruzqpwzzwmy (115c993)
      • Give Node an unsafe constructor (c4807de)
      • Remove Clone impl of ItemSliceSend and make it Sync instead (43bca11)
      • Make delta Node private to resolve.rs (7301ca1)
      • Move delta Node into resolve.rs (d655ee1)
      • Extract a ItemSliceSend::get_mut() from Node::into_child_iter() (d27857d)
      • Rename an Item-typed variable from node to item (d6b8977)
      • Merge pull request #1131 from alexanderkjall/bump-memmap2-to-0.9 (f528ae8)
      • Upgrade memmap2 from 0.7.1 to 0.9.0 (f4c3380)
      • Merge branch 'check-cfg' (5a0d93e)
      • Replace all docsrs config by the document-features feature (bb3224c)
      • Merge branch 'sh-on-windows' (2b80d84)
      • Remove special handling in favor of allowing shell-avoidance. (a0cc80d)
      • Merge pull request #1116 from martinvonz/push-rlxsnxnlnkmp (613f018)
      • Make ItemSliceSend and Node only crate-visible (4f5ab36)
      • Add a phantom lifetime to ItemSliceSend (6e5ef3b)
      • Fix pointer aliasing in ItemSliceSend (17a7c6a)
      • Give ItemSliceSend a constructor and hide its field (c684b26)
      • Merge branch 'fix-1096' (ff99a18)
      • Adapt to changes in gix-object (203d69c)
      • Merge branch 'gix-object-find' (c8bd660)
      • Thanks clippy (82b01c2)
      • Use gix-object::Find trait (d6e7201)
      • Merge branch 'size-optimization' (c0e72fb)
      • Remove CHANGELOG.md from all packages (b65a80b) </details>
    Open source →
  36. 0.44.0 12 Oct 2023
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 5 commits contributed to the release over the course of 13 calendar days.
    • 18 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-hash v0.13.1, gix-features v0.36.0, gix-actor v0.28.0, gix-object v0.38.0, gix-glob v0.14.0, gix-attributes v0.20.0, gix-command v0.2.10, gix-filter v0.6.0, gix-fs v0.8.0, gix-commitgraph v0.22.0, gix-revwalk v0.9.0, gix-traverse v0.34.0, gix-worktree-stream v0.6.0, gix-archive v0.6.0, gix-tempfile v11.0.0, gix-lock v11.0.0, gix-ref v0.38.0, gix-config v0.31.0, gix-url v0.25.0, gix-credentials v0.21.0, gix-diff v0.37.0, gix-discover v0.26.0, gix-ignore v0.9.0, gix-index v0.26.0, gix-mailmap v0.20.0, gix-negotiate v0.9.0, gix-pack v0.44.0, gix-odb v0.54.0, gix-pathspec v0.4.0, gix-packetline v0.16.7, gix-transport v0.37.0, gix-protocol v0.41.0, gix-revision v0.23.0, gix-refspec v0.19.0, gix-worktree v0.27.0, gix-status v0.2.0, gix-submodule v0.5.0, gix-worktree-state v0.4.0, gix v0.55.0, safety bump 37 crates (68e5432)
      • Prepare changelogs prior to release (1347a54)
      • Thanks clippy (345712d)
      • Merge branch 'reset' (b842691)
      • Adapt to gix-features (9e7c3e1) </details>
    Open source →
  37. 0.43.0 24 Sep 2023
    Release notes

    <csr-id-f952c101cc8686e685074e8604e0f332c06d6767/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 4 commits contributed to the release.
    • 21 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #1935 from pierrechevalier83/fix_1923 (3b1bef7)
      • J fmt (c3c6504)
      • Merge pull request #1937 from EliahKagan/document-commands (de2f97d)
      • Add missing command docs + small style fixups (f952c10) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 2 commits contributed to the release.
    • 16 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-features v0.35.0, gix-actor v0.27.0, gix-object v0.37.0, gix-glob v0.13.0, gix-attributes v0.19.0, gix-filter v0.5.0, gix-fs v0.7.0, gix-commitgraph v0.21.0, gix-revwalk v0.8.0, gix-traverse v0.33.0, gix-worktree-stream v0.5.0, gix-archive v0.5.0, gix-tempfile v10.0.0, gix-lock v10.0.0, gix-ref v0.37.0, gix-config v0.30.0, gix-url v0.24.0, gix-credentials v0.20.0, gix-diff v0.36.0, gix-discover v0.25.0, gix-ignore v0.8.0, gix-index v0.25.0, gix-mailmap v0.19.0, gix-negotiate v0.8.0, gix-pack v0.43.0, gix-odb v0.53.0, gix-pathspec v0.3.0, gix-transport v0.37.0, gix-protocol v0.40.0, gix-revision v0.22.0, gix-refspec v0.18.0, gix-status v0.1.0, gix-submodule v0.4.0, gix-worktree v0.26.0, gix-worktree-state v0.3.0, gix v0.54.0, gitoxide-core v0.32.0, gitoxide v0.30.0, safety bump 37 crates (7891fb1)
      • Prepare changelogs prior to release (8a60d5b) </details>
    Open source →
  38. 0.42.0 08 Sep 2023
    Release notes

    <csr-id-dd366a52d46078729a6e36468211b97c92c2921d/>

    New Features

    • <csr-id-dbb15328d7b26aaa51ceadcd5a8cb021155023b3/> add first 'debug' version of gix diff file

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 14 commits contributed to the release.
    • 76 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #1880 from cruessler/add-gix-diff-file (b10cc6f)
      • Apply suggestions from code review (1039ae9)
      • Use revspecs for revision and path (dd366a5)
      • Add first 'debug' version of gix diff file (dbb1532)
      • Merge pull request #1888 from cruessler/respect-diff-algorithm-in-blame (dce127e)
      • Adapt to changes in gix-blame (8a31d88)
      • Merge pull request #1859 from cruessler/add-failing-test-for-as-time (36a846f)
      • Merge pull request #1858 from cruessler/add-git-blame-since (7059609)
      • Add test for --since (330711d)
      • Adapt to changes in gix-blame (e7084d8)
      • Merge pull request #1861 from GitoxideLabs/revert-lazylock (6acca19)
      • Don't use LazyLock just yet. (147eb41)
      • Merge pull request #1854 from GitoxideLabs/montly-report (16a248b)
      • Thanks clippy (8e96ed3) </details>
    Open source →
    Release notes

    <csr-id-ed327f6163f54756e58c20f86a563a97efb256ca/>

    New Features

    • <csr-id-0357b6cdb11b098fd54cd0c3df6c617d0b44a1c2/> Add generate and streaming-input feature toggles. That way, it's possible to not compile a bunch of code in gix if the writing of packs isn't required.

    Bug Fixes

    • <csr-id-96a07e08e6090222cf398b46aa8d46b56f81f14d/> Use Vec::resize() instead of set_len() Otherwise it's possible for uninitialized memory to be used as if it was initialized, which can lead to strange behaviour.

      As the buffer is re-used, it's not actually zeroing that much memory either.

    New Features (BREAKING)

    • <csr-id-24dd870919ba444aa8099c63a78ea120d47ec28e/> use prodash::Count to indicate that nothing more than counting is performed, in place of prodash::Progress

    • <csr-id-4b74996b19176cb0f00860b3db5a27819d63e7d0/> Make usage of decompression context explicit. That way, the context can be reused which is more efficient than recreating it from scratch for every little delta to decompress.

      This leads to a performance gain of 1.3%.

    Bug Fixes (BREAKING)

    • <csr-id-072ee32f693a31161cd6a843da6582d13efbb20b/> use dyn trait where possible. This reduces compile time due to avoiding duplication.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 13 commits contributed to the release over the course of 17 calendar days.
    • 17 days passed between releases.
    • 6 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.8.0, gix-hash v0.13.0, gix-features v0.34.0, gix-actor v0.26.0, gix-object v0.36.0, gix-path v0.10.0, gix-glob v0.12.0, gix-attributes v0.18.0, gix-packetline-blocking v0.16.6, gix-filter v0.4.0, gix-fs v0.6.0, gix-commitgraph v0.20.0, gix-hashtable v0.4.0, gix-revwalk v0.7.0, gix-traverse v0.32.0, gix-worktree-stream v0.4.0, gix-archive v0.4.0, gix-config-value v0.14.0, gix-tempfile v9.0.0, gix-lock v9.0.0, gix-ref v0.36.0, gix-sec v0.10.0, gix-config v0.29.0, gix-prompt v0.7.0, gix-url v0.23.0, gix-credentials v0.19.0, gix-diff v0.35.0, gix-discover v0.24.0, gix-ignore v0.7.0, gix-index v0.24.0, gix-macros v0.1.0, gix-mailmap v0.18.0, gix-negotiate v0.7.0, gix-pack v0.42.0, gix-odb v0.52.0, gix-pathspec v0.2.0, gix-packetline v0.16.6, gix-transport v0.36.0, gix-protocol v0.39.0, gix-revision v0.21.0, gix-refspec v0.17.0, gix-submodule v0.3.0, gix-worktree v0.25.0, gix-worktree-state v0.2.0, gix v0.53.0, safety bump 39 crates (8bd0456)
      • Prepare changelogs for release (375db06)
      • Merge branch 'optimizations' (6135a5e)
      • Add generate and streaming-input feature toggles. (0357b6c)
      • Merge branch dynification (f658fcc)
      • Use dyn trait where possible. (072ee32)
      • Use prodash::Count to indicate that nothing more than counting is performed, in place of prodash::Progress (24dd870)
      • Update to the latest prodash (ed327f6)
      • Switch the last crate (gix-package-tests) to edition 2021 (04494c6)
      • Merge branch 'perf-and-safety' (9ad9c5b)
      • Use Vec::resize() instead of set_len() (96a07e0)
      • Make usage of decompression context explicit. (4b74996)
      • Merge branch 'gix-submodule' (363ee77) </details>
    Open source →
  39. 0.41.0 22 Aug 2023
    Release notes

    New Features

    • <csr-id-4a783959c4862985cbffc4fe5cd2c1bed38383b1/> add gix blame -L start,end
    • <csr-id-75d689f6a195f301e4a3000e79f58e5ec1c20557/> add gix env to print paths relevant to the Git installation.
    • <csr-id-278125a845a22fef39b9bc0c69e22e21fb559104/> Document the remaining subcommands
    • <csr-id-4ffe6eb8f7921c6a03db0aa6d796cc2e3cc328e0/> Add support for statistics and additional performance information.
    • <csr-id-80e5804dea9c1090efdcddbfc97ed1d573c28091/> add gix blame to the CLI That way it's possible to see the blame result of any file in the repository.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 10 commits contributed to the release over the course of 26 calendar days.
    • 27 days passed between releases.
    • 5 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #1766 from cruessler/add-range-to-gix-blame (90fef01)
      • Add gix blame -L start,end (4a78395)
      • Merge pull request #1758 from GitoxideLabs/git-shell (851a7c4)
      • Merge pull request #1757 from lu-zero/document-subcommands (31d83a4)
      • Add tailing . for consistency (ddddf02)
      • Add gix env to print paths relevant to the Git installation. (75d689f)
      • Document the remaining subcommands (278125a)
      • Merge pull request #1453 from cruessler/gix-blame (6ed9976)
      • Add support for statistics and additional performance information. (4ffe6eb)
      • Add gix blame to the CLI (80e5804) </details>
    Open source →
    Release notes

    <csr-id-93feea269eebd114e866e6f29f4a73c0096df9e0/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release over the course of 15 calendar days.
    • 29 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0 (6c62e74)
      • Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates (30b2761)
      • Update changelogs prior to release (f23ea88)
      • Merge branch 'gix-submodule' (8f3f358)
      • More cleanup of test crates (73c685a)
      • Split tests off into their own crate to allow feature toggles. (93feea2)
      • Release gix-glob v0.10.2, gix-date v0.7.2, gix-validate v0.8.0, gix-object v0.34.0, gix-ref v0.34.0, gix-config v0.27.0, gix-commitgraph v0.18.2, gix-revwalk v0.5.0, gix-revision v0.19.0, gix-refspec v0.15.0, gix-submodule v0.1.0, safety bump 18 crates (4604f83) </details>
    Open source →
  40. 0.40.2 24 Jul 2023
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release.
    • 2 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-archive v0.2.1, gix-ref v0.33.2, gix-pack v0.40.2, gix v0.50.1 (13883e5)
      • Prepare changelogs (735c206)
      • Does this fix CI? (a4e6e28) </details>
    Open source →
  41. 0.40.1 22 Jul 2023
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release over the course of 1 calendar day.
    • 3 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0 (0062971)
      • Release gix-tempfile v7.0.2, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.1, gix-sec v0.8.4, gix-prompt v0.5.4, gix-url v0.21.1, gix-credentials v0.17.1, gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0 (107a64e)
      • Release gix-features v0.32.1, gix-actor v0.24.1, gix-validate v0.7.7, gix-object v0.33.1, gix-path v0.8.4, gix-glob v0.10.1, gix-quote v0.4.6, gix-attributes v0.16.0, gix-command v0.2.8, gix-packetline-blocking v0.16.4, gix-filter v0.2.0, gix-fs v0.4.1, gix-chunk v0.4.4, gix-commitgraph v0.18.1, gix-hashtable v0.2.4, gix-revwalk v0.4.1, gix-traverse v0.30.1, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.5, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.1, gix-sec v0.8.4, gix-prompt v0.5.4, gix-url v0.21.1, gix-credentials v0.17.1, gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0, safety bump 5 crates (16295b5)
      • Prepare more changelogs (c4cc5f2)
      • Release gix-date v0.7.1, gix-hash v0.11.4, gix-trace v0.1.3, gix-features v0.32.0, gix-actor v0.24.0, gix-validate v0.7.7, gix-object v0.33.0, gix-path v0.8.4, gix-glob v0.10.0, gix-quote v0.4.6, gix-attributes v0.15.0, gix-command v0.2.7, gix-packetline-blocking v0.16.3, gix-filter v0.1.0, gix-fs v0.4.0, gix-chunk v0.4.4, gix-commitgraph v0.18.0, gix-hashtable v0.2.4, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.4, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.0, gix-sec v0.8.4, gix-prompt v0.5.3, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-ignore v0.5.0, gix-bitmap v0.2.6, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-packetline v0.16.4, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.1 (5cb3589)
      • Update changelogs prior to release (2fc66b5)
      • Update license field following SPDX 2.1 license expression standard (9064ea3) </details>
    Open source →
  42. 0.40.0 19 Jul 2023
    Release notes

    New Features

    • <csr-id-c7e04e976989435ba752628522d53ac39348b49b/> add first 'debug' version of gix log It's primarily meant to better understand gix blame.
    • <csr-id-471e046a6002a68209e215db7ee904a4149f9d51/> add --tree-favor to gix merge tree|commit. With it one can decide which side to favor in case of irreconcilable tree-conflicts.

    Bug Fixes

    • <csr-id-0727b5679f9ddeb05a9a50c895b6d77ba61ed544/> gix merge file now uses THEIRS instead of OURS where needed

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release over the course of 27 calendar days.
    • 28 days passed between releases.
    • 3 commits were understood as conventional.
    • 1 unique issue was worked on: #1703

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #1703
      • gix merge file now uses THEIRS instead of OURS where needed (0727b56)
    • Uncategorized
      • Merge pull request #1643 from cruessler/add-gix-log (29cb775)
      • Add first 'debug' version of gix log (c7e04e9)
      • Merge pull request #1705 from GitoxideLabs/merge (520c832)
      • Adapt to changes in gix-diff (960773e)
      • Add --tree-favor to gix merge tree|commit. (471e046)
      • Merge pull request #1704 from GitoxideLabs/fix-1703 (e8ce25f) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 9 commits contributed to the release over the course of 10 calendar days.
    • 20 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-filter v0.1.0, gix-ignore v0.5.0, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.0 (4aca8c2)
      • Release gix-features v0.32.0, gix-actor v0.24.0, gix-glob v0.10.0, gix-attributes v0.15.0, gix-commitgraph v0.18.0, gix-config-value v0.12.4, gix-fs v0.4.0, gix-object v0.33.0, gix-ref v0.33.0, gix-config v0.26.0, gix-command v0.2.7, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-filter v0.1.0, gix-ignore v0.5.0, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.0 (68ae3ff)
      • Adjust package versions (by cargo-smart-release) (c70e54f)
      • Prepare changelogs prior to release (e4dded0)
      • Merge branch 'refactor-pack-streaming' (8a46a7e)
      • Simplify decompressor and hash handling when streaming packs (33f95ba)
      • Thanks clippy (3ef32af)
      • Merge branch 'integrate-filtering' (b19a56d)
      • Assure we run all tests in nextest (3821089) </details>
    Open source →
  43. 0.39.1 29 Jun 2023
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-glob v0.9.1, gix-attributes v0.14.1, gix-config-value v0.12.3, gix-ref v0.32.1, gix-sec v0.8.3, gix-config v0.25.1, gix-url v0.20.1, gix-credentials v0.16.1, gix-discover v0.21.1, gix-ignore v0.4.1, gix-pack v0.39.1, gix-odb v0.49.1, gix-worktree v0.21.1, gix v0.48.0 (69c6a36)
      • Prepare changelogs prior to release (c143cf4)
      • Align usage of gix-path across all crates (73c1292) </details>
    Open source →
  44. 0.39.0 29 Jun 2023
    Release notes

    New Features

    • <csr-id-0a5993f4ed6e3815949b3cd398d38d69417d21c8/> add gix merge commit --debug This yields additional debugging information with details about detected conflicts.
    • <csr-id-4a5afc7524fc96213385454079ebf9baf302ad4b/> add gix merge commits
    • <csr-id-84707c2b7540f9a73cc3f0cde74dabd9822cd809/> add gix merge tree to merge trees similarly to git merge-tree.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 9 commits contributed to the release over the course of 21 calendar days.
    • 33 days passed between releases.
    • 3 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #1661 from GitoxideLabs/merge (0b7abfb)
      • Add gix merge commit --debug (0a5993f)
      • Merge pull request #1658 from GitoxideLabs/merge (905e5b4)
      • Add gix merge commits (4a5afc7)
      • Merge pull request #1651 from GitoxideLabs/merge (a876533)
      • Adapt to changes in gix (8d590f3)
      • Merge pull request #1618 from GitoxideLabs/merge (3fb989b)
      • Add gix merge tree to merge trees similarly to git merge-tree. (84707c2)
      • Support for merge related options in config tree (80e006b) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release over the course of 6 calendar days.
    • 7 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.7.0, gix-trace v0.1.2, gix-actor v0.23.0, gix-commitgraph v0.17.1, gix-utils v0.1.4, gix-object v0.32.0, gix-ref v0.32.0, gix-config v0.25.0, gix-diff v0.32.0, gix-discover v0.21.0, gix-hashtable v0.2.3, gix-revwalk v0.3.0, gix-traverse v0.29.0, gix-index v0.20.0, gix-mailmap v0.15.0, gix-negotiate v0.4.0, gix-pack v0.39.0, gix-odb v0.49.0, gix-protocol v0.35.0, gix-revision v0.17.0, gix-refspec v0.13.0, gix-worktree v0.21.0, gix v0.48.0, safety bump 20 crates (27e8c18)
      • Prepare changelogs prior to release (00f96fb)
      • Upgrade memmap2 and fastrand dependencies (6fc7497) </details>
    Open source →
  45. 0.38.0 22 Jun 2023
    Release notes

    <csr-id-28ac6572722f7ea31795dc0417521c70bcb6ec8f/> <csr-id-786bfec7c2cf25a68705b6ef09ba6390600742b8/>

    New Features

    • <csr-id-c7213bcf2cf6be4058a78dbd86bbab4c5ad4afa7/> support for listing worktrees with gix worktree list

    • <csr-id-0c554e096cf2bf0a2bb91397143f524219693a3b/> add first 'debug' version of gix diff tree. It's primarily meant to better understand gix blame.

    • <csr-id-9c8bc03de99e6494abd9755deef7e7be5577bce2/> add new gix cat command. It only prints things without fuzz.

      Inspired by https://youtu.be/JYH5ILv5g1g?si=bHLBPFJiZyRUTl6u&t=211.

    • <csr-id-3da2da9d7993adc16b19fc63e7524c768a6e2e7f/> add gix merge-file with similar features as git merge-file

    • <csr-id-7249291016253647c920852fb37eb9e29d615775/> gix merge-base for the CLI For now it only supports the standard merge-base, but more derivatives can be added easily on demand.

    Bug Fixes

    • <csr-id-6eb4ea6cf27b2feb3edb9dbf754393b0c7d272fd/> Adjust gix clean warning and help for worktree fix
    • <csr-id-c241422dc64f97e9dc781465ae69130a423ee501/> Clarify -r/--repositories and --skip-hidden-repositories This adds information to the help text for the git clean options -r/--repositories and --skip-hidden-repositories to make it clearer what their relationship is, avoid creating the false impression that repositories are never deleted in the absence of -r/--repositories, and note that --skip-hidden-repositories is sometimes needed to preserve not only separate repositories but the (probably rarer) case of hidden nested worktrees of the current repository.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 28 commits contributed to the release over the course of 89 calendar days.
    • 91 days passed between releases.
    • 9 commits were understood as conventional.
    • 1 unique issue was worked on: #1572

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #1572
      • Make clear what gix commit-graph is (49bca2a)
    • Uncategorized
      • Merge pull request #1639 from cruessler/respect-env-variables (48aa74b)
      • Respect env variables when running gix (0bebe52)
      • Merge pull request #1626 from cruessler/add-gix-diff (f186c23)
      • Some minor modifications (6777ecb)
      • Add first 'debug' version of gix diff tree. (0c554e0)
      • Merge pull request #1616 from Byron/git-cat (31bdd2e)
      • Add new gix cat command. (9c8bc03)
      • Merge pull request #1611 from Byron/merge (5ffccd2)
      • Add gix merge-file with similar features as git merge-file (3da2da9)
      • Add all keys for merge-configuration (e0b09d2)
      • Merge pull request #1566 from Byron/merge (d69c617)
      • Merge pull request #1557 from Byron/merge-base (649f588)
      • gix merge-base for the CLI (7249291)
      • Allow empty-docs (beba720)
      • Merge pull request #1546 from nyurik/semilocons (f992fb7)
      • Add missing semicolons (ec69c88)
      • Merge pull request #1537 from EliahKagan/progress-style (472fe5f)
      • Unify style in config support info (786bfec)
      • Merge pull request #1531 from EliahKagan/progress-typos (25a3f1b)
      • Fix typos in config support info (b31d6b7)
      • Merge branch 'ag/jiff' (5871fb1)
      • Switch from time to jiff (28ac657)
      • Merge pull request #1471 from EliahKagan/hidden (a9aac4f)
      • Adjust gix clean warning and help for worktree fix (6eb4ea6)
      • Clarify -r/--repositories and --skip-hidden-repositories (c241422)
      • Merge branch 'fix-clean' (33eacfb)
      • Support for listing worktrees with gix worktree list (c7213bc) </details>
    Open source →
    Release notes

    <csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/>

    New Features

    • <csr-id-3cffa268460eb2d41bd6a30d45778b88db4ec602/> provide basic tracing spans for common operations. This is just the beginning and more crates will integrate with it over time.

    Bug Fixes

    • <csr-id-b9eb40730b53f788d2e4bffe4ef6d9028440782e/> revert 3a2d5286084597d4c68549903709cda77dda4357 to fix 'incorrect data check' error. This error could occour in heavily threaded code for unknown reason. But maybe it's due to threads somehow not cleaning up their reused decompressor properly (maybe related to the zlib-ng version). It's strange and sad as this really costs performnace for no good reason.

    • <csr-id-8817c248dd7c6453ced654d4df304f98ff18ecda/> don't crash when object validation failed during verification. When objects can't be serialized, they will trigger an error that manifests as IO error. Previously we didn't think of the possibility that writing to an im-memory buffer could fail would indeed panic during verification.

      This is now fixed.

    • <csr-id-cd747f9292fb034e7fd5ee6c5a94a4e53df42e86/> ScopedJoinHandle is not always available

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 12 commits contributed to the release over the course of 10 calendar days.
    • 12 days passed between releases.
    • 5 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.6.0, gix-hash v0.11.3, gix-trace v0.1.1, gix-features v0.31.0, gix-actor v0.22.0, gix-path v0.8.2, gix-glob v0.9.0, gix-quote v0.4.5, gix-attributes v0.14.0, gix-chunk v0.4.3, gix-commitgraph v0.17.0, gix-config-value v0.12.2, gix-fs v0.3.0, gix-tempfile v7.0.0, gix-utils v0.1.3, gix-lock v7.0.0, gix-validate v0.7.6, gix-object v0.31.0, gix-ref v0.31.0, gix-sec v0.8.2, gix-config v0.24.0, gix-command v0.2.6, gix-prompt v0.5.2, gix-url v0.20.0, gix-credentials v0.16.0, gix-diff v0.31.0, gix-discover v0.20.0, gix-hashtable v0.2.2, gix-ignore v0.4.0, gix-bitmap v0.2.5, gix-revwalk v0.2.0, gix-traverse v0.28.0, gix-index v0.19.0, gix-mailmap v0.14.0, gix-negotiate v0.3.0, gix-pack v0.38.0, gix-odb v0.48.0, gix-packetline v0.16.3, gix-transport v0.33.0, gix-protocol v0.34.0, gix-revision v0.16.0, gix-refspec v0.12.0, gix-worktree v0.20.0, gix v0.47.0, gitoxide-core v0.29.0, gitoxide v0.27.0, safety bump 30 crates (ea9f942)
      • Prepare changelogs prior to release (18b0a37)
      • Try tree-traversal without thread_local! (5a9a7a3)
      • Revert 3a2d5286084597d4c68549903709cda77dda4357 to fix 'incorrect data check' error. (b9eb407)
      • Merge branch 'gix-corpus' (5861afb)
      • Don't crash when object validation failed during verification. (8817c24)
      • Merge branch 'corpus' (aa16c8c)
      • Change MSRV to 1.65 (4f635fc)
      • Provide basic tracing spans for common operations. (3cffa26)
      • Merge branch 'help-874-redundant-closures' (fe59956)
      • ScopedJoinHandle is not always available (cd747f9)
      • Add clippy::redundant-closure-for-method-calls lint (bcad5c2) </details>
    Open source →
  46. 0.37.0 10 Jun 2023
    Release notes

    <csr-id-202f3e48a96b38d32b11d28449358c7d1f3546ff/>

    New Features

    • <csr-id-2a563870fc4d2f65e34c4e4a448b446fc05a43b2/> add mailmap check similar to git check-mailmap. That way it becomes a little easier to maybe try out other special cases in the wild.
    • <csr-id-9bf01e42b8d8964dfd1e099d645082c10bdabcdf/> gix clone with --ref support. --ref is similar to --branch, but was renamed as it also supports tags for example.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 13 commits contributed to the release.
    • 62 days passed between releases.
    • 3 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge branch 'fix-mailmap' (f107014)
      • Add descriptive docs for mailmap check (3e08fa3)
      • Add mailmap check similar to git check-mailmap. (2a56387)
      • Merge branch 'main' into config-key-take-2 (9fa1054)
      • Merge branch 'feat/checkout-other-refs' (ecfde07)
      • gix clone with --ref support. (9bf01e4)
      • Merge branch 'status' (2f9f0ac)
      • Thanks clippy (acc1331)
      • Merge pull request #1384 from NobodyXu/feat/easier-to-compile-gix-as-dynlib (bb30e52)
      • Fix clippy warning (bf5a111)
      • Fix compilation error in src/plumbing/main.rs (4596a39)
      • Fix compilation errors (0b5dc74)
      • Make it easier to compile gitoxide as dynlib (202f3e4) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 4 commits contributed to the release.
    • 4 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-attributes v0.13.1, gix-diff v0.30.1, gix-revwalk v0.1.0, gix-traverse v0.27.0, gix-index v0.18.0, gix-revision v0.15.2, gix-negotiate v0.2.1, gix-pack v0.37.0, gix-odb v0.47.0, gix-protocol v0.33.2, gix-worktree v0.19.0, gix v0.46.0, safety bump 7 crates (2560a2c)
      • Prepare changelogs prior to release (298f3d7)
      • Merge branch 'walk-with-commitgraph' (fdee9a2)
      • Adapt to changes in gix-traverse (1f682fd) </details>
    Open source →
  47. 0.36.0 06 Jun 2023
    Release notes

    Commit Statistics

    • 6 commits contributed to the release over the course of 30 calendar days.
    • 30 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    view details
    • Uncategorized
      • Update manifests prior to release (ebe9095)
      • Merge pull request #2901 from cruessler/switch-to-gix-odb-at-opts (2a4d996)
      • Introduce Store::at() where possible (17fea2a)
      • Merge pull request #2867 from GitoxideLabs/fix-url-authority-parsing (cc3ee80)
      • Release gix-path v0.12.4, gix-command v0.9.2, gix-config-value v0.19.1, gix-url v0.37.1, gix-credentials v0.39.1, gix-transport v0.58.1 (ab4fcb0)
      • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a)
    Open source →
    Release notes

    New Features

    • <csr-id-886d6b58e4612ac21cc660ea4ddf1dd0b49d1c6e/> checkout respects options for core.protectHFS and core.protectNTFS. This also adds gitoxide.core.protectWindows as a way to enforce additional restrictions that are usually only available on Windows.

      Note that core.protectNFS is always enabled by default, just like it is in Git.

    Bug Fixes

    • <csr-id-addf446f052ff74edcdb083f2b2968b313daa940/> more robustness in the face of a trampling-herd of threads loading a single index. The motivating example is here: https://github.com/praetorian-inc/noseyparker/issues/179

      Previously, it was possible for a trampling herd of threads to consolidate the disk state. Most of them would be 'needs-init' threads which could notice that the initialization already happened, and just use that.

      But a thread might be late for the party and somehow manages to not get any newly loaded index, and thus tries to consolidate with what's on disk again. Then it would again determine no change, and return nothing, causing the caller to abort and not find objects it should find because it wouldn't see the index that it should have seen.

      The reason the thread got into this mess is that the 'is-load-ongoing' flagging was racy itself, so it would not wait for ongoing loads and just conclude nothing happened. An extra delay (by yielding) now assures it either seees the loading state and waits for it, sees the newly loaded indices.

      Note that this issue can be reproduced with:

      './target/release/gix -r repo-with-one-pack -t10 --trace odb stats --extra-header-lookup'
      

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 6 commits contributed to the release over the course of 10 calendar days.
    • 39 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge branch 'various-fixes' (d6cd449)
      • Merge pull request from GHSA-7w47-3wg8-547c (79dce79)
      • Checkout respects options for core.protectHFS and core.protectNTFS. (886d6b5)
      • Mark safety-related core-flags as planned (f3d5a69)
      • Merge branch 'status' (04ef31e)
      • More robustness in the face of a trampling-herd of threads loading a single index. (addf446) </details>
    Open source →
    Release notes

    New Features

    • <csr-id-3a2d5286084597d4c68549903709cda77dda4357/> improve performance by reducing the trashing of zlib::Inflate. Previously, for every zlib inflate operation, we would allocate memory due to the creation of a decompressor.

      This is now avoided by reusing thread-local copies of such a decompressor, which is reused and reset instead.

    • <csr-id-14e7ea0217af8a04ed2b50ff7b13c28335c29022/> improve performance by avoiding zeroying buffers. Previously we would use resize(new_len, 0) to resize buffers, even though these values would then be overwritten (or the buffer isn't available).

      Now we use set_len(new_len) after calling reserve to do the same, but safe a memset.

    Bug Fixes

    • <csr-id-977e135bfa00bdbc1a8f8324f85347ec9078c84f/> static linked list delta cache with memory cap Previously, the 64 slot big LRU cache for pack deltas didn't use any memory limit which could lead to memory exhaustion in the face of untypical, large objects.

      Now we add a generous default limit to do better in such situations. It's worth noting though that that even without any cache, the working set of buffers to do delta resolution takes considerable memory, despite trying to keep it minimal.

      Note that for bigger objects, the cache is now not used at all, which probably leads to terrible performance as not even the base object can be cached.

    • <csr-id-f89cbc675b0acc67322e289e7b3a17288b9eae27/> check for interrupt more often Previously when traversing a pack it could appear to hang as checks were only performed on chunk or base (of a delta-tree) level.

      Now interrupt checks are performed more often to stop all work much quicker.

    • <csr-id-923692bcda698b45d3d1ad518b29f6d30b23fbc0/> memory capped hashmap as pack delta cache won't trash memory as much. Previously it would take a buffer from the free-list, copy data into it, and when exceeding the capacity loose it entirely. Now the freelist is handled correctly.

    New Features (BREAKING)

    • <csr-id-d22dd8fcc22e8dbe30524a1bdddc09bc841db341/> index-backed tree traversal with a form of work-stealing. When delta-trees are unbalanced, in pathological cases it's possible that that one thread ends up with more than half of the work. In this case it's required that it manages to spawn its own threads to parallelize the work it has.

    • <csr-id-0fa04bcbdf3102c5435e64cfef894a1bfc8d6e7b/> make current thread-count accessible in slice-workers. Threads started for working on an entry in a slice can now see the amount of threads left for use (and manipulate that variable) which effectively allows them to implement their own parallelization on top of the current one.

      This is useful if there is there is very imbalanced work within the slice itself.

      While at it, we also make consumer functions mutable as they exsit per thread.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 29 commits contributed to the release over the course of 25 calendar days.
    • 40 days passed between releases.
    • 7 commits were understood as conventional.
    • 1 unique issue was worked on: #851

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #851
      • Fix performance regression in pack traversal (de1f6c2)
      • Index-backed tree traversal with a form of work-stealing. (d22dd8f)
      • Improve performance by avoiding zeroying buffers. (14e7ea0)
      • Make current thread-count accessible in slice-workers. (0fa04bc)
      • Try to get improved hitrate for delta-cache by using it more, and fail (969cc77)
      • Static linked list delta cache with memory cap (977e135)
      • Check for interrupt more often (f89cbc6)
      • Memory capped hashmap as pack delta cache won't trash memory as much. (923692b)
    • Uncategorized
      • Release gix-date v0.5.1, gix-hash v0.11.2, gix-features v0.30.0, gix-actor v0.21.0, gix-path v0.8.1, gix-glob v0.8.0, gix-quote v0.4.4, gix-attributes v0.13.0, gix-chunk v0.4.2, gix-commitgraph v0.16.0, gix-config-value v0.12.1, gix-fs v0.2.0, gix-tempfile v6.0.0, gix-utils v0.1.2, gix-lock v6.0.0, gix-validate v0.7.5, gix-object v0.30.0, gix-ref v0.30.0, gix-sec v0.8.1, gix-config v0.23.0, gix-command v0.2.5, gix-prompt v0.5.1, gix-url v0.19.0, gix-credentials v0.15.0, gix-diff v0.30.0, gix-discover v0.19.0, gix-hashtable v0.2.1, gix-ignore v0.3.0, gix-bitmap v0.2.4, gix-traverse v0.26.0, gix-index v0.17.0, gix-mailmap v0.13.0, gix-revision v0.15.0, gix-negotiate v0.2.0, gix-pack v0.36.0, gix-odb v0.46.0, gix-packetline v0.16.2, gix-transport v0.32.0, gix-protocol v0.33.0, gix-refspec v0.11.0, gix-worktree v0.18.0, gix v0.45.0, safety bump 29 crates (9a9fa96)
      • just fmt (ffc1276)
      • Prepare changelogs prior to release (8f15cec)
      • Merge branch 'integrate-gix-negotiate' (ae845de)
      • Thanks clippy (9525ac8)
      • Merge branch 'fix-alloc' (d9d9bc0)
      • Improve performance by reducing the trashing of zlib::Inflate. (3a2d528)
      • Merge branch 'fix-docs' (420553a)
      • Minor fixes (89a8cfe)
      • Cleaning up documentation (2578e57)
      • Merge branch 'auto-clippy' (dbf8aa1)
      • Autofix map-or-unwrap clippy lint (and manual fix what was left) (2087032)
      • Merge branch 'main' into auto-clippy (3ef5c90)
      • Auto-fix clippy to remove explicit iter looping (3eff567)
      • Merge branch 'blinxen/main' (9375cd7)
      • Include license files in all crates (facaaf6)
      • Further optimize buffer usage when traversing packs (78d28a7)
      • Fix incorrect naming of progress of traversal threads (996ba6b)
      • Merge branch 'fix-851' (2f275d5)
      • Adjust to changes in gix-features (c48bbe3)
      • Release gix-object v0.29.2 (4f879bf) </details>
    Open source →
    Release notes

    gix-worktree-stream v0.36.0

    Compare

    Choose a tag to compare

    Open source →
  48. 0.35.0 27 Apr 2023
    Release notes

    New Features

    • <csr-id-84c74ffa698d35f8395c63db6acd3d0e6700d07f/> add gix status --ignored support

    • <csr-id-66e87cd31c060c3f97ac685ee0541c408f600362/> add gix status --index-worktree-renames This enables rename-tracking between worktree and index, something that Git also doesn't do or doesn't do by default. It is, however, available in git2.

    • <csr-id-61c002bc4ca5b5345c411e561fdcb492e7ae1d97/> gix status with submodule and rewrite support. Submodule changes are now picked up as long as the submodule is in the index. Further, it's possible to enable rename-tracking between index and worktree separately.

    • <csr-id-98b368095ec99d1bc287da7f9294a9fce424deed/> add gix is-clean|is-changed It's a good way to compare the time it takes to run a full status compared to a quick is-dirty check.

    • <csr-id-afd20caadb40b6b793f2099b7232669f9a8f9086/> gix submodules list --dirty-suffix for dirty-information This is a submodule-centric and greatly simplified way of obtaining describe information with dirty-suffix.

      Note that status information is also possible, but it seems hard to display nicely, which this command isn't great at in the first place.

    • <csr-id-58231b418fa39ea122ef41bb7691289f5b0be855/> add gix commit describe --dirty-suffix That way a suffix will be added depending on the dirty-state of the repository.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 11 commits contributed to the release.
    • 48 days passed between releases.
    • 6 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge pull request #1341 from szepeviktor/typos (55f379b)
      • Fix typos (f72ecce)
      • Merge branch 'status' (3e5c974)
      • Add gix status --format to communicate the current format is very simple. (23bea36)
      • Add gix status --ignored support (84c74ff)
      • Add gix status --index-worktree-renames (66e87cd)
      • Fix lints for nightly, and clippy (f8ce3d0)
      • gix status with submodule and rewrite support. (61c002b)
      • Add gix is-clean|is-changed (98b3680)
      • gix submodules list --dirty-suffix for dirty-information (afd20ca)
      • Add gix commit describe --dirty-suffix (58231b4) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release.
    • 1 day passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-path v0.8.0, gix-glob v0.7.0, gix-attributes v0.12.0, gix-config-value v0.12.0, gix-ref v0.29.0, gix-sec v0.8.0, gix-config v0.22.0, gix-prompt v0.5.0, gix-url v0.18.0, gix-credentials v0.14.0, gix-discover v0.18.0, gix-ignore v0.2.0, gix-pack v0.35.0, gix-odb v0.45.0, gix-transport v0.31.0, gix-protocol v0.32.0, gix-refspec v0.10.1, gix-worktree v0.17.0, gix v0.44.1 (7ebc9f7)
      • Prepare changelogs prior to release (0135158)
      • Bump gix-path v0.8.0, safety bump 20 crates (gix set to 0.44.1 manually) (43ebaf2) </details>
    Open source →
  49. 0.34.0 26 Apr 2023
    Release notes

    New Features

    • <csr-id-9863d75147445d3a598fe1339d88c353850a5984/> add gix clean --patterns-for-entries|-m to help with wildcards.
    • <csr-id-e8597f3559187fc8add294e72eb33403cdff0e09/> basic gix clean

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 20 commits contributed to the release.
    • 58 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge branch 'status' (d53504a)
      • Allow the -n argument as no-op to make them more compatible. (8959b21)
      • Add gix clean --patterns-for-entries|-m to help with wildcards. (9863d75)
      • Merge branch 'tabled' (ed79aa7)
      • Refactor (e25d7eb)
      • Merge branch 'ein-completions' (cebeedf)
      • Fix clippy lints (454e6b9)
      • Add back line wrapping simplify Usage Variants (4ac597a)
      • Tell clap that ein is named ein (4fd6ab8)
      • Copy over code from gix to generate completions for ein as well (abe0043)
      • Fix indenting by removing formatting on the config str (c0c4d59)
      • Reserve 50 characters for the config name (cc8d008)
      • Bring back old implementation from https://github.com/Byron/gitoxide/commit/65e64964c7cd151e53e5a7d4b9ba8fabda1c0e16 this also removes terminal_size, although its not large (1ecc96d)
      • Remove tabled (fcd585b)
      • Merge branch 'dirwalk' (face359)
      • Basic gix clean (e8597f3)
      • Merge branch 'chunks_exact' (d4d478b)
      • Use chunks_exact where possible (2482023)
      • Merge pull request #1248 from joshtriplett/tyop (39f35da)
      • Typo fixes (3ef3bc2) </details>
    Open source →
    Release notes

    New Features (BREAKING)

    • <csr-id-b83ee366a3c65c717beb587ad809268f1c54b8ad/> Rename serde1 cargo feature to serde and use the weak-deps cargo capability. With it it's possible to not automatically declare all optional dependencies externally visible features, and thus re-use feature names that oterwise are also a crate name.

      Previously I thought that serde1 is for future-proofing and supporting multiple serde versions at the same time. However, it's most definitely a burden I wouldn't want anyway, so using serde seems to be the way to go into the future.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 13 commits contributed to the release over the course of 14 calendar days.
    • 31 days passed between releases.
    • 1 commit was understood as conventional.
    • 1 unique issue was worked on: #814

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 1 time to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #814
      • Rename serde1 cargo feature to serde and use the weak-deps cargo capability. (b83ee36)
    • Uncategorized
      • Release gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0 (d7173b2)
      • Release gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0 (e4df557)
      • Release gix-hash v0.11.1, gix-path v0.7.4, gix-glob v0.6.0, gix-attributes v0.11.0, gix-config-value v0.11.0, gix-fs v0.1.1, gix-tempfile v5.0.3, gix-utils v0.1.1, gix-lock v5.0.1, gix-object v0.29.1, gix-ref v0.28.0, gix-sec v0.7.0, gix-config v0.21.0, gix-prompt v0.4.0, gix-url v0.17.0, gix-credentials v0.13.0, gix-diff v0.29.0, gix-discover v0.17.0, gix-hashtable v0.2.0, gix-ignore v0.1.0, gix-bitmap v0.2.3, gix-traverse v0.25.0, gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0, safety bump 7 crates (91134a1)
      • Prepare changelogs prior to release (30a1a71)
      • Merge branch 'fix-823' (6ebd61e)
      • Thanks clippy (14e64e7)
      • Merge branch 'fix-819' (69faad0)
      • Adjust to improvements in gix-object (efeb29d)
      • Release gix-utils v0.1.0, gix-hash v0.11.0, gix-date v0.5.0, gix-features v0.29.0, gix-actor v0.20.0, gix-object v0.29.0, gix-archive v0.1.0, gix-fs v0.1.0, safety bump 25 crates (8dbd0a6)
      • Merge branch 'main' into dev (cdef398)
      • Rename the serde1 feature to serde (19338d9)
      • Release gix-hash v0.10.4, gix-hashtable v0.1.3 (b574a39) </details>
    Open source →
  50. 0.33.2 26 Mar 2023
    Release notes

    A maintenance release without any user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release.
    • 12 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-tempfile v5.0.2, gix-validate v0.7.4, gix-config v0.20.0, gix-prompt v0.3.3, gix-diff v0.28.1, gix-discover v0.16.1, gix-pack v0.33.2, gix-transport v0.29.1, gix-protocol v0.30.1, gix-revision v0.12.1, gix-worktree v0.15.1, gix v0.43.0, safety bump gix v0.43.0 (5dc1f9f)
      • Prepare changelogs prior to release (3016a28)
      • Finally fix typos detected by typos tool. (a69f873) </details>
    Open source →
  51. 0.33.1 14 Mar 2023
    Release notes

    A maintenance release without any user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 4 commits contributed to the release over the course of 3 calendar days.
    • 4 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-features v0.28.1, gix-tempfile v5.0.1, gix-ref v0.27.1, gix-pack v0.33.1, gix-packetline v0.15.0, gix-transport v0.29.0, gix-protocol v0.30.0, gix v0.42.0, safety bump 3 crates (c1f1bfb)
      • Prepare changelogs prior to release (c66e298)
      • Make fmt (3836cc0)
      • Merge branch 'fix-cred-helper' (01277a6) </details>
    Open source →
  52. 0.33.0 10 Mar 2023
    Release notes

    New Features

    • <csr-id-193ffcd9945891867a14aa5b6f87e27d3880b280/> Add rev parse --reference. It's similar to git rev-parse --symbolic-full-name.

    Bug Fixes (BREAKING)

    • <csr-id-59b8104a5320d946abc9f5736fa76696cef1459d/> mark gix::interrupt::init_handler() as unsafe The passed interrupt() argument will be called from a signal handler, so that needs to be documented and the call sites need to state that they fulfill the contract.

      Thanks to @Manishearth for pointing this out.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 7 commits contributed to the release over the course of 21 calendar days.
    • 23 days passed between releases.
    • 2 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge branch 'maintenance' (4454c9d)
      • Upgrade tabled and setup wordwrapping (a78caba)
      • Merge branch 'tracking-branch' (0fe20e8)
      • Add rev parse --reference. (193ffcd)
      • Merge branch 'main' into fix-1183 (1691ba6)
      • Merge branch 'push-yvzxzqrkkvry' (4917beb)
      • Mark gix::interrupt::init_handler() as unsafe (59b8104) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 2 commits contributed to the release.
    • 6 days passed between releases.
    • 0 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-tempfile v5.0.0, gix-lock v5.0.0, gix-ref v0.27.0, gix-config v0.19.0, gix-url v0.16.0, gix-credentials v0.12.0, gix-discover v0.16.0, gix-index v0.15.0, gix-pack v0.33.0, gix-odb v0.43.0, gix-transport v0.28.0, gix-protocol v0.29.0, gix-worktree v0.15.0, gix v0.41.0, safety bump 12 crates (29a0870)
      • Prepare changelogs prior to release (e06f5f5) </details>
    Open source →
  53. 0.32.0 04 Mar 2023
    Release notes

    New Features

    <csr-id-4aea9b097fb08e504cdfc4a7c3b7511a308dc074/> <csr-id-c6e83cf69f1a17e9ba3010bcce3a4ddd3305424c/> <csr-id-8f795e8abf706a24fe104500bf15efaa2bc07b15/> <csr-id-8dfbb4ba531d86894a59e2b85ec29cd3133c8c4d/> <csr-id-f9ae1bc6b514b6bbcda2c672f7b7ccbd999356a0/> <csr-id-886289f98003f935d774a40f6db746ae70649936/>

    • <csr-id-cf51a4de2d06eb28435ef8e386131710003b6928/> gix rev parse --format to provide different versions of the same content. This only applies to blobs, but allows to obtain different versions of the same blob like:

      • what's stored in Git
    • what would be checked out to the worktree
    • what would be diffed

    Bug Fixes

    • <csr-id-b2300782ad09f17730fe2a5ba4938517d4e7ec16/> in --trace mode, greatly increase message-buffer size. That way, it's much less likely that messages will get lost due to being overwritten before they can be displayed every 100ms or so.
    • <csr-id-eab22bd5d56bf91ee0edfc7156023c159c7f65f9/> set binary name for completions

    Bug Fixes (BREAKING)

    • <csr-id-2189cee47f99350b368390eaa2a01961bb77c250/> rename GITOXIDE_* environment variables to GIX_#

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 27 commits contributed to the release.
    • 54 days passed between releases.
    • 10 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge branch 'adjustments-for-cargo' (8156340)
      • Rename GITOXIDE_* environment variables to GIX_# (2189cee)
      • Merge branch 'gix-status' (5fdc9df)
      • gix rev parse --format to provide different versions of the same content. (cf51a4d)
      • J fmt (51c7abc)
      • Merge branch 'gix-status' (dfb3f18)
      • Adapt to changes in gix-diff (1706e23)
      • Add thediff::resource_cache() low-level utility for rapid in-memory diffing of combinations of resources. (4aea9b0)
      • Merge branch 'support_ssl_verify' (5ce9784)
      • In gix read http.sslVerify config value and pass it to gix-transport. (c6e83cf)
      • Merge branch 'check-cfg' (5a0d93e)
      • Remove dead code from non-existent "lean-cli" feature (be1fa2f)
      • Replace all docsrs config by the document-features feature (bb3224c)
      • Merge branch 'feat_basic_connectivity_check' (1f9aca5)
      • Flatten fsck connectivity into just fsck much like git fsck (7ab5c76)
      • Refactor (7a88b42)
      • Add basic connectivity check (8f795e8)
      • Merge branch 'fix-1096' (48ef17e)
      • Allow to print a tree without prettification, using --tree-style raw. (8dfbb4b)
      • Merge branch 'trace-packetlines' (e7de4c7)
      • Automatically enforce strict mode if -c options are given on the command-line. (f9ae1bc)
      • In --trace mode, greatly increase message-buffer size. (b230078)
      • Merge branch 'discover-split-worktree' (16170d9)
      • Add gix free discover to inform about repository discovery. (886289f)
      • Merge branch 'fix_completion-bin-name' (fb81093)
      • Refactor (7f2bc08)
      • Set binary name for completions (eab22bd) </details>
    Open source →
    Release notes

    Bug Fixes

    • <csr-id-ce182d6dae7e277d104893f0eec3285709946233/> don't over-estimate the number of objects to be received in the indexing phase. Previously, it would work with a number that is pessimistically duplicated as each object could in theory be a ref-delta, which then causes another base to be added to the stream, duplicating the amount of objects we need to account for in the acceleration data structure, which unfortunatelly cannot actually grow dynamically without violating invariants.

      Now we simply don't try to estimata the number of ref-deltas (which don't exist here anymore) at this stage.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 3 commits contributed to the release.
    • 3 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-features v0.28.0, gix-actor v0.19.0, gix-object v0.28.0, gix-diff v0.28.0, gix-traverse v0.24.0, gix-pack v0.32.0, safety bump 20 crates (0f411e9)
      • Prepare changelogs prior to release of gix-pack (6db30ef)
      • Don't over-estimate the number of objects to be received in the indexing phase. (ce182d6) </details>
    Open source →
  54. 0.31.0 01 Mar 2023
    Release notes

    This release includes an overhaul of the url parsing implementation, allowing more urls to be parsed correctly and refining the error messages for invalid ones. Improvements include the added support for ssh aliases (github:byron/gitoxide has previously been parsed as local path), adjustments around the interpretation of colons in file names (previously we disallowed colons that were not followed up with a slash character) and some smaller changes that bring the interpretation of file urls more in line with Git's implementation.

    There are still many (edge) cases in Git's url parsing implementation which are not handled correctly by Gitoxide. If you notice any such deviation please open a new issue to help us making Gitoxide even more correct.

    New Features

    • <csr-id-70923a0fad3d409069bd9d0b492e6a9b7b113261/> add shell completions for bash
    • <csr-id-46e591914d548bacae2656ffe14a0ea7ca2eb7ae/> gix status auto-writes changed indices. This prevents expensive operations to re-occour.
    • <csr-id-7ba2fa1c7781230913b0a04ad8684fa7d0143c18/> gix status -s/--statistics to obtain additional information on what happened. This is useful for understanding performance characteristics in detail.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 8 commits contributed to the release over the course of 7 calendar days.
    • 18 days passed between releases.
    • 3 commits were understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Merge branch 'feat_completions' (681c607)
      • Refactor (fdd2df8)
      • User decides completion output (215c3ac)
      • Add shell completions for bash (70923a0)
      • Merge branch 'reset' (b842691)
      • Trust Ctime again (f929d42)
      • gix status auto-writes changed indices. (46e5919)
      • gix status -s/--statistics to obtain additional information on what happened. (7ba2fa1) </details>
    Open source →
    Release notes

    <csr-id-3ba25202240d13fdda998581297616afe06422ca/>

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 11 commits contributed to the release over the course of 2 calendar days.
    • 9 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-tempfile v4.1.0, gix-lock v4.0.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0, safety bump 6 crates (ea9fd1d)
      • Release gix-features v0.27.0, gix-actor v0.18.0, gix-quote v0.4.3, gix-attributes v0.9.0, gix-object v0.27.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0 (e6cc618)
      • Remove versions from dev-dependencies to workspace crates. (3cfbf89)
      • Adjust manifests prior to release (addd789)
      • Prepare changelogs prior to release (94c99c7)
      • Merge branch 'adjustments-for-cargo' (d686d94)
      • Remove dashmap in favor of own sharded concurrent hashmap. (3ba2520)
      • Adapt to changes in gix-tempfile (bfcd1e3)
      • Adapt to changes in gix-features (a0ed614)
      • Adjust to changes in gix-features, use process::count_with_decimals() (3968133)
      • Prepare for git-tempfile release (56c005b) </details>
    Open source →
  55. 0.30.3 20 Feb 2023
    Release notes

    Bug Fixes

    • <csr-id-135d317065aae87af302beb6c26bb6ca8e30b6aa/> compatibility with bstr v1.3, use *.as_bytes() instead of .as_ref(). as_ref() relies on a known target type which isn't always present. However, once there is only one implementation, that's no problem, but when that changes compilation fails due to ambiguity.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    • 2 commits contributed to the release.
    • 3 days passed between releases.
    • 1 commit was understood as conventional.
    • 0 issues like '(#ID)' were seen in commit messages

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • Uncategorized
      • Release gix-date v0.4.3, gix-hash v0.10.3, gix-features v0.26.5, gix-actor v0.17.2, gix-glob v0.5.5, gix-path v0.7.2, gix-quote v0.4.2, gix-attributes v0.8.3, gix-validate v0.7.3, gix-object v0.26.2, gix-ref v0.24.1, gix-config v0.16.2, gix-command v0.2.4, gix-url v0.13.3, gix-credentials v0.9.2, gix-discover v0.13.1, gix-index v0.12.4, gix-mailmap v0.9.3, gix-pack v0.30.3, gix-packetline v0.14.3, gix-transport v0.25.6, gix-protocol v0.26.4, gix-revision v0.10.4, gix-refspec v0.7.3, gix-worktree v0.12.3, gix v0.36.1 (9604783)
      • Compatibility with bstr v1.3, use *.as_bytes() instead of .as_ref(). (135d317) </details>
    Open source →
  56. 0.30.2 17 Feb 2023
    Release notes

    <csr-id-ebc7f47708a63c3df4415ba0e702660d976dfb3e/> <csr-id-2290d006705ff47ad780b009fe58ee422b3285af/> <csr-id-598698b88c194bc0e6ef69539f9fa7246ebfab70/> <csr-id-b46347fd3d50886eeca500e31e1e12b354711309/> <csr-id-591afd56d9862a6348ef8b3af61798004b36aa19/> <csr-id-2f2d856efe733d3cf81110c0e0607d2e7c40d968/> <csr-id-9b9f10ad862b5e097c836c51df1eb98607df5ae1/> <csr-id-e0b8636f96e4bfe1bc72b5aa6ad4c4c8538ff92c/> <csr-id-71c628d46088ab455b54eb2330d24dcff96c911d/> <csr-id-8fe461281842b58aa11437445637c6e587bedd63/> <csr-id-e6ff1a885889cf88f6b34b1193aa03d8bce16af5/> <csr-id-f48630ba8f745c2ec61a1e3c51fa63a1789a088c/> <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> <csr-id-25209454d3f7e27e12e8ddca92e43b1ff01d58aa/> <csr-id-c800fdd331e6d7a0b8d756ba822915259f26e9e8/>

    Bug Fixes (BREAKING)

    • <csr-id-5a75afe0467e4a84323ea10172eed835cc7fae4c/> Reading and writing empty packs is explicitly allowed. This can happen when sending packs that don't actually contain changes, but need to be sent to conform to the protocol.

    New Features (BREAKING)

    • <csr-id-6c4c196c9bc6c2171dc4dc58b69bd5ef53226e29/> add wasm feature toggle to let parts of git-pack build on wasm32. It's a breaking change because we also start using the dep: syntax for declaring references to optional dependencies, which will prevent them from being automatically available as features.

      Besides that, it adds the wasm feature toggle to allow compiling to wasm32 targets.

    • <csr-id-95210cb2ba85f75148b4ef48ccea9d9f8a0a0114/> Provide optional candidates for ambigious entries during lookup_prefix() The candidate entries are all entries matching a given prefix.

    Changed (BREAKING)

    • <csr-id-37f3a675d7fa931f5d3f38e91df74ec0b517422b/> move data::ResolveBase into data::decode_entry::; unify decode_entry|decode_header::Error into decode::Error.

    • <csr-id-99905bacace8aed42b16d43f0f04cae996cb971c/> upgrade bstr to 1.0.1

    • <csr-id-8c5ae77f06a64c57df9a9ad1190266896a223dbe/> Remove deprecated compound and linked object databases The dynamic/general store is the only maintained can-do-it-all DB now.

    • <csr-id-a79a7fb638b45df88af0d0d5fc9ada6d824bc328/> Improve method signatures of cache::Tree::*

    • <csr-id-91d047658b114f372735116c9d8e6962a3873137/> cleanup and unify verify_integrity() method signature Previously they used many different ways of handling their parameters despite all boiling down to calling the same 'index::File::traverse()` method.

      This allows for more reuse of Options structs and generally makes clearer how these optinos are used.

    • <csr-id-2cf7727228e1d8094ffd2eec6746006348c39eab/> index::File::traverse() now returns an Outcome struct instead of tuple of 3 fields

    • <csr-id-bf04644ab75ed1969507f957dc8d4868790d462d/> remove Option<impl Progress> in favor of impl Progress

    • <csr-id-6829e5e5d6aed1e6c87647144e2dd76a1e4b9f1f/> multi-index integrity check; use integrity::Outcome for various integrity checks

    • <csr-id-d851bede97801096d188ff6af06c98a79fe276db/> remove unnecessary Arc around should_interrupt flag

    • <csr-id-c2679a03358b9c19d63ed1af1cd57324c6381447/> remove Sha1 mentions in index::verify::Mode::* variants The hash is repository defined and not hard-coded

    • <csr-id-80b120d3278e46429f848df7af3db13413c36649/> introduce index::File::verify_integrity(…, pack: Option<PackContext>, …), replacing tuple This allows for more documentation on what input is required there and generally makes for an easier to use API.

    • <csr-id-79dc0d5ba6fa31ddd5c075693ffdc6496c1eaded/> rename oid::try_from() to try_from_bytes(), add from_bytes_unchecked() This change was done in the name of consistency, as from_bytes() is used in many other git-* crates

    • <csr-id-2ef9a8424af51310db8c1e6df31dde9953ed3d21/> Change accessors named hash_kind() to object_hash() for consistency

    • <csr-id-b76f6be6c5baa6cf613a174241f007e92bf5ba36/> consistently use object_hash instead of hash_kind

    • <csr-id-629412b4cb192614b7eff08dbf203e3448c902c1/> data::Entry::from_read() now takes a hash lengths as parameter That way ref-deltas can be interepreted without hard-coding SHA1

    • <csr-id-851dc2c52fa8e204ba2d5ced8fb0959a889869d8/> data::Entry::from_bytes(…, hash_len) takes new parameter The hash-len tells it how to interpret ref-delta objects, which store the complete hash of the base object.

      This is now entirely configurable.

    • <csr-id-db8c8c41b4ced0fc296d3877883d801e77d550ae/> index::File::at() with git_hash::Kind parameter It will allow to assume different hashes even in the index file format which isn't yet capable of storing this information.

    • <csr-id-e6a3c9f72332b524b143bc94ee9df0a6db11e864/> data::File::at() and Bundle::at() now have hash_kind parameter It's used to configure the kind of hash to assume when reading packs and indices.

    • <csr-id-82b9b33bd5f4c3c1721a5093de2cedc62cb10565/> move bundle::Location to data::entry::Location The latter place best describes its purpose.

    • <csr-id-3f05fea55dc8acce1ed62ecbe4e0a1394f2720b7/> remove make_object_cache parameter from git_pack::data::output::count::objects() It now is an implementation detail of the Find trait.

    • <csr-id-e7526b2a7b51cbac4018e1ab3b623a85987fadc2/> parallel utilities now use Send + Clone insted of Send + Sync This helps to assure that thread-local computations always work with the kind of types we provide. The ones that are carrying out actions are notably not Sync anymore.

      We cater to that by defining our bounds accordingly, but for those who want to use other utilities that need Sync, using types like Repository and thread_local!() is the only way to make this work.

    • <csr-id-e8b091943f0c9a26317da0003f7fcdf5a56ef21a/> Rename gix->ein and gixp->gix

    Performance

    • <csr-id-f9232acf8e52f8cd95520d122469e136eb07b39f/> ObjectID specific hashers, using the fact that object ids are hashes

    Bug Fixes

    • <csr-id-ec58bef84d620360dc52e34e173ace1310f74c85/> reduce memory usage for pack resolution by 18%… …compared to where it started out before.

      This is the result of using u32 intead of usize where possible, leveraging the object limit of u32 in packs.

      This change makes the biggest difference by not keeping the decompressed memory of leaf nodes alive for longer than needed, at the cost of some code duplication which could be extracted into a function if one was inclined to deal with the boilerplate and lots of generics.

    • <csr-id-49d168a8859c6b5a9e7ef58cd836093212c2c7ad/> Allow verification of empty packs and indices. Empty packs are fine, even though the implementation should probably assure to not write them, or remove them after having been written.

    • <csr-id-a745512185fb0a46e35daaa6d28829aec05edb55/> increase pack-receive performance using a BufWriter Previously the NamedTempFile would receive every little write request for millions of objects, consuming considerable amounts of time.

      Now a buf writer alleviates this issue entirely.

    • <csr-id-0b6ed60f842f0a36f61f187651080540a358758e/> bundle::write::Error is now publicly available

    • <csr-id-d9451e8d7fc39c252042f9d2447061262c16ae7a/> downgrade dashmap to 4.0 to avoid unsoundness. See https://github.com/xacrimon/dashmap/issues/167 for tracking progress on resolving the issue.

    • <csr-id-42e0487286c1f745837c0ce337ed7c9d86b14516/> support Rust 1.52

    • <csr-id-84ade1d23060f10bf6c8529f8f693d06660b4f4e/> Allow resolution of in-pack ref-deltas This finally allows delta tree caches to be used on typical small packs returned by GitHub.

    • <csr-id-ba92cc09ba41fe4c9a9097bfeb8d18016408fcdf/> don't try to short-cut detection of large offsets when writing index files The code incorrectly assumed that the input is sorted by offsets, with the largest offset being last, even though by all means that's not the case.

    • <csr-id-6d3f52dc13d7243a6bce6dab89a985114a75d94b/> Avoid the dashmap being cloned for each thread Intead, share it by reference, it's sync after all.

      This issue was introduced when switching to a Send + Clone model, instead of Send + Sync, to allow thread-local caches in database handles of all kinds.

    • <csr-id-b605c1fa0494b10872d3c2e6ecce0e39f1a90a9e/> linked::Store now assures unique IDs across compound stores

    • <csr-id-20b3994206aa5bc5e35cbbc9c8f8f99187077f79/> Adjust size-hints of resolving entries iterator and use the upper bound in delta tree The delta-tree is a data structure that actually heavily relies on favorable allocation and a known amount of objects in order to provide front and back buffers. However, this is an implementation detail and they don't have to stay consistent at all especially after growing the buffer by pushing to it.

      Interestingly, the VecDeque internally over-allocates as well which definitely helps the example of as_mut_slices(), otherwise it could also suffer from the assertions that trigger here.

    • <csr-id-d8fe8141e80a9e9a433b5e1a072b850325c806c8/> don't put more objects into the pack cache than needed Previously when accessing a packed object, it would store the base object into the pack cache (if it wasn't retrieved from there) which is great if that operation is free.

      Since it isn't, it's better not to stress the cache with puts and trash more objects than necessary.

      Now only the last decompressed object will be put into the LRU cache.

    • <csr-id-faf6f813927720c5adf62102f9ce46606ff2617c/> don't include submodules in count… …to avoid dealing with missing objects.

      It's still a good idea to handle these gracefully though, git itself seems to ignore them.

    Documentation

    • <csr-id-39ed9eda62b7718d5109135e5ad406fb1fe2978c/> fix typos

    New Features

    • <csr-id-d792ea543246632bf1ca8d0e1d239bbe7f07e219/> use enumerations to advertise progress ids publicly. Previously these were an implementation detail which also means they couldn't be relied upon.

      Thanks to an intermediate enumeration, they become part of the public API and their actual value is not exposed.

    • <csr-id-f0e40ecddaf1211f76ed60ef30cf03dcfd53a7ab/> add wasm feature toggle to allow compilation to wasm32-unknown-unknown

    • <csr-id-a85dcddba29a453bbea87ac865b8aedc97f41aed/> add data::File::resolve_header() to obtain object information without decompressing it.

    • <csr-id-c8835c6edae784c9ffcb69a674c0a6545dbb2af3/> upgrade to prodash 21.1 and add Ids to all progress instances. That way callers can identify progress they are interested in, say, for selective visualizations.

    • <csr-id-450257eb596465352fb363a5c8c514f544e7f9ac/> Bundle::write… also produces a .keep file These files are placed before moving the coresponding pack and index files into place to prevent them from being picked up for collection while their refs are still being placed.

      The caller is responsible for deleting them once refs integrate the contained objects into the commit graph.

    • <csr-id-6836cb148cbadf919bdac2e0e77bdec34caa9307/> more efficient distribution of tasks to threads during pack resolution. This clearly is a peak-performance optimization as it will now efficiently distribut tree-root nodes to threads one at a time by means of shared memory, which is accessed mutably yet safely.

      This change can also further reduce peak memory usage as it will not keep buffers of more resolved deltas then necessary, as it only handles one at a time per thread.

    • <csr-id-b1c40b0364ef092cd52d03b34f491b254816b18d/> use docsrs feature in code to show what is feature-gated automatically on docs.rs

    • <csr-id-517677147f1c17304c62cf97a1dd09f232ebf5db/> pass --cfg docsrs when compiling for https://docs.rs

    • <csr-id-503b1a1f8d4f39b44c166209d7a8ba8d74137859/> index::File::lookup_prefix(…)

    • <csr-id-cb83beedd1aa389f6774e2296f79273e8c8f14f4/> git-hash::Prefix::from_id() A way to obtain a prefix of an object id, with all non-prefix bytes set to zero.

    • <csr-id-16208306ab49ade30d8ffd6b067ebd8eefd84cd4/> in-manifest and in-lib documentation of feature toggles

    • <csr-id-b80dec2323b81fb2172df76c7d897a4b5e6bdfea/> zero-objects check for index and multi-index integrity validation

    • <csr-id-56fc99fb9c1cab61abd03c10e1b4af0d6e491bbf/> support for fan-checking in index and multi-index integrity verification

    • <csr-id-28e3ea8612112f6a04cfaff591565eca5a1ffba2/> introduce type for entry indices within an index or multi-index That way it's a littl emore descriptive than a bare u32.

    • <csr-id-58c2edb76755ab71e10eef4cd9a51533825c291f/> git_pack::Find::try_find_cached(…, pack_cache) With this method it's easier to bypass local caches and control the cache oneself entirely.

    • <csr-id-e25f4eadec679406aad6df10026e27e4832c2482/> A simplified version of the Find trait It's meant for the next generation of object db handles which keep a local cache of all the details of the actual object database.

    • <csr-id-60c9fad8002b4e3f6b9607bba6361871752f4d3d/> control pack and object cache size in megabytes

    • <csr-id-50cf610e8939812c3d2268c48835e2dac67d0c31/> cache::Object trait for caching and retrieving whole objects

    • <csr-id-5a8c2da6cb1e2accf7cfdccc16bc3a1d0b2a7dbc/> object cache size is configurable

    • <csr-id-d6c44e6ab8f436020d4fb235e423b018fd1e7a9f/> dynamically sized full-object speeds up diff-based object counting… …which is what happens when counting objects for fetches where only changed objects should be sent.

    Commit Statistics

    <csr-read-only-do-not-edit/>

    Thanks Clippy

    <csr-read-only-do-not-edit/>

    Clippy helped 26 times to make code idiomatic.

    Commit Details

    <csr-read-only-do-not-edit/>

    <details><summary>view details</summary>

    • #164
      • Avoid duplicate module paths in 'tree' and 'commit' (2f2d856)
    • #198
      • Fix stop-release-for-changelog logic and fix all affected changelogs (52b38bc)
      • Deduplicate conventional message ids (e695eda)
      • Regenerate all changelogs to get links (0c81769)
      • Mention actual issues that where worked on (a517e39)
      • Allow 'refactor' and 'other' in conventional messages if they have breaking changes (4eebaac)
      • Rebuild all changelogs to assure properly ordered headlines (4a9a05f)
      • Sort all commits by time, descending… (f536bad)
      • Greatly reduce changelog size now that the traversal fix is applied (a0bc98c)
      • Don't put more objects into the pack cache than needed (d8fe814)
      • Fixup remaining changelogs… (2f75db2)
      • Generate changelogs with details (e1861ca)
      • Update all changelogs with details (58ab2ae)
      • Update changelogs (c857d61)
      • Avoid adding newlines which make writing unstable (6b5c394)
      • Fix section headline level (9d6f263)
      • Write first version of changlogs thus far… (719b6bd)
      • Parse more user generated section content, adapt existing changelogs to work correctly (2f43a54)
    • #222
      • Update changelogs prior to release (9a493d0)
      • Stabilize changelogs (920e832)
      • Update changelogs prior to release (b3e2252)
    • #247
      • Rename gix->ein and gixp->gix (e8b0919)
    • #250
      • Address FIXME related to git_pack::data::Object (96386fd)
      • Move loose header manipulation from git-pack to git-object (598698b)
    • #254
      • Adjust changelogs prior to git-pack release (6776a3f)
      • Minor refactor (227c8b1)
      • Adjust size-hints of resolving entries iterator and use the upper bound in delta tree (20b3994)
    • #259
      • Sketch a little more how packs could be accessed (3fce8f2)
      • Unify trait bounds for parallel code: prefer Clone over Sync (c805d0b)
      • Remove trait bounds to allow single-threaded applications to exist (3c790e0)
      • Turns out the new PolicyStore can co-exist with existing one… (5e9250f)
    • #260
      • Linked::Store now assures unique IDs across compound stores (b605c1f)
    • #263
      • Fmt (fbeddeb)
      • Parallel utilities now use Send + Clone insted of Send + Sync (e7526b2)
      • A mad attempt to use thread-local everywhere and avoid Sync… (0af5077)
    • #266
      • Remove unused dependencies (c800fdd)
      • Upgrade dashmap to latest version (52d4fe5)
      • Refactor (b88f253)
      • Refactor (52a4dcd)
      • Make single-threaded programs possible to use with git-repository (dde5c6b)
      • Use new odb in place of the old one and it works (8ad25c5)
      • Make find::Entry self-contained (ad36fb9)
      • Remove iterator access in favor of fully owned data (62d3f10)
      • Remove CRC32 check entirely as it doesn't seem to be important in the big picture (22d35bd)
      • Notes about multi-pack indices in the current data::entry::location (7eff6bf)
      • Move bundle::Location to data::entry::Location (82b9b33)
      • Use existing git_features facilities (ed0c266)
      • Adjust pack-create to changes in git-pack (12db899)
      • Remove make_object_cache parameter from git_pack::data::output::count::objects() (3f05fea)
      • :Find implementation for Rc (f48630b)
      • MultiPackIndex compatible pack::Find trait definition (5fa1a9d)
      • Git_pack::Find::try_find_cached(…, pack_cache) (58c2edb)
      • Refactor (3310d8f)
      • Remove pack-cache from Find::try_find(…) (ebc7f47)
      • Fix docs (1bb4253)
      • Move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00)
      • A simplified version of the Find trait (e25f4ea)
      • Add 'contains()' method to Find (dfdd6fb)
    • #279
      • Add a less thorough and faster way of verifying multi-indices (7517482)
      • Refactor (91e6d38)
      • Allow interrupting multi-index creation more often (f223ecb)
      • Also test pack-creation with multi-index repo (235a27a)
      • Better multi-pack verification progress (2e16f13)
      • Handle large multi-pack indices correctly (4f6b030)
      • Fix progress and handling of large of multi-pack index offsets (5dc1f81)
      • Add missing docs (4137327)
      • Write progress for multi-pack writing (1bea1d4)
      • Adapt to changes in git-features (542c0df)
      • Progress for chunk writing (50fde01)
      • Multi-pack index writing complete with large-offset support (f7d5c7f)
      • Write pack-ids and offsets (bfc8069)
      • Add chunk for oids (565a7ae)
      • Write the fanout table (6a68ed7)
      • Refactor (93dc660)
      • Write multi-index header along with path-names chunk (2fc6751)
      • Sketch all the chunk-write API and use it from multi-index write (5457761)
      • Add frame for writing a multi-pack index (9ce1e7f)
      • index::File::traverse() now returns an Outcome struct instead of tuple of 3 fields (2cf7727)
      • Refactor (c361ee3)
      • Multi-index verification now matches that of git itself (3a76a28)
      • Zero-objects check for index and multi-index integrity validation (b80dec2)
      • Support for fan-checking in index and multi-index integrity verification (56fc99f)
      • More detailed multi-index verification (8f9a55b)
      • Even nicer printing (d2bea27)
      • Nicer printing of index verification results (e3dfa12)
      • Very first experimental support for multi-pack index verification (bb35c69)
      • Remove Option<impl Progress> in favor of impl Progress (bf04644)
      • Multi-index integrity check; use integrity::Outcome for various integrity checks (6829e5e)
      • Remove unnecessary Arc around should_interrupt flag (d851bed)
      • Remove Sha1 mentions in index::verify::Mode::* variants (c2679a0)
      • Introduce index::File::verify_integrity(…, pack: Option<PackContext>, …), replacing tuple (80b120d)
      • Multi-index verify checksum (853d468)
      • Fix docs (ce044ef)
      • Introduce type for entry indices within an index or multi-index (28e3ea8)
      • Replace bare u32 data::Id typedef (e0b8636)
      • Adjust to changes in git-odb (710780c)
      • Add remaining docs for multi-index (10a24c1)
      • Docs for multi_index::chunk (73fbc91)
      • Refactor (eafdff4)
      • Multi-index iteration (1c99903)
      • Access pack-indices and pack-offsets of multi-pack indices (c2a6918)
      • Oid lookup for multi-pack indices (254f618)
      • Add basic oid by multi-index file index (a54f552)
      • Rename oid::try_from() to try_from_bytes(), add from_bytes_unchecked() (79dc0d5)
      • Change accessors named hash_kind() to object_hash() for consistency (2ef9a84)
      • Adapt to changes in git-hash (754a663)
      • Remove unnecessary Default implementation for user of Tree::traverse (9da20e9)
      • Remove unnecessary Default bound for data in Tree nodes (d548f72)
      • Adjust to changes in git-hash (9bf25cc)
      • Consistently use object_hash instead of hash_kind (b76f6be)
      • Adjust to changes in git-hash (ca35246)
      • Adjust to changes in git-hash and git-pack (0cae25b)
      • Data::Entry::from_read() now takes a hash lengths as parameter (629412b)
      • Data::Entry::from_bytes(…, hash_len) takes new parameter (851dc2c)
      • Refactor (7331e99)
      • Adjust to changes in git-hash (07aa1bc)
      • :File uses its hash_len parameter (e6ff1a8)
      • index::File::at() with git_hash::Kind parameter (db8c8c4)
      • data::File::at() and Bundle::at() now have hash_kind parameter (e6a3c9f)
      • Remove unnecessary dev-depednency (b71ea6a)
      • Adapt to changes in git-hash (82fec95)
      • Calculate trailer offset instead of storing it (bf62067)
      • Make pessimistic size-estimation instead of an optimistic one (69f1d2a)
      • Refactor (8b8b4c5)
      • Refactor (8c9c7fc)
      • Adapt to changes in git-chunk (44ea5c3)
      • Refactor (ac46765)
      • Adapt to latest changes to git-chunk (743d696)
      • Provide multi-index checksum (a363de9)
      • Update changelog prior to release (6ae49e3)
      • Completely validate and parse multi-index file (e7e40c3)
      • Read and validate index names contained in the multi-pack index (24a9790)
      • Read and validate fanout chunk (3ca04e3)
      • Read all mandatory and optional chunks (99023bb)
      • Load chunk index of midx file (fac8efa)
      • Frame for git-chunk crate to share among git-pack and git-commitgraph (b2d2ae2)
      • Basic midx header parsing (edf02ae)
      • First pieces of header parsing; allow to respect multi-index desired hash kind in git-odb (1a2a049)
      • Frame for instantiation of multi-pack-index (5e085ec)
    • #287
      • Way nicer progress messages for repo verification (4b4f9f8)
      • Upgrade to prodash 17 (47860b7)
      • Refactor (831397c)
      • Allow resolution of in-pack ref-deltas (84ade1d)
      • Refactor (38426a1)
      • Test to reproduce ref-delta forward references and the issue it poses for index traversal (7db7195)
      • Very rough version of repository verification (80a4a7a)
      • Refactor (6c06659)
      • Improve method signatures of cache::Tree::* (a79a7fb)
      • Cleanup and unify verify_integrity() method signature (91d0476)
    • #293
      • Fix docs, again (7b2ab26)
      • Fix build (e3977fe)
      • Use InOrderIter from git-features (7721b5f)
      • Basic IEOT parsing (35bdee4)
      • Assure we are right about the leb64 buffer needed for a 64 bit int (7558844)
      • Adapt to changes in git-features: use var-int decoding from there (52e3c6f)
      • Remove byteorder from git-pack (4122306)
      • Git-pack uses memmap2 instead of filebuffer (d9011c7)
    • #298
      • Restrict signature changes to 'Ancestores::sorting() ([d71bd9d`](https://github.com/GitoxideLabs/gitoxide/commit/d71bd9ded1e5e5a61a27be3d55f4b85ee4049bcf))
      • Adjust to changes in git-traverse (8240622)
      • index::File::lookup_prefix(…) (503b1a1)
      • Support MSRV (d09fd9b)
      • Add documentation for lookup_prefix along with missing test (927b2ac)
      • Lookup_prefix() seems to work now (b558f11)
      • A stab at implementing lookup_prefix - to no avail (69cb6d1)
      • Refactor (cff6f9f)
      • Refactor (5bc548e)
      • Prefix now validates all constraints and errors on violation (75efa79)
      • Git-hash::Prefix::from_id() (cb83bee)
      • Sketch for abbreviated method lookup (467453a)
      • Use hash_hasher based hash state for better keys/less collisions (814de07)
      • Upgrade parking_lot and cargo_toml (f95c1a0)
    • #301
      • Update changelogs prior to release (84cb256)
      • Adapt to changes in git-path (cc2d810)
      • Use git-path crate instead of git_features::path (47e607d)
      • Salvage an alternative parallelization approach which might be good for index-creation (7e76796)
      • Refactor (f86eacc)
      • Switch index checkout to chunk-based operation (e5f6943)
    • #329
      • In-manifest and in-lib documentation of feature toggles (1620830)
      • Document all features related to serde1 (72b97f2)
    • #331
      • Adapt to changes in git_features::path to deal with Result (bba4c68)
    • #333
      • Use git_features::path everywhere where there is a path conversion (2e1437c)
      • Gitoxide-core without os-str-bytes (909aa14)
      • Remove os_str_bytes from git-pack (86f6e50)
    • #364
      • Add some precaution to avoid strange interactions with packs (b052a9a)
      • Fix build (9c8e449)
    • #384
      • Prevent line-ending conversions for shell scripts on windows (96bb4d4)
      • No need to isolate archives by crate name (19d46f3)
      • Add archive files via git-lfs (7202a1c)
      • Auto-set commit.gpgsign=false when executing git (c23feb6)
    • #422
    • #427
      • Make fmt (4b320e7)
      • Refactor (c28404b)
      • Assure index ambiguous object range can represent 'none found' (5ffe54f)
      • Avoid allocating index entries in case of ambiguity by using a range (4db4754)
      • Fix build (8a63076)
      • More efficient and clear addition of entries to candidates (a76a0e1)
      • Properly order ambiguous entries, ascending (0340896)
      • Provide optional candidates for ambigious entries during lookup_prefix() (95210cb)
      • Refactor (a2f9fa4)
    • #450
      • Less noisy way of writing trait bounds (b593806)
      • Upgrade to prodash v21 (a0655dc)
      • Prefix created pack files with pack- (e489b10)
      • Increase pack-receive performance using a BufWriter (a745512)
      • index::write::Outcome::index_kind -> ::index_version. (b46347f)
      • Add test to show that empty packs won't be written as expected behaviour. (72ce7fd)
      • bundle::write::Error is now publicly available (0b6ed60)
      • bundle::write::Options::index_kind -> ::index_version. (591afd5)
      • Upgrade bstr to 1.0.1 (99905ba)
    • #470
      • Update changelogs prior to release (caa7a1b)
    • #67
      • Use an even faster way of counting (3877920)
      • Avoid the dashmap being cloned for each thread (6d3f52d)
      • Properly count total objects during pack creation (bcb3d37)
      • ObjectID specific hashers, using the fact that object ids are hashes (f9232ac)
      • Use a custom hasher for 'seen' objects hashset… (70179e2)
      • Don't include submodules in count… (faf6f81)
      • Control pack and object cache size in megabytes (60c9fad)
      • Use 'cache::Object' trait where it matters (71c628d)
      • Split data::output::count::objects into files (8fe4612)
      • Cache::Object trait for caching and retrieving whole objects (50cf610)
      • Object cache size is configurable (5a8c2da)
      • Dynamically sized full-object speeds up diff-based object counting… (d6c44e6)
      • Count ref-deltas in thin packs as well (80c6994)
      • Add '--thin' flag to pack-create and pass it on (2664d73)
    • #691
      • Set rust-version to 1.64 (55066ce)
    • #XXX
      • Prepare changelogs prior to release (8c0bca3)
    • Uncategorized
      • Release gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (59e9fac)
      • Release gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (48f5bd2)
      • Release gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (a5869e0)
      • Release gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (41d57b9)
      • Release gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (e313112)
      • Release gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (6efd0d3)
      • Release gix-date v0.4.2, gix-hash v0.10.2, gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (6ccc88a)
      • Merge branch 'rename-crates' into inform-about-gix-rename (c9275b9)
      • Rename git-testtools to gix-testtools (b65c33d)
      • Adjust to renaming of git-pack to gix-pack (1ee81ad)
      • Rename git-pack to gix-pack (134d70d)
      • Adjust to renaming of git-odb to gix-odb (476e2ad)
      • Adjust to renaming of git-index to gix-index (86db5e0)
      • Adjust to renaming of git-diff to gix-diff (49a163e)
      • Adjust to renaming of git-commitgraph to gix-commitgraph (f1dd0a3)
      • Adjust to renaming of git-mailmap to gix-mailmap (2e28c56)
      • Adjust to renaming of git-discover to gix-discover (53adfe1)
      • Adjust to renaming of git-lfs to gix-lfs (b9225c8)
      • Adjust to renaming of git-chunk to gix-chunk (59194e3)
      • Adjust to renaming of git-bitmap to gix-bitmap (75f2a07)
      • Adjust to renaming for git-protocol to gix-protocol (823795a)
      • Adjust to renaming of git-refspec to gix-refspec (c958802)
      • Adjust to renaming of git-revision to gix-revision (ee0ee84)
      • Adjust to renaming of git-transport to gix-transport (b2ccf71)
      • Adjust to renaming of git-credentials to gix-credentials (6b18abc)
      • Adjust to renaming of git-prompt to gix-prompt (6a4654e)
      • Adjust to renaming of git-command to gix-command (d26b8e0)
      • Adjust to renaming of git-packetline to gix-packetline (5cbd22c)
      • Adjust to renaming of git-worktree to gix-worktree (73a1282)
      • Adjust to renamining of git-hashtable to gix-hashtable (26a0c98)
      • Adjust to renamining of git-worktree to gix-worktree (108bb1a)
      • Adjust to renaming of git-url to `gi
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive