PackageTrack
Sign in Get early access

gix-config

A git-config file parser and editor from the gitoxide project

0.60.0 49M downloads/mo #1230 most downloaded on crates.io GitoxideLabs/gitoxide

What this package is like to depend on

Last release today

22 Aug 2026

Ships on a steady schedule

a new release about every 4 weeks

Nearly every release is documented

notes for 53 of 55 stable releases

1 version withdrawn

withdrawn after publishing

4 years old

56 releases · first in 2023

15 releases in the last 12 months

see the full history below

Release timeline

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

Releases

latest 56
  1. 0.60.0 22 Aug 2026

    Nothing published for this version

  2. 0.59.0 23 Jul 2026

    Nothing published for this version

  3. 0.58.0 22 Jun 2026
    Release notes

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.15.5, gix-hashtable v0.15.2, gix-object v0.62.0, gix-attributes v0.33.2, gix-filter v0.32.0, gix-revwalk v0.33.0, gix-traverse v0.59.0, gix-worktree-stream v0.34.0, gix-archive v0.34.0, gix-tempfile v23.0.2, gix-index v0.53.0, gix-worktree v0.54.0, gix-imara-diff v0.2.3, gix-diff v0.65.0, gix-blame v0.15.0, gix-ref v0.65.0, gix-config v0.58.0, gix-discover v0.53.0, gix-dir v0.27.0, gix-revision v0.47.0, gix-merge v0.18.0, gix-negotiate v0.33.0, gix-pack v0.72.0, gix-odb v0.82.0, gix-refspec v0.43.0, gix-transport v0.57.2, gix-protocol v0.63.0, gix-status v0.32.0, gix-submodule v0.32.0, gix-worktree-state v0.32.0, gix v0.85.0, gix-fsck v0.23.0, gitoxide-core v0.59.0, gitoxide v0.55.0, safety bump 28 crates (6428edc)
      • Merge pull request #2618 from GitoxideLabs/report (f7d4f33) </details>
    Open source →
  4. 0.57.0 26 May 2026
    Release notes

    New Features

    • support cloning a single revision

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

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

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

    Commit Statistics

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

    Commit Details

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

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-error v0.2.4, gix-date v0.15.4, gix-actor v0.41.1, gix-trace v0.1.20, gix-validate v0.11.2, gix-path v0.12.1, gix-utils v0.3.3, gix-features v0.48.1, gix-hash v0.25.1, gix-hashtable v0.15.1, gix-object v0.61.0, gix-glob v0.26.1, gix-quote v0.7.2, gix-attributes v0.33.1, gix-command v0.9.1, gix-packetline v0.21.4, gix-filter v0.31.0, gix-fs v0.21.2, gix-chunk v0.7.2, gix-commitgraph v0.37.1, gix-revwalk v0.32.0, gix-traverse v0.58.0, gix-worktree-stream v0.33.0, gix-archive v0.33.0, gix-bitmap v0.3.2, gix-tempfile v23.0.1, gix-lock v23.0.1, gix-index v0.52.0, gix-config-value v0.18.1, gix-pathspec v0.18.1, gix-ignore v0.21.1, gix-worktree v0.53.0, gix-imara-diff v0.2.2, gix-diff v0.64.0, gix-blame v0.14.0, gix-ref v0.64.0, gix-sec v0.14.1, gix-config v0.57.0, gix-prompt v0.15.1, gix-url v0.36.1, gix-credentials v0.38.1, gix-discover v0.52.0, gix-dir v0.26.0, gix-mailmap v0.33.1, gix-revision v0.46.0, gix-merge v0.17.0, gix-negotiate v0.32.0, gix-pack v0.71.0, gix-odb v0.81.0, gix-refspec v0.42.0, gix-shallow v0.12.1, gix-transport v0.57.1, gix-protocol v0.62.0, gix-status v0.31.0, gix-submodule v0.31.0, gix-worktree-state v0.31.0, gix v0.84.0, gix-fsck v0.22.0, gitoxide-core v0.58.0, gitoxide v0.54.0, safety bump 27 crates (10c58bb)
      • Merge pull request #2590 from GitoxideLabs/independent-testtools (575113d)
      • Move single-file directories in tests to simple module files. (1bc4ce3)
      • Adapt to changes in gix-testtools (ce9e6bd)
      • Merge pull request #2573 from cruessler/run-gix-traverse-tests-with-sha-256 (278d7ec)
      • 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)
      • Raise MSRV for hash dependency updates (3675a8d)
      • Merge pull request #2546 from GitoxideLabs/fix-2545 (adb8328) </details>
    Open source →
    Release notes

    v0.57.0

    Compare

    Choose a tag to compare

    Open source →
  5. 0.56.0 27 Apr 2026
    Release notes

    Commit Statistics

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

    Commit Details

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

    Bug Fixes

    • <csr-id-51279734f848600ccd76b8256e77bf06f429dd60/> Allow more pathological cases during parsing just like Git This improves Git conformity, which is also pretty lenient.

    Bug Fixes (BREAKING)

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

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

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-error v0.2.3, gix-date v0.15.3, gix-actor v0.41.0, gix-path v0.12.0, gix-features v0.48.0, gix-hash v0.25.0, gix-hashtable v0.15.0, gix-object v0.60.0, gix-glob v0.26.0, gix-attributes v0.33.0, gix-command v0.9.0, gix-filter v0.30.0, gix-fs v0.21.0, gix-commitgraph v0.37.0, gix-revwalk v0.31.0, gix-traverse v0.57.0, gix-worktree-stream v0.32.0, gix-archive v0.32.0, gix-tempfile v23.0.0, gix-lock v23.0.0, gix-index v0.51.0, gix-config-value v0.18.0, gix-pathspec v0.18.0, gix-ignore v0.21.0, gix-worktree v0.52.0, gix-imara-diff v0.2.1, gix-diff v0.63.0, gix-blame v0.13.0, gix-ref v0.63.0, gix-sec v0.14.0, gix-config v0.56.0, gix-prompt v0.15.0, gix-url v0.36.0, gix-credentials v0.38.0, gix-discover v0.51.0, gix-dir v0.25.0, gix-mailmap v0.33.0, gix-revision v0.45.0, gix-merge v0.16.0, gix-negotiate v0.31.0, gix-pack v0.70.0, gix-odb v0.80.0, gix-refspec v0.41.0, gix-shallow v0.12.0, gix-transport v0.57.0, gix-protocol v0.61.0, gix-status v0.30.0, gix-submodule v0.30.0, gix-worktree-state v0.30.0, gix v0.83.0, gix-fsck v0.21.0, gitoxide-core v0.57.0, gitoxide v0.53.0, safety bump 48 crates (53f880c)
      • Limit Commit and Tag parsing to a given gix_hash::Kind (d4439cd)
      • Allow more pathological cases during parsing just like Git (5127973)
      • Remove winnow and replace it with hand-implemented parsers everywhere. (91c854e)
      • Merge pull request #2540 from GitoxideLabs/reporting (4d5ba23) </details>
    Open source →
    Release notes

    gix-worktree v0.56.0

    Compare

    Choose a tag to compare

    Open source →
  6. 0.55.0 24 Apr 2026
    Release notes

    Documentation

    • <csr-id-b1102c24055bbf15987a6a8c2e66338aa8a56438/> add crate-root doctests

    Bug Fixes (BREAKING)

    • <csr-id-672d7cd853fcb25223d750261aac4e4f0f8e528c/> accept owned AsKey inputs in raw setters set_raw_value() and set_raw_value_filter() no longer requireconfig's'event` lifetime internally.

      This makes the setter APIs consistent with the read-only raw accessors and allows short-lived key inputs, such as String-backed values, to be used without forcing an extra borrow at the call site.

      Add a regression test covering short-lived keys passed to set_raw_value()

    • <csr-id-cf6c4035e40ca8790a010f4e268ffe51004eeecb/> allow &str to be parsed as key properly Previously there were lifetime issue because the key needed the same lifetime as the underlying parsed file, which was hard to accomplish even with &'static str' as it really needed "&'static &'static str".

      However, this also means that owned keys can't be passed anymore.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Update changelogs prior to release (f9fbcba)
      • Run more fuzz artifacts as part of the test-suite (a1ad31b)
      • Merge pull request #2530 from GitoxideLabs/advisories (63b8419)
      • Add corpus-builder scripts when corpus files are available; auto-run artifacts in test suite (e64e3b8)
      • Add fuzz tests for 10 more crates, and related fixes (0396152)
      • Merge pull request #2518 from GitoxideLabs/improvements (444a92b)
      • Make package.include patterns more specific so they don't match ignored files (c2c917f)
      • Merge pull request #2499 from GitoxideLabs/dependabot/cargo/cargo-17cc682121 (44020e0)
      • Bump the cargo group with 26 updates (9d04035)
      • Merge pull request #2494 from GitoxideLabs/improvements (50fb46f)
      • Accept owned AsKey inputs in raw setters (672d7cd)
      • Merge pull request #2493 from GitoxideLabs/improvements (af1ad55)
      • Allow &str to be parsed as key properly (cf6c403)
      • Merge pull request #2487 from GitoxideLabs/top-level-examples (29c275e)
      • Add crate-root doctests (b1102c2)
      • Merge pull request #2480 from GitoxideLabs/report (98bae84) </details>
    Open source →
  7. 0.54.0 22 Mar 2026
    Release notes

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-error v0.2.0, gix-date v0.15.0, gix-actor v0.40.0, gix-object v0.57.0, gix-quote v0.7.0, gix-attributes v0.31.0, gix-command v0.8.0, gix-filter v0.27.0, gix-chunk v0.7.0, gix-commitgraph v0.34.0, gix-revwalk v0.28.0, gix-traverse v0.54.0, gix-worktree-stream v0.29.0, gix-archive v0.29.0, gix-bitmap v0.3.0, gix-index v0.48.0, gix-pathspec v0.16.0, gix-worktree v0.49.0, gix-diff v0.60.0, gix-blame v0.10.0, gix-ref v0.60.0, gix-config v0.53.0, gix-prompt v0.14.0, gix-url v0.35.2, gix-credentials v0.37.0, gix-discover v0.48.0, gix-dir v0.22.0, gix-mailmap v0.32.0, gix-revision v0.42.0, gix-merge v0.13.0, gix-negotiate v0.28.0, gix-pack v0.67.0, gix-odb v0.77.0, gix-refspec v0.38.0, gix-shallow v0.9.0, gix-transport v0.55.0, gix-protocol v0.58.0, gix-status v0.27.0, gix-submodule v0.27.0, gix-worktree-state v0.27.0, gix v0.80.0, gix-fsck v0.18.0, gitoxide-core v0.54.0, gitoxide v0.51.0, safety bump 42 crates (ecf90fc)
      • Merge branch 'release' (9327b73) </details>
    Open source →
  9. 0.52.0 10 Feb 2026
    Release notes

    Commit Statistics

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

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

    Commit Details

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

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

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

    Commit Statistics

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

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

    Commit Details

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

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

    • #2363
      • Regenerate all changelogs with a more recent CSR version (cbbdef5)
    • Uncategorized
      • Release gix-error v0.0.0, gix-date v0.13.0, gix-actor v0.38.0, gix-validate v0.11.0, gix-path v0.11.0, gix-features v0.46.0, gix-hash v0.22.0, gix-hashtable v0.12.0, gix-object v0.55.0, gix-glob v0.24.0, gix-attributes v0.30.0, gix-command v0.7.0, gix-packetline v0.21.0, gix-filter v0.25.0, gix-fs v0.19.0, gix-chunk v0.5.0, gix-commitgraph v0.32.0, gix-revwalk v0.26.0, gix-traverse v0.52.0, gix-worktree-stream v0.27.0, gix-archive v0.27.0, gix-tempfile v21.0.0, gix-lock v21.0.0, gix-index v0.46.0, gix-config-value v0.17.0, gix-pathspec v0.15.0, gix-ignore v0.19.0, gix-worktree v0.47.0, gix-diff v0.58.0, gix-blame v0.8.0, gix-ref v0.58.0, gix-sec v0.13.0, gix-config v0.51.0, gix-prompt v0.13.0, gix-url v0.35.0, gix-credentials v0.35.0, gix-discover v0.46.0, gix-dir v0.20.0, gix-mailmap v0.30.0, gix-revision v0.40.0, gix-merge v0.11.0, gix-negotiate v0.26.0, gix-pack v0.65.0, gix-odb v0.75.0, gix-refspec v0.36.0, gix-shallow v0.8.0, gix-transport v0.53.0, gix-protocol v0.56.0, gix-status v0.25.0, gix-submodule v0.25.0, gix-worktree-state v0.25.0, gix v0.78.0, gix-fsck v0.17.0, gitoxide-core v0.53.0, gitoxide v0.50.0, safety bump 50 crates (562e684)
      • Merge pull request #2364 from GitoxideLabs/changelogs (0a333e5)
      • Merge pull request #2346 from GitoxideLabs/release (c663b3f)
      • Release gix-trace v0.1.17, gix-features v0.45.2, gix-command v0.6.5, gix-hash v0.21.2, gix-date v0.12.1, gix-actor v0.37.1, gix-object v0.54.1, gix-filter v0.24.1, gix-fs v0.18.2, gix-tempfile v20.0.1, gix-lock v20.0.1, gix-traverse v0.51.1, gix-index v0.45.1, gix-diff v0.57.1, gix-pack v0.64.1 (7be8f90)
      • Merge pull request #2322 from GitoxideLabs/report (211b4fb) </details>
    Open source →
  11. 0.50.0 31 Dec 2025
    Release notes

    Commit Statistics

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

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

    Commit Details

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

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

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.11.1, gix-actor v0.36.1, gix-trace v0.1.16, gix-features v0.45.0, gix-hash v0.21.0, gix-hashtable v0.11.0, gix-object v0.53.0, gix-glob v0.23.0, gix-attributes v0.29.0, gix-filter v0.23.0, gix-fs v0.18.0, gix-commitgraph v0.31.0, gix-revwalk v0.24.0, gix-traverse v0.50.0, gix-worktree-stream v0.25.0, gix-archive v0.25.0, gix-tempfile v20.0.0, gix-lock v20.0.0, gix-index v0.44.0, gix-config-value v0.16.0, gix-pathspec v0.14.0, gix-ignore v0.18.0, gix-worktree v0.45.0, gix-diff v0.56.0, gix-blame v0.6.0, gix-ref v0.56.0, gix-config v0.49.0, gix-prompt v0.12.0, gix-url v0.34.0, gix-credentials v0.33.0, gix-discover v0.44.0, gix-dir v0.18.0, gix-mailmap v0.28.1, gix-revision v0.38.0, gix-merge v0.9.0, gix-negotiate v0.24.0, gix-pack v0.63.0, gix-odb v0.73.0, gix-refspec v0.34.0, gix-shallow v0.7.0, gix-transport v0.51.0, gix-protocol v0.54.0, gix-status v0.23.0, gix-submodule v0.23.0, gix-worktree-state v0.23.0, gix v0.76.0, gix-fsck v0.15.0, gitoxide-core v0.51.0, gitoxide v0.48.0, safety bump 43 crates (21fecdf)
      • Merge pull request #2277 from GitoxideLabs/dependabot/cargo/cargo-83105039d9 (f8435ea)
      • Bump the cargo group with 7 updates (6bf895c)
      • Merge pull request #2275 from GitoxideLabs/dependabot/cargo/cargo-92eaa62a2e (93dd630)
      • Bump the cargo group across 1 directory with 14 updates (703644c) </details>
    Open source →
  13. 0.48.0 22 Nov 2025
    Release notes

    Commit Statistics

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

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

    Commit Details

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

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

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

    <csr-id-6f469a6fea59c88e6c69a5f94b0bc8a5977cb75b/>

    Commit Statistics

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

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

    Commit Details

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

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

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

    <csr-id-6f469a6fea59c88e6c69a5f94b0bc8a5977cb75b/>

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    Bug Fixes

    • <csr-id-042efa0f0b45744aeb70edb48c156b44380132ae/> on Windows, Source::User now produces a directory even if HOME is not set. This way it's easier to use downstream which may not have typical environment variables set, particularly on Windows.

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.10.3, gix-actor v0.35.2, gix-trace v0.1.13, gix-path v0.10.19, gix-features v0.43.0, gix-hash v0.19.0, gix-hashtable v0.9.0, gix-object v0.50.0, gix-glob v0.21.0, gix-attributes v0.27.0, gix-command v0.6.2, gix-packetline-blocking v0.19.1, gix-filter v0.20.0, gix-fs v0.16.0, gix-commitgraph v0.29.0, gix-revwalk v0.21.0, gix-traverse v0.47.0, gix-worktree-stream v0.22.0, gix-archive v0.22.0, gix-tempfile v18.0.0, gix-lock v18.0.0, gix-index v0.41.0, gix-config-value v0.15.1, gix-pathspec v0.12.0, gix-ignore v0.16.0, gix-worktree v0.42.0, gix-diff v0.53.0, gix-blame v0.3.0, gix-ref v0.53.0, gix-sec v0.12.0, gix-config v0.46.0, gix-prompt v0.11.1, gix-url v0.32.0, gix-credentials v0.30.0, gix-discover v0.41.0, gix-dir v0.15.0, gix-mailmap v0.27.2, gix-revision v0.35.0, gix-merge v0.6.0, gix-negotiate v0.21.0, gix-pack v0.60.0, gix-odb v0.70.0, gix-refspec v0.31.0, gix-shallow v0.5.0, gix-packetline v0.19.1, gix-transport v0.48.0, gix-protocol v0.51.0, gix-status v0.20.0, gix-submodule v0.20.0, gix-worktree-state v0.20.0, gix v0.73.0, gix-fsck v0.12.0, gitoxide-core v0.48.0, gitoxide v0.45.0, safety bump 43 crates (5a919c4)
      • Update changelogs prior to release (65037b5)
      • Merge pull request #2070 from GitoxideLabs/dependabot/cargo/cargo-827bceb7eb (dab97f7)
      • Bump the cargo group across 1 directory with 68 updates (a9a8ea1)
      • Merge pull request #2041 from cruessler/add-blame-extraction (dd5f0a4)
      • Thanks clippy (554ce13)
      • Merge pull request #2033 from GitoxideLabs/dependabot/cargo/cargo-b72232998d (f8d7c0a)
      • Adapt gix-config/gix-object benches to changes in criterion (91aef25)
      • Adapt gix-config tests to changes in tempfile (eccd13a)
      • Bump the cargo group with 56 updates (151e3a5)
      • Merge pull request #2014 from GitoxideLabs/zip (648022b)
      • Release gix-glob v0.20.1, gix-attributes v0.26.1, gix-command v0.6.1, gix-filter v0.19.2, gix-worktree-stream v0.21.2, gix-archive v0.21.2 (f0ed2cc)
      • Merge pull request #2009 from GitoxideLabs/release-gix-index (c3f06ae)
      • Release gix-path v0.10.18, gix-date v0.10.2, gix-traverse v0.46.2, gix-index v0.40.1 (d2b4c44)
      • Merge pull request #1971 from GitoxideLabs/new-release (8d4c4d1) </details>
    Open source →
  17. 0.45.1 26 Apr 2025
    Release notes

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

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

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

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

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

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

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

    • <csr-id-aa91f9ae4c589efb5b047c1f0d9be7fe49f55ab0/> add File::section_ids() iterator and file::SectionMut::set_trust() #(1912) That way it's easier to make changes to sections in a mutable instance of Git configuration.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

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

    Bug Fixes

    • <csr-id-be80806fa990f7992f2c334622cd3e4abb6c36ca/> assure that sections can be deleted properly with File::remove_section_filter() The underlying issue isn't fixed, as ids in the lookup table remain even after deletion. However, for now it was easiest to defensively access this data, while assuring that the API (still) does what it claims.

    Commit Statistics

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

    • 15 commits contributed to the release.
    • 76 days passed between releases.
    • 1 commit was understood as conventional.
    • 1 unique issue was worked on: #1826

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • #1826
      • Assure that sections can be deleted properly with File::remove_section_filter() (be80806)
    • Uncategorized
      • Release gix-sec v0.10.12, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0 (ada5a94)
      • Release gix-date v0.9.4, gix-utils v0.2.0, gix-actor v0.34.0, gix-features v0.41.0, gix-hash v0.17.0, gix-hashtable v0.8.0, gix-path v0.10.15, gix-validate v0.9.4, gix-object v0.48.0, gix-glob v0.19.0, gix-quote v0.5.0, gix-attributes v0.25.0, gix-command v0.5.0, gix-packetline-blocking v0.18.3, gix-filter v0.18.0, gix-fs v0.14.0, gix-commitgraph v0.27.0, gix-revwalk v0.19.0, gix-traverse v0.45.0, gix-worktree-stream v0.20.0, gix-archive v0.20.0, gix-tempfile v17.0.0, gix-lock v17.0.0, gix-index v0.39.0, gix-config-value v0.14.12, gix-pathspec v0.10.0, gix-ignore v0.14.0, gix-worktree v0.40.0, gix-diff v0.51.0, gix-blame v0.1.0, gix-ref v0.51.0, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0, safety bump 48 crates (b41312b)
      • Update changelogs prior to release (38dff41)
      • Merge pull request #1907 from EliahKagan/run-ci/raw (7b17da6)
      • Drop trailing , just before ) on same line in function calls (66a5ae1)
      • Use raw literals for more strings with backslashes (01bd76d)
      • Merge pull request #1854 from GitoxideLabs/montly-report (16a248b)
      • Thanks clippy (8e96ed3)
      • Merge pull request #1835 from GitoxideLabs/fixes (503098d)
      • Merge pull request #1822 from epage/w7 (11ac79c)
      • Upgrade to Winnow 0.7 (fdc57e7)
      • Resolve Winnow deprecations (3cd3e2a)
      • Upgrade to Winnow 0.6.26 (783c4e6)
      • Merge pull request #1778 from GitoxideLabs/new-release (8df0db2) </details>
    Open source →
  20. 0.43.0 18 Jan 2025
    Release notes

    <csr-id-f952c101cc8686e685074e8604e0f332c06d6767/>

    Commit Statistics

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

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

    Commit Details

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

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

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

    <csr-id-17835bccb066bbc47cc137e8ec5d9fe7d5665af0/>

    Commit Statistics

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

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

    Commit Details

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

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

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

    <csr-id-dd366a52d46078729a6e36468211b97c92c2921d/>

    New Features

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

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

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

    New Features

    • <csr-id-92558a1fecae4175e599aec624b30b2be1c6db8d/> add hasconfig:remotes.*.url:<url-glob>

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-glob v0.17.1, gix-command v0.3.11, gix-filter v0.15.0, gix-chunk v0.4.10, gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0, gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-sec v0.10.10, gix-config v0.42.0, gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-ignore v0.12.1, gix-bitmap v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0, gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0, gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0, gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0 (4000197)
      • Release gix-date v0.9.2, gix-actor v0.33.1, gix-hash v0.15.1, gix-features v0.39.1, gix-validate v0.9.2, gix-object v0.46.0, gix-path v0.10.13, gix-quote v0.4.14, gix-attributes v0.23.1, gix-packetline-blocking v0.18.1, gix-filter v0.15.0, gix-chunk v0.4.10, gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0, gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-config v0.42.0, gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-bitmap v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0, gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0, gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0, gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0, safety bump 25 crates (8ce4912)
      • Prepare changelogs prior to release (bc9d994)
      • Merge pull request #1690 from EliahKagan/gitattributes (700cfa5)
      • Fix marking gix-packetline-blocking copy auto-generated (325588e)
      • Merge pull request #1662 from paolobarbolini/thiserror-v2 (7a40648)
      • Upgrade thiserror to v2.0.0 (0f0e4fe)
      • Merge pull request #1656 from GitoxideLabs/hasconfig (c5955fc)
      • Add hasconfig:remotes.*.url:<url-glob> (92558a1)
      • Remove gix dev-dependency. It's not really required. (581ef67)
      • Move tests into new location for better readability (23034b0)
      • Merge pull request #1642 from GitoxideLabs/new-release (db5c9cf) </details>
    Open source →
  22. 0.41.0 22 Oct 2024
    Release notes

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    <csr-id-64ff0a77062d35add1a2dd422bb61075647d1a36/>

    Bug Fixes

    • <csr-id-cdac4a9b04959b0fc71009b5c828cdcb10a38828/> remove workspace lints from Cargo manifests of fuzz-projects. They are not part of the parent workspace.

    Bug Fixes (BREAKING)

    • <csr-id-9c619e48db145928ff6ac420d6bb3d79deefc9f8/> make all filter arguments non-dyn. Otherwise it can happen that &mut |section| {...} needs to be borrowed for 'static, which makes it impossible to use.

      The coercion seems to be messing with lifetimes.

    • <csr-id-17573779688e755a786546d5e42ab533088cd726/> remove all workspace dependencies The problem is that with them, we don't notice anymore if the crate changes, because a dependency changes. That also means that older versions of the dependency may stay even though some other crates might pick up a newer version.

      Ultimately, this will lead to drift and subtle incompatibilities.

      We declare this breaking to enforce a proper re-release.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.9.1, gix-utils v0.1.13, gix-actor v0.33.0, gix-hash v0.15.0, gix-trace v0.1.11, gix-features v0.39.0, gix-hashtable v0.6.0, gix-validate v0.9.1, gix-object v0.45.0, gix-path v0.10.12, gix-glob v0.17.0, gix-quote v0.4.13, gix-attributes v0.23.0, gix-command v0.3.10, gix-packetline-blocking v0.18.0, gix-filter v0.14.0, gix-fs v0.12.0, gix-chunk v0.4.9, gix-commitgraph v0.25.0, gix-revwalk v0.16.0, gix-traverse v0.42.0, gix-worktree-stream v0.16.0, gix-archive v0.16.0, gix-config-value v0.14.9, gix-tempfile v15.0.0, gix-lock v15.0.0, gix-ref v0.48.0, gix-sec v0.10.9, gix-config v0.41.0, gix-prompt v0.8.8, gix-url v0.28.0, gix-credentials v0.25.0, gix-ignore v0.12.0, gix-bitmap v0.2.12, gix-index v0.36.0, gix-worktree v0.37.0, gix-diff v0.47.0, gix-discover v0.36.0, gix-pathspec v0.8.0, gix-dir v0.9.0, gix-mailmap v0.25.0, gix-merge v0.0.0, gix-negotiate v0.16.0, gix-pack v0.54.0, gix-odb v0.64.0, gix-packetline v0.18.0, gix-transport v0.43.0, gix-protocol v0.46.0, gix-revision v0.30.0, gix-refspec v0.26.0, gix-status v0.14.0, gix-submodule v0.15.0, gix-worktree-state v0.14.0, gix v0.67.0, gix-fsck v0.7.0, gitoxide-core v0.42.0, gitoxide v0.38.0, safety bump 41 crates (3f7e8ee)
      • Merge pull request #1639 from cruessler/respect-env-variables (48aa74b)
      • Make all filter arguments non-dyn. (9c619e4)
      • Merge pull request #1624 from EliahKagan/update-repo-url (795962b)
      • Update gitoxide repo URLs in a few test cases (507579e)
      • Update gitoxide repository URLs (64ff0a7)
      • Merge pull request #1612 from Byron/merge (37c1e4c)
      • Thanks clippy (af03832)
      • Merge pull request #1593 from Byron/fix-fuzz (72daa46)
      • Remove workspace lints from Cargo manifests of fuzz-projects. (cdac4a9)
      • Merge pull request #1586 from Byron/fix-ci (22fbe70)
      • Update crate-status to inform about tree-editing capabilities (fe1eb97)
      • Merge pull request #1582 from Byron/gix-path-release (93e86f1)
      • Release gix-trace v0.1.10, gix-path v0.10.11 (012a754)
      • Merge pull request #1557 from Byron/merge-base (649f588)
      • Allow empty-docs (beba720)
      • Merge branch 'global-lints' (37ba461)
      • Workspace Clippy lint management (2e0ce50)
      • Merge pull request #1546 from nyurik/semilocons (f992fb7)
      • Add missing semicolons (ec69c88)
      • Merge branch 'fixes' (46cd1ae)
      • Remove all workspace dependencies (1757377) </details>
    Open source →
  23. 0.40.0 22 Aug 2024
    Release notes

    New Features

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

    Bug Fixes

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-attributes v0.22.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (f2b522d)
      • Release gix-glob v0.16.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (a65a17f)
      • Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (d19af16)
      • Prepare changelogs prior to release (0f25841)
      • Merge branch 'dependabot/github_actions/github-actions-c4bcf5a8e2' (2e00b5e)
      • Use workspace dependency for unicode-bom (89d77dc)
      • Make winnow a workspace dependency (78a7e32)
      • Merge branch 'upgrades' (1d37bf6)
      • Update all dependencies and fix deprecations (f5cd3ba) </details>
    Open source →
  25. 0.38.0 23 Jul 2024
    Release notes

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

    New Features

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

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

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

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

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

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

    Bug Fixes

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    Bug Fixes

    • <csr-id-0dc2a0c467d2bee7f345c68a56e6c89ce10faf9c/> prevent newline amplification A fuzzer found input sized 780kb, but the output becomes 180MB in size, ultimately taking 48s to parse on M1 Pro.

      Note that the parsing itself is fast, but we seem to modify the input in such a way that parsing takes way longer than it should. That might be another issue which it will probably find next, let's wait for it.

    • <csr-id-a9a3545db2b2cfa37f685666046c2ffd5f3fa806/> File::from_globals() now also provides options of the Git installation. That way, it's usable for learning everything about credentials for example.

    New Features (BREAKING)

    • <csr-id-0ec2389e4e3c457f87cff2cbdd394a94f7d0d54a/> gix-config convenience initiative A new gix_config::AsKey trait allows all gix_config::File methods to receive an implementation of AsKey instead of the tuple of (section, subsection, value_name). This is the default, and all methods that take a tuple have been renamed to <name>_by(), note the _by suffix.

      The terminology was reworked so that key is now only used to identify a value.

      This change also affects the public API of gix, which provides ways to set values on configuration snapshots which now by default will only take a AsKey implementation.

      Note that gix::config::tree::* keys now also implement AsKey, which allows them to be used more conveniently when setting values, too.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-actor v0.31.5, gix-filter v0.11.3, gix-fs v0.11.2, gix-commitgraph v0.24.3, gix-revwalk v0.13.2, gix-traverse v0.39.2, gix-worktree-stream v0.13.1, gix-archive v0.13.2, gix-config-value v0.14.7, gix-tempfile v14.0.1, gix-ref v0.45.0, gix-sec v0.10.7, gix-config v0.38.0, gix-prompt v0.8.6, gix-url v0.27.4, gix-credentials v0.24.3, gix-ignore v0.11.3, gix-index v0.33.1, gix-worktree v0.34.1, gix-diff v0.44.1, gix-discover v0.33.0, gix-pathspec v0.7.6, gix-dir v0.6.0, gix-mailmap v0.23.5, gix-negotiate v0.13.2, gix-pack v0.51.1, gix-odb v0.61.1, gix-transport v0.42.2, gix-protocol v0.45.2, gix-revision v0.27.2, gix-refspec v0.23.1, gix-status v0.11.0, gix-submodule v0.12.0, gix-worktree-state v0.11.1, gix v0.64.0, gix-fsck v0.4.1, gitoxide-core v0.39.0, gitoxide v0.37.0 (6232824)
      • Release gix-glob v0.16.4, gix-attributes v0.22.3, gix-command v0.3.8, gix-filter v0.11.3, gix-fs v0.11.2, gix-commitgraph v0.24.3, gix-revwalk v0.13.2, gix-traverse v0.39.2, gix-worktree-stream v0.13.1, gix-archive v0.13.2, gix-config-value v0.14.7, gix-tempfile v14.0.1, gix-ref v0.45.0, gix-sec v0.10.7, gix-config v0.38.0, gix-prompt v0.8.6, gix-url v0.27.4, gix-credentials v0.24.3, gix-ignore v0.11.3, gix-index v0.33.1, gix-worktree v0.34.1, gix-diff v0.44.1, gix-discover v0.33.0, gix-pathspec v0.7.6, gix-dir v0.6.0, gix-mailmap v0.23.5, gix-negotiate v0.13.2, gix-pack v0.51.1, gix-odb v0.61.1, gix-transport v0.42.2, gix-protocol v0.45.2, gix-revision v0.27.2, gix-refspec v0.23.1, gix-status v0.11.0, gix-submodule v0.12.0, gix-worktree-state v0.11.1, gix v0.64.0, gix-fsck v0.4.1, gitoxide-core v0.39.0, gitoxide v0.37.0 (a1b73a6)
      • Update manifests (by cargo-smart-release) (0470df3)
      • Prepare changelog prior to release (99c00cc)
      • Release gix-path v0.10.9 (15f1cf7)
      • Be more generous with mem::usage() expected peak (7dd58b8)
      • Merge branch 'config-fuzz' (ed66357)
      • Prevent newline amplification (0dc2a0c)
      • Reproduce a fuzz issue causing the config parsing to take too long (6c0364a)
      • Merge branch 'config-globals' (929744a)
      • File::from_globals() now also provides options of the Git installation. (a9a3545)
      • Release gix-path v0.10.8 (8d89b86)
      • Merge branch 'tar-only' (1dfa90d)
      • Remove binary files in favor of tar files (dcab79a)
      • Merge branch 'config-key' (5663a2c)
      • gix-config convenience initiative (0ec2389)
      • Addditional fixes on top of the merge commit (dbe1f22)
      • Merge branch 'main' into config-key-take-2 (9fa1054)
      • Merge branch 'status' (2f9f0ac)
      • Thanks clippy (acc1331)
      • Merge pull request #1361 from EliahKagan/freebsd (9c65d98)
      • Regenerate archives for changed scripts (ea12fc2)
      • Make bash script shebangs more portable (68cbea8)
      • Release gix-fs v0.11.1, gix-glob v0.16.3 (2cefe77)
      • Merge pull request #1385 from Byron/fix-gix-ref (8da55a3)
      • Release gix-ref v0.44.1 (2d0a352) </details>
    Open source →
  26. 0.37.0 22 May 2024
    Release notes

    <csr-id-202f3e48a96b38d32b11d28449358c7d1f3546ff/>

    New Features

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

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

    • <csr-id-a5168aae699dca825cc0c33c0044f5465f20b02e/> display path of included configuration file that couldn't be opened. This will help with issues like these: https://github.com/o2sh/onefetch/issues/1277

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-trace v0.1.9, gix-utils v0.1.12, gix-packetline-blocking v0.17.4, gix-filter v0.11.1, gix-fs v0.10.2, gix-traverse v0.39.0, gix-worktree-stream v0.12.0, gix-archive v0.12.0, gix-config v0.36.1, gix-url v0.27.3, gix-index v0.32.0, gix-worktree v0.33.0, gix-diff v0.43.0, gix-pathspec v0.7.3, gix-dir v0.4.0, gix-pack v0.50.0, gix-odb v0.60.0, gix-transport v0.42.0, gix-protocol v0.45.0, gix-status v0.9.0, gix-worktree-state v0.10.0, gix v0.62.0, gix-fsck v0.4.0, gitoxide-core v0.37.0, gitoxide v0.35.0, safety bump 14 crates (095c673)
      • Prepare changelogs prior to release (5755271)
      • Merge pull request #1341 from szepeviktor/typos (55f379b)
      • Fix typos (f72ecce)
      • Merge branch 'add-topo-walk' (b590a9d)
      • Thanks clippy (7f6bee5)
      • Merge branch 'status' (45edd2e)
      • Merge pull request #1337 from blinxen/main (52efa90)
      • [gix-config] Run parse::tests::section::size_of_events only on 64 bit architectures (0ce06a6)
      • Display path of included configuration file that couldn't be opened. (a5168aa) </details>
    Open source →
  28. 0.36.0 14 Mar 2024
    Release notes

    Commit Statistics

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

    Commit Details

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

    New Features

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

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

    Bug Fixes

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

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

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

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

      Note that this issue can be reproduced with:

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.8.5, gix-hash v0.14.2, gix-trace v0.1.8, gix-utils v0.1.11, gix-features v0.38.1, gix-actor v0.31.0, gix-validate v0.8.4, gix-object v0.42.0, gix-path v0.10.7, gix-glob v0.16.2, gix-quote v0.4.12, gix-attributes v0.22.2, gix-command v0.3.6, gix-filter v0.11.0, gix-fs v0.10.1, gix-chunk v0.4.8, gix-commitgraph v0.24.2, gix-hashtable v0.5.2, gix-revwalk v0.13.0, gix-traverse v0.38.0, gix-worktree-stream v0.11.0, gix-archive v0.11.0, gix-config-value v0.14.6, gix-tempfile v13.1.1, gix-lock v13.1.1, gix-ref v0.43.0, gix-sec v0.10.6, gix-config v0.36.0, gix-prompt v0.8.4, gix-url v0.27.2, gix-credentials v0.24.2, gix-ignore v0.11.2, gix-bitmap v0.2.11, gix-index v0.31.0, gix-worktree v0.32.0, gix-diff v0.42.0, gix-discover v0.31.0, gix-pathspec v0.7.1, gix-dir v0.2.0, gix-macros v0.1.4, gix-mailmap v0.23.0, gix-negotiate v0.13.0, gix-pack v0.49.0, gix-odb v0.59.0, gix-packetline v0.17.4, gix-transport v0.41.2, gix-protocol v0.44.2, gix-revision v0.27.0, gix-refspec v0.23.0, gix-status v0.7.0, gix-submodule v0.10.0, gix-worktree-state v0.9.0, gix v0.60.0, safety bump 26 crates (b050327)
      • Prepare changelogs prior to release (52c3bbd)
      • Merge branch 'status' (3e5c974)
      • Fix lints for nightly, and clippy (f8ce3d0)
      • Fix docs for gix-config _by() methods. (e09a4ec)
      • Fixup! cargo fmt (e5f815a)
      • Fixup! gix-config now uses a Key trait rather than Into<&BStr> (29e470b)
      • Use .as_refs() in gix-config to avoid unnecessary monomorphization. (819d7eb)
      • Cargo fmt (b3556b2)
      • Key trait docs. (096fd12)
      • Update gix-config setters. (ba3bf65)
      • Gix-config now uses a Key trait rather than Into<&BStr> (6281e1a) </details>
    Open source →
    Release notes

    gix-worktree-stream v0.36.0

    Compare

    Choose a tag to compare

    Open source →
  29. 0.35.0 25 Feb 2024
    Release notes

    New Features

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

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

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

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

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

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

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.8.4, gix-utils v0.1.10, gix-actor v0.30.1, gix-object v0.41.1, gix-path v0.10.6, gix-glob v0.16.1, gix-quote v0.4.11, gix-attributes v0.22.1, gix-command v0.3.5, gix-filter v0.10.0, gix-commitgraph v0.24.1, gix-worktree-stream v0.10.0, gix-archive v0.10.0, gix-config-value v0.14.5, gix-ref v0.42.0, gix-sec v0.10.5, gix-config v0.35.0, gix-prompt v0.8.3, gix-url v0.27.1, gix-credentials v0.24.1, gix-ignore v0.11.1, gix-index v0.30.0, gix-worktree v0.31.0, gix-diff v0.41.0, gix-discover v0.30.0, gix-pathspec v0.7.0, gix-dir v0.1.0, gix-pack v0.48.0, gix-odb v0.58.0, gix-transport v0.41.1, gix-protocol v0.44.1, gix-revision v0.26.1, gix-refspec v0.22.1, gix-status v0.6.0, gix-submodule v0.9.0, gix-worktree-state v0.8.0, gix v0.59.0, gix-fsck v0.3.0, gitoxide-core v0.36.0, gitoxide v0.34.0, safety bump 10 crates (45b4470)
      • Prepare changelogs prior to release (f2e111f)
      • Merge pull request #1290 from epage/winnow (a663e9f)
      • Update winnow to 0.6 (e175b20)
      • Update winnow to 0.5.40 (516e105)
      • Merge branch 'dirwalk' (face359)
      • Adjust gitignore files with precious declarations (ae86a6a)
      • Adjust test expectations to work with latest Rust version (53e9b4e)
      • Thanks clippy (13d5602)
      • Merge branch 'tempfile-permissions' (7b44c7f)
      • Release gix-tempfile v13.1.0, gix-lock v13.1.0, safety bump 12 crates (8430442)
      • Merge pull request #1267 from epage/winnow (69cb78b)
      • Move off deprecated fold_repeat (b7ca4b2)
      • Update from winnow 0.5.31 to 0.5.36 (9470554)
      • Release gix-path v0.10.5 (b8cba96)
      • Assure the fuzzer can't construct expensive values (3edf0fe) </details>
    Open source →
  30. 0.34.0 20 Jan 2024
    Release notes

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    Bug Fixes

    • <csr-id-b382f76a4ace08a6e743b292c4f2c383dfd94e8f/> assure excessive amounts of newlines can't lead to amplification. Now we won't read more than 1024 newlines in a row, which leads to a protection from specifically crafted configuration files which can amplify themselves when large amounts of edits happen on them.

      If somebody where to create a lot of sections based on one that has a huge amount of newlines before it, this whitespace would be retained with each new section, causing huge files to be created in memory that cause great delays when writing the file back and re-reading it.

      Maybe there would have been a way to avoid copying excessive amounts of whitespace when altering a section, or maybe one could also have adjusted the fuzz-test that found it [1]. This would, however, have been much harder and time-consuming to implement for dubious value.

    Bug Fixes (BREAKING)

    • <csr-id-c71d16e45ea4ed68b76a43a7ed653d73f3672878/> greatly reduce peak memory usage when reading files. Previously it was possible to cause a memory consumption of 2.5GB by merely reading a specifically tuned configuration file sized a little less than 1MB, a massive 2500x amplification.

      Data structures have been optimized and premature optimizations removed in favor of much more efficient memory usage.

      Now the same file causes a 36MB peak memory usage, still quite a lot, but also ~70x less than before.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-utils v0.1.9, gix-features v0.38.0, gix-actor v0.30.0, gix-object v0.41.0, gix-path v0.10.4, gix-glob v0.16.0, gix-attributes v0.22.0, gix-command v0.3.3, gix-packetline-blocking v0.17.3, gix-filter v0.9.0, gix-fs v0.10.0, gix-commitgraph v0.24.0, gix-revwalk v0.12.0, gix-traverse v0.37.0, gix-worktree-stream v0.9.0, gix-archive v0.9.0, gix-config-value v0.14.4, gix-tempfile v13.0.0, gix-lock v13.0.0, gix-ref v0.41.0, gix-sec v0.10.4, gix-config v0.34.0, gix-url v0.27.0, gix-credentials v0.24.0, gix-ignore v0.11.0, gix-index v0.29.0, gix-worktree v0.30.0, gix-diff v0.40.0, gix-discover v0.29.0, gix-mailmap v0.22.0, gix-negotiate v0.12.0, gix-pack v0.47.0, gix-odb v0.57.0, gix-pathspec v0.6.0, gix-packetline v0.17.3, gix-transport v0.41.0, gix-protocol v0.44.0, gix-revision v0.26.0, gix-refspec v0.22.0, gix-status v0.5.0, gix-submodule v0.8.0, gix-worktree-state v0.7.0, gix v0.58.0, safety bump 39 crates (eb6aa8f)
      • Prepare changelogs prior to release (6a2e0be)
      • Limit the amount of work done to avoid the creation of huge file when fuzzing the section API (4138902)
      • Release gix-trace v0.1.7, gix-features v0.37.2, gix-commitgraph v0.23.2, gix-traverse v0.36.2, gix-index v0.28.2 (b6c04c8)
      • Assure excessive amounts of newlines can't lead to amplification. (b382f76)
      • Merge branch 'fix-fuzzer' (17a81c7)
      • Add test for memory usage in worse-case scenario (6bb407f)
      • Greatly reduce peak memory usage when reading files. (c71d16e)
      • Optimize gix-config fuzzer performance (36f4d92)
      • Merge branch 'fuzz-gix-config' (34e4a16)
      • Add gix_config::File fuzzer dictionary (2420547)
      • Fuzz more of mutable gix_config::File API (9cdb461) </details>
    Open source →
  31. 0.33.1 30 Dec 2023
    Release notes

    <csr-id-3bd09ef120945a9669321ea856db4079a5dab930/>

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

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

    Bug Fixes (BREAKING)

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

      Thanks to @Manishearth for pointing this out.

    Commit Statistics

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

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

    Commit Details

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

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

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

    <csr-id-aea89c3ad52f1a800abb620e9a4701bdf904ff7d/> <csr-id-14460020ff5f5c6f1d5c4089d35d7d6932604d14/> <csr-id-ebc051c1d470bbb063deb9ff57ba058b93f1e8a3/>

    New Features

    • <csr-id-8053710e2940ced8ab8a7805de3bb94408352a9e/> Fuzz more of the gix-config api

    Bug Fixes

    • <csr-id-1fe600e72911c2f27b20be312b2e805451e7d58c/> assure that GIT_CONFIG_NOSYTEM is treated as boolean. That way, it can also be deactivated, which is exactly what git does.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.8.2, gix-hash v0.14.0, gix-trace v0.1.5, gix-features v0.37.0, gix-actor v0.29.0, gix-validate v0.8.2, gix-object v0.40.0, gix-path v0.10.2, gix-glob v0.15.0, gix-quote v0.4.9, gix-attributes v0.21.0, gix-command v0.3.1, gix-packetline-blocking v0.17.1, gix-utils v0.1.7, gix-filter v0.8.0, gix-fs v0.9.0, gix-chunk v0.4.6, gix-commitgraph v0.23.0, gix-hashtable v0.5.0, gix-revwalk v0.11.0, gix-traverse v0.36.0, gix-worktree-stream v0.8.0, gix-archive v0.8.0, gix-config-value v0.14.2, gix-tempfile v12.0.0, gix-lock v12.0.0, gix-ref v0.40.0, gix-sec v0.10.2, gix-config v0.33.0, gix-prompt v0.8.1, gix-url v0.26.0, gix-credentials v0.23.0, gix-ignore v0.10.0, gix-bitmap v0.2.9, gix-index v0.28.0, gix-worktree v0.29.0, gix-diff v0.39.0, gix-discover v0.28.0, gix-macros v0.1.2, gix-mailmap v0.21.0, gix-negotiate v0.11.0, gix-pack v0.46.0, gix-odb v0.56.0, gix-pathspec v0.5.0, gix-packetline v0.17.1, gix-transport v0.40.0, gix-protocol v0.43.0, gix-revision v0.25.0, gix-refspec v0.21.0, gix-status v0.4.0, gix-submodule v0.7.0, gix-worktree-state v0.6.0, gix v0.57.0, gix-fsck v0.2.0, gitoxide-core v0.35.0, gitoxide v0.33.0, safety bump 40 crates (e1aae19)
      • Prepare changelogs of next release (e78a92b)
      • Merge branch 'maintenance' (4454c9d)
      • Upgrade MSRV to v1.70 (aea89c3)
      • Thanks clippy (d38d1cc)
      • Merge branch 'fix-config' (7ddf948)
      • Remove unused imports (f89e6c4)
      • Merge branch 'fuzz-gix-config' (0f71709)
      • Add corpus builder for config (27490d9)
      • Fuzz more of gix_config::File (c6d1635)
      • Merge branch 'gix-config-fix' (b6d4e99)
      • Disable CI fuzzing while it's broken (75f48d6)
      • Reproduce fuzzed issue leading to stack-overflow, and fix it. (90219cd)
      • Merge branch 'gix-config' (7917c13)
      • Remove file_section test in favor of integrating reasonsable tests with file. (64a4a75)
      • Add a fuzz harness for File (1446002)
      • Add fuzzer for file::Section (ebc051c)
      • Merge pull request #1186 from silvergasp/fuzz-gix-config (f5a0296)
      • Fuzz more of the gix-config api (8053710)
      • Merge branch 'main' into fix-1183 (1691ba6)
      • Release gix-ref v0.39.1 (c1cfe6e)
      • Merge branch 'archive-handling' (7549559)
      • Check all git-lfs managed files into the repository (35439de)
      • Merge branch '32bit' (ff1542c)
      • Assure that GIT_CONFIG_NOSYTEM is treated as boolean. (1fe600e) </details>
    Open source →
  33. 0.32.1 07 Dec 2023
    Release notes

    New Features

    • <csr-id-6738955949d82a66c070dcb65e368652898bd1d2/> GIT_CONFIG_NOSYSTEM now also affects the installation directory. It makes sense to consider it part of the 'system', and allows for proper isolation of gix operations, for example in tests.

      This is also a fix, as previously it checked for ...NO_SYSTEM, instead of NOSYSTEM.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-config v0.32.1 (cd26fd8)
      • Merge branch 'adjustments-for-cargo' (56588a9)
      • GIT_CONFIG_NOSYSTEM now also affects the installation directory. (6738955) </details>
    Open source →
  34. 0.32.0 06 Dec 2023
    Release notes

    New Features

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

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

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

    Bug Fixes

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

    Bug Fixes (BREAKING)

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4, gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8, gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0, gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0, safety bump 27 crates (55d386a)
      • Prepare changelogs prior to release (d3dcbe5)
      • Upgrade to winnow 0.5.24 (abcfb65)
      • J fmt (51c7abc)
      • Merge branch 'check-cfg' (5a0d93e)
      • Replace all docsrs config by the document-features feature (bb3224c)
      • Merge branch 'size-optimization' (c0e72fb)
      • Remove CHANGELOG.md from all packages (b65a80b) </details>
    Open source →
  35. 0.31.0 12 Oct 2023
    Release notes

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

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

    New Features

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

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

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

    <csr-id-d3ac691446c9d029eb4f04d111887fa06720939d/> <csr-id-ed327f6163f54756e58c20f86a563a97efb256ca/>

    This release contains a security fix which assure URLs like 'ssh://-oProxyCommand=open$IFS-aCalculator/foo' will not execute attacker-controlled strings. The above can, on MacOS, launch the calculator app when using it with gix clone for example, up to v0.29.0.

    New Features

    • <csr-id-f094f71dc1a50955552509d108556c01517c6ed6/> gix status with basic index-worktree comparison
    • <csr-id-3ff5ac0cda9e3e089dc79fdfbff5ff619ee60b1f/> gix free index from-list and gix index from-tree gain --skip-hash. This flag can be derived from options, but thus far we have no higher-level writing of the index so this has to do to see the difference in performance.

    Bug Fixes (BREAKING)

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

    Commit Statistics

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

    • 13 commits contributed to the release over the course of 27 calendar days.
    • 33 days passed between releases.
    • 5 commits were understood as conventional.
    • 2 unique issues were worked on: #987, #992

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • #987
      • Use a multi-call binary ('uni') to have only one build step (4ef9a32)
    • #992
      • Both ein and gix now share some code via the gitoxide library. (d3ac691)
    • Uncategorized
      • Merge branch 'reset' (54a8495)
      • gix status with basic index-worktree comparison (f094f71)
      • Merge branch dynification (f658fcc)
      • Use dyn trait where possible. (072ee32)
      • Update to the latest prodash (ed327f6)
      • Merge branch 'adjustments-for-cargo' (b7560a2)
      • Merge branch 'fixes' (4bfd1cc)
      • Thanks clippy (0d6d4ec)
      • Adapt to changes in gix-index and pass skip-hash through for performance.. (713cd59)
      • gix free index from-list and gix index from-tree gain --skip-hash. (3ff5ac0)
      • Add more configuration variables prior to potentially using them; remove index.skipHash (773b6e3) </details>
    Open source →
    Release notes

    <csr-id-db0c4017142fd25d26d1c6860972b1ac84b24a6e/>

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-features v0.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)
      • Merge branch 'path-config' (9c528dc)
      • Add more test cases to pin behaviour around string and path handling. (db0c401) </details>
    Open source →
  37. 0.29.0 08 Sep 2023
    Release notes

    New Features

    • <csr-id-1ccbe16117d58b68b25a8e3e66676a61a07dd49c/> gix submodule subcommand for simple submodule listing and information retrieval
    • <csr-id-6bc69e37deb3ebd88af8b0e8ffb9661562dcc679/> gix index entries --recurse-subomdules to also list submodules.
    • <csr-id-c30ac0c9f89fb4480c8f8c8c0c06fa046dcd4314/> gix index entries with styles and pathspecs. This adds support for more simple git style, which is faster and thus allows for more direct comparisons to git ls-files.
    • <csr-id-f194cfc920cc8622215bab5aa6b7b87e4fb9d7b2/> use real pathspecs where it was supported before.
    • <csr-id-cd6cfe4049bacd8d8a691668b5501a673867f149/> add gix commit verify-signature to do something akin to git ... --show-signature.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Merge branch 'gix-submodule' (8f3f358)
      • gix submodule subcommand for simple submodule listing and information retrieval (1ccbe16)
      • Just fmt (0d258f4)
      • Merge branch 'submodule-in-gix' (36f7b78)
      • gix index entries --recurse-subomdules to also list submodules. (6bc69e3)
      • Merge branch 'submodule-active' (a3afaa4)
      • Adapt to changes in gix (ca972a2)
      • Use Defaults::from_environment() when parsing pathspecs. (2a99034)
      • Optimize startup times of gix index entries (22477bd)
      • Merge branch 'pathspec-matching' (9f4dfe0)
      • gix index entries with styles and pathspecs. (c30ac0c)
      • Use real pathspecs where it was supported before. (f194cfc)
      • Merge branch 'handlers-mt' (f584d76)
      • Adapt to changes in gix (a201f0d)
      • Merge branch 'extract-signatures' (b37affe)
      • Add gix commit verify-signature to do something akin to git ... --show-signature. (cd6cfe4)
      • Merge branch 'archive-gz' (c7d9129)
      • Adapt to changes in gix-archive (feba76d)
      • Merge branch 'submodules' (b629f8a)
      • .gitmodule file abstraction (6a2e6a4) </details>
    Open source →
    Release notes

    New Features

    • <csr-id-2b8d09f785f471aa12fc6793f0ea40c1f8d9ea4a/> remove log dependency in favor of gix-trace

    Bug Fixes (BREAKING)

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

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.8.0, gix-hash v0.13.0, gix-features v0.34.0, gix-actor v0.26.0, gix-object v0.36.0, gix-path v0.10.0, gix-glob v0.12.0, gix-attributes v0.18.0, gix-packetline-blocking v0.16.6, gix-filter v0.4.0, gix-fs v0.6.0, gix-commitgraph v0.20.0, gix-hashtable v0.4.0, gix-revwalk v0.7.0, gix-traverse v0.32.0, gix-worktree-stream v0.4.0, gix-archive v0.4.0, gix-config-value v0.14.0, gix-tempfile v9.0.0, gix-lock v9.0.0, gix-ref v0.36.0, gix-sec v0.10.0, gix-config v0.29.0, gix-prompt v0.7.0, gix-url v0.23.0, gix-credentials v0.19.0, gix-diff v0.35.0, gix-discover v0.24.0, gix-ignore v0.7.0, gix-index v0.24.0, gix-macros v0.1.0, gix-mailmap v0.18.0, gix-negotiate v0.7.0, gix-pack v0.42.0, gix-odb v0.52.0, gix-pathspec v0.2.0, gix-packetline v0.16.6, gix-transport v0.36.0, gix-protocol v0.39.0, gix-revision v0.21.0, gix-refspec v0.17.0, gix-submodule v0.3.0, gix-worktree v0.25.0, gix-worktree-state v0.2.0, gix v0.53.0, safety bump 39 crates (8bd0456)
      • Prepare changelogs for release (375db06)
      • Merge branch 'optimizations' (6135a5e)
      • Optimize internal gix usage for faster compile time (9d33e2f)
      • Remove log dependency in favor of gix-trace (2b8d09f)
      • Merge branch dynification (f658fcc)
      • Use dyn trait where possible. (072ee32)
      • Thanks clippy (5044c3b)
      • Merge branch 'gix-submodule' (363ee77) </details>
    Open source →
  38. 0.28.0 22 Aug 2023
    Release notes

    New Features

    • <csr-id-32bbb8b7b1f195adf7e5f06fd2ddc19153516a2f/> add simple CLI for gix archive

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Merge branch 'gix-archive' (1dda48b)
      • Allow to create additional entries via the command-line (4a9d0f1)
      • Add compression support to gix archive, which is where it should shine. (567b1a4)
      • Add simple CLI for gix archive (32bbb8b)
      • Merge branch 'integrate-filtering' (b19a56d)
      • Add keys required to deal with worktree conversions and filters. (3fbd7b0)
      • Merge branch 'basic-filtering' (3fd5e16)
      • Add some configuration variables as planned due to relevancy with filters (fa04378) </details>
    Open source →
    Release notes

    <csr-id-ef54aab9e5521add4154ee8d902d62612a9d8d4a/>

    Bug Fixes

    • <csr-id-c51c8daee1ab54130ae3ed83ce67d08f01c4881a/> fix incorrect s/git-config/gix-config/ 3a861c8f049f6502d3bcbdac752659aa1aeda46a just blindly replaced any occurence of "git-config" or "git_config" with "gix-config"/"gix_config".

      There is no such thing as a gix-config file. gix-config is a git-config file parser.

    • <csr-id-66dadf807f41aa9e828639c52a7d220bf4f3df72/> regression that could cause non-linear parsing behaviour.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates (30b2761)
      • Update changelogs prior to release (f23ea88)
      • Merge branch 'gix-submodule' (8f3f358)
      • More cleanup of test crates (73c685a)
      • Just fmt (0d258f4)
      • Switch nom to winnow in remaining uses in gix-object, gix-ref, and gix-actor for ~20% more performance. (ef54aab)
      • Upgrade winnow to latest patch release (8c41848)
      • Merge pull request #988 from not-my-profile/fix-gix-config-sub (7735047)
      • Fix incorrect s/git-config/gix-config/ (c51c8da)
      • Regression that could cause non-linear parsing behaviour. (66dadf8)
      • Further clarify the expectation after changing is_err() assertion to is_ok() (a743c5d)
      • Propogate value errors to user (0f9af3f)
      • Improve config performance on degenerate cases (5366f79)
      • Improve inner loop of config value parsing (e208362)
      • Upgrade to Winnow 0.5 (3f8c91f)
      • Switch gix to winnow 0.3 (ee75de1)
      • Add fuzz-issue for reproduction (510192e) </details>
    Open source →
  39. 0.27.0 07 Aug 2023
    Release notes

    <csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/>

    This release fixes a possibility for V1 fetches to deadlock if negotiation would span multiple rounds (see issue #882) for details.

    New Features (BREAKING)

    • <csr-id-b82edc8b965344a866039f6c99295db4f8e776e2/> list commit-graph entries by graph traversal, move commit-graph up to gix level. This is merely a debug tool to learn about generation numbers. All commit-graph commands now operate on a repository.

    New Features

    • <csr-id-c494cfd6f80cf273107c626d0f2cbe054db378ee/> gix --trace to also print tree-like instrumentation

    • <csr-id-452ed6b79ed0e12ae214af3c8cd49a87dba91c73/> gix fetch --open-negotiation-graph[=limit] Open the negotiation graph as SVG, after optionally specifying a limit as rendering/layouting can be very slow.

      It's useful to see how the negotiation algorithm is reasoning about each commit.

    • <csr-id-096838ffa529148b2da3a2382a2d1fdbfe5bee5b/> gix fetch --negotiation-info to provide additional information about the negotiation phase.

    • <csr-id-bd32e393fedd01e27a4f6984281bcc3182c63b67/> bit revision list --svg to create a visual graph of commits. It's mainly a test of how well layout-rs performs.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Make gitoxide publishable again (c16b1df)
      • Merge branch 'gix-corpus' (5861afb)
      • Add corpus --dry-run and --task-sql-suffix and --repo-sql-suffix (4cef57d)
      • Gix-corpus now respects the --trace flag (0f973ac)
      • Adapt to changes in gix-trace (bd6e3d7)
      • Merge branch 'corpus' (aa16c8c)
      • Thanks clippy (361cf96)
      • gix --trace to also print tree-like instrumentation (c494cfd)
      • Run tasks in parallel (cfd8e88)
      • Refresh a corpus repositories by updating all of them. (a0b4385)
      • Obtain a repository-list with classifiers (a4300c8)
      • Provide all the meta-data that is needed to make a run (and associate it with that) (fcbda1d)
      • A build script to set a gitoxide version according to what's in git (83f6466)
      • A basic command to perform a corpus run (d9e74ff)
      • Merge branch 'gix-revision-graph' (036e60a)
      • gix fetch --open-negotiation-graph[=limit] (452ed6b)
      • gix fetch --negotiation-info to provide additional information about the negotiation phase. (096838f)
      • Make top-level gix docs available when using cargo doc (518159d)
      • bit revision list --svg to create a visual graph of commits. (bd32e39)
      • Merge branch 'help-874-redundant-closures' (fe59956)
      • Merge branch 'fix-commitgraph' (2213321)
      • Bring back the no-repo commitgraph for stress-tests to work (ff8d42a)
      • Move commit-graph implementation into its correct place (750b07a)
      • Add clippy::redundant-closure-for-method-calls lint (bcad5c2)
      • Merge branch 'future-dates' (8d2e6a9)
      • List commit-graph entries by graph traversal, move commit-graph up to gix level. (b82edc8)
      • Add options related to commitgraph to gix config tree (7aaaebf) </details>
    Open source →
    Release notes

    Bug Fixes (BREAKING)

    • <csr-id-d091c78aa863180ea304cd4e0b60a2193a82a546/> File::push_section() is now infallible. Previously it used a Result even though it couldn't fail anywhere.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-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 'submodules' (b629f8a)
      • File::push_section() is now infallible. (d091c78)
      • Merge branch 'dev-on-linux' (6b4a303)
      • Fix various tests to run properly on linux (ef8ccd9) </details>
    Open source →
  40. 0.26.2 02 Aug 2023
    Release notes

    New Features

    • compare hash types with text

      Allow ObjectId, oid, ChangeId, Prefix, HexDisplay, and ReverseHexDisplay to
      compare with str and String values without allocating, reusing the existing
      stack encoders and Kind::hex_buf().

      Make full object and change ID comparisons symmetric but intentionally less
      lenient than parsing: only their exact canonical lowercase spelling compares
      equal. Uppercase input remains parseable, but treating differently-cased strings
      as equal through the same hash would violate PartialEq transitivity even though
      the strings differ from each other.

      Keep Prefix and truncated display comparisons directional, with the hash value
      on the left, because their text omits the hash kind or remaining digest and
      therefore cannot uniquely identify the structural value. This prevents distinct
      hashes from forming non-transitive equality chains through a shared textual
      prefix.

    Commit Statistics

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

    Commit Details

    view details
    • Uncategorized
      • Compare hash types with text (75ad70c)
      • Merge pull request #2933 from GitoxideLabs/report-august (b8914ff)
    Open source →
    Release notes

    The parsing switches from nom to winnow, which eases maintenance and improves performances.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-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)
      • Prepare changelogs (e4d2890)
      • Merge branch 'config' (daf3389)
      • Minor refactor (224121b)
      • Make clippy happy (1a1e2f5)
      • Pull newline counting out of inner loop (beac408)
      • Remove value_impl's explicit start index tracking (63552ee)
      • Remove value_impl's explicit end index tracking (8db009c)
      • Upgrade to winnow 0.5 (fe997c8)
      • Remove error creation shorthand (8581d25)
      • Simplify value_impl escape parsing (9e6ba0f)
      • Clarify value_impl index handling (b790948)
      • Flatten value_impl (5fc1096)
      • Normalize parser lifetimes (083efbc)
      • Simplify section (5f2b68e)
      • Simplify section_header (0fe3854)
      • Simplify sub_section parsing (d2e06c8)
      • Simplify simpler parsers (edb4e04)
      • Simplify error creation (bdcd379)
      • Prepare for winnow 0.5 upgrade (42ae766)
      • Move off deprecated parsers (b0287a8)
      • Upgrade to winnow 0.4 (a639994)
      • Prepare for winnow 0.4 upgrade (cfc642a)
      • Move off of remaining deprecated parsers (18bee03)
      • Switch to Parser inherent parsers (6ac1b37)
      • Switch to type-native winnow parsers (5b3ae94)
      • Switch gix-config to winnow 0.3 (3d9ae21) </details>
    Open source →
    Release notes

    gix-hash v0.26.2

    Compare

    Choose a tag to compare

    Open source →
  41. 0.26.1 22 Jul 2023
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

    • 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

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

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

    • Uncategorized
      • Release gix-config v0.26.1, gix v0.50.0 (d34a4ea)
      • Fix gix-config dependency versions (dbeb68d) </details>
    Open source →
  42. 0.26.0 19 Jul 2023
    Release notes

    The main attraction of this release is support for multi-round negotiations thanks to support for the standard negotiations algorithms. Further, gix index entries now lists attributes as well, and there is the new gix attribute query sub-command in the vain of git check-attrs.

    New Features

    • <csr-id-e1fcc7f69e7b95aeac8cbbde3719a1e6b9dafeba/> gix attributes validate to validate attributes and ignore against git as baseline. Use this command to test the entire index for ignored paths and their attributes and use git check-attr and git check-ignore to validate that git agrees. Collect all mismatches and print them.
    • <csr-id-450b2325909459c7061f3d02f461c3f0f20f1e86/> --statistics for gix excludes query With it one gets some insights into the work done to fulfil the query.
    • <csr-id-bfdcb147cdc3d0338a4cd2bc915b0e0eeced1e99/> gix attribute query as something similar to git check-attrs.
    • <csr-id-b8db2072bb6a5625f37debe9e58d08461ece67dd/> no-repo index from-list to create an index with empty files from the given list. The list could be created with find . -type f for example.
    • <csr-id-13a0f1e568cf9ee462ecf01d416cfcd4949fd9c6/> add pro-forma library to allow feature documentation of gitoxide on docs.rs

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • just fmt (ffc1276)
      • Merge branch 'integrate-gix-negotiate' (ae845de)
      • Adapt to changes in gix (7983f6f)
      • Keep track of core.alternateRefsCommand (d925896)
      • Merge branch 'auto-clippy' (dbf8aa1)
      • Include custom clippy settings (b057500)
      • Merge branch 'consecutive-negotiation' (4507f94)
      • Support reading the fetch algorithm from configuration (33b7770)
      • Merge branch 'gix-attributes-validate' (a849da8)
      • gix attributes validate to validate attributes and ignore against git as baseline. (e1fcc7f)
      • Merge branch 'gix-attribute-query' (1d70213)
      • --statistics for gix excludes query (450b232)
      • gix attribute query as something similar to git check-attrs. (bfdcb14)
      • no-repo index from-list to create an index with empty files from the given list. (b8db207)
      • Merge branch 'fix-841' (edeb4de)
      • Add pro-forma libaray to allow feature documentation of gitoxide on docs.rs (13a0f1e)
      • Use unlimited parallelism for jwalk to have a better comparison. (d67551d) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • Uncategorized
      • Release gix-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)
      • Thanks clippy (3ef32af) </details>
    Open source →
  43. 0.25.1 29 Jun 2023
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

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

    A maintenance release without user-facing changes, just to fix installation

    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

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

    New Features

    • <csr-id-08e8fc2152794652ba1c986df493c2ac915af9e7/> gix index entries also prints attributes.
    • <csr-id-9723e1addf52cc336d59322de039ea0537cdca36/> gix clone and gix fetch with controls for shallow repositories.
    • <csr-id-f93e964b1f7ba95861966ce58ebef477013dd1b4/> ein t trace-path know accepts the trace-file alias.

    Bug Fixes

    • <csr-id-dd14a80a78fea3f092b1d5300637c80cfd9e59a7/> printing to stdout for commands that don't show progress is greatly improved. Previously it would have to lock stdout on each write, now this is done only once.
    • <csr-id-7bd8823ab4241d6d0401f03aec8c0d34f68c347c/> opening repositories without 'strict' mode also ignores IO errors. These will instead be logged, but won't make it impossible to open an otherwise fine repository.

    New Features (BREAKING)

    • <csr-id-ca8ebdfb9647ff15b0293823bb3bb3c6779c8dd2/> turn gix free index entries into gix index entries.

    Commit Statistics

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

    • 25 commits contributed to the release.
    • 62 days passed between releases.
    • 6 commits were understood as conventional.
    • 2 unique issues were worked on: #301, #790

    Commit Details

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

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

    • #301
    • #790
      • Opening repositories without 'strict' mode also ignores IO errors. (7bd8823)
    • Uncategorized
      • Merge branch 'index-entries-attrs' (f37a930)
      • gix index entries also prints attributes. (08e8fc2)
      • Printing to stdout for commands that don't show progress is greatly improved. (dd14a80)
      • Turn gix free index entries into gix index entries. (ca8ebdf)
      • Merge branch 'attributes-cache' (3456c84)
      • Adjust to changes in gix-worktree (13a070f)
      • Merge branch 'fix-819' (69faad0)
      • Add information about configuration flags related to fsync usage (8d5762c)
      • Merge branch 'main' into dev (23ee47f)
      • Merge branch 'worktree-stack' (3d47919)
      • Assure we load all gitattributes when needed. (9237121)
      • Merge branch 'fix-790' (ee36e5b)
      • Add group headings to all shallow-related arguments. (bbb4cb0)
      • Keep track of index.skipHash (f29f35c)
      • Make fmt (3836cc0)
      • Merge branch 'various-fixes' (cc0f506)
      • Fix clap derive declaration of conflicts (c502fa8)
      • Merge branch 'shallow-protocol' (531dd19)
      • gix clone and gix fetch with controls for shallow repositories. (9723e1a)
      • Improve error handling and reporting of ein t query (d5616b6)
      • Make fmt (8ef1cb2)
      • Merge branch 'rename-tracking' (3827ac6)
      • ein t trace-path know accepts the trace-file alias. (f93e964) </details>
    Open source →
    Release notes

    <csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/>

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.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)
      • 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) </details>
    Open source →
  46. 0.23.0 06 Jun 2023
    Release notes

    This release adds the new ein tool query analytics engine, which maintains a database of a git repository as acceleration data structure to run useful queries on. It's nothing more than an MVP, and was inspired by a program to accelerate Git-Heat-Map.

    New Features

    • <csr-id-f8cc62376bd6e940be4c41e84ccbfce111e64e39/> ein tool query - a git analytics engine. A tool to build and efficiently maintain a database of information contained in a git repository, preferably the kind of information that is expensive to obtain, in order to facilitate queries that would be prohibitive without an accelerating data structure.
    • <csr-id-49520d1f03ee1d011f6e9f2eb07084d327fe95ae/> gix tree entries with rev-spec support. Previously it wanted a tree-id, now it can derive it itself.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Merge branch 'rename-tracking' (550144a)
      • ein tool query - a git analytics engine. (f8cc623)
      • gix tree entries with rev-spec support. (49520d1)
      • Fix journey tests; improve panic handling when --progress is used. (571121c) </details>
    Open source →
    Release notes

    <csr-id-dbc6cbb4363c2532f81b0bd6e351c4577bb9e9a3/>

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-date v0.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)
      • Prepare changelogs prior to release (8f15cec)
      • Merge branch 'fix-docs' (420553a)
      • Cleaning up documentation (2578e57)
      • Merge branch 'auto-clippy' (dbf8aa1)
      • Auto-fix as many 'range-plus-one' lints as possible (4795fcf)
      • Merge branch 'main' into auto-clippy (3ef5c90)
      • Merge pull request #864 from nyurik/lint-fmt (279dc09)
      • Inline format args (dbc6cbb)
      • Release gix-ref v0.29.1 (13e01f5) </details>
    Open source →
  47. 0.22.0 27 Apr 2023
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Merge branch 'rename-crates' into inform-about-gix-rename (c9275b9)
      • Adjust to renaming for git-protocol to gix-protocol (823795a)
      • Adjust to renaming of git-features to gix-features (e2dd68a)
      • Merge branch 'rename-crates' (6461c3d)
      • Rename git-repository to gix (7bed2a9)
      • Merge branch 'rename-tracking' (9e7d792)
      • Keep track of all keys relevant renaming when merging and obtaining status (0f2ed59) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

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

    <csr-id-1d9a5e925890883e9e712db14ac82411ad2fdfc3/>

    New Features

    • <csr-id-b81f650b476354c5bd030aa03b9a723d9d7a0970/> gix clone <url> is now permitted without specifying a destination directory. Note that the implementation doesn't take into account potential redirects and renames as it's implemented only with the first URL it sees (not the redirected ones).
    • <csr-id-38ae61a805bd8cca5df8d1c1dcf3a8a0f9c85f5a/> make more HTTP options available
      • http.schannelCheckRevoke

    Commit Statistics

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

    • 15 commits contributed to the release over the course of 47 calendar days.
    • 49 days passed between releases.
    • 3 commits were understood as conventional.
    • 1 unique issue was worked on: #683

    Thanks Clippy

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

    Clippy helped 2 times to make code idiomatic.

    Commit Details

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

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

    • #683
      • gix clone <url> is now permitted without specifying a destination directory. (b81f650)
    • Uncategorized
      • Make fmt (e22080e)
      • Merge branch 'adjustments-for-cargo' (7bba270)
      • gix progress now usees the configuration tree as basis for data. (ea76bf5)
      • Thanks clippy (f7b8794)
      • Upgrade to clap 4.1 (1d9a5e9)
      • Merge branch 'patch-1' (b93f0c4)
      • Thanks clippy (9e04685)
      • Upgrade tabled (7aed326)
      • Merge branch 'gix-clone-improvements' (76c99f3)
      • Merge branch 'adjustments-for-cargo' (f8c562a)
      • Adapt to changes in git-repository and git-transport (d336368)
      • Update planned usage of ssh related configuration variables. (3f91088)
      • Merge branch 'adjustments-for-cargo' (d821fc5)
      • Make more HTTP options available (38ae61a) </details>
    Open source →
    Release notes

    Bug Fixes

    • <csr-id-13edfe96696636c30040ec81ebc4e235ac689429/> use home in env::home_dir()
    • <csr-id-da9009f807acfe50000724589853a112fc5ab9a4/> Use gix-path for obtaining some shared directories as base for path generation. This will make system wide configuration available on windows at least when using the migw builds.

    New Features (BREAKING)

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

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

    Commit Statistics

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

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

    Commit Details

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

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

    • #814
      • Rename serde1 cargo feature to serde and use the weak-deps cargo capability. (b83ee36)
    • Uncategorized
      • Release gix-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 'utkarshgupta137/main' (74cb5ee)
      • Use home in env::home_dir() (13edfe9)
      • Release gix-utils v0.1.0, gix-hash v0.11.0, gix-date v0.5.0, gix-features v0.29.0, gix-actor v0.20.0, gix-object v0.29.0, gix-archive v0.1.0, gix-fs v0.1.0, safety bump 25 crates (8dbd0a6)
      • Merge branch 'main' into dev (cdef398)
      • Rename the serde1 feature to serde (19338d9)
      • Merge branch 'main' into dev (23ee47f)
      • Merge branch 'worktree-stack' (3d47919)
      • Use gix-path for obtaining some shared directories as base for path generation. (da9009f)
      • Merge branch 'patch-1' (d0052c1)
      • Upgrade various dependencies (f9ad837)
      • Upgrade serial-test to v2 (6932017) </details>
    Open source →
  49. 0.20.1 30 Mar 2023
    Release notes

    Documentation

    • <csr-id-02c4659984fa6423bc76cc4980a143edaba8ace0/> fix minor typos
    • <csr-id-cc48c35d0ecf35824910c5b6ecc62fe9b2aff1b5/> fix minor typos

    Bug Fixes

    • <csr-id-d1bd513f27e17787eb223f7b0521f954c518153e/> $HOME detection on windows

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-path v0.7.3, gix-config-value v0.10.2, gix-config v0.20.1, gix-discover v0.16.2, gix-index v0.15.1, gix-odb v0.43.1, gix-packetline v0.15.1, gix-protocol v0.30.2, gix-worktree v0.15.2, gix v0.43.1 (38eed1d)
      • Merge branch 'pascalkuthe/main' (d47cebe)
      • Refactor (d1e5e12)
      • $HOME detection on windows (d1bd513)
      • Fix minor typos (02c4659)
      • Fix minor typos (cc48c35)
      • Release gix-ref v0.27.2 (e965b18)
      • Be sure to clear the buffer after an intermediate read error happened and we ignore it. (877951a) </details>
    Open source →
  50. 0.20.0 26 Mar 2023
    Release notes

    New Features

    • allow requiring archived scripted fixtures

      Add version-aware fixture loaders:

      • scripted_fixture_read_only_with_git_version()
      • scripted_fixture_read_only_with_args_with_git_version()

      Both use normal fixture generation when the installed Git version satisfies
      the caller-provided predicate. For incompatible versions, they require an
      identity-matching archive, ignore GIX_TEST_IGNORE_ARCHIVES, and return None
      instead of running the fixture script when no usable archive exists.

    Bug Fixes

    • avoid calling git --version each time a metadata directory is created.

    New Features (BREAKING)

    • expand gix-testtools fixture support
      Note that I did only skim through git.rs,
      considering the details of the implementation secondary to the outcome.

      gix.rs was refactored quite a bit, helping to provide more utilities
      in other plumbing crates to help with this 'gix' avoidance.

      Add deterministic repository snapshots covering HEAD, references, reachable
      commits, every index stage, conflict-free index trees, and exact worktree
      contents. Provide a portable form which omits platform-specific filesystem modes
      for stable cross-platform assertions.

      Add writable Git-version-aware fixture APIs for copy and execute creation modes.
      Require archived fixtures when the selected Git is incompatible, without running
      unsupported scripts or post-processing.

      Use the Git executable selected by gix-path consistently for version checks,
      helper commands, and fixture scripts, including PATH selection for scripts.
      Harden signing fixtures with command-compatible paths, isolated homes, and
      complete SSH key pairs.

    Commit Statistics

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

    Commit Details

    view details
    • Uncategorized
      • Merge pull request #2933 from GitoxideLabs/report-august (b8914ff)
      • Update manifests prior to release (ebe9095)
      • Merge pull request #2905 from GitoxideLabs/various-improvements (f3bbfad)
      • Expand gix-testtools fixture support (677eb83)
      • Add reusable signature test fixtures (24dabe2)
      • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a)
      • Release gix-actor v0.41.2, gix-features v0.49.0, gix-hash v0.26.0, gix-hashtable v0.16.0, gix-object v0.63.0, gix-glob v0.27.0, gix-attributes v0.34.0, gix-packetline v0.22.0, gix-filter v0.33.0, gix-fs v0.22.0, gix-chunk v0.7.3, gix-commitgraph v0.38.0, gix-revwalk v0.34.0, gix-traverse v0.60.0, gix-worktree-stream v0.35.0, gix-archive v0.35.0, gix-bitmap v0.3.3, gix-tempfile v24.0.0, gix-lock v24.0.0, gix-index v0.54.0, gix-pathspec v0.19.0, gix-ignore v0.22.0, gix-worktree v0.55.0, gix-imara-diff v0.2.4, gix-diff v0.66.0, gix-blame v0.16.0, gix-ref v0.66.0, gix-config v0.59.0, gix-discover v0.54.0, gix-dir v0.28.0, gix-mailmap v0.33.2, gix-revision v0.48.0, gix-merge v0.19.0, gix-negotiate v0.34.0, gix-zlib v0.1.0, gix-pack v0.73.0, gix-odb v0.83.0, gix-refspec v0.44.0, gix-shallow v0.13.0, gix-transport v0.58.0, gix-protocol v0.64.0, gix-status v0.33.0, gix-submodule v0.33.0, gix-worktree-state v0.33.0, gix v0.86.0, gix-fsck v0.24.0, gitoxide-core v0.60.0, gix-tix v0.1.0, gitoxide v0.56.0, safety bump 40 crates (842bc44)
      • Merge pull request #2732 from GitoxideLabs/testools-use-archive (a3e9a77)
      • Avoid calling git --version each time a metadata directory is created. (4314d09)
      • Allow requiring archived scripted fixtures (6a30419)
      • Merge pull request #2721 from GitoxideLabs/remove-kstring (e70732a)
      • Adapt to changes in gix-attributes (e11d7a2)
      • Merge pull request #2646 from GitoxideLabs/report (1b1541e)
      • Release gix-date v0.15.5, gix-hashtable v0.15.2, gix-object v0.62.0, gix-attributes v0.33.2, gix-filter v0.32.0, gix-revwalk v0.33.0, gix-traverse v0.59.0, gix-worktree-stream v0.34.0, gix-archive v0.34.0, gix-tempfile v23.0.2, gix-index v0.53.0, gix-worktree v0.54.0, gix-imara-diff v0.2.3, gix-diff v0.65.0, gix-blame v0.15.0, gix-ref v0.65.0, gix-config v0.58.0, gix-discover v0.53.0, gix-dir v0.27.0, gix-revision v0.47.0, gix-merge v0.18.0, gix-negotiate v0.33.0, gix-pack v0.72.0, gix-odb v0.82.0, gix-refspec v0.43.0, gix-transport v0.57.2, gix-protocol v0.63.0, gix-status v0.32.0, gix-submodule v0.32.0, gix-worktree-state v0.32.0, gix v0.85.0, gix-fsck v0.23.0, gitoxide-core v0.59.0, gitoxide v0.55.0, safety bump 28 crates (6428edc)
      • Merge pull request #2628 from GitoxideLabs/dependabot/cargo/tar-0.4.46 (5aadd6e)
      • Bump tar from 0.4.45 to 0.4.46 (07d16ea)
      • Merge pull request #2618 from GitoxideLabs/report (f7d4f33)
    Open source →
    Release notes

    This release also fixes compatibility issues that formerly prevented to fetch or clone form https://googlesource.com.

    Changed

    • <csr-id-a4ac9cf3e667a3059e33aac8188150529578622d/> represent GIT_(COMMITTER|AUTHOR)_(NAME|EMAIL|DATE) with git configuration. That way it becomes more obvious where values are coming from.

    New Features

    • <csr-id-98143699bb9481b010e21647f64dcb8a74bd80ad/> auto-enabled verbosity for gix fetch/clone and add --no-verbose. I found myself always adding (and having to remember to add) the -v flag for long-running operations so these should be able to default to a higher verbosity level.

      To counter that, there is a new --no-verbose flag to turn that off.

    • <csr-id-aeb4a1d5cb76316058c7d687e26f5c7db351c09c/> add --strict option to enforce strict checking of configuration.

    • <csr-id-8c9c243fc574dc17b92a8e2025fbd8efdf2833da/> gix odb stats to calculate statistics on the object database. This includes the amount of objects along with a listing of where they are located.

    • <csr-id-e2b8c5dce7185b5fa194b90f32e642e5c9d1227f/> gix clone --no-tags support. This is the same as git clone --no-tags.

    Changed (BREAKING)

    • <csr-id-49f39d6bb487c0254176a5082f2c7851b83952a1/> open::ReplacementObjects is removed in favor of two custom git-configuration flags. Now it's possible to map the environment variables GIT_REPLACE_REF_BASE and GIT_NO_REPLACE_OBJECTS to custom git configuration keys which can also be set, namely gitoxide.odb.replaceObjectsRefBase and gitoxide.odb.noReplaceObjects.

      Along with the possibility of disabling the usage of GIT_ prefixed environment variables one reaches the previous level of control without making object replacement a special case.

    New Features (BREAKING)

    • <csr-id-becbd8d896a1663f1607be4e86e632773e926f1f/> represent object cache configuration like GITOXIDE_PACK_CACHE_MEMORY in git-configuration. That way there is a unified system for how to set values, which may be overridable by configuration variables or not.

      With this changes, the explicit application of environment variables for setting the cache isn't required anymore as everything happens using git-configuration, and automatically, while providing full control like before.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Fix label for ein t estimate-hours command (4c93de1)
      • Merge branch 'read-header' (3d01252)
      • gix odb stats to calculate statistics on the object database. (8c9c243)
      • Merge branch 'main' into read-split-index (c57bdde)
      • Merge branch 'adjustments-for-cargo' (083909b)
      • gix clone --no-tags support. (e2b8c5d)
      • Update gix progress to inform about remote.<name>.tagOpt (3ebb340)
      • Merge branch 'adjustments-for-cargo' (70ccbb2)
      • Upgrade to prodash v22 for API improvements (77ab98d)
      • Auto-enabled verbosity for gix fetch/clone and add --no-verbose. (9814369)
      • Switch from atty to is-terminal (7304bc1)
      • Adapt to changes in git-repository (c4f68bf)
      • Represent object cache configuration like GITOXIDE_PACK_CACHE_MEMORY in git-configuration. (becbd8d)
      • Represent GIT_(COMMITTER|AUTHOR)_(NAME|EMAIL|DATE) with git configuration. (a4ac9cf)
      • open::ReplacementObjects is removed in favor of two custom git-configuration flags. (49f39d6)
      • Apply related environment variables as config overrides (9441c26)
      • Adapt to changes in git-repository (f1a4c8b)
      • Update progress of http.proxyAuthMethod (872dc1a)
      • Add --strict option to enforce strict checking of configuration. (aeb4a1d)
      • Don't lock stdout/stderr as it will deadlock on dbg-printing (62cae0e)
      • Adapt to changes in git-config (1c2e755)
      • Merge branch 'main' into http-config (bcd9654) </details>
    Open source →
    Release notes

    Bug Fixes

    • <csr-id-603776ecf487ef087d25774d74e49465177aa370/> binary config output parsing can now deal with quotes on windows. Previously we would return paths that contained quotes. Note that we don't properly unquote C-style strings (which this is: https://github.com/git/git/blob/d9d677b2d8cc5f70499db04e633ba7a400f64cbf/builtin/config.c#L197) thinking that the git-binary configuration paths are well-known and don't need the complete decoding. If so, this is already implemented in gix_quote::ansi_c::undo().

    New Features (BREAKING)

    • <csr-id-e55f4ee230ed3164df5145c7a2b212464bb9db99/> allow to ignore IO errors when reading configuration files. Sometimes, IO errors can occour consistently when reading from certain paths (on Windows, really), and it should be possible to not only see which path that is but also to ignore them entirely.

      Now IO errors contain the path of the failed configuration file. There is also a new option flag to ignore errors (off by default).

    Commit Statistics

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

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

    Commit Details

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

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

    • #790
      • Binary config output parsing can now deal with quotes on windows. (603776e)
      • Allow to ignore IO errors when reading configuration files. (e55f4ee)
    • Uncategorized
      • Release gix-tempfile v5.0.2, gix-validate v0.7.4, gix-config v0.20.0, gix-prompt v0.3.3, gix-diff v0.28.1, gix-discover v0.16.1, gix-pack v0.33.2, gix-transport v0.29.1, gix-protocol v0.30.1, gix-revision v0.12.1, gix-worktree v0.15.1, gix v0.43.0, safety bump gix v0.43.0 (5dc1f9f)
      • Prepare changelogs prior to release (3016a28)
      • Merge branch 'fix-790' (ee36e5b)
      • Less dependencies for tests (via serial_test no default features) (8f2accd)
      • Correct more typos with typos tool. (2321eb9)
      • Merge branch 'fix-cred-helper' (01277a6) </details>
    Open source →
    Release notes

    gix-testtools v0.20.0 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  51. 0.19.0 10 Mar 2023
    Release notes

    New Features

    • <csr-id-3ddbd2de369b521fa3f21935f10fe9c248840893/> Make reqwest TLS backend configuration easy. We provide the choice of native-tls or rust-tls. If none is provided, the user can configure on their on similar to how it's done in gix.

      Please note that a choice now has to be made or HTTPS will not be available, so use one of…

      • blocking-http-transport-reqwest-rust-tls
    • blocking-http-transport-reqwest-native-tls

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Make reqwest TLS backend configuration easy. (3ddbd2d) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

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

    This releases fixes gix fetch so that it is able to clone or fetch pytorch or other repositories on case-insensitive file systems.

    It's also an attempt to trigger CI to build binary releases.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Merge branch 'http-config' (665b53e)
      • Document that histogram is now the default diff algorithm (c76572b)
      • Introduce new gitoxide.http.connectTimeout for more control for git clients (2ab80e4)
      • Keep track of no_proxy environment variable support (f0625de)
      • Update progress (3d9fb6c)
      • Don't forget to update 'progress' (0ec5220)
      • Update progress with gitoxide.userAgent (1c012f4)
      • Plan for user agent string configuration (f5499a5)
      • Keep track of http related configuration keys. (1afaebd) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-attributes v0.10.0, gix-ref v0.26.0, gix-config v0.18.0, gix-url v0.15.0, gix-credentials v0.11.0, gix-discover v0.15.0, gix-index v0.14.0, gix-mailmap v0.11.0, gix-odb v0.42.0, gix-transport v0.27.0, gix-protocol v0.28.0, gix-revision v0.12.0, gix-refspec v0.9.0, gix-worktree v0.14.0, gix v0.39.0 (93e75fe)
      • Prepare changelogs prior to release (895e482)
      • 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) </details>
    Open source →
  53. 0.17.0 01 Mar 2023
    Release notes

    New Features

    • <csr-id-e973dfeaf17ca63385496202e9fdcdd912e20f42/> gix remote ref-map --show-unmapped-remote-refs. That way it's more obvious to see what was filtered out by ref-specs.

      It's also great to validate that server-side filtering via ref-prefix will not send refs that are referred to by symbolic refs that are not filtered out. That should be fine as it's all about objects, it's just something to deal with as we may have to deal with symbolic refs that aren't in the set of refs the server sent to us.

    • <csr-id-b1edb9e3537df86669714f03666f4a88e0ac3709/> diff algorithm is controlled by git configuration diff.algorithm

    • <csr-id-20259da4ddf9fabfb2d2bd4e2274c0ed42bdb0e5/> ein t hours allows to specify the amount of worker threads.

    Bug Fixes

    • <csr-id-3a053284cfefe27873dcc5b4f74d63a560bb5d41/> collect stderr and print it afterwards to avoid intersection with line progress. Previously it would happen that stderr would be printed directly and mix with the line progress (as in -v) which also prints to stderr.

      Now errors are collected and output at the end once the line renderer was already shutdown.

    Changed (BREAKING)

    • <csr-id-3a0fb1b45c757add49677450836c0aaf6179a2b5/> remote lock_mode from all methods dealing with reference edits. It is now read from core.filesRefLockTimeout accordingly.

    New Features (BREAKING)

    • <csr-id-92bbe335688e4c8e96061663e71a599022f7b96f/> remove gix remote --url in favor of determining the intention similar to git fetch

    Commit Statistics

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

    • 65 commits contributed to the release.
    • 47 days passed between releases.
    • 6 commits were understood as conventional.
    • 2 unique issues were worked on: #450, #536

    Thanks Clippy

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

    Clippy helped 1 time to make code idiomatic.

    Commit Details

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

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

    • #450
      • Keep track of several branch related keys (443a75a)
      • gix remote ref-map --show-unmapped-remote-refs. (e973dfe)
      • Update progress as we now respect diff.algorithm (30d32e7)
      • Apply configuration overrides to newborn repo during clone (c8ef759)
      • Collect stderr and print it afterwards to avoid intersection with line progress. (3a05328)
      • Reduce verbosity of clone and print once entire clone is done (9a476df)
      • First rough sketch of gix clone (23a5e8b)
      • Progress totals (planned, devitaion) (63947ae)
      • Prepare attribute-group setup as far as possible. (f5e2eeb)
      • Update usage of core.checkState (8b2aba1)
      • Update progress based on filesystem config usage (de13c66)
      • Inform about even more keys in gix progress (0e9bd41)
      • Plan more core filesystem attributes (d10a82e)
      • Update init.defaultBranch - now used by custom initialization. (4d6d7bb)
      • Support for handshake information in gix fetch (c47dcc6)
      • Fix build (d034882)
      • Remove gix remote --url in favor of determining the intention similar to git fetch (92bbe33)
      • Support for --url for arbitrary urls when fetching (8c7351c)
      • Frame for gix fetch (5b72d27)
      • Update progress information to include packedRefsTimeout (fd18320)
      • Remote lock_mode from all methods dealing with reference edits. (3a0fb1b)
      • Add information about planned lock timeout support (from configuration) (7076891)
      • Add remotes.<group> as planned feature for remotes (3c188b2)
      • Slightly nicer styling of config keys (eade88f)
      • Complete listing of records based on current usage, probably (6abd5a4)
      • Add more records (5c0d0ab)
      • Add tabled for nicer printing (65e6496)
      • Refactor (b42b08a)
      • Add support for more types of configurations (317e02a)
      • A very first version of gix progress show (92e082a)
    • #536
      • ein t hours allows to specify the amount of worker threads. (20259da)
    • Uncategorized
      • Merge branch 'write-sparse-index' (ba17db0)
      • Plan index.version for when we can write V4 indices. (da96d34)
      • Notes about the split-index extension. (ad44982)
      • Take note of additional options for promisor packs and partial clone filters (1ec27f8)
      • Make note of extension.worktreeConfig (fe1e646)
      • Merge branch 'main' into write-sparse-index (c4e6849)
      • Add init.templateDir to gix progress (9fab050)
      • Make fmt (ea2136b)
      • Merge branch 'gix-clone' (def53b3)
      • Diff algorithm is controlled by git configuration diff.algorithm (b1edb9e)
      • Merge branch 'main' into gix-clone (fa27570)
      • Merge branch 'imra-diff' (f53f942)
      • Adapt to changes in git-diff for a 2x speedup when calculating line changes (296f3b6)
      • Update gix progress records (b05a2e7)
      • Merge branch 'main' into gix-clone (de4fe06)
      • Mark the upcoming usage of init.defaultBranch. (6225f35)
      • Merge branch 'fix-gix-index-from-tree' (da5f63c)
      • Write index without output path to memory only. (c8d0345)
      • Merge branch 'gix-index-from-tree' (8c24386)
      • Refactor (67f2247)
      • Refactor (01ab5ca)
      • Update with various configuration variables relevant to checking out worktrees (09d767a)
      • Merge branch 'clone' (507dc7e)
      • Update usage of clone related configuration (1a1e862)
      • Update progress with intended uses of clone. variables (8b804a3)
      • Merge branch 'main' into new-http-impl (702a161)
      • Make fmt (53acf25)
      • Merge branch 'fetch-pack' (f47c891)
      • Merge branch 'fetch-pack' (3c49400)
      • Update docs (c5c0ac5)
      • Input id can now be a commit or tree as prefix or full object id (8ef3fcb)
      • Thanks clippy (8dadd70)
      • Merge branch 'fix-odb-race' (b862fc5)
      • Merge branch 'diff' (25a7726) </details>
    Open source →
    Release notes

    A maintenance release without user-facing changes.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-tempfile v4.1.0, gix-lock v4.0.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0, safety bump 6 crates (ea9fd1d)
      • Release gix-features v0.27.0, gix-actor v0.18.0, gix-quote v0.4.3, gix-attributes v0.9.0, gix-object v0.27.0, gix-ref v0.25.0, gix-config v0.17.0, gix-url v0.14.0, gix-credentials v0.10.0, gix-diff v0.27.0, gix-discover v0.14.0, gix-hashtable v0.1.2, gix-bitmap v0.2.2, gix-traverse v0.23.0, gix-index v0.13.0, gix-mailmap v0.10.0, gix-pack v0.31.0, gix-odb v0.41.0, gix-transport v0.26.0, gix-protocol v0.27.0, gix-revision v0.11.0, gix-refspec v0.8.0, gix-worktree v0.13.0, gix v0.38.0 (e6cc618)
      • Adjust manifests prior to release (addd789)
      • Prepare changelogs prior to release (94c99c7)
      • Prepare for git-tempfile release (56c005b)
      • Make fmt (8ef1cb2) </details>
    Open source →
  54. 0.16.3 21 Feb 2023
    Release notes

    A maintenance release to restore MSRV (1.64) support.

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-config v0.16.3, gix v0.37.1 (a3c283f)
      • Prepare changelogs prior to release (362d659)
      • Restore msrv compatibility by removing sole if let ... else (9160659) </details>
    Open source →
  55. 0.16.2 20 Feb 2023
    Release notes

    Bug Fixes

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

    Commit Statistics

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

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

    Commit Details

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

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

    • Uncategorized
      • Release gix-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)
      • Release gix-glob v0.5.4 (c56d336) </details>
    Open source →
  56. 0.16.1 17 Feb 2023
    Release notes

    <csr-id-69ec5940d3f37eb4dace8f1ed7616b5988984d15/> <csr-id-9cd99337333f5ef4b30e0ec9461fc087699576e6/> <csr-id-0076dcf9b37f1d633bdad5573b40d34a9fbaba90/> <csr-id-a8604a237782f8d60a185d4730db57bad81424a6/> <csr-id-55c00d880535a1f8c37cb7d4405d39ff5a7654a0/> <csr-id-32d5b3c695d868ba93755123a25b276bfbe55e0a/> <csr-id-949622e461eb2116393ec6f4633ec0cb2e1695b5/> <csr-id-bcacfc9bcf19a0339541b24e84de68d95291c62b/> <csr-id-41f118d2aa560188fd3399d2390aa43794b0af75/> <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/>

    A maintenance release without user-facing changes.

    Bug Fixes (BREAKING)

    • <csr-id-0c98ec8fc7d8cc3195472a04fde4a681f620725f/> subsections are identified as &BStr in entire API. Technically they can be any value (except for newlines and unescaped double quotes), and these values might be paths and everything that comes with it, like illformed UTF8. In order to be able to represent everything that git can represent, we don't enforce UTF8 anymore for subsection names.

      Note that section names and key names are required to be valid UTF8 (and even alphanumeric ascii), which makes illformed UTF8 very unlikely there.

    • <csr-id-a93a156655d640ae63ff7c35b0a1f5d67a5ca20f/> Simplify specifying keys when mutating config values.

    • <csr-id-895ce40aabbe6d6af5b681a0d0942303fd6549a2/> File::rename_section() with validation of input arguments.

    • <csr-id-4a01d983f54a7713dea523f6032cbf5bb2b9dde8/> improve normalization; assure no extra copies are made on query. We now return our own content, rather than the originals with their lifetimes, meaning we bind lifetimes of returned values to our own File instance. This allows them to be referenced more often, and smarter normalization assures we don't copy in the simple cases either.

      More tests were added as well. This is breaking as lifetime changes can cause distruptions, and values?_as() was removed as well as it's somewhat duplicate to higher-level APIs and it wasn't tested at all.

    • <csr-id-c9933c0b0f51d21dc8244b2acc33d7dc8a33f6ce/> Remove git-config test utilities from git-path.

    New Features (BREAKING)

    • <csr-id-2faad43d11283ff06381c51d2466307cfb8736ff/> transfer knowledge about configuration and its usage into the type system. That way it's possible to use configuration overrides, even though ultimately being strings, in a type-safe manner and leverage code-completion while at it.

      In that process, we also change Repository::(committer|Author)() to return Option<Result<...>> to be able to account for date parse errors.

    • <csr-id-2b36d99eaf3ed24ce4cb736a3dd48440dc0c73b7/> File::new_section() and related now returns their id as well. That way it's possible to more easily interact with it later, for instance when one wants to delete it.

    • <csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> 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.

    • <csr-id-b6cd6ace412b0c0df4bacbe7ed7ef6608f27909c/> file::SectionMut::push() now supports values without key-value separator. These make a difference as those without = are considered boolean true. Currently pushing onto a section is the only way to write them.

    • <csr-id-d003c0f139d61e3bd998a0283a9c7af25a60db02/> Support for lossy load mode. There is a lot of breaking changes as file::from_paths::Options now became file::init::Options, and the same goes for the error type.

    • <csr-id-1ea26d80f392114349d25ebf88a7b260ee822aa1/> add _filter() versions to most access methods. That way it's possible to filter values by their origin.

      Note that the remove_section() methods now return the entire removed section, not just the body, which yields more information than before including section metadata.

    • <csr-id-cfd974f46d2cbb99e7784a05f5e358fed0d4bcab/> section names are now validated.

    • <csr-id-6ba2f8060768978ad7204e162fb2253ca8843879/> filtering supportort for parse::Events. That way it's possible to construct Files which are not destined to be written back as they only keep events necessary for value access, greatly reducing allocations.

    • <csr-id-311d4b447daf8d4364670382a20901468748d34d/> change mostily internal uses of [u8] to BString/BStr

    • <csr-id-edd226719cd04a480274cb7d983b6d5d8bfdbb13/> Path-interpolation makes home-dir configurable. That way the caller has full control over how the environment is used, which also allows more fine-grained control over which config files can be included.

    • <csr-id-266d4379e9132fd7dd21e6c8fccb36e125069d6e/> Make realpath() easier to use by introducing realpath_opt(). That way there is consistency about how many symlinks to follow.

    Changed (BREAKING)

    • <csr-id-27fb1ce27d2985eb1ee8bee5fffaf759902571fb/> Add Kind::GitInstallation for a way to obtain special git-installation configuration paths. Note that these are lazily cached as they call the git binary.

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

    • <csr-id-2b2357e9cc54539e0dbe7c0e22802f2b884160d8/> Add File::set_raw_value() to unconditionally set single values, and make the value itself easier to provide.

    • <csr-id-17c83d55f8942788aac5eb1bea22a48daa045bf4/> add File::resolve_includes() and move its error type to file::includes.

    • <csr-id-5221676e28f2b6cc1a7ef1bdd5654b880965f38c/> add File::from_bytes_owned() and remove File::from_path_with_buf()

    • <csr-id-98d45c2f59863fdee033b38e757cec09593f6892/> remove File::from_env_paths(). It's replaced by its more comfortable new_globals().

    • <csr-id-230a523593afcfb8720db965ff56265aaceea772/> untangle file::init::… Option and Error types. This moves types to where they belong which is more specific instead of having a catch-all Error and Options type.

    • <csr-id-3f3ff11a6ebe9775ee5ae7fc0ec18a94b5b46d61/> rename parse::Comment::(comment_tag|comment) to ::tag|text and parse::Section::section_header to ::header.

    • <csr-id-6f4eea936d64fb9827277c160f989168e7b1dba2/> Associate file::Metadata with each File. This is the first step towards knowing more about the source of each value to filter them based on some properties.

      This breaks various methods handling the instantiation of configuration files as file::Metadata typically has to be provided by the caller now or be associated with each path to read configuration from.

    • <csr-id-b672ed7667a334be3d45c59f4727f12797b340da/> rename file::SectionBody to file::section::Body.

    • <csr-id-3bea26d7d2a9b5751c6c15e1fa9a924b67e0159e/> Remove File::sections_by_name_with_header() as ::sections_by_name() now returns entire sections.

    • <csr-id-41b3e622ee71943c285eadc518150fc7b6c92361/> create resolve_includes options to make space for more options when loading paths.

    • <csr-id-cabc8ef0e31c954642525e7693009a7fe4b4c465/> rename path::Options into path::Context. It's not an option if it's required context to perform a certain operation.

    • <csr-id-3de0cfd81523e4ba7cc362d8625f85ebf8fd9172/> All accessors in File are now using impl AsRef<str> where possible for added comfort.

    • <csr-id-3d25fe6c7a52529488fab19c927d64a1bc75838f/> Much more comfortable API file::*Mut types thanks to impl Into/AsRef.

    • <csr-id-393b392d515661e5c3e60629319fdab771c3d3f0/> Rename Mutable* into $1Mut for consistency.

    • <csr-id-0a7391a6575f4035c51a46d34fa20c69e9d078e9/> conform APIs of file::MutableValue and file::MutableMultiValue. There are more renames and removals than worth mentioning here given the current adoption of the crate.

    • <csr-id-83a0922f06081312b79908835dac2b7f4e849bb3/> rename file::MutableSection::set_leading_space() to set_leading_whitespace(). The corresponding getter was renamed as well to leading_whitespace().

    • <csr-id-219cf7ae0b35b3ac92f97974be52cd022698e01f/> Enforce parse::section::Header::new() by making its fields private.

    • <csr-id-4f6cd8cf65c2d8698bffe327a19031c342b229a6/> Add File::write_to() and File::to_bstring(); remove some TryFrom impls. Now File can be serialized in a streaming fashion and without the possibility for UTF8 conversion issues.

      Note that Display is still imlpemented with the usual caveats.

    • <csr-id-0e392f81e99c8c0ff29f41b9b86afd57cd99c245/> remove Integer::to_bstring() as well as some TryFrom impls. Note that it can still display itself like before via std::fmt::Display.

    • <csr-id-b22732a2ab17213c4a1020859ec41f25ccabfbfc/> remove Boolean::to_bstring() along with a few From impls. These were superfluous and aren't useful in practice. Note that serialization is still implemented via Display.

    • <csr-id-65c520c4de8187884f87059adf5cef9cbdcd90a2/> allocation free File::sections_by_name() and File::sections_by_name_with_header().

    • <csr-id-ac57c4479e7b6867e8b8e71f7cf76de759dc64a2/> Path::interpolate() now takes path::interpolate::Options instead of three parameters.

    • <csr-id-0915051798dd782b40617a1aa16abd71f6db1175/> remove String type in favor of referring to the File::string() method. The wrapper had no effect whatsoever except for adding complexity.

    • <csr-id-9cadc6f0cbaad0ac23f5469db2f040aecfbfb82c/> Simplify Boolean to be a wrapper around bool. Previously it tried hard not to degenerate information, making it a complicated type.

      However, in practice nobody cares about the exact makeup of the boolean, and there is no need to serialize a boolean faithfully either.

      Instead, those who want to set a value just set any value as a string, no need for type safety there, and we take care of escaping values properly on write.

    • <csr-id-703922dd4e1e5b27835298217ff4eb8ef1dc57ce/> Use bitflags for color::Attribute instead of Vec of enums. This is less wasteful and sufficient for git, so it should be sufficient for us, especially since attributes are indeed a set and declaring one twice has no effect.

    • <csr-id-3fc4ac04f46f869c6e3a94ce4bb8a5737aa0c524/> simplify Color API. For now we only parse and serialize for display, but more uses are enabled when needed and trivially.

    • <csr-id-14149eea54e2e8a25ac0ccdb2f6efe624f6eaa22/> remove parse::Events::from_path and File::at The latter has been replaced with File::from_path_with_buf(…) and is a low-level way to load just a single config file, purposefully uncomfortable as it will not resolve includes.

      The initialization API will need some time to stabilize.

    • <csr-id-73adceeae12270c0d470d4b7271c1fd6089d5c2d/> Slim down API surface of parse::Events. It's more of a 'dumb' structure now than before, merely present to facilitate typical parsing than something special on its own.

    • <csr-id-2e47167e4a963743494b2df6b0c15800cb876dd0/> remove File::new() method in favor of File::default().

    • <csr-id-ea6765093b5475912ba1aa81d4440cbf5dd49fb6/> rename parse::event::List to parse::Events

    • <csr-id-89f5fca843d999c5bea35fb3fe2a03dc3588f74e/> rename parse::State to parse::event::List

    • <csr-id-3cdb0890b71e62cfa92b1ed1760c88cb547ec729/> move value::* into the crate root, except for Error and normalize_*().

    • <csr-id-748d921efd7469d5c19e40ddcb9099e2462e3bbc/> rename value::parse::Error to value::Error.

    • <csr-id-7e8a22590297f2f4aab76b53be512353637fb651/> rename value::TrueVariant to value::boolean::True

    • <csr-id-8bcaec0599cf085a73b344f4f53fc023f6e31430/> rename IntegerSuffix to integer::Suffix

    • <csr-id-d085037ad9c067af7ce3ba3ab6e5d5ddb45b4057/> rename value::Color(Attribute|Value) to value::color::Attribute and value::color::Name.

    • <csr-id-a0f6252343a62b0b55eef02888ac00c09100687a/> Turn parse::ParseOrIoError into parse::state::from_path::Error

    • <csr-id-b6b31e9c8dd8b3dc4860431069bb1cf5eacd1702/> rename parse::ParsedComment into parse::Comment

    • <csr-id-239cbfb450a8cddfc5bec1de21f3dc54fab914ce/> rename parse::Section* related types. These are now located in section::*.

    • <csr-id-60af4c9ecb1b99f21df0e8facc33e5f6fc70c424/> rename parse::Parser to parse::State. Furthermore, make State the entry point for all parsing, removing all free-standing functions that returned a State.

    • <csr-id-3724850e0411f1f76e52c6c767fd8cebe8aea0f6/> rename parser module to parse

    • <csr-id-58b22152a0295998935abb43563e9096589ef53e/> rename normalize_cow() to normalize() and move all normalize* functions from values to the value module

    • <csr-id-767bedccdae1f3e6faf853d59ecf884a06cc3827/> move Path from values to value module

    • <csr-id-6033f3f93d2356399a661567353a83a044662699/> Move Boolean and String from values into value module

    • <csr-id-d4444e18042891b0fe5b9c6e6813fed26df6c560/> move values::Integer into value module

    • <csr-id-38f31174e8c117af675cdfbc21926133b821ec38/> move Color to own value module

    • <csr-id-aa630ad6ec2c6306d3307d5c77e272cb24b00ddd/> remove values::Bytes - use values::String instead. Note that these values are always normalized and it's only possible to get a raw values using the raw_value() API.

    • <csr-id-553f87225363903e6acdb3e7eaa8cc66a91110f1/> File::len() -> File::num_values() The same is true for Section::len() which now is Section::num_values().

    • <csr-id-c7fcb5e1db225aefc3eeab4f29f3fb85c670894a/> GitConfig::from_paths(…, <option>) is now owned. The type is Copy, so no need to pass it by reference.

    • <csr-id-38dfdcf80f9b7368ccaa10f4b78b2129849848d0/> remove values::*Error in favor of value::parse::Error. This makes it easier to work with errors in practice, we are either interested in the value that failed to parse to try something else or want a nice user message.

      Having one decode error type facilitates that.

    • <csr-id-a98a7a7af69482e9ef63f106184049049939459d/> switch from quickerror to thiserror. This allows for generic types for sources of errors and allows to workaround a limitation with associated type constraints in the MSRV of 1.54.

      Using thiserror makes this work and brings the crate more closely to the rest of the gitoxide crates (which now prefer thiserror over quickerror).

    • <csr-id-a86b2541561674df5dbef4120d3e03483cb80117/> remove all get_ prefixes from methods That way the API is more idiomatic and fits better into the existing gitoxide crates.

    • <csr-id-f9aaac11f0734afbd791132369eb5601bfc7efe9/> use lookup::Error and lookup::existing::Error Use the newly introduced structured error to replace the 'catch-all' GitConfigError while getting closer to naming conventions in other gitoxide crates.

    Bug Fixes

    • <csr-id-8836f5ada0078febf8aeb0e6b59d0fc4c588bc28/> File::section(...) could panic due to invlid expectation. This has been fixed to prevent panics.

    • <csr-id-839f776454d7a8522c0f2887c90fc41b20576bd9/> File::boolean() now correctly handles implicit bools across sections. This means it will return the last implicit value as true, instead of ignoring it to fall back onto an explicit boolean value that might be false.

    • <csr-id-7d92c61abc2c54f4a64c35b37bcd1843a8d1da9c/> file::SectionMut::push() now properly creates empty values. Previously, when calling .push("key", None), the resulting internal state would be slighly wrong causing certain invariants and expectations to be unfulfilled even though it might have looked OK to most users.

      Now it will uphold the invariant for empty values, those without an = character.

    • <csr-id-9c1e639979a9615fd8334ce0e3a809df137776f6/> greatly improve whitespace handling when removing values. Previously, newlines would remain past a value, and whitespace could remain before one.

      Now both are removed to simulate removing an actual line.

    • <csr-id-e533993e8f861ba7a6600aab114ddfecc8a85ee2/> File::remove_section() was fixed to allow re-adding a similarly named section. We also add File::remove_section_by_id() to make it possible to remove specific sections.

    • <csr-id-08c50a47fa901457194539c7db74ad47ab2f8b60/> Properly handle boolean values such that a is true but a= is false. This is even consistent when no booleans are used, such that a has no value as if it is not present, it's only available for booleans which must be specified.

    • <csr-id-7c585162454c476fe93f032c8a2329cffd7c054f/> Keep track of a severe limitation and prepare tests for fixing it. This also changes behaviour, but merely removes a hack in Boolean which considered empty strings true, even though they are supposed to be false.

    • <csr-id-6c1588fd1a2fa80fd866787cbf4bcc6e5b51abe6/> maintain insertion order of includes on per-section basis at least. Note that git inserts values right after the include directive, 'splitting' the section, but we don't do that and insert new values after the section. Probably no issue in practice while keeping our implementation simple.

    • <csr-id-f7bd2caceb87a179288030e0771da2e4ed6bd1e4/> maintain newline format depending on what's present or use platform default. Previously implicit newlines when adding new sections or keys to sections was always \n which isn't correct on windows.

      Now the newline style is detected and used according to what's present, or in the lack of content, defaults to what's correct for the platform.

    • <csr-id-0d07ef1aa4a9e238c20249d4ae2ed19e6740308a/> validate incoming conifguration keys when interpreting envirnoment variables.

    • <csr-id-6b901843cb18b3d31f8b0b84bb9ebbae279aff19/> Boolean can use numbers to indicate true or false, drops support for one and zero.

    • <csr-id-94dde44e8dd1a0b8d4e11f2627a3f6b345a15989/> file::MutableSection::remove() now actually removes keys and values.

    • <csr-id-048b92531eb877a5a128e702504891bf1e31becf/> file::MutableMultiValue escapes input values and maintains key separator specific whitespace.

    • <csr-id-f911707b455ba6f3800b85f667f91e4d56027b91/> value normalization (via value::normalize() handles escape sequences. The latter ones are \n, \t and \b which are the only supported ones in values of git-config files.

    • <csr-id-44dfec07480cc2ac6fd01674b748cc03af51fed1/> stable sort order for File::sections_by_name_with_header()

    • <csr-id-1ea919d5ff81ab7b01b8201386ef63c7e081b537/> count newlines (for error display) in multi-line values as well

    • <csr-id-1e71e71c984289f0d7e0a39379ee6728918b7dc5/> auto-normalize string values to support quote removal in case of strings. Related to https://github.com/starship/starship/pull/3883 .

    • <csr-id-36e2fc0aff4e6aaa35335da90108918882d4cd16/> Use std::env::var_os() to avoid potential decode errors

    • <csr-id-469406dc0d9fece4a06230ef0d8018846202f0ad/> fix usage example in README.md

    New Features

    <csr-id-61af06b905926849abce19677ff4b9ac05d625a3/>

    • <csr-id-4b424ab73d20833deb0c674eeeeaaa8cc2358932/> add File::write_to_filter() to have a filter select the section to write. This way, one can selectively write sections to a file, based on the section's origin or other meta-data.

      For convenience sake, most mutating methods on SectionMut can now be chained as well.

    • <csr-id-3fa86e1d01a75688cd8948a39ba415bcebfef02d/> add File::set_meta() to affect what metadata new sections receive. That way it's possible to better control the metadata associated with new sections, given that the config file metadata may not truly reflect its identity anymore since it can be a combination from many different files with various sources.

    • <csr-id-5b9bffe8a5eec738e892224a7e18f98c8430d8a4/> SectionMut::push_with_comment(key, comment) to add a new variable with a comment. This is useful for providing more information about a value at hand, especially if it was added programmatically and then shows up in the configuration.

    • <csr-id-e4bf8f0072e60a7a2df94690c8d0b13b1f3038bb/> Add the Source::EnvOverride to have a place for 'terminal' overrides. That way environment variables represented via git-configuration can be integrated into git configuration, making clearer what's going to happen even when looking at the configuration via gix config.

      The implementation has to be careful though about assureing there is no more specific configuration key, like http.<URL>.proxy that would override the one from the environment, which always has the final word.

    • <csr-id-5fa95460db843f7dcfe68002b303b8b7649846dd/> comfort API like string_by_key(key) takes a key like "remote.origin.url", add section_by_key("remote.origin") as well. That way it's the most comfortable way to query values and very similar to how git does it, too.

      Additionally, sections can be obtained by section key, both mutably and immutably for completeness.

    • <csr-id-7d7bd02d4e0678565f58c5da83fd1ad88c60e911/> read worktree specific configuration of main worktrees. Supporting this is useful when interacting with worktrees that have been created with sparse worktree support, which moves some configuration values into those for the worktree at hand.

      Note that linked worktrees are not supported - for that use git-repository instead.

    • <csr-id-aa5d66f60bd6c9ef404ebc120b613e0cf055b2c9/> add parse::section::header::is_valid_subsection() function. It can be useful to validate subsection names without having to construct an entire Header (which also includes a name).

    • <csr-id-5df2a2a5a9addbda7dcc68b2f8f7f4a48d9720c6/> Add various methods to iterate sections along with their id, and mutate them. As section names are not unique, it was previously not possible to iterate sections and then mutate them as one wouldn't be able to refer to the exact section that was just traversed, after all, there can be many sections named remote "origin".

      With the new methods it's possible to uniquely refer to each section for mutation and removal.

    • <csr-id-9937d0e00df3a523484c7ae2850be2712a1a4c9a/> File::set_raw_value_filter() to set values only in sections passing a filter.

    • <csr-id-17455c9d93ad38bfee2560f5a4e60324dee3b4e5/> File::section_mut_or_create_new_filter() to allow chosing which sections to add values to.

    • <csr-id-5902f54b93101a6290fcf89f9f13fdbea3678e00/> File::section_mut_or_create_new(…) to obtain an existing or new section for mutation.

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

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

    • <csr-id-1bc96bf378d198b012efce9ec9e5b244a91f62bc/> following includes is now non-fatal by default Otherwise it would be relatively easy to fail gitoxide startup, and we want to be closer to the behaviour in git which ignores most of the errors.

    • <csr-id-f9ce1b5411f1ac788f71060ecf785dda9dfd87bf/> File::from_git_dir() as comfortable way to instantiate most complete git configuration.

    • <csr-id-14a68a6a78a09f8ae56e30e3b7501de66ef31fdc/> File now compares actual content, ignoring whitespace and comments.

    • <csr-id-7dadfd82494d47e36d3f570988eaf3c6b628977f/> File::new_environment_overrides() to easily instantiate overrides from the environment.

    • <csr-id-146eeb064822839bc46fd37a247a1b9a84f64e40/> File::new_globals() can instantiate non-local configuration with zero-configuration.

    • <csr-id-e701e053fd05850973930be0cefe73e8f3604d40/> Source::storage_location() to know where files should be located.

    • <csr-id-fff088485dd5067976cc93d525903b39aafea76a/> file::ValueMut::(section|into_section_mut)() to go from value to the owning section. This can be useful if the value was obtained using raw_value_mut().

    • <csr-id-f5f2d9b3fef98d9100d713f9291510fa4aa27867/> Source::is_in_repository() to find out if a source is in the repository.

    • <csr-id-91e718f0e116052b64ca436d7c74cea79529e696/> parse::key to parse a remote.origin.url-like key to identify a value

    • <csr-id-26147a7a61a695eda680808ee4aab44a890b2964/> Add File::detect_newline_style(), which does at it says.

    • <csr-id-0ad1c9a5280cc172432b5258e0f79898721bac68/> File::frontmatter() and File::sections_and_postmatter().

    • <csr-id-fc7e311b423c5fffb8240d9d0f917ae7139a6133/> parse::Event::to_bstr_lossy() to get a glimpse at event content.

    • <csr-id-09966a8ea4eaa3e0805e04188de86dd1bac9f388/> File::append() can append one file to another rather losslessly. The loss happens as we, maybe for the wrong reasons, automatically insert newlines where needed which can only be done while we still know the file boundaries.

    • <csr-id-56ae5744e8957e617f3a0ebc4d725846b18d93f8/> file::Section::meta() to access a section's metadata.

    • <csr-id-6f97bf0c3e7164855cf5aa53462dbc39c430e03f/> File::sections() to obtain an iterator over all sections, in order.

    • <csr-id-5418bc70e67476f8778656f2d577f1f9aa65ffbe/> place spaces around key = value pairs, or whatever is used in the source configuration.

    • <csr-id-8118644625dc25b616e5f33c85f5100d600766e4/> proper escaping of value bytes to allow round-tripping after mutation

    • <csr-id-9f59356b4f6a1f5f7f35a62c9fbe4859bf8e8e5f/> whitespace in newly pushed keys is derived from first section value. That way, newly added key-value pairs look like they should assuming all keys have the same indentation as the first key in the section.

      If there is no key, then the default whitespace will be double-tabs like what's commmon in git.

    • <csr-id-db1f34dfb855058ac08e97d4715876b5db712f61/> File::from_str() implementation, to support let config: File = "[core]".parse()?

    • <csr-id-9157717c2fb143b5decbdf60d18cc2bd99dde775/> whitespace in mutable sections can be finely controlled, and is derived from existing sections

    • <csr-id-ae3895c7882e0a543a44693faee5f760b49b54d7/> parse::Header::new(…) with sub-section name validation

    • <csr-id-d087f12eec73626eb327eaacef8ebb3836b02381/> Add parse::(Event|section::Header|Comment)::write_to(…). Now it's possible to serialize these types in a streaming fashion and without arbitrarily enforcing UTF-8 on it

    • <csr-id-5a8f242ee98793e2467e7bc9806f8780b9d320ce/> serde1 feature to add limited serde support

    • <csr-id-4726bb524c1b0935d35770c907d40a0a16dbb8b5/> GitConfig::integers() Get multiple fully validated integer values, with their suffix interpreted and checked for overflow.

    • <csr-id-ae22a4de486676f11469cec84be403903758b48b/> add GitConfig::integer() A way to quickly obtain a valid integer with suffixes resolved and overflow checked.

    • <csr-id-bfc263797226d027e04daaf6426e57183773d7c3/> GitConfig::strings() for multi-value strings.

    • <csr-id-7c75eac149c6ecb99c3dd7355d76d8d3e8b59cd0/> GitConfig::path() for direct access to paths. Very similar to string(), but as path, whose query can never fail.

    • <csr-id-dc3dc3b41b5de3ec17429769747bf99bb2bdd03d/> support for try_value(), boolean() and string() access. Support for a convenient way of knowing if a value does or doesn't exist via try_value()`, which can only fail if the conversion fails.

      Lastly, string() is a special case which doesn't fail as there is no conversion, and boolean() allows to obtain a plain boolean value if it was a valid boolean representation.

    • <csr-id-13554f8d21beb241e0fbdeb56b8414957cbee28a/> new hierarchical errors for value lookup

    • <csr-id-031bd2f401199a05d6465c0260ceed3cc849c7ac/> add suppport for android Do not interpolate ~user/ on Android (Termux). There is no meaning of it. It is single user system.

    • <csr-id-e4d6685064ad2b433f8acd3a74b320bf0169a994/> Add git_config::values::Path for a typesafe git path Add a Path type to the git_config::values which can be interpolated according to gits own path interpolation rules.

    • <csr-id-e822f566dcff3f6c784c206dff2fbc5f82d543be/> implement a draft for subsection fetching

      • introduce method sections_by_name_with_header to allow iterating over tuples of section header and section body

    Documentation

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

    Changed

    • <csr-id-5ad296577d837b0699b4718fa2be3d0978c4e342/> git-config now uses git-config-value.
    • <csr-id-b04a3465ed20d8f3088e5d3faf11e98e5595f219/> GitConfig::from_paths(<paths>, …) accepts more inputs <paths> is more flexible and is easier to use.

    Commit Statistics

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

    Commit Details

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

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

    • #198
      • Maintenance release note to avoid being fully generated (56ef363)
      • Changlog for git-config (abdfe58)
      • Use correct title for github release to match name of tag (90f39ad)
    • #213
      • Refactor (e906d37)
      • Remove environment variable after test passed (7a3ff29)
    • #241
      • Improve usability of the pack-cache environment variable (47d8162)
    • #254
      • Adjust changelogs prior to git-pack release (6776a3f)
    • #266
    • #298
      • Upgrade dependencies (b039d39)
      • Prepare changelog prior to release (fc8f52d)
      • Support for simple BString powered string values (2381c5d)
      • Minor refactor (2f0234c)
    • #301
      • Update changelogs prior to release (84cb256)
      • Finished refactoring (4163c7f)
      • Refactor (a359cfd)
      • GitConfig::from_paths(…, <option>) is now owned. (c7fcb5e)
      • Use std::env::var_os() to avoid potential decode errors (36e2fc0)
      • GitConfig::from_paths(<paths>, …) accepts more inputs (b04a346)
      • Refactor unconditional include tests and stabilize them (72a5a02)
      • GitConfig::integers() (4726bb5)
      • Add GitConfig::integer() (ae22a4d)
      • Refactor (c139479)
      • Refactor (4408f17)
      • GitConfig::strings() for multi-value strings. (bfc2637)
      • Refactor (7ea17e1)
      • Initial refactoring (43a34a5)
      • Some notes about of 'path' will soon have to be amended with more safety (97e53f6)
      • GitConfig::path() for direct access to paths. (7c75eac)
      • Remove values::*Error in favor of value::parse::Error. (38dfdcf)
      • A sketch of what can be a general value decode error (4612fca)
      • Remove IntegerSuffix error which wasn't ever used (732c0fa)
      • Support for try_value(), boolean() and string() access. ([dc3dc3b`](https://github.com/GitoxideLabs/gitoxide/commit/dc3dc3b41b5de3ec17429769747bf99bb2bdd03d))
      • Fix build warnings (4496b5a)
      • Switch from quickerror to thiserror. (a98a7a7)
      • Remove all #[inline] attributes (8aef1d3)
      • Remove all get_ prefixes from methods (a86b254)
      • Use lookup::Error and lookup::existing::Error (f9aaac1)
      • New hierarchical errors for value lookup (13554f8)
      • Adapt to changes in git-path (cc2d810)
      • Adapt to all changes in git-path with bstr support (f158648)
      • Use git-path crate instead of git_features::path (47e607d)
      • Make fmt (5fc5459)
      • Make fmt (50ff7aa)
    • #319
      • Update changelog prior to release (858ec8c)
      • Adjust docs (38c201c)
      • An example to illustrate the problem (c47e8f8)
    • #331
      • Final documentation review + adjustments prior to release candidate (06b86e0)
      • Refactor (4dc6594)
      • Exclude particular assertion which fails on the linux CI. (5e0f889)
      • First sketch of using configuration and environment variables for author/committer (330d0a1)
      • Remove Permissions as there is no need for that here. (1954ef0)
      • Following includes is now non-fatal by default (1bc96bf)
      • Allow to skip non-existing input paths without error (989603e)
      • File::from_git_dir() as comfortable way to instantiate most complete git configuration. (f9ce1b5)
      • Add a way to load multiple configuration files without allocating a read buffer (acb4520)
      • Refactor (ec21e95)
      • Move Env test utility into git-testtools (bd3f4d0)
      • Refactor (b073e29)
      • Another failing tests that can't be fixed without a refactor (e4d8fd7)
      • An attempt to hack newline handling into place for windows newlines (dac1463)
      • Serialize lossily-read configuration files correctly anyway. (cfda0c3)
      • Multi-path include test (3d89a46)
      • Refactor (8a7fb15)
      • Fix windows tests (fbcf40e)
      • Finally proper whitespace handling in all the right places for perfect roundtripping to/from string (97e5ede)
      • Serializations maintains some invariants about whitespace where possible. (ee10dd5)
      • Refactor (9c248ee)
      • File now compares actual content, ignoring whitespace and comments. (14a68a6)
      • Maintain insertion order of includes on per-section basis at least. (6c1588f)
      • Allow insertion of sections while preserving order (f5580a3)
      • A test showing that include ordering isn't correct compared to the including config. (4e47df5)
      • Add File::resolve_includes() and move its error type to file::includes. (17c83d5)
      • Add File::from_bytes_owned() and remove File::from_path_with_buf() (5221676)
      • Make it necessary to deal with the possibility of no-input in from_paths_metadata() . (612645f)
      • Don't fail on empty input on the comfort level (61ecaca)
      • File::new_environment_overrides() to easily instantiate overrides from the environment. (7dadfd8)
      • Prepare for supporting comfortable version of environment overrides (45c964a)
      • Remove File::from_env_paths(). (98d45c2)
      • File::new_globals() can instantiate non-local configuration with zero-configuration. (146eeb0)
      • Classify Source in accordance for what git actually does. (97374e4)
      • Source::storage_location() to know where files should be located. (e701e05)
      • file::ValueMut::(section|into_section_mut)() to go from value to the owning section. (fff0884)
      • Source::is_in_repository() to find out if a source is in the repository. (f5f2d9b)
      • parse::key to parse a remote.origin.url-like key to identify a value (91e718f)
      • Maintain newline format depending on what's present or use platform default. (f7bd2ca)
      • Prepare for passing through newline (3c06f88)
      • Add File::detect_newline_style(), which does at it says. (26147a7)
      • Fix docs (78e85d9)
      • A test for lossy File parsing (5e8127b)
      • 'lossy' is now inherited by includes processing (88c6b18)
      • Untangle file::init::… Option and Error types. (230a523)
      • Support for lossy load mode. (d003c0f)
      • :Events::from_bytes()withfilter support. ([32d5b3c`](https://github.com/GitoxideLabs/gitoxide/commit/32d5b3c695d868ba93755123a25b276bfbe55e0a))
      • Try to fix attributes, once more (a50a396)
      • File::frontmatter() and File::sections_and_postmatter(). (0ad1c9a)
      • Add _filter() versions to most access methods. (1ea26d8)
      • Even better handling of newlines (50c1753)
      • Refactor (df94c67)
      • Rename parse::Comment::(comment_tag|comment) to ::tag|text and parse::Section::section_header to ::header. (3f3ff11)
      • parse::Event::to_bstr_lossy() to get a glimpse at event content. (fc7e311)
      • Finally fix newline behaviour (c70e135)
      • Be smarter about which newline style to use by guessing it based onprior events (25ed92e)
      • File::append() can append one file to another rather losslessly. (09966a8)
      • A test to validate frontmatter isn't currently handled correctly when appending (4665e87)
      • file::Section::meta() to access a section's metadata. (56ae574)
      • Refactor (d60025e)
      • File::sections() to obtain an iterator over all sections, in order. (6f97bf0)
      • Associate file::Metadata with each File. (6f4eea9)
      • Rename file::SectionBody to file::section::Body. (b672ed7)
      • Remove File::sections_by_name_with_header() as ::sections_by_name() now returns entire sections. (3bea26d)
      • A way to more easily set interpolation even without following includes. (9aa5acd)
      • Create resolve_includes options to make space for more options when loading paths. (41b3e62)
      • Rename path::Options into path::Context. (cabc8ef)
      • Try to fix attributes, once more (207e483)
      • Validate incoming conifguration keys when interpreting envirnoment variables. (0d07ef1)
      • Try to fix filter settings, but it doesn't seem to work (9750b7a)
      • Sketch new section and metadata (9cb9acb)
      • Add Source type to allow knowing where a particular value is from. (c92d5c6)
      • Boolean can use numbers to indicate true or false, drops support for one and zero. (6b90184)
      • All accessors in File are now using impl AsRef<str> where possible for added comfort. (3de0cfd)
      • Much more comfortable API file::*Mut types thanks to impl Into/AsRef. (3d25fe6)
      • Rename Mutable* into $1Mut for consistency. (393b392)
      • file::MutableSection::remove() now actually removes keys and values. (94dde44)
      • Many more tests for MutableSection (ac843cb)
      • Refactor (701266e)
      • Conform APIs of file::MutableValue and file::MutableMultiValue. (0a7391a)
      • file::MutableMultiValue escapes input values and maintains key separator specific whitespace. (048b925)
      • Place spaces around key = value pairs, or whatever is used in the source configuration. (5418bc7)
      • Avoid extra copies when setting values and escaping them (a7eff01)
      • Refactor (15cd1d2)
      • More empty-value tests (511985a)
      • Default space is just a single tab, not two ones (7e03b83)
      • Proper escaping of value bytes to allow round-tripping after mutation (8118644)
      • Refactor (afa736a)
      • A few tests for MutableValue showing that it's too buggy right now (5e6f9d9)
      • Rename file::MutableSection::set_leading_space() to set_leading_whitespace(). (83a0922)
      • Whitespace in newly pushed keys is derived from first section value. (9f59356)
      • File::from_str() implementation, to support let config: File = "[core]".parse()? (db1f34d)
      • Whitespace in mutable sections can be finely controlled, and is derived from existing sections (9157717)
      • Refactor (c88eea8)
      • Refactor (a0d6caa)
      • Auto-compute whitespace for sections, even though it probably needs to be better than that (ee9ac95)
      • Validation for Keys and header names (59ec7f7)
      • Simplify specifying keys when mutating config values. (a93a156)
      • File::rename_section() with validation of input arguments. (895ce40)
      • Re-add newlines after multi-line values (9a2f597)
      • More header escaping tests (12cf005)
      • Enforce parse::section::Header::new() by making its fields private. (219cf7a)
      • parse::Header::new(…) with sub-section name validation (ae3895c)
      • Section names are now validated. (cfd974f)
      • Prepare for validation of parse::section::Header (00592f6)
      • Basic escaping of subsection names during serialization (00d1a9b)
      • Refactor (9fac8e0)
      • New roundtrip test on file level (78bb93c)
      • Add File::write_to() and File::to_bstring(); remove some TryFrom impls. (4f6cd8c)
      • Remove Integer::to_bstring() as well as some TryFrom impls. (0e392f8)
      • Remove Boolean::to_bstring() along with a few From impls. (b22732a)
      • Add parse::(Event|section::Header|Comment)::write_to(…). (d087f12)
      • Fix tests on windows (3d7fc18)
      • Value normalization (via value::normalize() handles escape sequences. (f911707)
      • Refactor normalization and more tests (cf3bf4a)
      • More escape characters for normalization (b92bd58)
      • Review docs of file::mutating (2d5703e)
      • Stable sort order for File::sections_by_name_with_header() (44dfec0)
      • Review file::raw module (6acf4a4)
      • Don't over-normalize in comfort layer - all values are normalized now (b979a3b)
      • Docs for comfort level File API (eafc6ce)
      • Review and refactor 'File::value' module (7aa8a0b)
      • Allocation free File::sections_by_name() and File::sections_by_name_with_header(). (65c520c)
      • Refactor (2abffd6)
      • Refactor (539c2f6)
      • Refactor (f1668e9)
      • Refactor (2599680)
      • Refactor (879fad5)
      • Fix docs (b2b82da)
      • Once again zero-allocation for SectionBodyIter (ba69124)
      • Refactor (33efef6)
      • Docs and refactor (700d6aa)
      • Path::interpolate() now takes path::interpolate::Options instead of three parameters. (ac57c44)
      • Refactor from_env (c8693f9)
      • Make fmt (a7d7751)
      • More doc adjustments (95fc20a)
      • Review docs of 'parse' module; refactor (a361c7f)
      • Refactor (8e84fda)
      • File::raw_multi_value() to File::raw_values() ([9cd9933](https://git
    Open source →

Every package, every release, already written down.

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

Browse the archive