Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 59 additions & 59 deletions Cargo.lock

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ repository = "https://github.com/GitoxideLabs/gitoxide"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
edition = "2021"
license = "MIT OR Apache-2.0"
version = "0.45.0"
version = "0.46.0"
rust-version = "1.82"
default-run = "gix"
include = ["src/**/*", "/build.rs", "LICENSE-*", "README.md"]
Expand Down Expand Up @@ -151,9 +151,9 @@ gitoxide-core-async-client = ["gitoxide-core/async-client", "futures-lite"]
[dependencies]
anyhow = "1.0.98"

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

clap = { version = "4.5.42", features = ["derive", "cargo"] }
clap_complete = "4.5.55"
Expand Down
48 changes: 48 additions & 0 deletions etc/reports/25-10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"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."
That was what I started out as in the previous month, and it's still very true today.

## Important fix to blob merges

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.

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.

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.

Thanks to [Caleb Owens](https://github.com/caleb-t-owens) for reporting this issue!

### The MSRV is now Rust 1.82

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.

Now I am looking forward to eventually hitting Rust 1.90, which should allow the crates to switch to Rust Edition 2024 🎉.

## Community

### Meta Open Source donation on OpenCollective

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 😁).

Thank you, Meta Open Source, for making such a meaningful donation!

### SHA256 preparations

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.
This also allows to one day create builds that only support SHA256 as safer (and much faster) alternative.

### `gix commit sign`

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.

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 🎉.

### Gix in Cargo

There is nothing new here, but let's keep the horizon active:

> 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).

Cheers
Sebastian

