Accent CMS 0.28.2 — static redirects that hold, and small CLI fixes

Accent CMS 0.28.2 is available. It is a maintenance release for the 0.28 line, with six fixes from two production site conversions and a dependency security update. A licence with a 0.28 ceiling covers it.

Redirects that hold in a static build

Three fixes make the redirects of a static build behave the same on every host:

  • Build-derived redirects now answer a real 301 on Netlify. The build writes a stub page at each old URL, and Netlify applies an unforced rule only where no content exists — so the promised 301 never fired. The _redirects artifact now writes each stub-backed move as a forced line (301!) first, with the plain line after it for Cloudflare Pages. Rules from build.routing.redirects stay exactly as configured.
  • The redirect stub of an .html or .htm alias lands as a file, not a directory. With aliases: ["/index-old.html"], the stub is now index-old.html, so a static host answers the literal old URL without a trailing-slash hop.
  • The _redirects artifact is checked against the documented host limits. A rule over Cloudflare’s 1,000-character declaration limit fails the build and names the source path. A file over the Cloudflare rule caps warns with the counts and the remedies.

CLI fixes

  • accent new on a model that declares alias: now writes the alias that the file name carries, next to the minted uid. The scaffold also writes template: <model> only when the theme carries that template, so a fresh page no longer starts as a validate warning.
  • accent validate now explains a quoted number or boolean attribute. width="914" on a number parameter said only “must be type of ‘Number’”. The message now names the quotes and the spelling to write: Write width=914..
  • accent serve with server.address: "0.0.0.0" now announces https://127.0.0.1:PORT. Current Chrome and Safari refuse to open a bind address, so the banner’s one clickable link landed on a dead page while the server was healthy.

Security update

The compression dependencies move to zstd 0.13.4 and zstd-safe 7.4.0. Upstream backported this year’s zstd security and soundness fixes into the stable lines, and this release takes them. The affected code paths were not reachable from Accent; the update removes them from the binary regardless.

Install or upgrade

curl -fsSL https://accentcms.dev/install.sh | sh