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.38.0 (2023-10-12)

New Features

  • add compute_stream_hash method as lower-level way of hashing objects.

Bug Fixes (BREAKING)

  • encode::loose_header() now supports large objects even on 32 bit systems. Previously, larger than 4GB files wouldn't be supported, which causes problems when genrating hashes even when streaming data.

Commit Statistics

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

Commit Details

  • Uncategorized
    • Prepare changelogs prior to release (1347a54)
    • Merge branch ‘improvements’ (429e7b2)
    • Add compute_stream_hash method as lower-level way of hashing objects. (5bb55de)
    • Fix docs (995bc84)
    • Merge branch ‘reset’ (b842691)
    • encode::loose_header() now supports large objects even on 32 bit systems. (9283a9d)

0.37.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.36.0 (2023-09-08)

Bug Fixes (BREAKING)

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

Commit Statistics

  • 5 commits contributed to the release over the course of 17 calendar days.
  • 17 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.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 dynification (f658fcc)
    • Use dyn trait where possible. (072ee32)
    • Merge branch ‘gix-submodule’ (363ee77)

0.35.0 (2023-08-22)

Chore

  • switch nom to winnow in remaining uses in gix-object, gix-ref, and gix-actor for ~20% more performance. It's likely that over time, these parsers will get even faster due to improvements to winnow. Thanks, Ed Page, for single-handedly performing this transition.
  • add benchmarks to avoid parsing performance regressions
  • remove unused dependency: ‘hex’

Commit Statistics

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

Commit Details

  • Uncategorized
    • 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)
    • Just fmt (0d258f4)
    • Switch nom to winnow in remaining uses in gix-object, gix-ref, and gix-actor for ~20% more performance. (ef54aab)
    • Refactor and fixes (02587fc)
    • Upgrade winnow to latest patch release (8c41848)
    • Remove From for (small) step towards stable API (be1f4b5)
    • Make clippy happy (62f7bc6)
    • Switch off deprecated VerboseError (93fc441)
    • Switch errors to StrContext (df226dd)
    • Minor cleanup possible with 0.5 (a07590c)
    • Upgrade to Winnow 0.5 (3f8c91f)
    • Simplify parsers (12f03db)
    • Resolve 0.4 not-quite deprecations (f0cbf81)
    • Resolve 0.4 deprecations (9ed7df0)
    • Upgrade to Winnow 0.4 (86ea47f)
    • Parse explicitly in prep for 0.4 (b3f0418)
    • Resolve remaining winnow 0.3 deprecations (fee441d)
    • Prefer Parser inherent parsers (b37a909)
    • Prefer built-in Winnow parsers (ac0e81c)
    • Simplify winnow ErrMode construction (86d7fd1)
    • Switch gix to winnow 0.3 (ee75de1)
    • Add benchmarks to avoid parsing performance regressions (353b1a7)
    • Merge branch ‘faster-hex’ (4a4fa0f)
    • Remove unused dependency: ‘hex’ (7649b18)
    • Merge branch ‘extract-signatures’ (b37affe)
    • Refactor (fb95ead)
    • Add commit signature extraction (2f9c0dd)

0.34.0 (2023-08-07)

A maintenance release without user-facing changes.

Commit Statistics

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

Commit Details

  • Uncategorized
    • 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)
    • Prepare changelogs prior to release of gix-submodule (f3c4311)
    • Merge branch ‘dev-on-linux’ (6b4a303)
    • Fix various tests to run properly on linux (ef8ccd9)

0.33.2 (2023-08-02)

Other

  • fix test for struct size for 32-bit architectures The size of gix_object::Data is 24 bytes only on 64-bit architectures, on 32-bit architectures it's exactly half that (12 bytes).

Commit Statistics

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

Commit Details

  • Uncategorized
    • Release gix-actor v0.24.2, gix-object v0.33.2, gix-ref v0.33.3, gix-config v0.26.2, gix-prompt v0.5.5, gix-odb v0.50.2, gix-transport v0.34.2, gix-protocol v0.37.0, gix-worktree v0.23.1, gix v0.51.0, safety bump 3 crates (231ac1c)
    • Prepare additional changelogs (db63815)
    • Merge branch ‘decathorpe/main’ (422747d)
    • Prepare changelogs (e4d2890)
    • Merge branch ‘fixes-and-improvements’ (f8b1f55)
    • Fix test for struct size for 32-bit architectures (7f7353e)
    • Add another very special commit for parsing tests (f852243)

0.33.1 (2023-07-22)

New Features

  • TreeRef::bisect_entry() to correctly find an entry by name
  • Copy for tree::EntryRef

Commit Statistics

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

Commit Details

  • Uncategorized
    • 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)
    • Merge branch ‘improvements-for-crates-index’ (7734736)
    • TreeRef::bisect_entry() to correctly find an entry by name (424d347)
    • Update changelogs prior to release (2fc66b5)
    • Merge branch ‘improvements-for-crates-index’ (3f914e8)
    • Copy for tree::EntryRef (437fedc)
    • Update license field following SPDX 2.1 license expression standard (9064ea3)

0.33.0 (2023-07-19)

New Features

  • Add classifier methods to Kind for easier object classification. This allows to avoid having to think about where to right type lives for comparisons or matches in simple cases that are about one specific object type.
  • Copy for tree::EntryRef
  • TreeRef::bisect_entry() to correctly find an entry by name

