chore(deps): replace abandoned serde_yaml with serde_yaml_ng (#216) - #456
Conversation
📝 WalkthroughWalkthroughThe change replaces ChangesYAML library migration
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Replaces the abandoned serde_yaml crate with the maintained continuation serde_yaml_ng for YAML parsing/serialization in the config-file path (ourios-server) and a YAML scalar round-trip test helper (ourios-querier), aligning with the dependency hygiene goal in #216.
Changes:
- Swap YAML parsing in
ourios-serverconfig loader fromserde_yamltoserde_yaml_ng. - Update
ourios-querierYAML round-trip integration test to useserde_yaml_ng. - Replace
serde_yamldependency entries withserde_yaml_ngin the relevant Cargo manifests andCargo.lock.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| crates/ourios-server/src/config/file.rs | Switches schema parse error type + parsing call to serde_yaml_ng. |
| crates/ourios-server/Cargo.toml | Replaces the production YAML dependency with serde_yaml_ng and updates rationale comments. |
| crates/ourios-querier/tests/it/rfc0002_dsl.rs | Updates YAML scalar embed/parse round-trip test to use serde_yaml_ng. |
| crates/ourios-querier/Cargo.toml | Replaces test-only YAML dependency with serde_yaml_ng. |
| Cargo.lock | Removes serde_yaml and adds serde_yaml_ng resolution. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
serde_yaml (=0.9.34) has been unmaintained since 2024-03 (flagged on the Renovate dependency dashboard, #216) yet parses the operator's ourios.yaml on the production config path (config/file.rs, RFC 0020). serde_yaml_ng is the maintained continuation with the same from_str/Error surface, so the swap is mechanical: only from_str + Error (no Value tree — env substitution runs on the raw text). ourios-querier's use is a test helper (dev-dep). MIT-licensed, so the cargo-deny allow-list is unchanged. Local: build, config-file tests (30/30), the querier DSL YAML round-trip test, fmt, clippy, and the CI cargo-deny job all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X467Druw4cQeEPVp52DTG3
3dd4cc0 to
34226a3
Compare
What
Replace the abandoned
serde_yaml(=0.9.34, no release since 2024-03 — flagged on the Renovate dependency dashboard #216) with its maintained continuationserde_yaml_ngon the production config path.serde_yamlparses the operator'sourios.yamlatconfig/file.rs(RFC 0020).serde_yaml_ngis a drop-in continuation with the samefrom_str/Errorsurface, and the usage is minimal — onlyfrom_str+ theErrortype, noValuetree (env substitution runs on the raw text before parsing) — so the swap is mechanical.Scope
ourios-server: production dep (the config parser).ourios-querier: dev-dep only (a test helper that embeds a query as a YAML scalar).Verified locally
cargo build -p ourios-server(serde_yaml_ng v0.10.0)cargo fmt --all --check,cargo clippy -p ourios-server -p ourios-querier --all-targets --all-features -- -D warningsThe CI
denyjob will confirm the advisory/dup surface;s3-integration/dex-oidc/live-checkexercise the spawned config path.🤖 Generated with Claude Code
https://claude.ai/code/session_01X467Druw4cQeEPVp52DTG3
Summary by CodeRabbit