Skip to content

Release history

gitoxide releases

An idiomatic, lean, fast & safe pure Rust implementation of Git

All releases

100 shown

Review required
gix-testtools-v0.19.0 Breaking risk

Helpers, independence, winnow removal

No immediate action
v0.54.0 New feature

gix dirwalk + gix merge tree

No immediate action
gitoxide-core-v0.58.0 New feature

gix dirwalk + gix merge tree + Rust 2024 update

No immediate action
gix-fsck-v0.22.0 Maintenance

Rust 2024 edition + lint removal

Review required
gix-v0.84.0 Breaking risk
RCE / SSRF Dependencies

Empty checkout, SHA‑256 parsing, submodule fix, is_dirty change

No immediate action
gix-worktree-state-v0.31.0 Maintenance

Test tools, filter-driver, SHA‑256, sha1 cleanup, symlink fix

No immediate action
gix-submodule-v0.31.0 Maintenance

minor fixes

No immediate action
gix-status-v0.31.0 Mixed

Testtools, Status fixtures, Rust 2024, MSRV, Security

No immediate action
gix-protocol-v0.62.0 Breaking risk

Rust 2024 edition bump

No immediate action
gix-transport-v0.57.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-shallow-v0.12.1 Breaking risk

Rust 2024 edition + MSRV raise + SHA forwardings

No immediate action
gix-refspec-v0.42.0 Maintenance

Minor fixes

No immediate action
gix-odb-v0.81.0 Maintenance

Test tools, SHA‑256, Rust 2024, MSRV, object_hash

Review required
gix-pack-v0.71.0 Breaking risk
Breaking upgrade

SHA-256 + delta header fix + tool updates

No immediate action
gix-negotiate-v0.32.0 Maintenance

Maintenance

No immediate action
gix-merge-v0.17.0 Maintenance

MSRV raise + Rust 2024 + lints removal

No immediate action
gix-revision-v0.46.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-mailmap-v0.33.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-dir-v0.26.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-discover-v0.52.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-credentials-v0.38.1 Maintenance

Maintenance

No immediate action
gix-url-v0.36.1 Maintenance

Edition 2024 update + MSRV raise

No immediate action
gix-prompt-v0.15.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-config-v0.57.0 Maintenance

Minor fixes

No immediate action
gix-sec-v0.14.1 Maintenance

Maintenance

No immediate action
gix-ref-v0.64.0 Maintenance

gix-fs, test tools, object handling, MSRV

No immediate action
gix-blame-v0.14.0 Maintenance

gix modules updates & Rust edition

No immediate action
gix-diff-v0.64.0 Maintenance

gix-testtools, hash forwarding, Rust 2024, MSRV, symlink fix

No immediate action
gix-imara-diff-v0.2.2 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-worktree-v0.53.0 Maintenance

gix-testtools updates + SHA‑256 + Rust edition bump

No immediate action
gix-ignore-v0.21.1 Maintenance

gix-ignore updates + rust2024

No immediate action
gix-pathspec-v0.18.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-config-value-v0.18.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-index-v0.52.0 New feature

Docs, Index Debug, Untracked Decoding, Stat Fix

No immediate action
gix-lock-v23.0.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-tempfile-v23.0.1 Breaking risk

Rust 2024 edition + dependency updates

No immediate action
gix-bitmap-v0.3.2 Breaking risk

Rust 2024 edition bump

No immediate action
gix-archive-v0.33.0 Maintenance

sha1/sha256 forwarding, Rust 2024, MSRV raise, tooling updates

gix-worktree-stream-v0.33.0 Breaking risk
Breaking changes
  • `Stream::add_entry_from_path` now requires `hash_kind` argument; update call sites accordingly.
Notable features
  • Introduce `GIX_TEST_FIXTURE_HASH` for configuring hash kind in `gix-worktree-stream`
Full changelog

New Features (BREAKING)

  • use GIX_TEST_FIXTURE_HASH for gix-worktree-stream
    This is breaking because Stream::add_entry_from_path's API has
    changed. It now takes hash_kind as 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 sha1 feature in gix to 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 rename hash_kind -> object_hash (d9648e8)
    • Review (71e1de9)
    • Add unwrap_or_default (183823e)
    • Use GIX_TEST_FIXTURE_HASH for gix-worktree-stream (f223e63)
    • Merge pull request #2546 from GitoxideLabs/fix-2545 (adb8328)
No immediate action
gix-traverse-v0.58.0 Maintenance

SHA‑256 forwarding + Rust 2024 + MSRV

No immediate action
gix-revwalk-v0.32.0 Maintenance

Rust 2024, MSRV raise, object‑hash rename

No immediate action
gix-commitgraph-v0.37.1 Breaking risk

Rust 2024 edition update + MSRV raise

No immediate action
gix-chunk-v0.7.2 Breaking risk

Rust 2024 edition bump

No immediate action
gix-fs-v0.21.2 Breaking risk

MSRV raise + symlink fix

No immediate action
gix-filter-v0.31.0 Maintenance

gix-traverse, SHA forwardings, Rust 2024, hash-kind rename

No immediate action
gix-packetline-v0.21.4 Breaking risk

Rust 2024 edition bump

No immediate action
gix-command-v0.9.1 Bug fix

Bug fixes + stats + integrations

No immediate action
gix-attributes-v0.33.1 Breaking risk

MSRV raise + Rust 2024 + fuzz resilience

No immediate action
gix-quote-v0.7.2 Breaking risk

Rust 2024 edition bump

No immediate action
gix-glob-v0.26.1 Bug fix

Abort signal preservation + stats + benchmarks

