Skip to content

Release 0.33.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 19:46
· 192 commits to main since this release
8a97f2e

Release 0.33.0. Version bumped in the six places the previous releases move; no other change.

What is in it

Configurable themes. 47 tokens over thirteen groups — surfaces, text, lines, accents, status, charts, elevation, shape, density, typography, motion, chrome — edited on their own admin page, with a live preview and contrast warnings. Colours are RGB triplets so Tailwind's <alpha-value> keeps working, and five of the tokens are multipliers folded into hand-tuned values through calc(), which makes 0 a feature: shadow-strength: 0 is a flat interface, motion-scale: 0 a still one.

An owner distinct from the other administrators. Federation governance, uploaded fonts and free-form CSS are owner-only and re-authenticate; ownership transfers under an advisory lock and can be relinquished.

Owner-authored CSS, parsed rather than filtered. css-tree builds an AST, the rules are structural, and the output is regenerated from the AST so a browser never sees the bytes that were typed.

Self-hosted fonts. fonts.googleapis.com and fonts.gstatic.com are gone from every Content-Security-Policy; no visitor's IP reaches Google. Owners can upload a woff2 face for a role.

A site default that applies to somebody. users.theme is nullable and NULL means "follow the site default" — so changing the default moves everyone who never chose, which it previously did for nobody.

Upgrading

doc/guide/upgrading.md has the section. The short version: nothing to run, and do not run two versions against the same database at once while the theme migration lands. A single instance that stops and starts is unaffected.

Verified

typecheck clean · 423 API unit · 519 web unit · 449 integration · 178 end-to-end, across both build shapes (front-ssr and the static front).

🤖 Generated with Claude Code

What's Changed

Full Changelog: 0.32.0...0.33.0