{
  "feed_url": "https://noyalib.com/feed.json",
  "home_page_url": "https://noyalib.com/",
  "items": [
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "The address did not match a page on noyalib.com. It may be mistyped, or the page may have moved. The home page and the sitemap list everything that exists.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/404/",
      "language": "en-GB",
      "tags": [],
      "title": "Page not found — noyalib",
      "url": "https://noyalib.com/404/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "noyalib is built by Sebastien Rousseau with contributors. Why it exists, how it is run, and what it will and will not do.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/about/",
      "language": "en-GB",
      "tags": [],
      "title": "About — who builds noyalib and why",
      "url": "https://noyalib.com/about/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "The artefacts a regulated buyer asks for, in every noyalib release: a CycloneDX SBOM, SLSA level 3 provenance, sigstore signatures, vetted dependencies.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/compliance/",
      "language": "en-GB",
      "tags": [],
      "title": "Compliance — what noyalib gives your audit",
      "url": "https://noyalib.com/compliance/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "406 of 406 official YAML test cases through six entry points, zero unsafe code, fifteen fuzz targets, Miri, and a 131-probe family scorecard rated A+.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/conformance/",
      "language": "en-GB",
      "tags": [],
      "title": "Conformance evidence — what noyalib measures on every change",
      "url": "https://noyalib.com/conformance/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "How to reach the noyalib maintainers: discussions for questions, issues for bugs and feature requests, and a private channel for security reports.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/contact/",
      "language": "en-GB",
      "tags": [],
      "title": "Contact — noyalib",
      "url": "https://noyalib.com/contact/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Install the library, the CLI, the language server, the MCP server and the WebAssembly build, with a ten-line example for each and links to the reference.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/docs/",
      "language": "en-GB",
      "tags": [],
      "title": "Developer docs — install and use noyalib",
      "url": "https://noyalib.com/docs/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Six products, one parser: the library, the serde_yaml drop-in, the CLI, the language server, the MCP server and the WebAssembly build, released at one version.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/ecosystem/",
      "language": "en-GB",
      "tags": [],
      "title": "The noyalib family — six products, one version",
      "url": "https://noyalib.com/ecosystem/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Short answers about noyalib: how it compares with serde_yaml and its forks, what it does with comments, tags and YAML 1.1, and how fast it is.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/faq/",
      "language": "en-GB",
      "tags": [],
      "title": "Frequently asked questions — noyalib",
      "url": "https://noyalib.com/faq/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "The licences noyalib ships under, what the website collects (nothing), which third parties it contacts (none), and the trade marks it refers to.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/legal/",
      "language": "en-GB",
      "tags": [],
      "title": "Legal and privacy — noyalib",
      "url": "https://noyalib.com/legal/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "noyalib-mcp gives an assistant three tools to read and change YAML without losing a comment. Install with npx, configure Claude, Zed or Continue in one block.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/mcp/",
      "language": "en-GB",
      "tags": [],
      "title": "MCP server — let an AI agent edit YAML safely",
      "url": "https://noyalib.com/mcp/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "serde_yaml is archived. Rename the package to noyalib-serde-yaml in Cargo.toml and keep every call site. Guides cover serde_yml, serde-yaml-ng and more.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/migration/",
      "language": "en-GB",
      "tags": [],
      "title": "Replace serde_yaml with one line — noyalib migration",
      "url": "https://noyalib.com/migration/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes and announcements for noyalib and its five companion crates: a note when a release changes something that affects your documents.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/",
      "language": "en-GB",
      "tags": [],
      "title": "News and releases — noyalib",
      "url": "https://noyalib.com/news/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.33: every crate at one version, a repository standard across all six, a lossless-edit layout fix, and a demo on the real engine.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-33/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.33 — one standard across six crates",
      "url": "https://noyalib.com/news/noyalib-v0-0-33/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.34: property tests, structure-aware and no_std fuzzing, the arbitrary feature, a parser fix, and the suite through every crate.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-34/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.34 — the reliability release",
      "url": "https://noyalib.com/news/noyalib-v0-0-34/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.35: machine-checked input budgets, a wasip2 build, a GitHub Action, pre-commit hooks, a VS Code extension, stateless MCP tools.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-35/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.35 — proofs, an Action, a VS Code extension",
      "url": "https://noyalib.com/news/noyalib-v0-0-35/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.36: CST stream errors located in the stream, the yaml-test-suite run as 7,488 streams, and the three scanner defects it found.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-36/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.36 — stream positions and the suite as streams",
      "url": "https://noyalib.com/news/noyalib-v0-0-36/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.37: a lockstep release whose one change is the noyalib-wasm npm package gate, repaired for npm 12 and back to publishing.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-37/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.37 — the npm package returns, gated",
      "url": "https://noyalib.com/news/noyalib-v0-0-37/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.38: no unpinned npm command left in any workflow, registry probes verify tarballs by hash, and a fixture that uses most of YAML.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-38/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.38 — every dependency pinned, on every workflow",
      "url": "https://noyalib.com/news/noyalib-v0-0-38/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.39: twenty spec-torture documents cross-checked against libyaml and go-yaml, and the three parser defects they uncovered.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-39/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.39 — twenty documents that break parsers",
      "url": "https://noyalib.com/news/noyalib-v0-0-39/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.40: all six crates in the family now hold the OpenSSF Best Practices passing badge, each answered from its own verified evidence.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-40/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.40 — every crate is an OpenSSF passing project",
      "url": "https://noyalib.com/news/noyalib-v0-0-40/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.41: the September GitHub Actions bumps across the family, and a look at the three defects the corpus tests caught in v0.0.40.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-41/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.41: dependency bumps and a look back",
      "url": "https://noyalib.com/news/noyalib-v0-0-41/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.42: the VS Code extension is bundled, carries an icon and a licence, and the release can now publish it to the Marketplace.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-42/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.42: the editor extension ships",
      "url": "https://noyalib.com/news/noyalib-v0-0-42/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.43: the VS Code publish step stops parsing error text, and the deadline on its credential is written down where it matters.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-43/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.43: a publish step that will not rot",
      "url": "https://noyalib.com/news/noyalib-v0-0-43/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.53: every parser budget now applies to typed targets (GHSA-4xcc-23fx-w2wj), and the family stays green on Rust 1.99.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-53/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.53: green on Rust 1.99",
      "url": "https://noyalib.com/news/noyalib-v0-0-53/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.54: bounded readers, an MCP server confined to one directory and strict by default, and atomic writes in the CLI.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-54/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.54: safer defaults for untrusted input",
      "url": "https://noyalib.com/news/noyalib-v0-0-54/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.55: every loader enforces every limit, long lines parse in linear time, and thirteen security advisories.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-55/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.55: limits on every loader",
      "url": "https://noyalib.com/news/noyalib-v0-0-55/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.56: a nesting ceiling on every path, early max_events refusal, the MCP npm wrapper, and CVE requests for the advisories.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-56/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.56: no value too deep to drop",
      "url": "https://noyalib.com/news/noyalib-v0-0-56/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Release notes for noyalib v0.0.57: six parse fixes found by differential fuzzing, typed keys read as written, and safer CST edits.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/news/noyalib-v0-0-57/",
      "language": "en-GB",
      "tags": [],
      "title": "noyalib v0.0.57: closer to the spec",
      "url": "https://noyalib.com/news/noyalib-v0-0-57/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Paste YAML and see the JSON the parser produces, then turn it back. The published noyalib-wasm bundle runs inside your tab; nothing is uploaded.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/playground/",
      "language": "en-GB",
      "tags": [],
      "title": "Playground — run the YAML parser in your browser",
      "url": "https://noyalib.com/playground/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "No unsafe code, limits for untrusted input, signed and attested releases, SBOMs, cargo-deny, cargo-vet and a private reporting channel.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/security/",
      "language": "en-GB",
      "tags": [],
      "title": "Security and supply chain — noyalib",
      "url": "https://noyalib.com/security/"
    },
    {
      "authors": [
        {
          "name": "Sebastien Rousseau"
        }
      ],
      "content_html": "Read YAML into Rust structs, replace serde_yaml without source changes, format and validate in CI, edit in your editor or by an agent, parse in the browser.",
      "date_modified": "",
      "date_published": "",
      "id": "https://noyalib.com/solutions/",
      "language": "en-GB",
      "tags": [],
      "title": "Solutions — what noyalib does for each kind of YAML work",
      "url": "https://noyalib.com/solutions/"
    }
  ],
  "language": "en-GB",
  "title": "noyalib",
  "version": "https://jsonfeed.org/version/1.1"
}