Skip to content

YAML Specification

Official YAML Language Specification

The YAML specification defines the syntax and semantics of the YAML data serialization language.

Current Version

YAML 1.2

The current version of YAML is YAML 1.2, which provides a complete and consistent specification for the language.

Key features: - Human-readable data serialization - Language-independent data structures - Hierarchical data representation - Extensible data types - Security-focused design

Specification Documents

Complete Specification

Previous Versions

Core Concepts

Data Types

YAML supports a rich set of data types:

  • Scalars - Strings, numbers, booleans, null
  • Sequences - Ordered lists of values
  • Mappings - Key-value pairs
  • Anchors and Aliases - Reference and reuse data
  • Tags - Custom data type definitions

Syntax Features

  • Indentation - Hierarchical structure through spacing
  • Flow Style - Compact inline representation
  • Block Style - Multi-line readable format
  • Comments - Human-readable documentation
  • Directives - Processing instructions

Implementation Status

Core Implementations

  • libyaml - C library with full YAML 1.2 support
  • PyYAML - Python implementation with 1.2 compliance
  • go-yaml - Go implementation with 1.2 support

Compliance Testing

All major YAML implementations are tested for compliance with the YAML 1.2 specification to ensure interoperability.

Future Development

YAML 2.0 Planning

Work is underway on YAML 2.0, which will include:

  • Enhanced Security - Improved security features
  • Performance - Better parsing and emission performance
  • Extensibility - More flexible extension mechanisms
  • Tooling - Better development and debugging tools

Community Input

The YAML specification development process welcomes input from:

  • Implementers - Library and tool developers
  • Users - Developers and system administrators
  • Enterprises - Companies dependent on YAML
  • Academics - Researchers and language theorists

Getting Involved

Specification Development

YES Program Support

Enterprise sponsors of the YES program can influence YAML specification development through:

  • Roadmap Planning - Shape future specification features
  • Priority Setting - Influence development priorities
  • Testing and Validation - Ensure enterprise needs are met
  • Implementation Support - Fund critical implementation work

Resources

Learning Materials

Tools and Validation


Need help understanding the YAML specification? Contact us for expert guidance and support.