Skip to content

v3.17.0

Latest

Choose a tag to compare

@github-actions github-actions released this 31 Jul 17:07
Immutable release. Only release title and notes can be modified.
fe71481

Building on the dependency updates from the previous release, v3.17.0 brings the most significant performance improvements since v3.0.0.

It also brings support for inline scopes and style-level severity changes.

If you use MDX, make sure to update mdx2vast to v0.5.0 to see the performance gains.

✨ Sponsor Spotlight

Special thanks to Mintlify for becoming Vale's latest sponsor and the first to receive a Spotlight page!

Changelog

  • 989be25 docs: add sponsor
  • ff6de4d fix: stop sharing per-file scope state across goroutines
  • 5d413a0 fix: name the spelling a vocab term wants, not its pattern
  • 5f071ef perf: reuse one Docutils interpreter instead of one per file
  • 4fd0ba6 perf: reuse one mdx2vast process instead of one per file
  • d65b54c perf: keep Asciidoctor running instead of restarting it per file
  • eea7ac3 perf: stop scanning the whole document to place each alert
  • d6308d2 docs: update contributing
  • dccf897 perf: run one search per block instead of one per line
  • 769943c fix: stop narrowing paragraph to a scope nothing carries
  • 67f6502 fix: read block-comment decoration as decoration, not markup
  • c937d0c perf: stop deduplicating rule runs per text
  • 3bf1bb9 perf: read literals through a pattern's lookarounds
  • c795e3e perf: read literals through a pattern's lookarounds
  • 1bbfca0 perf: decide a rule's scope once per block scope
  • 38849c4 build: use regexp2 v2.5.4
  • bf80cba perf: compile the capitalization word pattern once
  • 000a253 perf: only map runs to the source when something will ask
  • d59f600 docs: write an actual security policy
  • 3a8a295 fix: place inline fragments where they actually are
  • 8d4b2d0 fix: close extracted files properly
  • b6b4ae4 fix: bound COMPOUNDMIN and COMPOUNDRULE
  • 8b961fb feat: support inline scopes
  • b828088 feat: allow scoping by class
  • 0dc010c test: add cases for new package-level settings
  • 473c6c1 feat: allow a setting to be given for a whole style
  • 9c1aee1 fix: honour a sequence rule's declared scope
  • ff1b04b perf: run each rule once per distinct text
  • 59ba324 perf: run each rule once per distinct text
  • 21743d1 perf: locate spelling alerts by offset
  • e29df0e perf: stop searching once a usable match is found
  • 5cab109 perf: skip rules whose tokens cannot match
  • d92fed0 perf: Split selectors once instead of on every comparison
  • 391e3c0 fix: stop section styles leaking across globs