Commit Statistics

  • 5 commits contributed to the release.
  • 19 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.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 ‘adjustments-for-crates-index’ (b82868d)
    • Add classifier methods to Kind for easier object classification. (695de56)

0.32.0 (2023-06-29)

A maintenance release without user-facing changes.

Commit Statistics

  • 4 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-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)
    • Merge branch ‘i64-times’ (b407461)
    • Add a test to see what happens if negative dates are used in commits (57a5cd1)

0.31.0 (2023-06-22)

Chore

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

Commit Statistics

  • 10 commits contributed to the release over the course of 11 calendar days.
  • 15 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.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)
    • just fmt (871dd0b)
    • Merge branch ‘corpus’ (aa16c8c)
    • Change MSRV to 1.65 (4f635fc)
    • Merge branch ‘help-874-redundant-closures’ (fe59956)
    • Add clippy::redundant-closure-for-method-calls lint (bcad5c2)
    • Merge branch ‘future-dates’ (8d2e6a9)
    • Adapt to changes in gix-actor (4a80e86)
    • Adapt to changes in gix-date (d575336)

0.30.0 (2023-06-06)

A maintenance release without user-facing changes.

Commit Statistics

  • 15 commits contributed to the release over the course of 12 calendar days.
  • 25 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.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 pull request #878 from blinxen/main (67da689)
    • Include missing changelog file in some crates (0269eed)
    • Merge branch ‘fix-docs’ (420553a)
    • Minor fixes (89a8cfe)
    • Cleaning up documentation (2578e57)
    • Merge branch ‘auto-clippy’ (dbf8aa1)
    • Auto-fix as many ‘range-plus-one’ lints as possible (4795fcf)
    • Autofix map-or-unwrap clippy lint (and manual fix what was left) (2087032)
    • Merge branch ‘main’ into auto-clippy (3ef5c90)
    • Merge branch ‘blinxen/main’ (9375cd7)
    • Include custom clippy settings (b057500)
    • Include license files in all crates (facaaf6)

0.29.2 (2023-05-11)

Bug Fixes

  • sorting of tree entries is now according to specificiation. This means tree entries are compared as if they had a / appended to it.

Commit Statistics

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

Commit Details

  • Uncategorized
    • Release gix-object v0.29.2 (4f879bf)
    • Merge branch ‘fix-848’ (e3b146f)
    • Sorting of tree entries is now according to specificiation. (ca37915)
    • Refactor (d92a588)

0.29.1 (2023-04-26)

New Features

  • add encode::compute_hash() for an easy way to obtain object hashes.

Commit Statistics

  • 6 commits contributed to the release over the course of 6 calendar days.
  • 7 days passed between releases.
  • 1 commit was 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-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)
    • Add encode::compute_hash() for an easy way to obtain object hashes. (ebf3fd4)

0.29.0 (2023-04-19)

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

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

Commit Details

  • #814
    • Rename serde1 cargo feature to serde and use the weak-deps cargo capability. (b83ee36)
  • Uncategorized
    • 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)
    • Prepare changelog prior to release (7f06458)
    • 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.28.0 (2023-03-04)

A maintenance release without user-facing changes.

Commit Statistics

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

0.27.0 (2023-03-01)

A maintenance release without user-facing changes.

Commit Statistics

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

Commit Details

  • Uncategorized
    • 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)
    • Adjust manifests prior to release (addd789)
    • Prepare changelogs prior to release (94c99c7)

0.26.4 (2023-02-24)

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-object v0.26.4, gix-diff v0.26.3, gix v0.37.2, gix-commitgraph v0.13.1, gitoxide-core v0.25.0, gitoxide v0.23.0 (9982949)
    • Prepare changelog for release (13a1ec1)
    • Merge branch ‘rename-tracking’ (550144a)
    • Document why EntryRef has a different comparison method. (c9ba1f7)

0.26.3 (2023-02-20)

New Features

  • add tree::EntryMode::is_blob_or_link(). Returns true if the entry points to a blob or a symlink.

Commit Statistics

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

Commit Details

  • Uncategorized
    • Release gix-object v0.26.3, gix-diff v0.26.2, gix-traverse v0.22.2, gix v0.37.0, safety bump 3 crates (8b3e42f)
    • Merge branch ‘rename-tracking’ (35415c5)
    • Add tree::EntryMode::is_blob_or_link(). (c882ff0)

0.26.2 (2023-02-20)

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.

  • 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.26.1 (2023-02-17)

Refactor (BREAKING)

  • 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

New Features (BREAKING)

  • upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn‘t more than a patch release as it should break nobody who is adhering to the MSRV, but let’s be careful and mark it breaking.

    Note that git-features and git-pack are still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021.

Chore (BREAKING)

  • remove quick-error in favor of thiserror Some errors change shape which makes this a breaking change.

Changed (BREAKING)

  • upgrade bstr to 1.0.1
  • rename commit::ref_iter::Token::into_id() to *::try_into_id() This makes the method more consistent.

Refactor

  • Use borrowed::Id in trees for full type safety
  • make reusing round-trip code easier
  • Prefer integration level tests, but use unit-tests where appropriate

Performance

  • parse entry mode into number instead of comparing it to byte strings
  • ObjectID specific hashers, using the fact that object ids are hashes

Other

  • describe variants

