Release history
gitoxide releases
An idiomatic, lean, fast & safe pure Rust implementation of Git
All releases
100 shown
gix dirwalk + gix merge tree + Rust 2024 update
Empty checkout, SHA‑256 parsing, submodule fix, is_dirty change
Test tools, filter-driver, SHA‑256, sha1 cleanup, symlink fix
Testtools, Status fixtures, Rust 2024, MSRV, Security
Rust 2024 edition + MSRV raise + SHA forwardings
Test tools, SHA‑256, Rust 2024, MSRV, object_hash
SHA-256 + delta header fix + tool updates
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
gix-testtools, hash forwarding, Rust 2024, MSRV, symlink fix
Routine maintenance and dependency updates.
gix-testtools updates + SHA‑256 + Rust edition bump
Docs, Index Debug, Untracked Decoding, Stat Fix
sha1/sha256 forwarding, Rust 2024, MSRV raise, tooling updates
- `Stream::add_entry_from_path` now requires `hash_kind` argument; update call sites accordingly.
- Introduce `GIX_TEST_FIXTURE_HASH` for configuring hash kind in `gix-worktree-stream`
Full changelog
New Features (BREAKING)
- use
GIX_TEST_FIXTURE_HASHforgix-worktree-stream
This is breaking becauseStream::add_entry_from_path's API has
changed. It now takeshash_kindas an argument.
Commit Statistics
- 20 commits contributed to the release over the course of 28 calendar days.
- 28 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Merge pull request #2589 from GitoxideLabs/fix-status-in-unborn-repo (ba7d9a4)
- Stabilize filter-driver example use in parallel tests to remove flake (db16a05)
- Merge pull request #2573 from cruessler/run-gix-traverse-tests-with-sha-256 (278d7ec)
- Address auto-review (0ec3bb7)
- Cleanup
sha1feature ingixto just set what's needed. (16a6fc4) - Merge pull request #2575 from SarthakB11/fix/issue-2316 (4743361)
- Review (1980190)
- Document why each fixture archive is .gitignored (e3d5a04)
- Merge pull request #2568 from GitoxideLabs/dependabot/cargo/cargo-56d6b174d8 (ab2fee1)
- Update crates to Rust 2024 edition (2cb17b2)
- Remove rust_2018_idioms lint declarations (e10d5f6)
- Raise MSRV for hash dependency updates (3675a8d)
- Merge pull request #2559 from GitoxideLabs/fix/symlink-prefix-reuse-worktree-escape-ghsa-f89h-2fjh-2r9q (3af9b4a)
- Release gix-fs v0.21.1 (d3e4c17)
- Merge pull request #2543 from cruessler/run-gix-worktree-stream-tests-with-sha-256 (23af41a)
- Adapt to changes in
gix-testtoolsand renamehash_kind->object_hash(d9648e8) - Review (71e1de9)
- Add unwrap_or_default (183823e)
- Use
GIX_TEST_FIXTURE_HASHforgix-worktree-stream(f223e63) - Merge pull request #2546 from GitoxideLabs/fix-2545 (adb8328)
Rust 2024 edition update + MSRV raise
gix-traverse, SHA forwardings, Rust 2024, hash-kind rename
MSRV raise + Rust 2024 + fuzz resilience
- MSRV raised for hash dependency updates; ensure runtime meets new minimum version.
- Remove `rust_2018_idioms` lint declarations in dependent code.
- Rename `Data::hash_kind` to `Data::object_hash`
- `sha1` and `sha256` forwardings added for all crates
- Update crates to Rust 2024 edition
Full changelog
Bug Fixes (BREAKING)
- rename
Data::hash_kindtoData::object_hashfor consistency
The new name is now used everywhere and more descriptive and clear.
Commit Statistics
- 12 commits contributed to the release over the course of 28 calendar days.
- 28 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Merge pull request #2573 from cruessler/run-gix-traverse-tests-with-sha-256 (278d7ec)
sha1andsha256forwardings for all crates (09b982c)- Review (1cd36be)
- Merge pull request #2568 from GitoxideLabs/dependabot/cargo/cargo-56d6b174d8 (ab2fee1)
- Update crates to Rust 2024 edition (2cb17b2)
- Remove rust_2018_idioms lint declarations (e10d5f6)
- Raise MSRV for hash dependency updates (3675a8d)
- Merge pull request #2543 from cruessler/run-gix-worktree-stream-tests-with-sha-256 (23af41a)
- Address auto-review (b358d31)
- Rename
Data::hash_kindtoData::object_hashfor consistency (7aff98b) - Adapt to changes in
gix-testtoolsand renamehash_kind->object_hash(d9648e8) - Merge pull request #2546 from GitoxideLabs/fix-2545 (adb8328)
MSRV raise + Rust 2024 + SHA forwardings
- Removed `winnow` crate and all related parser combinators, replacing them with hand‑implemented parsers; detailed error messages from previous winnow parsers are also removed.
Full changelog
Bug Fixes
- Correctly use
$COMMON_DIR/info/excludeto make excludes work in worktrees.
It turns out there is no per-worktree excludes file either.
Chore (BREAKING)
- Upgrade
prodashandcrosstermionto the latest version.
This will fix thecargo denyissue as it brings in a newerlrucrate.
Bug Fixes (BREAKING)
-
remove
winnowand replace it with hand-implemented parsers everywhere.
This will allow for simplified maintenance and editing (both human and machine)
down the road, and enable additional performance optimisations.Parser compbinators to me ultimately were a failed experiment as I couldn't maintain
them anyway, with it being too difficult for me to grasp and express everything
in its very own kind of language, with a lot of different things to consider.Note that this also removes detailed errors from all parsers that previously
usedwinnow, with the option to re-add those if there is demand.
Commit Statistics
- 5 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Adapt to changes in
gix-object(91bfab0) - Remove
winnowand replace it with hand-implemented parsers everywhere. (91c854e) - Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
- Merge pull request #2529 from GitoxideLabs/reflog-newline-handling (2c3a08e)
- Adapt to changes in
gix-error(2e2a126)
- Adapt to changes in
Routine maintenance and dependency updates.
- Removed `winnow` parser combinator library and all its usages, replaced with hand‑implemented parsers; detailed error reporting from those parsers is no longer provided.
Full changelog
Bug Fixes (BREAKING)
-
remove
winnowand replace it with hand-implemented parsers everywhere.
This will allow for simplified maintenance and editing (both human and machine)
down the road, and enable additional performance optimisations.Parser compbinators to me ultimately were a failed experiment as I couldn't maintain
them anyway, with it being too difficult for me to grasp and express everything
in its very own kind of language, with a lot of different things to consider.Note that this also removes detailed errors from all parsers that previously
usedwinnow, with the option to re-add those if there is demand.
Commit Statistics
- 2 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Remove
winnowand replace it with hand-implemented parsers everywhere. (91c854e) - Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
- Remove
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
- Detailed error messages previously provided by winnow parsers are no longer available; consider re‑adding them if needed.
- Update build configurations and codebases to replace any `winnow` imports with the new hand‑implemented parser equivalents.
- Removed `winnow` parser library; all parsers now use hand‑implemented implementations, eliminating detailed error reporting from previous winnow parsers.
Full changelog
Bug Fixes (BREAKING)
-
remove
winnowand replace it with hand-implemented parsers everywhere.
This will allow for simplified maintenance and editing (both human and machine)
down the road, and enable additional performance optimisations.Parser compbinators to me ultimately were a failed experiment as I couldn't maintain
them anyway, with it being too difficult for me to grasp and express everything
in its very own kind of language, with a lot of different things to consider.Note that this also removes detailed errors from all parsers that previously
usedwinnow, with the option to re-add those if there is demand.
Commit Statistics
- 2 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Remove
winnowand replace it with hand-implemented parsers everywhere. (91c854e) - Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
- Remove
Remote tracking, SHA-256 refs, hash kind limit, parser removal
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
Routine maintenance and dependency updates.
- If your code relied on detailed parsing errors from the former winnow-based parsers, you will need to implement alternative error handling or request re‑addition of those details.
- Ensure any usage of Commit/Tag parsing supplies a `gix_hash::Kind` matching the expected hash length; otherwise parsing may fail.
- Limit Commit and Tag parsing to a given `gix_hash::Kind`, simplifying the parser but altering behavior for unsupported hash kinds.
- Remove `winnow` crate entirely, replacing all parsers with hand-implemented versions; detailed error messages previously provided by winnow are no longer emitted.
Full changelog
Bug Fixes (BREAKING)
-
Limit Commit and Tag parsing to a given
gix_hash::Kind
Doing so adds conformity with Git, but also simplifies the parser
which now only parse hex-hashes of a single valid length. -
remove
winnowand replace it with hand-implemented parsers everywhere.
This will allow for simplified maintenance and editing (both human and machine)
down the road, and enable additional performance optimisations.Parser compbinators to me ultimately were a failed experiment as I couldn't maintain
them anyway, with it being too difficult for me to grasp and express everything
in its very own kind of language, with a lot of different things to consider.Note that this also removes detailed errors from all parsers that previously
usedwinnow, with the option to re-add those if there is demand.
Commit Statistics
- 4 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Adapt to changes in
gix-object(91bfab0) - Limit Commit and Tag parsing to a given
gix_hash::Kind(d4439cd) - Remove
winnowand replace it with hand-implemented parsers everywhere. (91c854e) - Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
- Adapt to changes in
Routine maintenance and dependency updates.
- Upgrade `prodash` and `crosstermion` to latest versions (breaks compatibility with previous crate versions).
Full changelog
Chore (BREAKING)
- Upgrade
prodashandcrosstermionto the latest version.
This will fix thecargo denyissue as it brings in a newerlrucrate.
Commit Statistics
- 1 commit contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
- If detailed error messages from parsers are required, implement custom handling as the built‑in winnow errors were removed.
- Removed `winnow` parser combinator library and replaced all parsers with hand‑implemented equivalents; detailed error reporting from winnow parsers is no longer available.
Full changelog
Bug Fixes (BREAKING)
-
remove
winnowand replace it with hand-implemented parsers everywhere.
This will allow for simplified maintenance and editing (both human and machine)
down the road, and enable additional performance optimisations.Parser compbinators to me ultimately were a failed experiment as I couldn't maintain
them anyway, with it being too difficult for me to grasp and express everything
in its very own kind of language, with a lot of different things to consider.Note that this also removes detailed errors from all parsers that previously
usedwinnow, with the option to re-add those if there is demand.
Commit Statistics
- 2 commits contributed to the release over the course of 2 calendar days.
- 3 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details- Uncategorized
- Remove
winnowand replace it with hand-implemented parsers everywhere. (91c854e) - Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
- Remove