-
v0.16.0
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 7m40sCI / Build container images (pull_request) Successful in 1m21sCI / Auth e2e pack (pull_request) Successful in 9m30sCI / Import/export fidelity gate (pull_request) Successful in 56sCD / Build and push images (push) Successful in 16sCD / Deploy to Test (push) Successful in 14sCD / Smoke tests against Test (push) Successful in 1m21sCD / Promote to Int (push) Successful in 11sCI / Lint, typecheck, test (push) Successful in 6m55sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 9m19sCI / Import/export fidelity gate (push) Successful in 57sRelease / Build release images and notes (push) Successful in 2m44sRelease / Release-candidate operations QA (push) Successful in 42sProd deploy / Deploy the released images to Prod (push) Successful in 15sreleased this
2026-08-15 21:32:25 +02:00 | 1 commits to main since this releaseChanges since v0.15.0
- Recognize Markdown tables on paste and while typing (#339)
- Word-style Tab navigation in tables with an accessible exit (#338)
- Merge and split table cells (#337)
- Unambiguous delete row/column toolbar icons (#336)
- Gap cursor for block-edge positions (#335)
No database migrations in this release.
Downloads
-
v0.15.0
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 6m52sCI / Auth e2e pack (pull_request) Successful in 9m36sCI / Import/export fidelity gate (pull_request) Successful in 58sCI / Build container images (pull_request) Successful in 1m14sCD / Build and push images (push) Successful in 16sCD / Deploy to Test (push) Successful in 16sCD / Smoke tests against Test (push) Successful in 1m26sCD / Promote to Int (push) Successful in 12sCI / Lint, typecheck, test (push) Successful in 7m0sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 9m19sCI / Import/export fidelity gate (push) Successful in 59sRelease / Build release images and notes (push) Successful in 2m54sRelease / Release-candidate operations QA (push) Successful in 49sProd deploy / Deploy the released images to Prod (push) Successful in 19sreleased this
2026-08-05 13:06:32 +02:00 | 6 commits to main since this releaseChanges since v0.14.0
- settings-nav fence: 10 sections since the invitations section (#332)
- Invitation flow with per-user quota (#332)
- Admin can create user accounts directly (#331)
- Quota override cell stays a table cell, flex on an inner wrapper (#329)
- Self-hosting findings: URL-safe password advice, operator-readable pre-seed errors (#324, #325)
- Document title follows the configured instance name (#323)
- Follow the field rename in vs-nfd-marking locators
- Fix admin general settings form: dot-free field names, flat PATCH keys (#322)
- Refresh the self-hosting guide for the first public release (#320)
⚠️ migration — this release applies database migrations automatically at api start. Downgrade window: one minor release (docs/self-hosting).
Downloads
-
v0.14.0
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 6m45sCI / Build container images (pull_request) Successful in 2m51sCI / Auth e2e pack (pull_request) Successful in 8m54sCI / Import/export fidelity gate (pull_request) Successful in 58sCD / Build and push images (push) Successful in 15sCD / Deploy to Test (push) Successful in 16sCD / Smoke tests against Test (push) Successful in 1m17sCD / Promote to Int (push) Successful in 13sCI / Lint, typecheck, test (push) Successful in 6m52sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 8m43sRelease / Build release images and notes (push) Successful in 2m48sCI / Import/export fidelity gate (push) Successful in 56sRelease / Release-candidate operations QA (push) Successful in 56sProd deploy / Deploy the released images to Prod (push) Successful in 17sreleased this
2026-08-02 14:01:14 +02:00 | 15 commits to main since this releaseChanges since v0.13.0
- test: give the 10k-iteration sort-key property test its own timeout
- #307: pond-level branding overrides the instance logo and favicon
- #305: a full pond archive before deletion and before purge
- #179: negotiate the SPA shell's lang attribute in nginx
- #306: instance branding — logo and favicon, cropped in the browser
- #304: scope the legal spec's status locator to its own form
- #304: declare the font-list route's access rule explicitly
- #304: custom fonts in the pickers, an admin screen, and the licence page
- #303 follow-up: the fonts volume must mount node-owned
- #303: operator-uploaded fonts — storage, API, PDF embedding, backup
- #301: reset the login rate limit before the VS-NfD packs
- #301: the token tables need the same scroll wrapper
- #301: sort the reflow report so the culprit cannot be buried
- #301: the overflow was an escaping visually-hidden heading
- #301: dump raw box metrics from the reflow guard
- #301: make the reflow guard report the ancestor chain
- #301: the real culprit was the jump nav, not the wide content
- #301: stop /settings scrolling horizontally at 320px
- #302: the vault import test reaches its page through the sidebar
- #302: the permission matrix counts the start page
- #302: configurable pond start page, created with every new pond
- #300: route icon-only controls through IconButton/IconLink
⚠️ migration — this release applies database migrations automatically at api start. Downgrade window: one minor release (docs/self-hosting).
Downloads
-
v0.13.0
StableAll checks were successfulCD / Smoke tests against Test (push) Successful in 1m25sCD / Promote to Int (push) Successful in 12sRelease / Build release images and notes (push) Successful in 3m31sRelease / Release-candidate operations QA (push) Successful in 46sCI / Build container images (push) Has been skippedProd deploy / Deploy the released images to Prod (push) Successful in 58sCI / Import/export fidelity gate (push) Successful in 59sCI / Lint, typecheck, test (push) Successful in 6m40sCI / Auth e2e pack (push) Successful in 8m21sRestore drill / Restore the latest backup into a scratch stack (push) Successful in 1m18sCI / Build container images (pull_request) Successful in 2m53sCI / Auth e2e pack (pull_request) Successful in 8m34sCI / Lint, typecheck, test (pull_request) Successful in 6m22sCI / Import/export fidelity gate (pull_request) Successful in 59sCD / Build and push images (push) Successful in 19sCD / Deploy to Test (push) Successful in 14sreleased this
2026-07-31 23:03:03 +02:00 | 37 commits to main since this releaseChanges since v0.12.0
- #296: remove the unsubscribe-token dual-verify window early
- #232: plugin allowlist with SHA-256 hash pinning
- ADRs 0019-0027: accepted after explicit operator review (2026-07-31)
- #246: mode enforced — reject profile-violating configuration writes
- #245: mode hidden — hide profile-violating options, mark the hiding
- #244: mode marked — flag profile-violating configuration in the UI
- #243: VS_NFD_MODE and the machine-readable hardening-profile catalog
- #221: offline update path incl. migrations, rehearsed with rollback
- #220: protocol of the isolated deployment run
- #288: reset schema before pg_restore — partitioned tables broke --clean
- #219: verified reproducible build without network access
- #218: mirror procedure into an internal registry
- #217: map IdP groups and roles onto the permission model
- #216: hard AUTH_LOCAL_ENABLED switch over every local credential flow
- #215: trusted reverse-proxy header / mTLS client-certificate path
- #214: OIDC Authorization Code with PKCE, Keycloak as reference IdP
- #225: read-trail master switch and written purpose limitation
- #224: read-trail storage — partitioning, retention, admin query path
- #223: dedup window for the read trail
- #222: read-access trail for classified pages
- #230: IT-Grundschutz mapping for APP.3.1 and CON.11.1
- #231: residual-risk list
- #227: hardening guide with the VS-NfD reference configuration
- #229: operations manual (install, update, backup/restore, deletion, roles)
- #228: security documentation (architecture, data flows, network plan)
- #213: warn on uploads to classified pages; instance policy can block
- #212: mark attachment downloads by filename prefix and companion file
- #211: classification through feeds, public API, search and the no-JS shell
- #210: mark the Markdown ZIP export with frontmatter, imprint and manifest
- #209: pandoc reference documents carry the VS-NfD marking for DOCX/ODT
- #208: VS-NfD marking in the Gotenberg per-page header and footer
- #207: print stylesheet with the classification on every printed sheet
- #206: show the VS-NfD marking in web view header and footer
- #205: classification inherits down the tree; lowering is a guarded, audited act
- #204: classification as first-class page metadata (ADR 0022)
- #203: pin all third-party deploy images by digest
- #201: stable audit event catalogue for syslog/SIEM export
- #200: hard instance-wide plugins.enabled kill switch
- #199: SHA-256 integrity hashes for attachments
- #202: SBOM and license report in CI
- #236: also pin the node helper images in workflows
- #236: pin the Node version
- #235: keep page_links rows pointing at purged pages — recorded decision
- #234: retention for mail_outbox
- #233: prune conversion job payloads for every job kind
- #198: CI fence — no tracked .env or secret material, example is authoritative
- #197: security response headers and an explicitly restrictive CORS policy
- #196: audit-trail retention job
- #195: trashed content leaves the search index itself
- adjust the maintenance-job count fence: 6 jobs with the orphan sweep
- #194: orphan-file sweep, drop the unused Attachment.deletedAt
- #193: pond purge — retention job and manual Site-Admin endpoint
- #192: deploy-level backup target allowlist
- #191: feeds.enabled instance switch, feed-token log masking
- #190: configurable session lifetime with a server-side idle timeout
- fix flaky tampered-token test: flip a significant signature character
- #189: make the CSRF origin check fail closed
- #188: purpose-bound token keys via HKDF, jose replaces the homegrown JWT
- #226: add the §52 VSA delimitation statement
- docs: VS-NfD readiness planning (ist-aufnahme, plan, ADRs 0019-0026, issue drafts)
⚠️ migration — this release applies database migrations automatically at api start. Downgrade window: one minor release (docs/self-hosting).
Downloads
-
v0.12.0
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 4m44sCI / Build container images (pull_request) Successful in 4m2sCI / Auth e2e pack (pull_request) Successful in 10m50sCI / Import/export fidelity gate (pull_request) Successful in 55sCD / Build and push images (push) Successful in 19sCD / Deploy to Test (push) Successful in 17sCD / Smoke tests against Test (push) Successful in 4m2sCI / Lint, typecheck, test (push) Successful in 4m47sCI / Build container images (push) Has been skippedCD / Promote to Int (push) Successful in 14sCI / Auth e2e pack (push) Successful in 10m7sCI / Import/export fidelity gate (push) Successful in 56sRelease / Build release images and notes (push) Successful in 1m11sRelease / Release-candidate operations QA (push) Successful in 1m0sProd deploy / Deploy the released images to Prod (push) Successful in 17sreleased this
2026-07-29 09:09:36 +02:00 | 97 commits to main since this releaseChanges since v0.11.1
- #186: pond accent theming — scoped derivation, cascade pond > user > default
- #184: user accent theming — presets and free color as one mechanism
- #184: shared accent engine — WCAG-conforming tokens by construction
- #182: top-bar theme toggle — cycle light/dark/system without a menu
- #180: settings jump-nav fence — nine sections since the Appearance section
- #180: dark-mode test fence, both-scheme a11y pack, theme e2e, ADR 0018
- #180: dark mode — Light/Dark/System setting with token-based dark palette
- #180: promote remaining hardcoded base.css colors to design tokens
No database migrations in this release.
Downloads
-
v0.11.1
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 4m39sCI / Build container images (pull_request) Successful in 1m10sCI / Auth e2e pack (pull_request) Successful in 7m43sCI / Import/export fidelity gate (pull_request) Successful in 56sCD / Build and push images (push) Successful in 18sCD / Deploy to Test (push) Successful in 13sCD / Smoke tests against Test (push) Successful in 1m14sCD / Promote to Int (push) Successful in 11sCI / Lint, typecheck, test (push) Successful in 4m50sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 7m24sCI / Import/export fidelity gate (push) Successful in 55sRelease / Build release images and notes (push) Successful in 1m11sRelease / Release-candidate operations QA (push) Successful in 45sProd deploy / Deploy the released images to Prod (push) Successful in 16sreleased this
2026-07-27 13:36:27 +02:00 | 105 commits to main since this releaseChanges since v0.11.0
- #177: Admin-Personenliste — Aktions-Zelle bleibt Table-Cell, Flex auf Innen-Wrapper
- #175: Admin-Personenliste — Aktions-Icons statt Textlinks, Reihenfolge Admin/Deaktivieren/Löschen
No database migrations in this release.
Downloads
-
v0.11.0
StableAll checks were successfulCD / Build and push images (push) Successful in 1m12sCD / Deploy to Test (push) Successful in 11sCD / Smoke tests against Test (push) Successful in 1m13sCD / Promote to Int (push) Successful in 11sCI / Lint, typecheck, test (push) Successful in 4m45sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 7m15sCI / Import/export fidelity gate (push) Successful in 56sRelease / Build release images and notes (push) Successful in 1m11sRelease / Release-candidate operations QA (push) Successful in 44sProd deploy / Deploy the released images to Prod (push) Successful in 16sreleased this
2026-07-21 18:13:22 +02:00 | 107 commits to main since this releaseChanges since v0.10.1
- docs: ADR 0017 — Barrierefreiheit als Standard-Anforderung
- #171: A11y-Tooling — axe-Smoke-Pack in CI
- #170: Statusmeldungen, Einzeltasten-Shortcuts, Bewegung
- #169: Nicht-Text-Inhalte — Task-Checkboxen, Wissensgraph
- #168: Formulare — Fehler-Verdrahtung und Namenslücken
- #167: Farbkontraste — Dark-Shell, Wikilink-Unterstreichung, Feld-Ränder
- #166: Skip-Link, verstecktes Seiten-h1, Resizer in die Nav-Landmarke
- #165: Reflow bei 320 px und Tastatur-Scrollbarkeit
- #164: ARIA-Semantik — Editorfläche, Autocomplete-Listboxen, Sidebar, Toolbar
- #163: Dokumentsprache und Seitentitel der SPA
- #162: Fokus-Management für Dialoge und Such-Palette
No database migrations in this release.
Downloads
-
v0.10.1
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 4m39sCI / Build container images (pull_request) Successful in 1m29sCI / Auth e2e pack (pull_request) Successful in 7m22sCI / Import/export fidelity gate (pull_request) Successful in 55sCD / Build and push images (push) Successful in 18sCD / Deploy to Test (push) Successful in 13sCD / Smoke tests against Test (push) Successful in 1m16sCD / Promote to Int (push) Successful in 11sRelease / Build release images and notes (push) Successful in 1m9sCI / Lint, typecheck, test (push) Successful in 4m48sCI / Build container images (push) Has been skippedRelease / Release-candidate operations QA (push) Successful in 52sProd deploy / Deploy the released images to Prod (push) Successful in 18sCI / Auth e2e pack (push) Successful in 7m2sCI / Import/export fidelity gate (push) Successful in 54sreleased this
2026-07-20 21:54:50 +02:00 | 118 commits to main since this releaseChanges since v0.10.0
- #160: Plugin-Block — Bearbeiten-Knopf nach Moduswechsel wieder da
No database migrations in this release.
Downloads
-
v0.10.0
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 5m30sCI / Build container images (pull_request) Successful in 10sCI / Auth e2e pack (pull_request) Successful in 7m39sCI / Import/export fidelity gate (pull_request) Successful in 56sCD / Build and push images (push) Successful in 17sCD / Deploy to Test (push) Successful in 14sCD / Smoke tests against Test (push) Successful in 1m14sCD / Promote to Int (push) Successful in 10sCI / Lint, typecheck, test (push) Successful in 4m46sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 7m1sCI / Import/export fidelity gate (push) Successful in 54sRelease / Build release images and notes (push) Successful in 1m11sRelease / Release-candidate operations QA (push) Successful in 44sProd deploy / Deploy the released images to Prod (push) Successful in 15sreleased this
2026-07-20 02:11:36 +02:00 | 119 commits to main since this releaseChanges since v0.9.2
- #155: ChordPro-Plugin — Akkordblätter/Leadsheets als Block
- settings-nav robust: Sofort-Sprung statt Smooth-Scroll, Spec wartet auf networkidle
- e2e-Fixes nach CI: section-styles-Selektor eindeutig, settings-nav-Timing
- #151: Mention-Benachrichtigungen über die Glocke
- #154: Aufgabenübersicht als Kern-Block (Seite + Unterseiten)
- #153: Stabile Task-IDs + Toggle-Rückschreibpfad über den Collab-Server
- #152: Datums-Marker >> (Zieldatum) / << (Startdatum)
- #150: @-Mentions — Inline-Node, instanzweite User-Suche, Autocomplete
- #149: Atom-Feeds für Teiche und Seiten, privat via Feed-Token
- #147: Eigene Identität in der API klar dokumentiert
- #148: Seitenlisten filtern nach createdSince/updatedSince
- #145: Einstellungsseiten mit Sektions-Sprungnavigation
- #146: Transparente Einbettung $Seite ohne Rahmen und Titel
⚠️ migration — this release applies database migrations automatically at api start. Downgrade window: one minor release (docs/self-hosting).
Downloads
-
v0.9.2
StableAll checks were successfulCI / Lint, typecheck, test (pull_request) Successful in 4m55sCI / Build container images (pull_request) Successful in 1m5sCI / Auth e2e pack (pull_request) Successful in 6m52sCI / Import/export fidelity gate (pull_request) Successful in 53sCD / Build and push images (push) Successful in 16sCD / Deploy to Test (push) Successful in 16sRelease / Build release images and notes (push) Successful in 1m17sCD / Smoke tests against Test (push) Successful in 1m15sRelease / Release-candidate operations QA (push) Successful in 49sCD / Promote to Int (push) Successful in 11sProd deploy / Deploy the released images to Prod (push) Successful in 15sCI / Lint, typecheck, test (push) Successful in 4m36sCI / Build container images (push) Has been skippedCI / Auth e2e pack (push) Successful in 6m46sCI / Import/export fidelity gate (push) Successful in 54sreleased this
2026-07-19 23:02:27 +02:00 | 132 commits to main since this releaseChanges since v0.9.1
- Tutorial K19: Screenshot von Nadias Bühnenplan (Excalidraw) ergänzt
- Public-Ansicht: Plugin-Fallback-SVGs auf Containerbreite skalieren
No database migrations in this release.
Downloads