Skip to content

deps: move webdriver-downloader, csvs_convert and spreadsheet-ods to zip 9 - #4828

Merged
jqnatividad merged 3 commits into
masterfrom
bump-webdriver-downloader-zip-9
Oct 16, 2026
Merged

jqnatividad merged 3 commits into
masterfrom
bump-webdriver-downloader-zip-9

Conversation

@jqnatividad

Copy link
Copy Markdown
Collaborator

Why

zip-rs has yanked every zip release except 9.0.3 because of security advisories (zip-rs/zip2#1075): GHSA-vv5m-jxxh-4627, GHSA-4v9h-p7m9-rh26 and GHSA-4684-h2q9-2vcp, with more due later this month. As a result, a fresh cargo update fails: failed to select a version for the requirement zip = "^8".

What

Crate Change
webdriver-downloader [patch.crates-io] to our fork (zip 9 + an extract_zip unit test), pinned by rev, pending ik1ne/webdriver-downloader#67. That bump is semver-breaking upstream (ZipError is in its public API), so expect 0.18.0, and update the [dependencies] requirement when dropping the patch.
csvs_convert fork branch bumped to zip 9 and re-locked (also on kindly/csvs_convert#23)
spreadsheet-ods fork branch, already on zip 9, re-locked; this also pulls in that branch's other dependency bumps

Still on zip 8

cargo update stays blocked until these crates move:

None of the three published advisories reaches qsv. They all concern ZipArchive::extract() / ZipStreamReader::extract(), which none of these crates calls. self_update has its own extraction loop that already masks to 0o777 and rejects escaping symlinks. The unpublished advisories are unknown, so calamine (which reads untrusted .xlsx) is the one to watch.

Testing

  • cargo test -F all_features test_to:: test_excel::: 39 + 62 passed
  • cargo check --bin qsv -F all_features: clean
  • viz_static ignored suite: 1 passed / 10 failed locally, identical on unmodified master (local Chrome/chromedriver mismatch, "Failed to extract static image from browser session"). rust-viz-static.yml CI provisions Chrome.

🤖 Generated with Claude Code

jqnatividad and others added 2 commits October 16, 2026 08:20
…zip 9

zip-rs yanked every zip release before 9.0.3 over security advisories
(zip-rs/zip2#1075: GHSA-vv5m-jxxh-4627, GHSA-4v9h-p7m9-rh26,
GHSA-4684-h2q9-2vcp, with more due this month), so a fresh `cargo update`
can no longer resolve `zip = "^8"`.

- webdriver-downloader: patch to our fork (zip 9 + an extract_zip test),
  pending ik1ne/webdriver-downloader#67. Pinned by rev; it is
  semver-breaking upstream, so expect 0.18.0.
- csvs_convert, spreadsheet-ods: re-lock our fork branches, now on zip 9.

calamine, rust_xlsxwriter, self_update (and plotly_static's unused
build-dependency) still require zip 8; none calls the vulnerable
extract() APIs. Their upstream zip 9 bumps are in progress.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

zip-rs yanks all but the latest release, so stay on the newest. 9.0.4 fixes
`enclosed_name` for separators inside a verbatim path component and returns
`Ok(None)` for read_zipfile_from_stream on an empty archive; it also pulls
lzma-rust2 0.21 -> 0.22.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jqnatividad
jqnatividad merged commit 5ae9af9 into master Oct 16, 2026
18 of 19 checks passed
@jqnatividad
jqnatividad deleted the bump-webdriver-downloader-zip-9 branch October 16, 2026 18:14
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.

1 participant