Skip to content

chore(deps): update dependencies, drop unmaintained serde_yaml#79

Merged
bengl merged 1 commit into
mainfrom
BridgeAR/2026-06-03-dep-updates
Jun 16, 2026
Merged

chore(deps): update dependencies, drop unmaintained serde_yaml#79
bengl merged 1 commit into
mainfrom
BridgeAR/2026-06-03-dep-updates

Conversation

@BridgeAR

@BridgeAR BridgeAR commented Jun 3, 2026

Copy link
Copy Markdown
Member

Summary

Routine dependency refresh plus two changes that needed code, not just version bumps:

  1. anyhow un-pinned from <=1.0.48. Past 1.0.51 the use anyhow::* globs import anyhow::Ok, which shadows Result::Ok in pattern position -- the breakage the pin worked around. Replaced with explicit imports.
  2. serde_yaml is unmaintained/deprecated and the serde_yml fork is unsound (RUSTSEC-2025-0068). Moved to yaml_serde, the official YAML organization's fork, which also drops unmaintained unsafe-libyaml for libyaml-rs. Its &str-indexed Mapping API removed the need for the lazy_static Value keys, so lazy_static is gone too.

The rest is a full cargo update (serde, async-std, regex, libc, ...) plus major bumps for nix, assert_cmd, predicates, and shlex. LICENSE-3rdparty.csv regenerated to match.

Drive-by

  • Removed the unused which dependency and import (the long-standing build warning).

Test plan

  • cargo test on macOS and Ubuntu (21 example tests)
  • cargo clippy --all-targets
  • Linux-only paths (perfcnt, caps, getrusage/perf counters) build on the Ubuntu runner -- they can't compile on macOS

Refs: https://rustsec.org/advisories/RUSTSEC-2025-0068.html

@BridgeAR
BridgeAR marked this pull request as ready for review June 3, 2026 14:19
Bumping anyhow past 1.0.48 reintroduces the `anyhow::Ok` function that the
`use anyhow::*` globs pull in, shadowing `Result::Ok` in pattern position --
the exact breakage the `<=1.0.48` pin was a stop-gap for. Explicit anyhow
imports fix it at the root and let the pin go.

serde_yaml is unmaintained and deprecated, and the popular serde_yml fork is
unsound (RUSTSEC-2025-0068). This moves to yaml_serde, the official YAML
organization's fork, which also replaces the unmaintained unsafe-libyaml with
libyaml-rs. Its 0.9-line Mapping indexes by &str, so the lazy_static Value
keys and the lazy_static dependency are gone.

nix's major bump to 0.31 returns `OwnedFd` from `pipe()` and gates `fcntl`
behind the `fs` feature. The SIRUN_READY_FD path now sets CLOEXEC on the owned
read end before handing the raw fd downstream, closes the write end by dropping
its `OwnedFd`, and the `fs` feature is enabled.

Drive-by fix:

* Remove the unused which dependency and import.

Refs: https://rustsec.org/advisories/RUSTSEC-2025-0068.html
Comment thread src/main.rs
@bengl
bengl merged commit 0429063 into main Jun 16, 2026
5 checks passed
@bengl
bengl deleted the BridgeAR/2026-06-03-dep-updates branch June 16, 2026 13:28
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