Skip to content

Domma v0.44.8

Choose a tag to compare

@github-actions github-actions released this 27 Sep 09:45
· 312 commits to main since this release

v0.44.8 - Sidebars That Wear The Theme (2026-09-27)

Every left-hand menu now takes its colours from the active theme. The site's page, admin and
miniapp sidebars were switched between .sidebar-light and .sidebar-dark, which paint with
--dm-white and --dm-gray-900 - colours no theme redefines - so every dark theme got the same
generic grey panel and the themes' own --dm-sidebar-* tokens went unused.

🧭 A theme sidebar variant

  • E.sidebar(sel, {variant: 'theme'}) follows the active theme, light or dark, with no JavaScript
    on a theme change. 'light' and 'dark' are unchanged, and 'dark' stays the default.

  • Every part of the sidebar - header, title, toggle, links, headings, dividers and footer - now
    reads --dm-sidebar-bg, --dm-sidebar-text and --dm-sidebar-border, plus two new optional
    tokens, --dm-sidebar-text-muted and --dm-sidebar-header-bg. Each falls back to the value it
    used before, so a theme that sets none of them looks as it did.

  • The showcase, CMS, admin, address-lookup and docs sidebars all use it.

🎨 Themes

  • The Admin themes' dark sidebar now has light-on-dark hover and active washes, and a muted text
    colour that reads on it, instead of the page's own dark-on-light ones.

  • sunset-dark never defined --dm-selected-bg, so it inherited the light default: pale blue
    behind light text in selected table rows, dropdown items and sidebar links. It is now a
    terracotta wash.

  • grayve-dark's sidebar active item is a translucent teal rather than the solid selection colour,
    which light text could not be read against.

  • Four of the five sidebar contrast failures the validator carried are gone.

🆕 What's New

  • The What's New pill pulsed forever: the changelog stored the version it had shown through
    S.set(), which serialises it, and the navbar compared that against a raw localStorage read.
    Both now go through S, and cutting a release keeps latestVersion in releases.json current.