Skip to content

Releases: vale-cli/vale

v3.6.0

18 Jun 23:35

Choose a tag to compare

Changelog

  • ea54364 feat: support exceptions in Repetition (#826)

v3.5.0

08 Jun 20:18

Choose a tag to compare

This release includes improved, tree-sitter powered support for linting comments in Go, Rust, Python, Ruby, C/C++, JavaScript, TypeScript, YAML, and CSS files.

Changelog

  • a484bbe feat: tree-sitter powered fragments
  • 31b5975 refactor: move comment processing to tree-sitter
  • 26ece6e existence rule skips match in RST (#831)

v3.4.2

01 May 03:09

Choose a tag to compare

Changelog

v3.4.1

08 Apr 11:05

Choose a tag to compare

Changelog

  • 48a1d9d fix: fallback to default config when syncing (#798)
  • b1de4bf fix: only match case for ignorecase: true (#802)

v3.4.0

08 Apr 04:41

Choose a tag to compare

This release adds support for including the observed count of occurrence-based rules:

message: "Topic titles should use fewer than 70 characters (found: %s)."

The use of %s is optional.

Changelog

  • 58ef6a7 chore: fix Appveyor
  • eba2813 feat: support displaying the count of occurrence
  • 24c6dbe fix: take first non-code match in occurance rules

v3.3.1

22 Mar 23:43

Choose a tag to compare

Changelog

v3.3.0

11 Mar 02:31

Choose a tag to compare

This release adds support for including the expected form in the message field of capitalization-based rules:

message: "Found: '%s'; expected: '%s'."

As with substitution, the second %s is optional.

Changelog

  • a9dc9e6 fix: ensure StylesPath is created with sync (#788)
  • e688310 feat: support showing expected case in message
  • d198f7d chore: update twine to v0.10.1 (#786)

v3.2.2

05 Mar 19:48

Choose a tag to compare

Changelog

v3.2.1

01 Mar 09:40

Choose a tag to compare

Changelog

  • 774a361 chore: bump twine to v0.10.0 (#742)
  • cbc6e2d refactor: use actual path for assigned formats
  • 92d50d4 chore: bump Docker to golang:1.21

v3.2.0

27 Feb 09:29

Choose a tag to compare

Script-based actions

This release introduces the ability to write custom, script-based actions, allowing you to create dynamic solutions to your rules using the Tengo scripting language:

text := import("text")

// `match` is provided by Vale and represents the rule's matched text.
made := text.re_replace(`([A-Z]\w+)([A-Z]\w+)`, match, `$1-$2`)

made = text.replace(made, "-", "_", 1)
made = text.to_lower(made)

suggestions := [made]

prefix for capitalization rules

The capitalization extension point now supports a prefix key, allowing you to specify a constant prefix to ignore when checking the case of a scope:

extends: capitalization
message: "'%s' should be sentence-cased"
level: warning
scope: heading
match: $sentence
# sentence-cased, but allows for a common prefix:
# 
# E.g., 
# 
# a. This is my heading
prefix: '^[a-z]\.\s'

Changelog

  • 1bc7781 feat: support script-based actions (#621)
  • c9d2415 feat: allow script-based rules to use local files
  • e2ac1dc feat: support prefix key in capitalization
  • 6ef0894 feat: proto support (#777)
  • 3a812b3 feat: add --no-global
  • 84b539e refactor: better install details
  • 07828da refactor: add CLI help text for host commands
  • 3ddc54a fix: remove duplicate $home prefix