• v2026.7.21 acaf98d5cf

    v2026.7.21
    All checks were successful
    CI / pre-commit (pull_request) Successful in 57s
    CI / frontend-test (pull_request) Successful in 4m50s
    CI / release-scripts (pull_request) Successful in 10s
    security-scan / Python SCA (pip-audit) (pull_request) Successful in 58s
    security-scan / Python SAST (bandit) (pull_request) Successful in 38s
    security-scan / JS SCA (npm audit) (pull_request) Successful in 46s
    security-scan / Filesystem scan (trivy fs) (pull_request) Successful in 24s
    security-scan / SBOM (trivy) (pull_request) Successful in 16s
    CI / backend-test (pull_request) Successful in 8m47s
    CI / e2e (pull_request) Successful in 8m41s
    CI / backend-test-postgres (pull_request) Successful in 9m39s
    test-build / build (backend) (pull_request) Successful in 1m54s
    CI / pre-commit (push) Successful in 57s
    test-build / build (frontend) (pull_request) Successful in 2m18s
    test-build / build (pull_request) Successful in 0s
    CI / frontend-test (push) Successful in 5m1s
    CI / release-scripts (push) Successful in 10s
    publish-main / build (backend) (push) Successful in 2m15s
    CI / backend-test (push) Successful in 8m39s
    security-scan / Python SCA (pip-audit) (push) Successful in 56s
    CI / backend-test-postgres (push) Successful in 9m29s
    CI / e2e (push) Successful in 8m36s
    security-scan / Python SAST (bandit) (push) Successful in 38s
    security-scan / Filesystem scan (trivy fs) (push) Successful in 25s
    publish-main / build (frontend) (push) Successful in 2m6s
    publish-main / build (push) Successful in 0s
    security-scan / SBOM (trivy) (push) Successful in 16s
    security-scan / JS SCA (npm audit) (push) Successful in 43s
    release-and-deploy / release (push) Successful in 32s
    release-and-deploy / pre-commit (push) Successful in 51s
    release-and-deploy / build (backend) (push) Successful in 2m17s
    release-and-deploy / build (frontend) (push) Successful in 2m36s
    release-and-deploy / build (push) Successful in 0s
    release-and-deploy / frontend-test (push) Successful in 5m13s
    release-and-deploy / release-scripts (push) Successful in 10s
    release-and-deploy / backend-test (push) Successful in 8m50s
    release-and-deploy / e2e (push) Successful in 7m40s
    release-and-deploy / backend-test-postgres (push) Successful in 9m55s
    release-and-deploy / ci (push) Successful in 0s
    release-and-deploy / deploy (push) Successful in 2m8s
    Stable

    robbertbos released this 2026-07-21 20:28:29 +00:00 | 243 commits to main since this release

    Opgelost

    • HTML-bijlage-preview werkte niet in productie: de SPA-CSP (frame-src 'none') blokkeerde de sandbox-iframe. Nu frame-src 'self', zodat de
      afgeschermde preview laadt.
    • "Nieuw tabblad" toonde de HTML-broncode i.p.v. de pagina en waarschuwde
      onterecht. Het opent nu de gesandboxede ?preview=html (rendert correct en
      kan niet bij je sessie), zonder waarschuwing.

    Onder de motorkap

    • Frontend-CSP: ${OIDC_ISSUER} uit connect-src/form-action gehaald - de
      SPA praat alleen met de eigen backend, dus de Keycloak-origin was overbodig.
      De nginx-config is nu statisch (geen template/entrypoint-substitutie meer).
    • Geparkeerde bijlagen hebben nu een eigenaar. Elke lees-, schrijf- en verwijderactie
      noemt nu de eigenaar, en er geldt een plafond van 1 GB per gebruiker.
    • De maximale bestandsgrootte wordt niet meer gegokt, maar aan de Mattermost-server
      gevraagd (die geeft hem aan elke ingelogde client). Er stonden drie constanten in de
      code die elkaar tegenspraken: Mattermost verhoogde zijn eigen standaard van 50 naar
      100 MB en één comment liep achter.
    • De SQLite-databaselocatie volgt nu WAGGLE_DATA_DIR, zodat db en geparkeerde
      bijlagen altijd op hetzelfde volume staan. Enkele ongebruikte config-variabelen
      verwijderd. (In productie draait Postgres; dit raakt alleen de SQLite-fallback.)
    • CI release-scripts-job was flaky op de runner: de changelog-check las
      intermitterend een lege sectie. De teststap heeft nu een retry met diagnostiek
      bij een gefaalde poging.
    • Afhankelijkheden en CI-tooling bijgewerkt: npm-(dev-)dependencies, diverse
      GitHub-actions en de CI/container-images (o.a. setup-node en jest-dom naar
      v7, uv 0.11.30, actions/checkout 7.0.1 en herbouwde base-images).

    Container images