Skip to content

Commit 3313233

Browse files
authored
Merge pull request #2224 from GitoxideLabs/report
October 2025 report and release
2 parents 8699d0f + 49f8d53 commit 3313233

File tree

103 files changed

+2147
-875
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+2147
-875
lines changed

Cargo.lock

Lines changed: 59 additions & 59 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ repository = "https://github.com/GitoxideLabs/gitoxide"
77
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
88
edition = "2021"
99
license = "MIT OR Apache-2.0"
10-
version = "0.45.0"
10+
version = "0.46.0"
1111
rust-version = "1.82"
1212
default-run = "gix"
1313
include = ["src/**/*", "/build.rs", "LICENSE-*", "README.md"]
@@ -151,9 +151,9 @@ gitoxide-core-async-client = ["gitoxide-core/async-client", "futures-lite"]
151151
[dependencies]
152152
anyhow = "1.0.98"
153153

154-
gitoxide-core = { version = "^0.48.0", path = "gitoxide-core" }
155-
gix-features = { version = "^0.43.1", path = "gix-features" }
156-
gix = { version = "^0.73.0", path = "gix", default-features = false }
154+
gitoxide-core = { version = "^0.49.0", path = "gitoxide-core" }
155+
gix-features = { version = "^0.44.0", path = "gix-features" }
156+
gix = { version = "^0.74.0", path = "gix", default-features = false }
157157

158158
clap = { version = "4.5.42", features = ["derive", "cargo"] }
159159
clap_complete = "4.5.55"

