1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// SPDX-License-Identifier: MIT OR Apache-2.0
//! # ⚠️ `serde_yml` is deprecated — migrate to a maintained alternative
//!
//! This crate is **unmaintained**. The `0.0.13` release is a thin
//! compatibility shim so existing call sites keep working while you
//! plan a migration. See [`MIGRATION.md`](https://github.com/sebastienrousseau/serde_yml/blob/master/MIGRATION.md)
//! for the full guide.
//!
//! ## Maintained alternatives
//!
//! - **[`noyalib`](https://crates.io/crates/noyalib)** — pure-Rust,
//! `#![forbid(unsafe_code)]`, drop-in via the `compat-serde-yaml`
//! feature (zero call-site changes for typical users).
//! - **[`serde-saphyr`](https://crates.io/crates/serde-saphyr)** —
//! modern parser, serde-integrated typed deserialisation. **No
//! `Value` DOM** — fits codebases that only call
//! `from_str::<MyStruct>`.
//! - **[`yaml-rust2`](https://crates.io/crates/yaml-rust2)** —
//! pure-Rust parser primitives, no `serde` wrapper. Fits users
//! who were using the low-level `serde_yml::libyml` / `loader`
//! surface (removed in this shim).
//!
//! `MIGRATION.md` carries the per-crate mapping tables.
//!
//! ## Why the shim is backed by `noyalib`
//!
//! The shim itself depends on `noyalib`'s `compat-serde-yaml`
//! feature for its implementation. This is an implementation
//! detail of the shim, not a recommendation that you must use
//! `noyalib`. Two things follow:
//!
//! - **No archived advisory chain.** The previous C-FFI parser
//! (`libyml`) and `serde_yaml` 0.9 are gone from the dependency
//! graph entirely; downstream `cargo audit` / `cargo deny` runs
//! stop flagging the unmaintained chain.
//! - **Safer defaults flow through.** `#![forbid(unsafe_code)]`,
//! YAML 1.2 strict booleans (the "Norway problem" fix), custom
//! tags preserved as `Value::Tagged` rather than coerced.
//!
//! If you want to evaluate `noyalib` directly, the
//! `compat-serde-yaml` feature exposes the same surface this shim
//! re-exports. If you'd rather pick a different alternative,
//! `MIGRATION.md` covers `serde-saphyr` and `yaml-rust2`.
//!
//! ## Stop-gap: keep using `serde_yml = "0.0.13"`
//!
//! Existing call sites compile unchanged against this shim. Every
//! item below is marked `#[deprecated]`, so the compiler will point
//! at the spots that need updating during your migration.
//!
//! ## Removed in 0.0.13 (vs. 0.0.12)
//!
//! The deep internal modules that previous versions exposed —
//! `serde_yml::libyml`, `serde_yml::loader`, `serde_yml::modules`,
//! `serde_yml::de::{Event, Progress}`, `serde_yml::ser::SerializerConfig`,
//! `serde_yml::value::Index`, `DocumentAnchor`, `State` — are
//! **gone** in this release. They were implementation details of
//! the C-FFI parser that no longer exists. See `MIGRATION.md` for
//! the equivalence table per alternative.
// ── Top-level re-exports — name-for-name with serde_yml 0.0.13 ─────────
pub use ;
// ── Sub-modules — keep path-form imports working ───────────────────────
/// YAML value types. Re-exported from [`noyalib::compat::serde_yaml::value`].
/// YAML mapping type. Re-exported from [`noyalib::compat::serde_yaml::mapping`].
/// Serde `#[serde(with = "...")]` helpers. Re-exported from
/// [`noyalib::compat::serde_yaml::with`].