PS: The latest timesheets can be found [here (2025)](https://github.com/Byron/byron/blob/main/timesheets/2025.csv).
16 changes: 8 additions & 8 deletions gitoxide-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ lints.workspace = true
name = "gitoxide-core"
description = "The library implementing all capabilities of the gitoxide CLI"
repository = "https://github.com/GitoxideLabs/gitoxide"
version = "0.48.0"
version = "0.49.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
Expand Down Expand Up @@ -49,12 +49,12 @@ serde = ["gix/serde", "dep:serde_json", "dep:serde", "bytesize/serde"]

[dependencies]
# deselect everything else (like "performance") as this should be controllable by the parent application.
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"] }
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"] }
gix-transport-configuration-only = { package = "gix-transport", version = "^0.48.0", path = "../gix-transport", default-features = false }
gix-archive-for-configuration-only = { package = "gix-archive", version = "^0.22.0", path = "../gix-archive", optional = true, features = ["tar", "tar_gz"] }
gix-status = { version = "^0.20.0", path = "../gix-status" }
gix-fsck = { version = "^0.12.0", path = "../gix-fsck" }
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"] }
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"] }
gix-transport-configuration-only = { package = "gix-transport", version = "^0.49.0", path = "../gix-transport", default-features = false }
gix-archive-for-configuration-only = { package = "gix-archive", version = "^0.23.0", path = "../gix-archive", optional = true, features = ["tar", "tar_gz"] }
gix-status = { version = "^0.21.0", path = "../gix-status" }
gix-fsck = { version = "^0.13.0", path = "../gix-fsck" }
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
anyhow = "1.0.100"
thiserror = "2.0.17"
Expand All @@ -70,7 +70,7 @@ futures-io = { version = "0.3.16", optional = true }
blocking = { version = "1.6.2", optional = true }

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

# for 'hours'
Expand Down
29 changes: 28 additions & 1 deletion gix-actor/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.35.5 (2025-10-22)

### Commit Statistics

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

- 6 commits contributed to the release over the course of 70 calendar days.
- 70 days passed between releases.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 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 #2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 ([`4da2927`](https://github.com/GitoxideLabs/gitoxide/commit/4da2927629c7ec95b96d62a387c61097e3fc71fa))
- Fixup Copilot commits and thank clippy ([`b188a7d`](https://github.com/GitoxideLabs/gitoxide/commit/b188a7d834979eaa940fd94ec269367cd922d16d))
- Update MSRV to 1.82 and replace once_cell with std equivalents ([`6cc8464`](https://github.com/GitoxideLabs/gitoxide/commit/6cc84641cb7be6f70468a90efaafcf142a6b8c4b))
- Merge pull request #2202 from GitoxideLabs/dependabot/cargo/cargo-4a7155215a ([`9365cc3`](https://github.com/GitoxideLabs/gitoxide/commit/9365cc3ae8ad92ba2703170ac2f9a1e4df2ac3be))
- Bump the cargo group across 1 directory with 64 updates ([`838ff95`](https://github.com/GitoxideLabs/gitoxide/commit/838ff95cca60c453bd97bd458ce31b384d00347e))
- Merge pull request #2113 from GitoxideLabs/release ([`dc7343c`](https://github.com/GitoxideLabs/gitoxide/commit/dc7343c25ec6a62445e52694f7f0d3f95f31edef))
</details>

## 0.35.4 (2025-08-13)

A maintenance release without user-facing changes.
Expand All @@ -13,7 +39,7 @@ A maintenance release without user-facing changes.

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

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

* **Uncategorized**
- 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))
- Update changelogs prior to `gix-ref` release ([`5315180`](https://github.com/GitoxideLabs/gitoxide/commit/53151807ec82ce3fbe1838c0885a4f9b71b82f23))
- Merge pull request #2110 from jpgrayson/fix/gix-date-parse-raw ([`651f9fa`](https://github.com/GitoxideLabs/gitoxide/commit/651f9fa560d5df7260a45068b8440f72820a6ffd))
- Release gix-date v0.10.5 ([`4289ae6`](https://github.com/GitoxideLabs/gitoxide/commit/4289ae635d94d713d247eaf6f87d0ba91a1a3826))
Expand Down
6 changes: 3 additions & 3 deletions gix-actor/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ lints.workspace = true

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

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

thiserror = "2.0.17"
bstr = { version = "1.12.0", default-features = false, features = [
Expand Down
41 changes: 40 additions & 1 deletion gix-archive/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,44 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.23.0 (2025-10-22)

### Commit Statistics

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

- 18 commits contributed to the release over the course of 99 calendar days.
- 99 days passed between releases.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 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 #2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 ([`4da2927`](https://github.com/GitoxideLabs/gitoxide/commit/4da2927629c7ec95b96d62a387c61097e3fc71fa))
- Fixup Copilot commits and thank clippy ([`b188a7d`](https://github.com/GitoxideLabs/gitoxide/commit/b188a7d834979eaa940fd94ec269367cd922d16d))
- Update MSRV to 1.82 and replace once_cell with std equivalents ([`6cc8464`](https://github.com/GitoxideLabs/gitoxide/commit/6cc84641cb7be6f70468a90efaafcf142a6b8c4b))
- Merge pull request #2202 from GitoxideLabs/dependabot/cargo/cargo-4a7155215a ([`9365cc3`](https://github.com/GitoxideLabs/gitoxide/commit/9365cc3ae8ad92ba2703170ac2f9a1e4df2ac3be))
- Bump the cargo group across 1 directory with 64 updates ([`838ff95`](https://github.com/GitoxideLabs/gitoxide/commit/838ff95cca60c453bd97bd458ce31b384d00347e))
- Merge pull request #2150 from GitoxideLabs/dependabot/cargo/cargo-f19b0f46bb ([`f7bfff4`](https://github.com/GitoxideLabs/gitoxide/commit/f7bfff4cd937d325c8643afcb906e0458beca061))
- Bump the cargo group across 1 directory with 3 updates ([`b1e985d`](https://github.com/GitoxideLabs/gitoxide/commit/b1e985de57566ccb12366cc331799a76d7676e62))
- Merge pull request #2113 from GitoxideLabs/release ([`dc7343c`](https://github.com/GitoxideLabs/gitoxide/commit/dc7343c25ec6a62445e52694f7f0d3f95f31edef))
- 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))
- Merge pull request #2110 from jpgrayson/fix/gix-date-parse-raw ([`651f9fa`](https://github.com/GitoxideLabs/gitoxide/commit/651f9fa560d5df7260a45068b8440f72820a6ffd))
- Release gix-date v0.10.5 ([`4289ae6`](https://github.com/GitoxideLabs/gitoxide/commit/4289ae635d94d713d247eaf6f87d0ba91a1a3826))
- Merge pull request #2100 from GitoxideLabs/release ([`202bc6d`](https://github.com/GitoxideLabs/gitoxide/commit/202bc6da79854d1fb6bb32b9c6bb2a6f882c77f5))
- 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))
- Merge pull request #2097 from GitoxideLabs/fix-gix-date ([`589d63e`](https://github.com/GitoxideLabs/gitoxide/commit/589d63ed21e5f2cd53ad2cac96fc387df3ea26e9))
- Release gix-date v0.10.4 ([`007e3f6`](https://github.com/GitoxideLabs/gitoxide/commit/007e3f66246aaafc2374b85cbf77f89ec0b09512))
- Merge pull request #2090 from GitoxideLabs/dependabot/cargo/cargo-f147714000 ([`473fe52`](https://github.com/GitoxideLabs/gitoxide/commit/473fe522e84569f77bf38294a412f0d13fa54d63))
- Bump the cargo group with 41 updates ([`428412c`](https://github.com/GitoxideLabs/gitoxide/commit/428412c9ff05caabb4f8714d5de769603e18a8f9))
- Merge pull request #2075 from GitoxideLabs/improvements ([`784c046`](https://github.com/GitoxideLabs/gitoxide/commit/784c0465bf87011fe7dbf71a590d3f9e6c8696a8))
</details>

## 0.22.0 (2025-07-15)

A maintenance release without user-facing changes.
Expand All @@ -13,7 +51,7 @@ A maintenance release without user-facing changes.

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

- 10 commits contributed to the release over the course of 59 calendar days.
- 11 commits contributed to the release over the course of 59 calendar days.
- 59 days passed between releases.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
Expand All @@ -25,6 +63,7 @@ A maintenance release without user-facing changes.
<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`](https://github.com/GitoxideLabs/gitoxide/commit/5a919c48393020d47c7034946108577dd213b80a))
- Update changelogs prior to release ([`65037b5`](https://github.com/GitoxideLabs/gitoxide/commit/65037b56918b90ac07454a815b0ed136df2fca3b))
- Merge pull request #2070 from GitoxideLabs/dependabot/cargo/cargo-827bceb7eb ([`dab97f7`](https://github.com/GitoxideLabs/gitoxide/commit/dab97f7618f160421b6e31de8f3e2f3d11dc2ef2))
- Bump the cargo group across 1 directory with 68 updates ([`a9a8ea1`](https://github.com/GitoxideLabs/gitoxide/commit/a9a8ea1472532dde03bce4e0afdfa82924af1f96))
Expand Down
10 changes: 5 additions & 5 deletions gix-archive/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ lints.workspace = true

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


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

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