Summary
Bring all catalyst-agent Cargo dependencies (runtime + dev) up to their latest compatible versions, then verify the agent still builds, tests, and runs against the backend.
This is a full refresh beyond Dependabot's weekly Cargo PRs — include major/semver bumps where feasible, with intentional decisions documented for anything we intentionally pin or defer.
Scope
| Item |
Path |
| Manifest |
catalyst-agent/Cargo.toml |
| Lockfile |
catalyst-agent/Cargo.lock (if present / committed) |
Key crates to refresh
- Tokio, tracing / tracing-subscriber
- tokio-tungstenite, rustls, reqwest (rustls stack)
- serde / serde_json / toml
- containerd-client, tonic, prost-types
- russh / russh-keys / russh-sftp / ssh-key
- sysinfo, nix, aes-gcm, sha2, uuid, chrono, thiserror
- Dev: tempfile
Acceptance criteria
Suggested approach
- Install/use
cargo outdated (or equivalent) and capture the baseline from catalyst-agent/.
cargo update for compatible bumps first; then bump semver majors in Cargo.toml stack-by-stack:
- async runtime / tracing
- TLS + HTTP + WebSocket
- containerd / tonic
- SSH
- misc (sysinfo, nix, crypto)
- Fix compile errors per stack; re-run tests after each cluster of upgrades.
- Smoke: agent connects, heartbeats, exec/file ops, and (if applicable) container workflows.
- Open a single PR (or stacked PRs for large majors like russh / tonic).
Notes
- Dependabot already watches
/catalyst-agent weekly (.github/dependabot.yml). This issue is the deliberate full-upgrade pass.
- Be careful with dual
rand / crypto crate graphs and rustls feature selection (ring, native roots).
rand_08 is an explicit package rename pin — re-evaluate whether it can move to a single rand version.
- Agent version in
[package] should stay aligned with monorepo release process unless this PR is part of a release.
Related
Summary
Bring all
catalyst-agentCargo dependencies (runtime + dev) up to their latest compatible versions, then verify the agent still builds, tests, and runs against the backend.This is a full refresh beyond Dependabot's weekly Cargo PRs — include major/semver bumps where feasible, with intentional decisions documented for anything we intentionally pin or defer.
Scope
catalyst-agent/Cargo.tomlcatalyst-agent/Cargo.lock(if present / committed)Key crates to refresh
Acceptance criteria
cargo outdatedor crates.io /cargo update -ndry checks).edition = "2021"unless a deliberate edition bump is in scope.cargo buildandcargo build --releasesucceed.cargo testpasses.lto,strip,panic = "abort", etc.) remain intentional and green.Suggested approach
cargo outdated(or equivalent) and capture the baseline fromcatalyst-agent/.cargo updatefor compatible bumps first; then bump semver majors inCargo.tomlstack-by-stack:Notes
/catalyst-agentweekly (.github/dependabot.yml). This issue is the deliberate full-upgrade pass.rand/ crypto crate graphs and rustls feature selection (ring, native roots).rand_08is an explicit package rename pin — re-evaluate whether it can move to a singlerandversion.[package]should stay aligned with monorepo release process unless this PR is part of a release.Related