Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.44.0 (2023-10-12)

A maintenance release without user-facing changes.

Commit Statistics

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

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • Uncategorized

0.43.0 (2023-09-24)

A maintenance release without user-facing changes.

Commit Statistics

  • 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

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

0.42.0 (2023-09-08)

New Features

  • 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

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

Chore (BREAKING)

  • update to the latest prodash It makes proper usage of Progress types easier and allows them to be used as dyn traits as well.

New Features (BREAKING)

  • use prodash::Count to indicate that nothing more than counting is performed, in place of prodash::Progress

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

  • use dyn trait where possible. This reduces compile time due to avoiding duplication.

Commit Statistics

  • 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

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

0.41.0 (2023-08-22)

Chore

  • split tests off into their own crate to allow feature toggles. That way we can test with the parallel feature and won't have to create bogus feature toggles that are only used for testing, yet visbible to users.

Commit Statistics

  • 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

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

0.40.2 (2023-07-24)

A maintenance release without user-facing changes.

Commit Statistics

  • 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

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

0.40.1 (2023-07-22)

A maintenance release without user-facing changes.

Commit Statistics

  • 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

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

0.40.0 (2023-07-19)

A maintenance release without user-facing changes.

Commit Statistics

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

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

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

0.39.1 (2023-06-29)

A maintenance release without user-facing changes.

Commit Statistics

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

Commit Details

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

0.39.0 (2023-06-29)

A maintenance release without user-facing changes.

Commit Statistics

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

Commit Details

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

0.38.0 (2023-06-22)

Chore

  • Add clippy::redundant-closure-for-method-calls lint

New Features

  • provide basic tracing spans for common operations. This is just the beginning and more crates will integrate with it over time.

Bug Fixes

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

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

  • ScopedJoinHandle is not always available

Commit Statistics

  • 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

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

0.37.0 (2023-06-10)

A maintenance release without user-facing changes.

Commit Statistics

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

Commit Details

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

0.36.0 (2023-06-06)

New Features

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

  • 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

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

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

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

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

  • 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

  • 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

Clippy helped 1 time to make code idiomatic.

Commit Details

  • #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)

0.35.0 (2023-04-27)

A maintenance release without user-facing changes.

Commit Statistics

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

Commit Details

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

0.34.0 (2023-04-26)

New Features (BREAKING)

  • 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

  • 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

Clippy helped 1 time to make code idiomatic.

Commit Details

  • #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)

0.33.2 (2023-03-26)

A maintenance release without any user-facing changes.

Commit Statistics

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

Commit Details

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

0.33.1 (2023-03-14)

A maintenance release without any user-facing changes.

Commit Statistics

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

Commit Details

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

0.33.0 (2023-03-10)

A maintenance release without user-facing changes.

Commit Statistics

  • 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

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

0.32.0 (2023-03-04)

Bug Fixes

  • 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

  • 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

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

0.31.0 (2023-03-01)

Chore

  • remove dashmap in favor of own sharded concurrent hashmap. This speeds up multi-threaded counting greatly, and despite it using shared memory which makes it quite wasteful, it is possible to outperform git with it if enough cores are thrown at the problem.

    Single-threaded performance is still lacking though, ultimately it needs caches to accelerate the counting stage to hopefully be competitive.

New Features

  • add wasm feature toggle to allow compilation to wasm32-unknown-unknown

  • remove dashmap in favor of own sharded concurrent hashmap. This speeds up multi-threaded counting greatly, and despite it using shared memory which makes it quite wasteful, it is possible to outperform git with it if enough cores are thrown at the problem.

    Single-threaded performance is still lacking though, ultimately it needs caches to accelerate the counting stage to hopefully be competitive.

Bug Fixes

  • note that crates have been renamed from git-* to gix-*. This also means that the git-* prefixed crates of the gitoxide project are effectively unmaintained. Use the crates with the gix-* prefix instead.

    If you were using git-repository, then gix is its substitute.

New Features (BREAKING)

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

Commit Statistics

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

Commit Details

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

0.30.3 (2023-02-20)

Bug Fixes

  • 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

  • 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

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

0.30.2 (2023-02-17)

Refactor (BREAKING)

  • remove pack-cache from Find::try_find(…) With the new architecture this can be an implementation detail without forcing it to be Sync.
  • move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases.
  • move loose header manipulation from git-pack to git-object

Other (BREAKING)

  • index::write::Outcome::index_kind -> ::index_version.
  • bundle::write::Options::index_kind -> ::index_version.
  • Avoid duplicate module paths in ‘tree’ and ‘commit’

Bug Fixes (BREAKING)

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

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

  • Provide optional candidates for ambigious entries during lookup_prefix() The candidate entries are all entries matching a given prefix.

Changed (BREAKING)

  • move data::ResolveBase into data::decode_entry::; unify decode_entry|decode_header::Error into decode::Error.

  • upgrade bstr to 1.0.1

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

  • Improve method signatures of cache::Tree::*

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

  • index::File::traverse() now returns an Outcome struct instead of tuple of 3 fields

  • remove Option<impl Progress> in favor of impl Progress

  • multi-index integrity check; use integrity::Outcome for various integrity checks

  • remove unnecessary Arc around should_interrupt flag

  • remove Sha1 mentions in index::verify::Mode::* variants The hash is repository defined and not hard-coded

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

  • 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

  • Change accessors named hash_kind() to object_hash() for consistency

  • consistently use object_hash instead of hash_kind

  • data::Entry::from_read() now takes a hash lengths as parameter That way ref-deltas can be interepreted without hard-coding SHA1

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

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

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

  • move bundle::Location to data::entry::Location The latter place best describes its purpose.

  • remove make_object_cache parameter from git_pack::data::output::count::objects() It now is an implementation detail of the Find trait.

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

  • Rename gix->ein and gixp->gix

Refactor

  • remove unnecessary unsafe by using chunks_mut() This was probably a left-over from times where there was a static requirement on the chunks processing. Maybe… .
  • replace bare u32 data::Id typedef
  • Use ‘cache::Object’ trait where it matters
  • split data::output::count::objects into files

Performance

  • ObjectID specific hashers, using the fact that object ids are hashes

Other

  • :File uses its hash_len parameter
  • :Find implementation for Rc

Bug Fixes

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

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

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

  • bundle::write::Error is now publicly available

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

  • support Rust 1.52

  • Allow resolution of in-pack ref-deltas This finally allows delta tree caches to be used on typical small packs returned by GitHub.

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

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

  • linked::Store now assures unique IDs across compound stores

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

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

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

Chore

  • uniformize deny attributes
  • upgrade dashmap to 5.1.0 (with security fix)
  • remove unused dependencies

Documentation

  • fix typos