gix-object-v0.61.0 Breaking risk
⚠ Upgrade required
  • MSRV raised for hash dependency updates; ensure runtime meets new minimum version.
  • Remove `rust_2018_idioms` lint declarations in dependent code.
Breaking changes
  • Rename `Data::hash_kind` to `Data::object_hash`
Notable features
  • `sha1` and `sha256` forwardings added for all crates
  • Update crates to Rust 2024 edition
Full changelog

Bug Fixes (BREAKING)

  • rename Data::hash_kind to Data::object_hash for 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)
    • sha1 and sha256 forwardings 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_kind to Data::object_hash for consistency (7aff98b)
    • Adapt to changes in gix-testtoolsand rename hash_kind -> object_hash (d9648e8)
    • Merge pull request #2546 from GitoxideLabs/fix-2545 (adb8328)
No immediate action
gix-hashtable-v0.15.1 Breaking risk

MSRV raise + Rust 2024 + SHA forwardings

No immediate action
gix-hash-v0.25.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-features-v0.48.1 Breaking risk

MSRV raise, Rust 2024, lint removal

No immediate action
gix-utils-v0.3.3 Breaking risk

Rust 2024 edition bump

No immediate action
gix-path-v0.12.1 Maintenance

Rust 2024 edition update

No immediate action
gix-validate-v0.11.2 Breaking risk

MSRV raise + Rust 2024 edition

No immediate action
gix-trace-v0.1.20 Breaking risk

Rust 2024 edition bump

No immediate action
gix-actor-v0.41.1 Breaking risk

Rust 2024 edition bump

No immediate action
gix-date-v0.15.4 Mixed

Refactor + Rust 2024 + MSRV raise

No immediate action
gix-error-v0.2.4 Maintenance

Routine maintenance and dependency updates.

Upgrade now
gix-fs-v0.21.1 Security relevant
RCE / SSRF

Security fix + stats

Upgrade now
v0.53.0 Breaking
Breaking upgrade

Fixes broken gix v0.82

No immediate action
gix-fsck-v0.21.0 Maintenance

Routine maintenance and dependency updates.

gix-v0.83.0 Breaking risk
Breaking changes
  • 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/exclude to make excludes work in worktrees.
    It turns out there is no per-worktree excludes file either.

Chore (BREAKING)

  • Upgrade prodash and crosstermion to the latest version.
    This will fix the cargo deny issue as it brings in a newer lru crate.

Bug Fixes (BREAKING)

  • remove winnow and 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
    used winnow, 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 winnow and 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)
No immediate action
gix-worktree-state-v0.30.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-submodule-v0.30.0 Maintenance

Merge PR #2540

No immediate action
gix-status-v0.30.0 Maintenance

Reporting update

gix-protocol-v0.61.0 Breaking risk
Breaking changes
  • 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 winnow and 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
    used winnow, 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 winnow and replace it with hand-implemented parsers everywhere. (91c854e)
    • Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
No immediate action
gix-transport-v0.57.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-shallow-v0.12.0 Maintenance

Reporting update

No immediate action
gix-refspec-v0.41.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-odb-v0.80.0 Bug fix

CI connectivity fix

No immediate action
gix-pack-v0.70.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-negotiate-v0.31.0 Maintenance

Reporting update

No immediate action
gix-merge-v0.16.0 Maintenance

Reporting update

No immediate action
gix-revision-v0.45.0 Maintenance

Routine maintenance and dependency updates.

gix-mailmap-v0.33.0 Breaking risk
⚠ Upgrade required
  • 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.
Breaking changes
  • 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 winnow and 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
    used winnow, 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 winnow and replace it with hand-implemented parsers everywhere. (91c854e)
    • Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
Review required
gix-url-v0.36.0 Bug fix
Auth

HTTP URL parsing fixes + stats

No immediate action
gix-prompt-v0.15.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-sec-v0.14.0 Maintenance

Routine maintenance and dependency updates.

Review required
gix-ref-v0.63.0 Breaking risk
Breaking upgrade Dependencies

Remote tracking, SHA-256 refs, hash kind limit, parser removal

No immediate action
gix-imara-diff-v0.2.1 Breaking risk

Myers bugfix + imara-diff-v2 breakage

No immediate action
gix-worktree-v0.52.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-ignore-v0.21.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-pathspec-v0.18.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-index-v0.51.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-lock-v23.0.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-tempfile-v23.0.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-worktree-stream-v0.32.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-traverse-v0.57.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-revwalk-v0.31.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-fs-v0.21.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-filter-v0.30.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-glob-v0.26.0 Maintenance

Routine maintenance and dependency updates.

gix-object-v0.60.0 Breaking risk
⚠ Upgrade required
  • 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.
Breaking changes
  • 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 winnow and 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
    used winnow, 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 winnow and replace it with hand-implemented parsers everywhere. (91c854e)
    • Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)
No immediate action
gix-hashtable-v0.15.0 Maintenance

Routine maintenance and dependency updates.

No immediate action
gix-hash-v0.25.0 Maintenance

Routine maintenance and dependency updates.

gix-features-v0.48.0 Breaking risk
Breaking changes
  • Upgrade `prodash` and `crosstermion` to latest versions (breaks compatibility with previous crate versions).
Full changelog

Chore (BREAKING)

  • Upgrade prodash and crosstermion to the latest version.
    This will fix the cargo deny issue as it brings in a newer lru crate.

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)
gix-path-v0.12.0 Breaking risk
⚠ Upgrade required
  • If detailed error messages from parsers are required, implement custom handling as the built‑in winnow errors were removed.
Breaking changes
  • 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 winnow and 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
    used winnow, 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 winnow and replace it with hand-implemented parsers everywhere. (91c854e)
    • Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23)

Beta — feedback welcome: [email protected]