You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
synctv/synctv-realtime
zijiren 6ec3fad709
chore(deps): update backend dependencies and nightly toolchain (#476)
## Summary

**Toolchain**
- Advance the pinned toolchain `nightly-2026-08-31` →
`nightly-2026-09-27` in `rust-toolchain.toml` and every workflow that
names it. The date pin is independent of the next-solver memory
regression — that regression is present in the pinned nightly too and is
handled by `-Znext-solver=coherence` in `.cargo/config.toml`, which is
unchanged.

**Dependency updates (33 pins, current releases at 2026-09-28)**
- Majors: **webrtc/rtc 0.20.4 → 0.21.0** (TURN relayer STUN fix on
0.20.5 plus the 0.21 line's SCTP zero-window deadlock, ICE-restart stall
and data-channel drop fixes), **utoipa 5.5.0 → 6.0.0** +
**utoipa-swagger-ui 9.0.2 → 10.0.1** (OpenAPI 3.2 support, Swagger UI
5.32.6), **brotli 8 → 9**, **zstd 0.13 → 0.14**, **opendal 0.58.2 →
0.59.3** (+http transport), **redis 1.6.0 → 1.7.1**, **rusty_h264 0.12 →
0.16**, **oxc 0.147 → 0.151**.
- Minors/patches: tower-http 0.7.1, reqwest 0.13.5, jsonwebtoken 11.1.0,
uuid 1.26.1, clap 4.6.7, clap_complete 4.6.11, config 0.15.26,
hyper-util 0.1.21, indexmap 2.14.2, ipnet 2.12.2, lru 0.18.5, rand
0.10.3, rustls 0.23.45, tokio-rustls 0.26.5, thiserror 2.0.21, toml
1.1.6, ammonia 4.2.0, and the transitive refresh in `Cargo.lock`. tokio
stays at 1.53.1 (current).

**Code adaptations**
- `synctv-xiu` webrtc 0.21: `RtpCodecKind` is now `#[non_exhaustive]`
(wildcard arms at five match sites), `TrackLocalStaticSample::new` takes
a `now: Instant`, and `rtc`'s `Sample` replaces `Default` with
`Sample::new(now)` in tests.
- `rusty_h264` drops `default-features = false`: the split-out
`rusty_h264-common` requires std (or `libm`) for its floating-point
math, and it is a test-only dependency here.

**Patch removal**
- The `[patch.crates-io]` combine override (installed for the Redis 1.6
`opaque!` future-incompat report) is removed: redis 1.7 no longer
depends on combine, clippy confirmed the patch was unused, and the
lockfile resolves cleanly from the registry.

**Deliberately unchanged (documented in Cargo.toml)**
- bincode 2.0.1 (3.0.0 is an intentionally unbuildable placeholder),
testcontainers 0.27.3 (modules 0.15 requires ^0.27), rand/sha2 legacy
aliases, dashmap 7.0.0-rc2, opaque-ke 4.1.0-pre.2, webauthn-rs
0.6.1-dev, serde_yaml.

## Validation

- `SQLX_OFFLINE=true cargo check/clippy --workspace --all-targets` clean
under nightly-2026-09-27.
- `cargo fmt --check` clean; `cargo deny check` passes.
- `nextest`: **5353 passed, 1618 skipped** — includes the
WebRTC/streaming e2e suites exercising the new webrtc 0.21 stack and
rusty_h264 0.16 encoders.
- `make proto-freshness`: regenerated proto artifacts produce no diff.

Supersedes #462, #463, #464, #465, #466, #467, #468, #469, #470 and #475
(the open dependabot batch), which can be closed on merge.
4 weeks ago
..
benches fix: type playback identities and stabilize FNOS playback (#400) 3 months ago
proto fix: type playback identities and stabilize FNOS playback (#400) 3 months ago
src chore(deps): update backend dependencies and nightly toolchain (#476) 4 weeks ago
tests refactor: remove low-value thin wrappers (#426) 2 months ago
Cargo.toml refactor: remove low-value thin wrappers (#426) 2 months ago
build.rs
…