Stream
Every series on one timeline.
Changelog · Kolofon · 16 September 2026 · provisional

0.13.17 — counters without zeros
Two counters on the entry page stop showing discouraging zeros. The view counter appears only from the tenth view; the comments section loses its count line — comments show only when there are any.
Read →Changelog · Kolofon · 14 September 2026 · provisional

0.13.16 — an account page without prices
Two tiles opened the sign-in form: a free one with a struck-through price, and a greyed-out paid one marked “coming soon”. A price list in front of the address field asks the reader to settle the cost before they understand what the account is for.
Read →Changelog · Kolofon · 13 September 2026 · provisional

0.13.15 — search results you can actually see
Results were appended below the field with no motion and no scroll. On a phone that looked like a broken button — the list sat below the fold and the page stayed put.
Read →Changelog · Kolofon · 13 September 2026 · provisional

0.13.14 — the example list takes a frozen array
The string added in 0.13.13 was typed `string[]`, while instance config sits behind `as const`. The first instance that wanted to use the list failed the type check.
Read →Changelog · Kolofon · 13 September 2026 · provisional

0.13.13 — the search hint types itself
Semantic search wants a sentence, and an empty field looks like every other search box on the internet — so it gets a word. Instead of asking for a sentence in words, the engine now shows one, typing itself.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.13.5 — a fourth skin: atelier
The brief fit in one sentence: clean white, elegant, with touches of brushed copper and bottle green. The engine got a fourth skin and not a single new component.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.13.4 — back to the default version
Switching to English worked. Switching back to Polish did not: the server read the language from the Referer header and sent the reader back to /en.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.13.3 — R2 media under the prefix
A recording under /en/audio/… returned 404. The router strips the prefix from what it sees, but the media route read its key from the request itself.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.13.2 — no engine name in the browser
An instance can choose not to credit the engine. The footer credit went away, and since 0.9.0 so did the name in the bundle — but it stayed in class names, events and a header nobody read.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.13.1 — the migration creates its own column
The 0.13.0 migration was meant to give pre-release events a language. In production it did not: the column is created by another module, and that one wakes up later.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.13.0 — two languages, one deployment
Up to 0.12 a language version was a separate instance: its own subdomain, repository and database. From 0.13.0 one deployment serves several versions — the folder decides an entry's language, the path prefix decides the page's.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.12.0 — the themes release
The number moves from 0.11 to 0.12 because the way the engine is used has changed, not merely how it behaves. An instance declares a theme and a few settings; the engine does the rest.
Read →Changelog · Kolofon · 11 September 2026 · provisional

0.11.69 – 0.11.78 — themes, instance settings and a nudge about notifications
Ten releases in two days. A third theme, five new fields in instance configuration, a notification prompt, and one fix in propagation that only surfaced on the second release in a row.
Read →Changelog · Kolofon · 10 September 2026 · provisional

0.11.40 – 0.11.68 — twenty-nine releases, one entry
The changelog stopped on 8 September and stayed there for three days while the engine kept moving. Rather than twenty-nine entries written backwards, here is one that says what actually changed.
Read →Changelog · Kolofon · 8 September 2026 · provisional

0.11.39 — a login that is not a case number
A new account was given a login along the lines of p_anon4720. It reveals nothing and is unambiguous — it just stands under the first comment, before the reader has had a chance to name themselves.
Read →Changelog · Kolofon · 8 September 2026 · provisional

0.11.38 — a series withdrawn
Hiding a series had two degrees and both left its own address standing. The third takes the address too — while keeping the way back to a single deleted field.
Read →Changelog · Kolofon · 8 September 2026 · provisional

0.11.37 — a dot without alarm
The marker for things not yet looked at glowed red. Red in an interface means something is wrong — and nothing was wrong here, something had simply arrived.
Read →Changelog · Kolofon · 8 September 2026 · provisional

0.11.36 — an address is not a person
The event log knew nothing but the IP address. A mobile address changes daily, and a whole household sits behind one home connection — so counting addresses was not counting people.
Read →Changelog · Kolofon · 8 September 2026 · provisional

0.11.35 — the guard that stopped failing
The header test died with ERR_MODULE_NOT_FOUND, because it needs playwright and playwright is not among the dependencies. A guard that always fails teaches you that guard failures are to be ignored.
Read →Changelog · Kolofon · 8 September 2026 · provisional

0.11.34 — the address that never arrived
The function issuing the login link took the client address from an optional parameter its caller never passed. The empty column in the database was the milder of two consequences.
Read →Changelog · Kolofon · 8 September 2026 · provisional

0.11.33 — formatting the sources
The engine had no formatter configuration of its own and wrapped at eighty columns, while every instance had one and wrapped at a hundred. As long as nobody formatted anything, it did not show.
Read →Changelog · Kolofon · 7 September 2026 · provisional

0.11.29 — a login that is also a pen name
A reader now receives a login while the account is being created, not afterwards. A machine assigns it — the first letter of the address, an underscore, `anon` and four digits — and the reader trades it for their own whenever they feel like it.
Read →Changelog · Kolofon · 7 September 2026 · provisional

0.11.32 — the name on top, the identity below
The account page opened with “Signed in as” and an email address. The address is the account's identity, but the reader's name is their login — and the login is what everybody else sees.
Read →Changelog · Kolofon · 7 September 2026 · provisional

0.11.31 — “allowed to choose” is not “exists”
The sign-in form refused a login it had assigned itself. It was checking it with the very function that guards what a reader may not choose — and an assigned login is precisely what a reader may not choose.
Read →
