NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1373 most downloaded on crates.io
A crate of the gitoxide project dealing with various quotations used by git
Last release 12 days ago
25 Sep 2026
Release timing varies
gaps range from 2 weeks to 6 months
Nearly every release is documented
notes for 23 of 24 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
25 releases · first in 2023
One column per quarter.
A first usable version of gix to make using gitoxide from your applications so much easier. It serves as a one-stop shop for application developers wi
A first usable version of gix to make using gitoxide from your applications so much easier. It serves as a one-stop shop for application developers without sacrificing performance by default while making common use-cases more convenient.
gix as hub crate for application development with focus on usability without sacrificing any knob to tune performance.async for gix-packetline, gix-transport and gix-protocol for fully async git clients, along with the light-async feature toggle to build a gix pack-receive with an async client instead of a blocking one.gix pack-create with the -s/--statistics flag to have data indicating the cost of the operation. Currently it's doing a lot of work that has to be avoided in order to be useable in production and the numbers underline that. Future iterations will cause key metrics to go down.gix-tempfile crategix-lock crategix-ref crate with complete loose-ref, packed-ref and transaction support.git.gix-object parsing is a few percent faster thanks a reworked error handling for objects. By default, error collection is disabled entirely making the error case zero-sized. If needed, verbose and stacked errors can be turned on using a feature toggle for applications who expect repositories with malformed objects and need detailed diagnostics.<csr-read-only-do-not-edit/>
Nothing published for this version
5 commits contributed to the release over the course of 30 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
ab2fee1)2cb17b2)e10d5f6)3675a8d)4d5ba23)
</details>6 commits contributed to the release.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
f9fbcba)444a92b)package.include patterns more specific so they don't match ignored files (c2c917f)29c275e)b1102c2)f7277f3)
</details>32 commits contributed to the release over the course of 128 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
Clippy helped 3 times to make code idiomatic.
gix-error instead of thiserror in gix-quote
Replace the thiserror-derived ansi_c::undo::Error enum with
gix_error::Exn<gix_error::ValidationError>, converting the Error::new()
factory and variant constructors to message!() calls.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
ecf90fc)000d58a)gix-error instead of thiserror in gix-quote (502eaa0)9327b73)
</details>4 commits contributed to the release.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
d66ac10)8bceefb)7ce3c55)3313233)
</details>6 commits contributed to the release over the course of 178 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
89fb308)4da2927)6cc8464)9365cc3)838ff95)8d4c4d1)
</details>These are created to account for breaking changes within the dependency graph of gitoxide crates. Due to some blunders in the past the version on crat…
Maintenance release without any new features.
These are created to account for breaking changes within the dependency graph of
gitoxide crates. Due to some blunders in the past the version on crates.io
could not be installed anymore.
This was eventually fixed with new minor releases across the ecosystem.
Finally, yet another breaking change due to the introduction of the gix-hash
crate to break a dependency cycle between gix-object and gix-features caused
yet another maintenance release.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
e104545)5f7f805)631f07a)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
cc5b696)db0b095)0bf84db)b5e9059)68e6b2e)420e730)
</details>Maintenance release without any new features.
Maintenance release without any new features.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
9cb09b2)5c7b52d)2571113)aacf0f0)ca5b801)
</details><csr-id-d731a1cb81d43df4c66403353be71b58abb17db7/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
b41312b)38dff41)7b17da6)01bd76d)6065af5)single escaping (d731a1c)8df0db2)
</details>5 commits contributed to the release over the course of 55 calendar days.
<csr-id-17835bccb066bbc47cc137e8ec5d9fe7d5665af0/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
dea106a)1f6390c)7ec21bb)rust-version to 1.70 (17835bc)e8b3b41)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
8ce4912)bc9d994)7a40648)0f0e4fe)db5c9cf)
</details>9 commits contributed to the release over the course of 123 calendar days.
<csr-id-65f69f72a8a08b3b2462362ec10d1748be48019b/> <csr-id-64ff0a77062d35add1a2dd422bb61075647d1a36/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
3f7e8ee)795962b)65f69f7)64ff0a7)649f588)beba720)37ba461)2e0ce50)9fa1054)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
b050327)52c3bbd)3e5c974)f8ce3d0)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
45b4470)f2e111f)5fc379d)c5c69bd)f26f298)
</details>3 commits contributed to the release.
<csr-id-3bd09ef120945a9669321ea856db4079a5dab930/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
972241f)8c492d7)rust-version manifest field back to 1.65. (3bd09ef)
</details>ansi_c::undo() won't panic anymore.
<csr-id-aea89c3ad52f1a800abb620e9a4701bdf904ff7d/>
ansi_c::undo() won't panic anymore.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
e1aae19)e78a92b)4454c9d)aea89c3)f7adf97)ansi_c::undo() won't panic anymore. (e4f7995)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
55d386a)d3dcbe5)c0e72fb)b65a80b)065ab57)363ee77)
</details>3 commits contributed to the release over the course of 4 calendar days.
<csr-id-229bd4899213f749a7cc124aa2b82a1368fba40f/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
30b2761)f23ea88)229bd48)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
16295b5)c4cc5f2)5cb3589)2fc66b5)9064ea3)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
ea9f942)18b0a37)aa16c8c)4f635fc)
</details>A maintenance release without user-facing changes.
A maintenance release without user-facing changes.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
9a9fa96)8f15cec)420553a)2578e57)3ef5c90)9375cd7)facaaf6)
</details>1 commit contributed to the release over the course of 1 calendar day.
<csr-read-only-do-not-edit/>
<csr-id-dbad03a7182c63dd7b3e3be1661d335b22ff360a/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
e6cc618)addd789)94c99c7)d686d94)quick-error with thiserror (dbad03a)
</details>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
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.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
9604783)bstr v1.3, use *.as_bytes() instead of .as_ref(). (135d317)
</details>fix installation via cargo install
cargo install<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
<csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/>
<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-a052d79674ccfe8693994150ccbe965792579491/> ansi_c::unquote() returns the amount of consumed bytes.
That way it's possible to continue parsing past the quoted string.
bstr to 1.0.1single for single-quoting strings.
This function takes a string and transforms it into a form safe for
consumption by Bourne compatible shells.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
bstr to 1.0.1 (99905ba)caa7a1b)rust-version to 1.64 (55066ce)6efd0d3)6ccc88a)c9275b9)git-testtools to gix-testtools (b65c33d)git-pack to gix-pack (1ee81ad)git-odb to gix-odb (476e2ad)git-index to gix-index (86db5e0)git-diff to gix-diff (49a163e)git-commitgraph to gix-commitgraph (f1dd0a3)git-mailmap to gix-mailmap (2e28c56)git-discover to gix-discover (53adfe1)git-chunk to gix-chunk (59194e3)git-bitmap to gix-bitmap (75f2a07)git-protocol to gix-protocol (823795a)git-refspec to gix-refspec (c958802)git-revision to gix-revision (ee0ee84)git-transport to gix-transport (b2ccf71)git-credentials to gix-credentials (6b18abc)git-prompt to gix-prompt (6a4654e)git-command to gix-command (d26b8e0)git-packetline to gix-packetline (5cbd22c)git-worktree to gix-worktree (73a1282)git-worktree to gix-worktree (108bb1a)git-url to gix-url (b50817a)git-date to gix-date (9a79ff2)git-attributes to gix-attributes (4a8b3b8)git-quote to gix-quote (648025b)git-quote to gix-quote (0ba2f2d)git-config to gix-config (3a861c8)git-ref to gix-ref (1f5f695)git-lock to gix-lock (2028e78)git-tempfile to gix-tempfile (b6cc3eb)git-object to gix-object (fc86a1e)git-actor to gix-actor (4dc9b44)git-validate to gix-validate (5e40ad0)git-hash to gix-hash (4a9d025)git-features to gix-features (e2dd68a)git-glob to gix-glob (35b2a3a)git-sec to gix-sec (eabbb92)git-path to gix-path (d3bbcfc)git-config-value to gix-config-value (622b3e1)c196d20)7c846d2)0506a1f)cc35025)deed1f1)single for single-quoting strings. (03647fc)bcd9654)b2c301e)e4648f8)0e4462d)3d8fa8f)25a7726)29a043b)fd14489)bc64b96)cfa1440)4974eca)e2ee3de)31c2351)f7f136d)533e887)e58dc30)a8f6c4d)
</details>Your coding agent can read these notes before it upgrades. Set up the MCP server →