Huidige versie
0.5.0-beta.2
Releasekanaal
Productiepilot
0.5.0-beta.2 (2026-04-19)
- Release: Nieuwe beta-release `0.5.0-beta.2` klaar voor productiecontrole met extra sessieregistratie en aangescherpte releasechecks.
- Add: Nieuwe tabel `user_sessions` registreert loginbron, starttijd, laatste activiteit, duur, IP-adres en user-agent van gebruikerssessies.
- Add: Loginflow schrijft nu per succesvolle login een sessieregel weg en vernieuwt `last_activity_at` tijdens normaal gebruik.
- Add: Uitloggen sluit geregistreerde sessies netjes af inclusief reden en duur, zodat audit en support beter kunnen terugzien wat er gebeurde.
- Add: Admins kunnen in `admin.php` nu per gebruiker een tijdelijk wachtwoord genereren; oude resetlinks vervallen direct en actieve geregistreerde sessies worden afgesloten.
- Update: Health/releasedocumentatie uitgebreid zodat deze release ook expliciet controleert op `user_sessions`.
0.5.0-beta.1 (2026-04-15)
- Release: Nieuwe beta-release `0.5.0-beta.1` voor productiepilot; alle applicatieversies zitten nu bewust in de `0.x`-lijn om zichtbaar te houden dat de app nog actief in ontwikkeling is.
- Add: Lokale tweefactorauthenticatie toegevoegd met authenticator-app, eenmalige herstelcodes, printvriendelijke weergave van herstelcodes en adminbeheer per gebruiker.
- Add: Admins kunnen 2FA verplicht stellen voor admins of alle gebruikers; brede verplichting werkt als zachte uitrol zodat gebruikers na inloggen eerst de kans krijgen 2FA in te stellen.
- Add: Microsoft-organisatielogin toegevoegd via Entra ID/OpenID Connect, volledig configureerbaar via `.env` en pas zichtbaar wanneer admininstelling en configuratie compleet zijn.
- Add: Microsoft-accounts kunnen door gebruikers of admins gekoppeld worden aan bestaande accounts, ook wanneer het mailadres verschilt.
- Add: Account-aliases zorgen dat toewijzingen aan een gekoppeld Microsoft-/bronaccount blijven doorsynchroniseren naar het hoofdaccount.
- Add: Microsoft MFA kan optioneel vertrouwd worden, zodat de app geen tweede lokale 2FA-stap vraagt wanneer de organisatie MFA afdwingt in Entra.
- Add: Health bevat nu een subpagina voor uitgaande HTTP-verzoeken, inclusief scraper-, documentproxy-, OpenAI- en Microsoft-auth requests.
- Update: Gebruikers verwijderen is vervangen door veilig archiveren: login en tokens worden geblokkeerd, maar inhoudelijke informatie, notities, taken, vergaderingen en historie blijven bewaard.
- Update: Documentatie, handleiding, release-notes en productiechecklist bijgewerkt voor deze productiepilot.
0.4.0 (2026-04-10)
- Release: Nieuwe minor release `0.4.0`, productieklaar met verbeterde vergader-UX voor aanwezigenbeheer.
- Update: Op `meeting.php` staat de sectie `Aanwezigen beheren` nu standaard dichtgeklapt, terwijl de lijst met aanwezige of verwachte leden zichtbaar blijft.
- Update: Handmatig toevoegen en verwijderen van aanwezigen gebeurt nu in een compacter openklapbaar beheerblok, wat rustiger werkt op desktop en mobiel.
- Update: Losse taken en fractietaken ondersteunen nu een optioneel tijdstip naast de deadline; zonder tijd worden taken als `hele dag` behandeld in schermen, notificaties en agenda-feed.
- Add: Gebruikersbeheer ondersteunt nu ook `Admin-opvolger` en `Stemrecht adminkeuze`, zodat vooraf kan worden vastgelegd wie kandidaat of stemgerechtigd is bij het kiezen van een nieuwe admin.
- Add: `account.php` bevat nu een afgeschermde verkiezingssectie voor admin-opvolging, met starten, stemmen en afronden van een stemronde zodra dit nodig is.
- Add: Web-push/PWA-basis toegevoegd met `sw.js`, `manifest.webmanifest`, pushabonnementen per gebruiker en telefoonnotificaties via de browser op Android en iOS (via beginscherm-app/Safari).
- Add: Gebruikers kunnen in `account.php` nu een tweede mailadres opslaan en kiezen of dat adres voor alle meldmails wordt gebruikt of alleen als back-up als het hoofdadres faalt.
- Update: Telefoonnotificaties zijn verplaatst van `account.php` naar `notifications_settings.php`, zodat alle meldinstellingen op één plek staan.
- Update: `admin.php` bevat nu een aparte test voor web-pushmeldingen en laat bij testmail kiezen tussen hoofdadres en tweede mailadres.
- Add: `.env` ondersteunt nu `APP_ENV=production|test`; in `test` worden uitgaande mails automatisch tegengehouden voor niet-adminontvangers, zodat gewone gebruikers geen testmails ontvangen.
- Add: De notificatie-opties `nieuwe vergadering`, `vergaderherinnering` en `dagelijks overzicht` zijn nu echt aangesloten. Nieuwe openbare vergaderingen mailen direct na sync, herinneringen en dagoverzichten lopen via cron of handmatige sync.
- Add: Nieuwe tabel `notification_dispatch_log` voorkomt dubbele verzending van nieuwe-vergadering-mails, reminders en dagelijkse overzichten.
- Update: Motie/amendement-notificaties volgen nu ook de persoonlijke notificatie-instellingen en gebruiken net als andere meldmails het hoofd- en tweede mailadres volgens de gekozen modus.
0.3.0 (2026-04-10)
- Release: Nieuwe minor release `0.3.0`, productieklaar met herhalingen, gebruikersgroepen, mobiele selecties, errorafhandeling, productiemonitoring, backups en auditlog.
- Add: Gebruikersbeheer ondersteunt nu herbruikbare gebruikersgroepen, zoals fractieleden, commissieleden of alle leden.
- Update: Groepen kunnen worden gebruikt bij toegestane personen voor openbare vergaderingen, deelnemers van fractievergaderingen, leden van moties/amendementen en taaktoewijzingen, naast losse gebruikersselectie.
- Update: Meerkeuzevelden voor leden, groepen en verantwoordelijken krijgen nu automatisch een telefoonvriendelijke zoekbare checkbox-kiezer met grote tikvlakken en alles/niets-knoppen.
- Add: Losse taken en fractievergaderingen kunnen nu herhalend worden aangemaakt en beheerd. Elke aangemaakte instantie blijft eigen inhoud, status, notulen, agenda-items en taken houden.
- Update: Herhalingen kunnen worden aangepast of gestopt zonder bestaande taken of fractievergaderingen te verwijderen.
- Update: Bugmeldingen staan voor admins nu alleen in het gebruikersdropdown-menu; nieuwe meldingen worden aangeduid met een compact icoon bij `Ingelogd als` en bij de dropdownlink.
- Add: Relevante errorpagina's toegevoegd voor `400`, `401`, `403`, `404`, `500`, `502`, `503` en `504`.
- Add: Onverwachte serverfouten, fatale PHP-fouten en belangrijke server-errorpagina's worden automatisch als bugmelding gelogd voor admins, inclusief achterliggende technische details waar beschikbaar.
- Fix: Niet-bestaande routes worden via `.htaccess` nu expliciet naar de eigen `404.php` geleid, zodat een verzonnen URL niet op de huidige pagina blijft hangen.
- Add: Nieuwe adminpagina `error_test.php` en lokale `router.php` toegevoegd om errorpagina's en automatische buglogging betrouwbaar te testen, ook met de PHP built-in server.
- Update: `error_test.php` toont nu expliciet of de lokale PHP-router actief is, zodat duidelijk is waarom onbekende URL's lokaal wel of niet naar de eigen 404 gaan.
- Add: Nieuwe adminpagina `health.php` voor productiestatus met checks op database, tabellen, uploads, backupmap, Heerde-sync, mailconfiguratie, maintenance-mode en security headers.
- Add: Maintenance mode toegevoegd via `.env` (`MAINTENANCE_MODE=1`) met nette `503` onderhoudspagina en optionele `MAINTENANCE_BYPASS_TOKEN`.
- Add: Basis security headers toegevoegd via `.htaccess` en upload-hardening via `uploads/.htaccess`.
- Add: Rate limiting toegevoegd voor login en wachtwoord-resetverzoeken om brute force en spam te beperken zonder normaal gebruik te blokkeren.
- Add: Audit logging toegevoegd voor belangrijke beheeracties, sync-acties en login-events.
- Update: Uploads van uitvoerbare/scriptbestanden en bestanden groter dan 25 MB worden geblokkeerd bij fractiedocumenten.
- Add: Handmatige backupknop toegevoegd aan `health.php`; backups worden beschermd opgeslagen in `backups/` als zip met database en uploads waar mogelijk.
- Add: Nieuwe adminpagina `audit_log.php` toegevoegd met filters op actie, gebruiker en periode om auditregels terug te kijken.
- Add: `health.php` toont nu 404-monitoring met aantallen en meest voorkomende paden uit de laatste 7 dagen.
- Add: Automatische bugmeldingen worden nu gededupliceerd met een fingerprint en teller, zodat dezelfde serverfout niet telkens als losse bug binnenkomt.
0.2.0 (2026-04-09)
- Add: Export / PDF-weergave toegevoegd voor fractievergaderingen inclusief notulen, deelnemers, agenda-items, documenten en taken, plus export voor moties/amendementen inclusief koppeling en versiegeschiedenis.
- Fix: Centrale PHP-tijdzone ingesteld op `Europe/Amsterdam` en sync-tijd op de homepage niet langer dubbel omgerekend.
- Fix: Handmatige Heerde-sync op de homepage is nu dubbelklik-veilig met visuele voortgang en server-side lock tegen parallelle syncs.
- Release: Nieuwe minor release `0.2.0`, bedoeld als productieklaar pakket met agenda-feed, gebruikersuitleg, toegankelijkheidsopties, bugmeldingen, moties/amendementen en centrale zoekfunctie.
- Add: Nieuwe centrale zoekpagina `search.php` voor vergaderingen, agendapunten en documenten, inclusief context zoals datum, vergaderingstype, verantwoordelijke en directe doorkliklinks.
- Update: `search.php` ondersteunt nu ook filters op soort resultaat, periode en vergaderingstype.
- Add: Nieuwe afgeschermde werkruimte `Moties & amendementen` met recht in gebruikersbeheer, leden per concept, koppeling aan vergaderingen en versiegeschiedenis.
- Update: Moties en amendementen kunnen nu ook gekoppeld worden aan een specifiek agenda-item binnen de gekozen vergadering, met validatie dat beide echt bij elkaar horen.
- Update: `motion.php` toont bij gekoppelde concepten nu direct een volledig overzicht van het gekoppelde agenda-item met beschrijving, documenten, stemstatus, verantwoordelijke en link terug naar de vergaderingpagina.
- Update: `motion.php` toont bij gekoppelde agenda-items nu ook alle relevante links en een uitklapbaar overzicht van ingevulde notitievelden zoals termijnen, vragen, overig en AI-notities.
- Add: Moties en amendementen ondersteunen nu ook soft-delete en herstel via `Verwijderd`, vergelijkbaar met fractievergaderingen en taken.
- Update: `motions.php` verbergt concepten van vergaderingen in het verleden nu standaard onder een aparte inklapbare sectie, zodat actuele concepten eerst in beeld staan.
- Add: Nieuwe `version.php` pagina met klikbaar versienummer in de footer, overzicht van changelog-versies en een formulier om bugs te melden.
- Add: Nieuwe tabel `bug_reports` voor opgeslagen bugmeldingen vanuit de versiepagina.
- Add: Nieuwe adminpagina `bug_reports.php` met statusbeheer voor bugmeldingen en een zichtbare headerbadge voor nieuwe meldingen.
- Add: Soft-delete flow voor fractievergaderingen, fractie-agenda-items en taken, inclusief herstel via `Verwijderd`.
- Add: Centrale agendaweergave in `my_agenda.php` met maandoverzicht, komende items en duidelijke sectie voor toegewezen agenda-items.
- Add: Persoonlijke iCal agenda-feed (`calendar_feed.php`) voor openbare vergaderingen, fractievergaderingen en taakdeadlines.
- Add: Persoonlijke agenda-feed link en regenereren van feed-token in `account.php`.
- Add: Hulpiconen met uitleg bij belangrijke functies in de app, plus gebruikersinstelling om deze uitleg uit te zetten.
- Add: Persoonlijke weergave-instellingen voor `dark theme`, `groter en eenvoudiger` en `WCAG-stand (hoog contrast)`.
- Update: `admin.php` gebruikt nu een compacte kaartweergave zonder horizontale autorisatie-scroll, slaat rollen weer correct automatisch op en ondersteunt het verwijderen van gebruikers met opschonen van gekoppelde gebruikersdata.
- Update: `admin.php` toont nu ook expliciet de ingestelde `display_name` van gebruikers en sorteert gebruikersbeheer daarop als die naam is ingevuld.
- Update: Dark theme in `layout.php` dekt nu ook utility classes, cardheaders, dropdowns, buttons, links en andere veelgebruikte Bootstrap-componenten beter af.
- Update: `layout.php` zet in dark theme nu ook Bootstrap `data-bs-theme="dark"` op de app-shell, zodat Bootstrap-componenten zelf hun dark-variant gebruiken.
- Fix: `meeting.php` gebruikt voor agenda-items, panels, notulenblokken en documentregels nu themavariabelen in plaats van vaste lichte achtergronden, zodat de vergaderingpagina correct werkt in dark theme.
- Docs: `TECHNICAL_DOCUMENTATION.md` bijgewerkt voor agenda-feed, hulpiconen, soft-delete en nieuwe gebruikersinstellingen.
0.1.0
- Add: Eerste formele applicatieversie `0.1.0` centraal vastgelegd en zichtbaar gemaakt in de layout.
2026-02-09
- Add: Expanded `TECHNICAL_DOCUMENTATION.md` — per-file details, DB schema, dataflows.
- Add: Code excerpts for critical functions (`functions.php`, `generate_email.php`).