github vale-cli/vale v3.27.0

one hour ago

French, German, and Spanish

Vale now lints French, German, and Spanish in the language itself. Set Lang and run vale sync to download its model:

[*.md]
Lang = fr

Sentences are split and words are tagged with a model for that language, so sequence rules can match on upos: tags. spelling reads the language's own dictionary from config/dictionaries, and sentence-case rules keep the words the language capitalizes, such as German nouns. More languages are available; vale sync reports any that have no model.

Source-code grammars

Tree-sitter grammars are now WebAssembly modules that vale sync installs, and the release binaries no longer need CGo.

If you lint source code, run vale sync after upgrading. A [*.go] section gets the Go grammar automatically; Grammars = go, python (or ALL, or NONE) overrides that.

Also

  • vale ls-metrics takes several paths or a directory.
  • Rules scoped to sentence or paragraph now run on code comments.
  • A hard line break no longer joins a nested list to the item above it (#1225).

Changelog

  • 4ce91ef fix: Ignore the zig cache"
  • de2efa2 fix: Name the dictionary directory the same way everywhere
  • 05abbaf fix: let a hard line break keep a nested list separate (#1226)
  • 916d7b4 fix: Run sentence-scoped rules on code comments
  • ad4b34e feat: The English-built checks follow Lang
  • 80b2ac8 fix: Lang in [*], and a grammar the cache can't take
  • 3945424 feat: Sync the grammars the sections imply
  • b2d7c28 chore: Bump prose to v3.3.0
  • 7efb394 feat: A vale_nocode build without the grammar runtime
  • 66bbb85 ci: Put DITA-OT on the Windows PATH
  • 49bd113 chore: Pin prose to the branch head
  • aa756da chore: Bump prose for the new English tagger
  • 466210d fix: Download the grammar sources before building
  • 0c03fed feat: Run tree-sitter grammars as WebAssembly
  • cb0fdf5 feat: Run tree-sitter grammars as WebAssembly
  • de56bd4 chore: Build with Go 1.27.3
  • 7d7de14 feat: Let ls-metrics take several paths
  • 04b464c fix: Give Asciidoctor.js a JavaScript converter
  • f0b930c feat: Download language models on sync
  • 3385243 feat: Lint a file in the language its configuration names
  • 628a787 chore: Bump prose
  • e6c7f75 test: Correct three expected alert positions
  • 0d9e802 fix: A match in text the converter rewrote is placed where it is
  • 9b7e4ca fix: An undefined Sphinx substitution is skipped, not read as prose
  • 9e606e9 fix: A sentence-case rule accepts an acronym

Don't miss a new vale release

NewReleases is sending notifications on new releases.