Skip to content

v2.0.0

Latest

Choose a tag to compare

@jstayton jstayton released this 14 Oct 09:33
· 5 commits to development since this release
Immutable release. Only release title and notes can be modified.
62fc884

Suri v2.0.0 requires Node.js 22 or newer and validates links.json more strictly, so check both before upgrading.

Breaking changes

  • Node.js 22 or newer. Support for Node.js 18 and 20 is dropped, since both have reached end-of-life, and Node.js 24 and 26 are now tested. (#39, #42)
  • Stricter links.json validation. The build now fails with a clear error if the links file isn't an object, a target isn't a non-empty string, or a path contains ... Before, input like this could crash the build or write files outside the build directory. (#44)

Fixes

  • Targets with quotes work. Link targets are now escaped in the generated HTML, so a URL containing a quote no longer breaks its redirect. (#44)

Development

  • Hardened CI. CI now runs on pull requests from forks, with a read-only token, actions pinned to commit SHAs, and installs that match the lockfile exactly. (#45)
  • No dependency install scripts. Installing this repo's dependencies no longer runs their install scripts, which guards against compromised packages. (#43)
  • Better tests. Tests were fixed, filled in, and reorganized, including one that passed even when the code it tested was broken. (#47)
  • Dependencies updated, including ESLint 10. (#41)
  • AGENTS.md added for coding agents, and the piratepx tracker was removed from the README. (#48, #49)