Skip to content

chore(deps): upgrade Rust to 1.99 and compatible dependencies - #259

Merged
danielkov merged 1 commit into
mainfrom
chore/rust-1.99-dependency-updates
Oct 3, 2026
Merged

danielkov merged 1 commit into
mainfrom
chore/rust-1.99-dependency-updates

Conversation

@danielkov

Copy link
Copy Markdown
Contributor

Summary

Upgrade the Rust toolchain and minimum supported Rust version from 1.94 to 1.99, and update the compatible CLI, schema, authentication, configuration, image, and voice dependencies. Keep upgrades requiring coordinated upstream changes or protocol migrations out of this PR.

Impact

Source builds now require Rust 1.99; mise and Docker use the same version. JSON Schema validation includes upstream edge-case fixes, and str0m now bounds depacketization queues with default audio/video reorder expiration.

Technical details

Dependency scope

Update clap and its builder/derive crates to 4.6.7, hyper-util to 0.1.21, jsonschema and its companion crates to 0.58.5, jsonwebtoken to 11.1.0, opus-pure to 0.2.2, ratatui-image to 11.1.0, str0m to 0.24.0, tokio-tungstenite to 0.30.0, toml to 1.1.6, toml_edit to 0.25.15, and uuid to 1.26.1. str0m also requires dimpl 0.7.4, is 0.11.1, and sctp-proto 0.10.5.

The lockfile contains 18 version replacements and one additional version. Published checksums and upstream source provenance reconcile; residual provenance limitations include unsigned/lightweight tags and unavailable ratatui-image publisher attribution.

Preserve existing behavior

Keep dependency features unchanged. Pass false for str0m's new Opus RED argument, leaving redundancy disabled. Retain tokio-tungstenite 0.29.0 for existing transitive consumers while Kit's private WebSocket implementation uses 0.30.0. Replace deprecated atomic fetch_update calls with try_update and make the mechanical changes required by Rust 1.99 Clippy without changing counter ordering or overflow behavior.

Deferred upgrades

  • A2A and rmcp require protocol/lifecycle compatibility work; rmcp changes the protocol version selected by existing AgentKit code.
  • neo_frizbee removes matching APIs Kit uses and changes scoring behavior.
  • OpenTelemetry needs a coordinated AgentKit upgrade: mixing tracing-opentelemetry generations would silently lose dynamic telemetry attributes.
  • Existing upstream requirements hold thiserror at <=2.0.18 (saphyr-parser-bw), generic-array at =0.14.7 (crypto-common), matchit at =0.8.4 (axum), and smallvec below 1.16.0 (serde-saphyr).

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found. The changes look good to merge.

@danielkov
danielkov merged commit 0812a42 into main Oct 3, 2026
9 of 10 checks passed
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