Vale

Vale 3.25.1

A syntax-aware linter for prose built with speed and extensibility in mind.

  • By errata.ai
  • Open Source
  • Updated Oct 22, 2026
Download for Windows

About Vale

A syntax-aware linter for prose built with speed and extensibility in mind.

What's new in 3.25.1

Changelog

  • d7a379da fix:A percent-encoded link target no longer drops a later alert
  • d59ad842 fix:A .tsx file is parsed with the TSX grammar
  • cafff9f9 fix:A phrase in a rule matches across a line wrap
  • f41c1eda fix:Compile the spelling exception pattern once per vocabulary
  • 4f013daf feat:Find vale.ini in a project's .config directory
  • 9f822e9d docs:Add FLOSS
  • a7817766 fix:A tag inside a link's text no longer crashes scope: link
  • 8e88d55a test:Guard the casing-and-code scenario on rst2html
  • 10744bd6 fix:A wrapped list item or blockquote is placed by runs, not by searching for its text
  • b41932c5 fix:A doc-comment mask drops only an alert whose match lies inside it
  • 91041463 fix:An alert in a comment is placed by what extraction took off its line
  • 1a84507d fix:A sequence match holding inline markup is placed through the block's runs
  • 3d89b9e4 fix:An occurrence message's count fills %s as well as %d
  • a07aa34c fix:.mjs, .cjs, .mts, and .cts are JavaScript and TypeScript, and a mapped file's grammar comes from the format it is read as
  • 82f20fc2 fix(lint):take the tree-sitter grammar from a [formats] mapping when the extension has none (#1204)
  • 61cb142a fix:AsciiDoc cross-references without text render as empty links
  • cfb21a4c fix:MDX elements that span lines no longer lose later alerts, and a list that takes a non-item no longer panics
  • a0fc3a96 fix:MDX reads JSX inside expressions, escapes in attributes, and multiline template literals
  • b5b8e429 fix:An unreadable document no longer stops the run, and a package's dropped styles are named
  • 25270feb fix:Vocab works in [*], and Vocab = NONE clears inherited vocabularies
  • fce33f19 feat:Spelling alerts say when a word is a casing mistake or looks like code
  • fb4f161f fix:Vale.Terms finds terms that start or end with punctuation, like C++ and .NET
  • 775511b8 feat:YAML vocabularies, and affix flags in vocabularies and rules
  • c8fcacf2 feat:The default dictionary knows common technical vocabulary
  • 2b345462 docs:remove studio
  • c74f4da2 docs:Remove DO

Full release notes »

Technical details

Publishererrata.ai
Version3.25.1
Release date2026-10-22
LicenseMIT
Installer typezip
Architecturex64
Package IDerrata-ai.Vale

Links & install command

Install Vale from the command line with Windows Package Manager (winget):

winget install --id=errata-ai.Vale -e

linterlintingnlpvale

Older versions

  • 3.24.0
  • 3.23.0
  • 3.22.0
  • 3.17.1
  • 3.17.0
  • 3.15.1
  • 3.14.2
  • 3.14.1
  • 3.14.0