Skip to content

chore(vale): accept upstream Vale 3.26.0 - #605

Merged
theCodeDrift merged 1 commit into
mainfrom
vendor/vale/republish
Nov 2, 2026
Merged

theCodeDrift merged 1 commit into
mainfrom
vendor/vale/republish

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Upstream Vale is ahead of the version this repository packages.

This updates .github/scripts/vale-manifest.json to the new upstream
version and replaces every platform's SHA256 with the digest from
upstream's vale_<version>_checksums.txt.

Reviewing this is the trust boundary. Merging it authorizes the
publish phase to download those exact archives and package them; a
download that does not match a digest here aborts the run and
publishes nothing. Check the digests against upstream's checksums file
for the release before approving.

Merging this triggers the publish phase, which stamps every platform
package <valeVersion>-<yyyymmddhhmmss> and publishes the set. That
publish is inert on its own: @taskless/cli pins exact versions, so
nothing reaches a consumer until that pin is deliberately bumped —
which is what vale-upgrade.yml proposes, separately, once this has
merged and published. Merging THIS changes nobody's install.

This pull request rolls: if upstream releases again before it merges,
the branch, title, and body are rewritten to the newer version rather
than a second pull request being opened. Push a commit to the branch
and that stops — the workflow will not force-push over a commit it did
not write.


Upstream release notes — 3.26.0

https://github.com/vale-cli/vale/releases/tag/v3.26.0

Vale in the browser

v3.26.0 is the first release that ships Vale as a WebAssembly module. It's the same engine as the CLI, built for a JavaScript host: a browser, a browser extension, or Node. It runs with no server and no filesystem.

Each release now includes vale_3.26.0_wasm.tar.gz, which holds vale.wasm and the wasm_exec.js loader that matches it. The host passes the .vale.ini as a string and loads styles, vocabularies, and packages into an in-memory filesystem. Vale then lints:

  • Markdown, MDX, MyST, Quarto, Org, HTML, and plain text, natively.
  • YAML, JSON, and TOML, through Views.
  • AsciiDoc, XML, and any other converted format whose HTML the host produces with a JavaScript converter. ValeConverterOptions returns the arguments that make that HTML match what the CLI would produce.

ValeSuggest resolves an alert's fixes, and ValeResolveConfig reports which rules each section turns on, turns off, or changes the level of. Source-code linting needs tree-sitter, which uses CGo, so it stays CLI-only.

See the WebAssembly docs for the full API.

Thank you, FLOSS/fund

Vale received a $10,000 grant from FLOSS/fund to support Vale's expansion to the web. Grants like this keep Vale free and independent. Thank you to FLOSS/fund for supporting open-source infrastructure.

Changelog

  • e2d4374b fix: Create bin/ before copying the wasm loader into it
  • 0897e7f2 fix: A sentence or title capitalization rule no longer slows with each exception
  • 8b9bfb97 feat: Resolve a configuration in the browser build
  • bd1c0ba3 fix: An ignored class covers an image's alt text
  • 305eba39 feat: string-config and in-memory entry points
  • 8e5de35a feat: A Config reads its assets through a filesystem of its own
  • 9eeba2d2 fix: Run a Transform stylesheet with no network, writes, or directories
  • 0f91a651 feat: Lint a converted format in the browser from the host's HTML
  • cb27bdeb feat: Build Vale for the browser

@github-actions github-actions Bot added the skip-changeset PR intentionally ships no release note (bypasses the changeset requirement) label Nov 2, 2026
@theCodeDrift
theCodeDrift merged commit 312732c into main Nov 2, 2026
8 checks passed
@theCodeDrift
theCodeDrift deleted the vendor/vale/republish branch November 2, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changeset PR intentionally ships no release note (bypasses the changeset requirement)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant