Skip to content

chore(deps): migrate off unmaintained bincode 1.x/2.x (3.0.0 is a protest stub) #2447

Description

@phil-opp

The workspace uses bincode 1.3.3 (dora-message wire codec: daemon↔node TCP, inter-daemon events, recordings) and bincode 2.0.1 (coordinator-store persisted values). Both are flagged unmaintained (RUSTSEC-2025-0141, waived in deny.toml), and upstream's "latest" release cannot be adopted:

  • bincode 3.0.0 on crates.io is a protest stub — its entire source is compile_error!("https://xkcd.com/2347/"). Development moved to sourcehut (https://sr.ht/~stygianentity/bincode/).

Migration options to evaluate post-1.0:

  1. bincode 2's serde compat layer with config::legacy(), which is documented to be byte-compatible with bincode 1's default format — would unify on 2.0.1 without a wire break (verify with golden-bytes tests before switching).
  2. A maintained alternative (e.g. postcard), which is a wire break and needs a protocol-version bump — could be batched with the uhlc 0.9 migration (see the uhlc issue) so we pay for one coordinated break, not two.

Deferred from the dependency-upgrade PR #2445.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions