Skip to content

chore(russh): bump russh-sftp dev-dependency 2.1.0 → 2.3.0 - #728

Merged
Eugeny merged 1 commit into
Eugeny:mainfrom
Yaminyam:chore/bump-russh-sftp-dev-dep-to-2.3.0
Jul 20, 2026
Merged

chore(russh): bump russh-sftp dev-dependency 2.1.0 → 2.3.0#728
Eugeny merged 1 commit into
Eugeny:mainfrom
Yaminyam:chore/bump-russh-sftp-dev-dep-to-2.3.0

Conversation

@Yaminyam

Copy link
Copy Markdown
Contributor

Summary

Bump the russh-sftp dev-dependency used by the sftp_client / sftp_server examples from 2.1.0 to 2.3.0.

Why

The 2.1.0 → 2.3.0 window includes the merged perf fix from AspectUnk/russh-sftp#83 — routing SFTP WRITE/DATA payloads through serde_bytes instead of the generic VecVisitor path, ~+29% throughput on large transfers. Examples in this repo should track the version downstream users actually consume.

Change

One-line bump in russh/Cargo.toml:

 [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
-russh-sftp = "2.1.0"
+russh-sftp = "2.3.0"

Test plan

  • cargo build -p russh --example sftp_client --example sftp_server → builds clean, no source changes needed (no breaking changes in russh-sftp 2.1 → 2.3 for the API surface these examples use).

@Yaminyam

Yaminyam commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

The CI failures here are unrelated to this dev-dependency bump — they come from a transitive dsa breakage in the ssh-key = "=0.7.0-rc.10" line:

error[E0599]: no function or associated item named `generate` found for struct `dsa::Components`
error[E0599]: no function or associated item named `generate` found for struct `dsa::SigningKey`
error: could not compile `ssh-key` (lib) due to 2 previous errors

ssh-key itself is pinned with =, but its transitive dsa dependency is a caret range. A newer dsa rc removed/renamed Components::generate / SigningKey::generate, so ssh-key 0.7.0-rc.10 no longer compiles once the lockfile picks up the newer dsa. The russh-sftp dev-dep bump in this PR just triggered a lockfile re-resolution that surfaced it.

This is already addressed upstream: main/v0.62.0 moved to ssh-key = "=0.7.0-rc.11", which tracks the new dsa API. Rebasing this PR onto v0.62.0 (or bumping the ssh-key pin to rc.11) should turn CI green.

Picks up the merged perf fix in russh-sftp 2.3.0 (PR Eugeny#83, "route
Write/Data payloads through serde_bytes, ~+29% throughput"), so the
in-tree `sftp_client` / `sftp_server` examples build against the same
version downstream users are encouraged to use.

No source changes; examples build and link without modification.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Yaminyam
Yaminyam force-pushed the chore/bump-russh-sftp-dev-dep-to-2.3.0 branch from e87c3f1 to 7da6e1e Compare July 2, 2026 20:31
@Yaminyam

Yaminyam commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main (now at v0.62.1, which uses ssh-key = "=0.7.0-rc.11"). cargo check -p russh passes locally — the dsa/ssh-key compile error is resolved. Ready for a CI re-run.

@Eugeny
Eugeny merged commit 2311de1 into Eugeny:main Jul 20, 2026
@Eugeny

Eugeny commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Thank you!

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.

2 participants