Bug Fixes

  • don't panic if broken loose objects are encountered. Previously a loose object could advertise any object size and cause a panic if it was shorter than advertised. Now an error will be returned.
  • improve error messages related to object decoding

New Features

  • Object::try_into_blob_ref() as alternative to consuming *::try_into_blob()

  • add tree::EntryMode::is_blob() to quickly determine if an entry is a blob.

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

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

  • tree::EntryMode::as_str() to display itself as a string.

  • TagRefIter::tagger(). Additionally ergonomics have been improved as the iterator is now Copy, similarly to the other iterators.

  • support for trimming of whitespace around name and email It‘s separated from parsing to assure we can round-trip, but it’s made easy to obtain trimmed results using new methods.

    This high-level git-repository will also trim by default now.

  • CommitRef::time() A shortcut to allow for fluid retrival of the committer.time.

  • CommitRefIter::(author|committer)(), better usability The methods returning an iterator are now consuming, which allows them to be nested by callers.

  • CommitRefIter::parent_ids() Allocation-free parent retrieval.

  • in-manifest and in-lib feature documentation

  • Add sorting mode to ancestor traversal #270

  • add Data object This is typed data baked by a slice for conversion into parsed ObjectRef's for example.

    This is usually the result of a Find operation on an object database.

Chore

  • uniformize deny attributes
  • upgrade dependencies

Documentation

  • fix typos

Commit Statistics

Thanks Clippy

Clippy helped 17 times to make code idiomatic.

