Skip to content

chore: upgrade to latest flate2 to remove zlib-rs-sys from dependencies#2370

Merged
Sebastian Thiel (Byron) merged 1 commit intomainfrom
improvements
Jan 12, 2026
Merged

chore: upgrade to latest flate2 to remove zlib-rs-sys from dependencies#2370
Sebastian Thiel (Byron) merged 1 commit intomainfrom
improvements

Conversation

@Byron
Copy link
Copy Markdown
Member

No description provided.

@Byron Sebastian Thiel (Byron) enabled auto-merge (rebase) January 12, 2026 12:03
@Byron Sebastian Thiel (Byron) merged commit bc2f339 into main Jan 12, 2026
30 checks passed
Eliah Kagan (EliahKagan) added a commit to EliahKagan/gitoxide that referenced this pull request Jan 12, 2026
Because we no longer depend on it since bc2f339 (GitoxideLabs#2370).

For context on the associated TODO this completes and removes, see:

- rust-lang/flate2-rs#520 (superseded)
- rust-lang/flate2-rs#524
- rust-lang/flate2-rs#525
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the flate2 dependency from version 1.1.1 to 1.1.8, which removes the intermediate libz-rs-sys dependency. The upgrade simplifies the dependency tree while maintaining the same underlying zlib-rs implementation.

Changes:

  • Updated flate2 version constraint in gix-archive from 1.1.1 to 1.1.8
  • Cargo.lock reflects the version update and removal of libz-rs-sys intermediate crate

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
gix-archive/Cargo.toml Updated flate2 version constraint from "1.1.1" to "1.1.8"
Cargo.lock Updated flate2 from 1.1.5 to 1.1.8, removed libz-rs-sys entry, flate2 now depends directly on zlib-rs

@EliahKagan
Copy link
Copy Markdown
Member

Per #2372 (comment), I had Copilot post-review this to check my hypothesis that it would not be able to identify that the changes here allowed the -sys crate to be removed from the -sys allowlist for "pure" builds, since done in c97ef4e (#2372).

This was a Copilot experiment, not any concern about the changes here, which were good (even though the change in c97ef4e could've also been included). As expected, Copilot was not able to identify this--I don't think code far away in the project is automatically included in its context, so it would have to use its search tool to find relevant TODOs.

Possibly it could be made to do this by editing the copilot instructions. Searching for potentially relevant TODOs everywhere in the project, even in other files not referred to from where one makes a change, could be tedious and flow-interrupting for developers to do as a regular practice. Yet I suspect it wouldn't degrade Copilot performance to do it.

@Byron
Copy link
Copy Markdown
Member Author

Thanks so much for catching this!

When I had the opportunity today to remove libz-rs-sys from the dependency tree, it felt very important and I wondered if there was anything else, but came up empty :D.

But this was it, max-pure just became a little bit purer.

Possibly it could be made to do this by editing the copilot instructions. Searching for potentially relevant TODOs everywhere in the project, even in other files not referred to from where one makes a change, could be tedious and flow-interrupting for developers to do as a regular practice. Yet I suspect it wouldn't degrade Copilot performance to do it.

Evaluating the effectiveness of these instructions is pretty hard as it's quite subjective. But maybe that's all we need - in any case, please do feel free to experiment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants