NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1231 most downloaded on crates.io
A git-style lock-file implementation
Last release 12 days ago
25 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 35 of 36 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
37 releases · first in 2023
One column per quarter.
Nothing published for this version
7 commits contributed to the release.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
cb6ec7d)f0ec710)c16b5a1)43ff87a)cf3053a)27aec47)f7d4f33)
</details>6 commits contributed to the release over the course of 28 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
10c58bb)ab2fee1)2cb17b2)e10d5f6)3675a8d)adb8328)
</details>2 commits contributed to the release over the course of 2 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
53f880c)4d5ba23)
</details>6 commits contributed to the release over the course of 32 calendar days.
<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)98bae84)
</details>5 commits contributed to the release.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
4a3d6e9)c389a2c)6183fd0)6bdb331)9327b73)
</details>4 commits contributed to the release over the course of 19 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
d66ac10)8bceefb)7ce3c55)f7d0975)
</details>4 commits contributed to the release over the course of 16 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
cbbdef5)562e684)0a333e5)c663b3f)
</details>4 commits contributed to the release over the course of 14 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
7be8f90)d914d95)4edc5dd)d6c5b9d)
</details>2 commits contributed to the release.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
21fecdf)3313233)
</details>7 commits contributed to the release over the course of 99 calendar days.
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
89fb308)4da2927)b188a7d)6cc8464)9365cc3)838ff95)784c046)
</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>
5a919c4)65037b5)f8d7c0a)151e3a5)8d4c4d1)
</details>3 commits contributed to the 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>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>
b41312b)38dff41)ffb73b5)gix-utils (bf4fa1b)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>
4000197)8ce4912)bc9d994)7a40648)0f0e4fe)db5c9cf)
</details>8 commits contributed to the release over the course of 123 calendar days.
<csr-id-64ff0a77062d35add1a2dd422bb61075647d1a36/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
3f7e8ee)795962b)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>
4f98e94)9511416)
</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)7b44c7f)
</details>add *_with_permissions(..., permissions) methods. That way it's possible to create lock files with non-default permissions as well.
*_with_permissions(..., permissions) methods.
That way it's possible to create lock files with non-default permissions
as well.sudo and others.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
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>
eb6aa8f)6a2e0be)
</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>4 commits contributed to the release.
<csr-id-aea89c3ad52f1a800abb620e9a4701bdf904ff7d/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
e1aae19)e78a92b)4454c9d)aea89c3)
</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)2b1c60a)d3dcbe5)51c7abc)c0e72fb)b65a80b)
</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>
68e5432)1347a54)
</details>Make it easy to configure lock acquisition failure from Duration. Now Duration can be turned into acquire::Fail.
<csr-id-ae298262add18049969f9451ed2a704d248eed41/>
Duration can be turned into acquire::Fail.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
ae29826)7891fb1)8a60d5b)b009db0)fda4337)
</details>use dyn trait where possible. This reduces compile time due to avoiding duplication.
dyn trait where possible.
This reduces compile time due to avoiding duplication.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
8bd0456)375db06)dynification (f658fcc)dyn trait where possible. (072ee32)363ee77)
</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>
30b2761)6672d8e)f23ea88)
</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/>
Clippy helped 1 time to make code idiomatic.
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
107a64e)16295b5)c4cc5f2)5cb3589)13a497f)2fc66b5)9064ea3)908468b)
</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>
6 commits contributed to the release over the course of 10 calendar days.
<csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
ea9f942)18b0a37)aa16c8c)4f635fc)fe59956)clippy::redundant-closure-for-method-calls lint (bcad5c2)
</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)
</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/>
Clippy helped 1 time to make code idiomatic.
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
91134a1)30a1a71)6ebd61e)14e64e7)8dbd0a6)gix-fs crate to consolidate all filesystem utilities (f8cc33c)01277a6)
</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>
29a0870)e06f5f5)
</details>5 commits contributed to the release over the course of 2 calendar days.
<csr-id-d08364ce7eb00b052202b623dad92cfda38b812f/>
<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
ea9fd1d)d686d94)gix-tempfile (bfcd1e3)quick-error with thiserror (d08364c)56c005b)
</details>Allow 'refactor' and 'other' in conventional messages if they have breaking changes (`4eebaac`)
<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.
PermissionDenied as reason to retry on lock acquisition failure.
Evidence from CI suggests that on windows 'AlreadyExists' isn't the
common error code. Instead, maybe due to racyness, it can also emit
PermissionDenied errors which we now handle specifically.backoff for an exponential backoff iterator.
It's used for computing the backoff on the lock itself, but is certainly
useful in other occasions as well.<csr-read-only-do-not-edit/>
<csr-read-only-do-not-edit/>
Clippy helped 3 times to make code idiomatic.
<csr-read-only-do-not-edit/>
<details><summary>view details</summary>
04b9ca0)e695eda)0c81769)a517e39)4eebaac)4a9a05f)f536bad)a0bc98c)2f75db2)746a676)a789490)PermissionDenied as reason to retry on lock acquisition failure. (73ecb40)rust-version to 1.64 (55066ce)e313112)6efd0d3)6ccc88a)c9275b9)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-config to gix-config (3a861c8)git-ref to gix-ref (1f5f695)git-lock to gix-lock (2028e78)git-lock to gix-lock (0422433)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)1e544e8)39ed9ed)bac57dd)e6b9906)7114bbb)c57bdde)083909b)f1160fb)bcd9654)b2c301e)e4648f8)0e4462d)3d8fa8f)0c253b1)fe5721f)f4ff821)0c9c48b)backoff for an exponential backoff iterator. (f9bb71b)bc64b96)cfa1440)4974eca)e2ee3de)31c2351)f7f136d)533e887)085e76b)a22b1d8)598c853)654cf39)8131227)05eb340)7cb1972)251b6df)2fe70f9)8122c5c)0eb2372)350df01)e58dc30)90b1c42)59ffbd9)a474395)21541b3)f38f72c)1238535)3a1cf4d)01278fe)a5ea2e7)5e0edba)168f5a0)File (be62a8b)263088b)d58f37e)20d8e27)0e11e98)b138b43)536555d)b4dcdfc)b2217e7)48861b2)1fcdd1e)95e74dd)797bafa)b808b00)64ac60d)f700821)b747814)60d48b0)4512798)7fafa3e)34d3c5a)2d67a0e)813c46b)29782e8)bb2ba81)6f8fbcc)ddc2170)368d994)220eb99)62c17d8)55670b4)956e69f)3706b26)fda7da8)3c34194)0dc88c9)6af84c9)17942c7)f0e1427)92f3a83)7c2eb36)e6bc87d)
</details>Your coding agent can read these notes before it upgrades. Set up the MCP server →