Skip to content

chore(deps): replace abandoned serde_yaml with serde_yaml_ng (#216) - #456

Merged
jensholdgaard merged 1 commit into
mainfrom
deps-serde-yaml-ng
Jul 10, 2026
Merged

chore(deps): replace abandoned serde_yaml with serde_yaml_ng (#216)#456
jensholdgaard merged 1 commit into
mainfrom
deps-serde-yaml-ng

Conversation

@jensholdgaard

@jensholdgaard jensholdgaard commented Jul 10, 2026

Copy link
Copy Markdown
Owner

What

Replace the abandoned serde_yaml (=0.9.34, no release since 2024-03 — flagged on the Renovate dependency dashboard #216) with its maintained continuation serde_yaml_ng on the production config path.

serde_yaml parses the operator's ourios.yaml at config/file.rs (RFC 0020). serde_yaml_ng is a drop-in continuation with the same from_str / Error surface, and the usage is minimal — only from_str + the Error type, no Value tree (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).
  • MIT-licensed → deny.toml already allows MIT, no new cargo-deny license surface.

Verified locally

  • cargo build -p ourios-server (serde_yaml_ng v0.10.0)
  • config-file tests 30/30, the querier DSL YAML round-trip test
  • cargo fmt --all --check, cargo clippy -p ourios-server -p ourios-querier --all-targets --all-features -- -D warnings

The CI deny job will confirm the advisory/dup surface; s3-integration/dex-oidc/live-check exercise the spawned config path.

🤖 Generated with Claude Code

https://claude.ai/code/session_01X467Druw4cQeEPVp52DTG3

Summary by CodeRabbit

  • Bug Fixes
    • Improved YAML configuration parsing and error reporting.
    • Preserved existing schema validation, credential checks, and environment substitution behavior.
    • Updated YAML round-trip validation to provide clearer failure messages.

@jensholdgaard
jensholdgaard requested a review from Copilot July 10, 2026 15:32
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The change replaces serde_yaml with serde_yaml_ng for server configuration parsing and querier YAML round-trip tests, updates the server schema error type, and adds explicit YAML failure handling in property tests.

Changes

YAML library migration

Layer / File(s) Summary
Server configuration parsing migration
crates/ourios-server/Cargo.toml, crates/ourios-server/src/config/file.rs
Server YAML parsing, schema errors, and related documentation now use serde_yaml_ng.
Querier YAML test migration
crates/ourios-querier/Cargo.toml, crates/ourios-querier/tests/it/rfc0002_dsl.rs
YAML round-trip tests use serde_yaml_ng, with explicit serialization and deserialization failures in property tests.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly and concisely describes the main change: replacing serde_yaml with serde_yaml_ng.
Description check ✅ Passed The description covers the change, scope, and verification, though it does not use the template's exact sections.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch deps-serde-yaml-ng

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI 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.

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-server config loader from serde_yaml to serde_yaml_ng.
  • Update ourios-querier YAML round-trip integration test to use serde_yaml_ng.
  • Replace serde_yaml dependency entries with serde_yaml_ng in the relevant Cargo manifests and Cargo.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.

Comment thread crates/ourios-server/Cargo.toml Outdated
Comment thread crates/ourios-server/src/config/file.rs Outdated
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
@jensholdgaard jensholdgaard changed the title deps: replace abandoned serde_yaml with serde_yaml_ng (#216) chore(deps): replace abandoned serde_yaml with serde_yaml_ng (#216) Jul 10, 2026
@jensholdgaard
jensholdgaard requested a review from Copilot July 10, 2026 15:42

Copilot AI 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.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated no new comments.

@jensholdgaard
jensholdgaard merged commit 098f0cd into main Jul 10, 2026
25 checks passed
@jensholdgaard
jensholdgaard deleted the deps-serde-yaml-ng branch July 10, 2026 15:47
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