New Features

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

  • add wasm feature toggle to allow compilation to wasm32-unknown-unknown

  • add data::File::resolve_header() to obtain object information without decompressing it.

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

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

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

  • use docsrs feature in code to show what is feature-gated automatically on docs.rs

  • pass --cfg docsrs when compiling for https://docs.rs

  • index::File::lookup_prefix(…)

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

  • in-manifest and in-lib documentation of feature toggles

  • zero-objects check for index and multi-index integrity validation

  • support for fan-checking in index and multi-index integrity verification

  • introduce type for entry indices within an index or multi-index That way it's a littl emore descriptive than a bare u32.

  • git_pack::Find::try_find_cached(…, pack_cache) With this method it's easier to bypass local caches and control the cache oneself entirely.

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

  • control pack and object cache size in megabytes

  • cache::Object trait for caching and retrieving whole objects

  • object cache size is configurable

  • 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

Thanks Clippy

Clippy helped 26 times to make code idiomatic.

Commit Details

  • #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
  • #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
  • #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 gix-url (b50817a)
    • Adjust to renaming of git-date to gix-date (9a79ff2)
    • Adjust to renamining of git-attributes to gix-attributes (4a8b3b8)
    • Adjust to renaminig of git-quote to gix-quote (648025b)
    • Adjust to renaming of git-config to gix-config (3a861c8)
    • Adjust to renaming of git-ref to gix-ref (1f5f695)
    • Adjust to renaming of git-lock to gix-lock (2028e78)
    • Adjust to renaming of git-tempfile to gix-tempfile (b6cc3eb)
    • Adjust to renaming of git-object to gix-object (fc86a1e)
    • Adjust to renaming of git-actor to gix-actor (4dc9b44)
    • Adjust to renaming of git-validate to gix-validate (5e40ad0)
    • Adjust to renaming of git-hash to gix-hash (4a9d025)
    • Adjust to renaming of git-features to gix-features (e2dd68a)
    • Adjust to renaming of git-glob to gix-glob (35b2a3a)
    • Adjust to renaming of git-sec to gix-sec (eabbb92)
    • Adapt to renaming of git-path to gix-path (d3bbcfc)
    • Adjust to rename of git-config-value to gix-config-value (622b3e1)
    • Merge branch ‘git-pack-wasm’ (4bc19d1)
    • Add wasm feature toggle to let parts of git-pack build on wasm32. (6c4c196)
    • Add wasm feature toggle to allow compilation to wasm32-unknown-unknown (f0e40ec)
    • Release git-features v0.26.4 (109f434)
    • Release git-features v0.26.3 (1ecfb7f)
    • Release git-date v0.4.2, git-hash v0.10.2, git-features v0.26.2, git-actor v0.17.1, git-glob v0.5.3, git-path v0.7.1, git-quote v0.4.1, git-attributes v0.8.2, git-config-value v0.10.1, git-tempfile v3.0.2, git-lock v3.0.2, git-validate v0.7.2, git-object v0.26.1, git-ref v0.24.0, git-sec v0.6.2, git-config v0.16.0, git-command v0.2.3, git-prompt v0.3.2, git-url v0.13.2, git-credentials v0.9.1, git-diff v0.26.1, git-discover v0.13.0, git-hashtable v0.1.1, git-bitmap v0.2.1, git-traverse v0.22.1, git-index v0.12.3, git-mailmap v0.9.2, git-chunk v0.4.1, git-pack v0.30.2, git-odb v0.40.2, git-packetline v0.14.2, git-transport v0.25.4, git-protocol v0.26.3, git-revision v0.10.2, git-refspec v0.7.2, git-worktree v0.12.2, git-repository v0.34.0, safety bump 3 crates (c196d20)
    • Prepare changelogs prior to release (7c846d2)
    • Merge branch ‘Lioness100/main’ (1e544e8)
    • Fix typos (39ed9ed)
    • Thanks clippy (bac57dd)
    • Make fmt (e22080e)
    • Merge branch ‘adjustments-for-cargo’ (7bba270)
    • Break cyclical dev dependencies (1fea18f)
    • Use enumerations to advertise progress ids publicly. (d792ea5)
    • Release git-date v0.4.1, git-features v0.26.1, git-glob v0.5.2, git-attributes v0.8.1, git-tempfile v3.0.1, git-ref v0.23.1, git-sec v0.6.1, git-config v0.15.1, git-prompt v0.3.1, git-url v0.13.1, git-discover v0.12.1, git-index v0.12.2, git-mailmap v0.9.1, git-pack v0.30.1, git-odb v0.40.1, git-transport v0.25.3, git-protocol v0.26.2, git-revision v0.10.1, git-refspec v0.7.1, git-worktree v0.12.1, git-repository v0.33.0 (5b5b380)
    • Prepare changelogs prior to release (93bef97)
    • Merge branch ‘patch-1’ (b93f0c4)
    • Thanks clippy (9e04685)
    • Release git-ref v0.23.0, git-config v0.15.0, git-command v0.2.2, git-diff v0.26.0, git-discover v0.12.0, git-mailmap v0.9.0, git-pack v0.30.0, git-odb v0.40.0, git-transport v0.25.2, git-protocol v0.26.1, git-revision v0.10.0, git-refspec v0.7.0, git-worktree v0.12.0, git-repository v0.32.0 (ffb5b6a)
    • Prepare changelogs prior to release (4381a03)
    • Release git-date v0.4.0, git-actor v0.17.0, git-object v0.26.0, git-traverse v0.22.0, git-index v0.12.0, safety bump 15 crates (0e3d0a5)
    • Release git-features v0.26.0, git-actor v0.16.0, git-attributes v0.8.0, git-object v0.25.0, git-ref v0.22.0, git-config v0.14.0, git-command v0.2.1, git-url v0.13.0, git-credentials v0.9.0, git-diff v0.25.0, git-discover v0.11.0, git-traverse v0.21.0, git-index v0.11.0, git-mailmap v0.8.0, git-pack v0.29.0, git-odb v0.39.0, git-transport v0.25.0, git-protocol v0.26.0, git-revision v0.9.0, git-refspec v0.6.0, git-worktree v0.11.0, git-repository v0.31.0, safety bump 24 crates (5ac9fbe)
    • Prepare changelogs prior to release (30d8ca1)
    • Make fmt (511ed00)
    • Release git-date v0.3.1, git-features v0.25.0, git-actor v0.15.0, git-glob v0.5.1, git-path v0.7.0, git-attributes v0.7.0, git-config-value v0.10.0, git-lock v3.0.1, git-validate v0.7.1, git-object v0.24.0, git-ref v0.21.0, git-sec v0.6.0, git-config v0.13.0, git-prompt v0.3.0, git-url v0.12.0, git-credentials v0.8.0, git-diff v0.24.0, git-discover v0.10.0, git-traverse v0.20.0, git-index v0.10.0, git-mailmap v0.7.0, git-pack v0.28.0, git-odb v0.38.0, git-packetline v0.14.1, git-transport v0.24.0, git-protocol v0.25.0, git-revision v0.8.0, git-refspec v0.5.0, git-worktree v0.10.0, git-repository v0.30.0, safety bump 26 crates (e6b9906)
    • Prepare chnagelogs prior to git-repository release (7114bbb)
    • Merge branch ‘odb-iteration’ (693a469)
    • Assure deltas are counted correctly, even if the base is out of pack. (ddaf47f)
    • Merge branch ‘read-header’ (3d01252)
    • Tweaks to immprove header decode performance (04df898)
    • Move data::ResolveBase into data::decode_entry::; unify decode_entry|decode_header::Error into decode::Error. (37f3a67)
    • Add data::File::resolve_header() to obtain object information without decompressing it. (a85dcdd)
    • Merge branch ‘main’ into read-split-index (c57bdde)
    • Merge branch ‘adjustments-for-cargo’ (083909b)
    • Thanks clippy (f1160fb)
    • Adjust to changes in git-testtools (4eb842c)
    • Merge branch ‘adjustments-for-cargo’ (70ccbb2)
    • Upgrade clru, remove it from git-repository dependencies (unused) (7e7547d)
    • Release git-hash v0.10.1, git-hashtable v0.1.0 (7717170)
    • Merge branch ‘main’ into http-config (6b9632e)
    • Merge branch ‘optimize_hashtables’ (95ad56c)
    • Use newly added git-hashtable (50cb436)
    • Switch to custom Hasher implementation (269d59e)
    • Release git-features v0.24.1, git-actor v0.14.1, git-index v0.9.1 (7893502)
    • Upgrade to prodash 21.1 and add Ids to all progress instances. (c8835c6)
    • Merge branch ‘main’ into http-config (bcd9654)
    • Release git-hash v0.10.0, git-features v0.24.0, git-date v0.3.0, git-actor v0.14.0, git-glob v0.5.0, git-path v0.6.0, git-quote v0.4.0, git-attributes v0.6.0, git-config-value v0.9.0, git-tempfile v3.0.0, git-lock v3.0.0, git-validate v0.7.0, git-object v0.23.0, git-ref v0.20.0, git-sec v0.5.0, git-config v0.12.0, git-command v0.2.0, git-prompt v0.2.0, git-url v0.11.0, git-credentials v0.7.0, git-diff v0.23.0, git-discover v0.9.0, git-bitmap v0.2.0, git-traverse v0.19.0, git-index v0.9.0, git-mailmap v0.6.0, git-chunk v0.4.0, git-pack v0.27.0, git-odb v0.37.0, git-packetline v0.14.0, git-transport v0.23.0, git-protocol v0.24.0, git-revision v0.7.0, git-refspec v0.4.0, git-worktree v0.9.0, git-repository v0.29.0, git-commitgraph v0.11.0, gitoxide-core v0.21.0, gitoxide v0.19.0, safety bump 28 crates (b2c301e)
    • Prepare changelogs prior to release (e4648f8)
    • Merge branch ‘main’ into http-config (7c5b37d)
    • Release git-diff v0.22.0, git-index v0.7.1, git-pack v0.26.0, git-odb v0.36.0, git-transport v0.21.2, git-repository v0.27.0, safety bump 6 crates (f0cab31)
    • Prepare changelogs prior to release (f5f3a9e)
    • Fix spelling where -> were (57355c7)
    • Release git-features v0.23.1, git-glob v0.4.1, git-config-value v0.8.1, git-tempfile v2.0.6, git-object v0.22.1, git-ref v0.18.0, git-sec v0.4.2, git-config v0.10.0, git-prompt v0.1.1, git-url v0.10.1, git-credentials v0.6.1, git-diff v0.21.0, git-discover v0.7.0, git-index v0.7.0, git-pack v0.25.0, git-odb v0.35.0, git-transport v0.21.1, git-protocol v0.22.0, git-refspec v0.3.1, git-worktree v0.7.0, git-repository v0.26.0, git-commitgraph v0.10.0, gitoxide-core v0.19.0, gitoxide v0.17.0, safety bump 9 crates (d071583)
    • Prepare changelogs prior to release (423af90)
    • Merge branch ‘main’ into write-sparse-index (c4e6849)
    • Merge branch ‘gix-clone’ (def53b3)
    • Merge branch ‘main’ into gix-clone (3b48317)
    • Thanks clippy (93e7691)
    • Bundle::write… also produces a .keep file (450257e)
    • Release git-hash v0.9.11, git-features v0.23.0, git-actor v0.13.0, git-attributes v0.5.0, git-object v0.22.0, git-ref v0.17.0, git-sec v0.4.1, git-config v0.9.0, git-url v0.10.0, git-credentials v0.6.0, git-diff v0.20.0, git-discover v0.6.0, git-traverse v0.18.0, git-index v0.6.0, git-mailmap v0.5.0, git-pack v0.24.0, git-odb v0.34.0, git-packetline v0.13.1, git-transport v0.21.0, git-protocol v0.21.0, git-revision v0.6.0, git-refspec v0.3.0, git-worktree v0.6.0, git-repository v0.25.0, safety bump 24 crates (104d922)
    • Prepare changelogs for release (d232567)
    • Merge branch ‘fix-smart-release’ (aa80b60)
    • Make fmt (7b9c065)
    • Merge branch ‘main’ into new-http-impl (702a161)
    • Merge branch ‘main’ into clone (acb0738)
    • Merge branch ‘delta-tree-parallelization’ (cca2ad5)
    • Don't enforce Send bounds in serial version of in_parallel_with_slice() (dda661e)
    • Thanks clippy (583f2ca)
    • More efficient distribution of tasks to threads during pack resolution. (6836cb1)
    • Refactor (0e2ca47)
    • Try to use counters directly in delta-tree resolution (c6ded26)
    • Reduce memory usage for pack resolution by 18%… (ec58bef)
    • Merge branch ‘reduce-pack-resolve-mem-consumption’ (a8ced57)
    • Minor refactor after trying more memory foot-print related changes (5852334)
    • Simplify size-related tests (fb2b2a8)
    • Cut the size of bytes needed to store children in half for a lower footprint (38c96f2)
    • Merge branch ‘crates-index-diff-fixes’ (b09bad7)
    • Thanks clippy (851bc79)
    • Allow verification of empty packs and indices. (49d168a)
    • Refactor (38a7452)
    • Reading and writing empty packs is explicitly allowed. (5a75afe)
    • Make fmt (53acf25)
    • Merge branch ‘fetch-pack’ (f47c891)
    • Merge branch ‘fetch-pack’ (3c49400)
    • Merge branch ‘fix-git-features’ (82fd251)
    • Merge branch ‘diff’ (25a7726)
    • Release git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0 (f5c36d8)
    • Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (29a043b)
    • Merge branch ‘filter-refs’ (fd14489)
    • Release git-features v0.22.6 (c9eda72)
    • Merge branch ‘filter-refs-by-spec’ (5c05198)
    • Merge branch ‘main’ into filter-refs-by-spec (9aa1d3d)
    • Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates (1d4600a)
    • Merge branch ‘main’ into filter-refs-by-spec (1f6e5ab)
    • Merge branch ‘fix-522’ (5869e9f)
    • Release git-hash v0.9.9 (da0716f)
    • Merge branch ‘main’ into index-from-tree (bc64b96)
    • Release git-path v0.4.2, git-config-value v0.7.0 (c48fb31)
    • Merge branch ‘main’ into filter-refs-by-spec (cef0b51)
    • Release git-object v0.20.3, git-ref v0.15.4, git-config v0.7.1, git-diff v0.18.0, git-traverse v0.16.3, git-pack v0.22.0, git-odb v0.32.0, git-url v0.7.3, git-transport v0.19.3, git-protocol v0.19.1, git-refspec v0.1.1, git-repository v0.23.0, safety bump 6 crates (85a3bed)
    • Adjust to changes in git-diff (54954ee)
    • Release git-features v0.22.3, git-revision v0.4.4 (c2660e2)
    • Merge branch ‘main’ into filter-refs-by-spec (cfa1440)
    • Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates (4974eca)
    • Release git-path v0.4.1 (5e82346)
    • Merge branch ‘main’ into remote-ls-refs (e2ee3de)
    • Merge branch ‘docsrs-show-features’ (31c2351)
    • Use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
    • Uniformize deny attributes (f7f136d)
    • Pass --cfg docsrs when compiling for https://docs.rs (5176771)
    • Merge branch ‘main’ into remote-ls-refs (bd5f3e8)
    • Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (c96473d)
    • Prepare changelogs prior to reelase (c06ae1c)
    • Release git-hash v0.9.7, git-features v0.22.1 (232784a)
    • Merge branch ‘main’ into write-index-v2 (a938986)
    • Merge branch ‘main’ into remote-ls-refs (de61c4d)
    • Thanks clippy (4bd747c)
    • Merge branch ‘rev-parse-delegate’ (2f506c7)
    • Merge pull request #2 from SidneyDouw/main (ce885ad)
    • Merge branch ‘Byron:main’ into main (9b9ea02)
    • Merge branch ‘main’ into rev-parse-delegate (6da8250)
    • Merge branch ‘main’ into pathspec (7b61506)
    • Merge branch ‘kianmeng-fix-typos’ (4e7b343)
    • Fix typos (e9fcb70)
    • Release git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 (aa639d8)
    • Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates (4737b1e)
    • Prepare changelog prior to release (3c50625)
    • Merge pull request #1 from Byron/main (085e76b)
    • Assure document-features are available in all ‘usable’ and ‘early’ crates (238581c)
    • Merge branch ‘main’ into pathspec (89ea12b)
    • Merge branch ‘main’ into cont_include_if (41ea8ba)
    • Release git-path v0.3.0, safety bump 14 crates (400c9be)
    • Release git-date v0.0.1, git-hash v0.9.5, git-features v0.21.1, git-actor v0.10.1, git-path v0.2.0, git-attributes v0.2.0, git-ref v0.14.0, git-sec v0.2.0, git-config v0.5.0, git-credentials v0.2.0, git-discover v0.2.0, git-pack v0.20.0, git-odb v0.30.0, git-url v0.6.0, git-transport v0.18.0, git-protocol v0.17.0, git-revision v0.2.1, git-worktree v0.3.0, git-repository v0.19.0, safety bump 13 crates (a417177)
    • Update changelogs prior to release (bb424f5)
    • Merge branch ‘main’ into SidneyDouw-pathspec (a22b1d8)
    • Release git-path v0.1.2, git-sec v0.1.1, git-config v0.4.0, git-discover v0.1.1, git-pack v0.19.1, git-repository v0.18.0, cargo-smart-release v0.10.0, safety bump 2 crates (ceb6dff)
    • Thanks clippy (409a95b)
    • Merge branch ‘davidkna-discover-ceiling’ (66944ba)
    • Thanks clippy (4979d20)
    • Merge branch ‘main’ into git_includeif (598c853)
    • Release git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0 (349c590)
    • Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates (654cf39)
    • Merge branch ‘refs-and-worktrees’ (8131227)
    • Cleanup (199583a)
    • Merge branch ‘main’ into msrv-for-windows (7cb1972)
    • Merge branch ‘worktree-stack’ (98da8ba)
    • Merge branch ‘main’ into repo-status (0eb2372)
    • Merge branch ‘test-archive-support’ (350df01)
    • Fix clippy - many false positives this time (045e6fa)
    • Fix clippy - many false positives this time (099bd5b)
    • Release git-config v0.2.1, git-diff v0.15.0, git-traverse v0.14.0, git-pack v0.18.0, git-odb v0.28.0, git-ref v0.12.1, git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0, safety bump 6 crates (b612021)
    • Remove deprecated compound and linked object databases (8c5ae77)
    • Release git-diff v0.14.0, git-bitmap v0.1.0, git-index v0.2.0, git-tempfile v2.0.1, git-lock v2.0.0, git-mailmap v0.1.0, git-traverse v0.13.0, git-pack v0.17.0, git-quote v0.2.0, git-odb v0.27.0, git-packetline v0.12.4, git-url v0.4.0, git-transport v0.16.0, git-protocol v0.15.0, git-ref v0.12.0, git-worktree v0.1.0, git-repository v0.15.0, cargo-smart-release v0.9.0, safety bump 5 crates (e58dc30)
    • Merge branch ‘for-onefetch’ (8e5cb65)
    • Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24)
    • Make fmt (7cf3545)
    • Remove unnecessary unsafe by using chunks_mut() (9b9f10a)
    • Merge branch ‘short-id’ (5849d5b)
    • Thanks clippy (48be1ee)
    • Merge branch ‘svetli-n-path_value’ (e8383ca)
    • Release git-tempfile v2.0.0, safety bump 6 crates (90b1c42)
    • Upgrade document-features (c35e62e)
    • Merge branch ‘unify-path-encoding’ (566ff8a)
    • Upgrade dashmap to 5.1.0 (with security fix) (2520945)
    • Release git-pack v0.16.1 (d4a8f9f)
    • Release git-object v0.17.1, git-pack v0.16.1 (e959af8)
    • Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 (0db19b8)
    • Update changelogs prior to git-pack release (b7e3a4a)
    • Downgrade dashmap to 4.0 to avoid unsoundness. (d9451e8)
    • Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119)
    • Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29)
    • Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7)
    • Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8)
    • Fix git-pack changelog to be stable (fd5b616)
    • Prepar changelogs for cargo-smart-release release (8900d69)
    • Support Rust 1.52 (42e0487)
    • Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725)
    • Thanks clippy (d8925f5)
    • Thanks clippy (5a68d2f)
    • Thanks clippy (1e051dc)
    • Don't try to short-cut detection of large offsets when writing index files (ba92cc0)
    • Refactor (e7fbd9f)
    • Merge branch ‘use-midx-in-store’ (338521b)
    • Thanks clippy (533a532)
    • Thanks clippy (7bd3ad3)
    • Release git-chunk v0.2.0, safety bump 4 crates (b792fab)
    • Thanks clippy (35cf46f)
    • Refactor (0032223)
    • Merge branch ‘sync-db-draft’ (7d2e20c)
    • Thanks clippy (4ca9e07)
    • Make fmt (066f3ff)
    • Thanks clippy (7dd2313)
    • Release git-actor v0.7.0, git-config v0.1.9, git-object v0.16.0, git-diff v0.12.0, git-traverse v0.11.0, git-pack v0.15.0, git-odb v0.25.0, git-packetline v0.12.2, git-transport v0.14.0, git-protocol v0.13.0, git-ref v0.10.0, git-repository v0.13.0, cargo-smart-release v0.7.0 (d3f9227)
    • Release git-features v0.18.0, git-actor v0.7.0, git-config v0.1.9, git-object v0.16.0, git-diff v0.12.0, git-traverse v0.11.0, git-pack v0.15.0, git-odb v0.25.0, git-packetline v0.12.2, git-transport v0.14.0, git-protocol v0.13.0, git-ref v0.10.0, git-repository v0.13.0, cargo-smart-release v0.7.0, safety bump 12 crates (acd3737)
    • Adjust changelogs prior to release (ec38950)
    • Merge branch ‘pack-consistency’ (5982406)
    • Merge branch ‘git-loose-objects’ of https://github.com/xmo-odoo/gitoxide into xmo-odoo-git-loose-objects (ee737cd)
    • Release git-config v0.1.8, git-object v0.15.1, git-diff v0.11.1, git-traverse v0.10.1, git-pack v0.14.0, git-odb v0.24.0, git-packetline v0.12.1, git-transport v0.13.1, git-protocol v0.12.1, git-ref v0.9.1, git-repository v0.12.0, cargo-smart-release v0.6.0 (f606fa9)
    • Adjusting changelogs prior to release of git-config v0.1.8, git-object v0.15.1, git-diff v0.11.1, git-traverse v0.10.1, git-pack v0.14.0, git-odb v0.24.0, git-packetline v0.12.1, git-transport v0.13.1, git-protocol v0.12.1, git-ref v0.9.1, git-repository v0.12.0, cargo-smart-release v0.6.0, safety bump 5 crates (39b40c8)
    • Adjust changelogs prior to git-pack release (ac8015d)
    • Move “loose object header” ser/de to git-object (3d1565a)
    • Release git-hash v0.8.0, git-features v0.17.0, git-actor v0.6.0, git-object v0.15.0, git-diff v0.11.0, git-traverse v0.10.0, git-pack v0.13.0, git-odb v0.23.0, git-packetline v0.12.0, git-transport v0.13.0, git-protocol v0.12.0, git-ref v0.9.0, git-repository v0.11.0, git-commitgraph v0.6.0, gitoxide-core v0.12.0, gitoxide v0.10.0, cargo-smart-release v0.5.0, safety bump 16 crates (0e02953)
    • Release git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-config v0.1.7, git-validate v0.5.3, git-object v0.14.1, git-diff v0.10.0, git-tempfile v1.0.3, git-lock v1.0.1, git-traverse v0.9.0, git-pack v0.12.0, git-odb v0.22.0, git-packetline v0.11.0, git-url v0.3.4, git-transport v0.12.0, git-protocol v0.11.0, git-ref v0.8.0, git-repository v0.10.0, cargo-smart-release v0.4.0 (59ffbd9)
    • Adjusting changelogs prior to release of git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-validate v0.5.3, git-object v0.14.1, git-diff v0.10.0, git-tempfile v1.0.3, git-lock v1.0.1, git-traverse v0.9.0, git-pack v0.12.0, git-odb v0.22.0, git-packetline v0.11.0, git-url v0.3.4, git-transport v0.12.0, git-protocol v0.11.0, git-ref v0.8.0, git-repository v0.10.0, cargo-smart-release v0.4.0, safety bump 3 crates (a474395)
    • Make fmt, but now it picked up some parts that usually don't get altered… (01f7b72)
    • Update changelogs just for fun (21541b3)
    • Merge branch ‘changelog-generation’ (bf0106e)
    • Bump git-traverse v0.9.0, safety bump 8 crates (d39fabb)
    • Bump git-pack v0.11.0 (5ae6ff5)
    • Bump git-object v0.14.0 (d4fc81f)
    • [repository #164] generic write_object() (c569f83)
    • Merge branch ‘repository-integration’ (49f5453)
    • Bump git-pack v0.10.0 (e5e3c80)
    • [repository #190] first shot at ancestor iteration… (85f1a48)
    • Bump git-hash v0.6.0 (6efd90d)
    • [repository #185] refactor (7604935)
    • [repository #174] adjust various changelogs (081faf5)
    • [pack #179] refactor (76e66d1)
    • [pack #179] move Tree traversal cache private (34e45d7)
    • [pack #179] refactor (5a3677d)
    • [pack #179] refactor bundle (420dca2)
    • [pack #179] fix docs (7ad7a44)
    • [pack #179] refactor (ab6554b)
    • [pack #179] refactor (620d8a5)
    • [pack #179] add changelog (2102569)
    • Bump git-traverse v0.8.0 (54f3541)
    • Bump git-diff v0.9.0 (2e2e798)
    • [object #177] cleanup CommitRefIter imports and git_object::Error (058f68a)
    • [object #177] dissolve ‘immutable’ module (70e11c2)
    • [object #177] commit::RefIter -> CommitRefIter (e603306)
    • [object #177] migrate immutable::commit into crate::commit (45d3934)
    • [object #177] tag::RefIter -> TagRefIter (28587c6)
    • [object #177] into_mutable() -> into_owned() (7e701ce)
    • [object #177] fix docs (25d8e7b)
    • [object #177] move mutable objects to crate::* (c551c02)
    • [object #177] migrate immutable::tree to crate::tree (fa5cd06)
    • [object #177] fix docs (07be661)
    • [object #177] move immutable::* to crate::*Ref, start iter adjustments (461dc53)
    • [object #177] rename immutable::* to immutable::*Ref (6deb012)
    • Release git-object v0.13.0 (708fc5a)
    • [pack #172] A note about empty packs in Bundle writer (09a777f)
    • Merge pull request #172 from mellowagain/main (61aebbf)
    • [actor #173] fix docs (2d7956a)
    • [actor #173] rename immutable::Signature to SignatureRef! (96461ac)
    • Release git-tempfile v1.0.0 (1238535)
    • Merge branch ‘main’ into stability (11bae43)
    • Cleanup imports (e669303)
    • Allow creation of empty indices (d122fc7)
    • [pack #170] there can only be one (dce4f97)
    • [pack #170] clru allows for free lists, reducing allocation pressure... (4d820d2)
    • [pack #170] basic progress for resolution (ada0b96)
    • [pack #170] Basic entry resolution without progress (7461f31)
    • [pack #170] first step towards resolving in multi-threaded mode… (f3c21f9)
    • [pack #170] Don't double-lookup trees during traversal… (7b06829)
    • Revert “[pack #67] Don't pre-fetch packed objects during counting” (811bb54)
    • [pack #67] Don't pre-fetch packed objects during counting (d08b673)
    • Release git-pack v0.9.0 (7fbc961)
    • [pack #67] refactor (14717f6)
    • [pack #67] Add cache debugging capabilities to git-features (8776c98)
    • [pack #167] Use custom uluru version to avoid a lot of allocations… (7bd3671)
    • [pack #164] fix docs (08ee674)
    • Merge branch ‘main’ into 162-repo-design-sketch (e63b634)
    • Revert “[pack #167] Use custom uluru version to avoid a lot of allocations…” (4c2ea21)
    • [pack #167] Use custom uluru version to avoid a lot of allocations… (8d49976)
    • [pack #167] a single-threaded special case for counting… (65e29de)
    • [pack #167] generalize over immutable insertions… (169f000)
    • [pack #167] refactor (6bf0f7e)
    • [pack #167] progress is handled by reducer… (a22f8e1)
    • [pack #167] Error handling for object input (0aac40c)
    • Thanks clippy (d689599)
    • [pack #167] remove iterator based count objects impl… (7ec2f2b)
    • [pack] A non-iterator version of parallel object counting… (04fe855)
    • Release git-pack v0.8.2 (39a3f71)
    • Apply nightly rustfmt rules. (5e0edba)
    • Release git-pack v0.8.1 (045eb09)
    • Remove dev-dependency cycles by removing their version (c40faca)
    • Release git-diff v0.8.0, git-odb v0.20.0, git-pack v0.8.0, git-traverse v0.7.0 (f123f69)
    • Release git-diff v0.7.0, git-odb v0.19.0, git-pack v0.7.0, git-traverse v0.6.0 (c67291f)
    • Release git-object v0.12.0 (7006150)
    • (cargo-release) version 0.18.0 (b327590)
    • (cargo-release) version 0.6.0 (d704bca)
    • (cargo-release) version 0.6.0 (4b71e15)
    • (cargo-release) version 0.5.0 (e21142b)
    • (cargo-release) version 0.17.0 (c52a491)
    • (cargo-release) version 0.5.0 (c2f94a5)
    • (cargo-release) version 0.4.0 (d69d0ac)
    • (cargo-release) version 0.6.0 (d58f37e)
    • (cargo-release) version 0.5.0 (1687e59)
    • (cargo-release) version 0.4.0 (28e58f6)
    • (cargo-release) version 0.11.0 (a5be31c)
    • (cargo-release) version 0.4.0 (70ef344)
    • [utils #154] refactor: bool.then(||this) - neat (1dec1c4)
    • Revert “break more dev-depedency cycles up to git-odb” (22337ce)
    • (cargo-release) version 0.3.1 (8b24197)
    • Break more dev-depedency cycles up to git-odb (7ee278b)
    • (cargo-release) version 0.3.0 (0e9c73a)
    • (cargo-release) version 0.5.0 (ae02dab)
    • (cargo-release) version 0.16.0 (1231dbd)
    • (cargo-release) version 0.5.0 (0e11e98)
    • [pack #153] finish transitioning to git-tempfile (38173fc)
    • Thanks clippy (e1964e4)
    • [ref #139] add missing docs (5422ec8)
    • [pack] refactor (581fb51)
    • [pack] refactor (b19f6b9)
    • [pack] fix docs (e7b9d96)
    • [pack] fix build (98dd557)
    • [pack] update CRC values when changing entries to satisfy all consistency checks (990ea48)
    • [pack] fix trailer of last entry to match expected recomputed pack hash… (8d0ec7d)
    • [pack] refactor (1852e3e)
    • [pack] all tests running for now, but… (aec8439)
    • [pack] hacky proof of concept that this actually works… (6085a92)
    • [pack] on the way to ‘quickly’ get a proof of concept (cdc7582)
    • [pack] refactor (685cce6)
    • [pack] refactor (f822ebb)
    • Thanks clippy (96ef0b0)
    • [pack] a quickly made iterator that writes input::Entries (116bdc4)
    • [pack] prepare a custom writing iterator for input::Entries… (a4d2764)
    • Thanks clippy (bd517d6)
    • [pack] prepare bundle writer for yet another iterator wrapper… (33be1a1)
    • [pack] refactor (50861e6)
    • [pack] refactor (dc07225)
    • [pack] another todo down, the last one (3fc8c8f)
    • [pack] one more todo down, it should work now, right?… (69a9ff1)
    • [pack] fix thin pack support test… (4bdebdd)
    • [pack] definitely not working yet (690d9b7)
    • [pack] a step closer, new cases show up (75eaba3)
    • [pack] refactor (a8512f8)
    • [pack] improved test to validate a fix (e3eeeb1)
    • [pack] attempt to get a more realistic test, but… (2890737)
    • [pack] refactor (cabc1e5)
    • [pack] first succeeding test (f5da439)
    • [pack] first reasonably failing test showing that offset computation is indeed wrong (df1bc2f)
    • [pack] the first test for the lookup ref deltas iter (b162f9e)
    • [pack] Make use of thin-pack resolver when writing bundles… (9f43bf0)
    • [pack] handle the same ref-base correctly (2f94854)
    • [pack] thin pack resolver which might actually work (54f055a)
    • [pack] first sketch of resolver for thin pack entries (ee428e0)
    • [pack] refactor (a8fd70f)
    • [pack] thanks clippy (7c2fc89)
    • [pack] actually, this is how it works, so this code should be unreachable (8f359e1)
    • [pack] first step towards fixing bad-objects properly (3c96507)
    • [pack] discard bad-object tracking in favor of delayed handling (31ce008)
    • Revert “[pack] fix race to finally make pack-gen missing objects…” (ad0d2a8)
    • [pack] fix race to finally make pack-gen missing objects… (73394db)
    • [pack] it seems git is just skipping bad objects during pack-gen (0f29b82)
    • Revert “[pack] FAIL: See if not looking up the pack location speeds up counting…” (d03fe97)
    • [pack] FAIL: See if not looking up the pack location speeds up counting… (48c4930)
    • Revert “[pack] FAIL: speedup with Mutex” (df98edf)
    • [pack] FAIL: speedup with Mutex (f8aca03)
    • [pack] In single-threaded mode, use a huge cache for some speedup (aec8a9b)
    • [pack] fix offset index properly by using chunk-absolute offsets (461c1ee)
    • [pack] forcefully fix issue with incorrect partition point (290bd65)
    • [pack] test for parital pack without thin pack allowance… (1f48d3b)
    • [pack] pack-create with immediate counting and traversing… (b74a98f)
    • [pack] entry writer now supports deltas and it seems to work even (fcda6f0)
    • Thanks clippy (cc61f82)
    • [pack] on-demand cache for pack-offset to id lookup (0bfdea8)
    • [pack] refactor (4bb3ce4)
    • [pack] thin pack offset to index lookup (121aca4)
    • [pack] refactor (372b9ce)
    • [pack] a way to obtain whole bundles for offset-to-index lookup (15fcbe2)
    • [pack] refactor (64b1dcd)
    • [pack] refactor (1d713b4)
    • [pack] refactor (cdf020a)
    • [pack] refactor (2ccefb2)
    • [pack] refactor; entry-iterator now produces delta-objects (5dc370b)
    • [pack] rough version of obtaining object indices for deltas (a58e270)
    • [pack] refactor (8cfa414)
    • [pack] pass all data to where it belongs to… (af5cb1f)
    • [pack] add the notion of thin-packs to the pack generator (a289bba)
    • [pack] build an index of pack ranges as well (4d6ab7b)
    • [pack] bundle::Location with pack offset; order counts by that… (f92f285)
    • [pack] better identify the currently implemented pack generation mode. (f9e3b3c)
    • [pack] refactor (f3dc3da)
    • [pack] refactor (9ee1e22)
    • [pack] refactor (78d46c1)
    • [pack] refactor (69af352)
    • Change wording (6c82a16)
    • Bump uluru from 2.1.1 to 2.2.0 (52e274f)
    • Don't use ASM on windows for Sha1 as it fails to build there. (ba1fb7a)
    • Merge branch ‘remove-unnecessary-unsafe’ (7a3c5c1)
    • Remove unnecessary unsafe code (83e207a)
    • Remove unnecessary pub(crate) exports (3d2456e)
    • Bump thiserror from 1.0.25 to 1.0.26 (9682590)
    • Thanks clippy (6200ed9)
    • Fix build (dbfa49a)
    • Fix everything up so that… (5930563)
    • A first attempt to make intrerupt tools work, but… (8fb8d37)
    • Fix pack tests (7968467)
    • The last occurrence of the global git-features::interrupt usage gone (6820724)
    • Another one (0a8ed0e)
    • And another one down (abce75e)
    • Refactor (7f9be36)
    • And one less usage of the global interrupt handler… (5da57a3)
    • Thanks clippy (3b2e765)
    • Make most interrupts local to the method or function (4588993)
    • [features] sketch of iterator to auto-check for interruptions (61d3a15)
    • [pack] refactor (25f04ba)
    • [pack] refactor (18cabb8)
    • [pack] also put counts in order for stable packs (f299160)
    • [pack] fix run of ‘cargo test --all’ (e7ecdc1)
    • [pack] a working in-order iterator (5fea926)
    • [pack] tests for error handling of in-order iterator (44892cc)
    • [pack] ground work for ordering in produced chunks (9680649)
    • [pack] also run multi-threaded tests as part of unit-tests (5d3006a)
    • Bump uluru from 2.0.0 to 2.1.1 (b6ac506)
    • [pack] hopefully fix tests on CI; verify determinism of pack (51dec8b)
    • [pack] deterministic single-threaded pack generation (ddb6442)
    • [pack] refactor (cfdf802)
    • [pack] basic statistics for entries (37229a6)
    • Thanks clippy (18b2113)
    • [pack] write packs to a directory with the proper name (3fbca7d)
    • [pack] refactor (f10adea)
    • [pack] fix docs (6ba471d)
    • [pack] fix build (81ee633)
    • [pack] statistics for counting objects seemingly work… (4e3deb1)
    • [pack] actual counts statistics (3a9f6d8)
    • [pack] aggregate the count outcome (c7ac0e6)
    • [pack] use statistics reducer (0974ab1)
    • [pack] count object reducer sketch (ea45692)
    • [pack] refactor (fdf485a)
    • [pack] refactor (0514f1d)
    • [pack] refactor (37922d1)
    • (cargo-release) version 0.3.0 (6b33678)
    • (cargo-release) version 0.2.0 (3286e42)
    • Refactor (a25a774)
    • [git-transport] Show how to use blocking git-pack code in non-blocking transports (de2ba3c)
    • (cargo-release) version 0.4.0 (866f86f)
    • [git-repository] towards git-repository as one stop shop (aea6cc5)
    • [git-ref] the first failing test (7e802a0)
    • (cargo-release) version 0.2.0 (b213628)
    • [git-odb] prep release (4984ce3)
    • [git-odb] refactor (2958145)
    • [git-pack] fix docs (efd20d4)
    • [git-pack] refactor (ea2b3de)
    • [git-pack] refactor (bc4b7b1)
    • [git-pack] refactor (157b6ff)
    • [git-pack] refactor (49c1c3e)
    • (cargo-release) version 0.16.0 (769c649)
    • [git-pack] refactor (be6ddaa)
    • [git-pack] used by git-odb (5d6ee07)
    • [git-pack] refactor (1b2a245)
    • [git-pack] move hash-writer to git-features as it's quite general purpose (80e5640)
    • [git-pack] the very first version… (8c06cdb)

0.30.1 (2023-01-10)

A maintenance release without user-facing changes.

0.30.0 (2023-01-09)

A maintenance release without user-facing changes.

0.29.0 (2022-12-30)

A maintenance release without user-facing changes.

0.28.0 (2022-12-19)

New Features

  • add data::File::resolve_header() to obtain object information without decompressing it.
  • 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.

Changed (BREAKING)

  • move data::ResolveBase into data::decode_entry::; unify decode_entry|decode_header::Error into decode::Error.

0.27.0 (2022-11-21)

A maintenance release without user facing changes.

0.26.0 (2022-11-08)

A maintenance release without user-facing changes.

0.25.0 (2022-11-06)

New Features

  • Bundle::write… also produces a .keep file These files are placed before moving the corresponding 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.

0.24.0 (2022-10-10)

New Features

  • more efficient distribution of tasks to threads during pack resolution. This clearly is a peak-performance optimization as it will now efficiently distribute 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.

Bug Fixes

  • reduce memory usage for pack resolution by 18%… …compared to where it started out before.

    This is the result of using u32 instead 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.

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

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

  • bundle::write::Error is now publicly available

Bug Fixes (BREAKING)

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

Other (BREAKING)

  • index::write::Outcome::index_kind -> ::index_version.
  • bundle::write::Options::index_kind -> ::index_version.

0.23.0 (2022-09-20)

Changed (BREAKING)

  • upgrade bstr to 1.0.1

0.22.0 (2022-08-28)

Maintenance release without user-facing changes.

0.21.2 (2022-08-24)

Chore

  • uniformize deny attributes

New Features

  • use docsrs feature in code to show what is feature-gated automatically on docs.rs
  • pass --cfg docsrs when compiling for https://docs.rs

0.21.1 (2022-08-17)

A maintenance release without user facing changes.

0.21.0 (2022-07-22)

This is a maintenance release with no functional changes.

New Features (BREAKING)

  • Provide optional candidates for ambiguous entries during lookup_prefix() The candidate entries are all entries matching a given prefix.

0.20.0 (2022-06-13)

A maintenance release without user-facing changes.

0.19.1 (2022-05-21)

A maintenance release without user-facing changes.

0.19.0 (2022-05-18)

A maintenance release without user-facing changes.

0.18.0 (2022-04-05)

Changed (BREAKING)

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

0.17.0 (2022-04-03)

Chore

  • upgrade dashmap to 5.1.0 (with security fix)

New Features

  • index::File::lookup_prefix(…)
  • gix-hash::Prefix::from_id() A way to obtain a prefix of an object id, with all non-prefix bytes set to zero.
  • in-manifest and in-lib documentation of feature toggles

Bug Fixes

  • support Rust 1.52

Refactor

  • remove unnecessary unsafe by using chunks_mut() This was probably a left-over from times where there was a static requirement on the chunks processing. Maybe… .

0.16.1 (2022-02-01)

Bug Fixes

0.16.0 (2022-01-23)

Refactor

  • replace bare u32 data::Id typedef

Other

  • :File uses its hash_len parameter
  • :Find implementation for Rc

Chore

  • remove unused dependencies

New Features

  • zero-objects check for index and multi-index integrity validation
  • support for fan-checking in index and multi-index integrity verification
  • introduce type for entry indices within an index or multi-index That way it's a little more descriptive than a bare u32.
  • gix_pack::Find::try_find_cached(…, pack_cache) With this method it's easier to bypass local caches and control the cache oneself entirely.
  • 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.

Bug Fixes

  • support Rust 1.52

  • Allow resolution of in-pack ref-deltas This finally allows delta tree caches to be used on typical small packs returned by GitHub.

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

  • Avoid the dashmap being cloned for each thread Instead, 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.

  • linked::Store now assures unique IDs across compound stores

Changed (BREAKING)

  • Improve method signatures of cache::Tree::*

  • 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 options are used.

  • index::File::traverse() now returns an Outcome struct instead of tuple of 3 fields

  • remove Option<impl Progress> in favor of impl Progress

  • multi-index integrity check; use integrity::Outcome for various integrity checks

  • remove unnecessary Arc around should_interrupt flag

  • remove Sha1 mentions in index::verify::Mode::* variants The hash is repository defined and not hard-coded

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

  • 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

  • Change accessors named hash_kind() to object_hash() for consistency

  • consistently use object_hash instead of hash_kind

  • data::Entry::from_read() now takes a hash lengths as parameter That way ref-deltas can be interpreted without hard-coding SHA1

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

  • index::File::at() with gix_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.

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

  • remove make_object_cache parameter from gix_pack::data::output::count::objects() It now is an implementation detail of the Find trait.

  • move bundle::Location to data::entry::Location The latter place best describes its purpose.

  • remove pack-cache from Find::try_find(…) With the new architecture this can be an implementation detail without forcing it to be Sync.

  • move gix_pack::data::Object to gix_object::Data, massively alter gix_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases.

0.15.0 (2021-11-29)

Changed (BREAKING)

  • parallel utilities now use Send + Clone instead 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.

0.14.0 (2021-11-16)

An important bugfix to prevent assertion failures when writing thin packs.

Bug Fixes

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

v0.13.0 (2021-10-19)

A maintenance release to properly dealing with previously breaking changes in gix-hash.

v0.12.0 (2021-10-15)

This release contains bugfixes and features, but is considered breaking as gix-traverse signalled a breaking change which is one of our dependencies.

Refactor

  • Use ‘cache::Object’ trait where it matters
  • split data::output::count::objects into files

New Features

  • 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.
  • cache::Object trait for caching and retrieving whole objects
  • control pack and object cache size in megabytes
  • object cache size is configurable

Bug Fixes

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

  • don't include submodules in count, which avoids dealing with missing objects entirely. Those ominous missing objects where just git submodules after all.

    It's still a good idea to handle these gracefully though, git itself seems to ignore them, too, and so do we at least for now.

Performance

  • ObjectID specific hashers, using the fact that object ids are hashes

v0.11.0 (2021-09-08)

  • manual bump for safety as its dependencies have breaking changes

v0.10.0 (2021-09-07)

  • renames
    • data::Object::into_commit_iter() -> data::Object::try_into_commit_iter()
    • data::Object::into_tree_iter() -> data::Object::try_into_tree_iter()
    • data::Object::into_tag_iter() -> data::Object::try_into_tag_iter()

v0.9.0 (2021-08-27)

  • renames / moves / visibility
    • find::Find and find::FindExt only in Find and FindExt (not in find anymore)
    • data::output::count::Count -> data::output::Count
    • data::output::entry::Entry -> data::output::Entry
    • Find::find_existing_* -> Find::find_*
    • Find::find_existing_* -> Find::find_*
    • Find::find()-> Find::try_find()`
    • bundle::Bundle -> Bundle
    • bundle::Error -> bundle::init::Error
    • pub tree:: -> pub(crate) cache::delta::
    • data::object::Object -> data::Object
    • data::entry::Entry -> data::Entry
  • new methods
    • Find::find_tag_iter()

v0.8.2 (2021-08-17)

v0.8.1 (2021-08-13)

v0.8.0 (2021-08-12)

v0.6.0 (2021-08-11)

v0.5.0 (2021-08-11)

v0.3.1 (2021-08-10)

v0.3.0 (2021-08-10)

v0.2.0 (2021-05-25)

v0.1.0 (2021-05-24)