-
v2026.6.16
StableAll checks were successfulsecurity-scan / Python SCA (pip-audit) (push) Successful in 54ssecurity-scan / JS SCA (npm audit) (push) Successful in 32ssecurity-scan / SBOM (trivy) (push) Successful in 14sCI / release-scripts (push) Successful in 8ssecurity-scan / Python SAST (bandit) (push) Successful in 31ssecurity-scan / Filesystem scan (trivy fs) (push) Successful in 19sCI / backend-test (push) Successful in 4m5sCI / frontend-test (push) Successful in 2m29sbuild-containers / build (backend) (push) Successful in 1m45sbuild-containers / build (frontend) (push) Successful in 1m48srelease / release (push) Successful in 24sCI / e2e (push) Successful in 4m7sCI / backend-test-postgres (push) Successful in 7m14sCI / pre-commit (pull_request) Successful in 41sbuild-containers / build (backend) (pull_request) Successful in 1m38sbuild-containers / build (frontend) (pull_request) Successful in 1m51sCI / release-scripts (pull_request) Successful in 9ssecurity-scan / Python SCA (pip-audit) (pull_request) Successful in 51ssecurity-scan / Python SAST (bandit) (pull_request) Successful in 30sCI / frontend-test (pull_request) Successful in 2m53sCI / e2e (pull_request) Successful in 3m28ssecurity-scan / JS SCA (npm audit) (pull_request) Successful in 36ssecurity-scan / SBOM (trivy) (pull_request) Successful in 15sCI / backend-test (pull_request) Successful in 4m39sCI / backend-test-postgres (pull_request) Successful in 6m47ssecurity-scan / Filesystem scan (trivy fs) (pull_request) Successful in 16sCI / pre-commit (push) Successful in 42sreleased this
2026-06-16 21:37:45 +00:00 | 407 commits to main since this releaseMeerdere Mattermost-servers koppelen
- Veel overheidsorganisaties draaien hun eigen Mattermost-instantie; je kunt
nu meerdere servers tegelijk koppelen, zodat berichten uit verschillende
organisaties samen in één Waggle-overzicht komen. Een community-server
ernaast werkt ook prima. Elke server heeft een eigen token, basis-URL en
status; de instellingen tonen ze als een lijst met per server token
vervangen, synchroniseren en loskoppelen. - Geef een server een eigen label; laat je het leeg, dan toont Waggle de host
van de basis-URL als naam. - Bij twee of meer gekoppelde servers krijgt de breadcrumb op een kaart de
server-naam voorop, zodat je ziet uit welke omgeving een bewaard bericht komt. - Synchronisatie is per server gescheiden: een verlopen token op de ene server
houdt het synchroniseren van een gezonde server niet langer tegen, en de
waarschuwingsbalk benoemt welke server opnieuw gekoppeld moet worden.
@-vermeldingen
- Een
@naamin een bewaard bericht of thread-reactie toont nu de echte
weergavenaam. Klik (of Enter) opent een kaartje met foto, functie en
een knop om de persoon in Mattermost te openen. Werkt met muis,
toetsenbord en schermlezer. Een onbekende of verwijderde gebruiker
blijft gewoon als@naamstaan. - Herkenning blijft binnen het kanaal van de kaart; namen worden alleen
kort lokaal onthouden en bij uitloggen gewist.
Onder de motorkap
Security & CI-hardening:
- De image-build-gate (
trivy imageop het gebouwde artefact) draait nu op
elke PR i.p.v. pas na merge: build + scan zonder push, zodat OS-package-CVE's
al vóór merge geblokkeerd worden. De frontend-runtime draait daarbij
apk upgrade(net als de backend alapt-get upgradedeed), zodat
gefixte base-OS-CVE's bij build-time meekomen i.p.v. te wachten op een
upstream-rebuild. - trivy fs scant nu ook misconfiguraties (Containerfile/compose) naast vuln
en secret, en de SBOM-generatie is van syft naar trivy verhuisd - één
CI-dependency minder. - CI authentiseert tegen ghcr.io (geen anonymous-pull rate-limit-flakes meer
op trivy/uv-pulls). Renovate draait via een nachtelijke Forgejo-runner met
OSV-alerts en een eigen snelle image-digest-lane, zodat base-image-CVE's
binnen een dag als PR verschijnen. Geen automerge. - nginx-base bijgewerkt naar de gepatchte digest met openssl 3.5.7-r0
(CVE-2026-45447, heap use-after-free inPKCS7_verify, HIGH); de trivy
image-scan-gate is daarmee weer groen.
Releases & CI-infra:
- Releases worden nu automatisch aangemaakt bij een CalVer-tag: de
release-notes komen uit de bijbehorende CHANGELOG-sectie, en de build faalt
bewust als die sectie ontbreekt of leeg is. - CI-actions grote versie-bumps:
actions/checkoutv4 -> v6.0.3,
actions/cachev3 -> v5,actions/setup-nodev4 -> v6.4.0 en de frontend
build-image vannode:20naarnode:24.16.0-alpine. - CI hergebruikt uv-, npm-, pre-commit- en Playwright-caches tussen runs;
~1-2 min sneller per build en minder netwerk-afhankelijk.
Afhankelijkheden:
- Backend Python 3.13 -> 3.14 (container, CI-tests en lockfile); dev-Postgres
16 -> 17, gelijk aan de engine op ZAD en op digest vastgezet. - Security-bumps tegen gepubliceerde CVE's: cryptography 46.0.7 -> 49.0.0
(GHSA-537c-gmf6-5ccf), python-multipart 0.0.28 -> 0.0.32
(CVE-2026-53537/53538/53539/53540), starlette 1.0.0 -> 1.3.1
(PYSEC-2026-161, CVE-2026-48817/48818, incl. de bijbehorende
deprecation-fix), idna 3.11 -> 3.15 (CVE-2026-45409) en cachetools 5.x ->
7.1.4. pip (dev-tooling) 26.1.1 -> 26.1.2 tegen PYSEC-2026-196, zodat de
fail-closed pip-audit-stap groen blijft. - Frontend: NLDD design-system 0.8.44 -> 0.8.56 - import-, export- en
account-verwijderen-knoppen tonen tijdens uitvoering een laad-indicator en
negeren een tweede klik (geen dubbele actie meer). eslint 9 -> 10
(no-useless-assignmentruimde drie overbodige initialisaties op), TipTap
3.22.5 -> 3.26.0 plus kleinere bumps.@types/dompurifyverwijderd -
DOMPurify levert sinds 3.0 eigen TypeScript-types. - Dev-tooling- en CI-bumps: uv 0.11.14 -> 0.11.19 (incl.
UV_SHA256), trivy
0.70 -> 0.71,@axe-core/cli4.11.2 -> 4.11.3 en Keycloak (dev) 26.0 ->
26.6; resterende CI-images vastgepind op digest. - Frontend-coverage zichtbaar via
@vitest/coverage-v8(just coverage+
CI-artefact; baseline 51%, geen drempel).
- Veel overheidsorganisaties draaien hun eigen Mattermost-instantie; je kunt
-
v2026.5.18
Stablereleased this
2026-05-18 05:03:24 +00:00 | 431 commits to main since this releaseOverig
- Bewaarde berichten die zijn opgehaald voordat de avatar-versiefunctie
bestond, tonen weer de echte profielfoto in plaats van de
initialen-fallback. - De sectiekop "Wacht op verzending" heeft nu dezelfde tekstgrootte als de
andere sectiekoppen, in zowel de inbox als de leeslijst.
Onder de motorkap
- Toeleveringsketen-hardening: GitHub Actions, container-basisimages en
de security-tools (trivy, syft, uv) in CI verankeren nu altijd op een
onveranderlijke hash - nooit meer een kaal versienummer. Trivy en uv
draaien waar mogelijk als digest-gepinde container; syft wordt
geverifieerd tegen een vooraf in de repo vastgelegde sha256. Wijkt een
hash af, dan stopt de build met een fout. Renovate houdt de digests
bij. Geen zichtbare wijziging. - De gedeelde Mattermost-clientfabriek valideert nu, net als het
avatar-pad, de opgeslagen server-URL tegen interne adressen
(verdediging-in-de-diepte; bestaande accounts waren al niet
kwetsbaar). Geen zichtbare wijziging.
- Bewaarde berichten die zijn opgehaald voordat de avatar-versiefunctie
-
v2026.5.17
Stablereleased this
2026-05-17 19:54:00 +00:00 | 435 commits to main since this release@-vermeldingen in antwoorden
- Je kunt in een antwoord collega's met
@vermelden. Typ@voor een
lijst van mensen uit het kanaal van de kaart - personen die je recent
hebt genoemd staan bovenaan - of typ door om gericht te zoeken. Je
mag ook een volledige naam met spatie typen, zodat je collega's met
dezelfde voornaam uit elkaar houdt. Alleen kanaalleden worden getoond;
staat er meer dan er past, dan meldt de lijst dat je verder kunt
typen. - Heeft iemand geen avatar, dan toont de lijst diens initialen. De lijst
is volledig met het toetsenbord te bedienen en voor schermlezers
toegankelijk (gepind kopje, aangekondigde status, zichtbare selectie).
Weergave van threads en kaarten
- Lange threads blijven leesbaar: het oorspronkelijke bericht plakt niet
meer bovenaan, maar scrollt mee met de reacties - een lang bericht duwt
de reacties niet langer weg. - De kaartdetail-weergave benut de schermhoogte beter en houdt op grote
schermen een vaste, kleine rand aan in plaats van veel loze ruimte. - Een duidelijke scheidingslijn tussen het oorspronkelijke bericht en de
reacties. - Kaarten in de leeslijst hebben meer ademruimte op desktop en een
prettiger regellengte; de lijst en de detailweergave hebben nu een
consistente, leesbare breedte. - De leeslijst heeft nu exact dezelfde breedte als de inbox en het
zoekveld erboven. - Het bericht in de kaartdetail-modal breekt nu ongeveer op hetzelfde
punt af als in de lijst.
Mobiel scrollen en slepen
- Op iOS Safari springt de leeslijst niet meer naar boven tijdens
scrollen, bij een snelle actie (gelezen of voltooien) of bij het
herordenen van kaarten. - Kaarten herordenen met slepen selecteert niet langer per ongeluk de
tekst eronder. - De pagina verspringt niet meer wanneer de Safari-adresbalk in- of
uitschuift.
Overig
- Emoji-reacties tonen Mattermost-shortcodes nu correct; de reactie-knop
is compacter. - De bubble-up-status wordt server-side bepaald, wat 'm betrouwbaarder
maakt rond tijdzone- en middernachtgrenzen. - De avatar-fallback in de leeslijst is robuuster: geen verspringende
layout meer en geen losse DOM-manipulatie. - Vet en doorhalen werken nu ook met de Mattermost-schrijfwijze, met een
spatie net binnen de markeertekens (**woord **,~~woord ~~); eerder
bleven de tekens dan letterlijk staan. - Vetgedrukte tekst is zwaarder gezet, zodat het duidelijker opvalt.
- Het "Wacht op verzending"-icoon wijst nu vooruit in plaats van terug, en
de knop om de herstelcode te kopiëren heeft een icoon gekregen. - Het Waggle-menu en optioneel het zoekveld blijven nu bovenaan in
beeld tijdens het scrollen op Focus en de leeslijst.
Onder de motorkap
- De instellingenpagina gebruikt nu hetzelfde scroll- en
sticky-mechanisme als de overige pagina's. - De volledige-hoogte-paginaopmaak staat nu in één gedeelde class in
plaats van per pagina herhaald. Idem voor de iOS-Safari-veilige
full-height-stijl. - Het NLDD-design-system is bijgewerkt naar 0.8.44; codeblokken gebruiken
nu het JetBrains Mono-lettertype en enkele iconen zijn hertekend. - De scheidingslijn in de verzendknop blijft subtiel zichtbaar in
uitgeschakelde staat, en de lettertype-fallbacks in de tokens verwijzen
weer naar de juiste namen (RijksSans, JetBrains Mono). - Wijzigt iemand zijn Mattermost-profielfoto, dan tonen we voortaan de
nieuwe foto in plaats van een verouderde uit de browsercache: de
avatar-URL bevat nu een versiemarkering die met de foto meeverandert. - Ongebruikte board-/Kanban-sleepcode (
useBoardDnd) verwijderd en de
resterende Kanban-verwijzingen (verouderde comments, een onjuiste
release-notitie) opgeschoond: de Kanban-weergave staat niet meer op de
roadmap en de code was nergens gekoppeld. Geen zichtbare wijziging. - Ontwikkelaarsmodus: een dev-login-knop (alleen zichtbaar als
synthetic-auth aanstaat) en een dev-seed voor realistische lokale
testdata, met harde beveiliging tegen draaien tegen productie. Deze
dev-hulpmiddelen zitten niet in de productie-build. De norm voor
testdata staat nu in de projectdocumentatie. - Inbox en leeslijst delen nu een kaart- en lijst-implementatie in
plaats van twee bijna-identieke kopieen; weergave en gedrag zijn
ongewijzigd.
- Je kunt in een antwoord collega's met
-
v2026.5.12 Stable
released this
2026-05-16 22:23:26 +00:00 | 455 commits to main since this releaseEerste publieke release. Een persoonlijk command-centrum voor je gevlaggede
Mattermost-berichten. Iedereen die via Keycloak inlogt krijgt een eigen,
afgeschermde werkruimte; er zijn geen rollen of beheerderstooling.Je berichten ordenen
- Een focus-overzicht met zes secties - Doe nu, Wacht op verzending, Nieuw,
Backlog, Later oppakken en Voltooid - plus een aparte leeslijst voor
referentiemateriaal. - Kaarten tussen secties slepen; je volgorde blijft bewaard.
- Een "Nieuw"-markering op berichten die je nog niet hebt bekeken.
- Een detailweergave per kaart met de threadcontext, bijlagen, je notities
en een antwoordveld. - Snelacties per kaart: nu oppakken, afronden, uitstellen naar later, een notitie
maken of antwoorden.
Mattermost-koppeling
- Tweerichtingssynchronisatie van je gevlaggede berichten: ze worden
opgehaald, en als je een kaart afrondt wordt het bericht in Mattermost
automatisch ge-unsaved (met automatische herhaalpogingen). Andersom
geldt ook: haal je de vlag weg in Mattermost zelf, dan wordt de kaart
hier voltooid. - Koppelen kan met een persoonlijk toegangstoken (voorkeur) of met je
browser-sessiecookie, voor omgevingen waar tokens uitstaan (o.a.
Digilab). - Tokens worden versleuteld opgeslagen.
- Automatisch synchroniseren op een instelbaar interval (1 tot 60 minuten,
standaard elke 5 minuten). - Avatars en bestanden lopen via de server, zodat je Mattermost-
inloggegevens nooit in de browser belanden. - Per kaart de volledige thread inzien, met een verwijzing naar het
oorspronkelijke kanaal.
Antwoorden en plannen
- Een tekstverwerker met emoji- en kaomoji-suggesties.
- Emoji-reacties toevoegen en verwijderen.
- Bijlagen meesturen bij een antwoord.
- Een concept-antwoord per kaart bewaren voor later.
- Berichten inplannen voor latere verzending, met een aparte wachtrij.
Account en instellingen
- Een instellingenpagina voor je account, synchronisatie, Mattermost-
koppeling, export en voorkeuren. - Je eigen gegevens exporteren en weer importeren als versleuteld bestand,
beveiligd met een herstelsleutel. - Je account verwijderen, met een duidelijke bevestigingsstap.
- Een donker en licht thema, en volledige bediening met het toetsenbord.
Inloggen en sessie
- Inloggen via Keycloak (single sign-on).
- Je sessie blijft tot zeven dagen geldig en wordt bij gebruik vanzelf
verlengd. Daarna log je opnieuw in zonder wachtwoordprompt zolang je
Keycloak-sessie nog loopt. - Centrale uitlog-afhandeling, zodat een sessie ook van buitenaf kan
worden beëindigd.
Onder de motorkap
- Beveiliging: snelheidsbegrenzing tegen brute force, CSRF-bescherming en
beveiligingsheaders. - Een auditlogboek van beveiligingsrelevante gebeurtenissen, standaard 90
dagen bewaard. - Een statusbanner in de interface wanneer de server of Mattermost
onbereikbaar is. - Postgres in productie, SQLite voor lokale ontwikkeling.
- Te installeren als progressive web app (PWA).
- Een focus-overzicht met zes secties - Doe nu, Wacht op verzending, Nieuw,