etc/reports/25-10.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
"By this time I think it's fair to say that I am mostly busy with GitButler, and `gitoxide` doesn't receive more than basic maintenance and the occasional fix."
2+
That was what I started out as in the previous month, and it's still very true today.
3+
4+
## Important fix to blob merges
5+
6+
Previously, when merging the bytes of blobs, there were two conditions which effectively auto-merged what should have been a conflict. This in turn made `gitoxide` report a merge-success where it should have conflicted, just like Git.
7+
8+
There was one existing test that covered it, but the expectation was wrong, and I didn't notice the signal in quite an indirect test for another purpose.
9+
10+
Now there is specific tests for this case, and the fix was just to remove this special case. If memory serves, these were a remnant of an intermediate state of the implementation and I never dared removing them.
11+
12+
Thanks to [Caleb Owens](https://github.com/caleb-t-owens) for reporting this issue!
13+
14+
### The MSRV is now Rust 1.82
15+
16+
In the drive to get closer to removing `once_cell` from the dependency tree, we have upgraded the minimum supported Rust version to 1.82, which is also used by Helix, entirely without coincidence.
17+
18+
Now I am looking forward to eventually hitting Rust 1.90, which should allow the crates to switch to Rust Edition 2024 🎉.
19+
20+
## Community
21+
22+
### Meta Open Source donation on OpenCollective
23+
24+
By the end of August, well within the reporting period of the previous month, Meta Open Source endowed Gitoxide with 20.000USD. This generous donation is now used as maintenance fund, allowing me to get paid for maintenance which doesn't have to come from my already non-existing free time anymore. ("free time" here is defined as time were I can do just what I want 😁).
25+
26+
Thank you, Meta Open Source, for making such a meaningful donation!
27+
28+
### SHA256 preparations
29+
30+
A small but meaningful contribution by [Lorenz Leutgeb](https://github.com/lorenzleutgeb) helped pave the way for SHA256 support, by making the current SHA1 implementation optional, and the respective `gix-hash::Kind` enum non-exhaustive.
31+
This also allows to one day create builds that only support SHA256 as safer (and much faster) alternative.
32+
33+
### `gix commit sign`
34+
35+
Last but not least, and kindly contributed by [Christoph Rüßler](https://github.com/cruessler), we now have the `gix commit sign` subcommand, which does exactly like it says: it signs a commit using GPG, like Git would, without implementing all the configuration variables and special cases that Git would.
36+
37+
As such, it's a prototype, but also a first step towards implementing signing just like Git would, so it can eventually move into the `gix` crate 🎉.
38+
39+
### Gix in Cargo
40+
41+
There is nothing new here, but let's keep the horizon active:
42+
43+
> With GitButler slated to have its checkout driven by a tailor-made implementation of 'reset' in `gitoxide`, this coincidentally is exactly what Cargo would need to also greatly speed up its checkouts and make them more compatible, too. We are talking proper Git filter support, and speedups in the realms of ~7x (see the `GitButler` paragraph for details).
44+
45+
Cheers
46+
Sebastian
47+
48+
PS: The latest timesheets can be found [here (2025)](https://github.com/Byron/byron/blob/main/timesheets/2025.csv).

gitoxide-core/Cargo.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lints.workspace = true
44
name = "gitoxide-core"
55
description = "The library implementing all capabilities of the gitoxide CLI"
66
repository = "https://github.com/GitoxideLabs/gitoxide"
7-
version = "0.48.0"
7+
version = "0.49.0"
88
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
99
license = "MIT OR Apache-2.0"
1010
edition = "2021"
@@ -49,12 +49,12 @@ serde = ["gix/serde", "dep:serde_json", "dep:serde", "bytesize/serde"]
4949

5050
[dependencies]
5151
# deselect everything else (like "performance") as this should be controllable by the parent application.
52-
gix = { version = "^0.73.0", path = "../gix", default-features = false, features = ["merge", "blob-diff", "blame", "revision", "mailmap", "excludes", "attributes", "worktree-mutation", "credentials", "interrupt", "status", "dirwalk"] }
53-
gix-pack-for-configuration-only = { package = "gix-pack", version = "^0.60.0", path = "../gix-pack", default-features = false, features = ["pack-cache-lru-dynamic", "pack-cache-lru-static", "generate", "streaming-input"] }
54-
gix-transport-configuration-only = { package = "gix-transport", version = "^0.48.0", path = "../gix-transport", default-features = false }
55-
gix-archive-for-configuration-only = { package = "gix-archive", version = "^0.22.0", path = "../gix-archive", optional = true, features = ["tar", "tar_gz"] }
56-
gix-status = { version = "^0.20.0", path = "../gix-status" }
57-
gix-fsck = { version = "^0.12.0", path = "../gix-fsck" }
52+
gix = { version = "^0.74.0", path = "../gix", default-features = false, features = ["merge", "blob-diff", "blame", "revision", "mailmap", "excludes", "attributes", "worktree-mutation", "credentials", "interrupt", "status", "dirwalk"] }
53+
gix-pack-for-configuration-only = { package = "gix-pack", version = "^0.61.0", path = "../gix-pack", default-features = false, features = ["pack-cache-lru-dynamic", "pack-cache-lru-static", "generate", "streaming-input"] }
54+
gix-transport-configuration-only = { package = "gix-transport", version = "^0.49.0", path = "../gix-transport", default-features = false }
55+
gix-archive-for-configuration-only = { package = "gix-archive", version = "^0.23.0", path = "../gix-archive", optional = true, features = ["tar", "tar_gz"] }
56+
gix-status = { version = "^0.21.0", path = "../gix-status" }
57+
gix-fsck = { version = "^0.13.0", path = "../gix-fsck" }
5858
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
5959
anyhow = "1.0.100"
6060
thiserror = "2.0.17"
@@ -70,7 +70,7 @@ futures-io = { version = "0.3.16", optional = true }
7070
blocking = { version = "1.6.2", optional = true }
7171

7272
# for 'organize' functionality
73-
gix-url = { version = "^0.32.0", path = "../gix-url", optional = true }
73+
gix-url = { version = "^0.33.0", path = "../gix-url", optional = true }
7474
jwalk = { version = "0.8.0", optional = true }
7575

7676
# for 'hours'

gix-actor/CHANGELOG.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 0.35.5 (2025-10-22)
9+
10+
### Commit Statistics
11+
12+
<csr-read-only-do-not-edit/>
13+
14+
- 6 commits contributed to the release over the course of 70 calendar days.
15+
- 70 days passed between releases.
16+
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
17+
- 0 issues like '(#ID)' were seen in commit messages
18+
19+
### Commit Details
20+
21+
<csr-read-only-do-not-edit/>
22+
23+
<details><summary>view details</summary>
24+
25+
* **Uncategorized**
26+
- Merge pull request #2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 ([`4da2927`](https://github.com/GitoxideLabs/gitoxide/commit/4da2927629c7ec95b96d62a387c61097e3fc71fa))
27+
- Fixup Copilot commits and thank clippy ([`b188a7d`](https://github.com/GitoxideLabs/gitoxide/commit/b188a7d834979eaa940fd94ec269367cd922d16d))
28+
- Update MSRV to 1.82 and replace once_cell with std equivalents ([`6cc8464`](https://github.com/GitoxideLabs/gitoxide/commit/6cc84641cb7be6f70468a90efaafcf142a6b8c4b))
29+
- Merge pull request #2202 from GitoxideLabs/dependabot/cargo/cargo-4a7155215a ([`9365cc3`](https://github.com/GitoxideLabs/gitoxide/commit/9365cc3ae8ad92ba2703170ac2f9a1e4df2ac3be))
30+
- Bump the cargo group across 1 directory with 64 updates ([`838ff95`](https://github.com/GitoxideLabs/gitoxide/commit/838ff95cca60c453bd97bd458ce31b384d00347e))
31+
- Merge pull request #2113 from GitoxideLabs/release ([`dc7343c`](https://github.com/GitoxideLabs/gitoxide/commit/dc7343c25ec6a62445e52694f7f0d3f95f31edef))
32+
</details>
33+
834
## 0.35.4 (2025-08-13)
935

1036
A maintenance release without user-facing changes.
@@ -13,7 +39,7 @@ A maintenance release without user-facing changes.
1339

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

16-
- 4 commits contributed to the release over the course of 9 calendar days.
42+
- 5 commits contributed to the release over the course of 9 calendar days.
1743
- 9 days passed between releases.
1844
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
1945
- 0 issues like '(#ID)' were seen in commit messages
@@ -25,6 +51,7 @@ A maintenance release without user-facing changes.
2551
<details><summary>view details</summary>
2652

2753
* **Uncategorized**
54+
- Release gix-actor v0.35.4, gix-fs v0.16.1, gix-object v0.50.2, gix-ref v0.53.1 ([`79ba9d0`](https://github.com/GitoxideLabs/gitoxide/commit/79ba9d009ca7536fadfe27b4fa56d1460327c906))
2855
- Update changelogs prior to `gix-ref` release ([`5315180`](https://github.com/GitoxideLabs/gitoxide/commit/53151807ec82ce3fbe1838c0885a4f9b71b82f23))
2956
- Merge pull request #2110 from jpgrayson/fix/gix-date-parse-raw ([`651f9fa`](https://github.com/GitoxideLabs/gitoxide/commit/651f9fa560d5df7260a45068b8440f72820a6ffd))
3057
- Release gix-date v0.10.5 ([`4289ae6`](https://github.com/GitoxideLabs/gitoxide/commit/4289ae635d94d713d247eaf6f87d0ba91a1a3826))

gix-actor/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ lints.workspace = true
22

33
[package]
44
name = "gix-actor"
5-
version = "0.35.4"
5+
version = "0.35.5"
66
description = "A way to identify git actors"
77
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
88
repository = "https://github.com/GitoxideLabs/gitoxide"
@@ -19,8 +19,8 @@ doctest = false
1919
serde = ["dep:serde", "bstr/serde", "gix-date/serde"]
2020

2121
[dependencies]
22-
gix-date = { version = "^0.10.5", path = "../gix-date" }
23-
gix-utils = { version = "^0.3.0", path = "../gix-utils" }
22+
gix-date = { version = "^0.10.6", path = "../gix-date" }
23+
gix-utils = { version = "^0.3.1", path = "../gix-utils" }
2424

2525
thiserror = "2.0.17"
2626
bstr = { version = "1.12.0", default-features = false, features = [

gix-archive/CHANGELOG.md

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,44 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 0.23.0 (2025-10-22)
9+
10+
### Commit Statistics
11+
12+
<csr-read-only-do-not-edit/>
13+
14+
- 18 commits contributed to the release over the course of 99 calendar days.
15+
- 99 days passed between releases.
16+
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
17+
- 0 issues like '(#ID)' were seen in commit messages
18+
19+
### Commit Details
20+
21+
<csr-read-only-do-not-edit/>
22+
23+
<details><summary>view details</summary>
24+
25+
* **Uncategorized**
26+
- Merge pull request #2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 ([`4da2927`](https://github.com/GitoxideLabs/gitoxide/commit/4da2927629c7ec95b96d62a387c61097e3fc71fa))
27+
- Fixup Copilot commits and thank clippy ([`b188a7d`](https://github.com/GitoxideLabs/gitoxide/commit/b188a7d834979eaa940fd94ec269367cd922d16d))
28+
- Update MSRV to 1.82 and replace once_cell with std equivalents ([`6cc8464`](https://github.com/GitoxideLabs/gitoxide/commit/6cc84641cb7be6f70468a90efaafcf142a6b8c4b))
29+
- Merge pull request #2202 from GitoxideLabs/dependabot/cargo/cargo-4a7155215a ([`9365cc3`](https://github.com/GitoxideLabs/gitoxide/commit/9365cc3ae8ad92ba2703170ac2f9a1e4df2ac3be))
30+
- Bump the cargo group across 1 directory with 64 updates ([`838ff95`](https://github.com/GitoxideLabs/gitoxide/commit/838ff95cca60c453bd97bd458ce31b384d00347e))
31+
- Merge pull request #2150 from GitoxideLabs/dependabot/cargo/cargo-f19b0f46bb ([`f7bfff4`](https://github.com/GitoxideLabs/gitoxide/commit/f7bfff4cd937d325c8643afcb906e0458beca061))
32+
- Bump the cargo group across 1 directory with 3 updates ([`b1e985d`](https://github.com/GitoxideLabs/gitoxide/commit/b1e985de57566ccb12366cc331799a76d7676e62))
33+
- Merge pull request #2113 from GitoxideLabs/release ([`dc7343c`](https://github.com/GitoxideLabs/gitoxide/commit/dc7343c25ec6a62445e52694f7f0d3f95f31edef))
34+
- Release gix-actor v0.35.4, gix-fs v0.16.1, gix-object v0.50.2, gix-ref v0.53.1 ([`79ba9d0`](https://github.com/GitoxideLabs/gitoxide/commit/79ba9d009ca7536fadfe27b4fa56d1460327c906))
35+
- Merge pull request #2110 from jpgrayson/fix/gix-date-parse-raw ([`651f9fa`](https://github.com/GitoxideLabs/gitoxide/commit/651f9fa560d5df7260a45068b8440f72820a6ffd))
36+
- Release gix-date v0.10.5 ([`4289ae6`](https://github.com/GitoxideLabs/gitoxide/commit/4289ae635d94d713d247eaf6f87d0ba91a1a3826))
37+
- Merge pull request #2100 from GitoxideLabs/release ([`202bc6d`](https://github.com/GitoxideLabs/gitoxide/commit/202bc6da79854d1fb6bb32b9c6bb2a6f882c77f5))
38+
- Release gix-actor v0.35.3, gix-path v0.10.20, gix-features v0.43.1, gix-object v0.50.1 ([`d64f257`](https://github.com/GitoxideLabs/gitoxide/commit/d64f257951754ea70b0179b83f76de957b712211))
39+
- Merge pull request #2097 from GitoxideLabs/fix-gix-date ([`589d63e`](https://github.com/GitoxideLabs/gitoxide/commit/589d63ed21e5f2cd53ad2cac96fc387df3ea26e9))
40+
- Release gix-date v0.10.4 ([`007e3f6`](https://github.com/GitoxideLabs/gitoxide/commit/007e3f66246aaafc2374b85cbf77f89ec0b09512))
41+
- Merge pull request #2090 from GitoxideLabs/dependabot/cargo/cargo-f147714000 ([`473fe52`](https://github.com/GitoxideLabs/gitoxide/commit/473fe522e84569f77bf38294a412f0d13fa54d63))
42+
- Bump the cargo group with 41 updates ([`428412c`](https://github.com/GitoxideLabs/gitoxide/commit/428412c9ff05caabb4f8714d5de769603e18a8f9))
43+
- Merge pull request #2075 from GitoxideLabs/improvements ([`784c046`](https://github.com/GitoxideLabs/gitoxide/commit/784c0465bf87011fe7dbf71a590d3f9e6c8696a8))
44+
</details>
45+
846
## 0.22.0 (2025-07-15)
947

1048
A maintenance release without user-facing changes.
@@ -13,7 +51,7 @@ A maintenance release without user-facing changes.
1351

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

16-
- 10 commits contributed to the release over the course of 59 calendar days.
54+
- 11 commits contributed to the release over the course of 59 calendar days.
1755
- 59 days passed between releases.
1856
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
1957
- 0 issues like '(#ID)' were seen in commit messages
@@ -25,6 +63,7 @@ A maintenance release without user-facing changes.
2563
<details><summary>view details</summary>
2664

2765
* **Uncategorized**
66+
- 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`](https://github.com/GitoxideLabs/gitoxide/commit/5a919c48393020d47c7034946108577dd213b80a))
2867
- Update changelogs prior to release ([`65037b5`](https://github.com/GitoxideLabs/gitoxide/commit/65037b56918b90ac07454a815b0ed136df2fca3b))
2968
- Merge pull request #2070 from GitoxideLabs/dependabot/cargo/cargo-827bceb7eb ([`dab97f7`](https://github.com/GitoxideLabs/gitoxide/commit/dab97f7618f160421b6e31de8f3e2f3d11dc2ef2))
3069
- Bump the cargo group across 1 directory with 68 updates ([`a9a8ea1`](https://github.com/GitoxideLabs/gitoxide/commit/a9a8ea1472532dde03bce4e0afdfa82924af1f96))

gix-archive/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ lints.workspace = true
22

33
[package]
44
name = "gix-archive"
5-
version = "0.22.0"
5+
version = "0.23.0"
66
repository = "https://github.com/GitoxideLabs/gitoxide"
77
license = "MIT OR Apache-2.0"
88
description = "archive generation from of a worktree stream"
@@ -27,10 +27,10 @@ zip = ["dep:zip"]
2727

2828

2929
[dependencies]
30-
gix-worktree-stream = { version = "^0.22.0", path = "../gix-worktree-stream" }
31-
gix-object = { version = "^0.50.2", path = "../gix-object" }
32-
gix-path = { version = "^0.10.20", path = "../gix-path", optional = true }
33-
gix-date = { version = "^0.10.5", path = "../gix-date" }
30+
gix-worktree-stream = { version = "^0.23.0", path = "../gix-worktree-stream" }
31+
gix-object = { version = "^0.51.0", path = "../gix-object" }
32+
gix-path = { version = "^0.10.21", path = "../gix-path", optional = true }
33+
gix-date = { version = "^0.10.6", path = "../gix-date" }
3434

3535
flate2 = { version = "1.1.1", optional = true, default-features = false, features = ["zlib-rs"] }
3636
zip = { version = "5.1.1", optional = true, default-features = false, features = ["deflate-flate2"] }

0 commit comments

Comments
 (0)