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