Domma CMS 0.90 to 0.101: what changed

SEO built in, boxes that follow the theme, forms that greet visitors by name, dates in dd/mm/yyyy, loading placeholders and a sidebar you can rearrange - the highlights of a busy run of releases.

By Darryl Waterhouse · · 4 min read

Domma CMS moved from 0.90 to 0.101 in a short, busy stretch. The full list is on What's New and in the changelog; this is the part most site owners will notice.

SEO is part of every site (0.90)

The SEO Tool moved into the CMS itself. Every site now has SEO in the sidebar: an audit of every page, a preview of the search result and share card, redirects, the sitemap and robots.txt. A site that used the old SEO plugin keeps all its redirects, overrides and settings - they move across on the first start. SEO Pro builds on it with link checks, structured data, a not-found log and more.

Page building

  • [box] (0.91) - a plain container with no header. It follows the theme, and color="success" (or primary, info, warning, danger) tints it from the theme's own colours - pale on a light theme, deep on a dark one. A hex colour works too, with black or white text chosen for readability.
  • hover="off" (0.101.4) keeps a box or card still, for ones that are not clickable.
  • Readable links on every theme (0.100) - where a theme's main colour was too pale to read as text, links now use a darker shade of it; dark, glass and glow cards were brought up to readable contrast.
  • The block editor's preview (0.101.3) now draws a block inside your own site's page - its theme, fonts and Custom CSS - at full, tablet or phone width, one copy or three in a grid.

Forms

  • Helpers on fields (0.100): show and hide on passwords, a clear button and a character counter on text, and plus and minus buttons on numbers that respect the field's limits.
  • Icons and text joined to inputs (0.99): a magnifier before a search box, £ before a price.
  • Answers in trigger messages (0.99): "Hello {{name}}" in a banner or end-form message fills in as the visitor types.
  • The submit button (0.100): its position, style, icons, and an optional second button - Clear form or Cancel.

See Forms that react for how triggers and conditional logic fit together.

The admin

  • Dates read dd/mm/yyyy everywhere a person sees one (0.93).
  • Tool groups and an Arrange mode for the sidebar (0.96, 0.97) - drag items to move them, or drop one on another to make a folder.
  • Smoother dragging in the menus, form, collection and context-menu editors (0.96-0.98): the rows slide aside, touch works and Esc cancels.
  • Help popovers that follow the page, and loading placeholders instead of "Loading..." (0.101).
  • Avatars in the users list (0.101.2).
  • Guides for your Tools in the Documentation folder (0.94): each installed Tool's user guide sits under Documentation > Plugins.
  • Feedback (0.92), a free Tool: tell us what is broken or missing from inside your admin, and see what became of it.

Tidier and safer

A good share of these releases were fixes found while writing the documentation, checked against the code one by one. Among them:

  • A view's own access rules are now always honoured, including row-level rules, and site search no longer lists pages a visitor cannot open (0.92.1).
  • A role name the site does not have can no longer let every signed-in user through - on a collection's API access or an action (0.92.1, 0.93).
  • Applying a scaffold recipe needs permission for everything the recipe creates (0.95).
  • Moving a collection between files and MongoDB keeps every entry's id and date, so references survive (0.93).
  • The block editor's preview cleans a block's markup the way the public site does (0.101.3).
  • A Tool that needs a newer CMS says so, with both version numbers, instead of failing quietly (0.93, 0.95).

Node 24

Domma CMS runs on Node.js 24, and since 0.94 the installer stops on an older version and says which one it found.

Updating

Sites we host were updated as each release came out. On your own server:

npx domma-cms@latest update

Your content, config and Tools are kept; the engine is replaced. There is also a --dry-run if you would like to see what will change first.