-
v2026.6.28
StableAll checks were successfulCI / pre-commit (pull_request) Successful in 1m19sCI / release-scripts (pull_request) Successful in 11ssecurity-scan / Python SCA (pip-audit) (pull_request) Successful in 1m2ssecurity-scan / Python SAST (bandit) (pull_request) Successful in 42ssecurity-scan / JS SCA (npm audit) (pull_request) Successful in 48ssecurity-scan / Filesystem scan (trivy fs) (pull_request) Successful in 25sCI / frontend-test (pull_request) Successful in 4m39ssecurity-scan / SBOM (trivy) (pull_request) Successful in 20stest-build / build (backend) (pull_request) Successful in 2m12stest-build / build (pull_request) Successful in 0stest-build / build (frontend) (pull_request) Successful in 2m36sCI / backend-test (pull_request) Successful in 8m14sCI / backend-test-postgres (pull_request) Successful in 9m17sCI / pre-commit (push) Successful in 1m17sCI / e2e (pull_request) Successful in 5m55sCI / release-scripts (push) Successful in 11spublish-main / build (backend) (push) Successful in 2m24sCI / frontend-test (push) Successful in 4m52ssecurity-scan / Python SCA (pip-audit) (push) Successful in 1m3ssecurity-scan / SBOM (trivy) (push) Successful in 17sCI / backend-test-postgres (push) Successful in 9m27spublish-main / build (frontend) (push) Successful in 2m45spublish-main / build (push) Successful in 0ssecurity-scan / Python SAST (bandit) (push) Successful in 42ssecurity-scan / Filesystem scan (trivy fs) (push) Successful in 25ssecurity-scan / JS SCA (npm audit) (push) Successful in 43sCI / backend-test (push) Successful in 8m31srelease-and-deploy / release (push) Successful in 35srelease-and-deploy / pre-commit (push) Successful in 1m19srelease-and-deploy / build (backend) (push) Successful in 2m28srelease-and-deploy / build (frontend) (push) Successful in 2m40srelease-and-deploy / build (push) Successful in 0srelease-and-deploy / release-scripts (push) Successful in 11srelease-and-deploy / frontend-test (push) Successful in 5m23srelease-and-deploy / backend-test (push) Successful in 9m32sCI / e2e (push) Successful in 8m28srelease-and-deploy / backend-test-postgres (push) Successful in 9m54srelease-and-deploy / e2e (push) Successful in 5m42srelease-and-deploy / ci (push) Successful in 0srelease-and-deploy / deploy (push) Successful in 2m4sreleased this
2026-06-28 21:39:44 +00:00 | 93 commits to main since this releaseVerbeteringen aan de editor
- De antwoord-composer en notities-editor heeft nu een opmaak-werkbalk. De basis
bestaat uit een Paragraaf/Kop 1-6-dropdown, vet, cursief, doorhalen, code,
opsomming, genummerde lijst, citaat en codeblok en links.
Voor de antwoord-composer aanvullend nog een bijlage- en emoji-knop. Voor de
notities-editor een onderstrepen, takenlijst en highlight opties. Ctrl/Cmd+Kopent een inline link-balk: typ of plak een URL voor de selectie,
of pas een bestaande link aan / verwijder 'm. Geenwindow.promptmeer; de
sneltoets-hint toont platform-bewust (Cmd op Mac, Ctrl elders).- Strakkere horizontale marges zodat de editor de beschikbare breedte beter
benut.
Reacties en custom emojis
- Hover of focus op een emoji-reactie toont nu wie er reageerden (avatar +
naam), met "Jij" bovenaan voor je eigen reactie. - Eigen Mattermost-emoji (custom emoticons) worden nu als afbeelding getoond, zowel
in reacties als in berichttekst; onbekende codes vallen terug op:naam:.
Verbeterd
- Importeren: het bestand kies je nu via een gestylede sleepzone (slepen of
klikken) die de gekozen bestandsnaam toont en een ongeldig bestand duidelijk
als fout markeert, in plaats van de kale native bestand-knop. - Home/End springen nu naar de eerste/laatste kaart binnen een sectie (Focus en
leeslijst), als aanvulling op de pijltjestoetsen.
Opgelost
- Een geopende kaart-modal (en de afbeelding-lightbox) vergrendelt nu de
achtergrond-scroll, zodat de pagina eronder niet meer wegscrolt. - Verzonden/getoonde berichten gebruiken nu dezelfde rustige koppen-schaal als de
editor (Kop 1 bescheiden, Kop 5/6 niet kleiner dan bodytekst) i.p.v. de grote
browser-default. - Een getypte markdown-link
[tekst](url)werd ontsnapt verstuurd
(\[tekst\](url)) en kwam in Mattermost als platte tekst aan; nu wordt het
bij het typen een echte link en als schone markdown verstuurd. - Afbeelding-previews in de Inbox- en leeslijst-stream worden weer getoond.
- De bubble-up-popover opende buiten beeld bij een gescrolde pagina (o.a. een
lange kaart in de modal); staat nu correct boven de knop.
Design-system opfrissing
- De reageerders- en mention-profiel-popovers zijn herbouwd op het
NLDD-popover-component (consistente styling, top-layer-positionering en
light-dismiss); de reageerders-lijst opent links onder de badge. - Statuslabels (concept/ingepland, de "Wacht op verzending"-telling, "Bubbled
up", "Verschijnt over ...") gebruiken nu de design-system-tag: beter leesbaar,
AA-contrast in licht en donker, geen HOOFDLETTERS meer. - Im-/export tonen een laad-indicator over het paneel bij acties langer dan een
seconde; de invoer is dan vergrendeld. Korte acties tonen niets. - Een thread laden toont nu een laad-animatie naast de tekst.
- De "/"-zoeksneltoets staat als toetsenbord-hint in het menu (verborgen op
apparaten zonder toetsenbord). - Op smalle schermen klapt de bron-breadcrumb op een kaart in tot
… > kanaal;
de…opent server + team in een dropdown. Lange kanaalnamen kappen af met
een ellipsis, zodat de kaart-acties niet meer buiten de kaart vallen. - De geplande/mislukte-berichten-lijst stapelt op smalle schermen in één kolom
(tijd, bericht, acties onder elkaar) i.p.v. een vaste 3-koloms-grid die de
inhoud buiten de kaart duwde.
Onder de motorkap
- ZAD-productie wordt automatisch (her)deployed bij een CalVer-tag via
release-and-deploy.yaml(build -> release -> deploy; deploy draait alleen na
een geslaagde release). PR's draaientest-build(build + scan, geen push),
main pusht:latestviapublish-main; de container-build zelf is een
herbruikbare workflow (_container-build). De ZAD-deploymentnaam is
configureerbaar viaZAD_DEPLOYMENT_NAMEi.p.v. vast in de workflow, en de
ZAD-deploy-action staat op v4.0.6. package-lock.jsonopnieuw gegenereerd met npm 11 (de versie in de
CI-container) zodat verplichte peer-packages -emojibaseen
vue-eslint-parser- weer in de lockfile staan. Een eerdere herberekening
onder oudere npm liet ze vallen, waardoornpm ciin de frontend-image en
de ESLint-stap braken.vue-eslint-parseris bovendien expliciet als
devDependency vastgelegd.- NLDD design-system 0.8.56 -> 0.8.63. Statuslabels en laad-indicatoren
gebruiken nunldd-tag/nldd-activity-indicatoren de button-variant
neutral-base; de dark-mode tag-fix komt mee. - Afhankelijkheids- en digest-bumps: renovate-image -> 43.245.0, Node
24.16.0 -> 24.18.0, TipTap 3.26.0 -> 3.27.1,@axe-core/cli4.11.3 ->
4.12.1, uv -> 0.11.25,actions/cachev5 -> v6 plus digest-bumps voor
dev-Keycloak 26.6 en Postgres 17. - Release-notes bevatten nu per service een klikbare link naar de
container-image (image-ref als linktekst naar de package-pagina). - Renovate bundelt updates in logische lanes: naast npm / npm-dev / Python /
nldd nu ook eencontainer images-lane (postgres, keycloak, node, nginx) en
trivy/uv terug bij de CI-lane.prHourlyLimit2 -> 5. Security, digest-
rebuilds en majors blijven losse PR's. - Markdown-sanitisatietests draaien onder jsdom i.p.v. happy-dom; happy-dom
past DOMPurify's allow-lists vanaf 3.4.11 verkeerd toe (blok-tags ontwrapt,
class=lekt door). Test-only, geen browser-regressie; deblokkeert de
dompurify security-bump. - Renovate bumpt Postgres niet meer voorbij major 17 (
allowedVersions <18):
ZAD draait op 17, dev-compose blijft gelijk tot ZAD meegaat. - Security-bumps tegen gepubliceerde advisories, zodat de fail-closed
pip-/npm-audit-stappen groen blijven. Backend: msgpack 1.1.2 -> 1.2.1
(GHSA-6v7p-g79w-8964), pydantic-settings 2.13.1 -> 2.14.2
(GHSA-4xgf-cpjx-pc3j) en joserfc 1.6.5 -> 1.7.1 (CVE-2026-48990).
Frontend: dompurify 3.4.1 -> 3.4.11 (GHSA-cmwh-pvxp-8882), vite 8.0.10 ->
8.0.16 (CVE-2026-53571) en via npm-overrides linkify-it 5.0.0 -> 5.0.1
(GHSA-22p9-wv53-3rq4) + markdown-it 14.1.1 -> 14.2.0 (GHSA-6v5v-wf23-fmfq).
Container images
- De antwoord-composer en notities-editor heeft nu een opmaak-werkbalk. De basis