A New YAML Specification

We are excited to announce the release of Revision 1.2.2 of the YAML 1.2 Specification. This revision comes 12 years to the day after the previous revision.

Highlights of this revision include:

  • No normative changes from the 1.2.1 revision. YAML 1.2 has not been changed.
  • Hundreds of changes to improve clarity and readability and remove ambiguity.
  • Syntax productions are revised to simplify the trickier parts. The parameterized BNF used by the spec is now fully documented.
  • Spec links to a set of companion pages with useful information for implementers and application developers. These pages will be continually updated between spec revisions.
  • Spec sources are hosted publicly on GitHub.
  • Every change from the 1.2.1 spec came as a team-reviewed pull request.
  • Spec sources are in Markdown instead of DocBook with hopes of easing contribution.
  • Diagram images are now SVG rendered from LaTeX, for contribution without special software.
  • Fully containerized build systems. Run make serve in your fork to see local changes.

This revision is the result of years of work by the new YAML language development team. Each person on this team has a deep knowledge of the language and has written and maintains important open source YAML frameworks and tools. Much like the original YAML team, they bring diverse ideas to the table and argue over every detail, but always with a respect for the team.

The team is excited to take YAML and its toolchains into the future. We know that despite its large and growing popularity, the YAML ecosystem has many problems. We see the various ways that projects are trying to extend the language or work around its quirks. We see a future where YAML:

  • Becomes richer and more expressive, while not breaking today’s YAML.
  • Achieves lossless data transfer between frameworks in any language.
  • Has frameworks that offer full functionality, and yet are easier to write and maintain.

It’s a tall order, but we’ve been working on it for years and we see the path forward. We’re not only working out the ways to specify the future YAML, we are building working reference frameworks and tools in sync. We have interactive browser demos for these reference implementations so everyone can try things out and point out any problems.

Speaking of communication, we have a few social sites to mention:

Excited for YAML,

— Ingy, Tina, Panto, Eemeli and Thom