v0.9 Release Notes
Umono v0.9 brings themes. Content and design are now separate: you write a page once, and a theme decides how it looks.
Themes
A theme is a package of CSS, fonts and images. It has no templates and no scripts, so it can change how a page looks, but never what it says or does.
Every theme is written for a contract. A contract describes a kind of site: its layouts, such as a blog post or a list of posts, and the parameters each layout takes. In the page editor you bind a page to a layout and fill its parameters. When you switch themes, every page changes its look and none of them changes its content.
Install a theme package with the CLI, then activate it in the admin panel under Settings → Themes:
umono theme install umono_folio_0.1.0.umono-theme
There are two official themes:
- Octavo for sites made of pages with a header, a menu and a footer (
umono/page@v0.1). - Folio for blogs (
umono/blog@v0.1).
Pages that are not bound to a layout keep the look of v0.8.
Contracts and umono.dev
Contracts are published on umono.dev. A published contract is never changed or removed, and it is licensed MIT-0, so anyone can write a theme for it.
The first time a contract version is activated on a site, Umono verifies it with a single request to umono.dev. The request carries no site address, and umono.dev keeps no request logs. After that the contract is stored on the site. Visitors, restarts and later activations never contact umono.dev.
Privacy
Every page is sent with a Content-Security-Policy. Public pages set no cookies. A theme's fonts and images are served by the site itself. The policy allows another origin only for an image the page's content uses, such as media on S3-compatible storage.
Compono v0.7
Compono, the language of content, is updated from v0.4.2 to v0.7.1. It fixes many cases of emphasis, whitespace and component calls.
The HTML that Compono outputs is now frozen for the 0.x releases, so a theme built today gets the same markup after Umono updates.
Errors are no longer shown to visitors. The editors show them as you type, and the errors of published pages are listed under System → Errors.
Other Improvements
robots.txtwith its own settings page, andsitemap.xmlunder the site address you set in the general settings.- The 404 page is now a system page and can be bound to a layout.
- An upload limit for local storage.
- Unchanged pages are answered with
304 Not Modified. - The admin sidebars load 50 items at a time.
- v0.9.1 updates the Go toolchain and dependencies with security fixes.
For Theme Authors
The CLI can now create, preview and build themes with umono theme create, umono theme dev and umono theme build. The guide starts at Your first theme.
Upgrade Notes
Umono v0.9 requires CLI v0.3.0 or later. Run the install script again to update the CLI, then upgrade the site:
umono upgrade
umono restart
On the first start, Umono updates the database by itself:
- The parameter line of global components now starts with
~. Existing global components get it automatically. - Every published page is rendered once, and any errors are listed under System → Errors.
The WEB_GRID component is removed. A page that uses it shows an error in the admin panel.
Some v0.8 content renders slightly differently. The full list is in the upgrade guide.
Summary
v0.9 separates content from design. Themes are only CSS, fonts and images, written against published contracts, and they can't touch your content. With the official themes Octavo and Folio, a site gets a finished look without giving up privacy: no cookies, no third-party fonts or scripts.