NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #674 most downloaded on PyPI
A linter for YAML files.
Last release 8 months ago
13 Jan 2026
Release timing varies
gaps range from 8 days to 13 months
Most releases are documented
notes for 46 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
75 releases · first in 2016
Add support for Python 3.14, drop support for Python 3.9
Add support for Python 3.14, drop support for Python 3.9
Require pathspec ≥ 1.0.0
Config: Follow gitignore implementation in yaml-files and ignore
Config: Use "mapping" instead of "dict" for user-facing errors
Rule indentation: Fix error message for check-multi-line-strings
Rule quoted-strings: Add quote-type: consistent
Docs: Update the name of BSD ports
Docs: Enhance wording of recursive directory lint in README
Docs: Add Alpine Linux installation instructions in README
Rule comments: tell how many spaces are expected
Rule comments: tell how many spaces are expected
Rule quoted-strings: Fix only-when-needed on multiline with backslash
Config: Report if rules is not a dict
Fix test_codec_built_in_equivalent() test when run with pytest
CI: Fix TestPyPI "dev0" versions for master commits on tags
Docs: Add links to GitHub repository and releases
Docs: Fix GitLab integration example
Docs: Fix GitLab integration link
Fix the tests badge link on the README
One column per quarter.
Automatically detect Unicode character encoding of files
Automatically detect Unicode character encoding of files
Publish pushes to master branch to TestPyPI
Build: Restore missing documentation and tests in sdist
Build: Restore missing documentation and tests in sdist
Publish PyPI releases using GitHub Actions workflows
Publish PyPI releases using GitHub Actions workflows
yamllint version 1.36.0
yamllint version 1.36.0
Add support for Python 3.13, drop support for Python 3.8
Rule key-ordering: add ignored-keys option
Rule quoted-strings: fix only-when-needed and escaped special chars
Fix TTY-related tests on Python 3.14
Docs: fix import of yamllint.config rather than yamllint
yamllint version 1.35.1
yamllint version 1.35.1
Restore ignoration of files passed as command-line arguments
Revert API change from version 1.35.0
yamllint version 1.35.0
yamllint version 1.35.0
Fix failure on broken symlinks that should be ignored
API change: linter.run(stream, config) doesn't filter files anymore
Docs: Restore official Read the Docs theme
yamllint version 1.34.0
yamllint version 1.34.0
Config: validate ignore-from-file inside rules
Rule quoted-strings: fix only-when-needed in flow maps and sequences
Rule key-duplicates: add forbid-duplicated-merge-keys option
Rule quoted-strings: add check-keys option
Docs: add GitLab CI example
Rule truthy: adapt forbidden values based on YAML version
yamllint version 1.33.0
yamllint version 1.33.0
Add support for Python 3.12, drop support for Python 3.7
Rule document-end: fix spurious "missing document end"
Rule empty-values: add forbid-in-block-sequences option
Look for configuration file in parent directories
Look for configuration file in parent directories
Rule anchors: add new option forbid-unused-anchors
Build: migrate from setup.py to pyproject.toml
Build: migrate from setup.py to pyproject.toml
Docs: update some outdated URLs
Rule colons: prevent error when space before is mandatory
Rule anchors: add new rule to detect undeclared or duplicated anchors
Rule anchors: add new rule to detect undeclared or duplicated anchors
Python API: prevent using is_file_ignored() with null filepath
Docs: fix misleading Python API example
Docs: fix plain text code snippet example
Docs: update pre-commit hook example
Add support for Python 3.11, drop support for Python 3.6
Add support for Python 3.11, drop support for Python 3.6
Rule float-values: fix bug on strings containing fordidden values
Stop releasing universal wheels
Use proper Python 3 I/O type for file reading
Rule indentation: fix indent-sequences in nested collections
Docs: clarify disable-line and parser errors, give a workaround
Refactors to apply some pyupgrade suggestions
Allow using a list of strings in ignore configuration
Add --list-files command line option
Better compress PNG image in documentation
Better compress PNG image in documentation
Remove __future__ imports specific to Python 2
Remove inheritance from object specific to Python 2
Simplify GitHub Actions example in documentation
Update ALE vim plugin link in documentation
Update license to latest version of GPLv3
Pre-compile disable/enable rules regexes
Rule quoted-strings: add allow-quoted-quotes option
Add option ignore-from-file in config
Fix failing test on key-duplicates for old PyYAML versions
Fix failing test on key-duplicates for old PyYAML versions
Add support for Python 3.10, drop Python 3.5
Add support for Python 3.10, drop Python 3.5
Fix GitHub Actions workflow
Refactor --format=auto logic
Update GitHub format output to use groups
Rule comments: allow whitespace after the shebang marker
Multiple minor fixes in documentation
Configure Sphinx to make man page show up in apropos
Attempt to clarify configuration file location in documentation
Rule key-duplicates: don't crash on redundant closing brackets or braces
Use rstcheck to lint documentation on the CI
Remove UTF-8 headers in Python files, since Python 2 isn't supported
Add various tests to increase coverage
Rule octal-values: pre-compile regex for performance
Add sections for Visual Studio Code and IntelliJ in documentation
Rule new-lines: add the type: platform config option
Add the new rule float-values
Restore runtime dependency setuptools for Python < 3.8
Restore runtime dependency setuptools for Python < 3.8
Fix python_requires to comply with PEP 345 and PEP 440
Fix python_requires to comply with PEP 345 and PEP 440
Remove runtime dependency setuptools for Python < 3.8
Remove runtime dependency setuptools for Python < 3.8
Fix line_length to skip all hash signs starting comment
Stop using deprecated python setup.py test in tests
End support for Python 2 and Python 3.4, add support for Python 3.9
Add forbid: non-empty option to braces and brackets rules
Fix quoted-strings for explicit octal recognition
Add documentation for integration with Arcanist
Fix typos in changelog and README
Stop using deprecated python setup.py test in tests
Run tests on Travis both with and without UTF-8 locales
Run tests on Travis both with and without UTF-8 locales
Improve documentation with default values to rules with options
Improve documentation with a Python API usage example
Fix documentation on commas examples
Packaging: move setuptools' configuration from setup.py to setup.cfg
Packaging: add extra info in PyPI metadata
Improve documentation on yaml-files
Fix octal-values to prevent detection of 8 and 9 as octal values
Fix quoted-strings Fix detecting strings with hashtag as requiring quotes
Add forbid configuration to the braces and brackets rules
Fix runtime dependencies missing setuptools
Add a new output format for GitHub Annotations (--format github)
Fix DOS lines messing with rule IDs in directives
Add locale config option and make key-ordering locale-aware
Add locale config option and make key-ordering locale-aware
Revert locale config option from version 1.24.0 because of a bug
Revert locale config option from version 1.24.0 because of a bug
Specify config with environment variable YAMLLINT_CONFIG_FILE
Specify config with environment variable YAMLLINT_CONFIG_FILE
Fix bug with CRLF in new-lines and require-starting-space
Do not run linter on directories whose names look like YAML files
Add locale config option and make key-ordering locale-aware
Allow rules to validate their configuration
Allow rules to validate their configuration
Add options extra-required and extra-allowed to quoted-strings
Fix quoted-strings rule with only-when-needed on corner cases
Fix quoted-strings rule with only-when-needed on corner cases
Add check-keys option to the truthy rule
Add check-keys option to the truthy rule
Fix quoted-strings rule not working on sequences items
Sunset Python 2
Fix new-lines rule on Python 3 with DOS line endings
Fix new-lines rule on Python 3 with DOS line endings
Fix quoted-strings rule not working for string values matching scalars
Add required: only-when-needed option to the quoted-strings rule
Add --no-warnings option to suppress warning messages
Add --no-warnings option to suppress warning messages
Use 'syntax' as rule name upon syntax errors
Allow disabling all checks for a file with # yamllint disable-file
Allow disabling all checks for a file with # yamllint disable-file
Lint .yamllint config file by default
Lint .yamllint config file by default
Also read config from .yamllint.yml and .yamllint.yaml
Improve documentation for yaml-files
Update documentation for pre-commit
Explicitly disable empty-values and octal-values rules
Simplify installation instructions in the README
Simplify installation instructions in the README
Add OpenBSD installation instructions
Make YAML file extensions configurable
Add FreeBSD installation instructions
Add FreeBSD installation instructions
Fix the line rule to correctly handle DOS new lines
Add the allowed-values option to the truthy rule
Allow configuration options to be a list of enums
Allow linting from standard input with yamllint -
Allow linting from standard input with yamllint -
Fix documentation code snippets
Fix documentation code snippets
Drop Python 2.6 and 3.3 support, add Python 3.7 support
Update documentation and tests for line-length + Unicode + Python 2
Allow rule configurations to lack options
Add a new ignore-shebangs option for the comments rule
Use isinstance(x, y) instead of type(x) == y
Use isinstance(x, y) instead of type(x) == y
Add a new -f colored option
Update documentation about colored output when run from CLI
Fix the quoted-strings rule, broken implementation
Fix the quoted-strings rule, broken implementation
Fix missing documentation for the quoted-strings rule
Update installation documentation for pip, CentOS, Debian, Ubuntu, Mac OS
Add a new quoted-strings rule
Update installation documentation for pip, CentOS, Debian, Ubuntu, Mac OS
Handle merge keys (<<) in the key-duplicates rule
Handle merge keys (<<) in the key-duplicates rule
Update documentation about pre-commit
Make examples for ignore rule clearer
Clarify documentation on the 'truthy' rule
Fix crash in parser due to a change in PyYAML > 3.12
- Add a new octal-values rule
Add a new octal-values rule
Check documentation compilation on continuous integration
Fix colored output on Windows
Check documentation compilation on continuous integration
Add a new empty-values rule
Make sure test files are included in dist bundle
Tests: Use en_US.UTF-8 locale when C.UTF-8 not available
Tests: Dynamically detect Python executable path
Fix indentation rule for key following empty list
Add a new key-ordering rule
Fix indentation rule for key following empty list
Be clearer about the ignore conf type
Be clearer about the ignore conf type
Update pre-commit hook file
Add documentation for pre-commit
- Require pathspec >= 0.5.3 - Support Python 2.6 - Add a changelog
Require pathspec >= 0.5.3
Support Python 2.6
Add a changelog
Refactor argparse with mutually_exclusive_group
Refactor argparse with mutually_exclusive_group
Add support to ignore paths in configuration
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →