Changelog
What each release of q.e.d. brought, newest first. Numbers like #043 refer to the backlog and Done. Installers are on GitHub; the app updates itself (App → Check for updates).
0.16.0 · 2026-11-01
Pictures cut where you want.
- Where pictures are cut (#152): galleries, tiles and the Hero cut pictures around the middle. For a picture where that loses the important part, such as a portrait's head, click it in the Media tab, then Crop, and click the spot that must stay visible; a square beside it shows the result, and the choice counts everywhere the picture is used. See Pictures and files and Where to cut a picture.
- Publishing shows the space before the upload count again ("Uploading 3 of 40").
0.15.0 · 2026-10-31
Six thousand icons, posts with a time, and AI assistants that can do more.
- Tabler icons (#149): more than 6,000 icons for text and menus instead of 72, filled ones and brand logos among them (such as Mastodon). Search for one by what it shows, at Icon in a page's Settings and under every text field. The app's own buttons use them too. Names from before keep working. See Icons and Six thousand icons.
- Posts with a time (#150): a post's date can have a time, so feed readers keep the posts of one day in order. New posts get the current time; it's in your computer's time zone. See What time is it?.
- Unknown icons noted: an
:icon-…:name q.e.d. doesn't know is reported by Build, so a typo doesn't go unnoticed. - AI assistants can do more (#148): change the footer, shared
blocks and the site settings (menu, logo, web address, profiles),
bring files over at their old addresses (
static/), give a new post the address it had before, and delete pictures and files nothing uses any more. Everything is checked first and shows in Versions. See AI assistants.
0.14.0 · 2026-10-31
AI assistants can work on your site.
- AI assistants (#105): an assistant such as Claude (Claude Desktop, Claude Code) can read, write, move and delete pages, add pictures, build the site and save versions, with q.e.d.'s rules: pages are checked first, your own changes aren't overwritten, everything shows in Versions, and publishing stays with you. AI assistants in the App tab has the settings to copy, for Claude Desktop and for Claude Code in a terminal or in VS Code; see AI assistants in the manual. The assistant starts q.e.d. itself in the background, so the installers stay about the same size. See Interlude: MCP servers and One program, two modes.
- Site icon kept: the Media tab shows the site icon as such and doesn't delete it while Site settings uses it.
0.13.0 · 2026-10-31
Sites in several languages, a dark side for every site, and the manual in German.
- Several languages (#145): add languages in the Site tab, then
Translate a page from the row of language codes above it. The
translation is at
/en/aboutbeside/about; each language has its own menus, post lists and feeds, and a switch in the header leads between them. See Two languages. - Light and dark mode (#146): Light and dark mode in the Theme tab gives the site a second, dark theme with colors of its own. Visitors see the side that matches their system, and three buttons in the header (sun, computer, moon) let them choose. See Light and dark.
- The manual in German: every page but Libraries. Language of the manual in the App tab picks it; automatically your computer's.
- Menus: in the top bar, a page with pages below it becomes a dropdown; pages in the footer menu show their icons.
- Blogs grouped by date: pages named by a date (
/blog/2026,/blog/2026-10-21) pass their posts on to the blog's one feed, and older and newer links run on across them.
0.12.0 · 2026-10-30
For sites moved over from elsewhere: old addresses and episode guids in the app, a site icon, Mastodon verification, keys and formulas in text, and menus that fold.
- Old addresses (#134): a page's Settings tab lists the addresses it had before, on this site or the old one, and each leads to the page. Add one, or paste a full address from the old website. The short page that sends visitors on now has the site's colors.
- Old episode guids (#135): Change it next to an episode's guid carries over the one it had in another system's feed, so podcast apps don't show it as new.
- Site icon (#143): an SVG, a square PNG or an ICO from Media for the browser tab and phones' home screens, used as it is.
- Mastodon verification (#140): your profiles elsewhere, in the Site tab, are named on every page, so Mastodon shows the site as verified.
- Keys, super- and subscript, line breaks (#138, #139):
<kbd>,<sup>,<sub>and<br>work in text, also in table cells; keys look like keycaps. New toolbar buttons put them in, and one more makes a code block. - Folding sidebar (#144): groups of the menu fold open and closed; only the one with the page being shown starts open. Pages with pages below them fold the same way.
- Light and dark themes apart (#141): the theme pickers show light and dark themes in two groups, A to Z. On a dark theme the footer is shaded by default instead of a pale band.
- Clearer publishing (#137): the Publish dialog counts your changed files and says that more files of the website can change; the report counts website files.
- Manual button: an open book instead of the life-buoy.
- Fixed: a menu entry written by hand as
page = "index"disappeared without a word (#142); entries whose page is missing or a draft are now noted when building and marked in the Menu tab. - Fixed: settings showed unsaved changes right after saving when another tab had added colors or fonts.
0.11.0 · 2026-10-29
A manual in the app, sections, Catppuccin themes and lighter photos.
- Manual (#110): how to make and run a website with q.e.d., for site owners: what you need, getting started, pages and blocks, icons, pictures and files, site settings, menus, colors and fonts, versions, backups, publishing, podcasts, moving a site over, and license and credits. In the app, offline, with the life-buoy button at the top right and the Manual links in the tabs; also on this website under Manual. See A manual in the app.
- Back and next links (#136): a page setting gives the pages below it links to the page before and after them, at the bottom; posts get Older and Newer. On for the manual and the blog here.
- Section block (#087): a band across the page with a background color or picture, holding other blocks, columns too. See Sections.
- Catppuccin themes (#132): Latte, Frappé, Macchiato and Mocha, for sites and for the app. See Catppuccin themes.
- WebP copies (#085): the smaller copies of photos are WebP, about half the size of before. See WebP copies.
- A version per working session (#083): saves go into one version until you stop for an hour or the next day; then the app asks for a note. See A version per session.
- More languages for code (#106): some 200, among them TypeScript, Svelte, TOML and Elixir. See More code languages.
- Notes for missing links (#133): building the site notes links to pages that don't exist (or are drafts) and to missing pictures and files.
- Pages changed outside the app: when a page was changed in another program since you opened it, saving asks whether to keep yours or take the file's.
- Fixed: a version stayed "work in progress" after someone committed on top of it with git.
0.10.0 · 2026-10-28
Search, and science on the page: formulas, molecules, charts and rock columns, all drawn when the site is built, without JavaScript.
- Site search (#108): a search button in the header (and Ctrl+K) finds words in all pages, posts and episodes, with Pagefind. The search runs in the visitor's browser from files on the site itself. On by default; a switch in the Site tab.
- Math formulas (#107): LaTeX in Text blocks,
$…$in the line and$$…$$or a```mathblock on its own, drawn as MathML in Latin Modern Math. See Math formulas. - Chemistry (#130): a
```smilesblock draws a molecule's structure;\ce{…}writes chemical formulas and reaction equations. See Chemistry. - Charts and stratigraphic columns (#131): a
```chartblock draws bar, line, pie, scatter and more from a short description; a```stratablock draws the layers of an outcrop or borehole. See Charts and strata. - Fixed: after switching sites, Versions and the media tabs showed the old site.
0.9.0 · 2026-10-28
One site on two computers, without the command line.
- Push and pull (#129): the Versions tab pushes the site with all its versions to a git repository (Codeberg, GitHub, Gitea, your own server) and pulls new versions back. Pull merges versions made on both computers; if both changed the same page, it changes nothing and says which. q.e.d. logs in with its own key, kept in the keychain, and checks the server's key on first use, as when publishing. A progress bar shows how far it has got. See Backups.
- Get a site from git: in the site menu and on the start screen. Copies a pushed site to this computer with its whole history.
- New versions on the remote: when a site opens, q.e.d. checks its remote and offers to pull.
- Transcripts: paragraphs at pauses also without speaker names.
0.8.0 · 2026-10-28
Phase 2: q.e.d. makes podcast websites now. Everything a podcast needs lives in the site folder, and the site loads nothing from anywhere else.
- Podcast sites (#066): a Podcast tab with the show's details, cover
(checked against Apple's rules), categories, support links and a
lasting
podcast:guid. New sites can start as a podcast. - Episodes (#067, #022): dated pages below
/episodeswith season, number, type, own cover, chapters and a stable guid. New episode proposes the next number. - Audio (#023): a new Audio tab. Files stay out of the history by default, or live elsewhere on the web. A podcast can offer several formats (MP3, M4A, Ogg, Opus, FLAC), one file per format and episode; publishing waits until every episode has them all.
- Podcast feeds (#068): one feed per format at octopod's addresses, with Apple's and Podcasting 2.0 tags and chapters.
- Podlove Web Player (#049) on episode pages and in the Latest episode block, self-hosted, in the theme's colors. Without JavaScript, the browser's own player and a chapter list.
- Blocks for podcasts (#069, #125): Latest episode (with a link to the episode), Subscribe (the Podlove Subscribe Button, self-hosted) and Contributors.
- Contributors (#047): people entered once with photo, links and bio, then picked per episode with their roles. Each gets a page listing their episodes.
- Transcripts (#048): one WebVTT file per episode, in the player, in the feeds and, if you like, as text on the episode page.
- Share links (#053): a share row for episode pages (Mastodon, Bluesky, email, copy link) without share widgets. It isn't in the default layout, since the player's share tab covers it.
- Episode layout (#126):
episode.mdsets the order of an episode page's parts (player, people, shownotes, chapters, transcript, share links) and can add any block to every episode. It sits under the new Templates heading in the page tree, next to the footer. - More of the player (#128): a playlist of all episodes, a share tab (from the current playtime, with embed code) and a subscribe button inside the player. It loads without the plain player flashing up first and without the page jumping. The share row and the download line are left out where the player has them.
- Video files (#127): a Video block can play a file from Downloads with the browser's own player.
- The Assets tab is now called Downloads.
- Fixed: episodes published on the same day were listed in the wrong order. The higher number comes first now, in lists and feeds.
0.7.0 · 2026-10-27
The last release of phase 1: the CMS and site generator are complete.
- Shared blocks (#043): blocks used on several pages, kept once in
shared/. "Make shared" turns any block into one; a list under the pages opens them for editing. - Drag and drop for blocks (#043) and in the page tree (#120): drop a page between others to change the order, onto a page to move it there. The page tree now shows the site's own order.
- Colors per element (#054): which theme color the links, buttons, Hero, Call to action, boxed columns, content background and footer use, with a Reset button.
- New tabs (#121): Menu, Theme and Publish have tabs of their own; Site settings are grouped under headings. "Main menu in a sidebar" moved to Menu.
- Unsaved changes (#122): closing the window, opening another site or installing an update asks first when something isn't saved.
- Links may not leave the site folder (#026): the build stops and names the file and the link.
- Fixed: saving Site settings could bring back older colors.
- Fixed: a line starting with inline code (
```math) hid the blocks after it.
0.6.0 · 2026-10-27
- Site icons in text (#115): your own logos from
media/icons/, written as:icon-name:. - "Mark links to other sites" (#116): a small icon after links that leave the site.
- Smaller copies for images in text (#085), as for image blocks.
- Images open big over the page, without JavaScript (#117).
- In the app, images open big in the Media tab (#118) and PDFs inside the app (#119).
0.5.0 · 2026-10-27
Everything found while moving podcasterei.at, waldgruber.at and informatom.com over from Jekyll.
- Static files (#088): a
static/folder copied into the site as it is, with its own tab and a text viewer. - Footer blocks (#092), a 404 page (#093) and code highlighting (#094).
- New blocks: Page list (#099), Video without tracking (#100); lists with pictures as cards or tiles (#103).
- Themes: the theme's colors on the site, custom colors and saved color sets (#101), a colored header bar, self-hosted fonts (#102).
- Header and layout: logo sizes, logo instead of title, hiding a page's title, column widths (#095–#097), logo at its own size and page width (#112), boxed columns (#113), icons in text (#114).
- A hand-made main menu with dropdowns (#111).
- Dates in the site's language (#098); new sites in their language (#104).
- Jekyll addresses keep working through redirects; wide logos; the site's own favicon.
- A foldable page tree, folded at first.
- Restoring the whole site from an earlier version (#082).
0.4.0 · 2026-10-22
- Link previews for social media and chat apps: Open Graph tags and a share image per page (#026).
- A site logo, in the header and as the browser-tab icon (#054); a new app icon (#080).
- Close site, back to the start screen (#021).
0.3.0 · 2026-10-21
- The name is now q.e.d., everywhere it's shown.
- The Publish dialog shows what changed since the last publish to that target (#079).
- Post list block and RSS feeds for blogs (#040).
0.2.0 · 2026-10-21
- Publishing asks for a short note on what's new (#079).
- New sites from the app, with a start page (#046, #056).
- Moving and renaming pages, with redirects from the old address and links updated everywhere (#046).
- Recent sites, switched from the title menu (#021, #055).
- Updates from GitHub releases, installed from within the app (#059).
0.1.0 · 2026-10-21
The first release of the desktop app (Rust, Tauri and Svelte), after an earlier start as a web app.
- Sites are folders:
site.toml, Markdown pages with blocks, media and downloads. Hand-written formatting survives saving. - A block editor with Text, Hero, Image, Text with image, Gallery, Download, FAQ, Columns (with blocks inside) and Call to action.
- A media library with an image picker; responsive images in several sizes.
- The site generator builds into
_site/, with a preview in the browser, menus, a sidebar, page icons and themes. - Publishing over SFTP, uploading only what changed.
- History with git: every save is recorded; deleted pages come back from Versions.
- Installers for macOS, Windows and Linux, built on GitHub.