Wijzigingen
Alle betekenisvolle wijzigingen aan Kampilo worden hier bijgehouden. Kampilo gebruikt Semantic Versioning: MAJOR.MINOR.PATCH.
[Onuitgebracht]
[1.22.2] - 2026-09-16
- Boekhouding: toon het opgegeven rekeningnummer bij een bonnetje met een kopieerknop in plaats van rekeningkeuze of toevoegen. De eindgebruikersinvoer blijft ongewijzigd.
[1.22.1] - 2026-09-16
Bonnetjes en mobiele tekstinvoer
- Zonder bewaarde persoonsrekening verschijnt meteen het nieuwe IBAN-veld. Zoeken en kiezen verschijnen alleen wanneer er rekeningen beschikbaar zijn.
- Op uitdrukkelijke vervolgopdracht is een rekeningnummer verplicht bij indienen voor persoonlijke terugbetaling; concepten en betalingen door de vereniging blijven zonder persoonlijke rekening mogelijk. De backend controleert ook rechtstreeks indienen van een bewaard concept. Historische bonnetjes worden niet aangepast.
- Lege rich-textvelden krijgen bij aantikken direct de focus. De omvattende HTML-labels stuurden de focus naar de tekststijlkeuze; de bestaande frontendvelden gebruiken nu afzonderlijke containers en expliciete toegankelijke veldnamen.
- Regressie voor tikken en gewoon typen zonder opmaakknop, lege rekeningenlijsten, concepten en verplichte rekeningkeuze. Geen nieuwe migratie of dependencywijziging; uitsluitend DEV-uitrol.
[1.22.0] - 2026-09-16
Boekhouding
- Meerdere rekeningnummers per persoon, met een optionele expliciete rekeningkeuze op bonnetjes en toevoegen vanuit dezelfde flow of het personenbeheer.
- Lokale IBAN-validatie op land, structuur en controlecijfers; normalisatie, unieke databasecontrole en transactioneel hergebruik bij dubbele inzendingen. Nieuwe validator
jschaedl/iban-validation2.7.0 metsymfony/options-resolver8.1.0; geen bestaande dependencies bijgewerkt. - Organisatie- en persoonsgebonden rekeningtoegang, onveranderlijke rekeningidentiteiten en bescherming van verwerkte of afgesloten bonnetjes. Bankafstemming blokkeert verschillende rekeningkeuzes binnen dezelfde terugbetaling.
- Eén additieve migratie voor persoonsrekeningen en een optionele verwijzing op bonnetjes, zonder historische gegevens aan te vullen. Deze release is uitsluitend voor DEV goedgekeurd.
[1.21.0] - 2026-09-15
Boekhouding
- Expliciet geselecteerde bankregels samen classificeren, controleren en als afzonderlijke boekingen verwerken. Maximaal 500 regels per batch; inkomsten en uitgaven afzonderlijk. Verwerkte en gedeeltelijk gekoppelde regels worden geweigerd. Alles-of-niets met bestaande boekingslogica, tenantcontrole, projectvalidatie en periodeblokkades.
- Optionele private foto/PDF bij een nieuwe manuele of individuele bankboeking, zichtbaar vanuit het dagboek. Een upload veroorzaakt geen extra bonnetje, open post of boeking. Mislukte opslag draait de nieuwe boeking terug en ruimt uitsluitend het nieuwe bestand op.
- Oorspronkelijke bankinformatie blijft raadpleegbaar, ook bij een gezamenlijke omschrijving. Geen gewijzigd bankdatum- of boekjaarbeleid.
- Een additieve migratie voor een enkel bewijsstuk per dagboekbeweging. Geen dependencywijzigingen. Browser-HTTP gebruikt lokale modus boven de geisoleerde testdatabase, zodat uploads niet op de PHPUnit-fakeschijf terechtkomen.
- Releaseverificatie en scope:
docs/audits/2026-09-15-bank-batch-evidence-1.21.0.md. Deze versie is uitsluitend voor DEV goedgekeurd; productie vereist een afzonderlijke opdracht.
[1.20.3] - 2026-09-14
Gecontroleerde HTML-productieconversie
- Expliciete productie-optie voor de eenmalige HTML-conversie, met vaste controle van omgeving, URL, applicatiemap en werkelijke database. Zonder opt-in blijft productie geweigerd.
- Read-only proef mogelijk voordat de conversietabel bestaat. Omzetting en herstel blijven een ledger, private originele waarden, integriteitscontrole en onderhoudsmodus vereisen.
- Bestaande blokkades bij onduidelijke inhoud, jaarbewijzen en gewijzigde of nieuwe inhoud bij rollback blijven behouden. Geen dependencywijzigingen.
[1.20.2] - 2026-09-13
Boekhouding
- Centrale financiele kleuren voor labels en bedragen: inkomsten groen, uitgaven rood en netto op basis van de numerieke waarde. Berekeningen blijven ongewijzigd.
- Projecten vereisen een kostenplaats; projectselecties volgen de gekozen kostenplaats. Gebruikte projecten kunnen niet meer verplaatsen. Historische conflicten blokkeren nieuw gewoon gebruik zonder bestaande gegevens te herschrijven; exacte tegenboekingen behouden hun historie.
- Eerste configuratie wordt na voltooiing vergrendeld, ook bij opnieuw opslaan vanuit een oud tabblad. Normaal rekeningbeheer blijft beschikbaar.
- Gecombineerde correctie, uitsluitend DEV-uitrol. Geen dependencywijzigingen, migrations of dataconversie. Verificatie:
docs/audits/2026-09-13-finance-colors-projects-setup-lock.md.
[1.20.1] - 2026-09-13
Centrale header
- De headerstandaard gebruikt uitsluitend centrale Tailwind-klassen via KampiloTheme en de native Filament-hooks. De bestaande architectuurcontrole op een thema zonder eigen CSS-regels blijft ongewijzigd.
- Beheer en gebruikersomgeving delen een centrale headerstandaard: dezelfde hoogte, zijmarges, organisatiecomponent en klikvlakken, met het gebruikersmenu aan de rechterrand. Geen pagina-specifieke correcties of gekopieerde Filament-vendortemplates. Lange organisatienamen kunnen krimpen zonder een tweede menurij, ook rond 640px. Browsercontrole op appstart, meldingen, taken en beheer.
- Op smalle beheerschermen gebruikt Beheerstart een pictogram met tooltip. Normale Vite-build en 20 lokale browsertests geslaagd op vier schermbreedtes, plus de 639/640/641px-overgangen. Alleen layout en gegenereerde CSS; geen dependencies, migrations of dataconversie. Uitrol uitsluitend naar DEV.
[1.20.0] - 2026-09-12
Rich-textbewerking
- Native HTML-opslag voor rich-textvelden, met de standaard Filament-editor en uitgebreide opmaakbalk. De eigen HTML-naar-Markdown-statecast vervalt; frontendformulieren bewaren eveneens HTML.
- Centrale veilige HTML-weergave, expliciete Markdownconversie bij externe imports en behoud van het historische Markdownformaat in bestaande jaarpakketten. Geen dependencywijzigingen.
- Eenmalige, expliciete conversie met veldregister, proefmodus, private originele waarden en gecontroleerd herstel. Alleen lokale testomgevingen en de exact gecontroleerde DEV-omgeving zijn toegestaan. Bestaande jaarpakketten of voorbereide jaarafsluitingen blokkeren conversie.
- Uitsluitend DEV-uitrol toegestaan voor deze opdracht; PROD blijft op de bestaande release. Verificatie en conversievoorwaarden:
docs/audits/2026-09-12-native-html-1.20.0.md.
[1.19.0] - 2026-09-12
Bonnetjesmeldingen
- Automatische push bij nieuwe bonnetjes en antwoorden voor bevoegde beoordelaars; vragen, goedkeuring, afwijzing en heropening voor de indienende gebruiker. Geen meldingen naar personen, andere organisaties of de uitvoerende gebruiker zelf.
- Zes afzonderlijke opt-invoorkeuren op de bestaande meldingenpagina, standaard uit. Centrale pushvoorkeur, actieve apparaatregistratie, actuele organisatierechten en appbeschikbaarheid blijven verplicht.
- Transactionele meldingenwachtrij en begrensde verzending via het bestaande beveiligde pushtransport. Elke melding wordt per apparaat maximaal eenmaal geprobeerd, zonder blinde retries bij een onbekend resultaat.
- Alleen vaste algemene tekst op het vergrendelscherm. Bedragen, namen, vragen en bijlagen worden niet meegestuurd; aanklikken controleert opnieuw gebruiker, organisatie, rechten en bonnetje. Goedkeuring is geen betalingsbevestiging.
- Drie aanvullende tabellen; geen wijziging van bestaande bonnetjes, boekingen of rechten. Afzonderlijke
WEBPUSH_BUSINESS_ENABLED-schakelaar blijft standaard uit. Geen dependencywijzigingen, TipTap-aanpassingen of wijziging van Pay-QR. - Verificatie, retentie en releasevoorwaarden:
docs/audits/2026-09-12-receipt-push-1.19.0.md. Uitrol naar DEV en daarna PROD is op 12 september goedgekeurd, met verse backups en CI/smoke als technische gates.
[1.18.0] - 2026-09-12
Meldingen
- Persoonlijke meldingenpagina via het gebruikersmenu, met expliciete browsertoestemming, een centrale aan/uitvoorkeur, apparaatregistratie, uitschakelen en opnieuw verbinden.
- Een echte testmelding naar uitsluitend het huidige apparaat. Provideracceptatie en bevestigde browserontvangst zijn aparte statussen; zichtbaarheid op het besturingssysteem blijft een toestelcontrole. Nog geen automatische meldingen over bonnetjes, taken of andere bedrijfsgebeurtenissen.
- Een eigen standaardmanifest maakt Kampilo installeerbaar als beginscherm-webapp, nodig voor push op ondersteunde iPhones/iPads. Het bestaande Pay-QR-manifest en zijn worker worden niet vervangen.
- Versleutelde subscriptions, sessiegebonden ontvangstcontrole, rate limiting, intrekking bij uitloggen/accountwissel, veilige auditgegevens en begrensde retentie. Twee nieuwe tabellen, zonder conversie of wijziging van bestaande bedrijfsgegevens.
- Gescheiden serverflags en VAPID-configuratie per omgeving. Transport uitsluitend naar ondersteunde publieke pushproviders, met IP-controle, TLS, timeouts en zonder redirects of automatische retries. Pay-QR-worker/cache en TipTap blijven ongemoeid.
- Minishlink Web Push 11.0.0 plus zijn nieuwe dependencies; bestaande framework- en securityversies blijven gelijk. Gegenereerde Vite-assets horen bij deze release.
- Verificatie en deploymentvoorwaarden:
docs/audits/2026-09-12-web-push-1.18.0.md. N01-fundament en historische resultaten:docs/audits/2026-09-11-notifications-web-push-n01.md.
[1.17.5] - 2026-09-11
Frontend
- Twee externe tegels voor Chiroportaal en Gmail, uitsluitend voor de systeemgroep Leiding in Chiro Don Bosco Kessel-Lo. Lidmaatschap wordt per actieve organisatie opnieuw gecontroleerd; andere organisaties en beheerders zonder die groep zien de tegels niet.
- Beide sites blokkeren iframe-weergave. De links openen daarom in een nieuw tabblad met
noopener noreferrer, zonder aanpassing aan CSP. De Chiro-organisatieslug is read-only op DEV bevestigd. Geen nieuwe tabellen of rechten.
Frameworkonderhoud
- Laravel naar 13.31.0, Filament en samenhangende packages naar 4.13.1, Livewire naar 3.8.8 en CommonMark naar 2.10.1, binnen de bestaande majorversies. De eerdere securityupdates en TipTap 3.30.5 blijven behouden; geen wijzigingen aan npm-dependencies of de Markdown-opslag.
- Bijhorende Filament- en Vite-assets opnieuw gegenereerd, inclusief de nieuwe fonts. Extra HTTP-regressies controleren geldige remembercookies, intrekking na een wachtwoordwijziging en een onbekende gebruiker.
- De afzonderlijke framework/securitykandidaat slaagt in gewone GitHub Quality: 961 PHP-tests, 10489 assertions, 76 browsercases en de normale Vite-build. Deze gecombineerde release gaat eerst door dezelfde CI en uitsluitend naar DEV. Geen TipTap-T01-fix, nieuwe dependency-upgrade, schemawijziging of PROD-deployment. Zie
docs/audits/2026-09-11-release-1.17.5-dev.mdvoor de releaseafbakening; eerdere lokale browserbevindingen blijven historisch bewijs.
[1.17.4] - 2026-09-09
Beveiliging
- Filament en de samenhangende packages naar 4.12.6, Livewire naar 3.8.3 en CommonMark naar 2.10.0 voor dependency-securityherstel. Laravel 13.17.0 en Guzzle 7.15.2 blijven ongewijzigd.
- De vier directe TipTap-packages zijn exact vastgezet op 3.30.5, met dezelfde versie voor de bijhorende TipTap-dependencies, voor GHSA-j95f-988m-3j2f. Markdown blijft het opslagformaat; de bestaande editor en roundtrip blijven behouden.
- Filament gebruikt centraal een statische lokale standaardavatar. Geen externe avatarservice of persoonsgegevens in de fallback-URL; expliciete avatarpaden behouden voorrang en het bestaande frontendicoon blijft intact. De CSP wordt niet versoepeld.
Verificatie En Scope
- Extra avatarregressies en strikte browsercontroles voor alle pagina's en nieuwe vensters, naast de bestaande editor-, authenticatie- en rechtenregressies. Gegenereerde publieke assets blijven onderdeel van de kandidaat.
- Lokale securitykandidaat voor review, geen releasegoedkeuring of deployment. Geen migrations, nieuwe rechten of bedrijfsgegevens gewijzigd. Web Push N01 is niet toegevoegd en blijft gepauzeerd.
[1.17.3] - 2026-09-08
Hersteld
- Ook afgewezen, nog niet definitief verwerkte bewijsstukken kunnen via Terug openstellen opnieuw naar In controle. De actie staat in het actiemenu en op de detailpagina, met een bevestiging die de afwijzing benoemt.
- De actuele afwijzingsvelden worden bij heropenen gewist, maar reden, auteur en tijdstip blijven behouden in de append-only audithistoriek. Foto's, vragen, antwoorden en verdeling blijven intact. Opnieuw goedkeuren blijft een afzonderlijke stap.
- De bestaande organisatie-, rechten-, versie-, betalings- en verwerkingscontroles blijven gelden. Geen migraties of automatische gegevenswijzigingen.
[1.17.2] - 2026-09-08
Hersteld
- Een goedgekeurd, nog niet definitief verwerkt bewijsstuk kan vanuit de lijst en detailpagina terug worden opengesteld voor controle. Foto's, vragen, antwoorden en verdeling blijven behouden. De goedkeuring wordt ingetrokken en onbetaalde open posten worden transactioneel geannuleerd, met behoud van audithistoriek.
- Reeds geboekte, betaalde of afgestemde bewijsstukken kunnen niet worden heropend. Heropenen vereist zowel het nakijkrecht als het goedkeurrecht binnen dezelfde organisatie. Opnieuw goedkeuren telt oude posten niet dubbel; geannuleerde posten tellen niet mee in terugbetalingsstatus of gegenereerde jaarinventaris.
- Definitief verwerken toont expliciet dat heropenen of bewerken daarna niet meer mogelijk is en vraagt om "Ja, definitief verwerken". Beide bevestigingsvensters controleren de versie van het bewijsstuk bij openen, zodat een oude bevestiging geen nieuwere goedkeuring kan wijzigen.
- Geen migraties, nieuwe tabellen, gegevenskopie of automatische opschoning. Bestaande bewijsstukken wijzigen alleen na een expliciete, bevoegde gebruikersactie.
[1.17.1] - 2026-09-05
Hersteld
- De upgrade vanaf een versie zonder Leiding gebruikt in de historische migratie de oorspronkelijke frontendrechtkeys. Bestaande Pay-QR-groepen krijgen daardoor de juiste verwijzing voordat de afzonderlijke Pay-QR-migratie wordt uitgevoerd, onafhankelijk van inmiddels hernoemde runtimeconstants.
- Regressietest voor bestaande technische groepen met leden: lidmaatschappen en goedgekeurde aanvraaghistorie blijven behouden, Leiding blijft leeg en er worden geen backendrechten aan frontendgroepen toegevoegd.
- Geen nieuwe migratie, schemawijziging of gewijzigde runtimefunctie ten opzichte van 1.17.0. Reeds toegepaste migraties worden niet opnieuw uitgevoerd. Productiepromotie blijft afhankelijk van een gecombineerde upgradeproef, groene CI, DEV-verificatie en backup.
[1.17.0] - 2026-09-05
Nieuw
- Pay-QR-configuratie biedt per ontvangstrekening een optionele standaardkostenplaats. De frontend kiest deze bij openen, rekeningwissel en een nieuwe QR. De gebruiker kan voor elke QR een andere kostenplaats, een project of Algemeen kiezen.
- Zonder beschikbare rekeningstandaard geldt de algemene standaardmededeling. Inactieve, verwijderde of organisatievreemde kostenplaatsen worden nooit automatisch gebruikt.
- De accounts-API vermeldt de effectieve standaardbestemming per rekening. Genereren zonder expliciete bestemming gebruikt dezelfde centrale keuze; een expliciete bestemming of geldige legacykeuze blijft voorrang hebben.
Behoud
- Opslag in de bestaande Pay-QR-organisatie-instelling; geen migraties, nieuwe tabellen, andere rekeninggegevens, historische QR's, transacties of rechten gewijzigd. Oudere formulieren zonder dit veld wissen geen rekeningstandaarden.
- Native Filament-keuzeveld, mobiele browserregressies en bijgewerkte API- en beheerhandleiding. Alleen voor DEV in deze opdracht.
[1.16.0] - 2026-09-05
Nieuw
- Pay-QR is een zelfstandige app met een eigen tegel, overzicht, QR-historiek en configuratie. Kampafrekening en Boekhouding hoeven niet aan te staan. Nieuwe organisaties hebben Pay-QR standaard uit.
- Drie afzonderlijke rechten:
pay_qr.frontend_access,pay_qr.viewenpay_qr.configure. Beheer vereist daarnaastadmin.access; frontendgebruik geeft geen beheer- of boekhoudrechten. De rol Leiding en de groep Pay-QR gebruiker gebruiken het nieuwe frontendrecht. - Pay-QR-configuratie hergebruikt de centrale rekeningen, kostenplaatsen en projecten. Alleen Pay-QR-beschikbaarheid, zichtbaar label en standaardkeuzes kunnen hier worden gewijzigd; algemene rekeninggegevens blijven bij Instellingen.
Vereenvoudigd
- Toegang wordt via gebruikers, groepen en rechten beheerd. De oude aanvraagstatus bepaalt geen toegang meer. Oude aanvragen blijven alleen-lezen beschikbaar en ongewijzigd; de registratie-POST en de oude herstelactie zijn buiten werking gesteld.
- Workspace-auto-grant kent uitsluitend groepslidmaatschap toe en legt nieuwe toekenningen vast in de audit. Historische aanvraagstatussen worden niet herschreven. Een bewust verwijderd groepsrecht wordt niet automatisch hersteld.
- De API-, gebruikers- en beheerhandleidingen beschrijven de zelfstandige app en het nieuwe toegangsmodel.
Migratie en behoud
- Een atomaire migratie voegt de drie rechten en moduleconfiguratie toe. Bestaande expliciete appschakelaars blijven behouden. Operationele Pay-QR-configuratie of groepen met het oude frontendrecht activeren de app bij bestaande organisaties zonder expliciete keuze, ook wanneer zo'n groep nog leeg is.
- Alleen bestaande speciale Pay-QR-groepslidmaatschappen zonder goedgekeurde oude aanvraag worden eenmalig verwijderd. Er worden geen gebruikers toegevoegd aan groepen; een omschakelmarker voorkomt herhaalde normalisatie van later bewust verleende toegang.
- Bestaande groepsrechten blijven behouden. Bestaande passende beheerrechten worden beperkt vertaald naar Pay-QR-historiek/configuratie, zonder
admin.accesstoe te kennen. De oude frontendrechtkey blijft als legacydata bewaard, maar wordt niet meer voor runtimeautorisatie gebruikt. - Geen nieuwe financiele tabellen, verwijdering van historische aanvragen, transacties of personen, dependency-upgrades of gegevensoverdracht tussen omgevingen. Bij blijvende Workspace-auto-grant kan een handmatig ingetrokken lidmaatschap bij een volgende vertrouwde login opnieuw worden toegekend.
- Deze DEV-release bouwt voort op 1.15.0, inclusief de eerdere rekeningkeuzes per app en TipTap-herstel. Geen productie-deployment in deze opdracht.
[1.15.0] - 2026-09-05
Nieuw
- Elke organisatie krijgt de systeemrol
Leiding. De rol is standaard leeg en kan per gebruiker worden toegekend of afgenomen via Instellingen > Gebruikers > Rollen en groepen beheren. Leidinggeeft uitsluitend toegang tot de frontendapps Pay-QR, Bonnetjes en Taken & talenten. De bestaande tenantbrede appschakelaars en rekeningbeschikbaarheid blijven aanvullend van kracht.- Pay-QR en Taken & talenten hebben voortaan elk een centraal, herkenbaar frontendrecht op de rechtenpagina. De bestaande Bonnetjesrechten blijven daar per onderdeel instelbaar.
Veiligheid en compatibiliteit
- De rol bevat geen toegang tot de beheeromgeving, andere persoonsprofielen, financiële backendschermen of gevoelige acties. Niemand wordt automatisch aan
Leidingtoegevoegd. - De afzonderlijke Pay-QR-aanvraagflow en de bestaande technische frontendgroepen blijven compatibel. Een lopende Pay-QR-aanvraag krijgt niet toevallig toegang via haar technische groep.
- De atomaire migratie stopt bij een afwijkende of reeds gevulde groep
Leidingen bij bestaande maatwerktoekenningen van de nieuwe rechten. Rollback stopt zodra de rol leden heeft of een maatwerkgroep een nieuw frontendrecht gebruikt.
Data
- Er worden twee permissionkeys en per organisatie een lege systeemgroep met rechtenkoppelingen toegevoegd. Er wijzigen geen gebruikers, persoonsgegevens, transacties of andere businessdata.
- TipTap en bestaande Markdowninhoud zijn niet gewijzigd en maken geen deel uit van deze release.
[1.14.0] - 2026-09-04
Nieuw
- Rekeningen en kassen hebben centraal onder Instellingen drie onafhankelijke keuzes: Kampafrekening, Boekhouding en Pay-QR. Frontend, backend en servervalidatie gebruiken dezelfde beschikbaarheidscontrole.
- Uitgeschakelde, inactieve en verwijderde rekeningen worden niet aangeboden voor nieuwe verrichtingen in de betreffende app. De organisatie- en gebruikersrechten blijven daarnaast vereist.
Behoud
- Bestaande transacties en QR-betaalverzoeken blijven bewaard. Historische boekingen kunnen nog worden geraadpleegd en tegengeboekt; jaaroverzichten en inventaris houden rekening met reeds geboekte rekeningen.
- Het beschikbare saldo in Boekhouding omvat alleen actieve rekeningen die voor Boekhouding aanstaan. Eerste configuratie herstelt of hernoemt niet stilzwijgend een uitgeschakelde rekening.
- Twee booleankolommen worden toegevoegd aan de bestaande rekeningentabel, standaard aan voor compatibiliteit. De bestaande Pay-QR-keuze blijft behouden. Geen nieuwe tabellen, permissietoekenningen, transactieverwijderingen of gegevensoverdracht tussen omgevingen.
[1.13.4] - 2026-09-04
Hersteld
- De centrale Markdownconversie bewaart geneste vet/cursief-opmaak met omringende spaties correct na opslaan en heropenen in de native Filament-editor.
- Harde regeleinden blijven behouden in de frontendeditor en de serverconversie. Links, lijsten en bestaande veiligheidsfilters blijven werken.
- Regressietests controleren drie bewaarrondes, de werkelijk opgeslagen Markdown, validatiefouten en mobiel/desktop. De browsertests gebruiken een worker voor hun gedeelde testdatabase.
Data
- Geen migrations, seeders, dependency-upgrades of herschrijven van bestaande inhoud. Rekeningbeschikbaarheid per app valt buiten deze patchrelease.
[1.13.3] - 2026-09-04
Hersteld
- Nieuwe boekingen vanuit bankafschriften en koppelingen aan het dagboek tonen validatiefouten in een blijvende melding. De ingevulde gegevens blijven behouden; een ontbrekend of gesloten boekjaar blijft boeken blokkeren op de oorspronkelijke bankdatum.
- Dagboekvoorstellen zijn niet langer beperkt tot veertien dagen rond de bankdatum. Zoeken op nummer, omschrijving, tegenpartij, referentie en bedrag gebeurt op de server, binnen dezelfde organisatie, rekening en richting. Exacte resterende bedragen krijgen voorrang; volledig afgepunte bewegingen verdwijnen uit de voorstellen.
- Koppelen aan een bestaande beweging vereist alleen het afpuntrecht. Het afhandelen van open posten blijft daarnaast de bestaande boekings- en openpostrechten vereisen. Er worden geen rechten toegekend.
- Het financieel dagboek toont de afpuntstatus en onderscheidt geregistreerde bewegingen van gedeeltelijk of volledig bankbevestigde betalingen en ontvangsten. Details tonen het bevestigde en resterende bedrag; kasbewegingen en tegenboekingen krijgen een aparte aanduiding.
Data
- Geen migrations, seeders of wijzigingen aan bestaande businessdata. Afpuntstatussen worden afgeleid uit bestaande koppelingen; er worden geen betalingen automatisch bevestigd.
[1.13.2] - 2026-09-04
Hersteld
- Een tegenboeking kan de oorspronkelijke geldrekening blijven gebruiken wanneer die intussen via soft delete is verwijderd. De controle vereist dezelfde oorspronkelijke boeking, rekening en organisatie; nieuwe boekingen op verwijderde rekeningen blijven geblokkeerd.
- De rekening wordt niet hersteld, de oorspronkelijke boeking blijft onveranderd en er worden geen bestaande gegevens of permissions aangepast. Geen migrations of automatische tegenboekingen.
- KBC-bankimport herkent nu ook originele CSV-exports met alleen CR-regeleinden, naast LF en CRLF. Kolommen, bedragen, saldoketen, IBAN en organisatie blijven strikt gecontroleerd; de bestandshash blijft gebaseerd op de originele bytes.
- De melding voor een niet-ondersteund bankformaat verwijst voortaan ook naar de beheerder.
[1.13.1] - 2026-09-04
Hersteld
- Bonnetjes tonen de vragenhistoriek en antwoorden ook bij nakijken en bekijken in de backend, inclusief auteur, datum en open/beantwoord-status. Frontend en backend gebruiken dezelfde weergave.
- Mijn bonnetjes heeft een statusfilter met aantallen, behoud van de filter bij paginering en een duidelijke lege toestand. Alleen eigen bonnetjes binnen de actieve vereniging worden getoond.
- Tegenboeking maken toont validatiefouten bij het juiste veld en in een melding; de reden en correctiedatum blijven behouden. Een gesloten boekjaar blijft boekingen blokkeren.
- Bankimport toont formaat-, IBAN- en andere validatiefouten in het formulier. Een gewijzigde selectie maakt de vorige preview ongeldig; bevestigen vereist opnieuw een geldige preview.
Data
- Geen migrations, seeders, permissiewijzigingen of wijzigingen aan bestaande businessdata nodig. Geen automatische import of tegenboeking.
[1.13.0] - 2026-09-01
Nieuw
- Instellingen bevat onder Basislijsten één centrale sectie Boekhouding voor bankrekeningen en kassen, het intern rekeningstelsel en de wettelijke categorieën. Kostenplaatsen en projecten blijven in Boekhouding.
- Voedingsnoden gebruiken expliciete gevoelige Keukenrechten voor bekijken, toevoegen, bewerken en verwijderen.
Verbeterd
- Financebeheerders en beheerders van Kampafrekeningrekeningen bereiken de centrale financiële basislijsten zonder automatisch bredere organisatie-instellingen te mogen wijzigen.
- Pay-QR respecteert de vereiste moduletoegang en toont kostenplaatsen en projecten alleen wanneer Boekhouding voor de organisatie actief is.
Algemeenblijft beschikbaar en historische QR-labels blijven ongewijzigd. - Kampplanning verwacht alleen rechten die werkelijk in de permissioncatalogus bestaan.
- Kampoverschotten bieden alleen nog de werkende actie om voorraad met een geregistreerde mutatie op te nemen.
- Bonnetjes tonen de centrale bankrekening of kas waarmee de vereniging betaalde.
Verwijderd
- De oude, onafgewerkte kampbudgetplaceholder, route, calculator, printtak en zichtbare placeholderrechten zijn verwijderd. De financebegrotingstabellen blijven als geparkeerde V3-functionaliteit behouden.
- De niet-werkende modulepresentatie voor Medisch en Incidenten is verborgen. Bestaande legacyrechten en groepskoppelingen worden in deze release niet verwijderd.
Veiligheid
- De migratie naar expliciete dieetrechten is additief: zij kopieert bestaande effectieve toegang naar de nieuwe rechten en verwijdert geen oude grants of businessrecords.
- Er worden geen financiële, persoons-, kamp-, taak- of talentgegevens gewijzigd of verwijderd en er worden geen tabellen verwijderd.
- Een gewone deletepermission geeft geen recht op force delete. De individuele en bulk-force-deleteacties zijn verwijderd voor
CampExpense,CampPoefEntry,MaterialenProduct. - Force delete vereist een afzonderlijke high-riskpermission en blijft centraal uitgeschakeld. Er zijn nog geen lifecyclehandlers actief.
- Beschermde lifecycleaudit kan niet via gewone auditretentie of tenant-clear verdwijnen. Auditopschoning vereist de afzonderlijke permission
audit.purge. - High-riskpermissions worden niet automatisch aan groepen of brede presets toegekend.
- Private bestanden van
CampExpenseblijven bij soft delete en rollback behouden.
Migraties
2026_09_01_090000_add_explicit_dietary_permissions.php2026_09_01_120000_add_lifecycle_permissions.php2026_09_01_121000_add_protected_lifecycle_metadata_to_audit_logs.php
Testen en operations
- De gewone testsuite blijft op SQLite
:memory:draaien. - Een veilige disposable MySQL-testharness voert de geselecteerde suite alleen uit met expliciete, fail-closed testopt-in en een beperkte tijdelijke gebruiker.
- Fresh-install- en upgradecontroles zijn op MySQL 8 uitgevoerd zonder businessdata of private bestanden te verwijderen.
Dependencies
- De directe TipTap-runtimepackages zijn bijgewerkt van
3.30.0naar3.30.4vanwegeGHSA-cp6q-959q-f8rh.
Beperkingen
- Force delete blijft centraal uitgeschakeld en de lifecyclehandlerregistratie blijft leeg.
- L01.2 en L02 zijn nog niet gebouwd.
- Deze release bevat nog niet de volledige prullenbak-, archiveer- en hard-deletewerking voor alle Kampilo-entiteiten.
Documentatie
- De code- en data-audit beschrijft de centrale financiële basislijsten, bewezen legacykandidaten, geparkeerde functionaliteit en de veilige cleanupvolgorde.
- Een one-pager beschrijft de volledige flow voor indieners en boekhouders, inclusief de centrale basislijsten en veilige helpdeskopvolging.
[1.12.1] - 2026-08-31
Opgelost
- De actie
Innenop het personenoverzicht van Kampafrekening opent opnieuw betrouwbaar het QR-formulier. Berekende afrekeningsgegevens blijven server-side en kunnen de beveiligde Livewire-aanvraag niet langer ongeldig maken. - Een verlopen of ongeldig geworden beheersessie vernieuwt de pagina automatisch en toont daarna een duidelijke melding om de actie opnieuw uit te voeren, in plaats van een algemene foutmelding.
Veiligheid
- De patch wijzigt geen financiële records, saldi, betaalverzoeken of databaseschema. Alleen de technische pagina-state en foutafhandeling wijzigen.
[1.12.0] - 2026-08-31
Nieuw
- Pay-QR haalt de vaste mededeling rechtstreeks uit de actieve kostenplaatsen en projecten van Boekhouding. Nieuwe aanvragen bewaren zowel de leesbare bestemming als tenantgecontroleerde koppelingen; bestaande QR-aanvragen en EPC-payloads blijven ongewijzigd.
Verbeterd
- De begrotingsfunctie is centraal en omkeerbaar gepauzeerd. Navigatie, rechten, prints en nieuwe begrotingsacties verdwijnen, terwijl bestaande begrotingen, jaarafsluitingskoppelingen en historische jaarpakketten intact blijven.
- Oude Pay-QR-webclients worden alleen nog aanvaard wanneer hun mededeling eenduidig overeenkomt met een actuele boekhoudbestemming. Onbekende waarden geven een validatiefout en worden nooit stil als
Algemeenverwerkt. - Leveranciers behoren voortaan tot Keuken in plaats van de gepauzeerde kampbudgetmodule.
Veiligheid
- De Pay-QR-schemawijziging is additief en nullable. Zij wijzigt of verwijdert geen bestaande aanvragen, rekeningen, kostenplaatsen, projecten of historische mededelingen.
- Er worden in deze release geen extra tabellen verwijderd. Begrotings- en jaarafsluitingstabellen blijven behouden wegens hun audit- en historische relaties.
- De PROD-deployprocedure verwijst bij een fout naar de begeleide herstelprocedure en niet langer naar het verboden generieke restore-script.
[1.11.3] - 2026-08-31
Verbeterd
- De eerste boekhoudconfiguratie toont expliciet welke bestaande rekening wordt gewijzigd en vult na een keuze de juiste rekeninggegevens in. Historische hernoemingen met hetzelfde IBAN worden veilig aan hun actieve vervanger gekoppeld, zonder rekeningen of transacties te verwijderen.
[1.11.2] - 2026-08-31
Verbeterd
- De eerste boekhoudconfiguratie bewaart voortaan de gekoppelde rekening expliciet. Een naamswijziging hernoemt die rekening zonder een duplicaat te maken; andere rekeningen en kassen blijven ongewijzigd en afzonderlijk beheerbaar.
- Goedgekeurde en verwerkte bewijsstukken blijven beschikbaar op een leesbare detailpagina. Kampilo vermeldt duidelijk of een bewijsstuk in het financieel dagboek staat of als open post wordt opgevolgd.
- Betalingen van open posten tonen het aangemaakte dagboeknummer. Wanneer de betaaldatum niet binnen een open boekjaar valt, verschijnt een duidelijke foutmelding met een rechtstreekse actie naar Boekjaren.
[1.11.1] - 2026-08-31
Verbeterd
- De afwijkingsregels van kostenbonnen gebruiken een responsieve Filament-indeling. Omschrijvingen, categorieen en persoonsnamen blijven leesbaar op desktop, tablet en mobiel zonder samengedrukte tabelkolommen.
[1.11.0] - 2026-08-31
Nieuw
- Kampafrekening heeft een afzonderlijke Personenpagina met directe EPC-QR-inning, onmiddellijke QR-weergave en duidelijke acties voor bevestigen, sluiten of annuleren.
- F09 voegt een geversioneerde jaarinventaris toe voor bezittingen, schulden, belangrijke rechten en verplichtingen met expliciete waarderingsregels.
- De jaarafsluitingsassistent controleert bewijsstukken, bank, kas, wettelijke mapping, inventaris, dagboeknummering, volgende begroting, verslag en ontwerpbesluiten.
- Een onveranderlijk jaarpakket bundelt manifest, dagboek, afzonderlijke ontvangsten en uitgaven, inventaris, bewijsregister, begroting, verslag en ontwerpbesluiten in een geaudite ZIP-export.
- F08 voegt versieerbare begrotingen per boekjaar toe met jaar-, kwartaal- of maandregels voor interne rekening, kostenplaats en project.
- Begrotingsrapporten tonen begroot, werkelijk, open engagement, manuele prognose, verwacht einde en afwijking met controleerbare bronregels.
- Beheersrapporten groeperen per interne rekening, kostenplaats, project of persoon en ondersteunen een veilige geaudite CSV-export.
- F07 voegt een cashboek en gecontroleerde coupuretellingen toe met verwachte en werkelijke kasstand, eurocoupures en zichtbare verschillen.
- Kascontroles ondersteunen maker-checker, gemotiveerde verschilboekingen en een afzonderlijke detailhistoriek.
- F06 ondersteunt het bevestigde KBC CSV-exportformaat met Windows-1252, exacte centen, saldoketencontrole en een veilige preview voor import.
- Bankafschriften en bankregels worden idempotent en onveranderlijk bewaard; mogelijke dubbels blijven zichtbaar en vragen een gemotiveerde menselijke beslissing.
- Bankafstemming ondersteunt bestaande dagboekbewegingen, open posten, gedeeltelijke en samengestelde matches en expliciete nieuwe bankkosten of inkomsten.
- Boekhouding bevat een F05-financieel dagboek voor definitieve bank- en kasbewegingen, officiële en analytische verdelingen en detaildrilldown.
- Goedgekeurde bewijsstukken kunnen expliciet en idempotent worden verwerkt; persoonsvoorschotten blijven open tot de werkelijke terugbetaling.
- Open terugbetalingen en vorderingen kunnen volledig of gedeeltelijk via een centrale rekening of kas worden afgehandeld.
- Interne transfers maken een gekoppeld uitgaand en inkomend paar; fouten worden met een append-only tegenboeking gecorrigeerd.
- Het finance-overzicht scheidt werkelijk geld, open terugbetalingen, open vorderingen, netto beschikbaar en werkelijk resultaat.
- De backend van Boekhouding bevat een F04-werkbak voor controle, verdeling, informatievragen, afwijzing en goedkeuring van ingediende bonnetjes.
- Goedgekeurde bonnetjes maken controleerbare open terugbetalingen of vorderingen via de vereniging aan, zonder al definitief te boeken.
- Financiele reviewmutaties krijgen een beschermde append-only auditregel en gelijktijdige wijzigingen worden met een lockversie gedetecteerd.
- Een expliciet groepsrecht
admin.accessscheidt toegang tot de beheeromgeving van rechten op frontendapps. - Het permissionfundament voor de toekomstige module Boekhouding bevat afzonderlijke frontend-, backend- en gevoelige rechten met veilige presets.
- De backendapp Boekhouding heeft een organisatieprofiel, setupwizard, boekjaren, geldrekeningen, intern rekeningstelsel, kostenplaatsen en projecten.
- Een beschermde, geversioneerde Belgische categoriebron legt de wettelijke ontvangst- en uitgavencategorieën vast.
- De frontendapp Bonnetjes ondersteunt concepten, indiening, private bijlagen en vragen van een controleur.
Verbeterd
- Boekhouding staat in het modulebeheer niet langer foutief als toekomstige module vermeld. De module wordt als actieve basismodule beschreven, zonder verouderde voorbereidingswaarschuwing.
- Boekhouding gebruikt alleen Kostenplaatsen en Projecten als analytische bestemmingen. De ongebruikte fondsentabel en fondskoppelingen zijn volledig verwijderd.
- Het personenoverzicht gebruikt compacte desktopkolommen en mobiele kaarten zonder horizontale hoofdscroll; persoonsnaam, saldo, primaire actie en actiemenu blijven direct bereikbaar.
- Boekhouding bevat een Filament-native bankimport, bankafschriftenlijst en detailwerkbak met gerangschikte voorstellen op bedrag, datum, tegenpartij en mededeling.
- Het financieel dagboek behoort nu ook in de centrale appcontext en navigatie van Boekhouding.
- Bankrekeningen en kassen gebruiken voortaan een centrale lijst onder Instellingen voor Kampafrekening, Boekhouding en Pay-QR; de oudere finance-lijst blijft alleen als compatibiliteitslaag bestaan.
- De frontendapp Bonnetjes gebruikt dezelfde centrale rekening- en kasrecords als de andere modules.
- De GitHub Actions-testopdracht krijgt voldoende Composer-uitvoeringstijd en de appregistry-regressietest kent de Bonnetjes-app.
- De beheerorganisatieswitcher toont alleen organisaties waarin de gebruiker effectief beheertoegang heeft; de frontendwisselaar behoudt alle lidmaatschappen.
- Modulegewijze rechtenwijzigingen herladen de actuele groepsrechten transactioneel en bewaren gelijktijdige wijzigingen in andere modules.
- Financepermissions gebruiken mensentaal, duidelijke secties en expliciete risicolabels.
- Nieuwe financebedragen gebruiken integer cents en de configuratieservice is transactief, idempotent en bestand tegen soft-verwijderde setuprecords.
Veiligheid
- De fondsenmigratie stopt voordat het schema wijzigt wanneer begrotingsregels zonder Fonds zouden samenvallen. Zij herberekent uitsluitend begrotingssleutels en verwijdert fondsclassificaties; bedragen, boekingen, open posten, auditregels en bestaande jaarpakketpayloads en -hashes blijven ongewijzigd.
- Open QR-verzoeken zijn transactioneel en per kamp/persoon gededupliceerd; QR-inhoud blijft als onveranderlijke snapshot bewaard en kritieke acties krijgen append-only financiele audit.
- F09 gebruikt maker-checker voor inventaris en afsluiting, controleert inventarisbedragen tegen het dagboek en bewaart ieder gegenereerd pakket onveranderlijk met SHA-256-hashes.
- Kleine VZW-pakketten blijven een ontwerp totdat accountantvalidatie en een golden sample zijn geregistreerd; een feitelijke vereniging krijgt nooit een neerleggingsclaim.
- De F09-migratie is additief en herschrijft geen bestaande finance-, kampafrekening-, persoons- of documentdata.
- Goedgekeurde begrotingsversies worden nooit overschreven: wijzigingen ontstaan als revisie, maker-checker blokkeert zelfgoedkeuring en vastgestelde regels zijn onveranderlijk.
- F08 is additief, gebruikt integer cents, bewaakt tenantrelaties en neutraliseert spreadsheetformules in CSV zonder bestaande financiële data te herschrijven.
- Een teller kan de eigen kascontrole niet goed- of afkeuren; gewijzigde kasstanden blokkeren goedkeuring en een goedgekeurde telling vergrendelt teruggedateerde cashmutaties.
- F07 is additief en wijzigt of verwijdert geen bestaande rekening, geldbeweging of financieel document.
- F06 weigert onbekende of dubbelzinnige formaten en controleert recht, tenant, actieve bankrekening, bestandsgrootte, SVG, EUR, IBAN, statementperiode en sluitend saldo vóór verdere verwerking.
- Een bankimport maakt nooit vanzelf een geldbeweging; bestaande bewegingen worden zonder tweede saldo-effect gekoppeld en nieuwe boekingen vereisen
finance.entries_postplus expliciete bevestiging. - De echte KBC-export en persoonsgegevens blijven buiten Git en testfixtures; regressietests gebruiken uitsluitend een fictieve geschoonde CSV.
- F05 weigert niet-sluitende centenverdelingen, tenantvreemde relaties, gesloten boekjaren, dubbele posting en rechtstreekse wijziging of verwijdering van definitieve historie.
- Definitief posten, open posten afhandelen, kasbewegingen en tegenboekingen vereisen afzonderlijke server-side rechten.
- F04 blokkeert goedkeuring bij open vragen, onvolledige verdeling, een verouderde lockversie of tenantvreemde relaties.
- Eigen bonnetjes goedkeuren vereist het afzonderlijke gevoelige recht
finance.receipts_approve_own. - De rekeningmigratie is additief: bestaande centrale en oudere rekeningrecords blijven behouden en oude bonkoppelingen worden alleen aangevuld.
- De upgrade kent
admin.accessalleen toe aan bestaande backendgroepen en sluit frontend-only systeemgroepen uit. - Nieuwe financepermissions worden niet automatisch aan bestaande of standaardgroepen toegekend.
- Self-approval en het heropenen van boekjaren blijven expliciete opt-inrechten en zitten niet in presets of Volledig beheer.
- F01 voegt geen financieel businessdatamodel toe en wijzigt geen bestaande financegegevens.
- F02 gebruikt uitsluitend additieve tabellen en raakt geen bestaande Kampafrekening-records of productiegegevens aan.
- Boekjaren, interne categorieën en bestemmingsrelaties bewaken overlap, wettelijke schemaversie en tenantgrenzen op modelniveau.
[1.10.0] - 2026-08-16
Nieuw
- Kostenbonnen hebben een apart documenttype
Retour / creditvoor onder meer terugbetaalde waarborgen, retouren en creditnota's. - Bedragen worden positief ingevoerd en verschijnen in lijsten en rapporten met een negatief financieel teken.
Verbeterd
- Groepscredits verlagen de kampkost; persoonlijke credits en credits die een persoon ontvangt worden automatisch via de Chirokas verrekend.
- Overzichten, persoonsdetails, prints en CSV-export maken onderscheid tussen uitgaven en retouren.
Veiligheid
- Bestaande kostenbonnen blijven door de migratie ongewijzigd als
Uitgave; er worden geen bestaande bedragen of lijnen herschreven.
[1.9.1] - 2026-08-16
Verbeterd
- Bijlagen in de ZIP-export van kostenbonnen krijgen herkenbare bestandsnamen volgens
JJJJMMDD-titel-totaal.ext. - Wanneer meerdere bijlagen dezelfde gegenereerde naam hebben, voegt Kampilo automatisch een volgnummer toe zonder bestanden te overschrijven.
[1.9.0] - 2026-08-15
Nieuw
- Gebruikers met exportrecht kunnen alle beschikbare foto's en PDF-bijlagen van niet-verwijderde kostenbonnen binnen de actieve organisatie als een geordend ZIP-bestand downloaden.
Veiligheid
- De download is tenantgescheiden, vereist de actieve module Kampafrekening en
camp_finance.export, en neemt geen verwijderde bonnen of ontbrekende bestanden mee. - Bestaande bijlagen en databasegegevens worden alleen gelezen en blijven ongewijzigd.
[1.8.0] - 2026-08-14
Nieuw
- Beheerders met profielbeheer en verwijderrecht kunnen een persoonsprofiel binnen Taken & talenten volledig wissen.
- De reset verwijdert antwoorden, reflecties, vaardigheden, voorkeuren, beschikbaarheid, taaktoewijzingen en verdelingsregels, maar behoudt de centrale persoon en gegevens uit andere modules.
- Een opnieuw gestart profiel begint gegarandeerd met de standaardstatus en zonder oude antwoorden.
Veiligheid
- De reset is transactioneel, tenantgescheiden, extra bevestigd en samengevat in de wijzigingsaudit.
- Gedeelde taken, talenten, vaardigheden en gegevens van andere personen blijven behouden; verouderde samenvattingen van betrokken conceptverdelingen worden verwijderd zodat ze opnieuw berekend kunnen worden.
[1.7.1] - 2026-08-14
Opgelost
- Talentnamen zoals "Plannen en prioriteiten" springen in het persoonsprofiel duidelijk uit via de centrale titelcomponent.
- Herkenningsvoorbeelden, mogelijke sterktes, mogelijke valkuilen en ontwikkeltips gebruiken nu ook in de vragenflow dezelfde centrale inhoudsvlakken als de talentdetailpagina.
- Opsommingen in deze inhoudsvlakken worden opnieuw als afzonderlijke, scanbare punten weergegeven.
[1.7.0] - 2026-08-14
Nieuw
- Organisatiebeheerders kunnen de bewaartermijn van wijzigingsaudit instellen op onbeperkt, één dag, één week, één maand of één jaar.
- De wijzigingsaudit heeft een tenantgescheiden wisknop voor verlopen regels of, na expliciete bevestiging, alle wijzigingsaudit van de actieve organisatie.
- Een dagelijks onderhoudscommando ruimt alleen auditregels op wanneer de organisatie uitdrukkelijk een beperkte bewaartermijn heeft gekozen.
Verbeterd
- Uitleg, herkenningsvoorbeelden, mogelijke sterktes, valkuilen en ontwikkeltips gebruiken duidelijk afgebakende leesvlakken met een subtiel donkerdere achtergrond en 1px-rand.
Veiligheid
- De standaard bewaartermijn is onbeperkt: een deploy wist geen bestaande auditdata. Aanmeldingsaudit en auditgegevens van andere organisaties worden nooit door de wijzigingsauditactie verwijderd.
[1.6.0] - 2026-08-14
Nieuw
- Talenten in de takenmatrix zijn in de gebruikers- en beheersomgeving aanklikbaar en openen een volledige, organisatiegescheiden uitlegpagina.
- Talentdetailpagina's tonen betekenis, herkenningsvoorbeelden, sterktes, aandachtspunten, ontwikkeltips en gekoppelde taken met een veilige terugknop.
Verbeterd
- Frontend, beheer, Pay-QR en installer gebruiken voortaan een centrale lichte Kampilo-themalaag met emerald-, steen-, teal- en amberkleuren.
- De centrale layouts voorzien expliciete slots voor uitzonderlijke pagina-assets zonder pagina-eigen CSS als standaardpatroon.
[1.5.4] - 2026-08-13
Opgelost
- De gebruikersomgeving blijft consequent in de vaste donkere stijl, ook nadat de Filament-scripts zijn geladen.
- De organisatieswitcher en beheerapptegels hebben duidelijke toegankelijke namen.
- De browserregressies gebruiken een expliciete testtenantconfiguratie en semantische bedieningselementen in plaats van verwijderde stijlklassen.
[1.5.3] - 2026-08-13
Opgelost
- HTTPS-beveiligingsheaders herkennen naast de Laravel-requeststatus ook de gangbare serverwaarden
HTTPS=onenHTTPS=1, zodat HSTS enupgrade-insecure-requestsbetrouwbaar worden toegevoegd.
[1.5.2] - 2026-08-13
Opgelost
- De actie
Persoonsprofiel indienenstaat nu op het Taken & talenten-overzicht, waar gebruikers na het opslaan terugkomen. - De indienknop blijft zichtbaar maar uitgeschakeld tot alle zeven profielonderdelen samen 100% bereiken; dezelfde controle wordt verplicht op de server uitgevoerd.
[1.5.1] - 2026-08-13
Opgelost
- De voortgang bij Persoonsprofielen telt nu alle verplichte onderdelen mee: talenten, reflectie, Jouw ruimte, vaardigheden, blijvende taken, projecttaken en engagementpunten.
- De profielpagina toont naast de totale voortgang ook per onderdeel hoeveel antwoorden ingevuld en nog open zijn.
[1.5.0] - 2026-08-13
Nieuw
- Het vroegere talentprofiel heet nu Persoonsprofiel en bundelt per werkjaar alle antwoorden over talenten, reflectie, beschikbare ruimte, vaardigheden, blijvende taken, projecttaken en engagementpunten.
- De detailpagina groepeert de antwoorden in duidelijke Filament-tabbladen en behoudt de bestaande privacyrechten voor persoonlijke antwoorden.
- Voorkeuren en beschikbaarheid hebben contextuele knoppen om stap voor stap naar het volgende onderdeel te gaan zonder ingevoerde antwoorden te verliezen.
Verbeterd
- Talentvereisten van een taak en het persoonsprofiel van een gebruiker hebben voortaan ondubbelzinnige, verschillende benamingen.
[1.4.0] - 2026-08-13
Verbeterd
- Vaardigheidsniveau
0betekent voortaan ondubbelzinnigNiet beantwoord; de ervaringsschaal loopt van1 - Nog geen ervaringtot6 - Kan anderen begeleiden. - Bestaande positieve vaardigheidsniveaus schuiven bij migratie betekenisbehoudend één positie op; bestaande nulwaarden worden niet langer als antwoord geteld.
Jouw ruimte, alle actieve vaardigheden en alle actieve taakvoorkeuren zijn nodig om 100% voortgang te bereiken; tussentijds opslaan en later verder werken blijft altijd mogelijk.- De totale voortgang wordt uitgesplitst in Jouw ruimte, vaardigheden, blijvende taken, projecttaken en engagementpunten.
- Voorkeuren en beschikbaarheid zijn opgedeeld in native tabbladen; iedere taak start expliciet als
Niet beantwoorden telt dan nog niet mee.
Veiligheid
- De server valideert ingevulde waarden onafhankelijk van de browser, ontbrekende antwoorden tellen nooit als voltooid en de matchingmotor vertaalt de nieuwe persoonsschaal terug naar de bestaande taakvereistenschaal.
[1.3.0] - 2026-08-13
Verbeterd
- Alle actieve taken staan bij
Wat past bij jou?standaard open en vereisen een expliciete voorkeur; een stilzwijgende standaardkeuze is verwijderd. - De taakvoorkeuren tonen live voortgang op het formulier en op het Taken & talenten-overzicht.
- Alle acht reflectievragen zijn verplicht en tonen live hoeveel antwoorden nog ontbreken.
- De nakijkstap toont de volledige, veilig opgemaakte reflectie voordat het talentprofiel wordt ingediend.
Veiligheid
- Servervalidatie blokkeert onvolledige taakvoorkeuren en reflecties, ook wanneer browsercontroles worden omzeild.
[1.2.0] - 2026-08-12
Nieuw
- De canonieke catalogus voor Taken & talenten bevat 12 talenten, 62 vaardigheden en 51 volledig beschreven taken.
- Beheerders kunnen de catalogus per organisatie valideren, vooraf bekijken, back-uppen, transactioneel importeren en gecontroleerd herstellen via Artisan.
- Machineleesbare schemas, een inhoudsaudit en een uitvoeringshandleiding documenteren het importcontract.
Veiligheid
- De import vereist altijd een expliciete organisatie en bewaart bestaande record-ID's en persoonsgebonden gegevens.
- Iedere apply maakt vooraf een private catalogusback-up met SHA-256-checksum en schrijft alle wijzigingen in een enkele transactie.
- Een tweede import is idempotent en verwijdert of deactiveert geen onbekende catalogusgegevens.
[1.1.4] - 2026-08-12
Beveiliging
- Alle webresponses krijgen centraal beveiligingsheaders voor contenttypes, framing, referrers, browserfeatures en cross-originisolatie.
- Een compatibele Content Security Policy beschermt Filament, Livewire, publieke pagina's, uploads en PDF-previews zonder bestaande functies te blokkeren.
- HTTPS-responses krijgen HSTS en upgraden onveilige subrequests; HSTS wordt bewust niet naar subdomeinen uitgebreid.
[1.1.3] - 2026-08-12
Verbeterd
- Vertrouwde Google Workspace-domeinen kunnen nieuwe gebruikers nu automatisch toegang geven tot Taken & talenten en Pay-QR, zonder toegang tot het beheer.
- Bestaande Kampilo-gebruikers krijgen bij hun Google-aanmelding dezelfde ingestelde frontendtoegang zonder dat een dubbel account ontstaat.
- Een ingetrokken of geweigerde Pay-QR-toegang wordt nooit automatisch opnieuw geactiveerd.
Opgelost
- Het beheerformulier voor Google Workspace-domeinen gebruikt geen niet-bestaande Filament
lowercase-methode meer; het model normaliseert het domein veilig.
[1.1.2] - 2026-08-12
Opgelost
- Taaknamen in alle beheertabellen zijn nu echte links naar de volledige taakdetailpagina en kunnen geen Filament-popup meer openen.
- De oude gedeelde taakmodal is verwijderd; detailweergave en rechten gebruiken afzonderlijke, niet-interactieve helpers.
- De taakdetailpagina toont bovenaan alleen de duidelijke acties
Terug naar overzichtenTaak bewerkenwaarvoor de gebruiker rechten heeft.
[1.1.1] - 2026-08-12
Verbeterd
- Taaknamen openen in de gebruikersomgeving en het beheer voortaan rechtstreeks een volledige detailpagina.
- De terugknop op een taakdetail keert veilig terug naar de matrix, verdeling, matching, het dashboard of het takenoverzicht waar de gebruiker vandaan kwam.
- Overbodige taakpopups en dubbele acties voor bewerken, toewijzen en talentvereisten zijn verwijderd.
[1.1.0] - 2026-08-11
Nieuw
- Een volledige Taken & talenten-handleiding met one-pager, deelnemersflow, beheerdersflow, matchinguitleg en privacyrichtlijnen.
- Contextuele hulp vanuit de Taken & talenten-app.
- Een functionele audit met geprioriteerde quick wins voor betrouwbaardere matching en taakverdeling.
Verbeterd
- De naam
Voorkeuren & beschikbaarheidmaakt duidelijk dat deelnemers naast taakvoorkeuren ook vaardigheden en draagkracht invullen. Conceptverdelingheet voortaanVerdelingsvoorstellenen vermeldt nadrukkelijk dat voorstellen nog niet definitief zijn.- De centrale TipTap-editor geeft in beheer en gebruikersomgeving dezelfde opmaakervaring voor tekst met opmaak.
[1.0.0] - 2026-08-10
Nieuw
- Een centrale gebruikersomgeving met toepassingen per organisatie en gebruikersgroep.
- Kampbeheer, keukenplanning, recepten, voorraad, materiaal en kampafrekening.
- Taken en talenten met profielen, taakverdeling en matchingvoorstellen.
- Pay-QR met goedkeuringsflow en Google Workspace-aanmelding.
- Beheer van organisaties, modules, gebruikersgroepen en rechten per toepassing.
Verbeterd
- Een duidelijkere Google-aanmeldknop op alle aanmeldschermen.
- Thema's volgen voortaan overal dezelfde systeemvoorkeur.
- Omgeving en applicatieversie zijn zichtbaar bij het Kampilo-merk.
- Alleen werkende super-adminonderdelen worden nog als beheerapp aangeboden.
- De actieve standaardorganisatie wordt nu correct via gecachete configuratie gelezen.
- Alle JSON-API-endpoints zijn als contract gedocumenteerd en automatisch geïnventariseerd.
- De verouderde alles-wissenflow voor organisaties is verwijderd; organisaties met gekoppelde data blijven beschermd.
Beveiliging
- De persoonlijke afrekenprint vereist voortaan expliciet het exportrecht.
- Frontend-buildafhankelijkheden met bekende hoge advisories zijn bijgewerkt.
- JSON-responses van Pay-QR vervangen defensief ongeldige UTF-8.