Commit Details

  • #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)
    • 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)
    • Feat: BodyRef::without_trailer() for more obvious access than *body or body.as_ref() (f0ea526)
    • Refactor (ef3fc6d)
    • Feat: CommitRef::message_trailers() as shortcut… (5324391)
    • More tests for trailers iterator (c3b0161)
    • Feat: BodyRef::trailers() allows iterating trailer tokens and values (175e1cb)
    • Some tests and sketch for BodyRef parsing (3953c24)
    • Feat: CommitRef::summary() and MessageRef::body() methods (1714d05)
    • Refactor (7055dc8)
    • Another test for footer separation, simple version (b439186)
    • Return to safety (35313b9)
    • Omg nom parsing works… (cd11704)
    • FAIL: not really successful to continue down the ‘fold’ road (d9afc22)
    • Three tests failing with nom (13646e8)
    • Revert " FAIL: try to use nom-way of the previous body parsing…" (d1e6f62)
    • FAIL: try to use nom-way of the previous body parsing… (909f668)
    • Sketch nom version of the message parser… (1ec47de)
    • Fix build (d0a956f)
    • Refactor!: Use git_object::commit::MessageRef::summary()… (13e7c3a)
    • Feat(commit): A summary for commit messages suitable for logs (cd3fc99)
    • More message parsing tests with windows line separators (001e8c2)
    • A manual message parse impl and more tests (f4b8a0d)
    • More message parsing tests, now with legit failure… (625be8d)
    • Feat(commit): Add message() method and MessageRef type… (6150b2d)
  • #222
    • Update changelogs prior to release (9a493d0)
    • Stabilize changelogs (920e832)
    • Update changelogs prior to release (b3e2252)
  • #250
    • Move loose header manipulation from git-pack to git-object (598698b)
  • #254
    • Adjust changelogs prior to git-pack release (6776a3f)
  • #259
    • Btree/hashmap free lookup of packs in store, keeping things more bundled (a88981b)
  • #266
    • Upgrade dependencies (322b290)
    • Fix docs (1bb4253)
    • Move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00)
    • Add Data object (a0bb652)
  • #279
    • Adapt to changes in git-hash (5eb0230)
  • #293
    • Fix tree-entry-ordering implementation (ea169a6)
  • #301
    • Update changelogs prior to release (84cb256)
  • #329
    • In-manifest and in-lib feature documentation (5c573bf)
    • Document all features related to serde1 (72b97f2)
  • #364
    • Support for trimming of whitespace around name and email (a39bf71)
    • CommitRef::time() (8f1b42b)
    • Full error handling for CommitRefIter (b94471a)
    • More speedy access to author/committer (6129607)
    • CommitRefIter::(author|committer)(), better usability (c51a925)
    • CommitRefIter::parent_ids() (91065cd)
  • #389
  • #427
    • tree::EntryMode::as_str() to display itself as a string. (4f4bba2)
    • Improve error messages related to object decoding (761695c)
  • #450
  • #470
    • Update changelogs prior to release (caa7a1b)
  • #63
    • Use new oid where possible in git-odb (68a709e)
    • Refactor; better errors for invalid hash sizes (be84b36)
    • Make ObjectId/oid happen! (ca78d15)
    • Remove all public exports of git-hash types in git-object (accf89d)
    • Remove re-export of git_object::borrowed::Id (a3f2816)
    • Move git-hash::owned::Id into git-hash::Id (fdbe704)
    • Rename git_hash::*::Digest to Id (188d90a)
  • #67
    • Describe variants (899c579)
    • Parse entry mode into number instead of comparing it to byte strings (83d591d)
    • ObjectID specific hashers, using the fact that object ids are hashes (f9232ac)
    • Tree parsing now probably is twice as fast… (d1e2b89)
  • #691
  • #79
    • Refactor; add test for empty tree iteration (6340296)
  • #XXX
    • Prepare changelogs prior to release (8c0bca3)
  • Uncategorized
    • 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)
    • Fix git-object tests (fb92865)
    • Adjust to renaming of git-pack to gix-pack (1ee81ad)
    • 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-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)
    • Rename git-object to gix-object (2320358)
    • 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)
    • 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)
    • Optimize usage of hex_to_id() (6fa950d)
    • Break cyclical dev dependencies (1fea18f)
    • 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)
    • Prepare changelogs prior to release (d679f5b)
    • 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)
    • 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)
    • Release git-hash v0.10.1, git-hashtable v0.1.0 (7717170)
    • 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 ‘pierrechevalier83/main’ (a5b1d73)
    • Thanks clippy (0a6d888)
    • Restore original representation of Tag at the cost of some duplication (dd0a23d)
    • Unify pre-allocation of parents in Commit to match typical single-ancestor chains (7242d1f)
    • Refactor (c02a6bd)
    • [refactor] Deduplicate Tag and TagRef (6003fa2)
    • Merge branch ‘version2021’ (0e4462d)
    • Upgrade edition to 2021 in most crates. (3d8fa8f)
    • Merge branch ‘pierrechevalier83/main’ (f0dfa4c)
    • [git-object] Encode empty tags like git does (3bd3380)
    • 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 (upgrade to Rust 1.65) (5406630)
    • Adapt in-memory size check to Rust 1.65 and below (1919e8e)
    • Object::try_into_blob_ref() as alternative to consuming *::try_into_blob() (14d6133)
    • 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 ‘main’ into new-http-impl (702a161)
    • Merge branch ‘main’ into fetch-pack (93917cb)
    • Merge branch ‘fix-loose-parsing’ (1dc2a5d)
    • Don't panic if broken loose objects are encountered. (2df3c73)
    • Don't panic on too short loose object (c89c7ff)
    • Merge branch ‘fix-git-features’ (82fd251)
    • Merge branch ‘main’ into fix-odb-race (30712dc)
    • Add tree::EntryMode::is_blob() to quickly determine if an entry is a blob. (5095df9)
    • Merge branch ‘diff’ (25a7726)
    • 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’ (e10554d)
    • 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)
    • 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)
    • Refactor (867fc20)
    • 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)
    • 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 ‘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)
    • 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)
    • Merge branch ‘main’ into pathspec (89ea12b)
    • Merge branch ‘main’ into cont_include_if (daa71c3)
    • Thanks clippy (e1003d5)
    • Merge branch ‘main’ into SidneyDouw-pathspec (a22b1d8)
    • Merge branch ‘main’ into git_includeif (598c853)
    • 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 ‘main’ into msrv-for-windows (7cb1972)
    • Erge branch ‘fix-describe’ (56d7ad7)
    • Release git-actor v0.9.0, git-object v0.18.0 (ef9242b)
    • Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24)
    • Thanks clippy (3079e11)
    • Merge branch ‘main’ into mailmap (b2df941)
    • Merge branch ‘describe-rev’ (77b7cd9)
    • Adapt to breaking changes in git-actor (40c48c3)
    • Upgrade document-features (c35e62e)
    • Release git-actor v0.8.1 (08fe550)
    • 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)
    • Merge branch ‘index-verification’ (ad3c803)
    • 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)
    • Prepar changelogs for cargo-smart-release release (8900d69)
    • 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)
    • Merge branch ‘oknozor-feat/traversal-sort-by-committer-date’ (6add377)
    • Add sorting mode to ancestor traversal #270 (eb36a3d)
    • Rename commit::ref_iter::Token::into_id() to *::try_into_id() (fda2a8d)
    • 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)
    • Better changelog descriptions. (f69b2d6)
    • 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)
    • Merge branch ‘header-field-multi-improve’ of https://github.com/xmo-odoo/gitoxide into xmo-odoo-header-field-multi-improve (d88e377)
    • Improve error handling of encode::header_field_multi_line & simplify (bab9fb5)
    • 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)
    • Update changelogs just for fun (21541b3)
    • Merge branch ‘changelog-generation’ (bf0106e)
    • Thanks clippy (d78d382)
    • Thanks clippy (4ea1126)
    • Thanks clippy (e56af5a)
    • [object #164] refactor (883343b)
    • Bump git-object v0.14.0 (d4fc81f)
    • [repository #164] Prepare commit() for a possible less-allocating future (0fd01f7)
    • [repository #164] generic write_object() (c569f83)
    • Thanks clippy (33a8fb3)
    • [object #164] Allow referenced objects to be serialized as well (a98d298)
    • Release git-object v0.13.1 (2c55ea7)
    • Merge branch ‘repository-integration’ (49f5453)
    • Bump git-hash v0.6.0 (6efd90d)
    • [object #190] consistent method naming (c5de433)
    • [object #190] More conversion methods for Object (78bacf9)
    • [repository #190] A way to write objects and the empty tree specifically (7c559d6)
    • [object #177] cleanup CommitRefIter imports and git_object::Error (058f68a)
    • [object #177] dissolve ‘immutable’ module (70e11c2)
    • [object #177] fix docs (2fd23ed)
    • [object #177] resolve ‘mutable’ module (b201b32)
    • [object #177] refactor (216dd0f)
    • [object #177] refactor (472e13b)
    • [object #177] Commit::write_to migration (60b9365)
    • [object #177] commit::RefIter -> CommitRefIter (e603306)
    • [object #177] migrate immutable::commit into crate::commit (45d3934)
    • [object #177] refactor tag write_to (7f19559)
    • [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)
    • Merge branch ‘git-ref-refactor’ (5dbf753)
    • Release git-actor v0.5.0 (a684b0f)
    • [actor #175] refactor (ec88c59)
    • Release git-actor v0.4.0 (16358c9)
    • [actor #173] fix docs (2d7956a)
    • [actor #173] rename immutable::Signature to SignatureRef! (96461ac)
    • Merge branch ‘Byron:main’ into main (dc58eca)
    • Upgrade to nom-7 (f0aa3e1)
    • [smart-release #162] use TreeRef capabilities to lookup path (51d1943)
    • [repository #162] what could be a correct implementation of a tree path lookup (1f638ee)
    • Release git-object v0.12.2 (6e58edd)
    • [object] argh, remove these tests for now no time for this (13d627d)
    • [object] simply exclude the feature from testing for now… (adba3b9)
    • [object] fix magically smaller object size expectation (bf4d2d7)
    • Apply nightly rustfmt rules. (5e0edba)
    • Release git-object v0.12.1 (086baa2)
    • Remove dev-dependency cycles by removing their version (c40faca)
    • Release git-object v0.12.0 (7006150)
    • Release git-actor-0.3.1 (727087d)
    • (cargo-release) version 0.11.0 (a5be31c)
    • (cargo-release) version 0.5.0 (bf15c2a)
    • (cargo-release) version 0.3.0 (64efc05)
    • (cargo-release) version 0.4.0 (70ef344)
    • (cargo-release) version 0.5.0 (ae02dab)
    • (cargo-release) version 0.4.0 (0d5c8b9)
    • (cargo-release) version 0.2.0 (8ff5115)
    • Clippy on tests and thanks clippy (a77a71c)
    • Thanks clippy (e1964e4)
    • [ref] fix build (bad find&replace) (467395f)
    • [ref] refactor (e26c72f)
    • Remove unnecessary pub(crate) exports (3d2456e)
    • [ref] refactor (207a799)
    • [ref] flexible and simple support for different hash lengths (9c2edd5)
    • Thanks clippy (c437304)
    • [object] Add feature toggle for verbose errors… (4b63d8a)
    • [object] support for verbose errors for object parsing (8156f10)
    • [object] refactor (6f63983)
    • [object] Generalize nom error handling and use nom-errors instead of custom ones (47c8a97)
    • [object] remove unused dependencies (2f01e46)
    • [object] cleanup parsing error handling by removing NomDetail (e91cb40)
    • [object] refactor (1ddb5c0)
    • [object] replace custom context impl with the one by nom (9a6692d)
    • [object] refactor (8205429)
    • [actor] git-object uses git-actor (d01dd2f)
    • [actor] make signature parsing public, exposing nom :/ (a627972)
    • [refs] try to get structure in place for reflog parsing (727c66a)
    • Thanks clippy (6200ed9)
    • (cargo-release) version 0.3.0 (87db688)
    • (cargo-release) version 0.3.0 (6b33678)
    • (cargo-release) version 0.2.0 (3286e42)
    • (cargo-release) version 0.4.0 (866f86f)
    • (cargo-release) version 0.2.0 (1327894)
    • [git-object] use git-validate crate (4ba98e8)
    • [git-object] refactor (d64d326)
    • [git-ref] the first failing test (7e802a0)
    • Switch to latest nom (859e57e)
    • [git-ref] clear it out and move existing functionality to git-object (fa548ce)
    • (cargo-release) version 0.5.0 (b6b5856)
    • [pack-gen] refactor (61554e2)
    • [pack-gen] tag support for tree traversal (28ed260)
    • (cargo-release) version 0.10.0 (5d7ee6a)
    • [pack-gen] more tests for Tag iterator (b69d6d6)
    • [pack-gen] the first green test for Tag iterators (df5ef8a)
    • (cargo-release) version 0.9.0 (84897fd)
    • Allow empty trees when parsing them at once, fixes #79 (d34fd19)
    • Refactor (9870923)
    • [hours-demo] computation seems to work better now (26ecca2)
    • Refactor (2d00c4e)
    • [hours-demo] Maybe the pinnacle of performance… (f70c61a)
    • Remove debug-assert which doesn‘t hold - it’s OK to have empty commit messages (13abc2d)
    • And it's a wrap for git-diff docs for now (9e09dd5)
    • [traversal] first impl based on git-odb::traver (76a3017)
    • A new crate: git-traverse (1a9af50)
    • (cargo-release) version 0.8.0 (a1ce210)
    • (cargo-release) version 0.3.0 (e9665c7)
    • [traversal] add CommitIter::tree_id() convenience method (6affd9d)
    • [traversal] trying to get things done with gitoxide shows some teeth… (3fee661)
    • Refactor; better iter error handling tests (9fe139b)
    • [tree-diff] more tests for the tree iterator (91b5a02)
    • Test error handling of commit iteration (fcec4b4)
    • Thanks clippy (41418ed)
    • Fix serde support for commit iter token (3bfcb49)
    • [tree-diff] all the tests for commit iter (7ebea87)
    • [tree-diff] more tests (4f81450)
    • [tree-diff] And there is a working commit iterator, needs more tests (d991847)
    • [tree-diff] A complete nearly working impl of a Commit iterator (4711821)
    • Frame for Commit iterator (796b74a)
    • First failing test for commit iterator; store two parents without alloc (8337514)
    • [tree-diff] one more test green + refactor (bc5549d)
    • [tree-diff] refactor into iterator based model (29b527a)
    • [tree-diff] The least intrusive way to allow dealing with tree iterators (d41dd3c)
    • [tree-diff] prototype an immutable tree iterator to avoid entry allocs (f38e5cd)
    • [tree-diff] A step closer to handling additions in a directory (a11f210)
    • Refactor (a4d5f99)
    • Refactor (633cba7)
    • First sketch of diff API (fc3f2b7)
    • Better ergonomics for accessing decoded objects (ae3eab6)
    • Thanks clippy (8295548)
    • Refactor (9d03843)
    • Fix debug assert, thanks gitpython (fe954b9)
    • More explicit expectations towards entries in mutable Trees (d94f84c)
    • Refactor (f19ea33)
    • An even better name for decode errors (f270850)
    • Make clear it's a decode error we are using there (f45cb4b)
    • Rename git-object::(owned->mutable)|(borrowed|immutable) #(67) (91ee558)
    • The first basic traversal utility #(67) (ea6610b)
    • (cargo-release) version 0.7.0 (b900914)
    • (cargo-release) version 0.2.0 (4ec09f4)
    • Thanks clippy (cefbf3e)
    • Upgrade depdendencies (e4a7711)
    • Improved high-level docs for git-object (60036f2)
    • Add missing ‘.’ at end of doc comments (7136854)
    • All crates use git-hash::Kind and its types, sometimes through git-object (124c171)
    • First round of git-object doc proof reading (524ce51)
    • (cargo-release) version 0.5.0 (fc7d600)
    • deny(missing_docs) for git-object (8525684)
    • More docs for owned git-object (b79101d)
    • A few more comments in git-object (171d269)
    • Thanks clippy (ba9b3c2)
    • Refactor (d5d7cf9)
    • More git-object docs (ba595f6)
    • More docs of git-object::owned (0620dce)
    • Docs for git-object::borrowed (68e524d)
    • Docs for git-object::borrowed::commit (c5c1df0)
    • Merge branch ‘commit-graph’ into main (9cb09b2)
    • Add and use borrowed::Id::null_sha1() (c717492)
    • Updated expect message (e8d8d93)
    • Update error message for type name (92cbb13)
    • Document borrowed odb objects (7626f7f)
    • Remove dash in all repository links (98c1360)
    • Merge from main. (b59bd5e)
    • Finish removal of rust 2018 idioms (0d1699e)
    • Refactor (e4bcfe6)
    • (cargo-release) version 0.4.0 (0d7b60e)
    • (cargo-release) version 0.4.0 (f9dd225)
    • [clone] proper parsing of V1 refs (d262307)
    • [clone] Don't expose hex-error in public interfaces anymore (92dab30)
    • Allow dual-licensing with Apache 2.0 (ea353eb)
    • Refactor (a0bebd1)
    • Bump minor version to 0.3 (4351e28)
    • Update to quick-error 2.0 (4b1b784)
    • Thanks clippy (62d2ff3)
    • Organize object type comparisons by probability… (19a5d94)
    • Don't cause re-allocs of the compression buffer (2bb6fd2)
    • Reduce memory consumption (6d1a7a1)
    • Also read the pack trailer during iteration (98a8e17)
    • Refactor; better tests (12d14bf)
    • First step towards putting the index file into position (d994c74)
    • Improve looks of documentation (11a32eb)
    • Finish Sink implementation (84f7908)
    • Introduce hash kind, as this should be specified when writing an object (f5d0acf)
    • (cargo-release) version 0.2.0 (76fe0ab)
    • (cargo-release) version 0.2.0 (d350a13)
    • Beautifully implement shared extra-header access (920d1ac)
    • Roundtrip Rust repo in stress test; accept more diverse trees when parsing (0347cdb)
    • Make sure we write out trailing newlines properly in multi-line headers! (7f044c3)
    • Consume PGP signature in tags fully (ffd6c31)
    • Support for very special tree entry mode… (2be2c9d)
    • Make tagger signature optional (3358f9a)
    • Remove now unused pgp_signature field - it's in extra-headers (c8c937c)
    • Proper support for extra-headers (d0feb2b)
    • Abiility to read mergetags (for now only these) as extra-headers (bd3a2db)
    • Switch to latest quick-error (9760856)
    • Fully implement --encode and --re-encode flags (a7cfac8)
    • Empty trees are allowed, and they are special, too (6bed200)
    • Refactor (56b66ac)
    • Basic top-level object round-tripping (e851cbe)
    • Refactor (ec5e50f)
    • Implement blob (f30caf4)
    • Refactor (335e98a)
    • Tree roundtrip (8b26a0e)
    • Prepare for writing out owned trees (2b6eced)
    • Manual deserialize implementation, for now (9f46efd)
    • Use borrowed::Id in trees for full type safety (5d57c1f)
    • Refactor (f7b8826)
    • Commit round-tripping works with multi-line signatures (b692b0a)
    • First attempts to roundtrip signatures shows I parse it wrongly :D (1b48367)
    • Prepare for allowing an owned, processed version of multi-line headers (f966e7f)
    • First attempt to round-trip multi-line headers (645ef94)
    • Single-line header support (478c09e)
    • The first basic version of commit serialization (5319f64)
    • Make reusing round-trip code easier (3b9d66c)
    • Refactor (987787e)
    • Fix tests on windows, by ignoring them (512ed6c)
    • Use borrowed::Id everywhere (9f876f0)
    • Move git_object::Id into git_object::owned::Id - much better already! (50c7136)
    • Basic integration of borrowed Id; translate between owned and borrowed (84ff638)
    • Prepare to allow Id be owned and borrwed; abstract over hash type (d883c31)
    • Introduce the notion of IdRef (7007361)
    • Use statically known borrowed arrays for perfect type safety! (3ead048)
    • Refactor (766f3e4)
    • Tags can write signatures (a48275e)
    • Tags can write a message properly (b590b77)
    • Green tests as basic tags can now be serialied (62a02b4)
    • More tests for signature serialization (5000f30)
    • Time serialization (1eb1e36)
    • Prepare writing of time as part of signature (f560bc5)
    • Add new ‘git-ref’ crate; place ref name validation code there (1a0e84e)
    • Refactor (b4392e8)
    • Some more boilerplate to actually implement complete ref name checking (087857a)
    • Very basic first steps of validated serialization (d3fd5ff)
    • It's probably OK to consume the borrowed objects when converting them to owned (101ddd5)
    • Try basics of roundtrip without consuming the source object (581794e)
    • Refactor (bca1f16)
    • First sketch of owned Tag in preparation for round-tripping (fa2745a)
    • Refactor (90ae25d)
    • Refactor (256581b)
    • 'data -> ‘a as it’s shorter and also more idiomatic (71821e9)
    • Refactor (dedd4dc)
    • Apply cargo-diet (better late than never :D) (295fc81)
    • Make crates publishable (5688a34)
    • Handle windows newlines in test suite for packs as well. (ebd5176)
    • Fixup text file tests on windows (2288088)
    • Add metadata to allow docs.rs build all featueres (10f9386)
    • Git-odb with serde support (0da930c)
    • Cut back on onnecessary annnotations: serde(borrow) (759915c)
    • Serde support for all git-object types, incl. test (1ae8f9c)
    • Learn from the best: with-serde -> serde1 (d651c21)
    • Commit to using bstr whenever something is not data bytes; remove miniserde (3183d1b)
    • Prepare centralization of bstr as optional component (aa857d9)
    • Add support for miniserde (f806647)
    • First gentle test of adding serde support selectively. (78d9bc0)
    • Allow for more screen space when formatting (6794300)
    • Pack offset by index (69e35b1)
    • Test V1 lookup (e9c7127)
    • Validate sha1 of pack objects, some work, some don't for some reason… (aa8799a)
    • Capability to write loose object headers, fast (de0aeff)
    • Simplify folder names (36fde1f)
    • Implement object Id as newtype for more convenenience and… (b7a4d17)
    • Rename grit to ‘gitoxide’, CLI name is ‘gio’ (9d6007f)
    • Fix clippy (a9c5da7)
    • More convenient access to our four object types (ecda6d2)
    • Even better trait derives (e78f9f6)
    • Better trait support for basic types (6617386)
    • Memory size checks for objects (ab51616)
    • Make single-field objects blob and tree more explicit (1aef68f)
    • Add Blob type to parsed objects (d3e8e4b)
    • Fix imports (10f2967)
    • Try pub use with rename. Not bad in the docs, but maybe a bit confusing (526f3f8)
    • Refactor (2ffd7fa)
    • Refacto (ffc0089)
    • Refactor (b9a1647)
    • Test for parsing trees from loose dbs (4f48249)
    • Refactor (9f9ccad)
    • Move git-object tests to top-level for separation and cleanness (df42a01)
    • Prefer integration level tests, but use unit-tests where appropriate (ec3be19)
    • Run previously unused method of Tree (0d159c2)
    • Actually use the Tree object (635e735)
    • Handle commits without newlines; make tag newlines optional (c0b54be)
    • Handle tags without newline; document fixture processing step (344a562)
    • Don't assume newlines in trees anymore (45d7c36)
    • Found huge issue with newlines polluting fixtures. (f182d22)
    • First tree implementation, which seems to work well (9694fcb)
    • Boilerplate for tree parsing (48c4c07)
    • Refactor (d48cafa)
    • Add conversion traits for Object<->Tag|Commit (7dcbd5d)
    • Make Commit available in borrowed object (b2d1b5d)
    • Use smallvec to save memory in the common case (single parent) (263835b)
    • More tests (56248fe)
    • Now gpg-signature parsing works correctly - thanks to peek(…) (7078dac)
    • First somewhat working version of single/multi-line signature parsing (dab5c65)
    • Support single-line gpg signatures (71330b5)
    • Support for commit encoding field (40bffe9)
    • More commit tests, next up: encoding (ca4d3aa)
    • First successful parsing of commit (b44765a)
    • Parse BStr versions of hex-shas directly (e3a2b77)
    • Parse parents (696e0a3)
    • Use BStr instead of Id to avoid parsing into something we might not use/need (7c97471)
    • Factor out hex sha parsing (d650dd2)
    • Refactor (0104f4c)
    • First stab at factoring header parsing into sub-parser (6f6ee8f)
    • First fixtures for commit parsing (551f2d1)
    • Avoid unnecessary allocation when creating SHA1 paths in loose ODB (09d8d3a)
    • Document existing use of unsafe, deny everywhere else (41f4bce)
    • Cleanup integer parsing in loose object database (ecdce1a)
    • Add remaining tag tests, along with some fixes (06e22fb)
    • Use bstr were possible (01dd4e2)
    • The defining property is actually that the object is borrowing data (e0125fd)
    • Refactor (683360a)
    • Move all tests into the top-level for nicer names basically :D (598901a)
    • Refactor (0f01e9f)
    • Refactor (87bbea4)
    • Refactor; add more signature parsing tests (ba9c7de)
    • Cleanup; all tests work! (7c96603)
    • Fix whitespace (ebaaa00)
    • First version of tag message parsing - it's actually changed now (74b2328)
    • Implement parse_signature with nom, starting to like it (ebdf205)
    • First part of parsing tagger signatures (5b43270)
    • Generalize with Boxed error cause (824cd2c)
    • First seemingly awkward way of not discarding too much error information… (6f9a636)
    • Refactor (fb287af)
    • The first sketch of parsing a tag with Nom and half-decent errors (4498dff)
    • Use git-object in git-odb (07f7c31)
    • Move all object related code into own crate… (605ef20)

0.26.0 (2023-01-06)

A maintenance release without user-facing changes.

0.25.0 (2022-12-30)

A maintenance release without user-facing changes.

0.24.0 (2022-12-19)

A maintenance release without user-facing changes.

0.23.0 (2022-11-21)

New Features (BREAKING)

  • upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn‘t more than a patch release as it should break nobody who is adhering to the MSRV, but let’s be careful and mark it breaking.

    Note that gix-features and gix-pack are still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021.

0.22.1 (2022-11-06)

New Features

  • Object::try_into_blob_ref() as alternative to consuming *::try_into_blob()

0.22.0 (2022-10-10)

New Features

  • add tree::EntryMode::is_blob() to quickly determine if an entry is a blob.

Bug Fixes

  • don't panic if broken loose objects are encountered. Previously a loose object could advertise any object size and cause a panic if it was shorter than advertised. Now an error will be returned.

0.21.0 (2022-09-20)

Changed (BREAKING)

  • upgrade bstr to 1.0.1

Chore (BREAKING)

  • remove quick-error in favor of thiserror Some errors change shape which makes this a breaking change.

0.20.3 (2022-08-28)

Maintenance release without user-facing changes.

0.20.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.20.1 (2022-08-17)

New Features

  • tree::EntryMode::as_str() to display itself as a string.

0.20.0 (2022-07-22)

This is a maintenance release with no functional changes.

Bug Fixes

  • improve error messages related to object decoding

0.19.0 (2022-05-18)

New Features

  • TagRefIter::tagger(). Additionally ergonomics have been improved as the iterator is now Copy, similarly to the other iterators.

0.18.0 (2022-04-03)

New Features

  • support for trimming of whitespace around name and email It‘s separated from parsing to assure we can round-trip, but it’s made easy to obtain trimmed results using new methods.

    This high-level git-repository will also trim by default now.

  • CommitRef::time() A shortcut to allow for fluid retrieval of the committer.time.

  • CommitRefIter::(author|committer)(), better usability The methods returning an iterator are now consuming, which allows them to be nested by callers.

  • CommitRefIter::parent_ids() Allocation-free parent retrieval.

  • in-manifest and in-lib feature documentation

0.17.1 (2022-02-01)

A automated maintenance release without impact to the public API.

Fixes

  • Corrected the tree-entry ordering implementation.

0.17.0 (2022-01-23)

Chore

  • upgrade dependencies

New Features

  • Add sorting mode to ancestor traversal #270

  • add Data object This is typed data baked by a slice for conversion into parsed ObjectRef's for example.

    This is usually the result of a Find operation on an object database.

Changed (BREAKING)

  • rename commit::ref_iter::Token::into_id() to *::try_into_id() This makes the method more consistent.
  • 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.16.0 (2021-11-29)

Maintenance release due, which isn‘t really required but one now has to be careful what’s committed at once.

0.15.1 (2021-11-16)

A maintenance release triggered by changes to gix-pack and changelog rewrites.

v0.15.0 (2021-10-19)

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

v0.14.1 (2021-10-15)

This release greatly improves performance when decoding trees, a critical requirement when building packs or generally trying to figure out what changed between commits.

Other

  • describe variants

Performance

  • Provide a new fast parser for tree objects which is used by the tree entry iterator.
  • parse entry mode into number instead of comparing it to byte strings

v0.14.0 (2021-09-08)

v0.13.1 (2021-09-07)

v0.13.0 (2021-08-27)

v0.12.2 (2021-08-17)

v0.12.1 (2021-08-13)

v0.12.0 (2021-08-12)

v0.11.0 (2021-08-11)

v0.10.0 (2021-08-10)

v0.9.0 (2021-05-09)

v0.8.0 (2021-04-30)

v0.7.0 (2021-04-08)

v0.6.0 (2020-12-16)

v0.5.0 (2020-12-15)

v0.4.0 (2020-09-12)

v0.3.0 (2020-08-12)

Refactor

  • Use borrowed::Id in trees for full type safety
  • make reusing round-trip code easier

v0.1.0 (2020-07-12)

Refactor

  • Prefer integration level tests, but use unit-tests where appropriate