mehcode / config-rs

⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).
Apache License 2.0
2.43k stars 206 forks source link

Remove YAML support #473

Closed matthiasbeyer closed 3 months ago

matthiasbeyer commented 8 months ago
          FWIW, it seems that the [yaml support has become unmaintained](https://github.com/chyh1990/yaml-rust/issues/160), no commits since July 2021. The developer doesn't have much activity on Github (_last active Sep 2022_).

Originally posted by @polarathene in https://github.com/mehcode/config-rs/issues/466#issuecomment-1751664819


I know that YAML is widely used as a configuration language in some ecosystems, so I am a bit undecided about this one. If someone wants to go ahead and remove YAML support, though, I would merge such a patchset.

polarathene commented 8 months ago

It might be unmaintained, but as long as it's working and not causing any problems in config-rs that should be fine to leave as-is? Alternatively instead of removing YAML support entirely, it only really requires changing the format/yaml.rs file right?

There's an actively developed serde yaml crate, although it's unclear if it's at parity feature wise.

matthiasbeyer commented 8 months ago

Ah yeah, I didn't see that. I would prefer switching to another YAML implementation rather than removing support completely.

polarathene commented 8 months ago

Just a heads-up, not sure if you get notifications for new PRs but https://github.com/mehcode/config-rs/pull/474 has been open without any engagement nearing two weeks now.

If you merge #474 first, I'll rebase #472 to accomodate, otherwise #472 has a separate commit focused on the YAML support and switch, which should be fine as you prefer merge commits over squash commits, there is little advantage then from merging #474 . Both PRs cross-reference each other, so that information on #474 shouldn't be difficult to find (as those additional details aren't in the commit message).

0rzech commented 3 months ago

Ah yeah, I didn't see that. I would prefer switching to another YAML implementation rather than removing support completely.

Apparently there's the yaml-rust2 drop-in replacement that is actively maintained. I've created #554 with this change to fix #553 which arose in the meantime.