1/* Auto-generated uit lib/changelog.ts door scripts/gen-now-changelog.ts â NIET handmatig bewerken */ 2const CL_DATA=[{"date":"2026-10-01","version":"v33.21","clV":"v2.8","title":"Vind een expert die je helpt met je platform","items":[{"num":"v33.21","type":"feature","title":"Vind hulp bij je platform via Senly Experts","problem":"Soms loop je vast of wil je hulp bij iets kleins, zonder meteen iemand vast in dienst te nemen.","solution":"Op de nieuwe pagina Experts vind je specialisten die je verder helpen en zie je meteen wie beschikbaar is; met een klik neem je contact op."},{"num":"v33.20","type":"polish","title":"Duidelijke melding zolang de eerste experts nog volgen","problem":"Zolang er nog geen experts op de pagina stonden, leek het alsof je zoekopdracht niets opleverde.","solution":"Je ziet nu dat de eerste experts eraan komen en vindt direct de weg naar het helpcentrum als je nu al hulp nodig hebt."},{"num":"v33.19","type":"polish","title":"Resultaten, planner en goedkeuren leesbaar in elke huisstijlkleur","problem":"In de klantomgeving waren bij een lichte huisstijlkleur zoals geel of een donkere zoals navy de grafieklijnen, de planner en de goedkeurknoppen slecht te lezen, en op het inlogscherm leek het wachtwoordveld al ingevuld.","solution":"Grafieken, planner en knoppen volgen je huisstijlkleur en blijven goed leesbaar, ook in donkere modus. Op het inlogscherm is het wachtwoordveld gewoon leeg, bereik je de knop om je wachtwoord te tonen ook met het toetsenbord en volgt de focusrand je huisstijl."},{"num":"v33.18","type":"polish","title":"Inloggen bij Senly en dalende kanalen duidelijker","problem":"Op het Senly-inlogscherm leek het wachtwoordveld al ingevuld en was de knop om je wachtwoord te tonen niet met het toetsenbord te bereiken. In de resultaten van je klant stond de lijn van een dalend kanaal gewoon in de huisstijlkleur.","solution":"Het wachtwoordveld is leeg tot je typt en de oog-knop bereik je met Tab. Een kanaal dat daalt toont zijn lijn nu in het rood, net als het cijfer ernaast."},{"num":"v33.17","type":"polish","title":"Experts vind je nu onderaan elke pagina","problem":"De pagina met experts was alleen te vinden als je de link al had.","solution":"Onder Hulpmiddelen in de voettekst van elke pagina staat nu een link naar Experts, in alle vier de talen."},{"num":"v33.16","type":"feature","title":"Zie per specialisme welke expertplekken nog vrij zijn","problem":"Je zag niet voor welke onderwerpen er hulp komt, en experts konden zich niet zelf aanmelden.","solution":"Op de pagina Experts zie je per specialisme welke plekken bezet zijn en welke nog vrij. Ben je zelf expert, dan claim je een plek met een kort formulier. Na goedkeuring verschijn je met je eigen profiel."},{"num":"v33.15","type":"polish","title":"SM Trends leesbaarder en in je eigen taal","problem":"Bij SM Trends waren sommige platformlabels onzichtbaar in lichte modus, stonden branchenamen in de verkeerde taal, viel het branchemenu op je telefoon buiten beeld en zag je bij een storing alleen een losse tekst.","solution":"Alle labels zijn goed leesbaar, branches staan in je eigen taal, alles past op je telefoon en als de trends niet laden zie je een duidelijke melding met een knop om het opnieuw te proberen. De kaarten zijn rustiger zonder gloed."},{"num":"v33.14","type":"bugfix","title":"Takenoverzicht telt hetzelfde als de kopregel","problem":"In het takenoverzicht stonden andere aantallen open en verlopen taken dan in de kopregel erboven, telden verwijderde taken mee als je vanuit de prullenbak kwam, en zag je niets als synchroniseren mislukte. Bij een nieuwe taak stond een foutmelding bovenaan, buiten beeld op je telefoon.","solution":"Het overzicht telt nu precies hetzelfde als de kopregel en de werkload, een mislukte synchronisatie geeft een duidelijke melding, en bij een nieuwe taak staat de melding direct boven de knop. Lange klantnamen passen op je telefoon en het werkloadvenster opent onder de knop."},{"num":"v33.13","type":"bugfix","title":"Taken afvinken op je telefoon","problem":"In de takenlijst op je telefoon ontbrak het rondje om een taak af te vinken, dus je kon een taak daar niet als klaar markeren.","solution":"Het rondje staat nu links naast elke taak en is makkelijk aan te tikken. Een label zoals Asana of Jira schuift niet meer over de knoppen, maar loopt netjes onder de titel door."},{"num":"v33.12","type":"polish","title":"Fases in je CRM beheren, ook zonder slepen","problem":"Fases in je CRM hernoemen of verplaatsen kon alleen door op de naam te klikken of te slepen, wat op je telefoon niet werkt. Mislukte iets, dan zag je niets of een Engelse foutmelding, en bij verwijderen wist je niet waar de leads heen gingen.","solution":"Via het menu van een kolom wijzig je de naam en verplaats je een fase naar links of rechts. Bij verwijderen zie je hoeveel leads naar welke fase gaan, en als iets niet lukt krijg je een duidelijke melding in je eigen taal."},{"num":"v33.11","type":"polish","title":"Meldingen zien er op elk apparaat hetzelfde uit","problem":"De korte meldingen rechtsonder (zoals Opgeslagen of Mislukt) gebruikten tekens als icoon, die op Windows en Android er anders uitzagen dan o
2p een Mac of iPhone.","solution":"De meldingen gebruiken nu nette icoontjes die op elk apparaat even groot en scherp zijn."},{"num":"v33.10","type":"feature","title":"Geef elke fase in je CRM een eigen kleur","problem":"De kleuren van de fases in je CRM lagen vast en waren nergens aan te passen.","solution":"Kies in het menu van een fase een kleur, ga terug naar Standaard of vul je eigen huisstijlkleur in als hexcode. De kolom kleurt meteen mee en blijft ook bij heel lichte of donkere kleuren goed zichtbaar."},{"num":"v33.09","type":"polish","title":"Lange vragen in de help-chat blijven leesbaar","problem":"In het invoerveld van de help-chat paste maar één regel, waardoor een langere vraag opzij wegschoof en je niet kon teruglezen wat je typte.","solution":"Het invoerveld groeit nu mee tot ongeveer vijf regels. Enter verstuurt je bericht zoals altijd, en met Shift+Enter begin je een nieuwe regel."},{"num":"v33.08","type":"polish","title":"Nieuwe klant toevoegen en SM Trends iets duidelijker","problem":"De knop Nieuwe klant had een kleurverloop en een los plusteken, de knop Klant aanmaken stond uit zonder te zeggen waarom, en de menu's bij SM Trends gingen niet dicht met Escape.","solution":"De knop Nieuwe klant is effen in je merkkleur met een net plus-icoon, je ziet \"Vul eerst een naam in\" zolang de naam leeg is, en de menu's bij SM Trends sluiten ook met Escape."},{"num":"v33.07","type":"feature","title":"Je klant bekijkt bestanden nu direct in de omgeving","problem":"Om een foto of document te bekijken moest je klant het eerst downloaden en in een ander programma openen.","solution":"Een foto, video of PDF opent nu in een nette weergave bovenop de pagina. Je klant bladert met de pijlen door de bestanden, downloadt met een klik en sluit met Escape. Andere bestanden downloaden zoals voorheen."},{"num":"v33.06","type":"polish","title":"Partnerportaal: duidelijke meldingen en klaar voor je telefoon","problem":"Als white-label partner zag je bij inspringen altijd \"Er ging iets mis\", leek je team of je facturen weg als ze niet laadden, waren statuslabels in donkere modus slecht leesbaar en liep de pagina op je telefoon buiten beeld bij lange bureaunamen.","solution":"Je ziet nu de echte reden bij het bureau zelf, met een knop om het opnieuw te proberen als iets niet laadt. Labels zijn leesbaar in licht en donker, bedragen staan in jouw taal, en op je telefoon past alles."},{"num":"v33.05","type":"bugfix","title":"Aan/uit-schakelaars zien er op je telefoon weer goed uit","problem":"Op een telefoon of tablet werden de aan/uit-schakelaars in het portaal ronde knoppen in plaats van schakelaars.","solution":"De schakelaars hebben op elk apparaat weer hun vertrouwde vorm, en zijn op je telefoon nog steeds makkelijk aan te tikken."},{"num":"v33.04","type":"polish","title":"Formulier-inzendingen duidelijker, ook op je telefoon","problem":"Als de inzendingen van een formulier niet laadden stond er \"0 inzendingen\", mislukt kopiëren opende een kaal browservenster, grijze teksten waren in donkere modus slecht leesbaar en lange namen werden op je telefoon in een smal kolommetje geperst.","solution":"Je ziet nu een duidelijke melding met een knop om het opnieuw te proberen, bij kopiëren een korte uitleg als het niet lukt, en alles is leesbaar in licht en donker. Op je telefoon staan namen op de volle breedte, en datums en percentages volgen je taal."},{"num":"v33.03","type":"bugfix","title":"Evaluatierapporten openen weer op elk apparaat","problem":"Als je een evaluatierapport opende, bleef het vlak waar de PDF had moeten staan leeg, in elke browser en op je telefoon.","solution":"Met de knop Rapport openen opent het rapport in een nieuw tabblad, met zoom en alle pagina's. Is het bestand weg of je sessie verlopen, dan zie je een duidelijke melding."},{"num":"v33.02","type":"polish","title":"Bevestigen voordat je een bureau pauzeert of een formulier verwijdert","problem":"Een bureau pauzeren logde direct alle gebruikers uit zonder het eerst te vragen, een formulier verwijderen vroeg bevestiging via een kaal browservenster, en Link kopiëren zei soms Gekopieerd terwijl het niet gelukt was.","solution":"Je bevestigt nu eerst in het vertrouwde portaalvenster, met uitleg wat er gebeurt. Link kopiëren meldt alleen Gekopieerd als het echt gelukt is, en laat anders de link zien zodat je hem zelf kunt kopiëren."},{"num":"v33.01","type":"bugfix","title":"Klantenoverzicht past weer op je telefoon","problem":"Op de telefoon was een klantkaart breder dan het scherm, waardoor de status, het startmoment van de klant en de knop om de klant te openen rechts buiten beeld vielen.","solution":"De kaart past nu precies, ook op kleine telefoons. De cijfers staan op de telefoon onder het icoon over de volle breedte, zodat alles in één oogopslag leesbaar is."},{"num":"v33.00","type":"polish","title":"Vriendelijkere uitleg als er nog niets klaarstaat","problem":"Had je klant nog geen facturen, offertes, contracten of bestanden, dan zag hij alleen een kale regel als \"Nog geen facturen\".","solution":"Die lege plekken leggen nu rustig uit wat de klant kan verwachten, bijvoorbeeld \"Zodra je bureau je eerste factuur klaarzet, zie je die hier\"."},{"num":"v32.99","type":"bugfix","title":"Health score klopt weer en noemt de echte reden","problem":"De health score op Statistieken kon op Risico staan terwijl al je klanten op schema lagen, omdat een taak die je na het afvinken nog aanpaste als te laat telde.","solution":"Een taak telt nu als afgerond op het moment dat je hem afvinkt, dus latere aanpassingen veranderen niets meer aan je score. Staat de score laag, dan zie je eronder wat hem omlaag trekt, zoals te late levering of inactieve klanten."},{"num":"v32.98","type":"polish","title":"Rondleiding werkt prettig op je telefoon","problem":"Op de telefoon ver
2scheen de uitleg per pagina tegelijk met de cookiemelding, sprong de pagina soms ver naar beneden en viel de knop Volgende onder de chatknop.","solution":"De rondleiding start nu pas als je de cookiemelding hebt beantwoord en staat op de telefoon als kaart onderin het scherm, met het onderdeel waar hij over gaat erboven in beeld. De knoppen liggen altijd bovenop."},{"num":"v32.97","type":"polish","title":"Eén knop om je eerste formulier of landingspagina te maken","problem":"Had je nog geen formulieren of landingspagina's, dan stond de knop om er een te maken twee keer onder elkaar.","solution":"De knop staat nu één keer bovenaan, en het lege vak eronder legt rustig uit wat je kunt maken."},{"num":"v32.96","type":"bugfix","title":"Laatst ingelogd toont weer een datum","problem":"Logde je in met Google, Microsoft, LinkedIn of Facebook, dan stond er op je profiel bij Laatst ingelogd alleen een streepje.","solution":"Elke manier van inloggen wordt nu bijgehouden, dus je ziet vanaf je volgende login gewoon wanneer je voor het laatst bent ingelogd."},{"num":"v32.95","type":"bugfix","title":"Dashboard toont echte veranderingen in plaats van rare percentages","problem":"Op je dashboard stond bij Open taken soms een rode min 100 procent en bij Actieve klanten plus 100 procent, ook als er niets bijzonders was gebeurd.","solution":"Je ziet nu hoeveel open taken er deze week netto bij of af zijn gekomen en hoeveel nieuwe klanten je deze maand hebt. Is er niets veranderd, dan staat er ook niets."},{"num":"v32.94","type":"bugfix","title":"Geen contentplanning telt je ingeplande posts mee","problem":"Statistieken meldde bij Belangrijkste redenen dat al je klanten geen contentplanning hadden, ook als je hun posts gewoon had ingepland.","solution":"Een klant telt nu alleen mee als er geen postfrequentie is afgesproken, de klant niet aan je contentkalender gekoppeld is en er de komende 30 dagen niets is ingepland."},{"num":"v32.93","type":"feature","title":"Een warm welkom als je klant voor het eerst inlogt","problem":"Een nieuwe klant die voor het eerst zijn omgeving opende, zag meteen alle cijfers zonder uitleg wat hij er kon doen.","solution":"De eerste keer verschijnt een korte welkomstkaart die laat zien wat je klant in zijn omgeving kan doen: posts goedkeuren, zijn planning en resultaten bekijken en zijn documenten vinden. Eén klik en de kaart is weg."},{"num":"v32.92","type":"feature","title":"Filter je documenten op wat nog actie vraagt","problem":"Bij veel facturen, offertes en contracten moest je klant zoeken naar wat nog openstond of getekend moest worden.","solution":"Boven de documenten staan nu knoppen om te filteren op Alles, Actie nodig of Afgerond, met het aantal erbij. Zo ziet je klant in één oogopslag wat nog zijn aandacht vraagt."},{"num":"v32.91","type":"polish","title":"Statistieken zeggen precies wat ze tellen","problem":"Het blokje Risico's telde iets anders dan de lijst Klanten met risico, en de uitleg bij de kaarten paste niet bij wat ze telden.","solution":"Met risico telt nu dezelfde klanten als de lijst eronder, en elke kaart legt uit wat erin zit, zoals klanten die 30 dagen geen taak of design hadden."},{"num":"v32.90","type":"polish","title":"Peer-feedback wijst je de weg als er nog geen ronde loopt","problem":"Liep er geen feedback-ronde, dan zag je alleen een kale regel tekst zonder te weten hoe je er een start.","solution":"Als beheerder start je met één knop een ronde in Team-cultuur, en teamleden lezen dat de beheerder de rondes start. Een ronde een naam geven gaat nu in het vertrouwde portaalvenster."},{"num":"v32.89","type":"feature","title":"Zie in één oogopslag wat je klant nog moet doen","problem":"Je zag wel of je klant inlogde, maar niet of de bal nog bij hem lag.","solution":"Op het klantprofiel laat het paneel over de klantomgeving nu ook zien wat er op je klant wacht: posts om goed te keuren, contracten om te tekenen, offertes om te beantwoorden en openstaande of achterstallige bedragen. Zo weet je meteen wanneer een vriendelijke herinnering helpt."},{"num":"v32.88","type":"bugfix","title":"Je logo en lettertype staan weer op je facturen","problem":"Op facturen en offertes stond de beginletter van je bureau in plaats van je logo, en het lettertype dat je in je sjabloon ko
2os werd niet gebruikt.","solution":"Je logo staat nu op elke factuur en offerte, ook bij je klant, in de juiste verhouding. Het gekozen lettertype wordt gewoon getoond."},{"num":"v32.87","type":"bugfix","title":"PDFâs en lesvideoâs blijven niet meer leeg","problem":"Een PDF in het klantdossier of in de cloudbestanden van een klant, en lesvideoâs in je cursussen, bleven een leeg vlak.","solution":"Een PDF open je nu met één klik in een nieuw tabblad of in je cloudopslag. Lesvideoâs van YouTube, Vimeo en Loom spelen gewoon af, ook als je de gewone kijk-link plakt."}]},{"date":"2026-09-29","version":"v32.86","clV":"v2.6","title":"Je klanten krijgen een eigen omgeving in jouw huisstijl","items":[{"num":"v32.86","type":"feature","title":"Een eigen klantomgeving voor je klanten, in jouw huisstijl","problem":"Contracten, offertes en facturen stuurde je los per mail of link, en je klant had geen vaste plek om alles terug te vinden.","solution":"Nodig je klant uit vanaf het klantprofiel. Je klant logt in met e-mail en wachtwoord en ziet in jouw logo en kleuren zijn contracten (ook om te tekenen), offertes en facturen (ook om te betalen), plus wie zijn vaste contactpersoon is. Jij bepaalt per klant wat zichtbaar is en kunt de toegang altijd intrekken."},{"num":"v32.85","type":"feature","title":"Bekijk de klantomgeving door de ogen van je klant","problem":"Je kon niet zien wat je klant precies te zien kreeg zonder zelf in te loggen met zijn gegevens.","solution":"Met de knop Bekijk als klant op het klantprofiel open je de klantomgeving precies zoals je klant die ziet, ook voordat je hem hebt uitgenodigd. In dit voorbeeld keur je niets goed en open je geen documenten namens je klant, zodat er niets per ongeluk verandert."},{"num":"v32.84","type":"feature","title":"Je klant ziet zijn resultaten in één overzicht","problem":"Om je klant te laten zien hoe zijn kanalen groeiden, moest je losse screenshots of rapporten maken.","solution":"In de klantomgeving ziet je klant per kanaal zijn volgers en groei, het bereik en de interacties van de afgelopen 30 of 90 dagen, met zijn best presterende posts. Een paar korte zinnen vatten samen wat opvalt, zodat hij in één oogopslag ziet wat jouw werk oplevert."},{"num":"v32.83","type":"feature","title":"Je klant ziet zijn planning in een eigen kalender","problem":"Je klant wist vaak niet wanneer zijn posts online zouden gaan, en vroeg daar los naar.","solution":"In de klantomgeving ziet je klant een maandkalender met alle ingeplande en gepubliceerde posts, per kanaal en tijdstip. Posts die nog op zijn akkoord wachten staan er herkenbaar tussen, met een knop om ze meteen goed te keuren. Op de telefoon verschijnt dezelfde planning als overzichtelijke lijst."},{"num":"v32.82","type":"feature","title":"Je klant keurt posts goed in zijn eigen omgeving","problem":"Voor elke ronde goedkeuringen moest je een losse link sturen, en je klant had geen vaste plek om te zien wat er nog op hem wachtte.","solution":"In de klantomgeving ziet je klant alle ingeplande posts en concepten die op zijn akkoord wachten, met beeld, platform en publicatiemoment. Hij keurt goed, keurt af met een opmerking, of keurt alles in één keer goed. Een goedgekeurde post gaat gewoon volgens planning online, en jij krijgt direct bericht."},{"num":"v32.81","type":"feature","title":"Keurt een klant een post af? Je krijgt de feedback nu per e-mail","problem":"Als een klant via de goedkeur-link een post afkeurde met een opmerking, kwam die alleen als melding in het portaal binnen â makkelijk te missen, waardoor de feedback bleef liggen.","solution":"Bij een afgekeurde post krijg je nu ook een e-mail met de opmerking van je klant erin en een knop om de post meteen aan te passen. Zo mis je nooit meer wat er moet veranderen."},{"num":"v32.80","type":"polish","title":"Nettere goedkeur-pagina voor je klanten","problem":"Op de goedkeur-pagina opende \"Alles goedkeuren\" een kale browser-pop-up, en een verlopen link toonde dezelfde melding als een kapotte link.","solution":"Je klant bevestigt \"Alles goedkeuren\" nu in de pagina zelf, in dezelfde stijl. En een verlopen link zegt nu duidelijk dat de link is verlopen, in plaats van \"link niet gevonden\"."},{"num":"v32.79","type":"polish","title":"Onboarding-bord in een rustige, overzichtelijke stijl","problem":"Het onboarding-bord had gekleurde kaarten per kolom, labels in hoofdletters en op elk kaartje een status, waardoor het druk oogde.","solution":"Kaarten zijn nu wit met een dunne streep in de kleur van de fase die je zelf instelt, tags staan als stipje met een woord, en een status zie je alleen als een contact is afgerond of gestopt. Het venster om een contact te bewerken is rustiger en de knoppen blijven altijd in beeld. Slepen en filteren werken zoals je gewend bent."},{"num":"v32.78","type":"bugfix","title":"Geüpload lettertype toont weer met zijn eigen naam op het klantprofiel","problem":"Op het klantprofiel stond een zelf-geüpload lettertype als een technische verwijzing in plaats van de naam die je het had gegeven.","solution":"Je geüploade lettertypes tonen nu overal op het klantprofiel gewoon hun eigen naam, net als in het bewerkvenster."},{"num":"v32.77","type":"feature","title":"Mislukte incasso? Probeer de betaling direct opnieuw","problem":"Als de incasso van je Senly-abonnement mislukte, kon je alleen wachten of je betaalmethode bijwerken â de betaling zelf opnieuw proberen ging niet.","solution":"Bij een mislukte incasso zie je nu het openstaande bedrag en de gekoppelde kaart, met een knop om de betaling meteen opnieuw te proberen. Lukt het meteen, dan is je toegang direct hersteld; wordt de betaling nog verwerkt, dan zie je een melding en krijg je bericht zodra het gelukt is; wordt hij geweigerd, dan zie je meteen waarom."},{"num":"v32.76","type":"polish","title":"Verlopen abonnement? Start het met één klik opnieuw","problem":"Was je abonnement helemaal beëindigd, dan kwam je op een scherm dat alleen naar de abonnementspagina verwees zonder duidelijke volgende stap.","solution":"Is je abonnement verlopen en valt er niets meer te innen, dan zie je nu meteen een knop om een nieuw abonnement te starten â je gegevens blijven bewaard."},{"num":"v32.75","type":"polish","title":"Klant-icoontjes bij taken zien er in donkere modus netter uit","problem":"Stonden er meerdere klanten bij een taak, dan overlapten de klant-icoontjes in donkere modus met een donkere naad, waardoor ze ongelijk van helderheid leken.","solution":"De icoontjes overlappen nog steeds mooi, maar hebben nu een dekkende achtergrond zodat er geen donkere naad meer ontstaat en elk icoon even helder is."},{"num":"v32.74","type":"polish","title":"Rustiger mailoverzicht: klap secties in de zijbalk in","problem":"Met meerdere mailboxen, adressen en labels werd de linkerkolom van je e-mail een lange, volle lijst waar je doorheen moest scrollen.","solution":"Je kunt mappen, inboxen, adressen en labels nu per onderdeel in- en uitklappen. Ingeklapt zie je meteen hoeveel er in staan, en je keuze wordt onthouden, zodat je zijbalk zo rustig blijft als je zelf wilt."},{"num":"v32.73","type":"polish","title":"Instagram-groeitool in een rustige, overzichtelijke opbouw","problem":"De groeitool was één lange kaart waarin acties, tempo, doelaccounts en resultaten door elkaar liepen.","solution":"De tool is nu ingedeeld in duidelijke blokken. Per actie zie je de schakelaar en het maximum per dag netjes op één regel, tempo-velden tonen meteen hun eenheid, en de resultaten staan in een rustige tabel die ook op je telefoon goed leest."},{"num":"v32.72","type":"polish","title":"LinkedIn- en TikTok-groeitools in dezelfde rustige stijl","problem":"De groeitools voor LinkedIn en TikTok hadden gekleurde vlakken, kopjes in hoofdletters en losse tekentjes in de knoppen, en op je telefoon vielen knoppen soms half buiten beeld.","solution":"Trefwoorden, berichten en voortgang staan nu in rustige blokken met dunne lijnen, een lopende run zie je als één duidelijke regel met een stopknop, en foutmeldingen zijn goed leesbaar. Op je telefoon past alles weer netjes in beeld."},{"num":"v32.71","type":"polish","title":"Facebook-groeitool rustiger, en alle groeitools weer goed op je telefoon","problem":"Op je telefoon kromp de hoofdkolom van de groeitools tot een smalle strook, en de Facebook-tool toonde een lopende run, fouten en waarschuwingen in drukke gekleurde vlakken.","solution":"Op je telefoon staan alle blokken nu netjes onder elkaar over de volle breedte. In de Facebook-tool zie je een lopende run als één rustige regel met een stopknop, en meldingen staan overzichtelijk met een dun streepje in plaats van een gekleurd vlak."},{"num":"v32.70","type":"polish","title":"Cijferrij van de groeitools sluit netjes af","problem":"Op je telefoon of tablet bleef er in de cijferrij van de groeitools een leeg grijs vak over, in donkere modus stonden er pijltjes achter waarden die je niet kon aanklikken, en het label Hoofdactie was in lichte modus wit op lichtgrijs.","solution":"Het laatste cijfer vult nu de rij op, zodat de cijferrij op elk scherm netjes sluit, de losse pijltjes zijn weg en het label Hoofdactie staat goed leesbaar in de kleur van het platform."},{"num":"v32.69","type":"bugfix","title":"Website scannen werkt ook bij zware websites","problem":"Bij sommige websites, vooral sites gebouwd met een paginabouwer, kreeg je bij het scannen voor bedrijfsfeiten de melding dat de pagina te groot was.","solution":"Ook zware pagina's worden nu gewoon gescand, en als je adres doorverwijst (bijvoorbeeld van www naar zonder www) worden de onderliggende pagina's zoals diensten en over ons weer meegenomen."},{"num":"v32.68","type":"polish","title":"Klantgegevens bewerken oogt rustiger","problem":"Het venster om klantgegevens te bewerken had kopjes in hoofdletters, gekleurde uitlegvakken en roze foutmeldingen, en op je telefoon liep het tabblad Algemeen buiten beeld.","solution":"Alle tabbladen hebben nu gewone kopjes, dunne lijnen en foutmeldingen met een rustig streepje. De knop Scan nu staat direct naast het website-adres, een gekozen dag is duidelijker te zien, en op je telefoon past alles weer netjes."},{"num":"v32.67","type":"polish","title":"Canva-ontwerpen naar je planner sturen oogt rustiger","problem":"Het venster om Canva-ontwerpen naar de contentplanner te sturen zat vol gekleurde vakken, piepkleine knopjes en tekentjes, en was op je telefoon niet te gebruiken.","solution":"Instellingen, pagina's en meldingen staan nu rustig en overzichtelijk, de kleine knoppen zijn beter leesbaar, en op je telefoon staan de onderdelen netjes onder elkaar met de knoppen altijd in beeld. Je voorbeeldbeelden zijn even groot gebleven. Het kalendericoon bij de datum is nu ook in donkere modus goed zichtbaar."},{"num":"v32.66","type":"performance","title":"Het portaal laadt sneller","problem":"Na alle vernieuwingen van de afgelopen tijd stuurde het portaal nog veel oude, ongebruikte opmaak mee na
2ar je browser.","solution":"Die oude opmaak is opgeruimd, waardoor er ruim een kwart minder hoeft te laden. Pagina's openen daardoor net wat vlotter, zonder dat er iets aan het uiterlijk verandert."},{"num":"v32.65","type":"polish","title":"Rustigere meetingkalender","problem":"De kalender bij Meetings had een werkbalk vol omlijnde knoppen met een kleurverloop en afspraken met gloed en schaduw, en op je telefoon viel de maand na woensdag buiten beeld.","solution":"Maand, Week en Dag wissel je nu met één rustige schakelaar, Nieuwe meeting staat rechts en afspraken houden hun eigen kleur zonder drukte. De weekcijfers en vinkjes houden je vertrouwde kleuren, en op je telefoon passen alle zeven dagen weer in beeld."},{"num":"v32.64","type":"bugfix","title":"Overlappende meetings staan naast elkaar","problem":"Twee meetings op hetzelfde moment lagen in je kalender over elkaar heen, en onder de week- en dagweergave stond een groot leeg vlak.","solution":"Meetings die tegelijk plaatsvinden staan nu netjes naast elkaar, korte afspraken tonen titel en tijd, de kalender eindigt bij het laatste uur en de maand heeft een vaste, rustige hoogte per dag."},{"num":"v32.63","type":"polish","title":"De klantomgeving voelt nu als je eigen Senly-portaal","problem":"De klantomgeving had een eigen, kale opmaak die weinig leek op het portaal waarin jij werkt.","solution":"Je klant krijgt dezelfde zijbalk, kopbalk, tegels en kaarten als jij, in jouw logo en merkkleur, met een lichte en donkere modus en een inlogscherm in dezelfde stijl als dat van Senly. Op de telefoon werkt alles via een handig menu."},{"num":"v32.62","type":"bugfix","title":"Duitstalige klanten zien hun resultaten in correct Duits","problem":"In de Duitse klantomgeving stonden woorden als Reichweite en Beiträge met een kleine letter bij de cijfers.","solution":"Die woorden houden nu hun hoofdletter, zoals het in het Duits hoort."},{"num":"v32.61","type":"bugfix","title":"Je klant ziet de naam van je bureau, niet de naam van je portaal","problem":"In de klantomgeving en de uitnodigingsmail stond de naam van je portaal, bijvoorbeeld Beheerd door Bedrijfsportaal.","solution":"Je klant ziet nu overal je bedrijfsnaam, zodat meteen duidelijk is wie zijn social media beheert."},{"num":"v32.60","type":"polish","title":"De klantomgeving heeft een adres dat in elke taal klopt","problem":"De klantomgeving stond op een Nederlands adres, ook voor klanten die hem in het Engels, Duits of Frans gebruiken.","solution":"Je klant vindt zijn omgeving nu op /portal, herkenbaar in alle vier de talen. Eerder verstuurde uitnodigingen en links blijven gewoon werken."},{"num":"v32.59","type":"feature","title":"Een klantomgeving waar je klant van onder de indruk is","problem":"Het overzicht van je klant was een rij cijfers en losse lijstjes, en posts goedkeuren voelde niet als de echte post.","solution":"Je klant ziet nu meteen wat er van hem gevraagd wordt, zijn komende posts als beeldstrook en per kanaal hoe zijn volgers groeien. Posts goedkeuren gebeurt in een voorbeeld zoals de post straks op Instagram of LinkedIn staat, met zijn eigen profielfoto. Op de telefoon werkt alles als een app met een tabbalk onderin."},{"num":"v32.58","type":"polish","title":"Bekijk als klant blijft in je Senly-app","problem":"Gebruik je Senly als app op je computer, dan opende Bekijk als klant een los browsertabblad buiten de app.","solution":"Het voorbeeld opent nu in hetzelfde venster, en met Voorbeeld sluiten ben je direct terug bij het klantprofiel."},{"num":"v32.57","type":"polish","title":"Bekijk als klant met dezelfde zwevende balk als in je portaal","problem":"Bekeek je de omgeving van een klant, dan stond er een brede gekleurde balk bovenaan die de pagina naar beneden duwde.","solution":"Onderin zweeft nu dezelfde rustige balk als wanneer je het portaal als collega bekijkt, met de naam van je klant en één knop terug naar je eigen portaal. Op de telefoon staat hij netjes boven de menubalk."},{"num":"v32.56","type":"polish","title":"Je klant ziet zijn planning in dezelfde kalender als jij","problem":"De planning in de klantomgeving had een eigen, eenvoudige maandkalender die niet leek op de contentkalender in je portaal.","solution":"Je klant krijgt nu dezelfde kalender als jij: een weekweergave met tijden en de maandweergave, met dezelfde kaartjes en statuskleuren. Alles blijft alleen bekijken, en op de telefoon ziet hij een overzichtelijke lijst per dag."},{"num":"v32.55","type":"feature","title":"Resultaten voor je klant in een strakke, professionele presentatie","problem":"De resultatenpagina van je klant was een verzameling losse kaartjes, en bij de beste posts werd een percentage als aantal reacties getoond.","solution":"Je klant ziet nu in één samenvatting zijn totale volgers met een groeigrafiek, de verdeling per kanaal en zijn bereik, interacties, posts en betrokkenheid. Daaronder een overzichtelijke tabel per kanaal, inzichten met een duidelijk icoon en een galerij van zijn beste posts met likes, reacties, bereik en het juiste betrokkenheidspercentage."},{"num":"v32.54","type":"polish","title":"Rustige paginakoppen in de klantomgeving","problem":"De paginaâs in de klantomgeving hadden een losse titel met een icoontje boven de inhoud, die niet aansloot bij de rest.","solution":"De paginanaam staat nu in het midden van de bovenbalk, zoals in een app, en de inhoud begint direct. Bij Resultaten kies je de peri
2ode in de samenvatting zelf."},{"num":"v32.53","type":"feature","title":"Resultaten van je klant als een echte analytics-show","problem":"De resultatenpagina van je klant liet alleen eindcijfers zien: geen verloop, geen vergelijking en weinig gevoel voor wat er gebeurde.","solution":"Je klant ziet nu een interactieve grafiek van zijn volgers, bereik en interacties per dag, met de cijfers bij het aanwijzen. Elk cijfer wordt vergeleken met de periode ervoor, ieder kanaal heeft een eigen kaart met verloop, een activiteitskaart laat zien op welke dagen content online ging, en zijn beste post staat groot bovenaan met likes, reacties, bereik en betrokkenheid."},{"num":"v32.52","type":"polish","title":"Toolpagina's passen op je telefoon en lezen beter","problem":"Op je telefoon schoven de productpagina's van de downloaders en een aantal andere tools opzij, en bij tools met een lichte kleur was tekst op de knoppen voor een beoordeling slecht te lezen.","solution":"Elke toolpagina past nu volledig in beeld op je telefoon, tekst op lichte knoppen is goed leesbaar, en in de bubbelweergave blijft het zoekveld altijd zichtbaar. De pagina laadt bovendien lichter."},{"num":"v32.51","type":"polish","title":"Rustiger klantdossier, en je ziet het als opslaan mislukt","problem":"Het klantdossier stond vol kaders in kaders, felgekleurde knoppen en slecht leesbare meldingen, en bij een mislukte opslag stond er toch Opgeslagen.","solution":"Groepen staan nu rustig onder elkaar met dunne lijnen, de knoppen bovenaan zijn stil en duidelijk, en foutmeldingen zijn goed leesbaar. Mislukt het opslaan, dan zie je dat meteen, en op je telefoon past alles weer in beeld."},{"num":"v32.50","type":"bugfix","title":"Nettere factuur- en offerte-PDF's voor je klanten","problem":"In sommige factuursjablonen werden woorden midden in een lettergreep afgebroken, viel het minteken bij een korting weg, ontstonden lege pagina's en stonden betaalgegevens soms over elkaar.","solution":"Woorden blijven heel, kortingen tonen weer hun min-teken, lange facturen lopen netjes door over meerdere pagina's met de kolomkoppen bovenaan, en tekst op een lichte merkkleur blijft leesbaar. Bedragen en berekeningen zijn ongewijzigd."},{"num":"v32.49","type":"polish","title":"Rustigere sjabloonbewerker voor facturen","problem":"De bewerker voor factuursjablonen bestond uit zeven losse kaders met veel omlijnde knoppen, en op je telefoon liepen de kleurvelden buiten beeld.","solution":"De onderdelen staan nu als rustige lijst onder elkaar, elke kleur heeft een klein kleurvak met de code ernaast, de knoppen blijven onderaan in beeld en de voorbeeldfactuur past bij je thema. Ook het venster om een factuurklant toe te voegen is rustiger."},{"num":"v32.48","type":"polish","title":"Aanmelden bij Senly oogt rustiger en werkt beter op je telefoon","problem":"Wie eerder de donkere modus gebruikte, zag op het aanmeldformulier onleesbare stukken, en op de telefoon liep het Google-logo buiten beeld en zoomde de iPhone in bij het typen.","solution":"Het aanmelden sluit nu rustig aan bij de homepage, alles is in elke modus goed leesbaar, foutmeldingen staan duidelijk bij het juiste veld en op je telefoon past alles zonder inzoomen."},{"num":"v32.47","type":"polish","title":"Rustigere bestandsbrowser voor je cloudopslag","problem":"In de bestandsbrowser van Google Drive, Dropbox, OneDrive, SharePoint en Box stonden emoji-mapjes en veel omlijnde knopjes, waren tegels zonder voorbeeld fel wit in donkere modus en werden namen op je telefoon afgekapt.","solution":"Mappen en bestanden hebben nu nette iconen, bekijken en downloaden zijn rustige acties, het raster past bij je thema en op je telefoon lees je de volledige bestandsnaam. Bestandsiconen uit Google Drive zijn nu scherp in plaats van wazig, en foutmeldingen zijn duidelijker."},{"num":"v32.46","type":"polish","title":"Rustigere AI-contentgenerator met een leesbaar voorbeeld","problem":"Het resultaat van de AI-contentgenerator stond vol kaders, emoji en stippelranden, en in lichte modus was het telefoonvoorbeeld van je post deels onleesbaar.","solution":"Caption, hashtags en visuele brief staan nu rustig onder elkaar, het voorbeeld van je post is in elke modus goed leesbaar, carrousel-stappen volgen je merkkleur en foutmeldingen zijn duidelijk. Bij de soorten post die een carrousel opleveren staat nu het label Carrousel, zodat je meteen ziet waar je een carrousel maakt."},{"num":"v32.45","type":"polish","title":"Je abonnementspagina is in elke modus goed leesbaar","problem":"Op de abonnementspagina waren de opties Per kwartaal en Jaarlijks in donkere modus onleesbaar, was het bevestigingsvenster altijd wit en stonden meldingen over een opgezegd of gepauzeerd abonnement in lichtgeel op wit.","solution":"Alle opties, meldingen en vensters zijn nu rustig en goed leesbaar, je huidige facturatiecyclus heeft een vinkje, opzeggen blijft duidelijk herkenbaar zonder drukte, en als hervatten of doorgaan mislukt zie je dat meteen."}]}
2,{"date":"2026-09-28","version":"v32.44","clV":"v2.5","title":"Een rustige, overzichtelijke teamchat","items":[{"num":"v32.44","type":"polish","title":"Bijschriften klinken menselijker, minder als AI","problem":"Bij het in bulk genereren van content slopen er soms AI-clichés en holle openers in (\"in de wereld van\", \"ben jij er klaar voor?\").","solution":"De AI krijgt nu een duidelijke lijst van clichés en holle zinnen om te vermijden â ook in het Engels, Duits en Frans â en de opdracht om te schrijven als iemand die je klant al jaren kent. Zo lezen je bijschriften natuurlijker en minder als een tekstgenerator."},{"num":"v32.43","type":"polish","title":"Bijschriften krijgen een extra menselijke schrijf-slag","problem":"Een bijschrift in één keer genereren bleef soms wat vlak of voorspelbaar.","solution":"De AI schrijft nu met meer speelruimte, en elk bijschrift krijgt daarna nog een korte tweede slag die het concreter en natuurlijker maakt â zwakke, algemene zinnen worden aangescherpt, zonder nieuwe feiten te verzinnen. Je bijschriften voelen daardoor persoonlijker en minder uit een mal."},{"num":"v32.42","type":"feature","title":"Klanten krijgen automatisch een herinnering voor openstaande goedkeuringen","problem":"Stuurde je posts ter goedkeuring, dan bleef het soms stil en moest je er zelf achteraan.","solution":"Heeft een klant na een paar dagen nog niet gereageerd op een review-link, dan sturen we namens jou automatisch een vriendelijke herinnering met de link. Maximaal twee keer, met ruimte ertussen, in de taal van je klant â zodat je er zelf niet meer achteraan hoeft."},{"num":"v32.41","type":"feature","title":"Klanten kunnen alle posts in één klik goedkeuren","problem":"Bij een reeks posts moest de klant elke post apart goedkeuren.","solution":"Op de goedkeur-pagina staat nu een knop \"Alle goedkeuren\" waarmee de klant in één keer akkoord geeft op alles wat nog openstaat. Afzonderlijk goed- of afkeuren met opmerkingen blijft gewoon mogelijk."},{"num":"v32.40","type":"polish","title":"Teamchat opnieuw vormgegeven: rustig en overzichtelijk","problem":"De teamchat voelde druk: drie balken boven de berichten, een tijd onder elk bericht, twaalf knoppen bij elk bericht en een invoerbalk vol losse iconen.","solution":"Berichten van dezelfde collega staan nu als één groep bij elkaar, met de tijd alleen onder het laatste bericht. Bovenin kies je met één schakelaar tussen groepen en direct, en de invoerbalk is één rustige regel met extra opties achter de plusknop. Bij een bericht zie je drie knoppen en de rest in een menu. In donkere modus is je eigen tekst beter leesbaar, en op je telefoon vult de chat het hele scherm."},{"num":"v32.39","type":"polish","title":"Alle vensters in de teamchat in dezelfde rustige stijl","problem":"Zoeken, threads, opgeslagen berichten, herinneringen, stemmingen, doorsturen en een nieuwe groep aanmaken zagen er nog anders uit dan de vernieuwde chat.","solution":"Deze vensters openen nu als één geheel over de chat, met een terugknop bovenin, zoals je gewend bent van je telefoon. Taken, klantkaarten, links en stemmingen staan netjes in de berichten, stickers staan los zonder kader, en je bewerkt een bericht direct in de bubbel zelf. Voorbeelden in zoekresultaten en lijsten lees je als gewone tekst, en triggers zet je aan of uit met een schakelaar."},{"num":"v32.38","type":"polish","title":"Boekingspagina's voor je klanten: rustig, helder en in jouw huisstijl","problem":"De boekingspagina had een half scherm in één felle kleur en zware koppen, en de pagina om een afspraak te verzetten of te annuleren toonde niet de kleuren van je bureau.","solution":"Je klanten kiezen nu een dag en tijd in één rustige kaart met een overzichtelijke kalender, en jouw merkkleur zie je precies waar ze klikken. Het overzicht van je afspraaktypes, de teampagina, de vragenlijst en de pagina om te verzetten of te annuleren hebben dezelfde stijl en tonen allemaal je eigen logo en kleur. Ook met een lichte merkkleur blijft alles goed leesbaar, en de pagina blijft licht, ook als je klant zijn telefoon in donkere modus heeft."},{"num":"v32.37","type":"polish","title":"Voorbeeld van je boekingspagina klopt weer, en rustigere afspraaktypes","problem":"Het voorbeeld bij de huisstijl van Meetings liet nog de oude boekingspagina zien, en bij je afspraaktypes stonden round-robin en prijs als opvallende gekleurde balken.","solution":"Het voorbeeld laat nu groot en goed leesbaar zien hoe je klanten de vernieuwde boekingspagina zien, in jouw kleur, en de uitleg bij de huisstijlkleur klopt weer. Round-robin, groepen en prijs staan als rustige labels naast de duur en het aantal boekingen."},{"num":"v32.36","type":"polish","title":"Rustigere uitleg naast de kalender op je boekingspagina","problem":"Na
2ast de kalender stond veel tegelijk: een grote titel, de tijdzone, gekleurde iconen en een lange beschrijving, waardoor je klanten op de telefoon ver moesten scrollen voor ze bij de kalender waren.","solution":"De titel is rustiger, de tijdzone staat nu onder de kalender waar je een tijd kiest, en een lange beschrijving wordt ingekort met een knop om alles te lezen. Je klanten zien meteen waar het over gaat en zijn sneller bij het kiezen van een moment."},{"num":"v32.35","type":"polish","title":"CRM in een rustiger jasje: overzichtelijke pipeline en contacten","problem":"Het pipelinebord had fel gekleurde kaarten en een lange rij knoppen, waardoor je deals moeilijk in één oogopslag kon overzien.","solution":"Dealkaarten zijn nu wit en compact met naam, bedrijf, bron en bedrag, en de fasekleur staat als klein stipje bij de kolom. Minder gebruikte acties zitten achter één menuknop, contacten staan in een nette lijst, en activiteit en rapportages lezen rustiger. Alles werkt ook prettig op je telefoon en in donkere modus."},{"num":"v32.34","type":"polish","title":"E-mail en campagnes in de stijl van Apple Mail","problem":"De inbox voelde druk door gekleurde vlakken, zware kaders en een actiebalk die over twee regels liep.","solution":"Je inbox heeft nu drie rustige kolommen met een duidelijke volgorde van afzender, onderwerp en voorbeeldtekst, en ongelezen mail herken je aan een klein stipje. Een nieuwe e-mail open je als nette sheet, en je campagnes zie je in één overzichtelijke tabel met kerncijfers bovenaan."},{"num":"v32.33","type":"polish","title":"Boekingspagina ruimer op grote schermen","problem":"Op een laptop of groot scherm oogde de boekingspagina klein, met veel lege ruimte eromheen.","solution":"Op grote schermen is de kaart nu breder en zijn de kalenderdagen, tijden en tekst een maat groter, zodat je klanten makkelijker een moment kiezen. Op tablet en telefoon blijft alles zoals het was."},{"num":"v32.32","type":"polish","title":"Campagnepagina zonder dubbele kop","problem":"Boven je campagnes stond een grote kop die niets toevoegde.","solution":"De kop is weg, zodat je kerncijfers en campagnes direct bovenaan staan."},{"num":"v32.31","type":"polish","title":"Pipeline: fasekleuren terug, volledige fasenamen en compactere kaarten","problem":"In het vernieuwde CRM waren lange fasenamen afgekapt, zag je de fase alleen aan een klein stipje en hadden kaarten zonder bedrag een lege strook.","solution":"Elke kolom heeft nu een lichte tint in de fasekleur en elke kaart een dunne gekleurde streep, zodat je bij het scrollen direct ziet waar je bent. Fasenamen lopen door over twee regels, kaarten zonder bedrag zijn korter, en de pipelinenaam zie je alleen nog als kleine keuzeknop wanneer je meerdere pipelines hebt."},{"num":"v32.30","type":"bugfix","title":"Aantal ongelezen mails klopt overal","problem":"In je inbox stond in de zijbalk een ander aantal ongelezen mails dan boven de berichtenlijst, omdat de kop alleen de al geladen mails telde.","solution":"Boven je Postvak IN zie je nu hetzelfde echte aantal ongelezen mails als in de zijbalk. Met een filter of in een andere map verschijnt alleen een aantal als dat ook echt volledig is."},{"num":"v32.29","type":"polish","title":"Bedrijfsgegevens overal correct op de website","problem":"Op een deel van de website stond een verkeerde bedrijfsnaam onder de pagina en een verkeerd gespeld adres.","solution":"Onder elke pagina staat nu dat Senly een handelsnaam is van Social Media Tools, met het KvK-nummer erbij, en het adres klopt overal met het Handelsregister."},{"num":"v32.28","type":"bugfix","title":"Voorbeeldtekst in je maillijst, ook bij je eigen mailserver","problem":"Bij mailboxen van je eigen domein zag je in de lijst alleen afzender en onderwerp, zodat mails met een vergelijkbaar onderwerp lastig uit elkaar te houden waren.","solution":"Onder het onderwerp zie je nu de eerste regels van de mail, net als bij Gmail en Outlook. Je mail wordt daardoor niet als gelezen gemarkeerd."},{"num":"v32.27","type":"polish","title":"Duidelijke keuze tussen je inboxen","problem":"In de zijbalk van je mail stond twee keer Alle inboxen, allebei gemarkeerd, waardoor niet duidelijk was welke inbox je bekeek.","solution":"Er is nu één Alle inboxen. Kies je een mailbox of een los adres, dan is precies die ene gemarkeerd."},{"num":"v32.26","type":"polish","title":"Boekingspagina vult je hele scherm","problem":"Op een laptop of groot scherm stond de boekingspagina als kaart in het midden, met veel lege ruimte eromheen.","solution":"Op grote schermen vult de boekingspagina nu het hele venster, en groeien kalender, tijden en tekst mee met je schermgrootte. Op tablet en telefoon blijft alles zoals het was."},{"num":"v32.25","type":"bugfix","title":"Boekingspagina toont weer de volledige opmaak","problem":"Een deel van de opmaak van de boekingspagina werd niet geladen, waardoor de pagina op grote schermen klein bleef en onderdelen als de bevestigknop en de telefoonweergave niet goed oogden.","solution":"De volledige opmaak laadt nu weer, zodat je klanten de boekingspagina zien zoals bedoeld, op elk scherm."},{"num":"v32.24","type":"polish","title":"Facturen, offertes, contracten en klantportaal in dezelfde rustige stijl","problem":"De pagina's die je klanten openen om een factuur te betalen, een offerte te accepteren of een contract te tekenen zagen er anders uit dan je boekingspagina, en werden bij een telefoon in donkere modus deels donker.","solution":"Al deze pagina's hebben nu één rustige, lichte stijl met jouw logo en merkkleur, duidelijke statussen en een heldere knop om te betalen, accepteren of tekenen. Ze werken prettig op de telefoon en printen netjes. Een verlopen of onjuiste link toont een neutrale melding zonder verwijzing naar Senly."},{"num":"v32.23","type":"polish","title":"Factuur maken is overzichtelijker","problem":"Bij het maken van een factuur stond een lange rij sjabloonknoppen midden in het formulier, was het omschrijvingsveld te smal om in te typen en viel de conceptstempel over de titel in het voorbeeld.","solution":"Het formulier is rustiger, elke factuurregel heeft een brede omschrijving met aantal, prijs, korting en btw eronder, en het sjabloon kies je via één knop uit een galerij met voorbeelden van je eigen factuur. Het totaal staat altijd bovenin en de conceptstempel valt niet meer over de titel."},{"num":"v32.22","type":"polish","title":"Status op je factuur zelf aan of uit zetten","problem":"De sjabloonoptie voor de status-stempel deed op de factuurpagina voor je klant niets meer.","solution":"Met de optie Toon status bepaal je nu overal hetzelfde of de status, zoals Betaald of Concept, op je factuur staat: in het voorbeeld, op de pagina van je klant en in de PDF."},{"num":"v32.21","type":"feature","title":"Bijschriften met de echte feiten van je klant, uit hun website","problem":"AI-bijschriften bleven s
2oms algemeen omdat de AI de specifieke diensten, sterke punten en cases van een klant niet kende.","solution":"Bij een klant kun je nu de website laten scannen. De AI haalt daar concrete bedrijfsfeiten uit â diensten, sterke punten, doelgroep en cases â die je zelf nog kunt bijwerken. Nieuwe bijschriften gebruiken die feiten, zodat posts specifiek en herkenbaar worden in plaats van algemeen."},{"num":"v32.20","type":"feature","title":"De feiten van je klant blijven automatisch actueel","problem":"Een website verandert; feiten van maanden geleden zouden verouderen zonder dat je het merkt.","solution":"Senly houdt de website maandelijks in de gaten. Alleen als er echt iets is gewijzigd, stellen we bijgewerkte feiten voor die jij met één klik overneemt of negeert â er wordt nooit automatisch iets overschreven. Je ziet ook wanneer feiten ouder dan drie maanden zijn, met een seintje om opnieuw te scannen."},{"num":"v32.19","type":"polish","title":"De website-scan is completer én laat gevoelige gegevens weg","problem":"De scan keek alleen naar de startpagina, en pikte soms contactgegevens of een rekeningnummer op â dat hoort niet in de basis voor je posts.","solution":"De scan neemt nu ook een paar kernpagina's mee (zoals over ons en diensten), zodat de feiten completer zijn. Rekeningnummers, telefoonnummers, e-mailadressen, adressen, persoonsnamen en het kleine lettertje (voorwaarden, copyright) worden er automatisch uit gelaten, en de sterkste eigenschappen van je klant staan vooraan zodat ze altijd in je posts terechtkomen."},{"num":"v32.18","type":"polish","title":"Je posts wisselen vanzelf van feit af, zodat het niet gaat vervelen","problem":"Met een vaste set feiten bestond het risico dat elke post op hetzelfde detail bleef hameren.","solution":"Senly wisselt nu per post automatisch af welke feiten op de voorgrond staan â de ene post gaat over die ene sterke eigenschap, de volgende over een andere. Zo blijven je bijschriften persoonlijk en herkenbaar zonder dat steeds dezelfde info voorbijkomt."},{"num":"v32.17","type":"feature","title":"Bijschriften pakken de feiten die bij het onderwerp passen, in de taal van je klant","problem":"De feiten werden willekeurig gekozen en stonden altijd in het Nederlands, ook voor een Engelse, Duitse of Franse klant.","solution":"Gaat een post over duurzaamheid, dan komen de duurzaamheidsfeiten naar voren; gaat 'ie over een product, dan de productfeiten â passend bij de invalshoek van die post. En de feiten worden voortaan opgesteld in de taal van je klant, zodat ze meteen kloppen en makkelijk te bewerken zijn."},{"num":"v32.16","type":"polish","title":"De website-scan vindt meer én laat zien wat er is gevonden","problem":"De scan volgde alleen links op de startpagina, en je zag niet hoeveel er was opgehaald.","solution":"De scan gebruikt nu ook de sitemap van de website om de belangrijkste pagina's te vinden, dus de feiten worden completer. Na een scan zie je meteen hoeveel pagina's zijn bekeken en hoeveel feiten er zijn gevonden â en een seintje als het weinig is, zodat je de scan op een informatierijkere pagina kunt richten."},{"num":"v32.15","type":"polish","title":"Bedrijfsfeiten per onderdeel bewerken","problem":"Alle feiten stonden in één groot tekstvak, wat het lastig maakte om gericht iets aan te passen.","solution":"De feiten staan nu netjes per onderdeel â wat het bedrijf doet, sterke punten, cijfers, diensten â elk met een eigen vak. Zo pas je precies dat ene stuk aan zonder door de rest te hoeven scrollen."},{"num":"v32.14","type":"feature","title":"Plak de maand-update van je klant en je posts weten wat er speelt","problem":"De ontwikkelingen, gebeurtenissen en updates van je klant van de afgelopen maand â een nieuwe dienst, een actie, een behaalde mijlpaal â kwamen niet vanzelf in je content terecht.","solution":"Bij een klant plak je nu het maandelijkse verslag in een vak. Senly maakt daar korte, bruikbare punten van en verwerkt die in je nieuwe bijschriften waar het natuurlijk past, zodat je posts aansluiten op wat er nu echt speelt. Na anderhalve maand vervalt de update vanzelf, zodat oude berichten niet blijven terugkomen."},{"num":"v32.13","type":"polish","title":"Meetings-instellingen overzichtelijker","problem":"De instellingen van Meetings, zoals je beschikbaarheid, koppelingen en afspraaktypes, zaten vol losse kaarten, gekleurde vlakken en labels in hoofdletters.","solution":"Je weekrooster is één rustige lijst met een schakelaar per dag, je koppelingen staan als rustige kaarten naast elkaar met een duidelijke status, en afspraaktypes, formulieren, routers en meldingen bewerk je in nette vensters. Alles werkt ook prettig op je telefoon en in donkere modus."},{"num":"v32.12","type":"polish","title":"Rustigere contentplanner","problem":"Boven de agenda stonden twee rijen knoppen, de beste postmomenten kleurden de halve week blauw en de agenda opende midden in de nacht.","solution":"Alle knoppen staan nu op één rij met minder gebruikte acties onder een menu, alleen de echt beste uren krijgen een lichte tint, en de agenda opent op 7:00. Bij een nieuwe post groeit het tekstvak mee met je tekst en heet de knop gewoon Inplannen."},{"num":"v32.11","type":"polish","title":"Status van je posts in één oogopslag","problem":"Op elk kaartje in de agenda stond een label in hoofdletters, zoals GEPUBLICEERD of TER GOEDKEURING, waardoor de agenda druk oogde.","solution":"De status zie je nu aan een gekleurde streep: blauw is ingepland, oranje wacht op goedkeuring, rood is mislukt en grijs is een concept. Gepubliceerde posts worden wat doorzichtiger met een vinkje, zodat je ziet wat nog moet gebeuren. De statusnaam zie je als je over een kaartje beweegt."},{"num":"v32.10","type":"bugfix","title":"Metricool-posts die op goedkeuring wachten zijn oranje","problem":"Een post die in Metricool nog op goedkeuring wachtte, stond in de planner als gewoon ingepland, en de agenda opende soms midden in de nacht.","solution":"Posts die in Metricool op goedkeuring wachten krijgen nu de oranje streep, net als in Metricool zelf. De agenda opent ook na het wisselen van merk op 7:00, en video's uit Metricool tonen weer een voorbeeldbeeld op het kaartje."},{"num":"v32.09","type":"polish","title":"Contentkalender gebruikt dezelfde statuskleuren","problem":"In de contentkalender bij een klant hadden alle geplande posts dezelfde kleur, ook als ze in Metricool nog op goedkeuring wachtten.","solution":"De contentkalender gebruikt nu dezelfde kleuren als de planner en Metricool: blauw voor ingepland, oranje voor wacht op goedkeuring en rood voor afgekeurd. In de lijst en bij de details staat ook Ter goedkeuring."},{"num":"v32.08","type":"bugfix","title":"Lange vensters passen altijd op je scherm","problem":"Bij lange formulieren in een venster vielen de knoppen onderaan op een laptopscherm buiten beeld, waardoor je niet kon opslaan.","solution":"Een venster wordt nooit meer hoger dan je scherm: de inhoud scrolt en de knoppen blijven altijd onderaan in beeld, ook op je telefoon."},{"num":"v32.07","type":"polish","title":"Schakelaars in plaats van vinkjes","problem":"Instellingen die je aan of uit zet stonden overal als losse vinkjes, wat minder duidelijk en minder rustig oogde.","solution":"Alle aan/uit-instellingen in het portaal, van meldingen en rechten tot automatisch publiceren, zijn nu duidelijke schakelaars. Waar je iets selecteert of akkoord gaat met voorwaarden, blijft het een vinkje."},{"num":"v32.06","type":"polish","title":"Contentkalender in dezelfde stijl als de planner","problem":"De contentkalender bij een klant zag er anders uit dan de planner, met een andere werkbalk, andere dagkoppen en een agenda die al om 6:00 begon.","solution":"De contentkalender werkt nu zoals de planner: alles op één werkbalk, dagen als maandag 28, de agenda opent op 7:00 en de statuskleuren zijn gelijk. De grote voorbeeldbeelden van je posts blijven, en in de maandweergave sleep je een post direct naar een andere dag."},{"num":"v32.05","type":"polish","title":"Factuurvoorbeeld als volledig A4-blad","problem":"Bij het maken van een factuur was het voorbeeld zo kort als de inhoud, waardoor het niet mooi uitlijnde met het formulier ernaast.","solution":"Het voorbeeld is nu een volledig A4-blad dat de hoogte van het scherm vult, met een beetje ruimte boven en onder, zodat je precies ziet hoe je factuur op papier staat."},{"num":"v32.04","type":"polish","title":"Rustiger affiliate-dashboard voor je partners","problem":"Het affiliate-dashboard zat vol losse kaarten met gekleurde vlakken, gekleurde statuslabels en hoofdletters, en op de Content Creator-pagina stond een technische tekst in plaats van Goedgekeurd.","solution":"Je kerncijfers staan nu in één overzichtelijke strook, statussen als stip met tekst, en de kaarten zijn rustig en effen met een licht icoon op de achtergrond. Commissies, uitbetalingen en je persoonlijke link werken precies zoals voorheen, en de status van een bonus toont weer gewoon Goedgekeurd of Afgewezen."},{"num":"v32.03","type":"polish","title":"Rustigere werkbalk in de contentkalender","problem":"De werkbalk boven de contentkalender bestond uit veel losse omrande knoppen, waardoor de pagina druk oogde.","solution":"De datum en de pijltjes vormen nu één knop, en zoeken, filteren en het menu zijn rustige knoppen zonder rand. Alleen de datum, Maand/Wee
2k en Een bericht aanmaken springen er nog uit."},{"num":"v32.02","type":"polish","title":"Bonuspaginaâs in dezelfde rustige stijl","problem":"De paginaâs voor de Content Creator-, Review- en White-label-bonus hadden een eigen druk ontwerp met labels in hoofdletters, en de Review-pagina noemde alleen Trustpilot terwijl je op Trustpilot én Google een review zet.","solution":"De drie bonuspaginaâs hebben nu een duidelijke kop, korte uitleg en dezelfde rustige stijl als je affiliate-overzicht. Bij Review staat nu goed dat je één review op Trustpilot en één op Google zet voor je gratis week."}]},{"date":"2026-09-27","version":"v32.01","clV":"v2.4","title":"Review-posts alleen nog met échte klantquotes","items":[{"num":"v32.01","type":"bugfix","title":"De AI verzint geen klantreviews meer","problem":"Bij een review-post kon de generator zelf een klant met naam en citaat bedenken â overtuigend geschreven, maar niet echt, en dus niet plaatsbaar.","solution":"Review-posts gebruiken nu uitsluitend echte reviews uit het klantprofiel. Kiest de generator zelf een postvorm, dan slaat hij reviews over; kies je het type bewust en is er geen echte review, dan laat hij een duidelijke invulplek staan in plaats van iets te verzinnen. De kwaliteitscontrole keurt een verzonnen testimonial bovendien hard af."},{"num":"v32.00","type":"polish","title":"Eigen lettertype uploaden nu direct zichtbaar","problem":"De upload-optie voor een eigen lettertype zat verstopt onderin het keuzemenu per tekstonderdeel â lastig te vinden als je lettertype niet in de lijst staat.","solution":"Bij de huisstijl staat nu een duidelijke knop \"Eigen font uploaden\" onder de tekstonderdelen, mét de bestandstypen die kunnen. Ook het keuzemenu bij de merk-lettertypes zelf heeft de upload-optie gekregen. Na het uploaden kies je het lettertype meteen per onderdeel."},{"num":"v31.99","type":"bugfix","title":"Geüpload lettertype toont nu zijn naam en werkt op je posts","problem":"Voegde je een geüpload lettertype toe aan de merk-lettertypes, dan verscheen een interne code (zoals \"upload:47a4f6a5\") in plaats van de naam, en werd dat lettertype niet echt op de posts gebruikt.","solution":"Een geüpload lettertype toont nu gewoon zijn naam in de lijst, en de opmaak gebruikt het ook echt op de posts. Eerder toegevoegde codes worden automatisch naar de juiste naam omgezet."},{"num":"v31.98","type":"polish","title":"Mooiere laad-animatie bij het downloaden van tools","problem":"Tijdens het downloaden van een tool werd het icoon grijs met een standaard laadrondje.","solution":"Nu draait een wijzer met de klok mee over het icoon en onthult het echte logo stukje bij stukje in kleur â een subtiele, merkgerichte laadanimatie."},{"num":"v31.97","type":"polish","title":"Grotere eigen lettertypes uploaden","problem":"Een eigen lettertype uploaden werd vaak geweigerd omdat het bestand net te groot was.","solution":"De maximale bestandsgrootte is flink verhoogd, ruim genoeg voor de meeste lettertype-bestanden. Een gecomprimeerde versie blijft de aanrader omdat die kleiner is en sneller laadt."},{"num":"v31.96","type":"feature","title":"Koppel het Meta-advertentieaccount van je klant","problem":"Om de advertentieresultaten van een klant te zien moest je steeds apart inloggen bij Meta, los van de rest van je werk in Senly.","solution":"In de planner koppel je onder Advertenties het Meta-advertentieaccount en de Facebook-pagina van je klant. Je ziet direct of het account actief is of dat er een betaalmethode ontbreekt, en de resultaten van lopende campagnes staan ernaast. Dit is de basis om straks ook campagnes vanuit Senly op te zetten."},{"num":"v31.95","type":"polish","title":"Advertenties-tab in de planner overzichtelijker en even breed als de planning","problem":"De Advertenties-tab stond in een smalle kolom met losse blokken onder elkaar, waardoor je moest zoeken waar je wat vond.","solution":"De tab gebruikt nu de volle breedte van de planning en is opgedeeld in Overzicht en Concurrenten. In Overzicht zie je eerst je gekoppelde advertentieaccounts, dan de kerncijfers op één rij en daaronder al je campagnes. Ook op je telefoon past alles netjes."},{"num":"v31.94","type":"feature","title":"Zet Meta-advertentiecampagnes op vanuit Senly","problem":"Om voor een klant te adverteren moest je elke
2campagne apart in Meta Ads Manager opzetten, los van je planning in Senly.","solution":"Onder Advertenties maak je nu zelf campagnes voor bereik, websiteverkeer of betrokkenheid: kies je doelgroep, budget en advertentie en controleer alles vooraf. Een campagne staat altijd eerst gepauzeerd klaar; pas als je activeert en het budget bevestigt, gaat er geld lopen. Pauzeren of het budget aanpassen doe je met één klik."},{"num":"v31.93","type":"feature","title":"Eigen lettertypes zijn nu bureau-breed: één keer uploaden, overal beschikbaar","problem":"Een geüpload lettertype hoorde bij één klantprofiel, dus voor elke andere klant moest je hetzelfde lettertype opnieuw uploaden.","solution":"Upload je lettertype nu één keer en het staat meteen klaar bij al je klantprofielen. Eerder geüploade lettertypes worden automatisch aan je bureau-bibliotheek toegevoegd, dus je hoeft niks over te doen."},{"num":"v31.92","type":"feature","title":"Berichten van Instagram, Facebook en Bluesky in je planner-inbox","problem":"Directe berichten aan je klanten moest je per platform in een andere app lezen en beantwoorden, los van je planning.","solution":"De inbox in de planner heeft nu een tab Berichten: gesprekken van Instagram, Facebook Messenger en Bluesky staan samen op één plek, en je antwoordt direct vanuit Senly. Je ziet per gesprek hoe lang je nog kunt antwoorden, en ongelezen berichten springen eruit. LinkedIn-bedrijfspagina's volgen zodra LinkedIn dat toestaat."},{"num":"v31.91","type":"polish","title":"Nieuwe klant toevoegen in een logischere volgorde","problem":"Bij het toevoegen van een klant stonden de secties in een onlogische volgorde: eerst diensten, dan een lege merkanalyse, en pas onderaan de gegevens en klantidentiteit.","solution":"Je begint nu met de gegevens: je typt de naam, en ziet die direct terug in de voorbeeldkaart eronder waar je kleur en icoon kiest. Daarna kies je de diensten en als laatste de optionele merkanalyse."},{"num":"v31.90","type":"feature","title":"Reacties en reviews van al je kanalen beantwoorden vanuit de inbox","problem":"Reacties onder je posts moest je per kanaal opzoeken, en op de meeste kanalen kon je vanuit Senly niet antwoorden.","solution":"De tab Reacties in de inbox verzamelt nu reacties van Instagram, Facebook, Threads, YouTube, LinkedIn-bedrijfspagina's, Bluesky en Mastodon, plus je Google-reviews. Je ziet onder welke post een reactie staat, of er al is geantwoord, en je antwoordt direct namens het account. Filter per kanaal of op ongelezen."},{"num":"v31.89","type":"polish","title":"Nieuwe klant toevoegen: rustiger en strakker","problem":"Het venster voor een nieuwe klant had velden in verschillende hoogtes en stijlen, en je moest eerst in het naamveld klikken voordat je kon typen.","solution":"Alle velden hebben nu dezelfde hoogte en stijl, de websiteanalyse staat netjes in lijn met de rest en de uitleg leest rustiger. Je kunt direct de klantnaam typen zodra het venster opent."}]},{"date":"2026-09-26","version":"v31.88","clV":"v2.3","title":"Persoonlijkere content, sneller vinden en zien wat om je aandacht vraagt","items":[{"num":"v31.88","type":"feature","title":"Handel meldingen af zonder van scherm te wisselen","problem":"Een verlopen factuur of een binnengekomen aanvraag zag je in je meldingen, maar om er iets mee te doen moest je eerst naar het juiste scherm.","solution":"Vanuit het belletje stuur je nu meteen een betaalherinnering bij een verlopen factuur en vink je een aanvraag af als afgehandeld. En op het klantoverzicht zegt de knop bij een signaal direct wat je gaat doen â \"Plan content\" als er te weinig staat gepland, \"Bekijk taken\" bij een achterstand."},{"num":"v31.87","type":"polish","title":"Postmomenten: tijden volledig leesbaar en een nette tijdkiezer","problem":"In het bewerkvenster van een klant werden de posttijden afgekapt (\"08:0\") en opende het tijdveld een kale browser-dropdown die niet bij het portaal paste.","solution":"Het tijdveld toont nu altijd de volledige tijd en opent een tijdkiezer in de stijl van het portaal, met uren en minuten netjes naast elkaar."},{"num":"v31.86","type":"polish","title":"Minder generiek, meer echt van jouw klant","problem":"AI-teksten konden algemeen aanvoelen â alsof ze bij elk bedrijf in de branche zouden passen.","solution":"De generator verwerkt nu altijd iets wat echt van jouw klant is, houdt zich aan de vorm die je kiest (een checklist wordt echt een lijst, een verhaal echt een verhaal), verzint geen feiten of plaatsnamen, en zorgt dat opeenvolgende posts merkbaar van elkaar én van je geplande content verschillen."},{"num":"v31.85","type":"polish","title":"Klantgegevens bewerken: ruimer en rustiger ingedeeld","problem":"Het bewerkvenster van een klant was smal, waardoor velden gedrongen stonden en elk tabblad z
2ijn eigen indeling had.","solution":"Het venster is breder en elk tabblad volgt nu dezelfde heldere opbouw: per onderwerp een korte uitleg links en de velden rechts, met ruimte ertussen. Diensten staan als nette tegels, lettertypes per tekstonderdeel in een overzichtelijke lijst, en kleine schoonheidsfoutjes zoals de ontbrekende markering van het actieve tabblad zijn weggewerkt."},{"num":"v31.84","type":"feature","title":"Kies per tekstonderdeel je lettertype, zoals in Canva","problem":"Je kon maar één lettertype instellen, en dat gold alleen voor de koppen â een eigen letter voor de tekst, citaten of het label eronder was niet mogelijk.","solution":"Bij de huisstijl van een klant kies je nu per onderdeel een lettertype: kop, ondertitel, platte tekst, citaat en bijschrift. Kies uit Google Fonts of upload meerdere eigen lettertypes en wijs ze toe. De nieuwe kiezer laat elk lettertype meteen in zijn eigen letter zien."},{"num":"v31.83","type":"feature","title":"Zoekbalk vindt nu ook facturen en posts","problem":"Een factuur of een bepaalde post terugvinden betekende eerst naar de juiste module klikken en daar apart zoeken.","solution":"Open de zoekbalk (of druk op Cmd/Ctrl+K) en tik een klantnaam, factuurnummer of onderwerp â je springt meteen naar de juiste factuur of post. Vanuit hetzelfde venster start je ook direct een nieuwe taak, klant of factuur."},{"num":"v31.82","type":"feature","title":"Je meldingen tonen nu ook wat om actie vraagt","problem":"Of een factuur betaald was, een contract getekend, er een nieuwe aanvraag binnenkwam of content nog op goedkeuring van de klant wachtte, zag je pas als je in de losse schermen ging kijken.","solution":"Het belletje bundelt het nu op één plek: je ziet in één oogopslag welke facturen betaald zijn, welke contracten getekend zijn, welke formulieren binnenkwamen en bij welke klant content nog op goedkeuring wacht â met één klik door naar de juiste plek."},{"num":"v31.81","type":"bugfix","title":"Je huisstijl-lettertype komt nu betrouwbaar op je posts","problem":"Stond er een lettertype in het klantprofiel dat niet standaard beschikbaar is, dan viel de opmaak stil terug op een standaardletter â ook al had je een tweede, wél beschikbaar lettertype ingevuld.","solution":"De opmaak probeert nu al je ingevulde lettertypes op volgorde en pakt de eerste die kan, zodat je posts in je eigen huisstijl-letter verschijnen."},{"num":"v31.80","type":"feature","title":"Upload je eigen lettertype per klant","problem":"Gebruikte een klant een merk-lettertype dat niet in de standaardlijst staat (zoals Canva Sans), dan kreeg je het niet op je posts.","solution":"Upload nu bij het klantprofiel je eigen lettertype (.woff2, .woff, .ttf of .otf). De koppen van je posts verschijnen dan in dat exacte merk-lettertype."},{"num":"v31.79","type":"polish","title":"Nieuwe klant toevoegen: zelfde ruime, overzichtelijke indeling","problem":"Het venster voor een nieuwe klant was smal, waardoor diensten, AI-analyse en klantgegevens dicht op elkaar stonden.","solution":"Het venster is breder en volgt nu dezelfde opbouw als het bewerkvenster: per onderwerp een korte uitleg links en de velden rechts â dienstverlening, AI brand-analyse, gegevens en klantidentiteit elk in hun eigen rustige blok."}]},{"date":"2026-09-25","version":"v31.78","clV":"v2.2","title":"In één klik hoogwaardige content die bij de klant past","items":[{"num":"v31.78","type":"feature","title":"In één klik een sterke post die bij de klant past","problem":"Je moest zelf het type, het onderwerp en de invalshoek bedenken, en toch voelden de teksten vaak generiek of leken ze te veel op elkaar.","solution":"Kies een klant en klik op genereren â de tool kiest zelf een passend onderwerp en soort post op basis van de branche, doelgroep en toon, houdt rekening met wat je eerder plaatste zodat posts niet op elkaar lijken, en controleert de tekst op kwaliteit voordat je 'm ziet. Zelf sturen kan nog steeds met een eigen onderwerp of een vast posttype."},{"num":"v31.77","type":"feature","title":"Carrousels die je merk vasthouden","problem":"Losse tekstposts vielen weg tussen de mooie, gebrande carrousels die je overal voorbij ziet komen.","solution":"Kies Carrousel als soort post, laat de tekst voorstellen en pas 'm aan, en zet de slides meteen als concept klaar in de planner â met jouw kleuren, logo en stijl op elke slide."},{"num":"v31.76","type":"polish","title":"Carrousels blijven strak, ook bij langere teksten","solution":"De tekst schaalt nu automatisch mee zodat niets buiten de slide valt, en zonder tweede merkkleur kiest de tool zelf een passend accent â elke slide blijft leesbaar en op stijl."},{"num":"v31.75","type":"feature","title":"Elke carrousel in jouw vaste huisstijl","problem":"Zonder vaste stijl zag elke carrousel er net anders uit, waardoor je pagina rommelig oogde.","solution":"Leg de stijl één keer vast per klant en gebruik je eigen lettertype â elke nieuwe carrousel neemt het automatisch over, zodat je pagina één samenhangend geheel wordt."},{"num":"v31.74","type":"bugfix","title":"Feed-analyse loopt niet meer vast","problem":"Bij een uitgebreide analyse kon het resultaat halverwege afbreken met een foutmelding.","solution":"De analyse krijgt nu meer ruimte en vangt een onvolledig antwoord netjes op, zodat je gewoon je content-ideeën te zien krijgt."},{"num":"v31.73","type":"polish","title":"Je posttype kiest meteen de juiste stijl","problem":"Je moest naast het posttype ook nog apart een stijl kiezen.","solution":"Nu past de visuele stijl zic
2h automatisch aan je gekozen type aan â je kunt 'm altijd zelf omzetten. En je lettertype kies je bij de huisstijl uit een lijst, zodat het altijd goed op je posts verschijnt."},{"num":"v31.72","type":"feature","title":"Kies het soort carrousel: lijst, checklist, stappen of quote","problem":"Een carrousel had maar één vorm, waardoor je feed snel eentonig werd.","solution":"Kies nu per carrousel het soort â een tips-lijst, een afvinkbare checklist, een stappenplan of losse quotes â allemaal automatisch in je eigen huisstijl."},{"num":"v31.71","type":"polish","title":"Carrousels ogen rijker en meer af","problem":"De carrousels zagen er nog wat kaal uit naast de mooiste voorbeelden die je online ziet.","solution":"Een nieuwe laag met subtiele textuur, een handgetekende cirkel om je kernwoord, meer diepte in de opsomming en een nette merk-balk onderaan â meer visuele klasse zonder extra werk."},{"num":"v31.70","type":"polish","title":"Ook losse posts in dezelfde rijke stijl","problem":"Een losse afbeelding zag er nog kaal uit en had een ander formaat dan je carrousels.","solution":"Losse posts komen nu uit dezelfde motor: staand formaat, met textuur, je eigen kleuren en lettertype en een nette merk-balk â consistent met je carrousels."},{"num":"v31.69","type":"feature","title":"AI-illustraties voor je posts","problem":"Voor een echt onderscheidende post had je een aparte ontwerper of stockfoto nodig.","solution":"Genereer nu een illustratie in een vaste stijl (klei, papier, flat of foto) met je kop eroverheen â in je eigen merkkleuren, meteen klaar voor de planner."}]},{"date":"2026-09-25","version":"v31.68","clV":"v2.0","title":"Een grondige beveiligingsronde","items":[{"num":"v31.68","type":"polish","title":"Grondige beveiligingscontrole van het hele platform","solution":"We hebben een diepe controle op de bescherming van je gegevens gedaan en tientallen verbeteringen doorgevoerd, zodat je account en je klantdata nog beter beschermd zijn."},{"num":"v31.67","type":"polish","title":"Aanmeldscherm oogt rustiger","problem":"Op de aanmeldstap \"Waar heb je ons gevonden?\" sprongen een paar kanaal-iconen er met felle kleuren uit.","solution":"Alle iconen delen nu dezelfde ingetogen stijl, zodat de keuze er rustiger en verzorgder uitziet."}]},{"date":"2026-09-24","version":"v31.66","clV":"v1.9","title":"Offline-melding verdwijnt nu vanzelf","items":[{"num":"v31.66","type":"feature","title":"\"Stuur naar Contentplanner\" werkt nu ook zonder Metricool","problem":"Canva-designs naar de planner sturen kon alleen als de klant een Metricool-koppeling had; zonder koppeling kreeg je een foutmelding en kwam je content nergens terecht.","solution":"Heb je Metricool gekoppeld, dan gaan de posts zoals altijd via Metricool. Zonder koppeling belanden ze nu rechtstreeks in de Senly-planner. Het scherm laat vooraf zien waar je posts terechtkomen, zodat er geen twijfel is."},{"num":"v31.65","type":"bugfix","title":"Volledige tekst en werkende Metricool-knop bij het bewerken van een Metricool-post","problem":"Bij het bewerken van een Metricool-post werd een langere tekst na een stukje afgekapt, en de knop \"Open in Metricool\" liep op een foutpagina uit. Bij opslaan riskeerde je zo de volledige tekst te overschrijven met de afgekapte versie.","solution":"De volledige tekst is nu zichtbaar en blijft bij opslaan intact, en de knop opent nu direct de juiste omgeving in Metricool."},{"num":"v31.64","type":"bugfix","title":"Aangepaste beschrijvingen bij \"Stuur naar Contentplanner\" blijven behouden","problem":"Bij het versturen van Canva-designs naar de planner werden je handmatig aangepaste beschrijvingen soms stil overschreven, waardoor alleen de eerst gegenereerde versie doorkwam. Dit gebeurde als je nogmaals op \"Genereer captions\" klikte.","solution":"Genereren slaat nu elke pagina over die je zelf hebt aangepast â je bewerkte beschrijvingen blijven staan en alleen de nog lege pagina's krijgen een nieuwe caption. Je ziet ook een korte melding hoeveel bewerkte beschrijvingen behouden zijn. Wil je een aangepaste beschrijving toch opnieuw laten schrijven, dan kan dat nog per pagina."},{"num":"v31.63","type":"polish","title":"Foto of video zichtbaar bij het bewerken van een Metricool-post","problem":"In het bewerk-scherm van een Metricool-post zag je alleen de tekst, niet de bijbehorende foto of video. Zo wist je niet zeker of je de juiste post te pakken had.","solution":"Het scherm toont nu een voorbeeld van de media boven de tekst. Bewerken van de media zelf doe je nog in Metricool; hier zie je het beeld ter controle."},{"num":"v31.62","type":"polish","title":"Melding \"al gepubliceerd\" netjes uitgelijnd in het bewerk-scherm","problem":"De melding dat een post al gepubliceerd is, plakte in het bewerk-scherm strak tegen de bovenrand.","solution":"De melding heeft nu gelijke ruimte boven en onder, zodat het scherm rustiger oogt."},{"num":"v31.61","type":"polish","title":"Volledige tekst zichtbaar bij het bewerken van een Metricool-post","problem":"Bij een langere post zag je in het bewerk-scherm maar een deel van de tekst; de rest zat verstopt achter een scrollbalk in een klein vak.","solution":"Het tekstvak groeit nu mee met je bericht, zodat je de hele tekst in één oogopslag ziet. Pas bij heel lange teksten verschijnt er een scrollbalk."},{"num":"v31.60","type":"feature","title":"Senly-posts zichtbaar in de contentkalender-preview","problem":"Posts die je vanuit de Senly-planner inplande, verschenen niet in de contentkalender-preview van de klant. Die preview toonde alleen de Metricool-planning, waardoor je twee losse overzichten had.","solution":"De contentkalender toont nu ook je Senly-planning, met een klein \"Senly\"-merkje op het kaartje. Bewerken doe je in de planner (daar kies je per kanaal) â de kalender heeft daarvoor een knop \"Open in planner\". Zo zie je aan beide kanten dezelfde volledige agenda."},{"num":"v31.59","type":"feature","title":"Metricool-posts zichtbaar in de Senly-planner","problem":"Als je een klant via Metricool inplant, zag je die posts niet in de Senly-planner â je moest heen en weer tussen twee agenda's om overzicht te houden, en de Senly-planner voelde leeg terwijl er wel degelijk geplande content was.","solution":"De Senly-planner toont nu ook de Metricool-planning van elke klant met een koppeling, met een klein \"Metricool\"-badge op het kaartje. Klikken opent Metricool voor bewerken (die blijft leidend). Publiceren blijft ook bij Metricool â de Senly-motor slaat de posts van Metricool-klanten netjes over zodat er nooit dubbel geplaatst wordt."},{"num":"v31.58","type":"polish","title":"Ook Senly-eigen post naar meerdere kanalen = één kaartje in de planner","problem":"Als je vanuit Senly zelf één post naar meerdere platforms tegelijk plande, verscheen die per platform als een los kaartje in de agenda. Terwijl je het als één post bedoelde.","solution":"De agenda groepeert nu ook eigen posts als de tijd, tekst en media identiek zijn â één kaartje met alle platform-icoontjes naast elkaar. Klik erop en er verschijnt een keuze: welk platform wil je bewerken? Elke platform-versie blijft onder water een eigen publicatie, zodat een fout op één platform de anderen niet raakt en je gericht kunt aanpassen."}
2,{"num":"v31.57","type":"polish","title":"Metricool-post naar meerdere kanalen = één kaartje in de planner","problem":"Plande je één post naar bijvoorbeeld Instagram + Facebook + LinkedIn tegelijk, dan verscheen die drie keer in de Senly-planner-agenda â voor iedere zichtbaarheid één losse regel. Dat voelde druk en verwarrend, want in Metricool zag je ook één kaartje.","solution":"Metricool-posts die naar meerdere kanalen tegelijk gaan, staan nu ook in de Senly-planner als één kaartje met alle platform-icoontjes naast elkaar â net zoals ze in Metricool zelf worden getoond. Native posts (die per platform echt apart worden ingepland) blijven ongewijzigd."},{"num":"v31.56","type":"polish","title":"Bewerk-scherm voor Metricool-posts netjes opgemaakt","problem":"Het scherm om een Metricool-post te bewerken oogde kaal: een smal tekstvak, een klein datumveld en knoppen die tegen elkaar aan stonden.","solution":"Het tekstvak en het datumveld vullen nu de volle breedte, de uitleg staat in een rustig kader en de knoppen hebben ruimte gekregen. Ook op een telefoon staat alles netjes onder elkaar."},{"num":"v31.55","type":"feature","title":"Metricool-post rechtstreeks vanuit Senly bewerken of verwijderen","problem":"Om een Metricool-post aan te passen of te verwijderen moest je Metricool openen â een extra stap terwijl je al in de Senly-planner werkte.","solution":"Klik op een Metricool-post in de Senly-planner en je krijgt meteen een compact bewerkscherm om de tekst en de publicatietijd aan te passen of om de post te verwijderen. De wijziging landt direct in Metricool. Voor media, platforms of thread-splits blijft er een knop om de post in Metricool zelf te openen."},{"num":"v31.54","type":"bugfix","title":"De \"geen internetverbinding\"-melding blijft niet meer hangen","problem":"Soms bleef de melding dat je offline was in beeld staan terwijl je gewoon verbonden was.","solution":"Het portaal controleert je verbinding nu zelf actief en haalt de melding automatisch weg zodra je weer online bent."},{"num":"v31.53","type":"bugfix","title":"Je boekingspagina toont drukke tijden nu ook bij een volle agenda","problem":"Bij een gekoppelde agenda met heel veel afspraken kon een bezet tijdblok toch als vrij op je boekingspagina staan, met een dubbele afspraak als gevolg.","solution":"Alle afspraken worden nu meegenomen bij het bepalen van je vrije tijden, ook als je agenda erg vol is."},{"num":"v31.52","type":"bugfix","title":"Je TikTok-groeitool wordt niet meer onterecht onderbroken","problem":"Een lopende TikTok-groeiactie kon ten onrechte als vastgelopen worden gezien en opnieuw starten.","solution":"De actie blijft nu doorlopen tot ze echt klaar is, zonder dubbel te beginnen."},{"num":"v31.51","type":"bugfix","title":"Bankimport is eerlijk als een bestand te groot is","problem":"Bij een heel groot bankbestand werd een deel van de transacties stil niet geïmporteerd, terwijl het leek alsof alles was verwerkt.","solution":"Je ziet nu duidelijk hoeveel transacties niet zijn meegenomen, zodat je de rest apart kunt importeren."},{"num":"v31.50","type":"polish","title":"Een formulier verwijderen bewaart je verzamelde leads","problem":"Een formulier met inzendingen verwijderen kon de al binnengekomen leads meenemen.","solution":"Je aanmeldingen blijven nu behouden; het formulier wordt gedeactiveerd in plaats van met gegevens en al gewist."},{"num":"v31.49","type":"polish","title":"Opnieuw een brede kwaliteits- en veiligheidsronde","solution":"We hebben ruim honderd kleine verbeteringen doorgevoerd voor een stabieler, sneller en veiliger portaal."}]},{"date":"2026-09-23","version":"v31.48","clV":"v1.7","title":"Je gratis tools halen weer live data op","items":[{"num":"v31.48","type":"bugfix","title":"Account-check en Instagram-download werken weer","problem":"Bij deze tools kreeg je soms een foutmelding in plaats van een resultaat.","solution":"De Account-check laat weer volgers, engagement en kwaliteitsscore zien, en je downloadt publieke Instagram-reels en -fotoâs weer gewoon â zonder in te loggen."},{"num":"v31.47","type":"bugfix","title":"YouTube-download pakt weer een werkende bron","problem":"De YouTube-download kon blijven hangen op een bron die het bestand niet vrijgaf.","solution":"Hij kiest nu meteen een bron die het bestand wél levert, zodat je download doorgaat."},{"num":"v31.46","type":"bugfix","title":"LinkedIn-videoâs downloaden weer","problem":"Een publieke LinkedIn-video downloaden lukte niet meer.","solution":"Plak de link naar de LinkedIn-post en je krijgt de video weer gewoon binnen â zonder in te loggen."},{"num":"v31.45","type":"polish","title":"Duidelijkere melding als een bron even niet bereikbaar is","problem":"Als een externe bron ons tijdelijk blokkeerde, zag je een technische foutcode.","solution":"Je krijgt nu een gewone uitleg dat de live data even niet beschikbaar is, in plaats van een code."},{"num":"v31.44","type":"feature","title":"Stel je eigen toolkit samen â installeer alleen wat je gebruikt","problem":"Alle tools stonden meteen door elkaar in je overzicht, ook de tools die jij nooit gebruikt.","solution":"Je kiest nu zelf welke tools je installeert, net als op je telefoon. Open de tool die je wilt, klik op Installeren, en hij verschijnt in je overzicht. Tools die je nog niet hebt staan gedempt met \"In store\"; met de knoppen bovenaan filter je tussen je geïnstalleerde tools en alles wat je nog kunt ontdekken. Elke gebruiker heeft zân eigen set."},{"num":"v31.43","type":"polish","title":"Installeren voelt als een echte actie â en openen werkt meteen","problem":"Installeren gebeurde in een flits, en vlak na installeren kon een tool soms nog niet direct openen.","solution":"Bij het installeren zie je nu even een laadbalkje, en zodra dat klaar is opent de tool meteen betrouwbaar."},{"num":"v31.42","type":"polish","title":"TikTok-downloader in TikTok-stijl en een beter leesbare QR-preview","problem":"De TikTok-downloader stond in een lichtblauwe kleur, en de QR-voorbeeldcode was in donkere modus n
2auwelijks te zien.","solution":"De TikTok-downloader gebruikt nu het herkenbare TikTok-zwart, en de QR-voorbeeldcode staat altijd op een witte achtergrond zodat je hem in elke modus goed ziet."},{"num":"v31.41","type":"feature","title":"Alles in één keer installeren","problem":"Wilde je gewoon alle tools in je overzicht? Dan moest je ze één voor één installeren.","solution":"Boven de toolslijst zit nu een knop \"Alles installeren\" die in één klik alle tools toevoegt. Heb je alles al, dan wordt het \"Alles verwijderen\"."},{"num":"v31.40","type":"polish","title":"Je certificaat-mail toont weer het echte Senly-logo","problem":"In de felicitatiemail voor een behaald Academy-certificaat zag je alleen het woord Senly, en één knop stond scheef uitgelijnd.","solution":"Je ziet nu het echte Senly-logo in de header, en beide knoppen staan netjes links onder elkaar."},{"num":"v31.39","type":"bugfix","title":"Geplande afspraken staan op de juiste tijd in je agenda","problem":"Een via je boekingspagina geplande afspraak kon in je gekoppelde agenda op een verkeerd tijdstip terechtkomen.","solution":"De afspraak komt nu op exact de geboekte tijd binnen, gelijk aan de bevestigingsmail die je klant ontvangt."},{"num":"v31.38","type":"bugfix","title":"Je groei-acties worden niet meer onterecht onderbroken","problem":"Een lopende actie op een gekoppeld account kon ten onrechte als vastgelopen worden gezien en opnieuw starten.","solution":"Lopende acties blijven nu doorlopen tot ze echt klaar zijn, zonder dubbel te beginnen."},{"num":"v31.37","type":"polish","title":"Verwijderen beschermt je historie","problem":"Een afspraaktype of een dealbord verwijderen kon meer gegevens meenemen dan je bedoelde.","solution":"Je historie blijft nu behouden, en je krijgt een melding als er nog afspraken of deals aan hangen."},{"num":"v31.36","type":"polish","title":"Een brede kwaliteits- en veiligheidsronde","solution":"We hebben tientallen kleine verbeteringen doorgevoerd voor een stabieler en veiliger portaal."}]},{"date":"2026-09-23","version":"v31.35","clV":"v1.6","title":"Je afwezigheidsbericht verstuurt zichzelf nu","items":[{"num":"v31.35","type":"feature","title":"Afwezigheidsbericht wordt automatisch teruggestuurd","problem":"Je kon een afwezigheidsbericht klaarzetten, maar moest het daarna zelf in je mailclient plakken â Senly verstuurde het nog niet.","solution":"Zet je periode en de schakelaar aan, en iedereen die je tijdens je afwezigheid mailt krijgt automatisch één keer jouw bericht terug. Werkt via je gekoppelde mailbox (Gmail, Outlook of IMAP)."}]},{"date":"2026-09-23","version":"v31.34","clV":"v1.5","title":"Log per apparaat uit â of alle andere in één klik","items":[{"num":"v31.34","type":"feature","title":"Per apparaat uitloggen op Beveiliging > Sessies","problem":"Zag je een sessie op een apparaat dat je niet meer gebruikt, dan was de enige knop \"Log overal uit\" â daarmee gooide je ook je eigen sessie eruit en moest je opnieuw inloggen.","solution":"Je ziet nu bij elke sessie een knop \"Dit apparaat uitloggen\" én een aparte knop \"Log andere apparaten uit\" die je huidige tab netjes ingelogd houdt. De sessie waarop je nu werkt is gemarkeerd met \"Dit apparaat\"."},{"num":"v31.33","type":"polish","title":"Duidelijker welke sessie van dit apparaat is","solution":"De rij van het apparaat waarop je nu bent, heeft een groene rand en een \"Dit apparaat\"-label. Zo weet je precies welke je niet wilt uitloggen."},{"num":"v31.32","type":"bugfix","title":"Per-apparaat-knoppen verschijnen ook als je al eerder had ingelogd","problem":"Had je vóór deze update ooit al eens op dit IP-adres ingelogd, dan verborg de pagina de per-apparaat-knoppen en de knop \"Log andere apparaten uit\" â je zag alleen \"Ouder â kan alleen via Log overal uit\".","solution":"De knoppen zijn nu ook zichtbaar bij die oudere combinaties, zolang de sessie die je nu gebruikt bekend is bij het systeem."},{"num":"v31.31","type":"bugfix","title":"\"Log andere apparaten uit\" verschijnt zodra je meerdere actieve sessies hebt","problem":"De knop bleef verborgen als een van je andere sessies nog van vóór de update was â je moest dan alsnog \"Log overal uit\" gebruiken.","solution":"De knop toont nu bij elke user met meer dan één actieve sessie, en logt óók oudere sessies mee uit. Je huidige tab blijft ingelogd."}]}
2,{"date":"2026-09-23","version":"v31.30","clV":"v1.4","title":"Uitloggen op al je apparaten voelt weer als bevestiging, niet als foutmelding","items":[{"num":"v31.30","type":"polish","title":"Log overal uit toont een vriendelijke bevestiging","problem":"Als je op Beveiliging > Sessies op \"Log overal uit\" klikte, kreeg je naast de succesmelding heel even een rode \"Unauthorized\"-balk te zien voordat je naar het inlogscherm werd doorgestuurd â dat gaf twijfel of het uitloggen wel goed was gegaan.","solution":"Je ziet nu alleen nog de groene bevestiging \"Alle sessies uitgelogd. Je wordt nu doorgestuurd naar het inlogschermâ¦\" en verdwijnt daarna netjes naar het inlogscherm."}]},{"date":"2026-09-22","version":"v31.29","clV":"v1.2","title":"Ondertekende offertes met bewijs in de PDF","items":[{"num":"v31.29","type":"feature","title":"Handtekening en akkoord-bewijs nu in de offerte-PDF","problem":"Als een klant je offerte digitaal accepteerde, kwam de handtekening niet in de gedownloade offerte-PDF terecht â je had geen compleet bewijsstuk.","solution":"De getekende handtekening staat nu samen met de naam, datum, het IP-adres en een unieke documentcode in de offerte-PDF. Zo heb je een volwaardig akkoord dat aantoonbaar niet meer is gewijzigd na ondertekening."},{"num":"v31.28","type":"bugfix","title":"Demo verlaten werkt weer","problem":"In de demo bracht de knop \"Terug naar homepagina\" je nergens: je bleef in de demo hangen.","solution":"De knop werkt nu weer â je verlaat de demo netjes en komt op de homepage terug."}]},{"date":"2026-09-21","version":"v31.27","clV":"v1.1","title":"Het AI-kantoor wordt levensechter","items":[{"num":"v31.27","type":"bugfix","title":"Boekingspagina: titels waren onleesbaar","problem":"Op de publieke meeting-boekingspagina waren de kop en de titels van de meetingtypes bijna wit op een witte achtergrond, waardoor ze nauwelijks te lezen waren.","solution":"De titels hebben nu weer een duidelijke, donkere kleur, zodat je bezoekers meteen zien welke afspraken ze kunnen inplannen."},{"num":"v31.26","type":"performance","title":"De Marketing Radar laadt nu direct","problem":"Had je de trends-pagina een tijdje niet geopend, dan kon het laden soms bijna een minuut duren.","solution":"De actuele trends worden nu elke dag automatisch voor je klaargezet, zodat de pagina meteen opent. Iedereen ziet dezelfde verse trends van die dag."}]},{"date":"2026-09-20","version":"v31.25","clV":"v1.0","title":"Een rustiger scherm als je verbinding wegvalt","items":[{"num":"v31.25","type":"polish","title":"Het offline-scherm is opnieuw ontworpen","problem":"Viel je internet weg, dan zag je een drukke kaart met een grote teller die niet paste bij de rest van het portaal.","solution":"Je ziet nu een strak, rustig scherm in de stijl van de rest van het portaal: een duidelijke status, een dunne voortgangslijn tot de volgende poging, korte tips en het tijdstip van de laatste controle. Zodra je weer online bent, laadt het portaal vanzelf verder."},{"num":"v31.24","type":"feature","title":"Meer inzicht in de website van je klant","problem":"De websitecijfers van je klant bleven beperkt tot bezoekers, weergaven, top-pagina's en bronnen.","solution":"Je ziet er nu ook bij op welke apparaten je klant bezocht wordt, uit welke landen de bezoekers komen, welke andere sites naar je klant doorverwijzen, en hoeveel pagina's een bezoeker gemiddeld bekijkt. Zo vertel je je klant een completer verhaal over hun website."}]},{"date":"2026-09-18","version":"v31.23","clV":"v0.997","title":"Koppelstatussen tonen nu de werkelijkheid","items":[{"num":"v31.23","type":"bugfix","title":"E-mail: duidelijk \"opnieuw koppelen\" als een mailbox de login weigert","problem":"Als het wachtwoord van een gekoppelde mailbox verlopen was, zag je in je inbox een vage foutmelding die niet te onderscheiden was van een tijdelijke storing.","solution":"De inbox herkent nu een geweigerde login en toont voor precies die mailbox \"Koppeling verlopen â opnieuw koppelen\", zodat je meteen weet wat te doen. Je andere mailboxen laden gewoon door."},{"num":"v31.22","type":"bugfix","title":"E-mailkoppeling staat pas op Actief als er echt een mailbox gekoppeld is","problem":"Op de pagina met e-mailkoppelingen stond IMAP/SMTP altijd als \"Actief\" â ook als er nog geen enkele mailbox gekoppeld was. Dat botste met de detailpagina, die terecht \"Niet verbonden\" toonde.","solution":"De status op de tegels en op het Integraties-overzicht kijkt nu naar je echte gekoppelde mailboxen. Nog niets gekoppeld? Dan staan alle opties netjes onder Beschikbaar."},{"num":"v31.21","type":"bugfix","title":"Ook de Canva- en CRM-tegels tonen hun echte koppelstatus","problem":"Dezelfde weergavefout zat bij de ontwerp- en CRM-koppelingen: die stonden op \"Actief\" terwijl er nog niets gekoppeld was.","solution":"Canva verschijnt nu pas als \"Actief\" zodra je je eigen Canva hebt gekoppeld, en de CRM-tegel volgt of de koppeling echt aanstaat. Zo klopt het overzicht overal met wat er werkelijk verbonden is."},{"num":"v31.20","type":"bugfix","title":"Gekoppelde bestanden-, taken-, boekhoud- en website-bronnen staan nu op Actief","problem":"Andersom klopte het ook niet altijd: een bron die je wel had gekoppeld â zoals je cloudopslag, je takentool, je boekhouding of je website â bleef op de tegel onder Beschikbaar staan met \"Koppelen\".","solution":"Deze tegels kijken nu naar je echte koppelingen. Wat je hebt verbonden staat onder Actief met \"Openen\"; wat nog open staat blijft onder Beschikbaar. Overzicht, tegels en detailpagina vertellen nu overal hetzelfde."},{"num":"v31.19","type":"bugfix","title":"Foto's vanuit Canva komen op volle kwaliteit in de planner","problem":"Stuurde je een ontwerp vanuit Canva naar de planner, dan zag de foto er net wat minder scherp uit dan in Canva zelf.","solution":"De beelden worden nu op volle kwaliteit overgenomen, zodat wat je in de planner ziet exact zo scherp is als je ontwerp in Canva."}]},{"date":"2026-09-17","version":"v31.18","clV":"v0.995","title":"Koppelingen brengen je weer terug op je eigen omgeving","items":[{"num":"v31.18","type":"bugfix","title":"Na het koppelen van Google beland je weer op je eigen werkomgeving","problem":"Wanneer je op de detailpagina van een Google-koppeling (zoals Bedrijfsprofiel) op verbinden klikte, kwam je na het inloggen bij Google op een andere omgeving terecht in plaats van terug op je eigen werkomgeving.","solution":"De verbind-knop op die detailpagina onthoudt nu waar je vandaan komt en stuurt je na het koppelen direct terug naar je eigen omgeving â net zoals de andere integraties dat al dede
2n."},{"num":"v31.17","type":"bugfix","title":"Ook e-mail- en agenda-koppelingen sturen je terug naar je eigen omgeving","problem":"Bij het koppelen van Gmail, Outlook of je agenda (Google, Outlook of Zoom) kwam je na het inloggen op een andere omgeving terecht in plaats van terug waar je was, soms ook nog in de verkeerde weergave.","solution":"Deze koppelingen onthouden nu waar je vandaan kwam en brengen je na het koppelen direct terug naar je eigen omgeving, met je eigen licht- of donkere weergave behouden."},{"num":"v31.16","type":"bugfix","title":"Al je overige koppelingen brengen je nu ook terug op je eigen omgeving","problem":"Bij het koppelen van je andere tools â zoals je takenlijst, CRM, boekhouding, meldingen, contentplanning of ontwerpen â kwam je na het inloggen soms op een andere omgeving terecht in plaats van terug waar je begon.","solution":"Ook deze koppelingen onthouden nu je startpunt en brengen je na het koppelen direct terug naar je eigen omgeving, met je eigen licht- of donkere weergave behouden."},{"num":"v31.15","type":"bugfix","title":"Instagram-posts met een afbeelding komen nu betrouwbaar door","problem":"Soms mislukte een geplande Instagram-post met een afbeelding, terwijl dezelfde post op Facebook wel gewoon werd geplaatst.","solution":"Senly wacht nu tot Instagram de afbeelding volledig heeft verwerkt voordat de post live gaat, zodat je foto-posts betrouwbaar doorkomen."},{"num":"v31.14","type":"bugfix","title":"Kloppende statistieken nadat je een ander account koppelt","problem":"Wisselde je bij een klant naar een andere pagina of account, dan liepen de cijfers van het oude en nieuwe account door elkaar â met een verkeerd volgeraantal en onmogelijke groeicijfers tot gevolg.","solution":"Bij het wisselen van account begint de statistiek-historie nu schoon opnieuw, zodat je volgers en groei kloppen bij het account dat je nu gekoppeld hebt."},{"num":"v31.13","type":"bugfix","title":"\"Mailbox koppelen\" brengt je als beheerder direct naar de juiste pagina","problem":"Klikte je als beheerder op de lege E-mail-pagina op \"Mailbox koppelen\", dan belandde je op je profielpagina in plaats van op de plek waar je een mailbox kunt koppelen.","solution":"De knop brengt je nu direct naar de e-mailkoppelingen bij Integraties, waar je Gmail, Outlook of je eigen mailserver koppelt. Teamleden komen zoals voorheen uit op hun eigen koppelingen-pagina."}]},{"date":"2026-09-16","version":"v31.12","clV":"v0.994","title":"Drie tools van de week op je Tools-pagina","items":[{"num":"v31.12","type":"polish","title":"Categorie staat nu naast de terug-knop","problem":"Boven elke integratie-categorie stond een grote banner die je aandacht wegtrok van de koppelingen zelf.","solution":"Die banner is weg. De naam van de categorie staat nu compact naast de terug-knop, zodat je meteen bij je integraties bent."},{"num":"v31.11","type":"polish","title":"Kanaal-iconen op je klantkaarten staan weer netjes op één lijn","problem":"Op de klantkaarten viel het TikTok-icoon uit de toon: een zwart blokje tussen de rustige grijze iconen van de andere kanalen.","solution":"Alle kanaal-iconen op je klantkaarten hebben nu dezelfde ingetogen stijl, zodat het rijtje rustig en overzichtelijk oogt."},{"num":"v31.10","type":"feature","title":"Drie tools van de week, die vanzelf voorbijkomen","problem":"Bovenaan je Tools-pagina stond één tool van de week, dus je zag maar één tip per week terwijl er veel meer in de bibliotheek zit.","solution":"De banner toont nu drie tools van de week die om de paar seconden vanzelf doorschuiven. Beweeg je muis erover en hij wacht; met de puntjes of pijltjes kies je zelf."},{"num":"v31.09","type":"bugfix","title":"Je dashboard laadt weer rustig in","problem":"Bij het herladen flitste er soms kort een kaart bovenaan je dashboard op die je al had weggeklikt, waardoor het laden onrustig oogde.","solution":"Weggeklikte kaarten blijven nu meteen weg. Je dashboard verschijnt in één keer stabiel, zonder dat er iets opflitst en weer verdwijnt."},{"num":"v31.08","type":"polish","title":"Rustiger koppelscherm voor je kanalen","problem":"Het scherm om accounts te koppelen was een druk raster van gekleurde kaarten en knoppen; je zag niet in één oogopslag wat al gekoppeld was.","solution":"Kanalen staan nu in een overzichtelijke lijst, gegroepeerd in Gekoppeld en Be
2schikbaar, met één rustige koppelknop per kanaal en de gekoppelde accounts direct in beeld. Netter voor jou én voor klanten die zelf hun accounts koppelen."}]},{"date":"2026-09-16","version":"v31.07","clV":"v0.992","title":"Acht sales- en analysetools in de nieuwe rustige opmaak","items":[{"num":"v31.07","type":"polish","title":"Advertentie-statistieken, Klant-ROI, Groei-projectie, Influencer-tarief, Win/loss analyzer, Battle card, Bezwaren-bibliotheek en Offer analyzer vernieuwd","problem":"Deze acht tools hadden nog elk hun eigen, drukke opmaak met donkere panelen, gloed en grote koppen, en pasten niet bij de rest van het portaal.","solution":"Ze volgen nu dezelfde rustige opbouw als de andere vernieuwde tools: een kleurplaat met het icoon, een cijferstrip met de echte uitkomsten, de tool zelf in de hoofdkolom en rechts de details, acties en stappen. Wat de tools doen en berekenen is onveranderd."},{"num":"v31.06","type":"polish","title":"Nog acht tools vernieuwd: AI-tekstdetector, Merkveiligheid, Hashtag-bibliotheek, Idee-generator, Niche-spiekboeken, Landingspagina-analyse, Limiet-checker en Instagram-witregels","problem":"Ook deze tools hadden nog hun oude, drukke opmaak die niet bij de rest van het portaal paste.","solution":"Ze volgen nu dezelfde rustige opbouw als de andere vernieuwde tools: een kleurplaat met het icoon, een cijferstrip met de uitkomsten, de tool zelf in de hoofdkolom en rechts de details, acties en stappen. Wat de tools doen is onveranderd."},{"num":"v31.05","type":"polish","title":"Nog acht tools vernieuwd: Fancy tekst, Link-in-bio, Maandrapport, Snelheidstest, Storingen, QR-code, Kleurcontrast en Lettertype herkennen","problem":"Ook deze tools hadden nog hun oude, drukke opmaak die niet bij de rest van het portaal paste.","solution":"Ze volgen nu dezelfde rustige opbouw als de andere vernieuwde tools, met een kleurplaat met het icoon, een cijferstrip met de uitkomsten en overzichtelijke panelen. De link-in-bio bouwer houdt zijn editor met live telefoon-voorbeeld. Wat de tools doen is onveranderd."},{"num":"v31.04","type":"polish","title":"Alle tools nu in dezelfde rustige stijl: ook de beeldtools zijn vernieuwd","problem":"De laatste groep tools (Concurrent-advertenties, Carrousel opsplitsen, Kleurenpalet, Formaat en veilige zones, Feed-voorbeeld, Afbeelding verkleinen, Afbeelding naar PDF, Profielfoto en Video naar GIF) had nog de oude opmaak.","solution":"Ook deze beeld- en canvastools volgen nu dezelfde opbouw als de rest, met de vertrouwde werkvlakken en voorbeelden op hun plek. Hiermee zijn alle tools vernieuwd. Wat de tools doen is onveranderd."},{"num":"v31.03","type":"polish","title":"Contentkalender en Engagement-pod nu ook in de nieuwe stijl","problem":"Deze twee tools uit de toolstore hadden nog de oude opmaak.","solution":"De contentkalender met speciale dagen en de engagement-pod volgen nu dezelfde rustige opbouw als de andere tools. De knoppen in de kalender hebben nu dezelfde kleur als de rest van de tool, zodat alles samen stijlt. Het kalenderoverzicht en het pod-bord blijven op hun plek. Wat de tools doen is onveranderd."},{"num":"v31.02","type":"polish","title":"Productpagina toont de tool zoals je hem straks echt ziet","problem":"De voorbeeldweergave op de productpagina van Content kalender, Content-ideeën en Viral hook analyzer was een los getekend plaatje dat niet meer leek op de vernieuwde tool erachter.","solution":"De productpagina toont nu een verkleinde weergave van de echte tool, met dezelfde opbouw, kleuren en voorbeeldinhoud als in de tool zelf, in de lichte en de donkere stand. De andere tools volgen."}
2,{"num":"v31.01","type":"polish","title":"Bewegend voorbeeld op de productpagina in de stijl van de vernieuwde tool","problem":"Het bewegende voorbeeld-paneel op de productpagina van Content kalender, Content-ideeën en Viral hook analyzer had nog de oude kleuren en indeling en week af van de vernieuwde tool erachter.","solution":"De drie panelen zijn opnieuw getekend in de taal van de vernieuwde tools: dezelfde kleurplaat, cijfers en voorbeeldinhoud, met een rustige entree, vullende balken en een knipperende cursor. Ze werken in de lichte en de donkere stand."},{"num":"v31.00","type":"polish","title":"Nog vier bewegende voorbeelden op de productpagina in de stijl van de vernieuwde tool","problem":"De productpagina van Caption generator, Hashtag research, ROI calculator en Engagement rate had nog het oude voorbeeld-paneel dat afweek van de vernieuwde tool erachter.","solution":"Deze vier panelen zijn opnieuw getekend in dezelfde taal als de tool zelf: kleurplaat, cijfers en voorbeeldinhoud sluiten aan bij wat je in de tool ziet. Alles werkt in de lichte en de donkere stand."},{"num":"v30.99","type":"polish","title":"Nog zes bewegende voorbeelden op de productpagina in de stijl van de vernieuwde tool","problem":"De productpagina van Bio generator, DM opener, Maandrapport, UTM builder, Brand safety en Klant-ROI toonde nog het oude voorbeeld-paneel dat afweek van de vernieuwde tool erachter.","solution":"Deze zes panelen zijn opnieuw getekend in dezelfde taal als de tool zelf. Je ziet een profiel-preview met bio-varianten, een chat met een concrete DM-opener, een klant-rapport met grafiek en PDF-knop, een generator die je link samenstelt, een score-controle met signalen en een klant-case met voor- en na-cijfers. Alles werkt in de lichte en de donkere stand."},{"num":"v30.98","type":"polish","title":"Nog zes bewegende voorbeelden op de productpagina in de stijl van de vernieuwde tool","problem":"De productpagina van Link-in-bio, Groei-projectie, Influencer-tarief, Kleurenpalet, Trending audio en Ad metrics toonde nog het oude voorbeeld-paneel dat afweek van de vernieuwde tool erachter.","solution":"Deze zes panelen zijn opnieuw getekend in dezelfde taal als de tool zelf: een link-in-bio met live linkjes en klikcijfers, een groei-grafiek die je doel bereikt in een gemarkeerde maand, tier-kaarten die op basis van de volgers de beste tarief-schaal kiezen, een kleurenpalet met hex-waarden, trending audio met golfvormen, en een advertentie-dashboard met uitgelichte ROAS. Alles in de lichte en donkere stand."},{"num":"v30.97","type":"polish","title":"Zes bewegende voorbeelden in vernieuwde stijl (QR, battle card, speedtest, storingen, carousel, radar)","problem":"Zes productpagina's hadden nog het oude voorbeeld-paneel dat afweek van de tool erachter.","solution":"Elke pagina toont nu een levend voorbeeld: een echte QR met logo, een versus-tabel, een snelheidsmeter, een status-board met een 24-uurs strook, een panorama dat opsplitst in slides en een radar met stijgende topics. Werkt in licht en donker."},{"num":"v30.96","type":"polish","title":"Zes bewegende voorbeelden in vernieuwde stijl (LinkedIn-note, bezwaren, reply, influencer, kleurcontrast, cheatsheet)","problem":"Zes productpagina's hadden nog het oude voorbeeld-paneel dat afweek van de vernieuwde tool erachter.","solution":"Elke pagina toont nu een levend voorbeeld: een LinkedIn-note met live preview, een bezwaren-lijst met opengeklapte weerlegging, een reply die gescored wordt met signalen, een profiel-analyse met echt-vs-bot-strook, een contrast-check met AA/AAA-labels en een niche-cheatsheet met vier ideeën-categorieën. Werkt in licht en donker."},{"num":"v30.95","type":"polish","title":"Kleine tool-fixes: trend-radar icoon, YouTube-logo, ruimte in trending audio en kleuren in carousel-splitter","problem":"Vier kleine schoonheidsfoutjes: de buitenste ring van het trend-radar-icoon liep uit de hoeken, het YouTube-logo was breder dan de andere platform-iconen, in trending audio zaten de golfvormen tegen de Gebruik-knop en in de carousel-splitter waren de knoppen nog oranje in plaats van de kleur van de kop.","solution":"Icoon-ringen passen weer netjes binnen de tegel, YouTube staat weer in dezelfde vierkante pill als TikTok en Instagram, de golfvorm heeft ademruimte tot de knop en alle accenten in carousel-splitter volgen nu de kleur van de tool-kop."},{"num":"v30.94","type":"polish","title":"Zes bewegende voorbeelden in vernieuwde stijl (limiet, tekststijl, hashtags, verkleinen, witregels, username)","problem":"Zes productpagina's hadden nog het oude voorbeeld-paneel dat afweek van de vernieuwde tool erachter.","solution":"Elke pagina toont nu een levend voorbeeld: een limiet-check die per platform aangeeft of je post past, een tekst-stijler met zes echte Unicode-varianten, hashtag-bundels per categorie, een voor/na van beeldverkleinen met een kwaliteits-schuif, een IG-witregels-vergelijking en een username-generator met beschikbaarheid per platform. Werkt in licht en donker."},{"num":"v30.93","type":"polish","title":"Zes bewegende voorbeelden in vernieuwde stijl (voice-script, win-loss, safe-zones, AI-detector, herschrijver, video-GIF)","problem":"Zes productpagina's hadden nog het oude voorbeeld-paneel dat afweek van de vernieuwde tool erachter.","solution":"Elke pagina toont nu een levend voorbeeld: een ingesproken idee dat een script met hook/kern/cta wordt, een win-kans-analyse met verlies-redenen, een safe-zone-frame met de zones voor naam en knoppen, een AI-te
2kst-check met menselijk-oordeel, een caption-herschrijver met drie tonen en een video-naar-GIF met tijdlijn en frames. Werkt in licht en donker."},{"num":"v30.92","type":"polish","title":"Zes bewegende voorbeelden in vernieuwde stijl (IG-grid, ideeën, fonts, username, pagina-analyse, aanbod)","problem":"Zes productpagina's hadden nog het oude voorbeeld-paneel dat afweek van de vernieuwde tool erachter.","solution":"Elke pagina toont nu een levend voorbeeld: een 3-op-3 Instagram-grid met geplande posts, een ideeën-motor met content-pijlers, een font-herkenner met drie matches en zekerheid, een username-check per platform, een landingspagina-analyse met score en checklist en een aanbod-analyse met vier signalen. Werkt in licht en donker."},{"num":"v30.91","type":"polish","title":"Alle tool-pagina's hebben nu een bewegend voorbeeld dat klopt met de tool","problem":"De laatste twee tools â sitemap-checker en profielfoto-download â toonden nog het oude voorbeeld-paneel.","solution":"Beide krijgen nu een levend voorbeeld: een sitemap-boom met de status per pagina en een profielfoto-download met de beschikbare formaten. Hiermee heeft elke tool-pagina een voorbeeld dat aansluit bij wat je in de tool zelf krijgt, in de lichte en de donkere stand."},{"num":"v30.90","type":"polish","title":"YouTube-logo weer in zijn eigen brede vorm en het Trend radar-icoon netjes binnen de tegel","problem":"Het YouTube-logo was per ongeluk vierkant gemaakt, terwijl het van nature breed is, en de buitenste ring van het Trend radar-icoon liep nog in de afgeronde hoeken.","solution":"YouTube staat weer in zijn vertrouwde brede vorm, in dezelfde kleur en hoogte als de andere platform-iconen. Het Trend radar-icoon is iets kleiner getekend zodat alle ringen ruim binnen de afgeronde hoeken vallen."},{"num":"v30.89","type":"polish","title":"Meer ruimte tussen de geluidsgolf en de Gebruik-knop in Trending audio","problem":"Op de productpagina van Trending audio stond de geluidsgolf te dicht tegen de Gebruik-knop.","solution":"De golf is iets smaller getekend en er zit nu duidelijk lucht tussen de golf en de knop."},{"num":"v30.88","type":"polish","title":"Geluidsgolf in Trending audio blijft nu netjes weg van de Gebruik-knop","problem":"De geluidsgolf op de productpagina van Trending audio liep nog steeds tegen de Gebruik-knop aan.","solution":"De golf heeft nu minder, iets bredere balkjes die netjes binnen hun vak blijven, met duidelijke ruimte tot de knop."},{"num":"v30.87","type":"polish","title":"De drie kenmerken op elke tool-pagina staan weer netjes naast elkaar","problem":"Op de tool-pagina's viel het derde kenmerk onder de eerste twee in plaats van ernaast.","solution":"De drie kenmerken staan nu op elke tool-pagina op één rij naast elkaar."},{"num":"v30.86","type":"polish","title":"De bewegende voorbeelden op de tool-pagina's zijn wat groter en vullen de ruimte beter","problem":"Sommige voorbeeld-panelen op de tool-pagina's stonden wat klein in een brede kolom, met veel lege ruimte eromheen.","solution":"De voorbeeld-panelen zijn iets groter gemaakt zodat ze de beschikbare ruimte beter vullen en overal een consistenter formaat hebben."},{"num":"v30.85","type":"polish","title":"Het tool-icoon op elke productpagina heeft weer gave, ronde hoeken","problem":"Op de productpagina van elke tool werden de afgeronde hoeken van het grote tool-icoon net afgesneden.","solution":"Het icoon toont nu z'n volledige, afgeronde vorm zonder dat de rand eromheen de hoeken afknipt."},{"num":"v30.84","type":"polish","title":"Ook op de tool-pagina zelf heeft het icoon nu gave, ronde hoeken","problem":"Op de pagina van de tool zelf werden de afgeronde hoeken van het icoon in de kop nog afgesneden.","solution":"Het icoon in de kop toont nu z'n volledige, afgeronde vorm."},{"num":"v30.83","type":"polish","title":"Het dunne laadlijntje bovenaan de pagina is weg","problem":"Bij het wisselen van pagina verscheen bovenaan een dun laadlijntje dat weinig toevoegde.","solution":"Het lijntje is verwijderd in zowel het portaal als het beheerdersgedeelte; pagina's wisselen nu zonder die extra beweging."},{"num":"v30.82","type":"polish","title":"De laatste drie tools hebben nu ook een bewegend voorbeeld o
2p de productpagina","problem":"Zoekwoord-onderzoek, de ads-bibliotheek en afbeelding-naar-PDF toonden nog een leeg glas-blok in plaats van een voorbeeld van de tool.","solution":"Alle drie tonen nu een levend voorbeeld: een zoekwoord-tabel met volume en trend, drie lopende advertenties met merk en looptijd, en drie beelden die samenkomen in een download-klare PDF. Hiermee heeft elke tool-pagina een voorbeeld dat aansluit bij de tool zelf."},{"num":"v30.81","type":"polish","title":"Ook de engagement-pod heeft nu een bewegend voorbeeld op de productpagina","problem":"De productpagina van de engagement-pod toonde nog een leeg glas-blok in plaats van een voorbeeld van de tool.","solution":"Je ziet nu het pod-bord in het klein: leden met hun post, per post hoeveel leden al gereageerd hebben, en de eerlijkheids-teller met geven en krijgen."},{"num":"v30.80","type":"polish","title":"YouTube staat in de kanalen-overzichten als vierkante tegel, net als de andere platformen","problem":"In platform-overzichten zoals de kanalen-pagina stak YouTube eruit als brede rechthoek tussen de vierkante platform-tegels.","solution":"YouTube toont daar nu dezelfde vierkante tegel als de andere platformen: rood met het herkenbare play-knopje."},{"num":"v30.79","type":"polish","title":"De Nieuw- en Populair-labels bij de tools zijn verfijnd","problem":"De labels Nieuw en Populair waren felgekleurde, bewegende knopjes die uit de toon vielen bij de rustige rest van het portaal.","solution":"De labels zijn nu rustige, subtiel getinte chips in de huisstijl die meekleuren met de lichte en donkere stand."},{"num":"v30.78","type":"polish","title":"YouTube-icoon in de platformlijsten past qua kleur en formaat bij de andere platformen","problem":"In de platform-overzichten (zoals de storingscheck) stak het YouTube-logo eruit: rood en breder dan de andere, monochrome platform-iconen.","solution":"YouTube heeft nu dezelfde kleur en hoogte als de andere platform-iconen en houdt tegelijk zijn herkenbare, rechthoekige vorm."},{"num":"v30.77","type":"polish","title":"YouTube-downloader toont overal hetzelfde herkenbare play-icoon","problem":"In de tool-lijst had de YouTube-downloader een kaal driehoekje, terwijl de productpagina het echte YouTube play-knopje toonde.","solution":"De YouTube-downloader toont nu overal â in de lijst en op de productpagina â hetzelfde officiele play-knopje in de rode tegel."}]},{"date":"2026-09-15","version":"v30.76","clV":"v0.991","title":"Kanalen koppelen werkt weer soepel vanaf senly.io","items":[{"num":"v30.76","type":"bugfix","title":"Koppelscherm blijft in hetzelfde venster","problem":"Wie een kanaal aan een klant koppelde vanaf senly.io werd na het inloggen bij het platform naar een tweede venster gestuurd, kreeg een install-melding en zag zijn plek in de planner niet meer terug.","solution":"Na het koppelen keer je nu netjes terug in hetzelfde venster waar je begon. Geen extra install-scherm, geen verdwaalde tab â je landt weer op de planner waar je vertrok."},{"num":"v30.75","type":"bugfix","title":"Facebook en Instagram koppelen blijft niet meer hangen","problem":"Bij het koppelen van een Facebook- of Instagram-account viel het proces af en toe uit met een \"Verbinden mislukt\"-melding, terwijl een nieuwe poging even later wél lukte.","solution":"Het koppelscherm wacht nu langer op antwoord van het platform, zodat een trage reactie niet meer stiekem afbreekt. In de praktijk gaat de koppeling nu direct de eerste keer door."},{"num":"v30.74","type":"bugfix","title":"Uitloggen blijft in hetzelfde venster","problem":"Uitloggen vanaf senly.io stuurde je naar een tweede venster met een install-melding, in plaats van je gewoon op senly.io af te melden.","solution":"Na uitloggen blijf je op dezelfde plek waar je zat en land je direct op het inlogscherm daar."},{"num":"v30.73","type":"polish","title":"Elk platform-logo in de juiste huisstijl","problem":"De platform-logo's stonden door de planner heen door elkaar: in het koppelscherm vol merkicoon, maar in de agenda, lijst en inbox als vaag getint symbool â en YouTube werd deels afgesneden.","solution":"Overal in de planner â agenda, lijst, feed, inbox, statistieken en het koppelscherm â toont elk kanaal nu hetzelfde nette blokje in de eigen merkkleur met het officiele logo erin, van Facebook en Instagram tot Bluesky, TikTok, Telegram en Discord. Alle logo's zijn even groot; YouTube houdt zijn iets bredere merkvorm. Rustiger en herkenbaarder beeld."},{"num":"v30.72","type":"bugfix","title":"Inloggen werkt de eerste keer","problem":"Bij inloggen moest je soms twee keer op de knop klikken voordat je binnen was.","solution":"Sessies worden nu één keer opgezet en meteen herkend, ongeacht via welke Senly-ingang je binnenkomt. Eén klik en je bent binnen."},{"num":"v30.71","type":"bugfix","title":"Google-koppelingen brengen je terug naar je eigen venster","problem":"Na het koppelen van Google Analytics of Search Console kwam je terug in een ander venster dan waar je begon.","solution":"Je keert nu netjes terug op dezelfde plek waar je de koppeling startte."},{"num":"v30.70","type":"feature","title":"Pinterest koppelen en publiceren","problem":"Pinterest ontbrak in de planner â je moest los in Pinterest werken voor elke klant.","solution":"Je koppelt nu per klant een Pinterest-account en plant en publiceert pins direct vanuit de planner."}]},{"date":"2026-09-14","version":"v30.69","clV":"v0.990","title":"Nog meer koppelingen en een rustiger koppelingen-overzicht","items":[{"num":"v30.69","type":"polish","title":"Het koppelingen-overzicht in een rustiger, herkenbare stijl","problem":"De verschillende koppelingen oogden nogal uiteenlopend.","solution":"Alle koppelingen delen nu één rustige stijl met het logo van elke tool, zodat je sneller vindt en herkent wat je zoekt."},{"num":"v30.68","type":"feature","title":"Ook andere opslagdiensten naast Amazon S3","problem":"De opslagkoppeling werkte alleen met Amazon zelf.","solution":"Je kunt nu ook je eigen Backblaze B2, Cloudflare R2, Wasabi, DigitalOcean Spaces of MinIO koppelen â dezelfde koppeling, met een extra adres-veld."},{"num":"v30.67","type":"feature","title":"Meldingen naar ntfy, Pushover en Mattermost","problem":"Je kon team-meldingen nog niet naar deze kanalen sturen.","solution":"Je stuurt nieuwe leads, afgevinkte taken en betaalde facturen nu ook naar ntfy (gratis push, geen account nodig), Pushover (push op je telefoon) of een Mattermost-kanaal."},{"num":"v30.66","type":"feature","title":"Meer e-mailmarketing-koppelingen","problem":"Werkte je met EmailOctopus, Kit, Moosend of MailerSend, dan stond dat los van Senly.","solution":"Je koppelt nu ook je eigen EmailOctopus, Kit, Moosend (lijsten en campagnes) of MailerSend (verzenddomeinen) met een sleutel, en ziet het direct in het portaal."},{"num":"v30.65","type":"feature","title":"Koppel WeFact of Factuursturen.nl","problem":"Je facturen uit WeFact of Factuursturen.nl stonden los van Senly.","solution":"Je koppelt nu je eigen WeFact of Factuursturen.nl met een sleutel en bekijkt je recente facturen direct in het portaal."},{"num":"v30.64","type":"feature","title":"Koppel Fathom of Umami","problem":"Gebruikte je Fathom of Umami voor je websitecijfers, dan stond dat los van Senly.","solution":"Je koppelt nu je eigen Fathom of Umami met een sleutel en ziet je bezoekers- en paginacijfers in het portaal â cookieloos en privacyvriendelijk."},{"num":"v30.63","type":"feature","title":"Formulier-inzendingen als leads via Jotform of Tally","problem":"Reacties uit je Jotform- of Tally-formulieren moest je handmatig overtypen in je pipeline.","solution":"Je koppelt nu je eigen Jotform of Tally met een sleutel, kiest een formulier en haalt de inzendingen als leads naar een pipeline â dubbele inzendingen worden overgeslagen."},{"num":"v30.62","type":"polish","title":"Herkenbare logo's bij elke k
2oppeling","problem":"Bij de nieuwste koppelingen zag je een letter in plaats van een logo.","solution":"Elke koppeling toont nu het herkenbare merkteken van de tool, ook de nieuwste."},{"num":"v30.61","type":"feature","title":"Zoekwoord-onderzoek in de tools","problem":"Je wist niet goed welke onderwerpen en vragen leven bij de doelgroep van een klant, dus content en advertenties waren vaak giswerk.","solution":"De nieuwe tool Zoekwoord-onderzoek laat je per onderwerp honderden echte zoekwoorden zien, netjes gegroepeerd op wat mensen willen: vragen, koop-intentie, vergelijkingen en long-tail. Je kiest de markt (o.a. Nederland, België, Duitsland), ziet of een onderwerp stijgt of daalt, en kopieert of downloadt de lijst zo naar je content- of advertentieplan."},{"num":"v30.60","type":"feature","title":"Vijf nieuwe e-mailmarketing-koppelingen","problem":"Werkte je met SendGrid, Mailjet, GetResponse, Omnisend of beehiiv, dan stond dat los van Senly.","solution":"Je koppelt nu ook je eigen SendGrid, Mailjet, GetResponse, Omnisend of beehiiv met een sleutel en ziet je lijsten en recente campagnes direct in het portaal."},{"num":"v30.59","type":"feature","title":"Meer statistieken- en SEO-koppelingen","problem":"Gebruikte je Microsoft Clarity, PostHog, Simple Analytics, Cloudflare, Ahrefs of Semrush, dan stond dat los van Senly.","solution":"Je koppelt nu ook je eigen Clarity, PostHog, Simple Analytics of Cloudflare voor je bezoekerscijfers, en Ahrefs of Semrush voor je SEO-cijfers â met een sleutel, direct zichtbaar in het portaal."},{"num":"v30.58","type":"feature","title":"Meldingen ook via sms, Google Chat, Gotify en Pushbullet","problem":"Je team-meldingen konden nog niet naar deze kanalen.","solution":"Je stuurt nieuwe leads, afgevinkte taken en betaalde facturen nu ook als sms (via Twilio), naar een Google Chat-ruimte, naar je eigen Gotify-server of naar je apparaten via Pushbullet."},{"num":"v30.57","type":"feature","title":"Meer leadbronnen: formulieren, afspraken en CRM-contacten","problem":"Reacties uit Fillout, Paperform of Formstack, je Calendly-afspraken en je contacten in Freshsales of Copper moest je handmatig overtypen.","solution":"Je koppelt nu je eigen Fillout, Paperform, Formstack (formulier-inzendingen), Calendly (genodigden van afspraken) of Freshsales en Copper (contacten) met een sleutel en haalt alles als leads naar een pipeline â dubbele leads worden overgeslagen."},{"num":"v30.56","type":"feature","title":"Kies OpenRouter, Mistral of Groq voor je tekst-AI","problem":"Voor de tekst-AI kon je alleen kiezen uit de standaard, Claude of ChatGPT.","solution":"Je kiest nu ook OpenRouter (één sleutel, veel modellen), Mistral of het razendsnelle Groq met je eigen sleutel voor het genereren van teksten. Beeld en spraak blijven op de standaard-AI."},{"num":"v30.55","type":"feature","title":"Koppel je eigen Nextcloud of ownCloud","problem":"Je klantbestanden in Nextcloud of ownCloud stonden los van je werk in Senly.","solution":"Je koppelt nu je eigen Nextcloud of ownCloud met je server-adres en een app-wachtwoord, en bladert en downloadt de bestanden rechtstreeks in het portaal."},{"num":"v30.54","type":"feature","title":"Nieuw: koppel de webshop van je klant","problem":"De cijfers van een webshop-klant (orders, producten, omzet) stonden los van Senly.","solution":"Er is een nieuwe categorie Webshops: koppel je eigen Shopify, WooCommerce, Lightspeed of CCV Shop met een sleutel en zie orders, producten en omzet direct in het portaal."},{"num":"v30.53","type":"feature","title":"Nieuw: je reviewscore in het portaal","problem":"Je gemiddelde reviewscore en het aantal reviews stonden verspreid over aparte platforms.","solution":"Er is een nieuwe categorie Reviews: koppel je eigen Kiyoh, WebwinkelKeur, Trustpilot of Feefo en zie je gemiddelde score en aantal reviews direct in het portaal."},{"num":"v30.52","type":"feature","title":"Nieuw: je supporttickets in het portaal","problem":"Je moest je helpdesk apart openen om te zien hoeveel tickets en gesprekken er lopen.","solution":"Er is een nieuwe categorie Helpdesk: koppel je eigen Zendesk, Freshdesk, Intercom, Crisp of Gorgias en zie je tickets en gesprekken direct in het portaal."},{"num":"v30.51","type":"feature","title":"Boekingen uit Cal.com als leads","problem":"Werkte je met Cal.com voor je afspraken, dan moest je de deelnemer
2s handmatig in je CRM zetten.","solution":"Koppel je eigen Cal.com en haal de deelnemers van je boekingen rechtstreeks als leads in je CRM-pijplijn."},{"num":"v30.50","type":"feature","title":"Meer keuze voor je tekst-AI","problem":"Voor de tekst-functies kon je nog niet elke AI-aanbieder gebruiken die je zelf hebt.","solution":"Je kiest nu ook DeepSeek, Grok (xAI), Perplexity, Together AI of Cohere met je eigen sleutel voor het genereren van teksten. Beeld en spraak blijven op de standaard-AI."},{"num":"v30.49","type":"feature","title":"Meer webshops te koppelen","problem":"Werkte je klant met Magento, PrestaShop, Ecwid of BigCommerce, dan stonden die cijfers los van Senly.","solution":"Je koppelt nu ook je eigen Magento, PrestaShop, Ecwid of BigCommerce en ziet orders en producten direct in het portaal."},{"num":"v30.48","type":"feature","title":"Help Scout en Front als helpdesk","problem":"Gebruikte je Help Scout of Front voor je klantcontact, dan stond dat los van Senly.","solution":"Je koppelt nu ook je eigen Help Scout of Front en ziet je gesprekken en postbussen direct in het portaal."},{"num":"v30.47","type":"feature","title":"Meer reviewplatforms te koppelen","problem":"Verzamelde je reviews via Reviews.io, Yotpo of The Feedback Company, dan stond die score los van Senly.","solution":"Je koppelt nu ook je eigen Reviews.io, Yotpo of The Feedback Company en ziet je gemiddelde score en aantal reviews direct in het portaal."},{"num":"v30.46","type":"feature","title":"Contacten uit Attio en Capsule als leads","problem":"Werkte je met Attio of Capsule als CRM, dan moest je contacten handmatig overzetten.","solution":"Koppel je eigen Attio of Capsule met een sleutel en haal de contacten rechtstreeks als leads in je CRM-pijplijn."},{"num":"v30.45","type":"feature","title":"Koppel SnelStart en PayPal","problem":"Je cijfers uit SnelStart of PayPal stonden los van Senly.","solution":"Je koppelt nu je eigen SnelStart (relaties en verkoopfacturen) of PayPal (saldo en transacties) met een sleutel en ziet het direct in het portaal."},{"num":"v30.44","type":"polish","title":"Rustiger statuskeuze op het klantprofiel","problem":"De statuskeuze toonde altijd alle drie de standen tegelijk, wat naast de knoppen een drukke, rommelige balk gaf.","solution":"Je ziet nu één nette statusknop met de huidige stand; klik erom te wisselen tussen actief, gepauzeerd en inactief. Status en knoppen staan weer op één rustige rij."}]},{"date":"2026-09-13","version":"v30.43","clV":"v0.989","title":"Koppel je CRM, cloudopslag, facturatie en meldingen met je eigen account","items":[{"num":"v30.43","type":"feature","title":"Koppel je eigen Zoho CRM","problem":"Je contacten in Zoho CRM stonden los van je klantenwerk in Senly.","solution":"Je koppelt nu je eigen Zoho CRM in één stap en haalt je contacten zo als leads naar een pipeline in het portaal."},{"num":"v30.42","type":"feature","title":"Koppel je eigen SharePoint","problem":"Je klantbestanden in SharePoint stonden los van je klantenwerk in Senly.","solution":"Je koppelt nu je eigen SharePoint met je Microsoft-login en bekijkt en downloadt de bestanden per klant rechtstreeks in het portaal."},{"num":"v30.41","type":"feature","title":"Stuur meldingen door naar je eigen systemen","problem":"Je kon meldingen nog niet automatisch aan je eigen tools koppelen.","solution":"Je vult nu een eigen adres in waar Senly automatisch een bericht naartoe stuurt bij nieuwe leads, afgevinkte taken en betaalde facturen â met een handtekening zodat je zeker weet dat het van Senly komt. Handig om Senly aan je eigen tools of automatiseringen te koppelen."},{"num":"v30.40","type":"feature","title":"Koppel je eigen Laposta","problem":"Je Laposta-lijsten stonden los van je werk in Senly.","solution":"Je koppelt nu je eigen Laposta met een sleutel en ziet je lijsten direct in het portaal."},{"num":"v30.39","type":"feature","title":"Koppel je eigen ActiveCampaign","problem":"Je ActiveCampaign-lijsten en campagnes stonden los van Senly.","solution":"Je koppelt nu je eigen ActiveCampaign en ziet je lijsten en recente campagnes direct in het portaal."},{"num":"v30.38","type":"feature","title":"Koppel je eigen e-Boekhouden.nl","problem":"Je facturen uit e-Boekhouden stonden los van je werk in Senly.","solution":"Je koppelt nu je eigen e-Boekhouden.nl en bekijkt je recente facturen direct in het portaal."},{"num":"v30.37","type":"feature","title":"Koppel je eigen Amazon S3-opslag","problem":"Je eigen bestandsopslag in Amazon S3 stond los van Senly.","solution":"Je koppelt nu je eigen S3-opslag en bekijkt en downloadt je bestanden direct in het portaal."}]}
2,{"date":"2026-09-12","version":"v30.36","clV":"v0.988","title":"Meer koppelingen: nieuwsbrieven, website-statistieken en blogs","items":[{"num":"v30.36","type":"feature","title":"Koppel je eigen Brevo-account","problem":"Je Brevo-lijsten en campagnes stonden los van Senly.","solution":"Je koppelt nu je eigen Brevo in één stap en ziet je doelgroepen en recente campagnes direct in het portaal."},{"num":"v30.35","type":"feature","title":"Koppel je eigen MailerLite-account","problem":"Je MailerLite-lijsten en campagnes stonden los van Senly.","solution":"Je koppelt nu je eigen MailerLite in één stap en ziet je doelgroepen en recente campagnes direct in het portaal."},{"num":"v30.34","type":"feature","title":"Website-statistieken van Matomo, Plausible en Bing","problem":"Je bezoekers- en zoekcijfers stonden verspreid over losse tools.","solution":"Je koppelt nu je Matomo, Plausible of Bing en ziet je belangrijkste website- en zoekcijfers direct in het portaal, naast Google."},{"num":"v30.33","type":"feature","title":"Blogs plannen en publiceren naar Ghost","problem":"Voor een Ghost-blog moest je apart inloggen, los van je planning.","solution":"Je koppelt nu per klant een Ghost-site en plant blogposts gewoon mee in de planner â op de geplande dag verschijnt het bericht vanzelf online."},{"num":"v30.32","type":"feature","title":"Koppel je eigen Wrike-account","problem":"Je Wrike-taken stonden los van je klantenwerk in Senly.","solution":"Je koppelt nu je eigen Wrike in één stap en haalt de aan jou toegewezen taken zo naar je takenlijst in het portaal."},{"num":"v30.31","type":"feature","title":"Koppel je eigen Airtable-account","problem":"Je Airtable-records stonden los van je klantenwerk in Senly.","solution":"Je koppelt nu je eigen Airtable in één stap en haalt records uit je Taken-tabel zo naar je takenlijst in het portaal."},{"num":"v30.30","type":"feature","title":"Meldingen naar Telegram","problem":"Je team-meldingen konden nog niet naar Telegram.","solution":"Je stuurt nieuwe leads, afgevinkte taken en betaalde facturen nu ook naar een Telegram-kanaal of -groep â gratis in te stellen met je eigen bot."},{"num":"v30.29","type":"feature","title":"Kies je eigen AI voor tekst","problem":"De tekst-AI (content genereren, notitie-suggesties) liep alleen op de standaard-AI.","solution":"Je kiest nu zelf welke AI je tekst maakt â de gratis standaard, of je eigen Claude of ChatGPT met je eigen sleutel. Beeld en spraak blijven op de standaard-AI."},{"num":"v30.28","type":"polish","title":"Je licht/donker-keuze blijft nu overal bewaard","problem":"Na het maken van een koppeling kwam je soms in de verkeerde weergave (donker) terug.","solution":"Je gekozen weergave blijft nu consistent door het hele portaal, ook na het koppelen van een externe tool."}]},{"date":"2026-09-11","version":"v30.27","clV":"v0.987","title":"De voorbeeldcursus in de Academy spreekt nu jouw taal","items":[{"num":"v30.27","type":"bugfix","title":"Voorbeeldcursus volgt de taal van je portaal","problem":"Zette je de demo op een andere taal, dan bleef de voorbeeldcursus in de Academy in het Nederlands staan.","solution":"De voorbeeldcursus verschijnt nu volledig in de taal die je kiest â lessen en quiz incluis â zodat je hem meteen als voorbeeld in die taal kunt gebruiken."},{"num":"v30.26","type":"feature","title":"Meer tools om aan te koppelen op het integratie-overzicht","problem":"Miste je jouw favoriete tool op de integratiepagina, dan wist je niet of die er ooit aankomt.","solution":"Het overzicht toont nu extra tools waar we aan werken â van boekhoudpakketten en CRM's tot planners, opslag en nieuwsbrieftools â zodat je in één blik ziet wat je binnenkort kunt koppelen."},{"num":"v30.25","type":"feature","title":"Blogs plannen en publiceren naar WordPress","problem":"Voor de website-blog van een klant moest je apart in WordPress inloggen; het paste niet in dezelfde planning als je social posts.","solution":"Je koppelt nu per klant een WordPress-site en plant blogposts gewoon mee in de planner. De eerste regel wordt de titel, de rest de inhoud, en op de geplande dag verschijnt het bericht vanzelf online."},{"num":"v30.24","type":"polish","title":"Herkenbare logo's bij alle tools op het integratie-overzicht","solution":"De nieuw toegevoegde tools tonen nu hun eigen logo in plaats van een letter, zodat je ze in één oogopslag herkent."},{"num":"v30.23","type":"feature","title":"Categorie, tags en SEO instellen bij een WordPress-blog","problem":"Een blog uit de planner belandde altijd in de standaardcategorie, zonder tags en zonder controle over de Google-tekst.","solution":"Bij een WordPress-post kies je nu een categorie, voeg je tags toe en stel je de URL in. Heeft je site Yoast of RankMath, dan vul je ook de SEO-titel en -omschrijving direct in de planner in."},{"num":"v30.22","type":"polish","title":"WordPress-logo in de planner","solution":"Bij het koppelen van WordPress
2in de planner zie je nu het WordPress-logo, net als bij de andere netwerken."},{"num":"v30.21","type":"feature","title":"WordPress koppelen lukt nu op meer sites","problem":"Op sommige websites mislukte het koppelen van WordPress, zelfs met de juiste inloggegevens.","solution":"Senly probeert nu automatisch een tweede manier van inloggen als de eerste door de website wordt afgeschermd, zodat de koppeling in de meeste gevallen gewoon lukt met je gewone WordPress-wachtwoord."},{"num":"v30.20","type":"polish","title":"Wachtwoord even kunnen bekijken bij het koppelen","solution":"Bij het koppelen van een account kun je nu op het oogje klikken om je wachtwoord zichtbaar te maken en typefouten te controleren."},{"num":"v30.19","type":"polish","title":"Agenda toont het echte publicatietijdstip","problem":"Een gepubliceerd bericht bleef op de geplande tijd staan, ook als het een paar minuten later live ging.","solution":"Gepubliceerde berichten tonen in de agenda nu het moment waarop ze echt online kwamen."},{"num":"v30.18","type":"feature","title":"Plan en publiceer naar Telegram en Discord","problem":"Community-kanalen op Telegram en Discord moest je apart bijhouden, los van je contentplanning.","solution":"Je koppelt nu per klant een Telegram-kanaal of een Discord-kanaal en plant berichten mee in de planner â met tekst en afbeeldingen, gewoon op het geplande moment."}]},{"date":"2026-09-10","version":"v30.17","clV":"v0.986","title":"Eén knop- en veldstijl door het hele portaal, ook in de admin-tools","items":[{"num":"v30.17","type":"bugfix","title":"Terug uit een groeitool brengt je naar de juiste tab","problem":"Opende je een groeitool vanaf de Kanalen-tab van een klant, dan kwam je met de terug-knop op de Content-tab uit in plaats van waar je was.","solution":"De terug-knop onthoudt nu de tab waar je vandaan kwam en zet je daar weer neer."},{"num":"v30.16","type":"polish","title":"Lege schermen wijzen nu de weg","problem":"Als er nog niks was â bijvoorbeeld een klant zonder taken â zag je alleen een lege kaart met een kort grijs zinnetje.","solution":"Lege plekken tonen nu een klein symbool, een titel en één regel uitleg, zodat je meteen ziet wat er hoort te komen â en waar het kan meteen een knop, zoals \"Contact toevoegen\" of \"Nieuwe factuur\". Dit geldt door het hele portaal: CRM, agenda, facturen, meetings, e-mail, campagnes, sales, commissie, inzichten, de inbox en de admin-schermen."},{"num":"v30.15","type":"polish","title":"Het portaal beweegt mee: cijfers tellen op, grafieken tekenen zich, knoppen reageren","problem":"Schermen verschenen in één keer statisch: cijfers stonden er meteen, grafieken sprongen in beeld en knoppen en menu's gaven geen gevoel van indrukken of openen.","solution":"De gezondheidsring op statistieken vult zich van leeg naar de score, grafieklijnen tekenen zich in een halve seconde, knoppen en sc
2hakelaars drukken heel licht in, klikbare kaarten tillen 1 px op en menu's openen met een korte pop. Getallen zelf blijven rustig staan. Alles subtiel en automatisch uit als je in je systeem \"verminder beweging\" aan hebt staan."},{"num":"v30.14","type":"polish","title":"Statistieken: rustiger en cijfer-eerst","problem":"Het statistieken-scherm had een grote score-band met gradient en gloed, losse KPI-tegels met icoontjes en glazen kaarten met schaduw, waardoor de cijfers zelf minder opvielen dan de decoratie eromheen.","solution":"De score staat nu in een rustige kop, de kerncijfers in één rij (groot getal, label eronder), kaarten zijn plat met een dunne rand, en badges en tabelacties zijn subtieler. Achterstallige cijfers krijgen een vaste waarschuwingskleur die ook in donkere modus klopt."},{"num":"v30.13","type":"polish","title":"Contentkalender oogt als een echte agenda","problem":"De weekweergave had een zwaar raster met dikke lijnen om elke cel, dagkoppen in hoofdletters en berichtkaarten met een volle rand, waardoor het scherm druk en \"dashboard-achtig\" aanvoelde.","solution":"De week staat nu op één rustig vlak met dunne lijnen, de dagen heten gewoon \"Maandag 7\" met vandaag als gekleurde cirkel, berichten zijn zachte kaarten met een klein statusbalkje (gepland, gepubliceerd, concept, mislukt) en een rode lijn toont waar je nu bent in de dag. Slepen en klikken werken zoals altijd; ook in donkere modus."},{"num":"v30.12","type":"polish","title":"Ook de knoppen in instellingen en admin-tools volgen nu de huisstijl","problem":"Schermen als workflows, formulieren, cursussen, contracten, koppelingen, eigen velden, landingspagina's, tags, rollen, meetings en de retention-funnel hadden elk hun eigen knopstijl â net iets anders van maat, kleur en afronding dan de rest van het portaal.","solution":"Ruim 750 knoppen in die schermen zien er nu precies uit als de knoppen elders: dezelfde maten, dezelfde primaire/secundaire/rode stijl en hetzelfde hover- en uitgeschakeld-gedrag, in licht en donker."},{"num":"v30.11","type":"polish","title":"Iconen overal even fijn getekend","problem":"Sommige symbolen zoals vinkjes, kruisjes en pijltjes waren net iets dikker getekend dan de rest, waardoor het geheel niet helemaal strak oogde.","solution":"Alle symbolen in het portaal hebben nu dezelfde lijndikte, zodat de interface rustiger en verzorgder aanvoelt."},{"num":"v30.10","type":"polish","title":"Rustiger diepte door het hele portaal","problem":"Kaarten, vensters en menus hadden elk net iets andere schaduwen, waardoor sommige zwaarder of drukker oogden dan andere.","solution":"Er is nu een vaste diepte-ladder: kaarten liggen rustig, wat je opent zweeft er licht boven, en vensters komen duidelijk naar voren. Overal hetzelfde, in licht en donker."},{"num":"v30.09","type":"polish","title":"Het menu laat nu zien wanneer er meer knoppen onder de rand staan","problem":"Op een korter scherm pasten niet alle menu-knoppen in de zijbalk, maar er was niets dat dat verraadde â je zag niet dat je nog verder kon.","solution":"Zit er meer onder de rand, dan verschijnt onderin de zijbalk een klein pijltje omlaag met een zachte vervaging; scroll je naar beneden, dan verdwijnt het weer."},{"num":"v30.08","type":"polish","title":"Groeitools ogen als een exclusieve collectie","problem":"De kaarten met groeitools per platform waren gekleurde tegels met een felle knop, waardoor juist het meest waardevolle deel van het portaal het minst verzorgd oogde.","solution":"Elke platformkaart heeft nu bovenaan een diepe, matte kleurplaat in de merkkleur, met het merkteken als reliëf en de naam in wit. Daaronder staan de tools als een net specificatieblad op licht meegetint papier, met op elke kaart dezelfde knop in de huisstijlkleur. Zo voelt dit als het premium-gedeelte dat het is, in licht en donker."},{"num":"v30.07","type":"polish","title":"Groeitool-kaarten tonen nu alles wat de tool echt kan","problem":"De Instagram-kaart noemde alleen de profielcheck en TikTok propte drie acties in een regel, terwijl de tools intussen veel meer doen. Ook had elke kaart een eigen hoogte, wat rommelig oogde.","solution":"Instagram laat nu alle groei-acties zien: volgen, liken, stories, welkomstbericht en automatisch ontvolgen naast de profielcheck. TikTok toont zijn drie acties los. Alle kaarten zijn weer even hoog met de knop netjes onderaan uitgelijnd."},{"num":"v30.06","type":"polish","title":"Marketing Radar: branchefilter als overzichtelijk menu","problem":"Boven de trends stond een tweede rij met alle branches naast elkaar, waardoor het filtergedeelte druk en rommelig oogde.","solution":"De branches zitten nu in één nette keuzeknop naast de sorteerknop. Klik erop en je ziet alle branches met het aantal trends per branche; je actieve keuze blijft zichtbaar op de knop."},{"num":"v30.05","type":"polish","title":"De groeitool-pagina's hebben nu dezelfde luxe stijl als de kaarten","problem":"Je opende een verzorgde platformkaart en kwam uit op een pagina die als een gewoon dashboard oogde: losse cijfertegels met icoontjes, hoofdletter-koppen en een grijs blok in een wit blok.","solution":"De accountkop is nu dezelfde matte kleurplaat als op de kaart, met het merk als reliëf. De cijfers staan in een rustige rij, koppen zijn gewone zinnen, de scan-opties zijn nette rijtjes en alle panelen delen dezelfde diepte. Schakelaars, dagen, statussen en knoppen kleuren mee met het platform. Dit geldt voor Facebook, LinkedIn, TikTok en Instagram."},{"num":"v30.04","type":"polish","title":"Groeitool-pagina opgeruimd","problem":"Op de pagina stonden dezelfde cijfers twee keer, de knoppen weken af van de rest van het portaal, je zag niet welke scan-opties aan stonden en de activiteitenlijst herhaalde acht keer hetzelfde.","solution":"De dubbele regel is weg, knoppen en velden volgen de huisstijl, elke scan-optie heeft een duidelijk vinkvak, de lijst toont de laatste vijf runs en de grafiek tekent zich rustig in. Ook staat er minder lege ruimte boven de pagina."},{"num":"v30.03","type":"polish","title":"Groeitool-pagina: knoppen doen wat ze beloven","problem":"De knoppen Instellingen en Logs deden niets, er pulseerde een groen real-time-lampje terwijl de laatste run weken terug was, een cijfertegel toonde een kaal streepje en beide startknoppen oogden even zwaar.","solution":"Instellingen springt naar de instellingen, Logs toont alle runs. Het lampje brandt alleen tijdens een run en toont anders wanneer de laatste run was. Tegels zonder meting zeggen dat netjes in woorden. De hoofdknop is duidelijk de hoofdknop, en de waarschuwing heeft nu meteen een startknop."},{"num":"v30.02","type":"polish","title":"Groeitool-pagina's afgerond: ook LinkedIn, TikTok en Instagram","problem":"Bij LinkedIn, TikTok en Instagram pulseerde nog een real-time-lampje terwijl er lang niets gedraaid had, een lege activiteitenlijst was een kaal regeltje, en op een telefoon knelde de indeling.","solution":"Alle vier de pagina's tonen nu wanneer de laatste run of check was, een lege lijst legt vriendelijk uit dat er nog niets is, een ontbrekend account biedt direct Opnieuw verbinden aan, en op een smal scherm vallen kop, cijfers en knoppen netjes onder elkaar."},{"num":"v30.01","type":"polish","title":"Rustiger lezen: labels zonder dubbele punt, cijfers die uitlijnen, vaster ritme","problem":"Labels eindigden vaak op een dubbele punt, cijfers in tabellen versprongen omdat elk cijfer een andere breedte had, en de ruimte tussen blokken verschilde net van scherm tot scherm.","solution":"Labels zijn nu rustige woorden zonder dubbele punt, alle tabellen en tellers gebruiken cijfers van gelijke breedte zodat kolommen strak uitlijnen, en de afstanden in de gedeelde schermdelen liggen op een vast raster. Onopvallend, maar het hele portaal voelt er netter door."},{"num":"v30.00","type":"polish","title":"Pagina's komen rustig binnen","problem":"Bij het wisselen van pagina verscheen alles in een klap, wat na de verfijning van kaarten en menus net wat abrupt aanvoelde.","solution":"De blokken van een pagina vallen nu in een kwart seconde zachtjes op hun plek, een voor een. Subtiel genoeg om niet af te leiden, en automatisch uit als je in je systeem minder beweging hebt ingesteld."},{"num":"v29.99","type":"polish","title":"Donkere modus: diep in plaats van zwart","problem":"In de donkere modus lagen pagina en kaarten zo dicht bij elkaar dat kaarten in de achtergrond verdwenen, tekst was hard wit en de signaalkleuren schreeuwden.","solution":"Het donker is nu een diepe, licht getinte antraciet met een duidelijke laagopbouw: kaarten liggen zichtbaar op de pagina, met een fijne lichte bovenrand. Tekst is gebroken wit, randen zijn net zichtbaar en rood, oranje en groen zijn gedempt. De huisstijlkleur blijft het accent, ook bij een bureau met eigen kleur."},{"num":"v29.98","type":"polish","title":"Het klantportaal voor je eigen klanten spreekt nu dezelfde taal","problem":"De pagina w
2aarop je klant zijn facturen en offertes ziet, had nog een kleurverloop als kop, felle verloopknoppen en labels in hoofdletters, terwijl de rest van Senly inmiddels rustig en verzorgd is.","solution":"De kop is een rustige plaat in jouw huisstijlkleur, de betaal- en tekenknoppen zijn strak en effen, en labels en statussen lezen als gewone woorden. Ook een paar e-mailkoppen en de standaardkleur in de factuur-PDF zijn meegenomen."},{"num":"v29.97","type":"polish","title":"Klantkaarten volgen nu het portaal, met de klantkleur als accent","problem":"Elke klantkaart op het dashboard was een vlak in de kleur van die klant, waardoor de kaarten in de donkere modus allemaal groenig oogden en niet bij je eigen huisstijl pasten.","solution":"De kaarten hebben nu hetzelfde rustige oppervlak als de rest van het portaal. De kleur van de klant blijft herkenbaar in het strookje links en het icoon, zonder dat de hele kaart meekleurt. De kop van het klantprofiel volgt dezelfde regel. Werkt in licht en donker."},{"num":"v29.96","type":"polish","title":"Meldingen en vensters horen nu bij de rest","problem":"Bevestigingsvensters hadden een zware schaduw en verschenen in een klap, meldingen gebruikten felle eigen kleuren, en op drie plekken sprong nog een kaal browservenster op.","solution":"Vensters liggen op dezelfde diepte als de rest van het portaal en komen zacht binnen. Meldingen en foutteksten gebruiken de rustige kleuren van het thema, ook in de donkere modus. Concept weggooien, een offerte afwijzen en een koppeling verbreken vragen nu netjes om bevestiging in de huisstijl."},{"num":"v29.95","type":"feature","title":"Het zoekvenster onthoudt wat je opende en kan nu ook dingen doen","problem":"Met de sneltoets kon je al naar klanten, tools en pagina's springen, maar je begon elke keer opnieuw en kon er niets mee uitvoeren.","solution":"Bovenaan staan nu je laatst geopende items. Je kunt direct een nieuwe taak starten, een klant toevoegen of een bericht sturen. En bij een klant spring je meteen naar een tabblad, bijvoorbeeld \"Van den Reek ⺠Kanalen\". Openen met de zoekbalk of met Cmd+K (Ctrl+K op Windows)."},{"num":"v29.94","type":"feature","title":"Sneltoetsen: springen en starten zonder de muis","problem":"Snel van scherm wisselen of iets nieuws beginnen kostte altijd een paar klikken, ook als je handen al op het toetsenbord lagen.","solution":"Druk op G en dan een letter om ergens heen te gaan (G dan K voor klanten, G dan T voor taken), of op N en dan een letter om iets nieuws te starten (N dan T voor een nieuwe taak). Met ? zie je het volledige overzicht. De toetsen doen niets terwijl je typt."},{"num":"v29.93","type":"polish","title":"Je ziet nu de voortgang bij captions maken en inplannen","problem":"Tijdens het genereren van captions of het versturen naar de contentplanner stond er alleen een vaag groen tekstje, zonder dat je zag of er iets gebeurde of hoe ver het was.","solution":"Er staat nu een nette voortgangsbalk in je huisstijlkleur. Bij het versturen vult hij per bericht, met een teller erbij. Bij het genereren van captions beweegt hij rustig zodat je ziet dat er gewerkt wordt."},{"num":"v29.92","type":"bugfix","title":"Het inplan-venster volgt nu overal je huisstijlkleur","problem":"In het venster om posts naar de contentplanner te sturen bleven de vakjes achter de kanaal-iconen en een paar labels mintgroen, ook als je bureau een andere huisstijlkleur heeft.","solution":"Alle vlakjes, labels en randen in dat venster kleuren nu mee met je eigen huisstijlkleur, in licht en donker."},{"num":"v29.91","type":"feature","title":"Taak verwijderen vraagt niet meer, maar is wel terug te draaien","problem":"Elke keer als je een taak verwijderde, vroeg het portaal eerst of je het zeker wist, terwijl verwijderde taken gewoon in de prullenbak belanden.","solution":"Een taak verwijderen gebeurt nu meteen, met een melding waarin je hem met een klik kunt terugzetten. Ook herstellen uit de prullenbak vraagt niet meer om bevestiging. Alles wat echt onomkeerbaar is, zoals de prullenbak definitief legen, vraagt dat nog wel."},{"num":"v29.90","type":"feature","title":"Nieuwe widget: zie waar je contentplanning leegloopt","problem":"Of een klant de komende weken nog content heeft klaarstaan, zag je alleen door per klant de kalender te openen â en juist een lege planning is wat je als bureau wilt voorkomen.","solution":"De nieuwe widget Content-gaten kijkt veertien dagen vooruit en zet de klanten op een rij bij wie de planning leegloopt: rood als er niets staat, oranje met de datum tot wanneer er nog content is. Klik op een klant en je zit direct in zijn content-tab. Toe te voegen via de widget-kiezer op je dashboard."},{"num":"v29.89","type":"bugfix","title":"Toevoegen-formulieren op het klantprofiel volgen je huisstijl","problem":"Het vlak achter Website toevoegen en Campagne toevoegen op een klantprofiel bleef groenblauw getint, ook als je bureau een andere huisstijlkleur heeft.","solution":"Die formulieren kleuren nu subtiel mee met je eigen huisstijlkleur. De vaste herkenningskleuren van de diensten zelf blijven zoals ze waren."},{"num":"v29.88","type":"feature","title":"Nieuwe widget: per klant zien tot wanneer er content klaarstaat","problem":"Je zag nergens in een oogopslag hoe ver elke klant vooruit gepland is, zeker niet als je deels via de eigen contentplanner en deels via de kalenderkoppeling werkt.","solution":"De widget Gepland tot zet al je klanten op een rij met de datum tot wanneer er content klaarstaat, uit beide bronnen samen. Rood betekent niets gepland, oranje minder dan een week, groen verder vooruit. De widget Content-gaten kijkt nu ook naar de eigen contentplanner. Toe te voegen via de widget-kiezer."},{"num":"v29.87","type":"polish","title":"Een dun laadbalkje laat zien dat de volgende pagina onderweg is","problem":"Klikte je naar een pagina die even moest laden, dan gebeurde er heel kort zichtbaar niets. En in de lichte modus was de schuifbalk vrijwel onzichtbaar.","solution":"Bovenlangs loopt nu een dun balkje in je huisstijlkleur mee tot de nieuwe pagina er staat. De schuifbalk is in de lichte modus weer zichtbaar en netjes gestyled in alle browsers."},{"num":"v29.86","type":"polish","title":"Het portaal onthoudt je filters en tabbladen","problem":"Stelde je bij taken, facturen, offertes of het CRM een filter, sortering of tabblad in, dan stond bij je volgende bezoek alles weer op standaard.","solution":"Je laatste keuze wordt nu per onderdeel onthouden: kom je terug, dan staan je filters, sortering en tabblad precies zoals je ze achterliet. Open je een gedeelde link, dan wint die altijd van je onthouden voorkeur."},{"num":"v29.85","type":"polish","title":"Klanten en teamleden kiezen door te typen","problem":"Een klant of teamlid aan een taak koppelen betekende scrollen door een lange uitklaplijst.","solution":"De keuzelijsten bij taken zijn nu doorzoekbaar: klik, typ een paar letters en kies. Werkt ook met de pijltjestoetsen."},{"num":"v29.84","type":"polish","title":"Terug naar een lijst brengt je terug waar je was","problem":"Klikte je vanuit een lange lijst een item open en ging je terug, dan begon je weer helemaal bovenaan.","solution":"Het portaal onthoudt nu per pagina w
2aar je was gebleven. Ga je terug, dan sta je weer precies op dezelfde plek, ook als de lijst nog even moest laden."},{"num":"v29.83","type":"bugfix","title":"Planning-per-dag toont weer alle zeven dagen","problem":"In het scherm om posts naar de Contentplanner te sturen, en bij de planning-instellingen van een klant, viel de laatste dag (zondag) onderaan weg.","solution":"De dagkiezer is opnieuw ontworpen: alle dagen staan als even grote knoppen op een rij, met de gekozen tijden eronder. De planning-instellingen openen bovendien in een eigen venster met alle ruimte, zodat ook Reels en Stories altijd volledig in beeld zijn."},{"num":"v29.82","type":"polish","title":"Ging het laden even mis, dan probeer je het nu met één klik opnieuw","problem":"Laadde een widget of lijst niet, dan zag je niets of een kale foutmelding en bleef alleen de hele pagina verversen over.","solution":"Overal staat nu dezelfde nette melding met een knop Opnieuw proberen: op het dashboard, bij facturen en terugkerende facturen, in het CRM en in de beheerschermen."},{"num":"v29.81","type":"polish","title":"Een misklik gooit je invoer niet meer weg","problem":"Klikte je per ongeluk naast een bewerkvenster, of sloot je het tabblad, dan was alles wat je had ingetypt stilletjes verdwenen.","solution":"Bewerkvensters vragen nu eerst om bevestiging als er niet-opgeslagen wijzigingen zijn, ook bij taken, klanten, facturen, offertes en captions. Nieuwe taken en klantnotities onthouden bovendien je concept, zodat je verder kunt waar je bleef."},{"num":"v29.80","type":"bugfix","title":"Vensters sluiten weer vloeiend","problem":"Bij het sluiten van een venster, zoals de planning-instellingen, flitste het venster nog een keer half in beeld.","solution":"Twee animaties zaten elkaar in de weg bij het sluiten. Er is er nu nog een: vensters faden netjes in en uit."},{"num":"v29.79","type":"feature","title":"Meerdere facturen tegelijk afhandelen","problem":"Tien facturen als betaald markeren of archiveren betekende tien keer klikken en wachten.","solution":"Klik op Selecteren boven de facturenlijst, vink facturen aan (met Shift pak je een hele reeks in een keer) en markeer ze samen als betaald of archiveer ze in een keer."},{"num":"v29.78","type":"feature","title":"Senly adviseert per klant de beste momenten om te posten","problem":"Op welke dag en tijd het publiek van een klant echt reageert, was gokken of handmatig uitzoeken.","solution":"Senly berekent het nu uit de reacties op eerdere posts. In de planner klik je een geadviseerd moment direct aan als plaatsingstijd, en bij de planning-instellingen vul je de beste momenten met een knop in. Het advies verschijnt alleen als er genoeg meetbare posts zijn."},{"num":"v29.77","type":"polish","title":"Subtiele geluidjes, met een eigen schakelaar","problem":"Een taak afvinken of content versturen voelde stil, en de bestaande geluiden waren nergens uit te zetten.","solution":"Een taak afvinken geeft nu een zachte tik en versturen een subtiele whoosh. Onder Profiel bij Meldingen staat een schakelaar om alle portaalgeluiden per apparaat aan of uit te zetten."},{"num":"v29.76","type":"feature","title":"Sorteer en groepeer je facturen","problem":"De facturenlijst stond in een vaste volgorde; op bedrag of vervaldatum kijken of alles van een klant bij elkaar zien kon niet.","solution":"Klik op een kolomkop om te sorteren, en groepeer de lijst op status of op klant met een subtotaal per groep. Je keuze wordt onthouden voor je volgende bezoek."},{"num":"v29.75","type":"feature","title":"Overdracht-samenvatting per klant","problem":"Een klant overdragen aan een collega of een vakantiedekking betekende overal losse informatie bij elkaar zoeken.","solution":"Op het klantprofiel staat nu een knop Overdracht-samenvatting: openstaande taken, notities en recente activiteit op een nette, afdrukbare pagina. Ideaal om mee te geven of uit te printen bij een overdracht."},{"num":"v29.74","type":"polish","title":"Deel de overdracht-samenvatting en vind al je klanten in de chat","problem":"De overdracht-samenvatting was niet te delen, en de deel-lijst in de teamchat toonde maar een handvol klanten en zocht hoofdlettergevoelig.","solution":"Op de overdracht-samenvatting staat nu Kopieer link, zodat je hem in de teamchat of een bericht kunt plakken. De klant-kiezer in de chat toont meer klanten en vindt ze ongeacht hoofdletters."},{"num":"v29.73","type":"polish","title":"Duidelijkere iconen in het deel-menu van de chat","problem":"De acties om te delen in de teamchat gebruikten algemene emoji.","solution":"Elke actie heeft nu een getekend icoon dat bij de actie past: een klembord met doorstuurpijl, een contactkaart en een fotolijst met uploadpijl."},{"num":"v29.72","type":"polish","title":"Menu's, dropdowns en meldingen krijgen echt glas","problem":"Zwevende vensters zoals menu's en meldingen hadden elk hun eigen ondoorzichtige achtergrond.","solution":"Ze delen nu een consistent glas-effect in drie vaste niveaus, dat de kleur van je huisstijl subtiel laat doorschijnen. Werk je met verminderde transparantie, dan blijft alles ondoorzichtig en leesbaar."},{"num":"v29.71","type":"bugfix","title":"Terugkeren naar een lijst springt niet meer","problem":"Ging je terug naar een lijst, dan begon de pagina bovenaan en sprong daarna zichtbaar na
2ar de plek waar je was.","solution":"De positie wordt nu hersteld voordat de pagina in beeld komt, en direct in plaats van met een schokje. Je landt meteen waar je gebleven was."},{"num":"v29.70","type":"bugfix","title":"Het icoon van Lead scoring is weer een nette ster","problem":"In het instellingen-overzicht stond bij Lead scoring een scheef, gebroken sterretje.","solution":"Het icoon is vervangen door een net, symmetrisch sterretje."},{"num":"v29.69","type":"bugfix","title":"Grafieklijnen lopen weer helemaal door","problem":"In sommige grafieken, zoals de volgersgroei, stopte de lijn soms halverwege in plaats van tot het einde te lopen.","solution":"De lijnen verschijnen nu met een rustige fade in plaats van zich te tekenen, zodat ze altijd volledig in beeld staan."},{"num":"v29.68","type":"bugfix","title":"De ring rond het certificaat is altijd zichtbaar","problem":"Bij het Academy-certificaat kon de ring rond het zegel wegblijven, onder andere met verminderde beweging aan.","solution":"De ring staat nu standaard volledig in beeld; de intekening is alleen nog een extraatje bij het openen."},{"num":"v29.67","type":"feature","title":"Uitgelichte integraties bovenaan de koppelingen","problem":"De integraties-pagina begon direct met lange lijsten, zonder dat de belangrijkste koppelingen eruit sprongen.","solution":"Bovenaan staat nu een blok Uitgelicht met de zes koppelingen waar bureaus het meest aan hebben, als grote kaarten in de kleur van de aanbieder. Zoek je of filter je, dan schuift het blok netjes weg."},{"num":"v29.66","type":"polish","title":"Integratie-tegels tonen hun uitleg in twee regels","problem":"De korte uitleg op integratie-tegels werd na een halve zin afgekapt met drie puntjes.","solution":"Elke tegel toont nu twee regels uitleg met een nette afronding, zodat je direct leest wat een koppeling doet."},{"num":"v29.65","type":"feature","title":"Integraties filteren per categorie","problem":"Met zeventig koppelingen was de integraties-pagina een lange scroll zonder snelle weg naar de categorie die je zocht.","solution":"Links staat nu een categorie-balk met aantallen. Klik op een categorie en je ziet alleen die koppelingen; je keuze wordt onthouden. Op een smal scherm wordt de balk een rijtje knoppen boven de lijst."},{"num":"v29.64","type":"polish","title":"Instellingen leest als een echt instellingenpaneel","problem":"De categorielijst in Instellingen bestond alleen uit tekst met stipjes, en tijdens het scrollen zag je niet in welke groep je zat.","solution":"Elke groep heeft nu een eigen icoon, en de lijst links licht mee op met de groep die in beeld is terwijl je scrolt. Klikken filtert nog steeds naar die groep."},{"num":"v29.63","type":"polish","title":"Formulieren, landingspagina's en cursussen: overzichtelijker beheren","problem":"Deze beheerlijsten waren kale opsommingen zonder tellers of filters, en een lege lijst was een kale melding.","solution":"Elke lijst heeft nu filterknoppen met aantallen, zoals Actief en Uit, die onthouden worden. Klik op een naam om direct te bewerken, met een pijltje dat bij aanwijzen verschijnt. Lege lijsten en filters zonder resultaat tonen een nette melding met een knop."},{"num":"v29.62","type":"feature","title":"Van klantnotitie naar taak in één klik","problem":"Een notitie als \"volgende week bellen over Q4\" moest je handmatig overtypen in een nieuwe taak.","solution":"Elke klantnotitie heeft nu een taak-knop: kies Morgen, Over 3 dagen, Volgende week of Geen datum, en de taak staat er met de notitie als titel en de klant erbij. Per ongeluk? Ongedaan maken zit in de melding."},{"num":"v29.61","type":"feature","title":"Cashflow-widget toont wat er deze maand binnenkomt en wat te laat is","problem":"De cashflow-widget gaf één totaal aan openstaande facturen, zonder onderscheid tussen wat deze maand vervalt en wat al te laat is.","solution":"Onder de cijfers staat nu \"Verwacht deze maand\" en, als dat speelt, in rood hoeveel daarvan al te laat is en om hoeveel facturen het gaat."},{"num":"v29.60","type":"feature","title":"Een eigen chatkanaal per klant","problem":"De teamchat was één stroom, waardoor afstemming over een klant tussen alle andere berichten belandde.","solution":"Op elk klantprofiel staat nu de knop Klantchat: die opent het kanaal van die klant in de teamchat en maakt het aan als het nog niet bestaat. Klantkanalen zijn in de chat herkenbaar aan een klein gebouw-icoon."},{"num":"v29.59","type":"polish","title":"Huisstijl-pagina met live merkpaspoort","problem":"Bij het instellen van logo, kleuren en namen zag je pas na opslaan en doorklikken hoe het er voor je klanten uitzag.","solution":"Naast de instellingen staat nu een merkpaspoort dat direct meebeweegt: een miniatuur van het portaal in licht en donker, de login-pagina, je kleuren met een contrastcheck en de status van domein en afzender. De pagina zelf is rustiger, met de logo's naast elkaar op hun eigen donkere en lichte plaat."},{"num":"v29.58","type":"polish","title":"Huisstijlpagina: lichtere koppen en een rustige, grote titel","problem":"De kopjes op de hu
2isstijlpagina stonden vet en zwaar naast elkaar, en de paginatitel viel uit de toon met de rest van de admin-pagina.","solution":"Alle tussenkoppen zijn een gewicht lichter en de titel heeft nu dezelfde grote, luchtige stijl als de commissieregels, met het tweede deel in je accentkleur."},{"num":"v29.57","type":"bugfix","title":"Teamchat: het menu achter de drie puntjes is weer zichtbaar","problem":"In het compacte chatvenster verdween het uitklapmenu met extra opties achter de kamerbalk, waardoor je het niet kon openen.","solution":"Het menu (en de status- en meldingskeuze die eruit openen) ligt nu altijd bovenop het venster, netjes onder de knop."},{"num":"v29.56","type":"polish","title":"Werkuren: leesbare status-badge in donkere modus","problem":"Het label bovenaan de werkuren-pagina had een bruine tekstkleur die in de donkere modus slecht leesbaar was en las als technisch jargon.","solution":"De badge gebruikt nu de themakleuren en zegt gewoon dat de werkuren binnenkort actief worden en je ze nu alvast kunt instellen."},{"num":"v29.55","type":"polish","title":"Eigen velden: schakelaar Klanten/CRM leest goed in donkere modus","problem":"De schakelbalk bovenaan de eigen-velden-pagina bleef lichtgrijs in de donkere modus, wat detoneerde met de rest van de pagina.","solution":"De schakelaar volgt nu netjes je thema, met een duidelijk actief tabblad in zowel de lichte als de donkere weergave."},{"num":"v29.54","type":"polish","title":"Commissie: accentkleur in de titel en duidelijkere tabs bovenaan","problem":"Op de commissiepagina stond het accentwoord in de titel wit in plaats van je merkkleur, en de schakelaar tussen Claims en Portfolio zag er niet uit als aanklikbare tabs.","solution":"Het accentwoord staat nu weer in je merkkleur, en de twee weergaven staan in een duidelijke schakelbalk zodat je meteen ziet dat je kunt wisselen."},{"num":"v29.53","type":"polish","title":"Koppelingen: gebeurtenis-keuze leest goed in donkere modus","problem":"Bij het opzetten van een koppeling naar een externe tool werd een optie fel wit zodra je erover ging of hem koos, wat lelijk was in de donkere modus.","solution":"Opties volgen nu netjes je thema en een gekozen gebeurtenis krijgt een duidelijke gemarkeerde rand in je merkkleur, zodat je in een oogopslag ziet wat aanstaat."},{"num":"v29.52","type":"polish","title":"Hot leads herkenbaar aan een strak getekend vlammetje","problem":"De hot-lead-markering was een standaard emoji die er per apparaat anders uitzag en niet bij de rest van het portaal paste.","solution":"Hot leads krijgen nu overal hetzelfde getekende vlammetje in je merkstijl: op de lead-scoring-pagina, in de dashboardwidgets en direct op de kaart in je pipeline."},{"num":"v29.51","type":"polish","title":"Commissie: Claims en Portfolio nu als twee duidelijke tabs","problem":"De twee weergaven stonden dicht tegen elkaar en lazen als een enkele titel.","solution":"Claims en Portfolio staan nu als twee losse knoppen met ruimte ertussen, zodat je meteen ziet dat je tussen twee overzichten kunt wisselen."},{"num":"v29.50","type":"polish","title":"Uitgelicht bij integraties: de AI-koppelingen naar voren","problem":"De AI-koppelingen waren niet meteen zichtbaar tussen de uitgelichte integraties.","solution":"Gemini en Claude staan nu prominent bij de uitgelichte koppelingen, zodat je je AI-voorkeur sneller vindt en instelt."},{"num":"v29.49","type":"polish","title":"Klantprofiel: statusknoppen en acties overzichtelijker gestapeld","problem":"Bewerken, Klantchat en de status (Actief/Gepauzeerd/Inactief) stonden op een rij door elkaar.","solution":"De status staat nu bovenaan en Bewerken en Klantchat eronder, zodat de kop rustiger en duidelijker oogt."},{"num":"v29.48","type":"polish","title":"Groeitools: de startpagina zonder gek
2oppeld account is nu net zo mooi als met","problem":"Zolang er nog geen account gekoppeld was, zag je op de tool-pagina alleen een kale kaart met een knop en een droog uitlegblok.","solution":"Je ziet nu meteen het dashboard dat je krijgt: dezelfde gekleurde kop, de cijfers die zich na je eerste run vullen, de automatisering met uitleg, en een statusoverzicht met de eerstvolgende stap. Werkt voor Facebook, Instagram, TikTok en LinkedIn (per gekozen tool)."},{"num":"v29.47","type":"feature","title":"Metricool-koppeling laat nu zien wat ze voor je doet","problem":"De Metricool-pagina onder Integraties zei alleen dat je gekoppeld was; wat er achter die koppeling zat, moest je op klantprofielen bij elkaar zoeken.","solution":"Je ziet nu in een oogopslag of de verbinding werkt, welke merken er in je Metricool-account staan, welke klant aan welk merk hangt en welke nog niet, plus de koppelingsdetails en een korte uitleg. Bijwerken en loskoppelen zitten op dezelfde plek."},{"num":"v29.46","type":"polish","title":"Metricool-pagina in de eigen kleuren van Metricool","problem":"De koppelingskaart was roze terwijl het Metricool-logo erboven geel is; die twee kleuren botsten.","solution":"De kaart volgt nu het echte Metricool-palet: donker met limoengele accenten, passend bij het logo en goed leesbaar in de lichte en donkere weergave."},{"num":"v29.45","type":"feature","title":"Alle integraties in dezelfde heldere stijl","problem":"Elke koppeling zag er net iets anders uit: een kale kaart met een statuslabel, soms met dubbele kop boven de kaart.","solution":"Iedere koppeling heeft nu dezelfde opbouw als de vernieuwde Metricool-pagina: een gekleurde kop met logo, uitleg en status, de instellingen in het midden en een vast overzicht met koppelingsdetails en de knoppen rechts. Van Google Drive en Trello tot HubSpot, Moneybird, Slack en Buffer."},{"num":"v29.44","type":"polish","title":"Google Drive en de AI-koppelingen ook in de nieuwe stijl","problem":"Google Drive en de AI-pagina (Gemini, Claude, ChatGPT) hadden nog de oude opbouw, met bij AI zelfs een dubbele kop.","solution":"Ook deze koppelingen hebben nu de gekleurde kop met status, de instellingen in het midden en de details rechts. Bij AI zie je meteen welke tekst-AI actief is en of je eigen sleutel is ingesteld."},{"num":"v29.43","type":"polish","title":"iCloud Drive (lokale map) in dezelfde stijl als de andere koppelingen","problem":"De pagina voor de lokale map toonde nog de oude opbouw met een lijst van alle opslag-aanbieders.","solution":"Ook deze koppeling heeft nu de gekleurde kop met status en alleen de instellingen die voor de lokale map gelden; bij Google Drive zie je onder de kaart alleen nog de Google-instructies."},{"num":"v29.42","type":"polish","title":"Laatste koppelingen in de nieuwe stijl, met overal het logo in de kop","problem":"E-mail (Gmail, Outlook, IMAP), de Google-koppeling voor website-statistieken en de meldingskanalen Telegram, Mattermost, ntfy, Pushover en de eigen koppeling via een webadres hadden nog de oude opbouw; bij een aantal andere koppelingen stond de kop dubbel en ontbrak het logo in de gekleurde kop.","solution":"Alle koppelingen hebben nu dezelfde opbouw: gekleurde kop met het logo groot op de achtergrond, status en details rechts, instellingen in het midden. Bij e-mail zie je meteen hoeveel mailboxen gekoppeld zijn, bij Google welke property, locatie en site actief zijn."},{"num":"v29.41","type":"polish","title":"Logo in de kop van elke koppeling nu scherp en het echte merkteken","problem":"Het grote logo rechts in de gekleurde kop was bij een aantal koppelingen onscherp, toonde het hele app-tegeltje of was zelfs het verkeerde merkteken.","solution":"Elke koppeling gebruikt nu het officiële merkteken als vector: altijd scherp, alleen het merkteken zelf, en gegarandeerd het juiste logo."},{"num":"v29.40","type":"polish","title":"Koppelingen: kop in de echte merkkleur en het juiste merkteken, ook bij Canva","problem":"Bij sommige koppelingen paste de kleur van de kop niet bij het logo, ontbrak het merkteken rechts of stond er een generiek icoon.","solution":"De kleur van de kop wordt nu automatisch uit het logo gehaald en het merkteken rechts is bij elke k
2oppeling het echte logo, scherp als vector. Canva heeft nu dezelfde opbouw als de andere koppelingen."},{"num":"v29.39","type":"polish","title":"Claude en Outlook tonen nu hun eigen logo in de kop","problem":"Bij de Claude-koppeling stond rechts in de kop het woordmerk van de maker in plaats van het Claude-logo, en bij Outlook stond een verouderd logo dat niet overeenkwam met het logo links.","solution":"Beide koppelingen tonen nu het herkenbare huidige logo, scherp en passend bij het logo in het tegeltje."},{"num":"v29.38","type":"polish","title":"e-Boekhouden, Factuursturen en WeFact in dezelfde koppelingsstijl","problem":"Deze drie boekhoudkoppelingen hadden nog de oude opmaak: een dubbele kop, een generiek document-icoon en een kleur die niet bij het logo paste.","solution":"Ze hebben nu dezelfde opbouw als de andere koppelingen, met het echte logo in de kleurplaat en de kleur van het merk."},{"num":"v29.37","type":"polish","title":"Elke koppeling toont nu het echte logo, ook Kit, Tally, Jotform, Pushover en de e-mailtools","problem":"Bij een aantal koppelingen stond rechts in de kop nog een generiek icoon of een woordmerk, klopte de kleur van de kop niet met het logo, of stond de naam twee keer in de omschrijving.","solution":"Kit, Tally, Jotform, Pushover, MailerSend, Moosend, EmailOctopus, MailerLite, Agorapulse en Smartsheet hebben nu hun eigen logo in de kop, in de eigen merkkleur, met een schone omschrijving."},{"num":"v29.36","type":"polish","title":"WordPress en Ghost in dezelfde koppelingsstijl, met overzicht van gekoppelde klanten","problem":"De Ghost-pagina was leeg en WordPress toonde alleen een verwijzing naar de planner; je zag niet welke klanten al een site gekoppeld hadden.","solution":"Beide hebben nu dezelfde kop als de andere koppelingen, een lijst van klanten met een gekoppelde site en hun status, en de stappen om een volgende klant te koppelen."},{"num":"v29.35","type":"polish","title":"Categoriepagina van de koppelingen in dezelfde luxe stijl als de detailpagina's","problem":"De overzichtspagina per categorie (Content kalender, Taken, CRM, Bestanden, E-mail, Financieel, Meldingen en meer) oogde nog als een simpele lijst met tegeltjes, en alles stond door elkaar: actief, beschikbaar en binnenkort.","solution":"Elke categorie heeft nu dezelfde kleurplaat als de detailpagina's en toont de aanbieders gegroepeerd: eerst wat actief is, dan wat je kunt koppelen, en gedempt wat nog komt. Elke aanbieder is een kaart met het echte logo, een zachte gloed in de merkkleur en een duidelijke actie."},{"num":"v29.34","type":"polish","title":"Koppelingen: categoriepagina even breed als de detailpagina, en laadschermen zonder verspringen","problem":"De categoriepagina was smaller dan de detailpagina van een koppeling, en tijdens het laden verscheen eerst een oud laadscherm dat niet leek op wat daarna verscheen.","solution":"Alle pagina's onder Koppelingen zijn nu even breed, en het laadscherm heeft precies de vorm van de pagina die komt (overzicht, categorie of losse koppeling), zodat niets meer verspringt."},{"num":"v29.33","type":"bugfix","title":"Kop van de categoriepagina in de lichte modus weer licht","problem":"In de lichte modus bleef de kop boven elke categorie van de koppelingen donker, wat vloekte met de rest van de pagina.","solution":"De kop volgt nu de gekozen modus: licht in de lichte modus, donker in de donkere modus, met dezelfde subtiele accentkleur."},{"num":"v29.32","type":"bugfix","title":"Instellingen-uitleg bij cloudopslag leesbaar in de lichte modus","problem":"Bij Google Drive, OneDrive en Dropbox stonden de benodigde instellingen in de lichte modus als gele tekst op grijze balken, wat niet te lezen was.","solution":"De balken en de namen van de instellingen volgen nu de lichte of donkere modus en zijn in beide goed leesbaar."},{"num":"v29.31","type":"polish","title":"Merktekens in de kop van de koppelingen zonder kartelrandjes","problem":"Bij Pushover en een aantal andere koppelingen had het grote logo rechts in de kop kartelige randen.","solution":"Die logo's zijn opnieuw getekend met vloeiende lijnen, zodat ze op elk scherm strak zijn."},{"num":"v29.30","type":"polish","title":"Rustiger overzicht per categorie van de koppelingen","problem":"De nieuwe kaarten per aanbieder oogden samen te druk: kleurgloed, groot watermerk en een label dat herhaalde wat het kopje al zei.","solution":"De decoratie is gedimd en komt alleen naar voren als je over een kaart beweegt, en het dubbele label is weg. Het overzicht oogt daardoor rustiger en luxer."},{"num":"v29.29","type":"polish","title":"Nieuwe koppelingen meteen in de juiste huisstijl: SendGrid, Mailjet, GetResponse, Omnisend, beehiiv en zes statistiektools","problem":"De nieuwste koppelingen toonden rechts in de kop nog een algemeen envelop-icoon en een kleur die niet bij het logo paste.","solution":"Alle elf hebben nu hun eigen logo en merkkleur in de kop en een korte omschrijving in vier talen. Bovendien bewaakt het platform dit voortaan automatisch, zodat elke volgende koppeling er direct goed uitziet."},{"num":"v29.28","type":"polish","title":"Elke tool heeft nu een eigen app-icoon","problem":"De tools hadden allemaal hetzelfde soort lijn-icoontje op een willekeurige kleur, waardoor de Tools-pagina druk oogde en tools lastig uit elkaar te houden waren.","solution":"Alle tools hebben nu een eigen, ontworpen app-icoon in één familie, zoals de apps op je telefoon: herkenbaar per tool, rustig als geheel, en scherp o
2p elk scherm."},{"num":"v29.27","type":"polish","title":"Tools-pagina rustiger en luxer: één kop, editorial tool van de week, stillere kaarten","problem":"De Tools-pagina begon met vijf lagen knoppen en balken, de tool van de week oogde als een advertentiebalk, en elke kaart schreeuwde met gekleurde labels, een hartje en een extra knop.","solution":"De pagina opent nu met een rustige kop en compacte bediening, de tool van de week is een echte uitgelichte kaart met het app-icoon groot in beeld, en de kaarten tonen icoon, naam en categorie met een klein tekstlabel; hartje en pijl verschijnen pas als je erover beweegt."},{"num":"v29.26","type":"bugfix","title":"Nieuwe koppelingen: juiste logo, kleur en kop bij Freshsales, Freshdesk, OpenRouter, Pushbullet, Google Chat, Calendly, Formstack, Fillout en Kiyoh","problem":"Bij een aantal net toegevoegde koppelingen stond rechts in de kop het logo als vierkant blok, stond er een dubbele kop boven de kleurplaat, was het logo links wazig of stond de naam twee keer in de omschrijving.","solution":"Deze koppelingen tonen nu het echte merkteken, een scherp logo, een enkele kop en een schone omschrijving. Het platform bewaakt dit voortaan ook automatisch voor elke volgende koppeling."},{"num":"v29.25","type":"polish","title":"Tool aanvragen in een rustig, opgeruimd venster","problem":"Het venster om een tool aan te vragen oogde gedateerd: een paars icoon, schreeuwende labels, grijze invoervelden en een verzendknop die in de lichte modus onzichtbaar was.","solution":"Het venster heeft nu dezelfde rustige opmaak als de rest van het portaal: duidelijke titel en uitleg, nette invoervelden met tekenteller, en twee knoppen die altijd zichtbaar zijn."},{"num":"v29.24","type":"polish","title":"Tool van de week als uitgelichte kleurplaat","problem":"Het uitgelichte blok bovenaan de Tools-pagina oogde als een gewone kaart met een knop en viel niet op.","solution":"Het is nu een egale plaat in de kleur van de tool, met grote titel, witte knop, het app-icoon groot in beeld en een subtiel watermerk, in dezelfde stijl als de koppelingen."},{"num":"v29.23","type":"polish","title":"Zoekwoord-onderzoek in een rustige, nieuwe opmaak","problem":"De tool oogde als een donker dashboard met gloeiende randen, een stappenbalk en een zijpaneel vol uitleg, en paste niet bij de rest van het portaal.","solution":"De tool heeft nu dezelfde opbouw als de koppelingen en automatiseringen: kleurplaat met het icoon, een cijferstrip met de uitkomsten, de zoekbalk met resultaten per intentie, en rechts de details en stappen. Dezelfde opbouw komt stap voor stap naar de andere tools."},{"num":"v29.22","type":"polish","title":"Acht tools in de nieuwe rustige opmaak: de zes downloaders (Instagram, Facebook, TikTok, YouTube, LinkedIn, Snapchat), Hashtag onderzoek en Trend radar","problem":"De downloaders hadden elk een groot promotieblok naast het werkvak, en Hashtag onderzoek en Trend radar oogden als donkere dashboards die niet bij de rest van het portaal pasten.","solution":"Alle zes downloaders hebben nu precies dezelfde opbouw in hun eigen platformkleur: linkveld met plakknop, wat er is herkend, de preview met de kwaliteitskeuze en één duidelijke downloadknop, met rechts de details, privacy-uitleg en stappen. Hashtag onderzoek en Trend radar volgen dezelfde opbouw als Zoekwoord-onderzoek. Wat de tools doen is onveranderd."},{"num":"v29.21","type":"polish","title":"Acht tools in de nieuwe rustige opmaak: Username check, Influencer check, Trending audio, DM opener, LinkedIn connect note, Reply scorer, UTM builder en Caption rewriter","problem":"Deze tools hadden nog elk een eigen, drukke opmaak die niet bij de rest van het portaal paste.","solution":"Ze volgen nu dezelfde opbouw als de andere vernieuwde tools: kleurplaat met het icoon, een cijferstrip met de echte uitkomsten, de tool zelf in de hoofdkolom en rechts de details, acties en stappen. Wat de tools doen is onveranderd."},{"num":"v29.20","type":"polish","title":"ROI calculator in de nieuwe rustige opmaak","problem":"De tool oogde als een donkere verkooppagina met gloed en grote koppen, en paste niet bij de rest van het portaal.","solution":"De calculator volgt nu dezelfde opbouw als de andere vernieuwde tools: kleurplaat met het icoon, een cijferstrip met netto, rendement en terugverdientijd, het invoerpaneel met de drie periode-kaarten, en rechts de aannames en stappen. De berekening is onveranderd."},{"num":"v29.19","type":"polish","title":"Facebook downloader met het Facebook-logo als app-icoon","problem":"De tegel van de Facebook downloader toonde een algemeen download-pijltje in plaats van het herkenbare logo.","solution":"De tegel en het watermerk tonen nu de witte Facebook-f op de blauwe tegel, net als bij de andere platformtools."},{"num":"v29.18","type":"polish","title":"Platformlogoâs op de Tools-pagina even groot als de andere iconen","problem":"De logoâs van de downloaders (Instagram, Facebook, YouTube en de rest) stonden net iets kleiner in hun vak dan de app-iconen van de andere tools.","solution":"De platformlogoâs vullen hun tegelvak nu volledig, op de kaarten, in de zoeklijst, de hitlijsten en de gerelateerde tools."},{"num":"v29.17","type":"polish","title":"Downloaders tonen overal het echte platformlogo","problem":"Op de tool-paginaâs van de downloaders stond n
2og een eigen getekend icoon in plaats van het herkenbare logo van Instagram, Facebook, TikTok, YouTube, LinkedIn en Snapchat.","solution":"De zes downloaders gebruiken nu overal exact hetzelfde officiele logo als op het Tools-overzicht: in de gekleurde balk bovenaan, als watermerk en op de tegels."},{"num":"v29.16","type":"bugfix","title":"Laadweergave van de Tools-pagina zonder donker blok","problem":"Tijdens het laden van de Tools-pagina verscheen kort een verouderde laadweergave met een donker blok op de plek van de uitgelichte tool.","solution":"De laadweergave volgt nu de nieuwe indeling van de pagina: zoekbalk en knoppen bovenaan, een neutraal glinsterend vlak voor de uitgelichte tool en de kaartenrijen eronder. Ook de laadweergave van de losse tools volgt de nieuwe opbouw."},{"num":"v29.15","type":"polish","title":"Bubbelweergave van de tools volledig vernieuwd","problem":"De bubbelweergave toonde losse zwevende wolkjes per categorie die rommelig door elkaar bewogen en elkaar overlapten.","solution":"Alle tools liggen nu als app-iconen in een rustig honingraatveld, per categorie gegroepeerd. Onder je muis vergroten de iconen vloeiend en zie je de naam; met de categorie-knoppen bovenin licht je een groep uit en je kunt direct zoeken."},{"num":"v29.14","type":"polish","title":"Categoriebalk van de bubbelweergave op een rij","problem":"De balk met categorieknoppen en het zoekveld brak in twee rijen en bleef smaller dan het scherm.","solution":"De balk loopt nu over de volle breedte op een rij, met de categorieknoppen links en het zoekveld rechts."},{"num":"v29.13","type":"bugfix","title":"Weergavewissel in de bubbelweergave als nette icoontjes","problem":"In de bubbelweergave liepen de teksten van de weergavewissel rechtsboven over elkaar heen.","solution":"De wissel toont daar nu dezelfde twee icoontjes als op het gewone overzicht, met de uitleg als tekstwolkje."},{"num":"v29.12","type":"bugfix","title":"Toolnaam in de bubbelweergave altijd zichtbaar","problem":"Het naamlabel dat bij een icoon verschijnt kon achter de omliggende iconen verdwijnen.","solution":"Het label zweeft nu altijd boven de iconen."},{"num":"v29.11","type":"polish","title":"Meldingen lezen prettiger","problem":"Een melding met een langere tekst en een knop (zoals bij het naar de prullenbak verplaatsen van een taak) werd in een smalle kolom geperst en liep uit over vijf regels.","solution":"De tekst gebruikt nu de volle breedte en de knop staat eronder, zodat de melding kort en leesbaar blijft."}]},{"date":"2026-09-09","version":"v29.10","clV":"v0.985","title":"Statistieken uitgebreid: LinkedIn werkt weer, per-post-cijfers voor TikTok/YouTube/Bluesky en een native Rapportage-tab","items":[{"num":"v29.10","type":"bugfix","title":"Contentplanner laadt nu meteen opgemaakt, zonder korte \"kale\" flits","problem":"Bij het openen van de contentplanner zag je heel even de pagina zonder opmaak voordat de stijl inschoot â dat oogde rommelig tijdens het laden.","solution":"De opmaak van de planner wordt nu meteen met de pagina meegeladen, zodat hij direct netjes verschijnt in plaats van een fractie kaal."},{"num":"v29.09","type":"polish","title":"Invoervelden en keuzelijsten zien er overal hetzelfde uit","problem":"Tekstvelden, keuzelijsten en tekstvakken verschilden per scherm in hoogte, rand, afronding en achtergrond; sommige hadden de kale browserstijl, andere een eigen module-look. Naast de nieuwe knoppen viel dat extra op.","solution":"Alle velden in formulieren, modals, klantdetails, campagnes, CRM, profiel, agenda en de admin-tools volgen nu één stijl: even hoog als een knop, dezelfde rand en afronding, één focus-kleur en een nette pijl bij keuzelijsten, in licht en donker. Zoekvelden met een icoon en compacte tabelcellen zijn bewust ongemoeid gelaten."},{"num":"v29.08","type":"polish","title":"Knoppen zien er in het hele portaal nu hetzelfde uit","problem":"Knoppen verschilden per scherm net iets in vorm, hoogte, kleur en gedrag: de ene module had een eigen stijl, de andere weer een andere. Dat voelde onrustig en minder verzorgd.","solution":"Ruim 300 knoppen op 60 schermen (CRM, chat, financieel, klantprofiel, contentkalender, Canva, meetings, onboarding, instellingen, gebruikersbeheer) gebruiken nu één en dezelfde knop, met vaste maten, dezelfde hover- en laadstaat en dezelfde kleuren in licht en donker. Ook icoon-knoppen, aan/uit-schakelaars en keuze-schakelaars (lijst/raster, post/reel/story) volgen die ene stijl. Verwijder-acties zijn overal consequent rood."},{"num":"v29.07","type":"bugfix","title":"Een nieuwe pagina opent weer bovenaan","problem":"Als je op een pagina omlaag had gescrold en daarna naar een andere pagina ging, opende die soms halverwege â op dezelfde scroll-hoogte als de vorige pagina.","solution":"Elke nieuwe pagina begint nu netjes bovenaan. Ga je met de terug-knop terug, dan spring je nog wél naar de plek waar je was."},{"num":"v29.06","type":"bugfix","title":"LinkedIn-analytics tonen nu wél data","problem":"In de Analytisch-tab bleef LinkedIn altijd leeg: de cijfers werden onder je persoonlijke profiel gezocht, terwijl LinkedIn alleen statistieken van bedrijfspagina's deelt.","solution":"LinkedIn haalt de statistieken nu uit je gekoppelde bedrijfspagina en toont volgers, groei en berichten onder één LinkedIn-kop, net als bij de andere netwerken."},{"num":"v29.05","type":"feature","title":"Rapportage-tab toont nu een echt rapport in plaats van alleen een doorverwijzing","problem":"De Rapportage-tab in de contentplanner was enkel een doorlink naar de losse Maandrapport-tool â je zag er zelf geen cijfers.","solution":"De tab toont nu per klant een native rapport over 30 dagen: een samenvatting (totaal volgers, netto groei, geplaatste content), een tabel per platform (volgers + groei + aantal posts) en je top-berichten. De white-label PDF-tool blijft als knop beschikbaar voor een deelbaar klant-rapport."},{"num":"v29.04","type":"feature","title":"Per-post statistieken nu ook voor TikTok, YouTube en Bluesky","problem":"De \"top berichten\"-lijst en de data-gedreven \"beste tijd om te posten\" leunden alleen op Instagram, Facebook en LinkedIn-bedrijfspagina. Van TikTok-, YouTube- en Bluesky-posts werden geen weergaven/likes/reacties opgehaald, dus die telden niet mee.","solution":"Senly haalt nu ook per post de cijfers op voor TikTok (weergaven/likes/reacties/shares), YouTube (weergaven/likes/reacties) en Bluesky (likes/replies/reposts) en verwerkt die in je top-berichten én in de aanbevolen posttijden. Draait automatisch mee met de dagelijkse verzameling. TikTok vereist wel dat je account opnieuw gekoppeld is met de analytics-toegang."},{"num":"v29.03","type":"feature","title":"Meer post-opties in de composer: Pinterest-board + titel + link, YouTube-tags + categorie, en alt-tekst per afbeelding","problem":"Voor Pinterest kon je alleen naar het standaardbord posten, zonder pin-titel of bestemmings-link. YouTube-uploads misten tags en een categorie. En je k
2on nergens een alt-tekst bij een afbeelding zetten voor toegankelijkheid.","solution":"De composer toont nu per netwerk de juiste extra velden. Pinterest: kies het bord, geef de pin een titel en een bestemmings-link. YouTube: voeg zoekwoorden (tags) en een videocategorie toe. En bij elke afbeelding kun je een alt-tekst invullen die wordt meegestuurd naar de platforms die het ondersteunen (o.a. Pinterest en Bluesky) â beter voor toegankelijkheid en vindbaarheid."},{"num":"v29.02","type":"feature","title":"Video plaatsen op Bluesky, Mastodon en X","problem":"Naar Bluesky, Mastodon en X kon je alleen tekst en foto's plannen â een video werd overgeslagen.","solution":"Je kunt nu ook een video meesturen naar deze netwerken. Senly uploadt de video op de manier die elk platform vereist (Bluesky via de video-service, Mastodon en X met verwerking op de achtergrond) en wacht tot hij klaar is voordat de post live gaat. Eén video per post; foto's werken zoals voorheen. X wordt voor iedereen aangezet zodra onze betaalde X-toegang actief is."},{"num":"v29.01","type":"feature","title":"Eigen thumbnail kiezen voor YouTube-video's","problem":"Een YouTube-video kreeg automatisch een omslagbeeld uit een willekeurig frame; je kon zelf geen afbeelding kiezen.","solution":"In de composer kies je nu een eigen thumbnail (JPG of PNG, max 2MB) voor je YouTube-video. Dit werkt zodra je kanaal eigen thumbnails mag instellen; lukt dat niet, dan houdt YouTube gewoon het automatische omslagbeeld en blijft je video staan."},{"num":"v29.00","type":"feature","title":"Alt-tekst gaat nu ook mee naar Mastodon, X en Facebook","problem":"De alt-tekst die je bij een afbeelding invult, ging alleen mee naar Pinterest en Bluesky.","solution":"Je alt-tekst reist nu ook mee naar Mastodon, X en Facebook-foto's, zodat je posts op meer netwerken toegankelijk zijn voor mensen die een schermlezer gebruiken."},{"num":"v28.99","type":"bugfix","title":"Bedrijfsadres correct gezet in privacy, voorwaarden, facturen en contact","problem":"Straatnaam en postcode van Social Media Tools stonden op meerdere plekken verkeerd (Nieuwlandschedijk in plaats van Nieuwlandsedijk, en postcode 4926 SJ in plaats van 4926 AS zoals in het KVK-register).","solution":"Overal in het portaal â privacyverklaring, algemene voorwaarden, factuur-template en contactpagina â staat nu het correcte KVK-adres: Nieuwlandsedijk 66, 4926 AS Lage Zwaluwe."},{"num":"v28.98","type":"polish","title":"Changelog leest nu als \"wat is er nieuw\" en toont per update eerst wat je nu kunt","problem":"Per update stond alleen het probleem beschreven, in ontwikkelaarstaal, en wat er verbeterd was bleef onzichtbaar.","solution":"Elke update toont nu eerst wat je nu kunt, met daaronder in kleiner grijs wat er vroeger misging. Alle teksten van de afgelopen weken zijn herschreven in gewone taal, en interne onderhoudsrondes staan niet meer tussen de functies."},{"num":"v28.97","type":"feature","title":"Instagram koppelen kan nu ook los, zonder Facebook-pagina","problem":"Voorheen moest je Instagram-Business altijd via een gekoppelde Facebook-pagina koppelen â vervelend voor klanten die géén Facebook-pagina hebben of die alleen op Instagram actief zijn.","solution":"In het koppelen-scherm krijg je bij Instagram nu een keuze: \"Via Facebook\" (met toegang tot Inbox en volledige pagina-statistieken) of \"Direct via Instagram\" (login met alleen je Instagram-Business-account, geen Facebook-pagina nodig). Beide flows werken naast elkaar, zoals bij Metricool."},{"num":"v28.96","type":"polish","title":"Facebook- en Instagram-logo op de keuze-kaartjes weer zichtbaar","problem":"De logo's bij de Instagram-keuze-kaartjes waren wit op de licht-roze achtergrond â vrijwel onzichtbaar.","solution":"De logo's tonen nu hun eigen merkkleur zodat je in één oogopslag ziet welke keuze bij welk netwerk hoort."},{"num":"v28.95","type":"polish","title":"\"Stuur naar Contentplanner\" sluit nu rustig af zonder flikker","problem":"Bij het afsluiten van het volledige \"Stuur naar Contentplanner\"-scherm zag je een korte flikker â twee animaties (van het ontwerp en van de sluit-beweg
2ing) botsten op elkaar.","solution":"De sluit-beweging wordt nu door één laag geregeld, zodat het scherm rustig uitfadet zonder springerig gedrag."},{"num":"v28.94","type":"polish","title":"Ook het AI-caption-generator-venster sluit nu zonder flikker","problem":"Dezelfde botsing als bij \"Stuur naar Contentplanner\": het openings-venster van de AI-caption-generator flikkerde kort bij het sluiten.","solution":"Zelfde fix toegepast â één animatielaag regelt open en sluit. Alle bekende plekken met dit patroon zijn nu doorgelopen."},{"num":"v28.93","type":"bugfix","title":"Kapotte foto's in de planner en rapportage klappen niet meer per ongeluk de pagina om","problem":"Als een profielfoto of thumbnail niet laadde (dode link, geblokte hotlink) werd 'ie hard uit de pagina gehaald. Wisselde je daarna van filter of tabblad, dan kon dat een lege pagina of dubbele geesten-afbeeldingen geven â soms crashte de hele lijst.","solution":"Kapotte afbeeldingen worden nu netjes verstopt zonder in de pagina te snijden. De initiaal-cirkel of het platform-icoon blijft zichtbaar als vervanger, en wisselen van tabblad blijft rustig."},{"num":"v28.92","type":"polish","title":"Klein-scroll van pagina achter een dialoog blijft nu correct vergrendeld","problem":"Bij een aantal beheerschermen hief het sluiten van een klein tussen-scherm per ongeluk óók de scroll-vergrendeling van de omhullende dialoog op â je kon dan achter de dialoog scrollen.","solution":"Elk dialoogje bewaart en herstelt nu de eerdere scroll-instelling in plaats van 'm weg te gooien. Achtergrond blijft netjes stil zolang er nog een dialoog open is."},{"num":"v28.91","type":"polish","title":"Snel-openen-en-sluiten van dialogen laat geen half scherm meer achter","problem":"Bij héél snel open- en dicht-klikken (bijv. teamlid-scherm, instellingen) kon de donkere achtergrondlaag blijven hangen of juist verdwijnen vóór het dialoog zelf weg was.","solution":"De sluit-animatie herkent de twee lagen nu apart, zodat ze altijd samen weggaan."},{"num":"v28.90","type":"polish","title":"Grote PDF-voorbeelden en leren-video's tonen nu een laad-melding in plaats van een leeg vlak","problem":"Bij het openen van een groot PDF-voorbeeld in de bestandsbrowser, het klant-maandrapport of een videoles was er 1-5 seconden een leeg grijs of zwart vlak zichtbaar tot de inhoud verscheen.","solution":"Alle drie de plekken tonen nu een korte \"ladenâ¦\"-melding tot het bestand echt zichtbaar is. Je ziet meteen dat er iets gebeurt in plaats van een leeg vlak."},{"num":"v28.89","type":"polish","title":"Profielfoto's in inbox, planner en statistieken springen niet meer bij het scrollen","problem":"Terwijl je door de support-inbox, de planner-berichten of de klant-lijst scrollde, verspringde de lijst kleine stukjes zodra profielfoto's pas laadden.","solution":"De foto's reserveren nu vooraf hun eigen ruimte, zodat de lijst niet meer omhoog- of omlaagschiet tijdens het laden."},{"num":"v28.88","type":"polish","title":"iPhone zoomt niet meer automatisch in als je op een invulveld tikt","problem":"Op iPhone werd het scherm bij elke tik op een invulveld ingezoomd. Je moest daarna handmatig terug-pinchen om weer overzicht te krijgen.","solution":"Alle invulvelden zijn op mobiel groot genoeg zodat Safari niet meer automatisch inzoomt. Blauwe klik-flikker op knoppen is ook weg."},{"num":"v28.87","type":"polish","title":"Onderkant van schermen op iPhone valt niet meer achter de adresbalk of home-indicator","problem":"Op iPhone konden knoppen onderin een dialoog, het chatpaneel of een tool-overlay achter de dynamische adresbalk of de home-streep vallen â soms was de Opslaan-knop niet te bereiken zonder in-scherm te scrollen.","solution":"Alle fullscreen-schermen respecteren nu de veilige zone onderaan en gebruiken de nieuwe \"dynamische\" schermhoogte, zodat de laatste regel altijd zichtbaar is."},{"num":"v28.86","type":"polish","title":"\"Direct via Instagram\" toont nu een duidelijke melding zolang die koppelroute nog niet is geactiveerd","problem":"Als je op \"Direct via Instagram\" klikte terwijl de nieuwe route nog niet is geactiveerd door de beheerder, kwam je op een zwart scherm met een technische foutregel.","solution":"Je komt nu netjes terug in de planner met een uitleg dat \"Via Facebook\" voorlopig de te gebruiken optie is. Zodra de beheerder de directe route heeft geactiveerd verdwijnt deze melding automatisch."},{"num":"v28.85","type":"polish","title":"Publieke portaal-, factuur- en boekingspagina's vullen op iPhone het hele scherm zonder gat onderaan","problem":"Als de adresbalk van Safari verdween, kon er onderaan een gekleurd of leeg gat ontstaan op klantportaal, factuur, offerte, boekpagina en signup.","solution":"Twaalf publieke pagina's gebruiken nu de dynamische schermhoogte zodat de achtergrondkleur netjes doorloopt tot onderin, ongeacht de adresbalk."},{"num":"v28.84","type":"polish","title":"AI-captions voor artiesten herhalen niet meer hetzelfde aanspreekwoord","problem":"Bijna elk bijschrift voor een artiest eindigde op \"kanjers\", omdat dat woord als voorbeeld in de schrijfinstructie stond en de AI het klakkeloos overnam.","solution":"De vaste voorbeeldwoorden zijn weg. De AI spreekt het publiek nu aan met \"jullie\" en gebruikt alleen een koosnaam als die in de brand-voice of voorbeeldposts van de klant zelf voorkomt, zonder dat woord in elke post te herhalen."},{"num":"v28.83","type":"feature","title":"AI-captions volgen nu de lengte van de klant: één regel als de klant één regel schrijft","problem":"Een artiest die zelf alleen korte one-liners plaatst (\"Santé op deze dikke show\") kreeg toch captions van drie alinea's met een hook, een oproep en vijf emoji, omdat de standaardregels zwaarder wogen dan zijn voorbeeldposts.","solution":"De AI leidt de caption-lengte nu af uit de voorbeeldposts in de AI brand-voice (of je kiest hem zelf: één regel, kort of normaal). Bij korte klanten vervallen de hook-, alinea- en oproep-regels, telt maximaal één emoji, blijven hashtags weg als de klant ze zelf niet gebruikt, en mag één bewust uitgerekt woord (\"Weeer een weekend gehad\") voor een persoonlijke toets. Alle voorbeeldposts tellen nu mee, niet alleen de eerste drie."},{"num":"v28.82","type":"polish","title":"AI-captions in één serie lijken niet meer op elkaar","problem":"Zes reels in één keer laten beschrijven gaf zes keer dezelfde opening (\"Wat een avond\", \"Wat een show\", \"Wat een gezelligheid\") met dezelfde emoji, omdat elke caption los werd gemaakt zonder te weten w
2at de andere al zeiden.","solution":"Elke post in een serie krijgt nu een eigen invalshoek (een concreet detail, een plaatsnaam, een droge constatering, één woord, een vraag, een knipoog) en de AI ziet wat er al staat bij de andere posts, zodat opening, zinsbouw en emoji per post verschillen. \"Wat een ...\" is niet langer de standaard-opening, en \"Opnieuw\" op één post wijkt nu ook af van de rest."},{"num":"v28.81","type":"bugfix","title":"Klant opslaan wist niet langer wat de AI over je aanpassingen had geleerd","problem":"Bij het opslaan van het klant-bewerken-venster werd de brand-voice volledig herschreven, waardoor de wekelijks geleerde schrijfsturing uit je eigen caption-correcties stilletjes verdween.","solution":"Het venster bewaart nu alles wat het zelf niet beheert; alleen samenvatting, profiel, voorbeeldposts en caption-lengte worden overschreven."},{"num":"v28.80","type":"bugfix","title":"AI-beschrijvingen mislukken niet meer als een AI-dienst even niet reageert","problem":"Soms kwam er bij een reel geen beschrijving maar een foutmelding, doordat de AI-dienst op dat moment niet reageerde en er geen goed alternatief klaarstond.","solution":"De beschrijvingen wijken nu automatisch uit naar een andere AI-dienst, krijgen meer tijd en worden rustiger achter elkaar aangemaakt, zodat een tijdelijke storing bij één dienst geen lege beschrijving meer oplevert."},{"num":"v28.79","type":"polish","title":"In de demo kun je geen echte accounts of koppelingen meer aanmaken","problem":"In de demo-omgeving leidden knoppen zoals accounts koppelen, Canva verbinden of tweestapsverificatie instellen nog naar echte acties, waardoor een bezoeker per ongeluk zijn eigen gegevens aan de demo kon hangen.","solution":"Koppelen, ontkoppelen, de deelbare koppel-link, Canva verbinden en beveiligingsinstellingen zijn in de demo nu vergrendeld, met een korte uitleg. Wil je het echt proberen, dan doe je dat in je eigen proefaccount."},{"num":"v28.78","type":"bugfix","title":"TikTok-likes en engagement op het klantprofiel kloppen weer","problem":"Bij TikTok stond onder Analytics een onmogelijk getal (likes in de miljoenen, engagement van duizenden procenten): het totaal aantal likes werd elke dag opnieuw meegeteld.","solution":"De likes tonen nu wat er in de gekozen periode bijkwam, en de engagement-rate is daarmee weer een normaal percentage."},{"num":"v28.77","type":"polish","title":"Analytics op het klantprofiel rustiger en beter leesbaar","problem":"De cijfers stonden in losse blokjes met een half lege rij, de as van de volgersgrafiek toonde drie keer dezelfde waarde en de TikTok-lijn was in donkere modus onzichtbaar.","solution":"De cijfers staan nu in één rustige rij over de volle breedte, de grafiek-as toont echte getallen met nette stappen, de groei per periode leest als \"+109 volgers · vorige periode +216\" en de periode-keuze gebruikt dezelfde schakelaar als de rest van het profiel. Werkt in licht en donker."},{"num":"v28.76","type":"polish","title":"Klantdossier ontgrendelen sluit aan bij de rest van het klantprofiel","problem":"Het vergrendelde klantdossier stond als los, gecentreerd blok met veel witruimte midden in de Klantinfo-tab, terwijl alle andere onderdelen links uitgelijnd zijn; de uitleg begon bovendien met een kleine letter.","solution":"Het slot-scherm staat nu links, in hetzelfde ritme als de andere secties: icoon, korte uitleg en het wachtwoordveld met de ontgrendel-knop op één regel. Ook het eerste keer instellen van het dossier-wachtwoord volgt die opzet. Werkt in licht en donker en op mobiel."}]},{"date":"2026-09-08","version":"v28.75","clV":"v0.984","title":"AI-captions begrijpen je video's en leren van je beste posts; nieuwe TikTok- en YouTube-opties in de composer","items":[{"num":"v28.75","type":"feature","title":"TikTok-post-opties in de composer: privacy, reacties/duet/stitch en branded content","problem":"Bij het plannen van een TikTok-post kon je niet instellen wie de video mocht zien of reacties, duet en stitch aan mocht laten staan, waardoor elke post automatisch op \"alleen ik\" stond.","solution":"Je kiest nu bij elke TikTok-post zelf wie de video mag zien, of reacties, duet en stitch aan staan, en of het om een betaalde samenwerking gaat. Die keuzes worden automatisch meegestuurd naar TikTok."},{"num":"v28.74","type":"feature","title":"\"Nu publiceren\" springt direct naar de planner en toont live de status","problem":"Als je direct publiceerde, bleef het scherm soms lang hangen op \"bezig\", vooral bij TikTok, waar publiceren tot anderhalve minuut kan duren.","solution":"Je keert nu meteen terug naar de planner, waar de post automatisch van \"bezig\" naar \"gepubliceerd\" (of \"mislukt\") springt zodra het klaar is, zonder dat je hoeft te verversen."},{"num":"v28.73","type":"feature","title":"TikTok publiceren volgt nu TikTok's verplichte publiceer-flow","problem":"Publiceren naar TikTok werd soms geweigerd omdat niet aan TikTok's regels rond privacy- en interactie-instellingen werd voldaan.","solution":"Bij elke TikTok-post worden nu eerst je actuele accountinstellingen opgehaald en wordt automatisch een toegestane privacy-keuze en de juiste interactie-instellingen meegestuurd, zodat publiceren weer betrouwbaar werkt."},{"num":"v28.72","type":"feature","title":"AI-captions lezen nu de vÃdeo, niet alleen een still â en overdrijven de sfeer niet meer","problem":"De AI beschreef bij video's soms een sfeer die er niet was, zoals \"de tent gaat los\" bij een rustig moment, omdat hij maar naar één beeld uit de video keek in plaats van naar de hele video.","solution":"Voor video's bekijkt de AI nu de hele video inclusief geluid, waardoor de tekst beter aansluit op wat er echt gebeurt en meezing- en meedoen-momenten worden herkend. Lukt dit een keer niet, dan valt het systeem terug op een enkel beeld, zodat er altijd een tekst komt."},{"num":"v28.71","type":"feature","title":"AI-captions krijgen een artiest-modus voor muziek- en entertainmentklanten","problem":"Voor artiesten zoals zangers, bands en dj's klonken captions alsof een bureau óver hen schreef, in plaats van dat de artiest zelf aan het woord was.","solution":"Voor klanten uit muziek en entertainment schrijft de AI nu rechtstreeks als de artiest zelf, met kortere teksten, passende emoji en oproepen aan fans. Andere klanten houden hun eigen, rustigere stijl."},{"num":"v28.70","type":"feature","title":"Kies waar een post voor is â de caption past zich er meteen op aan","problem":"De AI wist niet of een post bijvoorbeeld een aankondiging, een optreden of een terugblik was, terwijl dat juist bepaalt welke toon en welke oproep passend zijn.","solution":"Je kiest nu voor elke post een doel, zoals aankondiging, optreden, sfeerbeeld, terugblik, mijlpaal, actie of uitleg, en de tekst wordt daar direct op afgestemd. Kies je niets, dan bepaalt de AI het zoals voorheen zelf."},{"num":"v28.69","type":"performance","title":"Video-analyse van reels wordt hergebruikt â opnieuw captions maken is nu gratis en instant","problem":"Elke keer dat je opnieuw een tekst liet genereren voor dezelfde video, werd de hele video opnieuw bekeken, wat telkens tien tot dertig seconden wachten kostte.","solution":"De video wordt nu maar één keer bekeken; die analyse wordt onthouden zolang het ontwerp niet wijzigt. Opnieuw genereren gaat daardoor direct, zonder extra wachttijd."},{"num":"v28.68","type":"feature","title":"AI-captions leren van je best presterende posts","problem":"De AI schreef teksten puur op basis van je merk en de afbeelding, zonder te kijken naar wat er bij jouw volgers in de praktijk het beste aansloeg.","solution":"De AI kijkt nu automatisch mee naar je best presterende, al geplaatste posts en laat zich daardoor inspireren qua opening, lengte en stijl, zonder ze te kopiëren. Hoe meer je plaatst, hoe beter dit werkt; heb je nog geen meetbare posts, dan verandert er niets."},{"num":"v28.67","type":"feature","title":"YouTube-composer: kies vóór het publiceren wie de video mag zien + COPPA-verklaring","problem":"Elke geplande YouTube-video ging automatisch openbaar het kanaal op, zonder dat je vooraf kon kiezen voor bijvoorbeeld privé, en zonder dat je kon aangeven of een video voor kinderen bedoeld is.","solution":"Je kiest nu per video of hij openbaar, alleen met link of privé wordt, en of hij gemaakt is voor kinderen. Standaard blijft openbaar staan; bij een ontbrekende keuze wordt een video nooit onbedoeld openbaar geplaatst."}]}
2,{"date":"2026-09-07","version":"v28.66","clV":"v0.983","title":"Review-link werkt nu ook voor klanten zonder Senly-account + Content Planner live","items":[{"num":"v28.66","type":"bugfix","title":"LinkedIn-versie geüpdatet â bedrijfspagina-koppeling faalde stilletjes","problem":"Bij het koppelen van een LinkedIn-bedrijfspagina verscheen er geen enkele pagina, ook niet als je daar wel eigenaar van was, zonder duidelijke foutmelding.","solution":"LinkedIn had een oudere versie van hun koppeling uitgefaseerd; nu wordt overal een actuele versie gebruikt en verschijnen bedrijfspagina's weer gewoon met naam en logo."},{"num":"v28.65","type":"feature","title":"Top berichten deze week â nieuw analytics-blok in de planner","problem":"Je kon per kanaal wel de volgersgroei zien, maar niet in één oogopslag welke posts van de afgelopen week het beste presteerden.","solution":"De statistieken-tab in de planner toont nu automatisch de vijf best presterende posts van de afgelopen week, met beeld, tekst, platform, bereik en interacties."},{"num":"v28.64","type":"feature","title":"Post-analytics per LinkedIn-bedrijfspagina","problem":"Voor Facebook en Instagram werden per post al cijfers zoals likes en reacties verzameld, maar voor LinkedIn-bedrijfspagina's nog niet, waardoor bijvoorbeeld het advies over de beste plaatsingstijd daar niet werkte.","solution":"Nu worden ook voor LinkedIn-bedrijfspagina's dagelijks de cijfers per post opgehaald (bereik, kliks, likes, reacties, shares), zodat die meetellen in de statistieken en planning-adviezen. Je hoeft hiervoor niets opnieuw te koppelen."},{"num":"v28.63","type":"feature","title":"Kies tussen meerdere LinkedIn-bedrijfspagina's","problem":"Beheerde je meerdere LinkedIn-bedrijfspagina's, dan koos Senly bij het koppelen automatisch de eerste pagina en kon je niet wisselen.","solution":"Alle bedrijfspagina's waar je beheerder van bent worden nu opgeslagen, en je kiest zelf, met logo erbij, welke pagina actief is voor een klant."},{"num":"v28.62","type":"bugfix","title":"Zelf-aangemaakte LinkedIn-bedrijfspagina's waren onzichtbaar bij het koppelen","problem":"Na het koppelen van LinkedIn verscheen er geen bedrijfspagina, ook niet als je zelf eigenaar was van meerdere pagina's.","solution":"De koppeling herkent nu ook pagina's die je zelf hebt aangemaakt, niet alleen pagina's waar je later als beheerder aan bent toegevoegd, waardoor al je pagina's netjes verschijnen."},{"num":"v28.61","type":"bugfix","title":"LinkedIn-bedrijfspagina koppelen werkt weer","problem":"Het koppelen van een LinkedIn-bedrijfspagina gaf een foutmelding van LinkedIn zelf, waardoor koppelen niet lukte.","solution":"De koppeling vraagt nu alleen nog de rechten aan die nodig zijn voor bedrijfspagina's en haalt de paginanaam voortaan rechtstreeks bij LinkedIn op. Koppelen werkt weer betrouwbaar."},{"num":"v28.60","type":"feature","title":"Content Planner is live â de \"Binnenkort\"-knop opent nu de planner","problem":"De contentplanner stond al een tijd klaar, maar de knop in het portaal toonde nog \"Binnenkort\" en was alleen via een omweg te bereiken.","solution":"Alle koppelingen (Facebook, Instagram, Threads, LinkedIn persoonlijk en bedrijfspagina's, YouTube, Bluesky, Mastodon) werken nu volledig, dus de knop opent voortaan direct de planner. Vanaf hier plan en publiceer je content voor al je gekoppelde kanalen op één plek."},{"num":"v28.59","type":"feature","title":"SM Trends: branche-filter (10 branches) â trends gefilterd op jouw industrie","problem":"De trendpagina toonde alle trends door elkaar, waardoor je bijvoorbeeld als kledingbureau eerst door tech- en vastgoedtrends moest scrollen om iets relevants te vinden.","solution":"Je kunt nu filteren op tien brede branches, zoals mode, horeca, gezondheid, tech en vastgoed, met een teller die vooraf laat zien hoeveel trends relevant zijn voor elke branche."},{"num":"v28.58","type":"feature","title":"SM Trends: van 5 naar 12 bronnen + trend-scoring met breaking-badge","problem":"De trendpagina haalde content op uit slechts vijf bronnen, wat neerkwam op maar een paar nieuwe trends per twee dagen, en sorteerde puur op publicatiedatum in plaats van op wat écht trending was.","solution":"Het aantal bronnen is uitgebreid naar twaalf, met dagelijks meer verse trends per platform. Trends die door meerdere bronnen tegelijk worden opgepikt krijgen nu een \"trending\"-label en tellen zwaarder mee bij het sorteren op populariteit."},{"num":"v28.57","type":"bugfix","title":"Review-link stuurde klanten zonder account naar het inlogscherm","problem":"Klanten zonder eigen Senly-account die een review-link openden om content goed te keuren, kwamen op het inlogscherm terecht in plaats van op de goedkeurpagina.","solution":"De review-pagina is nu ook zonder account gewoon te openen; de beveiliging blijft geregeld via het unieke, lange linkkenmerk in plaats van via inloggen."},{"num":"v28.56","type":"polish","title":"Google Drive-sectie in het klantprofiel in dezelfde stijl als de andere secties","problem":"De Google Drive-sectie in het klantprofiel zag er visueel anders uit dan de rest van de pagina, met een verouderde opmaak en veel emoji-icoontjes.","solution":"De sectie is in dezelfde rustige stijl gezet als de rest van het klantprofiel: een overzichtelijke lijst van mappen en bestanden met duidelijke acties om te openen, downloaden of een nieuwe klantmap te maken."},{"num":"v28.55","type":"polish","title":"OneDrive- en Dropbox-secties in dezelfde stijl als Google Drive","problem":"Bureaus die OneDrive of Dropbox gebruiken zagen die secties nog in de oude opmaak, terwijl Google Drive al vernieuwd was.","solution":"OneDrive en Dropbox zijn nu in dezelfde stijl als Google Drive gezet, inclusief een eigen herkenbaar icoon, zodat het klantprofiel er overal consistent uitziet."},{"num":"v28.54","type":"polish","title":"Financieel-tab van het klantprofiel rustiger: Maandcijfers zonder kaart-in-kaart","problem":"De maandcijfers in het financieel-overzicht stonden in een opvallend eigen kadertje met veel gele labels voor handmatig ingevoerde bedragen, wat rommelig oogde.","solution":"De cijfers staan nu rustig in de sectie zelf, winst krijgt een duidelijke groene of rode kleur, en handmatig ingevoerde bedragen worden één keer onderaan genoemd in plaats van per regel gemarkeerd."},{"num":"v28.53","type":"bugfix","title":"Review-link: AI-visuals van interne posts waren voor de klant onzichtbaar","problem":"Op de goedkeurpagina voor klanten waren AI-gegenereerde afbeeldingen bij posts soms niet zic
2htbaar, terwijl juist die afbeelding beoordeeld moest worden.","solution":"Deze afbeeldingen worden nu overal correct geladen op de review-pagina, net zoals dat al werkte in de contentkalender."},{"num":"v28.52","type":"polish","title":"Taken-tab van het klantprofiel op dezelfde maat als de andere tabs","problem":"De takenlijst in het klantprofiel oogde kleiner en compacter dan de andere tabbladen, met kleine letters en iconen.","solution":"De takenlijst is nu op dezelfde schaal en in dezelfde stijl als de rest van het klantprofiel gezet, met grotere titels, profielfoto's en vinkjes, en een duidelijke knop naar het takenbeheer."},{"num":"v28.51","type":"polish","title":"Klantprofiel Overzicht en Klantinfo: vijf kleine ergernissen weg","problem":"Het overzicht van een klant liet dezelfde gebeurtenis soms acht keer achter elkaar zien, toonde een verlopen deadline alsof die nog moest komen, en had nog een paar andere kleine visuele storingen.","solution":"Herhaalde gebeurtenissen worden nu gebundeld tot één regel met een teller, een verlopen deadline wordt duidelijk als zodanig gelabeld, en een aantal kleinere visuele punten, zoals lege filters en een emoji-icoon, zijn opgeschoond."},{"num":"v28.50","type":"polish","title":"Trello-taken en Documenten (lokale bedrijvenmap) in dezelfde stijl als de rest van het klantprofiel","problem":"De Trello-takenlijst en de documentenlijst in het klantprofiel hadden nog de oude opmaak met losse knoppen en emoji-icoontjes, terwijl de rest van het profiel al vernieuwd was.","solution":"Beide secties zijn nu in dezelfde rustige stijl als de rest van het klantprofiel gezet, met filters, duidelijke rijen en directe knoppen naar Trello."},{"num":"v28.49","type":"bugfix","title":"Klantprofiel op mobiel: takenlijst was onleesbaar en sectiebalken liepen buiten beeld","problem":"Op een telefoonscherm vielen knoppen en badges in het klantprofiel buiten beeld en was de takenlijst nauwelijks leesbaar doordat titels geen ruimte kregen.","solution":"Op mobiel staan knoppen en badges nu netjes onder de titel, gaat de takenlijst naar een overzichtelijke tweekoloms-indeling, en is alles gecontroleerd op een smal scherm zodat niets meer buiten beeld valt."}]},{"date":"2026-09-05","version":"v28.48","clV":"v0.981","title":"Rustiger dashboard + volledig privacy-hoofdstuk voor social media platforms","items":[{"num":"v28.48","type":"infra","title":"Threads-statistieken tijdelijk uitgeschakeld in afwachting van goedkeuring door Meta","problem":"Statistieken voor Threads-berichten waren nog niet beschikbaar omdat Meta de benodigde toestemming daarvoor nog moet goedkeuren.","solution":"Statistieken voor Threads staan tijdelijk uit tot die goedkeuring binnen is; publiceren naar Threads blijft intussen gewoon werken."},{"num":"v28.47","type":"feature","title":"Mastodon-analytics in de planner","problem":"In de statistieken-tab van de planner ontbraken cijfers voor Mastodon, terwijl andere platforms wel volgers en berichten lieten zien.","solution":"De planner haalt nu ook voor Mastodon dagelijks je volgers, gevolgde accounts en aantal berichten op, zonder dat je opnieuw hoeft te koppelen."},{"num":"v28.46","type":"polish","title":"Activiteitenfeed op het dashboard oogt rustiger","problem":"Elke activiteit op het dashboard stond in een eigen wit kadertje, wat een druk beeld gaf naast de omzetgrafiek.","solution":"De activiteiten staan nu in een doorlopende lijst met dunne scheidingslijnen, voor een rustiger dashboard met meer nadruk op de hoofdgrafiek."},{"num":"v28.45","type":"polish","title":"Activiteitenfeed toont alleen de actie, niet de volledige taaknaam","problem":"De activiteitenlijst toonde de volledige, soms lange taaknaam in de titel, wat afgekapte en drukke regels gaf.","solution":"De lijst toont nu alleen de korte actie, met klant en gebruiker eronder; de volledige beschrijving blijft beschikbaar op de pagina met alle activiteiten."},{"num":"v28.44","type":"polish","title":"Modal-koppen overal even dun als Instellingen","problem":"Sommige pop-up-titels waren dikker gedrukt dan andere, wat een onbedoeld verschil in de opmaak gaf.","solution":"Alle pop-up-titels gebruiken nu hetzelfde, iets dunnere lettergewicht."},{"num":"v28.43","type":"polish","title":"Kalender-vinkjes volgen de branding-kleur","problem":"De vinkjes bij kalenders op de afsprakenpagina hadden altijd een vaste blauwgroene kleur, ongeacht de huisstijl van het bureau.","solution":"De vinkjes gebruiken nu de eigen huisstijlkleur van het bureau, zodat ze aansluiten bij de rest van de omgeving."},{"num":"v28.42","type":"polish","title":"Meeting-type kaarten volgen de branding-kleur","problem":"De kaarten voor afspraaktypes hadden een vaste blauwgroene gloed en rand, ongeacht de huisstijl van het bureau.","solution":"Deze kaarten gebruiken nu ook de eigen huisstijlkleur van het bureau, zodat het scherm er overal consistent uitziet."},{"num":"v28.41","type":"polish","title":"Dark mode: neutrale ondergrond, huisstijlkleur als accent","problem":"In donkere modus was de achtergrond van pagina's en kaarten letterlijk de huisstijlkleur met weinig licht erin, waardoor er nauwelijks verschil te zien was tussen achtergrond en kaarten.","solution":"Pagina's en kaarten hebben nu een neutrale, donkergrijze ondergrond met een klein beetje huisstijlkleur; de huisstijlkleur zelf blijft duidelijk zichtbaar in de navigatie, knoppen, links en grafieken. Werkt voor elke bureaukleur; het lichte thema is ongewijzigd."},{"num":"v28.40","type":"polish","title":"Kalender-detailpaneel en takenkop met neutrale rand","problem":"Het detailvenster in de k
2alender en de scheidingslijn boven je takenlijst hadden een gekleurde rand die eigenlijk bedoeld is voor knoppen en actieve items, waardoor ze onterecht opvielen.","solution":"Beide onderdelen hebben nu een neutrale rand, zodat je huisstijlkleur alleen nog opvalt waar dat de bedoeling is."},{"num":"v28.39","type":"polish","title":"Dark mode: finetuning na de eerste pass","problem":"Na de eerste versie van de donkere modus stonden afspraakkaarten nog te fel in je huisstijlkleur, oogde de achtergrond net iets te warm, en was tekst zoals 'Bewerken' en 'Verwijderen' moeilijker leesbaar geworden.","solution":"Afspraakkaarten tonen nu veel minder kleur (je huisstijl blijft zichtbaar in de zijlijn en boekingslink), oppervlakken zijn neutraler gemaakt, en labels en knoppen zijn weer goed leesbaar."},{"num":"v28.38","type":"polish","title":"Klantkaarten in dark mode: neutrale kaart met klantidentiteit","problem":"In de donkere modus had elke klantkaart een sterk gekleurd vlak, waardoor een overzicht met meerdere klanten een bonte mix van kleuren werd die om aandacht streed met je eigen huisstijl.","solution":"Klantkaarten zijn rustiger gemaakt: de klantkleur blijft herkenbaar via de zijstreep, het icoon en bij aanwijzen, maar het kaartvlak zelf is neutraal. De lichte modus is niet veranderd."},{"num":"v28.37","type":"polish","title":"Dark mode: decoratieve gloed weg, huisstijl-lekken gedicht","problem":"In de donkere modus lichtten decoratieve gloedeffecten rond iconen en statistieken op zonder functie, en stond op een paar plekken nog de vaste Senly-kleur in plaats van jouw eigen huisstijlkleur.","solution":"De overbodige gloedeffecten zijn weg (gloed blijft alleen bij aanwijzen en actieve statussen), en de zes plekken met de vaste Senly-kleur tonen nu je eigen huisstijlkleur â belangrijk als je met white-label werkt."},{"num":"v28.36","type":"polish","title":"Nieuwe klant toevoegen: rustiger formulier met live klantkaart-preview","problem":"Het formulier voor een nieuwe klant voelde rommelig: diensten stonden in een scrollende rij die tekst afkapte, de voorbeeldweergave leek niet op de echte klantkaart, en de kleurkiezer was een onverklaard vierkantje.","solution":"Diensten staan nu overzichtelijk in meerdere rijen, je ziet een live voorbeeld dat er precies zo uitziet als de echte klantkaart, en de kleurkiezer is duidelijk herkenbaar als eigen-kleur-optie."},{"num":"v28.35","type":"polish","title":"Klantgegevens bewerken: rustiger Algemeen-tab, icoon naar Branding","problem":"Het bewerkscherm van een klant was onevenwichtig ingedeeld: een grote voorbeeldweergave links, en een overvol vak met diensten en een verdwaald icoon rechts.","solution":"De indeling is rustiger: een compactere voorbeeldweergave, dezelfde overzichtelijke dienstenkeuze als bij een nieuwe klant, en icoon en kleur staan nu samen bij Branding met een live voorbeeld."},{"num":"v28.34","type":"polish","title":"Klantprofiel-overzicht rustiger: typografie, iconen en indeling","problem":"Het klantoverzicht oogde druk: kop- en veldnamen zagen er hetzelfde uit, platformlogo's kwamen steeds terug in felle kleur, koppelingen toonden technische ID's, en een klein onderdeel als 'Doelgroep & platformen' nam een halve pagina in.","solution":"Het overzicht is rustiger gemaakt: duidelijkere koppen, kleinere en neutralere logo's, koppelingen tonen platform en accountnaam in plaats van technische ID's, en 'Doelgroep & platformen' past nu compact op de pagina."},{"num":"v28.33","type":"feature","title":"Facebook-automatisering waarschuwt als \"Actief\" al weken niet draait","problem":"De Facebook-automatisering toonde gewoon 'Verbonden' en 'Actief', ook als hij al 61 dagen niet had gedraaid â een storing die eruitzag als een werkende automatisering.","solution":"Draait de automatisering langer dan 7 dagen niet (of nooit), dan zie je nu direct een duidelijke waarschuwing, plus een overzicht met daglimiet, gemiddeld aantal acties, actieve dagen en het moment van de laatste run."},{"num":"v28.32","type":"polish","title":"Facebook-automatisering: minder instellingenpaneel, meer dashboard","problem":"Het scherm van de Facebook-automatisering had nauwelijks zichtbare iconen, veel lege ruimte, zware instellingenkaarten voor simpele aan/uit-keuzes, en een prestatiegrafiek met vaste kleuren die in de donkere modus afweek van de rest van het portaal.","solution":"Het scherm is compacter en overzichtelijker, instellingen zijn simpele schakelaars geworden, en de prestatiegrafiek volgt nu je eigen huisstijlkleuren in zowel de lichte als de donkere modus."},{"num":"v28.31","type":"polish","title":"Klanticonen hebben nu leesbare namen","problem":"Bij het kiezen van een icoon voor een klant zag je de technische naam van het icoon in plaats van een gewone omschrijving.","solution":"Alle 149 iconen hebben nu een leesbare naam in het Nederlands, Engels, Duits en Frans, zichtbaar in de keuzeknop en als tooltip."},{"num":"v28.30","type":"polish","title":"Taken-tab op het klantprofiel: compacter, met deadline-badge en verval","problem":"Elke taak op het klantprofiel stond als een uitgebreide kaart met meerdere regels tekst, wat bij meer dan een handvol taken tot veel scrollen leidde voor weinig overzicht.","solution":"Taken staan nu in een compacte tabel met titel, verantwoordelijke, deadline (verlopen taken in rood) en status. Je klikt een taak open om hem direct te bewerken, kunt filteren op verantwoordelijke en sorteren op deadline of titel, met paginering vanaf 20 taken."},{"num":"v28.29","type":"feature","title":"Verantwoordelijke zic
2htbaar bij taken op het klantprofiel","problem":"Op het klantprofiel zag je niet wie een taak had opgepakt; daarvoor moest je naar het aparte takenoverzicht.","solution":"Elke taak toont nu direct de naam van de verantwoordelijke, ook voor teamleden zonder externe koppeling."},{"num":"v28.28","type":"polish","title":"Klantprofiel: iconen en uitleg per sectie op alle tabs","problem":"De secties op het klantprofiel zagen er allemaal hetzelfde uit en gebruikten badges als uitleg, waardoor tekst soms afkapte en je moest lezen om te snappen wat waar stond.","solution":"Elke sectie heeft nu een eigen icoon in je huisstijlkleur met een korte uitleg eronder, badges tonen alleen nog een status, en logo's van gekoppelde tools zoals Canva en Metricool zijn nu neutrale lijniconen die bij de rest passen."},{"num":"v28.27","type":"polish","title":"AI Content Generator: vier duidelijke stappen naast elkaar","problem":"Het formulier van de AI-contentgenerator was één lange kolom, waardoor de volgorde en de optionele velden niet in één oogopslag duidelijk waren.","solution":"Het formulier toont nu vier genummerde stappen naast elkaar met echte platformlogo's, en de knop maakt duidelijk dat AI schrijft terwijl jij de controle houdt."},{"num":"v28.26","type":"polish","title":"Vinkjes en schuifjes overal in de huisstijlkleur","problem":"Standaard-selectievakjes, zoals bij de Instagram-groeitool, kleurden systeemblauw in plaats van je eigen huisstijlkleur.","solution":"Selectievakjes, keuzerondjes, schuifjes en voortgangsbalken tonen nu overal in het portaal je eigen huisstijlkleur."},{"num":"v28.25","type":"polish","title":"Tabtitel zonder dubbele merknaam op de automatiseringspagina","problem":"De browsertab van de automatiseringspagina's toonde de merknaam twee keer, en bij white-label bureaus lekte daarbij ook nog de naam Senly de tab in.","solution":"Alle paginatabs tonen nu alleen de naam van de pagina zelf, zonder dubbele of foutieve merknaam."},{"num":"v28.24","type":"polish","title":"\"Je bekijkt het portaal alsâ¦\" is nu dezelfde zwevende pill als de demo-modus","problem":"Als je meekeek als een andere gebruiker, rol of bureau, verscheen een felgekleurde balk over de volle breedte die alle content omlaag duwde en niet paste bij de rest van het portaal.","solution":"Je ziet nu dezelfde rustige, zwevende melding onderin als bij de demo-modus, inclusief een knop om terug te gaan naar je eigen portaal."},{"num":"v28.23","type":"bugfix","title":"Grote controleronde: ruim 200 kleine fouten door het hele portaal opgelost","problem":"In een uitgebreide controle van het hele portaal kwamen veel kleine fouten aan het licht, van een verkeerd gekoppelde factuur en chatbijlagen die na verwijderen zichtbaar bleven tot uitnodigingslimieten die niet goed telden.","solution":"Alles is opgelost. Je merkt het vooral aan dingen die nu gewoon kloppen: facturen, chats, koppelingen, e-mail, taken en de planner gedragen zich weer zoals je verwacht."}]},{"date":"2026-09-03","version":"v28.22","clV":"v0.980","title":"QA-hardening: formulieren, landingspagina's en lead scoring","items":[{"num":"v28.22","type":"bugfix","title":"Conversiepercentage nooit meer boven 100%","problem":"Het conversiepercentage van een formulier kon soms boven de 100% uitkomen.","solution":"Het percentage wordt nu altijd afgetopt op 100%, zowel in de formulierstatistieken als op het dashboard."},{"num":"v28.21","type":"bugfix","title":"Lead scoring telt betrouwbaarder bij drukke leads","problem":"Als een lead tegelijkertijd twee acties uitvoerde, konden de punten van de scoring elkaar overschrijven, waardoor je een lagere score zag dan terecht was.","solution":"Punten worden nu altijd correct opgeteld, ook als er meerdere acties tegelijk binnenkomen."},{"num":"v28.20","type":"bugfix","title":"Grote controleronde: zo'n 80 fouten door het hele portaal opgelost","problem":"Een brede controle bracht bugs aan het licht die het dagelijks werk verstoorden: vervanging bij afwezigheid werkte niet voor iedereen, verwijderde taken telden nog mee als verlopen, afspraakherinneringen kwamen soms dubbel binnen en sommige schermen bleven bij een laadfout leeg.","solution":"Alle bevestigde bugs zijn opgelost: afwezigheidsvervanging werkt voor iedereen, de affiliate-boekhouding klopt weer, verwijderde taken tellen niet meer mee, herinneringen komen niet meer dubbel binnen, en bij een laadfout zie je nu altijd een duidelijke melding in plaats van een lege pagina."}]}
2,{"date":"2026-09-02","version":"v28.19","clV":"v0.979","title":"Dashboard-widgets voor hot-leads, formulier-conversie, inbox en landingspagina's","items":[{"num":"v28.19","type":"feature","title":"Nieuwe dashboard-widgets: hot-leads, formulier-conversie en inbox","problem":"Om te zien welke leads het heetst waren, hoeveel mensen je formulieren invulden of welke gesprekken nog open stonden, moest je steeds naar een apart scherm.","solution":"Je dashboard toont nu drie nieuwe blokken die je zelf kunt toevoegen: je heetste leads, de conversie van je formulieren over de afgelopen 30 dagen, en je ongelezen berichten. Een klik op een blok brengt je meteen naar het volledige overzicht."},{"num":"v28.18","type":"feature","title":"Widget: landingspagina-prestaties","problem":"Hoe goed je landingspagina's presteerden, zag je niet in één oogopslag op je dashboard.","solution":"Een nieuw dashboardblok toont hoeveel landingspagina's actief zijn en welke pagina's de meeste inzendingen en de beste conversie behalen, over de afgelopen 30 dagen."}]},{"date":"2026-09-02","version":"v28.17","clV":"v0.977","title":"Inbox-teller en mail-opens tellen mee voor lead scoring","items":[{"num":"v28.17","type":"feature","title":"Ongelezen-teller op de Inbox","problem":"Je moest de Inbox openen om te zien of er nieuwe berichten van contacten waren.","solution":"Het Inbox-icoon in het menu toont nu een teller met het aantal gesprekken met een ongelezen bericht, zodat je in één oogopslag ziet dat er iets nieuws is binnengekomen."},{"num":"v28.16","type":"feature","title":"Mail-opens tellen mee voor lead scoring","problem":"Bij het bepalen hoe warm een lead was, werd nog niet meegewogen of iemand je e-mails daadwerkelijk opende.","solution":"Wanneer een contact een e-mail opent die je vanuit de Inbox verstuurde, krijgt de bijbehorende lead nu automatisch extra punten, met een maximum van één keer per dag. Dit is instelbaar onder Instellingen â Lead scoring, en automatische openingen door e-mailscanners tellen niet mee zodat de score klopt."}]},{"date":"2026-09-02","version":"v28.15","clV":"v0.974","title":"Inbox: alle klantberichten op één plek","items":[{"num":"v28.15","type":"feature","title":"Unified inbox (Conversations)","problem":"Berichten van klanten kwamen binnen via verschillende kanalen â de chat op je website, formulier-inzendingen, geboekte afspraken en e-mail â en stonden allemaal op een andere plek, waardoor je makkelijk het overzicht (en soms een lead) kwijtraakte.","solution":"Er is een nieuw Inbox-scherm waarin alles wat een contact je stuurt samenkomt in één gesprek per persoon: chatberichten, formulier-inzendingen, afspraken en e-mail. Je ziet in één oogopslag welke gesprekken ongelezen zijn, filtert op open of gesloten, en beantwoordt een contact rechtstreeks vanuit de Inbox â met één klik gekoppeld aan de bijbehorende lead."}]},{"date":"2026-09-02","version":"v28.14","clV":"v0.972","title":"Lead scoring: warmste kansen automatisch bovenaan","items":[{"num":"v28.14","type":"feature","title":"Lead scoring + hot-leads","problem":"Alle leads zagen er in je pijplijn hetzelfde uit, waardoor je niet in één oogopslag kon zien welke lead het meest betrokken was en dus je aandacht verdiende.","solution":"Leads verzamelen nu automatisch punten op basis van hun gedrag, zoals het invullen van een formulier, vooruitgang in je pijplijn of het boeken van een afspraak; zodra de score jouw ingestelde drempel haalt, krijgt de lead een duidelijk label en scorebadge op de kaart. De punten en de drempel stel je zelf in, en je kunt je team automatisch laten waarschuwen zodra een lead heet wordt zodat iemand meteen kan opvolgen."},{"num":"v28.13","type":"feature","title":"Landingspagina-builder","problem":"Voor een landingspagina bij een campagne of gratis weggever moest je een externe tool of een losse website gebruiken, en de leads kwamen niet vanzelf in je CRM terecht.","solution":"Onder Instellingen â Landingspagina's bouw je nu zelf pakkende pagina's vanuit een sjabloon (gratis weggever, webinar of vrijblijvend gesprek), waarbij je kop, tekst, afbeelding en kleuren aanpast en een van je formulieren koppelt. De pagina staat meteen live op een deelbare link, inzendingen worden automatisch leads, en weergaves en conversie worden bijgehouden."}]},{"date":"2026-09-01","version":"v28.12","clV":"v0.970","title":"Formulier-bouwer: leads verzamelen en direct in je CRM","items":[{"num":"v28.12","type":"feature","title":"Bouw formulieren die leads in je CRM zetten","problem":"Voor contact-, intake- of aanmeldformulieren moest je een externe tool zoals Typeform of Google Forms gebruiken, en de inzendingen daarna handmatig overtypen in je CRM.","solution":"Onder Instellingen â Formulieren bouw je nu zelf formulieren met alle gangbare veldtypes, deel je ze als link of plaats je ze met een klein stukje code op een klantwebsite. Elke inzending kan automatisch een lead worden in de pijplijn en fase die je zelf kiest, met de juiste velden gekoppeld aan naam, e-mail, telefoon en bedrijf; inzendingen zijn per formulier terug te lezen en te exporteren."},{"num":"v28.11","type":"feature","title":"Formulier-inzending als workflow-trigger","problem":"Een binnenkomende formulier-inzending kon nog geen automatische actie starten, dus moest je zelf handmatig opvolgen.","solution":"Je kunt nu automatisch laten reageren zodra
2iemand een formulier invult: denk aan een welkomstmail, het aanmaken van een taak, een melding voor je team of het plaatsen van de lead in een pijplijn. Je kiest zelf op welk formulier dit van toepassing is."},{"num":"v28.10","type":"feature","title":"Conversie-statistieken per formulier","problem":"Je kon inzendingen zien, maar niet hoeveel mensen het formulier bekeken of welk deel daadwerkelijk invulde, waardoor je niet wist hoe goed een formulier eigenlijk presteerde.","solution":"Elk formulier heeft nu een statistiekenblok met het totaal aantal weergaves, inzendingen en de conversie, plus een grafiek van de afgelopen 30 dagen. Zo zie je in één oogopslag hoe goed een formulier of landingspagina presteert."}]},{"date":"2026-08-31","version":"v28.09","clV":"v0.969","title":"Cursussen: certificaten, deelnemer-overzicht en voortgang","items":[{"num":"v28.09","type":"feature","title":"Cursussen: zie per deelnemer de voortgang","problem":"Als je klanten uitnodigde voor een eigen cursus, kon je nergens zien wie zich had ingeschreven, hoe ver iemand was of wie de cursus al had afgerond.","solution":"Je ziet nu per deelnemer de status (uitgenodigd, bezig, afgerond) met een voortgangsbalk, een link naar het certificaat, en je kunt iemand uitschrijven of de persoonlijke link opnieuw kopiëren."},{"num":"v28.08","type":"bugfix","title":"Cursus-certificaat is nu zichtbaar en deelbaar","problem":"Klanten die een cursus van jouw bureau afrondden, kregen wel een certificaat, maar de certificaatpagina liet zien dat die niet bestond, en de felicitatie in het leerportaal verscheen pas na het handmatig verversen van de pagina.","solution":"Certificaten van je eigen cursussen zijn nu gewoon te bekijken en te delen, met cursusnaam, deelnemer en bureaunaam en een QR-code om ze te verifiëren. De felicitatie verschijnt nu direct zodra de laatste les is afgerond."}]},{"date":"2026-08-30","version":"v28.07","clV":"v0.968","title":"Onboarding-checklist toont alleen taken die bij je rol passen","items":[{"num":"v28.07","type":"polish","title":"Launchpad-taken volgen je doelgroep","problem":"De opstart-checklist liet altijd alle taken zien, ook stappen over meetings, e-mail of CRM die voor bijvoorbeeld een content creator niet van toepassing zijn.","solution":"De checklist past zich nu aan op wat je gebruikt: verberg je een onderdeel zoals meetings, e-mail of CRM, dan verdwijnen ook de bijbehorende taken. Stappen die voor meerdere onderdelen nuttig zijn, zoals het koppelen van een mailbox voor bevestigingsmails, blijven gewoon staan."},{"num":"v28.06","type":"security","title":"Aangescherpte toegang op cloud-bestanden en extra beveiligingsmaatregelen","problem":"Bij het bekijken van gekoppelde bestanden uit Google Drive en Dropbox werd niet overal gecontroleerd of je wel toegang had tot die klant, en een paar andere onderdelen van het portaal konden veiliger.","solution":"Je ziet nu overal alleen bestanden van klanten waar je ook echt toegang toe hebt. Daarnaast is de tweestapsverificatie beter beveiligd, is een tool die externe bestanden downloadt beter afgeschermd, en worden links die je invoert strenger gecontroleerd."},{"num":"v28.05","type":"security","title":"Kleinere beveiligingsverfijningen door het hele portaal","problem":"Een aantal publieke pagina's en koppelingen met andere apps hadden nog geen bescherming tegen misbruik door herhaald proberen, en de toegang tot financiële cijfers en klantprofielen kon nog preciezer worden afgestemd op iemands rol.","solution":"Publieke bevestigings- en afmeldlinks zijn nu beter beschermd tegen misbruik, koppelingen met andere apps zijn strenger geverifieerd, en de toegang tot financiële cijfers en klantprofielen is verder verfijnd per rol."},{"num":"v28.04","type":"feature","title":"Meetings: round-robin â laat je team samen de agenda vullen","problem":"Een afspraaktype had altijd maar één host. Had je meerdere collega's die hetzelfde soort gesprek voeren, zoals intakes of demo's, dan moest iedereen zijn eigen link delen of moest iemand de boekingen handmatig verdelen.","solution":"Je kiest nu per afspraaktype tussen 1-op-1 en round-robin. Bij round-robin voeg je collega-hosts toe en gaat elke nieuwe boeking automatisch naar wie het langst geleden zo'n afspraak had. Bevestiging, agenda en herinneringen gaan naar de host die de boeking kreeg; je bestaande 1-op-1-afspraken blijven ongewijzigd."},{"num":"v28.03","type":"feature","title":"Meetings: groep- en collectief-afspraken","problem":"Voor workshops of demo's met meerdere deelnemer
2s per tijdslot, of voor gesprekken waarbij bijvoorbeeld een strateeg en een accountmanager samen aanwezig moeten zijn, had je geen goede oplossing binnen het portaal.","solution":"Naast 1-op-1 en round-robin kun je nu ook Groep of Collectief instellen. Bij Groep boeken meerdere mensen hetzelfde tijdstip tot het slot vol is. Bij Collectief kies je meerdere hosts en verschijnt een slot alleen als ze allemaal tegelijk vrij zijn; annuleert de bezoeker, dan vervalt de afspraak bij alle hosts tegelijk."},{"num":"v28.02","type":"feature","title":"Meetings: team-pagina en website-embed","problem":"Klanten die een afspraak bij je bureau wilden inplannen, moesten precies weten welke collega ze nodig hadden, of jij moest losse links per persoon rondsturen. Een boekingswidget op een klantwebsite zetten kon alleen met een losse link.","solution":"Elk bureau heeft nu één publieke teampagina die alle beschikbare afspraaktypes van al je collega's toont, in je eigen huisstijl. Daarnaast kun je met een kant-en-klaar stukje code een boekingswidget op elke klantwebsite plaatsen, inline of als knop die een venster opent. Het werkt op WordPress, Framer, Webflow en andere sites."},{"num":"v28.01","type":"feature","title":"Meetings: betaalde afspraken via Stripe","problem":"Voor betaalde diensten zoals consultancy-uren, strategiegesprekken of workshops kon je geen prijs aan een afspraaktype koppelen. Wilde je vooraf betaald krijgen, dan moest je een aparte factuur sturen en afwachten of de klant voor de afspraak betaalde.","solution":"Je kunt nu per afspraaktype een prijs instellen; na het kiezen van een tijdstip rekent de bezoeker direct af via Stripe. Zodra de betaling binnen is, verstuurt Senly automatisch de bevestiging en komt de afspraak in de agenda. Dit vereist wel een gekoppeld Stripe-account bij je bureau."},{"num":"v28.00","type":"feature","title":"Meetings: nieuwe Analytics-tab met KPI's per host, type en dag","problem":"Om te zien hoeveel boekingen je team kreeg of welke afspraaktypes populair waren, moest je handmatig door de agenda scrollen; cijfers over no-shows, annuleringen en omzet uit betaalde afspraken waren nergens te vinden.","solution":"De nieuwe statistieken-tab in Meetings toont in één oogopslag de totalen (bevestigd, geannuleerd, no-show, wachtend op betaling), boekingen per collega en per afspraaktype, een grafiek per dag en, bij betaalde afspraken, de omzet. Je filtert op de laatste 30 dagen, 90 dagen of het hele jaar; beheerders zien het hele bureau, andere gebruikers alleen hun eigen afspraken."},{"num":"v27.99","type":"bugfix","title":"Verwijderde CRM-leads komen niet meer terug via de nachtelijke import","problem":"Verwijderde je een lead die was binnengekomen via een koppeling met Pipedrive, HubSpot, Salesforce of Typeform, dan stond die de volgende nacht via de automatische import gewoon weer in je lijst.","solution":"Senly onthoudt nu welke leads je bewust hebt verwijderd, zodat de nachtelijke import ze niet opnieuw aanmaakt. Dit geldt of je een lead los verwijdert, in bulk opruimt, of via een koppeling. Wil je zo'n lead toch terughalen, dan kan dat via een nieuwe handmatige import."},{"num":"v27.98","type":"feature","title":"E-mail sequences: geplande follow-up-reeksen","problem":"Een e-mailcampagne kon je alleen in één keer versturen. Wilde je een reeks opvolgmails automatisch laten lopen, bijvoorbeeld voor het onboarden van een nieuwe klant of het opvolgen van een no-show, dan moest je elke mail zelf handmatig inplannen.","solution":"Met de nieuwe e-mailreeksen zet je een aantal stappen met een wachttijd ertussen klaar; schrijf je een contact, lead of klant in, dan verstuurt Senly automatisch elke stap zodra die aan de beurt is. Elke mail bevat een werkende afmeldlink en gaat uit via je eigen gekoppelde e-mailaccount."},{"num":"v27.97","type":"feature","title":"Automatische Google-review-verzoeken","problem":"Om Google-reviews van tevreden klanten te krijgen, moest je zelf onthouden om na een afspraak of factuur een verzoek te sturen, en dat vergat je meestal.","solution":"Je stelt eenmalig je Google-reviewlink en een wachttijd in, bijvoorbeeld drie dagen. Senly verstuurt daarna automatisch één reviewverzoek per klant na een afgeronde afspraak, een betaalde factuur of een gewonnen deal, en dezelfde klant krijgt nooit twee keer een verzoek. Je zet het met één schakelaar aan of uit."},{"num":"v27.96","type":"feature","title":"Chat-widget voor klant-websites","problem":"Je kon geen chat- of contactvenster van Senly op een klantwebsite plaatsen; bezoekers waren aangewezen op wat er verder op de site stond.","solution":"Met een kant-en-klaar stukje code op de klantwebsite verschijnt nu een chatknop rechtsonderin. Vult een bezoeker naam, e-mail en bericht in, dan komt dat direct in je Senly-inbox terecht, met een melding in het portaal. De widget kan op elk moment vervangen of uitgeschakeld worden."},{"num":"v27.95","type":"feature","title":"Academy course-builder: bouw eigen cursussen voor je klanten","problem":"De Academy bevatte alleen cursussen van Senly zelf voor je eigen team. Wilde je zelf een onboarding-cursus of training aan je klanten aanbieden, dan moest je daarvoor een los systeem gebruiken.","solution":"Je bouwt nu eigen cursussen met meerdere lessen, inclusief tekst, video en een optionele toets per les, en nodigt klanten uit per e-mail. De klant volgt de cursus via een persoonlijke link zonder in te hoeven loggen, in de huisstijl van je bureau, en krijgt na het afronden van alle lessen automatisch een deelbaar certificaat. Video's van Vimeo, YouTube en Loom kun je gewoon insluiten."}]}
2,{"date":"2026-08-28","version":"v27.94","clV":"v0.966","title":"Account-keuze in de planner met logoâs","items":[{"num":"v27.94","type":"polish","title":"Pagina-keuze met avatars in plaats van een kale keuzelijst","problem":"Had je meerdere Facebook- of Instagram-accounts gekoppeld, dan koos je het actieve account uit een kale lijst met alleen namen.","solution":"Je kiest nu uit een overzichtelijke lijst met het echte logo of de profielfoto per account (of een gekleurde letter als die ontbreekt) en een duidelijk vinkje bij het actieve account."},{"num":"v27.93","type":"polish","title":"Ook Instagram-accounts tonen hun echte profielfoto","problem":"In de accountlijst toonden Facebook-pagina's al hun echte logo, maar Instagram-accounts kregen alleen een gekleurde letter.","solution":"Instagram-accounts tonen nu ook hun echte profielfoto in de lijst. Heb je Instagram al eerder gekoppeld, dan verschijnt de foto zodra je de koppeling eenmalig opnieuw maakt."},{"num":"v27.92","type":"bugfix","title":"Bio-generator: onleesbare labels in lichte modus opgelost","problem":"In de bio-generator waren de labels 'Bio generator' en 'Geschiedenis' in de lichte weergave bijna onleesbaar: lichtgrijze tekst op een witte achtergrond.","solution":"Die labels zijn nu altijd goed leesbaar, zowel in de lichte als in de donkere weergave."}]},{"date":"2026-08-28","version":"v27.91","clV":"v0.965","title":"Klant-kop met volwaardige header-uitstraling","items":[{"num":"v27.91","type":"polish","title":"Klantprofiel-kop hoger en royaler","problem":"De kop van het klantprofiel was door eerdere opschoning een smalle strip geworden, wat weinig recht deed aan de belangrijkste pagina van een klant.","solution":"De kop heeft weer voldoende hoogte en ruimte, met een groter klant-icoon en een net iets grotere naam."}]},{"date":"2026-08-27","version":"v27.90","clV":"v0.964","title":"Team-cultuur opgedeeld in overzichtelijke tabs","items":[{"num":"v27.90","type":"polish","title":"HR-onderdelen als tabs in plaats van één lange lijst","problem":"De Team-cultuur-pagina toonde verlof, overuren, jubilea, 1-op-1-gesprekken, buddy's en collega-feedback allemaal onder elkaar, wat een lange lijst om doorheen te scrollen opleverde.","solution":"Deze onderdelen staan nu als tabs bovenaan, zodat je steeds één sectie tegelijk ziet. Staan er overuren klaar om goed te keuren, dan zie je direct een teller op die tab."},{"num":"v27.89","type":"polish","title":"Abonnement-pagina opgefrist","problem":"Op de abonnementspagina stonden drie cijfers even prominent naast elkaar zonder duidelijke hoofdrol, was niet in één oogopslag te zien welk tarief voor jou gold, en kreeg de opzegoptie evenveel aandacht als de rest.","solution":"Je maandbedrag is nu het belangrijkste cijfer op de pagina, je huidige tarief is duidelijk gemarkeerd, en opzeggen staat als rustige optie onderaan."},{"num":"v27.88","type":"bugfix","title":"Witte invoervelden in dark mode gecorrigeerd","problem":"Op een aantal pagina's, zoals Herinneringen, Werkuren, Branding en de facturen-editor, bleven invoervelden in de donkere weergave spierwit in plaats van donker.","solution":"Deze velden volgen nu overal correct de gekozen weergave: donker in dark mode en licht in light mode."}]},{"date":"2026-08-27","version":"v27.87","clV":"v0.963","title":"Negen nieuwe tools in de Tool Store + betrouwbaarheidsronde (deel 3)","items":[{"num":"v27.87","type":"bugfix","title":"Dubbelklikken of opnieuw versturen maakt geen dubbele posts meer","problem":"Als je een ontwerp vanuit Canva in bulk naar de planner stuurde, kon een dubbelklik of een herhaalde poging bij een trage verbinding dezelfde post twee keer inplannen.","solution":"Senly herkent nu een exact dezelfde herhaalde poging en slaat die over, terwijl een bewust andere planning gewoon wordt verwerkt."},{"num":"v27.86","type":"security","title":"Browser-extensie en gedeelde planner-links dichtgezet","problem":"De browser-extensie controleerde niet altijd zeker genoeg of een opdracht echt van het Senly-portaal kwam, en gedeelde links voor het goedkeuren van geplande posts vroegen onterecht om in te loggen.","solution":"De extensie accepteert opdrachten nu alleen nog van een geverifieerd Senly-adres, gedeelde goedkeuringslinks werken weer zonder inloggen, en een ingetrokken koppeling is direct ook echt ongeldig."},{"num":"v27.85","type":"bugfix","title":"Kloppende omzetcijfers en strakkere financiële weergave","problem":"De omzetcijfers rekenden met het standaardtarief in plaats van het tarief dat je echt met een klant had afgesproken, en een medewerker met beperkte toegang zag soms bedragen van het hele bureau.","solution":"Alle omzetcijfers rekenen nu met het werkelijk afgesproken maandbedrag, en de financiële overzichten tonen voortaan alleen de klanten waar je zelf toegang toe hebt."},{"num":"v27.84","type":"bugfix","title":"Betrouwbaarder versturen, opruimen en achtergrondtaken","problem":"Stuurde je een gecorrigeerde versie van dezelfde planning opnieuw, dan kon die soms onterecht stil worden tegengehouden. Ook lieten opgezegde bureaus soms nog losse gegevens achter, en liepen enkele achtergrondprocessen, zoals uitbetalingen, e-mailfilters en certificaten, in bepaalde gevallen mis.","solution":"Een e
2cht gewijzigde herverzending gaat nu weer gewoon door, opgezegde bureaus worden vollediger opgeruimd, en de betrokken achtergrondprocessen zijn robuuster gemaakt."},{"num":"v27.83","type":"feature","title":"Nieuwe tool: AI Text Detector","problem":"Voor je een caption, blogpost of e-mail publiceerde, kon je niet snel checken of de tekst onnatuurlijk of te veel als AI-tekst overkwam.","solution":"De nieuwe AI Text Detector in de Tool Store geeft je tekst een score van 0 tot 100, wijst verdachte cliché-zinnen aan en geeft concrete tips om het menselijker te laten klinken."},{"num":"v27.82","type":"feature","title":"Nieuwe tool: Font Identifier","problem":"Zag je ergens een lettertype dat je mooi vond, dan was er geen manier om te achterhalen welk font het precies was.","solution":"Upload een foto of screenshot met tekst en de Font Identifier laat zien om welk lettertype het waarschijnlijk gaat, met de kenmerken en gratis alternatieven die er sterk op lijken."},{"num":"v27.81","type":"feature","title":"Nieuwe tool: Caption Rewriter","problem":"Een caption die net niet lekker liep, herschreef je zelf handmatig, of je gebruikte een algemene AI-tool die de feiten of de taal van het origineel veranderde.","solution":"Plak je caption, kies waar hij beter in moet worden (pakkender, korter, professioneler, een sterkere opening, duidelijkere call-to-action of meer storytelling) en krijg drie herschreven varianten terug, altijd in dezelfde taal en met dezelfde feiten."},{"num":"v27.80","type":"feature","title":"Nieuwe tool: Video naar GIF","problem":"Voor een snelle GIF van een video was je aangewezen op externe websites vol advertenties en watermerken, waarbij je bovendien je video moest uploaden.","solution":"Upload een video, kies het fragment (tot 10 seconden), stel de beeldsnelheid en breedte in en download een lopende GIF. Alles gebeurt lokaal in je browser, je video wordt nergens naartoe geüpload."},{"num":"v27.79","type":"feature","title":"Nieuwe tool: Offer Analyzer","problem":"Of een aanbod echt overtuigend was, qua prijs, sterke punten en het wegnemen van risico voor de klant, bleef vaak giswerk tot een klant wel of niet tekende.","solution":"Omschrijf je aanbod en krijg een beoordeling op zes onderdelen: duidelijkheid, waardebeleving, prijsstelling, risico-wegname, urgentie en onderscheidend vermogen. Je krijgt daarbij je sterkste punten, de grootste bezwaren van kopers, verbeterpunten op volgorde van belang en een aangescherpte pitch in één zin."},{"num":"v27.78","type":"feature","title":"Nieuwe tool: Idea Engine","problem":"Bestaande generatoren voor content-ideeën gaven generieke lijstjes die voor elk bedrijf hetzelfde waren en niets te maken hadden met jouw eigen aanbod.","solution":"De Idea Engine leest je website of accountomschrijving en genereert acht ideeën die echt bij jouw diensten, doelgroep en toon passen, elk met een pakkende opening, een format (reel, carrousel, post of story), een uitwerking en de reden waarom het idee past."},{"num":"v27.77","type":"feature","title":"Nieuwe tool: Instagram Grid Preview","problem":"Hoe een geplande post in het geheel van je Instagram-grid zou vallen, zag je pas nadat je hem had geplaatst, en dat weer terugdraaien is niet mooi.","solution":"Upload je huidige grid en je geplande posts en bekijk vooraf hoe dat eruitziet in een telefoonweergave. Je kunt tegels verslepen om volgordes uit te proberen en wisselen tussen vierkante en staande tegels. Dit gebeurt volledig in je browser, er wordt niets geüpload."},{"num":"v27.76","type":"security","title":"Financiele cijfers en klantprofielen strak op toewijzing gescoped","problem":"Een medewerker met toegang tot maar een deel van de klanten kon op een paar plekken toch cijfers of namen van het hele bureau zien, bijvoorbeeld bij facturen, de openstaande-bedragen-widget op het dashboard en het klantprofiel.","solution":"Deze onderdelen tonen nu overal alleen de klanten en cijfers waar iemand ook echt toegang toe heeft. Beheerders en rollen met volledige inzage blijven gewoon alles zien."},{"num":"v27.75","type":"bugfix","title":"Terugbetalingen, gratis tarieven en verzendlimieten kloppen weer","problem":"Een terugbetaling werd niet op de factuur verwerkt, een gratis tarief kon bij het opslaan stiekem het standaardtarief worden, en bij het benaderen van leads telden geopende e-mails mee in je verzendlimiet.","solution":"Terugbetalingen worden nu correct verwerkt en teruggeboekt op de factuur, een gratis tarief blijft ook echt gratis, en de verzendlimieten voor het benaderen van leads tellen weer alleen echte verzendingen mee. Ook is verholpen dat een automatisering goedgekeurde content soms te vroeg publiceerde."},{"num":"v27.74","type":"bugfix","title":"Tientallen kleinere correcties in stabiliteit, beveiliging en cijfers","problem":"Bij een aantal minder gebruikelijke acties
2- dubbelklikken, een lijst met veel resultaten, een trage externe verbinding - kon het portaal zich af en toe net niet gedragen zoals verwacht.","solution":"Deze kleine onvolkomenheden zijn opgelost: herhaalde acties worden herkend en genegeerd, lange lijsten blijven volledig doorbladerbaar, trage verbindingen krijgen een tijdslimiet, en bedragen, datums en toegangsrechten kloppen weer overal."},{"num":"v27.73","type":"bugfix","title":"Instagram Grid Preview: meerdere foto's tegelijk toevoegen werkt nu overal","problem":"Als je in de Instagram Grid Preview meerdere foto's tegelijk selecteerde, verscheen in sommige browsers maar één foto (of geen enkele) in de grid.","solution":"Je kunt nu betrouwbaar meerdere foto's tegelijk toevoegen, ook door ze in bulk op de uploadvakken te slepen. Een tip laat zien hoe je meerdere bestanden in één keer selecteert."},{"num":"v27.72","type":"polish","title":"Productpagina-visuals voor alle negen nieuwe tools","problem":"De negen nieuwste tools in de Tool Store hadden nog geen eigen productafbeelding, terwijl de andere tools wel een uitgebreide preview lieten zien.","solution":"Elke nieuwe tool heeft nu een eigen productpagina met een visuele preview in de eigen kleur, inclusief stappen en kenmerken - in alle vier de talen."}]},{"date":"2026-08-27","version":"v27.71","clV":"v0.962","title":"Betrouwbaarheids- en beveiligingsronde (deel 2)","items":[{"num":"v27.71","type":"bugfix","title":"Dubbel inplannen en dubbele acties voorkomen","problem":"Een dubbelklik of een herhaalde import kon er in zeldzame gevallen voor zorgen dat een post of actie twee keer werd ingepland of uitgevoerd.","solution":"Herhaalde acties worden nu herkend en overgeslagen, zodat niets meer dubbel gebeurt."},{"num":"v27.70","type":"security","title":"Strakkere toegang op klant-onderdelen","problem":"Bij een paar onderdelen van een klantdossier - de Google Drive-lijst, een sociale koppeling en onboarding - werd niet overal even streng gecontroleerd of je bij die klant hoorde, en een wachtwoordreset door een beheerder logde oude sessies niet altijd uit.","solution":"Deze onderdelen controleren nu overal dezelfde klant- en roltoegang, en een wachtwoordreset door een beheerder logt bestaande sessies direct uit."},{"num":"v27.69","type":"bugfix","title":"Stabielere achtergrondtaken, boekingen en weergave","problem":"Een trage externe agenda of koppeling kon een achtergrondtaak laten vastlopen, en op een paar plekken werd een fout getoond alsof er simpelweg geen gegevens waren, of stond een bedrag in de verkeerde valuta.","solution":"Trage externe verbindingen krijgen nu een tijdslimiet, fouten worden duidelijk gemeld in plaats van verborgen, en bedragen en datums volgen weer de juiste valuta en taal."}]},{"date":"2026-08-27","version":"v27.68","clV":"v0.961","title":"Betaal-, toegang- en boekingscorrecties","items":[{"num":"v27.68","type":"bugfix","title":"Meerdere terugbetalingen op één factuur worden nu volledig verrekend","problem":"Als je een online betaalde factuur in meerdere stappen terugbetaalde, werd alleen de eerste terugbetaling verwerkt - latere terugbetalingen kwamen niet terug in het openstaande bedrag.","solution":"Elke terugbetaling, ook in delen, wordt nu volledig verrekend, zodat het openstaande bedrag en je omzet altijd kloppen. Verwijder je een conceptfactuur, dan komen de gelogde uren ook weer vrij om opnieuw te factureren."},{"num":"v27.67","type":"security","title":"Toegang tot klantdata strakker via de externe API en koppelingen","problem":"Bij het ophalen van een losse lead of taak via een koppeling met een ander systeem, en bij een paar acties in Google Drive en Canva, werd niet altijd gecontroleerd of die klant wel bij jou hoorde.","solution":"Deze koppelingen gebruiken nu dezelfde toegangsregels als de rest van het portaal: je ziet en bewerkt alleen je eigen klanten en leads."},{"num":"v27.66","type":"bugfix","title":"Boekingspagina blijft stabiel bij trage agendaâs","problem":"Een trage iCloud- of Zoom-agenda kon de openbare boekingspagina laten vastlopen, en in de teamchat sprong het scherm soms niet mee naar je nieuwste bericht.","solution":"Agenda-verbindingen krijgen nu een tijdslimiet zodat de boekingspagina altijd blijft werken, en de teamchat scrollt weer automatisch naar je bericht en opent het juiste gesprek."}]},{"date":"2026-08-27","version":"v27.65","clV":"v0.960","title":"Klantprofiel: rustiger kop zonder externe-tool-uitgangen","items":[{"num":"v27.65","type":"polish","title":"Rustigere klant-kop zonder externe-tool-links","problem":"Bovenaan een klantprofiel stonden knoppen die je meteen naar externe tools stuurden, waardoor het profiel meer als doorgeefluik aanvoelde dan als eigen overzicht.","solution":"De kop toont nu alleen naam, status en dienstverlening. Je vindt de koppelingen zelf gewoon terug op hun eigen plek, bij Content, Kanalen, Bestanden en de integratie-instellingen."}]},{"date":"2026-08-26","version":"v27.64","clV":"v0.959","title":"Interface-polish: taal, toegankelijkheid en weergave","items":[{"num":"v27.64","type":"polish","title":"Consistente taal, valuta en datums door het hele portaal","problem":"Op een aantal plekken in het portaal stonden datums n
2og vast in het Nederlands, een vast euroteken, of teksten die niet meeveranderden met je gekozen taal.","solution":"Datums, getallen en bedragen volgen nu overal je eigen taal en de valuta van je organisatie, en een paar ontbrekende vertalingen - onder andere bij het laden van evaluatierapporten - zijn aangevuld in alle vier de talen."},{"num":"v27.63","type":"polish","title":"Betere toegankelijkheid en zichtbaarheid","problem":"Sommige knoppen en menu's waren lastig te bedienen met het toetsenbord of een schermlezer, en een paar dashboard-widgets waren in de lichte weergave nauwelijks zichtbaar door ontbrekende kleuren.","solution":"Knoppen en menu's zijn nu duidelijk gelabeld en volledig met het toetsenbord te bedienen, en de betreffende widgets tonen weer nette randen en leesbare kleuren in zowel de lichte als de donkere weergave."},{"num":"v27.62","type":"bugfix","title":"Stabielere formulieren, uploads en weergave","problem":"Bij een paar formulieren en uploads werd een fout op de achtergrond soms stilletjes genegeerd, en kon er kort verouderde of verkeerd opgemaakte informatie in beeld komen.","solution":"Fouten worden nu duidelijk gemeld zodat je niets kwijtraakt, uploads worden vooraf op type en grootte gecontroleerd, en verouderde informatie wordt genegeerd zodra nieuwere gegevens binnenkomen."}]},{"date":"2026-08-26","version":"v27.61","clV":"v0.958","title":"Elke portaalpagina toont z'n eigen naam in de tab â in jouw taal","items":[{"num":"v27.61","type":"polish","title":"Tab-titels per pagina, viertalig","problem":"Veel portaalpagina's - tools, klantprofielen, beheerpagina's, de academy - toonden in de browser-tab alleen de algemene portaalnaam, in plaats van de naam van de pagina zelf.","solution":"Elke pagina toont nu zijn eigen naam in de browser-tab, in jouw taal; een klantprofiel toont zelfs de naam van de klant."}]},{"date":"2026-08-26","version":"v27.60","clV":"v0.957","title":"Kleine portaal-verfijningen","items":[{"num":"v27.60","type":"bugfix","title":"Tab-titel toonde \"Senly\" soms dubbel","problem":"Op sommige pagina's stond de merknaam \"Senly\" twee keer achter elkaar in de titel van de browser-tab.","solution":"De merknaam verschijnt nu nog maar één keer in de tab-titel."},{"num":"v27.59","type":"polish","title":"Laad-skelet van het klantprofiel klopt weer met de pagina","problem":"Terwijl een klantprofiel nog aan het laden was, toonde de pagina een ander, kleiner voorbeeld dan de uiteindelijke Brand Kit met kleuren en lettertypes - waardoor de pagina zichtbaar 'sprong' zodra alles geladen was.","solution":"Het laadscherm heeft nu dezelfde indeling als de echte Brand Kit, zodat de pagina rustig blijft staan terwijl de inhoud verschijnt."}]},{"date":"2026-08-26","version":"v27.58","clV":"v0.956","title":"Meertaligheid en team-chat verfijnd","items":[{"num":"v27.58","type":"bugfix","title":"E-mailmodule en footer tonen weer echte teksten i.p.v. codes","problem":"Op een paar plekken in de e-mailmodule - zoals bij sluimeren, inplannen, concepten en mappen - zag je een technische code in plaats van een leesbare tekst, en onderaan de pagina stond een kale taalafkorting in plaats van de taalnaam.","solution":"Deze teksten zijn aangevuld in alle vier de talen, dus je ziet overal weer gewone, leesbare tekst."},{"num":"v27.57","type":"bugfix","title":"Taalwisselaar op de meertalige site werkt correct","problem":"Op de Engelse, Duitse en Franse versie van de website deed de taalwisselaar niets: de pagina herlaadde gewoon in dezelfde taal.","solution":"De taalwisselaar brengt je nu direct naar de gekozen taal."},{"num":"v27.56","type":"bugfix","title":"Team-chat toont altijd de juiste conversatie","problem":"Als je snel tussen gesprekken in de teamchat wisselde, kon heel even nog het vorige gesprek in beeld blijven staan.","solution":"De chat toont nu altijd meteen het gesprek dat je hebt geopend."}]},{"date":"2026-08-26","version":"v27.55","clV":"v0.955","title":"Instelbare periode per widget + undo bij verwijderen","items":[{"num":"v27.55","type":"feature","title":"Periode (7 / 30 / 90 dagen) per widget instelbaar","problem":"Dashboard-widgets zoals de verkooppijplijn, verkeer per bron en de best presterende automatiseringen toonden altijd een vaste periode van 30 dagen.","solution":"Deze widgets hebben nu een keuze tussen 7, 30 of 90 dagen. Je instelling wordt per dashboard onthouden, ook op je andere apparaten."},{"num":"v27.54","type":"polish","title":"Dashboard verwijderd? Ongedaan maken","problem":"Als je per ongeluk een dashboard verwijderde, was het direct en definitief weg.","solution":"Na het verwijderen zie je nu kort een melding met 'Ongedaan maken', zodat je een misklik meteen kunt herstellen."}]},{"date":"2026-08-26","version":"v27.53","clV":"v0.954","title":"Dashboards: geliktere naamgeving, sjablonen en lege staat","items":[{"num":"v27.53","type":"polish","title":"Dashboards aanmaken en beheren zonder pop-ups","problem":"Een nieuw dashboard aanmaken of hernoemen opende een kaal pop-upvenstertje van de browser, en verwijderen vroeg een systeembevestiging die niet bij de rest van het portaal paste.","solution":"Alles gaat nu direct in de dashboard-balk zelf: je typt een naam in, dubbelklikt om te hernoemen en krijgt bij verwijderen een korte bevestiging ter plekke. Je kunt dashboards ook slepen om ze in je eigen volgorde te zetten."},{"num":"v27.52","type":"feature","title":"Startsjablonen + dashboard dupliceren","problem":"Een nieuw dashboard begon altijd met dezelfde standaardset widgets, ook als je bijvoorbeeld alleen sales- of content-cijfers wilde zien.","solution":"Bij het aanmaken van een dashboard kies je nu een startpunt - Standaard, Sales, Content, Financieel, Leeg - of maak je een kopie van een bestaand dashboard."},{"num":"v27.51","type":"polish","title":"Lege staat + duidelijke widget-limiet","problem":"Een dashboard zonder widgets toonde een lege, verwarrende pagina, en zodra je twaalf widgets had toegevoegd, werkte de knop om er nog een toe te voegen zonder uitleg niet meer.","solution":"Een leeg dashboard toont nu een duidelijke uitnodiging om je eerste widget toe te voegen, en bij het maximum krijg je een nette melding in plaats van een knop die niets doet."}]},{"date":"2026-08-26","version":"v27.50","clV":"v0.953","title":"Demo-logo netjes geformatteerd (dark + light)","items":[{"num":"v27.50","type":"polish","title":"Homepage-white-label-beeld: groene rand-waas weggewerkt","problem":"Op de homepage stond bij de white-label-sectie een afbeelding met links een storende groene waas langs de rand.","solution":"De afbeelding is opnieuw gemaakt met een schone, vlakke achtergrond, zodat alleen de branding-tegel zelf te zien is."},{"num":"v27.49","type":"polish","title":"Demo-huisstijllogo bijgesneden naar een net formaat","problem":"Het demo-logo had veel lege ruimte eromheen, waardoor het in de huisstijl-voorbeeldtegel en op de homepage te klein of juist te groot oogde.","solution":"Het demo-logo is voor zowel de lichte als de donkere weergave strak bijgesneden, zodat het overal - in de zijbalk, de voorbeeldtegel en op de homepage - op een nette, proportionele grootte staat."}]},{"date":"2026-08-26","version":"v27.48","clV":"v0.952","title":"Meerdere dashboards + een maximum aan widgets","items":[{"num":"v27.48","type":"feature","title":"Meerdere dashboards met een actieve","problem":"Je had maar één vast dashboard, dus als je bijvoorbeeld een apart overzicht voor sales en voor content wilde, kon dat niet.","solution":"Je kunt nu tot 8 dashboards aanmaken, hernoemen, verwijderen en tussen wisselen via een kiezer boven het dashboard. Elk dashboard onthoudt zijn eigen widgets, en je laatst gekozen dashboard blijft ook op je andere apparaten actief."},{"num":"v27.47","type":"feature","title":"Maximum van 12 widgets per dashboard","problem":"Zonder limiet kon een dashboard met te veel widgets onoverzichtelijk en traag worden.","solution":"Een dashboard bevat nu maximaal 12 widgets; de widget-kiezer toont een teller en meldt duidelijk wanneer je het maximum bereikt. Met meerdere dashboards heb je alsnog volop ruimte om alles kwijt te kunnen."},{"num":"v27.46","type":"bugfix","title":"Nieuwe widgets blijven nu bewaard","problem":"Een aantal nieuwere widgets werd bij het opslaan niet herkend, waardoor ze na het verversen van de pagina soms weer verdwenen.","solution":"Al deze widgets worden nu correct herkend en bewaard, ook na verversen of op een ander apparaat."}]},{"date":"2026-08-26","version":"v27.45","clV":"v0.951","title":"Widget-kiezer krijgt de overzichtelijke Instellingen-look","items":[{"num":"v27.45","type":"polish","title":"Widgets kiezen via een categorie-rail met zoeken","problem":"De widget-kiezer was één lange lijst om doorheen te scrollen, wat met tientallen widgets onoverzichtelijk werd.","solution":"De kiezer toont nu categorieën in een balk aan de linkerkant met een zoekveld, en rechts de widgets overzichtelijk gegroepeerd per categorie met een aan/uit-vinkje."}]},{"date":"2026-08-25","version":"v27.44","clV":"v0.947","title":"Demo-modus: rustige zwevende indicator in plaats van de balk","items":[{"num":"v27.44","type":"polish","title":"Demo-balk vervangen door een z
2wevende demo-pill","problem":"In de demo-omgeving stond bovenaan een brede balk die alle inhoud naar beneden drukte en veel aandacht trok.","solution":"De balk is vervangen door een compact indicatortje onderin het scherm, met een korte uitleg dat je in een demo zit en een knop om je eigen proefperiode te starten. Het is in te klappen tot een klein chipje, en werkt zowel in het licht als het donker en op mobiel."}]},{"date":"2026-08-25","version":"v27.43","clV":"v0.950","title":"Widget-kiezer met categorieën + twee nieuwe widgets","items":[{"num":"v27.43","type":"feature","title":"Widgets zoeken en filteren op categorie","problem":"In het venster 'Widgets beheren' stond met tientallen widgets alles in één lange kolom, waar je doorheen moest scrollen om te vinden wat je zocht.","solution":"Je kunt widgets nu filteren op categorie - zoals Klanten & CRM, Content & social, Financieel, Meetings & taken - en zoeken op naam. Bij 'Alles' staan ze netjes gegroepeerd per categorie."},{"num":"v27.42","type":"feature","title":"Twee nieuwe widgets: taken per medewerker en koppel-status","problem":"Je kon in één oogopslag niet zien hoe de taken over je team verdeeld waren, of welke social-koppelingen aandacht nodig hadden.","solution":"Twee nieuwe widgets lossen dit op: 'Taken per medewerker' toont de open taken per teamlid, en 'K
2oppel-status' laat zien hoeveel van je social-koppelingen gezond zijn en hoeveel er opnieuw gekoppeld moeten worden."}]},{"date":"2026-08-24","version":"v27.41","clV":"v0.946","title":"Homepage-modulekaarten tonen het vernieuwde portaal","items":[{"num":"v27.41","type":"polish","title":"White-label-beeld: logo-voorbeeld nu scherp leesbaar","problem":"In het white-label-sectiebeeld op de homepage was het logo-voorbeeld een wazig vlekje: het demo-logobestand is een vierkant canvas met veel transparante ruimte, waardoor het woordmerk piepklein in de voorbeeldtegel viel.","solution":"Het beeld is opnieuw vastgelegd met een bijgesneden logo-voorbeeld, zodat het woordmerk de tegel vult en scherp leesbaar is â in alle vier de talen."},{"num":"v27.40","type":"polish","title":"Laatste drie homepage-beelden vernieuwd (platformen, trends, white-label)","problem":"De sectie-afbeeldingen voor de groeitools per platform, SM Trends en de white-label-instellingen toonden nog het oude portaal.","solution":"Alle drie opnieuw vastgelegd in het vernieuwde portaal, in de vier talen. Daarmee is elke afbeelding op de homepage up-to-date."},{"num":"v27.39","type":"polish","title":"Alle negen modulekaarten op de homepage opnieuw opgenomen","problem":"De kaarten in de modules-carrousel (Dashboard, Groeiprogramma's, Contentkalender, Financieel, Tool Store, Inbox, Meetings, Takenbeheer en Activiteiten) toonden nog schermen van het oude portaal, wat vloekte met de vernieuwde productdemo erboven.","solution":"Alle kaarten zijn opnieuw vastgelegd in het vernieuwde portaal â in alle vier de talen, met de nieuwe huisstijl en zonder storende schermranden."}]},{"date":"2026-08-24","version":"v27.38","clV":"v0.951","title":"Brede betrouwbaarheids- en correctheidsronde","items":[{"num":"v27.38","type":"bugfix","title":"Facturen en betalingen blijven consistent onder gelijktijdige acties","problem":"In zeldzame gevallen kon een factuur in een tegenstrijdige staat belanden als er tegelijk een betaling, deelbetaling, terugbetaling of annulering binnenkwam, of kon een tweede terugbetaling gemist worden.","solution":"Deze acties verlopen nu via een enkele, atomische update: de eerste die klaar is wint en de rest krijgt een nette melding in plaats van dat de staat overschreven wordt. Meerdere (deel)terugbetalingen worden nu correct verrekend."},{"num":"v27.37","type":"bugfix","title":"Gegevens en koppelingen netter opgeruimd en gevalideerd","problem":"Bij het verwijderen van een organisatie of medewerker bleven enkele instellingen of verwijzingen achter, en een bankafschrift in vreemde valuta kon aan een euro-factuur gekoppeld worden.","solution":"Opruimacties zijn compleet gemaakt, verwijderde medewerkers worden overal netjes losgekoppeld, en koppelingen en toewijzingen worden strenger op geldigheid en valuta gecontroleerd."},{"num":"v27.36","type":"performance","title":"Achtergrondtaken en integraties robuuster","problem":"Sommige achtergrondtaken konden dubbel draaien, te veel externe verzoeken tegelijk versturen, of een tijdelijke storing verkeerd verwerken.","solution":"Taken claimen hun werk nu voordat ze het uitvoeren, respecteren de limieten van externe diensten, en gaan correct om met tijdelijke storingen. Samen met een reeks kleinere afronding-, tijdzone- en weergavecorrecties uit een grote interne kwaliteitsronde."}]},{"date":"2026-08-24","version":"v27.35","clV":"v0.950","title":"Betaalverwerking en facturatie robuuster gemaakt","items":[{"num":"v27.35","type":"bugfix","title":"Online betalingen en terugbetalingen worden betrouwbaar verwerkt","problem":"In een klein aantal gevallen kon een betaling in Mollie verkeerd verwerkt worden: een al terugbetaalde factuur sprong soms weer op betaald, of een geslaagde betaling werd gemist waardoor een factuur onterecht open bleef en er aanmaningen bleven gaan.","solution":"Elke wijziging in betaalstatus wordt nu apart en betrouwbaar verwerkt, met een nieuwe poging bij een tijdelijke storing in plaats van dat die genegeerd wordt. Een terugbetaalde factuur springt niet meer per ongeluk terug naar betaald."},{"num":"v27.34","type":"bugfix","title":"Abonnementsbedragen kloppen ook buiten de afrekenpagina","problem":"Bij een self-serve heractivatie en in de proefperiode-herinnering werd de jaar- of kwartaalkorting soms toegepast op het volumetarief, terwijl die korting alleen voor solo-accounts geldt. Daardoor kon een herinneringsmail een fors te hoog bedrag noemen.","solution":"Alle plekken gebruiken nu dezelfde regel als de afrekenpagina: de cyclus-korting geldt alleen bij één klant; vanaf twee klanten wordt maandelijks gerekend. Bedragen in mails en heractivatie komen weer overeen met wat daadwerkelijk wordt afgeschreven."},{"num":"v27.33","type":"security","title":"Externe API en bankimport strakker","problem":"De externe API respecteerde de abonnementsstatus niet bij schrijfacties, en een bankafschrift in vreemde valuta werd als euro geimporteerd.","solution":"Schrijven via de externe API vereist nu een actief abonnement (lezen blijft open), en de bankimport leest de juiste valuta uit het afschrift zodat een niet-euro betaling niet meer per ongeluk aan een euro-factuur gekoppeld wordt. Ook een reeks kleinere afronding-, herhaal- en tijdzone-correcties zijn meegenomen."}]},{"date":"2026-08-24","version":"v27.32","clV":"v0.949","title":"Acht dashboard-widgets: omzet-inzichten, taken, verkeer en team","items":[{"num":"v27.32","type":"feature","title":"Omzet-inzichten: klant-LTV, ARPA en MRR-verandering","problem":"Belangrijke omzet-inzichten (waarde per klant, gemiddelde omzet, groei/verloop van terugkerende omzet) waren niet op het dashboard te zien.","solution":"Drie nieuwe finance-widgets: \"Klant-LTV\" (geschatte lifetime value, top 10), \"ARPA\" (gemiddelde maandomzet per klant + MRR) en \"MRR-verandering\" (nieuw vs. verloren deze maand)."},{"num":"v27.31","type":"feature","title":"Taken, campagnes, verkeer, platform en team","problem":"Voortgang van taken, geplande campagnes, websiteverkeer, koppelingen en teamactiviteit stonden verspreid over ap
2arte paginaâs.","solution":"Vijf nieuwe widgets: \"Taak-voltooiing\" (deze week), \"Aankomende campagnes\", \"Verkeer per bron\" (30 dagen), \"Meest gekoppelde platform\" en \"Actieve gebruikers\" (vandaag). Allemaal toe te voegen via de widget-kiezer."}]},{"date":"2026-08-24","version":"v27.30","clV":"v0.948","title":"Vier dashboard-widgets: contracten, social, workflows, cashflow","items":[{"num":"v27.30","type":"feature","title":"Signaal-widgets: verlopen contracten en klanten zonder social","problem":"Aflopende contracten en klanten zonder gekoppeld social-account waren makkelijk over het hoofd te zien.","solution":"Twee nieuwe widgets: \"Verlopen contracten\" (verlopen + binnen 30 dagen, met de eerstvolgende) en \"Zonder social-koppeling\" (actieve klanten zonder verbonden account). Zichtbaar voor rollen met klantbeheer."},{"num":"v27.29","type":"feature","title":"Top workflows en cashflow-vooruitblik","problem":"Je zag niet in één oogopslag welke workflows het meest draaien of hoe je cashflow ervoor staat.","solution":"Twee nieuwe widgets: \"Top workflows\" (meest gebruikte workflows, 30 dagen) en \"Cashflow\" (verwachte inkomsten uit openstaande facturen vs. maandelijkse vaste lasten â netto, met finance-rechten)."}]},{"date":"2026-08-24","version":"v27.28","clV":"v0.947","title":"Nog vijf dashboard-widgets","items":[{"num":"v27.28","type":"feature","title":"Nieuwe klanten, afspraken vandaag en betaaltermijn","problem":"Instroom van klanten, de afspraken van vandaag en hoe snel klanten betalen waren niet in één oogopslag op het dashboard te zien.","solution":"Drie nieuwe widgets: \"Nieuwe klanten\" (instroom deze maand + 6-maands trend), \"Afspraken vandaag\" (compacte lijst met join-link) en \"Betaaltermijn\" (gemiddeld aantal dagen tot betaling + % op tijd)."},{"num":"v27.27","type":"feature","title":"Openstaande offertes en affiliate-commissie","problem":"De waarde van lopende offertes en je affiliate-commissie stonden alleen op hun eigen pagina.","solution":"Twee nieuwe widgets: \"Openstaande offertes\" (waarde in behandeling + geaccepteerd deze maand, met finance-rechten) en \"Affiliate-commissie\" (commissie deze maand + openstaand saldo). Toe te voegen via de widget-kiezer."}]},{"date":"2026-08-24","version":"v27.26","clV":"v0.946","title":"Vijf nieuwe dashboard-widgets","items":[{"num":"v27.26","type":"feature","title":"Post-goedkeuringen, mislukte publicaties en content-voorraad","problem":"Belangrijke planner-signalen (posts die op akkoord wachten, mislukte publicaties, en hoeveel content er nog klaarstaat) waren alleen in de planner zelf te zien.","solution":"Drie nieuwe widgets via de widget-kiezer: \"Post-goedkeuringen\" (posts die op klant-akkoord wachten + afgekeurd), \"Mislukte publicaties\" (met de laatste fout) en \"Content-voorraad\" (dagen content per klant, minste eerst). Zichtbaar voor rollen met klantbeheer."},{"num":"v27.25","type":"feature","title":"Openstaande facturen en Academy-voortgang","problem":"Je openstaande facturen en je Academy-voortgang stonden alleen op hun eigen pagina.","solution":"Twee nieuwe widgets: \"Openstaande facturen\" (openstaand bedrag + te-late facturen, met finance-rechten) en \"Academy-voortgang\" (voltooide lessen, voortgang en certificaten). Toe te voegen via de widget-kiezer."},{"num":"v27.24","type":"bugfix","title":"Takenbeheer: geen lege avatar-rondjes meer","problem":"In de takenlijst en -kalender kon een verantwoordelijke kort als een leeg grijs rondje verschijnen terwijl de profielfoto nog laadde â dat oogde onaf.","solution":"De avatar toont nu meteen de initiaal en legt de foto eroverheen zodra die geladen is; lukt de foto niet, dan blijft de initiaal staan. Nooit meer een leeg rondje."}]},{"date":"2026-08-24","version":"v27.23","clV":"v0.945","title":"Dashboard-widgets: planner-fix en gedeeld maanddoel","items":[{"num":"v27.23","type":"bugfix","title":"Homepage-demo: tabbladenbalk trilde tijdens het scrollen door het klantprofiel","problem":"De balk met tabbladen (Overzicht, Taken, Content...) hoort vast bovenin te blijven staan zodra je erlangs scrolt, maar wiebelde in de demo zichtbaar mee met elke scrollstap.","solution":"Per beeldpaar is gemeten vanaf welk moment de balk daadwerkelijk vastklikt; vanaf dat punt wordt hij tijdens het scrollen vastgezet. Daarvoor beweegt hij gewo
2on mee, zoals in het echte portaal."},{"num":"v27.22","type":"polish","title":"Homepage-demo: chatknop ook uit de demo-beelden zelf gehaald","problem":"Naast de echte support-knop stond er ook een chatknop Ãn de opgenomen demo-schermen rechtsonder â die bleef zichtbaar tijdens de rondleiding, ook nadat de echte knop al meevervaagd was.","solution":"Alle demo-beelden zijn opnieuw opgenomen zonder de chatknop in beeld (in alle vier de talen), zodat de rondleiding nergens meer een zwevende knop toont."},{"num":"v27.21","type":"polish","title":"Homepage-demo: support-knop vervaagt mee tijdens de rondleiding","problem":"De support-chatknop rechtsonder (en zijn \"Heb je een vraag?\"-kaartje) bleef over de productdemo heen staan tijdens het scrollverhaal.","solution":"De chatknop vervaagt nu mee met de rest van de site zodra de demo start, en verschijnt weer zodra je terug bent bij de gewone pagina."},{"num":"v27.20","type":"bugfix","title":"Homepage-demo: tab-wissel naar Kanalen verliep abrupt","problem":"Na het sluiten van het Voorkeuren-paneel sprong de demo in één klap van het profiel-overzicht naar de Kanalen-weergave â andere tab én andere scrollpositie tegelijk, zonder zichtbare handeling.","solution":"De cursor beweegt nu zichtbaar naar de Kanalen-tab en klikt erop, waarna de pagina zacht overvloeit naar de kanalenweergave en doorscrolt naar de groeitools per platform."},{"num":"v27.19","type":"bugfix","title":"Homepage-demo: haperende strook onder de topbar weggewerkt","problem":"Tijdens het scrollen door het klantprofiel in de homepage-demo haperde een smalle strook onder de topbar: een overblijfsel uit het oude portaal (dat daar een vastgezette tab-balk had) werd stilgezet terwijl de content eronder doorschoof.","solution":"De demo bevriest die strook niet meer â het vernieuwde portaal heeft daar geen vaste tab-balk. Elke scroll in het profiel loopt nu van boven tot onder vloeiend door; ook de cursor landt netjes gecentreerd op de Voorkeuren-knop."},{"num":"v27.18","type":"bugfix","title":"Homepage-demo toonde deels oude schermen","problem":"De interactieve productdemo op de homepage kon bij terugkerende bezoekers oude en nieuwe schermen door elkaar tonen: de browser bewaarde de oude beelden een jaar lang onder dezelfde bestandsnaam, waardoor het verhaal haperde en er een naad tussen de statistiek-kaarten zichtbaar was.","solution":"Alle demo-beelden krijgen nu een versienummer mee, zodat elke bezoeker direct de vernieuwde portaal-weergave ziet â in alle vier de talen."},{"num":"v27.17","type":"bugfix","title":"Social-planner-widget miste geplande posts","problem":"De widget toonde \"Niks gepland\" terwijl er wél posts in de planner stonden, en de lege-staat-knop verwees per ongeluk naar Integraties.","solution":"De widget telt nu ook concept-posts mee (de planner zet geplande posts standaard als concept) en de knop verwijst naar de juiste pagina. Ook de CRM- en Afspraken-widget verwijzen nu naar hun eigen pagina."},{"num":"v27.16","type":"bugfix","title":"Maanddoel omzet: één plek in plaats van twee","problem":"Het omzetdoel dat je bij Financieel instelde werd niet overgenomen in de \"Maand doelen\"-widget; die hield een eigen (standaard) doel van ⬠5.000 aan.","solution":"De \"Maand doelen\"-widget gebruikt nu automatisch het maanddoel dat je bij Financieel instelt. Stel je daar ⬠15.000 in, dan toont de widget ⬠15.000."},{"num":"v27.15","type":"polish","title":"Klantprofiel-overzicht verfijnd: rustiger en strakker","problem":"De brede statuskaarten-balk en de drie losse infokaarten gaven het profiel een druk, spreadsheet-achtig gevoel.","solution":"De kerncijfers (gezondheid, taken, openstaand, deadline, activiteit) staan nu op één slanke regel met de snelle acties rechts, en de drie infoblokken vormen samen één strak paneel met subtiele scheidingslijnen â zelfde informatie, veel rustiger beeld."},{"num":"v27.14","type":"polish","title":"Klantprofiel: platform-logoâs bij doelgroep en nette actie-iconen","problem":"Het \"Doelgroep & platformen\"-blok toonde de kanalen als tekst-labels (INSTAGRAM, FACEBOOK, LINKEDIN) en de snelle-actie-knoppen gebruikten emoji-tekens.","solution":"De platforms bij doelgroep verschijnen nu als herkenbare logo-iconen (net als bij Komende content), en de knoppen Mail/Taak/Factuur hebben strakke lijn-iconen in plaats van emoji."}]},{"date":"2026-08-24","version":"v27.13","clV":"v0.944","title":"Contract- en klantmails in de taal van de klant","items":[{"num":"v27.13","type":"feature","title":"Voorkeurstaal per klant","problem":"Contract-uitnodigingen (en de bevestigings- en verificatiemails eromheen) gingen altijd in de taal van de gekozen template, ook naar een Franse of Duitse klant.","solution":"Op het klantprofiel kun je nu een voorkeurstaal per klant instellen (Bewerken â Algemeen). De begeleidende e-mails volgen die taal; het juridische contract-document zelf blijft in de taal van de template. Zonder ingestelde taal wordt automatisch de bekende taal van de ontvanger gebruikt (account of klant-administratie), anders Engels."}]},{"date":"2026-08-24","version":"v27.12","clV":"v0.943","title":"Eigen portaal-domein gaat pas live na DNS-verificatie","items":[{"num":"v27.12","type":"security","title":"Nieuw white-label-domein wordt eerst geverifieerd","problem":"Een nieuw ingesteld portaal-domein werd direct actief, ook voordat bevestigd was dat het echt op Senly wees. Dat gaf een klein risico op verkeerd geclaimde domeinen.","solution":"Een nieuw domein gaat nu pas live nadat de DNS-koppeling is geverifieerd (via de bestaande Verifieer-knop). Domeinen die al in gebruik waren, blijven ongewijzigd werken; alleen nieuw ingestelde domeinen doorlopen de verificatiestap. Gereserveerde platform-domeinen worden bovendien nooit aan een klant gekoppeld."}]},{"date":"2026-08-24","version":"v27.11","clV":"v0.942","title":"Externe API respecteert je klant-toewijzing ook bij het aanmaken en wijzigen","items":[{"num":"v27.11","type":"security","title":"API-schrijfacties blijven binnen je eigen klanten","problem":"De externe API (koppelingen) paste je rol en klant-toewijzing al toe bij het lezen, maar nog niet overal bij het aanmaken of wijzigen. Een accountmanager kon via een koppeling in theorie een taak of post op de klant van een collega zetten.","solution":"Aanmaken en wijzigen van klanten, taken, posts en leads volgt nu dezelfde toewijzingsregels als het portaal: je werkt alleen binnen je eigen klanten en leads. Beheerder- en organisatie-brede koppelingen blijven ongewijzigd werken."}]},{"date":"2026-08-24","version":"v27.10","clV":"v0.941","title":"Drie nieuwe dashboard-widgets: CRM-pijplijn, Social-planner en Afspraken","items":[{"num":"v27.10","type":"feature","title":"CRM-pijplijn op je dashboard","problem":"Om je verkooppijplijn te zien moest je naar de CRM-rapportages; op het dashboard was er geen snelle blik op open deals en gewonnen omzet.","solution":"Voeg via de widget-kiezer de \"CRM-pijplijn\"-widget toe: open deals, open kanswaarde, gewonnen bedrag en conversie over de laatste 30 dagen, plus een mini-funnel per stage. Zichtbaar voor rollen met klantbeheer."},{"num":"v27.09","type":"feature","title":"Social-planner op je dashboard","problem":"Je zag pas in de planner-kalender wat er de komende dagen gepland stond; op het dashboard was er geen overzicht van aankomende posts.","solution":"Voeg via de widget-kiezer de \"Social-planner\"-widget toe: het aantal geplande posts van de komende 7 dagen, een verdeling per platform en de eerstvolgende posts (klant + platform
2+ moment). Managers zien alleen hun eigen klanten."},{"num":"v27.08","type":"feature","title":"Afspraken op je dashboard","problem":"Om je volgende afspraken te zien moest je naar de meetings-pagina; op het dashboard was er geen snel overzicht van wat er aankomt.","solution":"Voeg via de widget-kiezer de \"Afspraken\"-widget toe: het aantal aankomende afspraken (totaal en deze week) plus je eerstvolgende afspraken (naam/bedrijf + type + moment). Toont je eigen boekingen."}]},{"date":"2026-08-24","version":"v27.07","clV":"v0.940","title":"API-koppelingen vervallen nu ook na een wachtwoordwijziging","items":[{"num":"v27.07","type":"security","title":"Wachtwoord-reset en overal-uitloggen trekken ook API-koppelingen in","problem":"Een gekoppelde externe app bleef geldig na een wachtwoordwijziging of na overal-uitloggen, zolang de gebruiker actief bleef. Alleen bij deactivatie of verwijdering verviel de koppeling meteen.","solution":"Elke API-koppeling is nu gebonden aan de sessie-versie van de gebruiker: een wachtwoordwijziging, wachtwoord-reset of overal-uitloggen laat alle gekoppelde apps direct vervallen, precies zoals je portaal-sessies. Actieve, ongewijzigde koppelingen blijven gewoon werken."}]},{"date":"2026-08-24","version":"v27.06","clV":"v0.939","title":"Klantprofiel: eerlijker signaal en strakkere kaarten","items":[{"num":"v27.06","type":"bugfix","title":"Geen onterecht \"geen posts\"-signaal meer voor Metricool-klanten","problem":"De gezondheidsscore keek alleen naar de ingebouwde planner. Een klant die via Metricool publiceert kreeg daardoor onterecht het signaal \"Nog geen gepubliceerde posts\" en een lager cijfer.","solution":"Voor klanten die via Metricool plannen wordt het publicatie-signaal overgeslagen â liever geen signaal dan een fout signaal. De overige signalen (facturen, taken, activiteit) blijven gewoon meetellen."},{"num":"v27.05","type":"polish","title":"Overzichtskaarten op gelijke hoogte","problem":"De drie infokaarten op het klantprofiel hadden verschillende hoogtes, wat rommelig oogde.","solution":"De kaarten in de rij zijn nu gelijk hoog."},{"num":"v27.04","type":"feature","title":"Komende content toont het post-type (Reel, Story, â¦)","problem":"In het \"Komende content\"-blok kon je niet zien of een geplande publicatie een gewone post, een reel of een story was â vooral bij stories zonder tekst bleef de regel nietszeggend.","solution":"Naast de platform-iconen staat nu een klein type-label bij afwijkende vormen (Reel, Story, Video, Shorts, Carrousel). Geen label betekent een gewone post."},{"num":"v27.03","type":"polish","title":"Franse teksten: doelgroep gelijkgetrokken naar marketing","problem":"Op een aantal Franse plekken (FAQ, white-label-pagina, nieuwsbrief, demodata) stond nog de oude doelgroep-term \"agence social media\" terwijl Nederlands, Engels en Duits al \"marketingbureau\" gebruikten.","solution":"De Franse doelgroep-omschrijving is overal gelijkgetrokken naar \"agence marketing\", consistent met de andere talen."},{"num":"v27.02","type":"bugfix","title":"Mails aan klanten en boekers in hun eigen taal","problem":"Sommige e-mails naar mensen zonder eigen account (boekingsbevestigingen en -herinneringen, nieuwsbrief-welkom, factuur-ontvangers) kwamen standaard in het Engels, ook als de ontvanger de pagina in het Nederlands, Duits of Frans gebruikte.","solution":"De taalbepaling kijkt nu ook naar de klant-administratie, boekers krijgen mails in de taal van de boeking-pagina (opgeslagen bij de boeking), uitnodigingen volgen de taal van de uitnodigende partner en de nieuwsbrief-welkom volgt de taal van de bezoeker."}]}
2,{"date":"2026-08-23","version":"v27.01","clV":"v0.937","title":"Franse Academy-teksten: accenten hersteld","items":[{"num":"v27.01","type":"bugfix","title":"Ontbrekende accenten in de Franse Academy hersteld","problem":"In de Franse Academy-lesteksten ontbraken op sommige plekken accenten (bijvoorbeeld reservation i.p.v. réservation, meme i.p.v. même) â een gevolg van een eerdere tekstverwerking.","solution":"133 woorden voorzien van de juiste accenten, zodat de Franse lesteksten weer correct gespeld zijn."}]},{"date":"2026-08-23","version":"v27.00","clV":"v0.935","title":"Duitse en Franse teksten verder opgeschoond","items":[{"num":"v27.00","type":"polish","title":"Kwaliteitscorrecties in het Duits en Frans","problem":"Een tweede vertaalaudit vond in de Duitse en Franse teksten nog losse foutjes: ontbrekende umlauts, losse formele aanspreekvormen tussen de informele, en enkele minder natuurlijke formuleringen.","solution":"144 Duitse en Franse teksten gecorrigeerd (umlauts hersteld, aanspreekvorm consistent gemaakt, formuleringen verbeterd). Alle vier de talen blijven op exact dezelfde sleutelset."}]}
2,{"date":"2026-08-23","version":"v26.99","clV":"v0.934","title":"Foutmeldingen van de API nu meertalig","items":[{"num":"v26.99","type":"bugfix","title":"Systeemmeldingen in de juiste taal","problem":"Bij een foutmelding (iets niet gevonden, geen toegang, ongeldige invoer) verscheen de melding altijd in het Nederlands, ook voor Engelse, Duitse en Franse gebruikers, en zelfs voor buitenlandse bezoekers op de publieke boekingspagina.","solution":"De meest voorkomende foutmeldingen, verspreid over honderden plekken in het platform, bepalen nu automatisch de juiste taal en verschijnen in het Nederlands, Engels, Duits of Frans."}]},{"date":"2026-08-23","version":"v26.98","clV":"v0.933","title":"Figma-integratie live + logo-fixes","items":[{"num":"v26.98","type":"feature","title":"Figma nu voor iedereen koppelbaar","problem":"De Figma-koppeling stond op \"In beoordeling\" zolang de app nog door Figma gecontroleerd werd.","solution":"Figma heeft de app goedgekeurd (publiek beschikbaar). De tegel onder Designs is nu een gewone one-click-koppeling: verbind je eigen Figma en bekijk je design-bestanden."},{"num":"v26.97","type":"bugfix","title":"Integraties in beoordeling blijven bereikbaar","problem":"Integraties met status \"In beoordeling\" waren niet klikbaar, waardoor de reviewer van de provider de koppel-flow niet kon testen.","solution":"Zulke tegels zijn nu volledig koppelbaar â alleen de \"In beoordeling\"-badge blijft zichtbaar. Alleen echte roadmap-tegels (\"Binnenkort\") blijven niet-klikbaar."},{"num":"v26.96","type":"bugfix","title":"Ontbrekende integratie-logoâs hersteld","problem":"De tegels voor IMAP/SMTP, ActiveCampaign en Brevo toonden een kapotte-afbeelding-icoon omdat er geen logo-bestand was.","solution":"Alle integratietegels hebben nu een net logo â geen kapotte afbeeldingen meer in het integratie-overzicht."},{"num":"v26.95","type":"bugfix","title":"Maandupdate-mails tonen de juiste maand rond de maandwissel","problem":"Een campagne met {{maand}}/{{jaar}} die laat op de laatste dag van de maand werd verstuurd, kon door de servertijd (UTC) nog de vorige maand tonen.","solution":"De maand en het jaar worden nu berekend in de tijdzone van je bureau, zodat een mail die net voor middernacht uitgaat toch de juiste maand toont."},{"num":"v26.94","type":"feature","title":"E-mailmelding als een gekoppelde mailbox losraakt","problem":"Raakte een gekoppelde mailbox de verbinding kwijt, dan zag je dat alleen in het portaal â een bureau-eigenaar die niet inlogt miste het en merkte pas later dat er geen mail meer verstuurd of ontvangen werd.","solution":"Je krijgt nu automatisch een e-mail (in je eigen taal) met de losgeraakte mailbox(en) en een knop om opnieuw te koppelen. De melding herhaalt pas na een paar dagen zolang het probleem aanhoudt, en stopt zodra je hersteld hebt."},{"num":"v26.93","type":"bugfix","title":"Activiteitenfeed doet het weer","problem":"De activiteitenpagina en de activiteiten-ticker bleven leeg: een eerdere optimalisatie gebruikte een databasekoppeling die op de activiteitentabel niet bestaat, waardoor elke bureau-brede opvraging stil faalde.","solution":"De opvraging werkt weer op de manier die de tabel wel ondersteunt (met een veiligheidslimiet), zodat de feed en de ticker weer gewoon vullen."},{"num":"v26.92","type":"feature","title":"Klantprofiel: overzichtskaarten met gezondheid, geld, content en koppelingen","problem":"Het klantprofiel-overzicht toonde vooral vaste gegevens; voor de actuele stand (facturen, geplande posts, kapotte koppelingen) moest je losse tabs of andere paginaâs langs.","solution":"Bovenaan het overzicht staan nu een gezondheidsscore met uitleg, het openstaande factuurbedrag (alleen met financiële rechten), de eerstvolgende geplande posts en de status van alle gekoppelde social-accounts â met een directe \"opnieuw koppelen\"-link als een koppeling verlopen is."},{"num":"v26.91","type":"bugfix","title":"Taken met meerdere klanten tellen en werken nu op elk gekoppeld klantprofiel","problem":"Een taak die aan meerdere klanten hing, was alleen zichtbaar op het profiel van de hoofdklant â en de accountmanager van een extra klant kon zoân taak niet afvinken.","solution":"De taak verschijnt nu op elk gekoppeld klantprofiel, telt mee in de open-taken-teller, en de accountmanager van elke gekoppelde klant kan hem gewoon afvinken en bewerken."},{"num":"v26.90","type":"feature","title":"Klantprofiel: recente e-mail en campagnes direct op het overzicht","problem":"Om de mailwisseling met een klant te zien moest je naar de mailmodule en daar handmatig op de klant filteren.","solution":"Het klantprofiel toont nu de recentste gesprekken met de klant (uit je eigen gekoppelde mailboxen, met ongelezen-markering) plus de laatste campagne-verzendingen â met één klik door naar de volledige, voorgefilterde inbox. Inclusief duidelijke meldingen als er nog geen contact-adres of mailbox is ingesteld."},{"num":"v26.89","type":"feature","title":"Klant-tijdlijn met filters â en gepubliceerde posts verschijnen er nu in","problem":"De activiteiten-tijdlijn op het klantprofiel liet publicaties niet zien (die werden nergens vastgelegd) en je kon niet filteren op wat je zocht.","solution":"Geplande posts leggen nu vast wanneer ze gepubliceerd zijn of mislukt zijn, zodat het complete verhaal per klant in de tijdlijn staat. Bovenaan de tijdlijn kun je nu filteren op Content, Financieel of Taken â of alles tegelijk bekijken."},{"num":"v26.88","type":"feature","title":"Klantprofiel wijst nu zelf aan wat aandac
2ht nodig heeft","problem":"Signalen als een openstaande factuur, lang geen geplande posts of een verlopen koppeling moest je zelf uit de losse onderdelen opmaken.","solution":"Bovenaan het klantprofiel staat nu een \"Aandacht nodig\"-strip die deze signalen samenvat, elk met een knop die je direct naar de juiste plek brengt om het op te lossen. Daarnaast zijn er snelle acties om meteen een mail te sturen, een taak te openen of naar de facturen te springen."},{"num":"v26.87","type":"polish","title":"Klantprofiel-overzicht compacter","problem":"De nieuwe overzichtsblokken (signalen, statuskaarten, content/koppelingen/e-mail) namen samen veel verticale ruimte in voor weinig inhoud.","solution":"De signalen staan nu op één dunne regel, de drie infokaarten staan naast elkaar in één rij, en de kaarten en tussenruimtes zijn strakker â hetzelfde overzicht op ruwweg de helft van de hoogte."},{"num":"v26.86","type":"bugfix","title":"Klantprofiel: komende content en koppelingen tonen nu de juiste bron","problem":"De overzichtskaarten lazen alleen de native planner: \"Komende content\" toonde \"geen posts\" terwijl er via Metricool wél posts gepland stonden, en \"Koppelingen\" toonde soms een losse koppeling die niet strookte met de accounts in de Kanalen-tab.","solution":"Beide kaarten lezen nu dezelfde bron als de Content- en Kanalen-tabs: content komt uit Metricool als de klant dat gebruikt (anders de native planner), en koppelingen tonen de daadwerkelijk beheerde social-accounts met hun echte status."}]},{"date":"2026-08-21","version":"v26.85","clV":"v0.932","title":"Koppel-kaart van integraties nu meertalig","items":[{"num":"v26.85","type":"bugfix","title":"Connect-tekst en -knop van elke integratie in de juiste taal","problem":"Op de koppelpagina van elke integratie stonden de uitleg onder de status (\"Koppel je eigen â¦\") en de connect-knop (\"Koppel â¦\") nog in het Nederlands, ook voor Engelse, Duitse en Franse gebruikers.","solution":"De connect-tekst, de connect-knop, de melding voor super-admins zonder bureau en de foutmeldingen van de gedeelde koppel-kaart lopen nu via het vertaalsysteem â correct in alle vier de talen, voor alle integraties tegelijk."}]},{"date":"2026-08-21","version":"v26.84","clV":"v0.931","title":"Teamwork-integratie toegevoegd","items":[{"num":"v26.84","type":"feature","title":"Teamwork koppelen","problem":"Bureaus die Teamwork gebruiken voor projectbeheer konden hun taken nog niet aan Senly koppelen.","solution":"Teamwork is nu een koppeling met één klik, te vinden onder Taken: verbind je eigen account en importeer je toegewezen taken in Senly. De dagelijkse synchronisatie houdt ze automatisch bij."},{"num":"v26.83","type":"polish","title":"E-mail: vensters houden nu toetsenbord-focus vast","problem":"In de opstel-, sjabloon-, gepland- en sluimer-vensters kon de Tab-toets naar de pagina erachter springen, en na sluiten bleef de focus niet op de knop die het venster opende.","solution":"Deze vensters vangen de focus nu netjes (Tab blijft binnen), zetten na sluiten de focus terug op de openende knop en vergrendelen de achtergrond-scroll â vooral prettig voor toetsenbord- en schermlezer-gebruikers."},{"num":"v26.82","type":"polish","title":"Duidelijker integratie-statussen","problem":"Sommige integraties stonden als \"beschikbaar\" terwijl ze nog niet voor iedereen bruikbaar waren.","solution":"Integraties die nog door de review van de provider moeten (zoals Figma en Teamwork) tonen nu een aparte \"In beoordeling\"-status, en integraties zonder actieve koppeling staan weer op \"Binnenkort\" â zo klopt de status met wat je daadwerkelijk kunt koppelen."},{"num":"v26.81","type":"polish","title":"E-mail: opslaan-knop toont weer een label","problem":"De \"Concept opslaan\"-knop in het opstel-venster toonde per ongeluk een technische sleutel in plaats van tekst.","solution":"De knop toont nu weer een net label, in alle vier de talen."},{"num":"v26.80","type":"bugfix","title":"Koppeling afronden zonder login-omweg","problem":"Na het goedkeuren van een integratie-koppeling kon je in sommige gevallen op de inlogpagina belanden i.p.v. een bevestiging.","solution":"Na de koppeling zie je nu altijd een nette bevestigingspagina; ben je ingelogd, dan ga je meteen door naar het integratie-overzicht."}]},{"date":"2026-08-20","version":"v26.79","clV":"v0.930","title":"Diepe security-audit: 27 auth- en toegangsfixes","items":[{"num":"v26.79","type":"security","title":"Externe API (koppelingen) respecteert nu je rol en rechten","problem":"De publieke API die externe apps via een koppeling gebruiken, controleerde alleen de organisatie, niet de rol van de gekoppelde gebruiker. Daardoor kon een medewerker met een beperkte rol via een koppeling toch de hele klantenlijst, leads en zelfs omzetcijfers ophalen.","solution":"De API past nu exact dezelfde rol- en toewijzingsregels toe als het portaal zelf: een accountmanager ziet via een koppeling alleen zijn eigen toegewezen klanten, en financiele data alleen met de juiste rechten. Beheerder-koppelingen blijven ongewijzigd werken."},{"num":"v26.78","type":"security","title":"Koppelingen van gedeactiveerde medewerkers vervallen direct","problem":"Als een medewerker werd gedeactiveerd of verwijderd, kon een eerder gemaakte koppeling naar een externe app nog tot 60 dagen toegang houden.","solution":"Bij deactivatie of verwijdering verliest elke gekoppelde app nu meteen toegang, net als bij direct uitloggen uit het portaal."},{"num":"v26.77","type":"security","title":"Strakkere toegangscontrole op klantonderdelen en dashboards","problem":"Een reeks klant-subonderdelen (koppelingen, concurrenten, feeds, Google Drive-bestanden, Canva-bulk, taken) en twee dashboard-widgets controleerden de toewijzing van een accountmanager niet consequent.","solution":"Deze onderdelen dwingen nu overal dezelfde manager-toewijzing en rol-rechten af, zodat je alleen data van je eigen klanten ziet en muteert."},{"num":"v26.76","type":"security","title":"Domein-, login- en herstelbeveiliging aangescherpt","problem":"Een organisatie kon een gereserveerd platformdomein
2instellen als eigen portaaldomein, en een aantal inlog- en wachtwoordherstelstappen was minder goed beveiligd dan gewenst.","solution":"Gereserveerde domeinen worden nu geweigerd, en de inlog-, tweestapsverificatie- en herstelstappen zijn steviger beveiligd. Belangrijke beheeracties worden voortaan ook vastgelegd."}]},{"date":"2026-08-20","version":"v26.75","clV":"v0.929","title":"Hootsuite-integratie toegevoegd","items":[{"num":"v26.75","type":"feature","title":"Hootsuite koppelen","problem":"Bureaus die Hootsuite gebruiken voor social media konden hun account nog niet aan Senly koppelen.","solution":"Hootsuite is nu een koppeling met één klik, te vinden onder Content-kalender: verbind je eigen account en bekijk je gekoppelde social-profielen direct in het portaal (alleen lezen)."},{"num":"v26.74","type":"bugfix","title":"E-mailcampagnes: geen dubbele mail meer bij hervatten","problem":"Brak een campagne-verzending halverwege af (bijv. door een herstart) en werd die automatisch hervat, dan kon een ontvanger in een zeldzaam grensgeval dezelfde mail twee keer krijgen.","solution":"Elke campagne-mail krijgt nu een vaste, herleidbare Message-ID per ontvanger. Bij een hervatting is die identiek, waardoor de mailclient van de ontvanger de duplicaat samenvouwt in plaats van dubbel te tonen."}]},{"date":"2026-08-20","version":"v26.73","clV":"v0.928","title":"Mollie-integratie toegevoegd","items":[{"num":"v26.73","type":"feature","title":"Mollie koppelen","problem":"Bureaus die Mollie gebruiken voor betalingen konden hun eigen account nog niet aan Senly koppelen.","solution":"Mollie is nu een koppeling met één klik, te vinden onder Financieel: verbind je eigen account en bekijk je recente betalingen, met status en bedrag, direct in het portaal (alleen lezen)."}]},{"date":"2026-08-20","version":"v26.72","clV":"v0.927","title":"Klantstatus wordt teruggeschreven naar je CRM","items":[{"num":"v26.72","type":"feature","title":"Actief/inactief-status als notitie in de CRM","problem":"Als je een klant in Senly op actief of inactief zette, wist je gekoppelde CRM daar niets van.","solution":"Bij een statuswijziging plaatst Senly nu automatisch een notitie op het gekoppelde CRM-record (Salesforce en Pipedrive) â bijvoorbeeld \"klant gemarkeerd als Inactief\". Niet-destructief: het overschrijft geen velden in je CRM. HubSpot volgt zodra de koppeling schrijftoegang krijgt (opnieuw koppelen)."}]},{"date":"2026-08-20","version":"v26.71","clV":"v0.926","title":"Kapotte mailbox-koppeling wordt nu actief gesignaleerd","items":[{"num":"v26.71","type":"feature","title":"Melding en monitoring bij een verlopen mailbox-koppeling","problem":"Als de koppeling met een e-mailbox verliep of werd ingetrokken, bleef dat behalve in het mailscherm verder onopgemerkt â er was geen signaal in de activiteitenfeed en beheer kon het niet centraal zien.","solution":"Een verlopen mailbox-koppeling verschijnt nu in de activiteitenfeed van het bureau en in het centrale integratie-overzicht, zodat het snel opgepakt kan worden."}]},{"date":"2026-08-20","version":"v26.70","clV":"v0.925","title":"Grote codebase-audit: 59 bevestigde bugs opgelost","items":[{"num":"v26.70","type":"security","title":"Koppel- en toegangsflows verhard","problem":"Het toestemmingsscherm bij het koppelen van een externe app kon vastlopen, en een medewerker met beperkte klanttoegang kon in een paar gevallen toch bij gegevens van klanten buiten zijn toewijzing.","solution":"Het toestemmingsscherm werkt weer normaal, en de toegang van medewerkers met een beperkte rol is aangescherpt bij financiële bulkacties, verwijderen, concurrent-statistieken, trackerdownloads en taken."},{"num":"v26.69","type":"bugfix","title":"Facturatie en bankverwerking kloppen weer","problem":"In randgevallen kon een affiliate na een afgebroken uitbetaling dubbel worden betaald, kon een conceptfactuur op betaald worden gezet zonder factuurnummer, en werd bij een handmatige bankmatch de valuta niet gecontroleerd.","solution":"Uitbetalingen worden nu geverifieerd voordat ze opnieuw draaien, concepten kunnen niet meer als betaald worden geboekt, en handmatige bankmatches met een afwijkende valuta worden geweigerd. Ook de MT940-import en meerdere geldberekeningen zijn gecorrigeerd."},{"num":"v26.68","type":"bugfix","title":"Publieke boekingspagina blijft niet meer hangen","problem":"Als een gekoppelde agenda traag reageerde, kon de beschikbaarheids- en boekingspagina blijven laden, en werden geldige tijdslots op de dag van een zomer-/wintertijdovergang soms geweigerd.","solution":"Externe agenda-aanvragen krijgen nu een time-out, en de slotcontrole houdt rekening met tijdzone-overgangen."},{"num":"v26.67","type":"performance","title":"Grote klantenbestanden en achtergrondtaken schalen beter","problem":"Enkele lijsten en dagelijkse taken laadden alle rijen tegelijk in het geheugen of deden per rij een aparte query, wat traag werd bij grote tenants.","solution":"Deze zijn begrensd en gebundeld, zodat ze snel blijven ongeacht de omvang van het account."},{"num":"v26.66","type":"bugfix","title":"Diverse correctheidsfouten opgelost","problem":"De support-assistent kon soms onterecht doorschakelen naar een medewerker, AI-inzichten konden in de verkeerde taal blijven hangen, agenda-exports konden misvormd raken, en een automatische herhalende taak kon vaker draaien dan bedoeld.","solution":"Al deze gevallen zijn gecorrigeerd, samen met een reeks kleinere verbeteringen rond tijdzones, invoercontrole en foutafhandeling."},{"num":"v26.65","type":"security","title":"Robuustere foutafhandeling bij externe diensten","problem":"Een tijdelijke storing bij een AI- of koppelingsprovider kon leiden tot onnodige foutmeldingen, stille dataverlies-scenarios of herhaalde pogingen.","solution":"Tijdelijke fouten worden nu netjes opgevangen, herprobeerd of overgeslagen zonder de dag te verbruiken, en verlopen koppelingen worden niet meer onterecht als permanent kapot gemarkeerd."}]},{"date":"2026-08-20","version":"v26.64","clV":"v0.924","title":"E-mail: laatste audit-punten â privacy, leesbaarheid en robuustheid","items":[{"num":"v26.64","type":"bugfix","title":"Buitenlandse tekens in Gmail-berichten weer leesbaar","problem":"E-mails in een niet-standaard tekenset (veel Europese/oudere mail) konden accenten en speciale tekens als vraagteken-ruitjes tonen.","solution":"De tekenset van elk bericht wordt nu correct herkend en gedecodeerd."},{"num":"v26.63","type":"security","title":"Extra bescherming rond de afbeelding-proxy en bounce-verwerking","problem":"Bij het laden van externe afbeeldingen kon in een uitzonderingsgeval gevoelige informatie meelekken naar een andere server, en meldingen dat een e-mail niet aankwam (een bounce) konden in theorie dubbel verwerkt worden.","solution":"Gevoelige informatie wordt nu nooit meer meegestuurd bij een omleiding, en verouderde of herhaalde bounce-meldingen worden geweigerd. Een mislukte verwerking van zo'n melding wordt netjes opnieuw geprobeerd."},{"num":"v26.62","type":"polish","title":"Toegankelijkheid en contrast van e-mailmeldingen verbeterd","problem":"De verzend-status werd niet voorgelezen door schermlezers en had in donkere modus te weinig contrast; enkele knoppen misten een label.","solution":"Meldingen worden nu aangekondigd, gebruiken thema-bewuste kleuren, en de ontbrekende knoplabels zijn toegevoegd."}]},{"date":"2026-08-20","version":"v26.61","clV":"v0.923","title":"Automatisch leads binnenhalen uit CRM en Typeform","items":[{"num":"v26.61","type":"feature","title":"Auto-import van nieuwe leads","problem":"Nieuwe contacten uit je CRM (Pipedrive, HubSpot, Salesforce) en Typeform-inzendingen moesten handmatig geïmporteerd worden met de \"Importeer\"-knop.","solution":"Zet op de CRM-integratiepagina \"Automatisch nieuwe leads importeren\" aan en kies een doel-pipeline. De dagelijkse sync haalt dan automatisch nieuwe contacten en formulier-inzendingen als leads binnen (dubbele worden overgeslagen). Uit = het oude gedrag: bestaande leads alleen verversen."}]},{"date":"2026-08-20","version":"v26.60","clV":"v0.922","title":"Meer meldingen, en per kanaal instelbaar","items":[{"num":"v26.60","type":"feature","title":"Meldingen voor nieuwe klanten en boekingen","problem":"Slack/Discord/Teams stuurden alleen bij een nieuwe lead, afgeronde taak of betaalde factuur â niet bij een nieuwe klant of een geboekte meeting.","solution":"Er komen nu ook meldingen binnen bij een nieuwe klant en bij een nieuwe boeking op je afspraakpagina."},{"num":"v26.59","type":"feature","title":"Kies per kanaal welke meldingen je krijgt","problem":"Elk gekoppeld kanaal kreeg altijd álle meldingen â je kon niet kiezen.","solution":"Op de meldingen-integratiepagina kun je nu per kanaal (Slack, Discord, Teams) aanvinken welke gebeurtenisse
2n je wilt ontvangen: nieuwe lead, taak afgerond, factuur betaald, nieuwe klant en meeting geboekt."}]},{"date":"2026-08-20","version":"v26.58","clV":"v0.921","title":"E-mail: sneller scrollen en zwaardere lijsten","items":[{"num":"v26.58","type":"performance","title":"Gmail-postvak laadt sneller bij diep doorscrollen","problem":"Bij een Gmail-koppeling werd elke keer dat je verder scrolde de volledige lijst opnieuw opgehaald, wat traag werd en tegen Google-limieten aan kon lopen.","solution":"Het postvak laadt nu per pagina alleen de volgende berichten, zodat doorscrollen snel en licht blijft â ook bij duizenden e-mails."},{"num":"v26.57","type":"performance","title":"Campagne-statistieken en grote lijsten geoptimaliseerd","problem":"De statistieken-tegel en enkele achtergrondtaken haalden bij grote bureaus onnodig veel gegevens op.","solution":"Deze berekeningen gebeuren nu in de database zelf, met betere indexering â sneller en zonder geheugenpieken."}]},{"date":"2026-08-20","version":"v26.56","clV":"v0.920","title":"E-mailmarketing-cijfers op je dashboard","items":[{"num":"v26.56","type":"feature","title":"Dashboard-widget voor e-mailmarketing","problem":"Je Mailchimp- of Klaviyo-cijfers stonden alleen op de integratiepagina â niet op het dashboard waar je dagelijks kijkt.","solution":"Nieuwe dashboard-widget met je e-mailmarketing-KPIâs (leden, open- en klik-rate, campagnes). De widget verschijnt in de widget-kiezer zodra je Mailchimp of Klaviyo hebt gekoppeld â en blijft verborgen zolang er geen koppeling is."},{"num":"v26.55","type":"feature","title":"Dashboard-widget voor facturen","problem":"Je openstaande bedragen en te-late facturen uit Moneybird, Xero of QuickBooks waren alleen op de integratiepagina te zien.","solution":"Nieuwe dashboard-widget met openstaand bedrag, aantal te-late facturen en totaal facturen. Verschijnt in de widget-kiezer zodra je een boekhoudkoppeling hebt â en alleen voor gebruikers die financiële cijfers mogen zien."}]},{"date":"2026-08-20","version":"v26.54","clV":"v0.919","title":"E-mail: vier belangrijke fixes na diepere audit","items":[{"num":"v26.54","type":"security","title":"Beveiligingslek bij doorsturen gedicht","problem":"Bij het doorsturen van een e-mail werd de originele mailinhoud onvoldoende opgeschoond, waardoor een kwaadaardige mail in theorie code kon uitvoeren zodra je op Doorsturen klikte.","solution":"Alle inhoud die in de tekst-editor wordt geladen wordt nu eerst volledig ontdaan van uitvoerbare code."},{"num":"v26.53","type":"bugfix","title":"Verzenden blokkeerde soms na een foutmelding","problem":"Na bijvoorbeeld \"Doorsturen zonder ontvanger\" kon de verzendknop de rest van de sessie stil geblokkeerd raken, ook nadat je het adres had ingevuld.","solution":"De interne verzend-vergrendeling wordt nu correct vrijgegeven bij elke validatie-melding."},{"num":"v26.52","type":"bugfix","title":"Grote campagne wordt nu volledig verzonden","problem":"Een handmatig verzonden campagne naar meer dan 75 ontvangers stopte stil na de eerste 75 en toonde toch een geslaagd-melding, waardoor de overige ontvangers niets kregen.","solution":"De resterende ontvangers worden nu automatisch via de wachtrij verstuurd, en de melding laat zien dat de rest nog volgt."},{"num":"v26.51","type":"bugfix","title":"Klantenlijst niet meer per ongeluk geblokkeerd bij een mailbox-storing","problem":"Als de eigen mailbox-inlog van een bureau kapot was, werd bij een campagne de hele klantenlijst ten onrechte als \"onbestelbaar\" gemarkeerd en overgeslagen bij volgende campagnes.","solution":"Inlog-/rechtenfouten van de afzender worden nu onderscheiden van echte onbestelbare adressen; alleen die laatste worden geblokkeerd."},{"num":"v26.50","type":"bugfix","title":"Grote bijlagen via Gmail worden niet meer afgebroken","problem":"Een e-mail met een grote bijlage (10-15 MB) via een Gmail-koppeling kon op een tragere verbinding voortijdig afbreken met een verzendfout.","solution":"De verzending krijgt nu ruim de tijd om grote bijlagen te uploaden."},{"num":"v26.49","type":"bugfix","title":"Klant-gesprek en Met ster tonen nu alle e-mails (IMAP)","problem":"Bij IMAP-mailboxen kon de klant-conversatie- en Met ster-weergave bij doorscrollen oudere e-mails overslaan of dubbel tonen.","solution":"De doorlaadlogica voor deze weergaven is gecorrigeerd, zodat elke e-mail precies één keer verschijnt."},{"num":"v26.48","type":"security","title":"Meer verborgen trackers in e-mails geblokkeerd","problem":"Sommige tracking-technieken in e-mails (via stijl-imports en achtergrond-afbeeldingen) werden nog niet tegengehouden, waardoor de afzender kon zien wanneer je een mail opende.","solution":"Deze extra tracking-vormen worden nu ook geneutraliseerd bij het openen van een e-mail."},{"num":"v26.47","type":"feature","title":"Duidelijke melding als een mailbox opnieuw gekoppeld moet worden","problem":"Als de koppeling met een mailbox verliep of werd ingetrokken, kreeg je alleen een algemene foutmelding â niet te onderscheiden van een tijdelijke storing, en zonder duidelijke vervolgstap.","solution":"Een verlopen koppeling toont nu een aparte melding met een directe \"opnieuw koppelen\"-link, en herstelt zichzelf zodra je de mailbox opnieuw koppelt."},{"num":"v26.46","type":"bugfix","title":"Nieuwsbrief en campagnes robuuster tegen dubbele verzending","problem":"Bij een tijdelijke hapering kon de wekelijkse nieuwsbrief in het slechtste geval opnieuw naar dezelfde ontvangers gaan, en konden vastgelopen campagnes blijven hangen.","solution":"De nieuwsbrief verstuurt elke taal-editie nog maar één keer per week, en vastgelopen campagnes worden nu automatisch en veilig hervat zonder dubbele mails."}]},{"date":"2026-08-20","version":"v26.45","clV":"v0.917","title":"QuickBooks-integratie toegevoegd","items":[{"num":"v26.45","type":"feature","title":"QuickBooks Online koppelen","problem":"Bureaus die QuickBooks Online gebruiken voor hun (internationale) boekhouding konden hun eigen account nog niet aan Senly koppelen.","solution":"QuickBooks is nu een koppeling met één klik, te vinden onder Financieel: verbind je eigen QuickBooks Online-account en bekijk je verkoopfacturen, met status en bedrag, direct in het portaal (alleen lezen)."}]},{"date":"2026-08-20","version":"v26.44","clV":"v0.912","title":"Server-schermen en paginatitels meertalig","items":[{"num":"v26.44","type":"polish","title":"Profiel-, klant- en overige serverschermen vertaald","problem":"Enkele server-gerenderde schermen (het profielscherm, de klantpagina, gerelateerde blogposts en een paar paginatitels) bevatten nog Nederlandse teksten die niet meebewogen met de taalkeuze.","solution":"Deze schermen bepalen nu server-side de juiste taal en tonen hun teksten en paginatitels in het Nederlands, Engels, Duits of Frans."}]},{"date":"2026-08-20","version":"v26.43","clV":"v0.911","title":"Integratie-koppelingen en laatste dashboard-schermen vertaald","items":[{"num":"v26.43","type":"polish","title":"Integratie-hub en resterende beheerschermen meertalig","problem":"De koppelsecties (Slack, Teams, Discord, Moneybird, Metricool, OneDrive, opslag), het beheer van gekoppelde externe apps, de invoer van aangepaste velden en de omschrijvingen van alle integraties in de integratie-hub stonden nog in het Nederlands.","solution":"Alle zichtbare teksten in deze onderdelen lopen nu via het centrale vertaalsysteem, met correcte teksten in het Nederlands, Engels, Duits en Frans."}]},{"date":"2026-08-20","version":"v26.42","clV":"v0.910","title":"Losstaande tools en dashboard-schermen verder vertaald","items":[{"num":"v26.42","type":"polish","title":"Tools en overzichten volledig meertalig","problem":"De urenregistratie, het partner-klantenscherm, de klant-secties, het affiliate-facturenoverzicht en een reeks losstaande tools (carrousel-splitser, gebruikersnaam-, bio- en spraakmemo-generatoren, de downloaders en de limiet-checker) bevatten nog Nederlandse teksten â sommige met hun eigen losse vertaallijst.","solution":"Alle zichtbare teksten in deze onderdelen lopen nu via één centraal vertaalsysteem, correct in het Nederlands, Engels, Duits en Frans."},{"num":"v26.41","type":"polish","title":"Integratie-tegels volledig meertalig","problem":"De korte omschrijving onder elke integratie (Slack, Figma, Moneybird, HubSpot en tientallen andere) op de integratie-hub en categoriepaginas stond n
2og vast in het Nederlands.","solution":"Alle provider-omschrijvingen op de tegels en provider-detailkoppen lopen nu via het centrale vertaalsysteem â correct in Nederlands, Engels, Duits en Frans."},{"num":"v26.40","type":"feature","title":"Klaviyo-integratie toegevoegd","problem":"Bureaus die Klaviyo gebruiken voor e-mail- en sms-marketing konden hun eigen account nog niet aan Senly koppelen.","solution":"Klaviyo is nu een koppeling met één klik, te vinden onder E-mailmarketing: verbind je eigen account en bekijk je lijsten en recente campagnes in het portaal. Alleen lezen: er wordt niets aangepast in Klaviyo."}]},{"date":"2026-08-20","version":"v26.39","clV":"v0.909","title":"E-mailmodule grondig nagelopen en verbeterd","items":[{"num":"v26.39","type":"bugfix","title":"Doorsturen behoudt nu de originele mail","problem":"Bij \"Doorsturen\" verdween de geciteerde originele mail soms uit het opstelvenster, waardoor de ontvanger een lege doorstuurmail kon krijgen.","solution":"De originele inhoud wordt nu correct in het opstelvenster geladen en meegestuurd."},{"num":"v26.38","type":"bugfix","title":"Gelezen e-mails tellen nu direct mee in de teller","problem":"Een geopende mail werd pas als gelezen opgeslagen bij het wisselen van map, waardoor de ongelezen-teller in de zijbalk bleef hangen.","solution":"Mails worden nu ook als gelezen gemarkeerd bij het wisselen van filter, wegnavigeren of sluiten van het tabblad; de teller klopt daardoor."},{"num":"v26.37","type":"bugfix","title":"Geen dubbele mails meer bij snel dubbelklikken","problem":"Twee keer snel op \"Verzenden\" klikken kon dezelfde e-mail twee keer versturen.","solution":"Verzenden wordt nu direct geblokkeerd na de eerste klik."},{"num":"v26.36","type":"bugfix","title":"Bijladen in \"Alle inboxen\" mist geen mails meer","problem":"Bij het doorscrollen door meerdere gekoppelde mailboxen tegelijk konden berichten uit de lijst wegvallen.","solution":"Elke mailbox wordt nu onafhankelijk doorgeladen, zodat alle mails verschijnen."},{"num":"v26.35","type":"polish","title":"Nette lege-staat bij zoeken zonder resultaat","problem":"Een zoekopdracht zonder resultaten toonde \"Postvak IN is leeg\" in plaats van een zoek-specifieke melding.","solution":"Bij 0 zoekresultaten verschijnt nu \"Geen resultaten voor je zoekopdracht\"."},{"num":"v26.34","type":"performance","title":"Mailmodule sneller en robuuster onder belasting","problem":"Grote mailboxen, trage providers of grote bijlagen konden de server onnodig zwaar belasten of laten hangen.","solution":"Time-outs op provider-verzoeken, begrensde gelijktijdigheid, gepagineerde ophaal-acties en een limiet op bijlage-grootte maken de module sneller en stabieler."},{"num":"v26.33","type":"polish","title":"E-mailknoppen beter toegankelijk","problem":"Sommige icoon-knoppen (archiveren, verwijderen, sluimeren) waren voor schermlezers niet benoemd, en de Gepland-/Sluimeren-vensters gingen niet dicht met Escape.","solution":"De knoppen hebben nu duidelijke labels en de vensters sluiten met Escape."}]},{"date":"2026-08-20","version":"v26.32","clV":"v0.908","title":"Planner, tools en dertien modules verder vertaald","items":[{"num":"v26.32","type":"polish","title":"Dertien extra onderdelen meertalig gemaakt","problem":"De content-planner, de trendradar en maandrapport-tools, de taken- en workflowbeheerschermen, de Mailchimp-koppeling, de overzichten van medewerkerskosten en facturatie, het partnerscherm en het contract-ondertekenformulier bevatten nog Nederlandse teksten.","solution":"Alle zichtbare teksten in deze onderdelen lopen nu via één centraal vertaalsysteem, met correcte teksten in het Nederlands, Engels, Duits en Frans."}]},{"date":"2026-08-20","version":"v26.31","clV":"v0.907","title":"Twaalf dashboard-modules nu volledig meertalig","items":[{"num":"v26.31","type":"polish","title":"Bureau-dashboard breed vertaald","problem":"Twaalf veelgebruikte onderdelen van het bureau-dashboard bevatten nog vaste Nederlandse teksten, waaronder e-mailcampagnes, de meetings-manager, de facturatie-editor, het abonnementsscherm, het CRM-bord, de link-in-bio-tool en de content-kalender-koppeling.","solution":"Alle zichtbare teksten in deze twaalf onderdelen lopen nu via het vertaalsysteem, met correcte teksten in het Nederlands, Engels, Duits en Frans."}]},{"date":"2026-08-20","version":"v26.30","clV":"v0.906","title":"E-mailtemplate-bouwer en website-inzichten meertalig","items":[{"num":"v26.30","type":"polish","title":"E-mailtemplate-bouwer en Google-inzichten-widgets vertaald","problem":"De visuele e-mailtemplate-bouwer (bloklabels, knoppen, placeholders) en de dashboard-widgets voor Google Analytics, Search Console en Bedrijfsprofiel stonden grotendeels hardcoded in het Nederlands.","solution":"Beide onderdelen lopen nu volledig via het vertaalsysteem, met correcte teksten in alle vier de talen."}]},{"date":"2026-08-20","version":"v26.29","clV":"v0.905","title":"Bankkoppeling en e-mail-editor nu meertalig","items":[{"num":"v26.29","type":"polish","title":"Bankafschrift-koppeling en tekst-editor vertaald","problem":"De bankafschrift-koppeling in de financiele module (knoppen, filters, meldingen) en de werkbalk van de e-mail-editor (Vet, Cursief, Link toevoegenâ¦) stonden hardcoded in het Nederlands en bleven zo voor Duitse, Franse en Engelse gebruikers.","solution":"Beide onderdelen lopen nu volledig via het vertaalsysteem, zodat ze in alle vier de talen kloppen."},{"num":"v26.28","type":"polish","title":"E-mail: ongelezen-teller toont 999+ in plaats van vier cijfers","problem":"De Postvak IN-teller telt ongelezen berichten over al je gek
2oppelde mailboxen samen op, wat kon oplopen tot getallen als 9098 â dat oogde alarmerend en drukte de zijbalk uit model.","solution":"Bij meer dan 999 ongelezen toont de teller nu 999+; het exacte aantal blijft zichtbaar als je met de muis over de teller gaat."}]},{"date":"2026-08-20","version":"v26.27","clV":"v0.904","title":"Feestdagnamen en marketing-teksten in juiste taal","items":[{"num":"v26.27","type":"polish","title":"Internationale feestdagen vertaald in de contentkalender","problem":"Vierentwintig internationale dagen (o.a. Werelddierendag, Werelddiabetesdag, Wereldtoiletdag) stonden in de Duitse en Franse contentkalender nog met hun Engelse naam.","solution":"Alle vierentwintig namen kregen een correcte Duitse en Franse vertaling."}]},{"date":"2026-08-20","version":"v26.26","clV":"v0.903","title":"Vertaalkwaliteit DE/FR opgeschoond na grote audit","items":[{"num":"v26.26","type":"polish","title":"Duitse en Franse teksten gecorrigeerd (encoding, register, brontaal)","problem":"In de Duitse en Franse teksten stonden kapotte tekens (umlauts en accenten), een mix van formele en informele aanspreekvormen, en een aantal teksten die nog in het Engels of Nederlands stonden.","solution":"240 teksten in het Duits en Frans zijn gecorrigeerd: tekens hersteld, aanspreekvorm consistent gemaakt, resterende teksten vertaald en de Franse typografie rechtgezet. Alle vier de talen blijven op dezelfde volledige set teksten."},{"num":"v26.25","type":"bugfix","title":"Integratie-koppelingen tonen status nu in de juiste taal","problem":"De gedeelde koppel-kaart toonde Verbonden, Niet verbonden en Loskoppelen altijd in het Nederlands, ook voor Duitse en Franse gebruikers â bij circa 23 integraties tegelijk.","solution":"De status-labels en knoppen van de integratie-kaart lopen nu via het vertaalsysteem, zodat ze in alle vier de talen kloppen."}]},{"date":"2026-08-20","version":"v26.24","clV":"v0.902","title":"Team-chat nu volledig in het Duits en Frans","items":[{"num":"v26.24","type":"polish","title":"Team-chat vertaald naar Duits en Frans","problem":"Een brede vertaalaudit over alle vier de talen (NL/EN/DE/FR) liet zien dat de volledige team-chat â polls, threads, spraakberichten, herinneringen, reacties, sjablonen, categorieen en meer â alleen in het Nederlands en Engels bestond. Duitse en Franse gebruikers zagen dit hele onderdeel in het Engels (terugval-taal).","solution":"171 ontbrekende chat-teksten aangevuld in het Duits en Frans, zodat de chat nu in alle vier de talen consistent is. Tegelijk 29 ongebruikte vertaalsleutels opgeruimd. Alle overige vertaalbronnen (publieke site, onboarding, contracten, planner) bleken al volledig gedekt."}]},{"date":"2026-08-20","version":"v26.23","clV":"v0.901","title":"Typeform-koppeling: formulier-inzendingen als leads","items":[{"num":"v26.23","type":"feature","title":"Koppel je Typeform en importeer inzendingen naar je CRM","problem":"Leads uit een Typeform-formulier moest je handmatig overtypen naar je pipeline.","solution":"Nieuwe integratie onder CRM: koppel je eigen Typeform met één klik, kies een formulier en een pipeline, en importeer de inzendingen automatisch als leads (naam, e-mail, telefoon en bedrijf worden herkend). Herhaald importeren slaat dubbele inzendingen over."}]},{"date":"2026-08-20","version":"v26.22","clV":"v0.900","title":"Security-hardening van de OAuth-provider","items":[{"num":"v26.22","type":"security","title":"Auth-server gehard na interne audit","problem":"Een grondige interne controle van de nieuwe koppelmogelijkheid voor externe apps vond een paar punten die strakker konden.","solution":"Het uitwisselen en vernieuwen van toegang gebeurt nu veilig, zonder dat dat twee keer tegelijk zou kunnen. Hergebruik van een eerder gebruikte toegangscode trekt nu alle bijbehorende toegang in, er gelden extra controles bij het koppelen van apps, en verlopen toegang wordt dagelijks automatisch opgeruimd."}]},{"date":"2026-08-20","version":"v26.21","clV":"v0.887","title":"Launchpad opent meteen bij het werk dat nog openstaat","items":[{"num":"v26.21","type":"polish","title":"Launchpad springt naar de eerste onvoltooide categorie","problem":"De Launchpad opende altijd op de eerste categorie (\"Begin hier\"), ook als je die al 100% had afgerond. Je moest dan zelf zoeken waar nog stappen openstonden.","solution":"Bij binnenkomst opent de Launchpad nu automatisch de eerste categorie die nog openstaande stappen heeft. Is alles al af, dan blijft de eerste categorie geopend. Handmatig een andere categorie kiezen kan uiteraard nog steeds."}]},{"date":"2026-08-20","version":"v26.20","clV":"v0.886","title":"Omzetgrafiek groeit nu omhoog, met stapeling en een maanddoel","items":[{"num":"v26.20","type":"polish","title":"Maandomzet-grafiek herzien: van onder naar boven + targetlijn","problem":"De balken in de maandomzetgrafiek liepen van boven naar beneden. Bij omzet voelt dat onbewust verkeerd, alsof een hogere balk slechter is of je naar kosten kijkt. Ook ontbrak een referentie om te zien of je op koers lag.","solution":"De balken groeien nu vanaf 0 euro omhoog, zoals je bij omzet verwacht. Vaste omzet vormt de basis, eenmalige opdrachten stapelen er in een andere kleur bovenop, zodat je in één oogopslag ziet hoeveel omzet structureel is. Nieuw is een instelbaar maanddoel via 'Doel instellen' boven de grafiek: dat tekent een targetlijn, zodat je meteen ziet of je op koers ligt."}]},{"date":"2026-08-20","version":"v26.19","clV":"v0.885","title":"Affiliate-pagina strakker: KPI-iconen en rustige labels","items":[{"num":"v26.19","type":"polish","title":"Affiliate-dashboard visueel gelijkgetrokken met de rest van het portaal","problem":"De affiliate-pagina gebruikte nog HOOFDLETTER-labels met brede letterspacing bij de cijfers (Klikken, Verwezen bureaus, ...) en ronde icoon-cirkels â anders dan de afgeronde icoon-chips die overal elders in het portaal staan.","solution":"De labels staan nu in gewone zinsopmaak en de icoontjes (van de KPI-cijfers én de voortgangsbalk) zijn afgeronde chips met een fijne haarlijn-ring in de huisstijl-kleur, precies zoals op de andere pagina's."}]},{"date":"2026-08-20","version":"v26.18","clV":"v0.884","title":"Partnerportaal in het rustige Apple/Linear-register","items":[{"num":"v26.18","type":"polish","title":"Partnerportaal-pagina visueel opgeschoond","problem":"De partnerportaal-pagina oogde nog \"marketing-achtig\": een brede HOOFDLETTER-eyebrow met veel letterspacing, kale KPI-kaarten met caps-labels, een facturatieblok met caps-koppen en -badge, en knoppen met een zware gloed-schaduw en zweefbeweging.","solution":"De KPI-kaarten hebben nu een icoontje per cijfer (actieve klanten, omzet, kosten, marge) in de huisstijl-kleur met nette zinsopmaak-labels. Alle HOOFDLETTER-koppen en -badges staan in gewone zinsopmaak, de knoppen zijn solide zonder gloed, en de kaart-hovers zijn rustiger. Structuur en indeling blijven gelijk."}]},{"date":"2026-08-20","version":"v26.17","clV":"v0.883","title":"Activiteit-widget laat nu zien wat er precies gewijzigd is","items":[{"num":"v26.17","type":"polish","title":"Laatste activiteit toont de concrete wijziging i.p.v. een kaal label","problem":"De \"Laatste activiteit\"-widget op het dashboard toonde alleen generieke labels als \"Klant bijgewerkt\" of \"Taak verplaatst\", met daaronder de naam van de gebruiker â je zag niet wát er veranderd was of om welke klant het ging.","solution":"De widget gebruikt nu de details die al bij elke actie worden vastgelegd: \"Klant bijgewerkt: Branche, Naam\", \"Klant bijgewerkt: Gepauzeerd\", \"Taak verplaatst: «taaknaam»\", \"Taak afgerond: «taaknaam»\". De regel eronder toont de betrokken klant én wie de actie deed. Dezelfde verrijking is gedeeld met de volledige \"Alle activiteiten\"-pagina zodat ze consistent blijven."},{"num":"v26.16","type":"polish","title":"Activiteit-widget: eigen icoon per actie + correcte tijd","problem":"Elke activiteit had hetzelfde vliegtuig-icoontje, en de tijd stond er als \"4u verlopen\" â dat is deadline-taal, terwijl het om verstreken tijd gaat.","solution":"Elk actietype heeft nu een passend icoon (potlood bij bijwerken, pijlen bij verplaatsen, vinkje bij afronden, slot bij dossier, bonnetje bij facturen, ...) in de huisstijl-kleur, en de tijd leest nu correct \"4 uur geleden\"."}]},{"date":"2026-08-19","version":"v26.15","clV":"v0.882","title":"Visuele e-mailtemplates met eigen bouwer voor campagnes","items":[{"num":"v26.15","type":"feature","title":"Echte e-mailtemplates met live previews + een visuele bouwer","problem":"De templategalerij bij e-mailcampagnes bestond uit tekstsjablonen met een emoji-icoon: geen opgemaakte mails, geen voorbeeld van hoe de mail eruit zou zien, en geen manier om zelf een opgemaakte template te maken.","solution":"De galerij toont nu vijf visuele templates (Nieuwsbrief, Maandupdate, Welkomstmail, Aankondiging, Uitnodiging) met een echte mini-preview, aan te passen in je eigen accentkleur. Elke template open je in een visuele bouwer: blokken toevoegen en herordenen met een live preview ernaast. Je gebruikt een ontwerp direct in een campagne of slaat het op als eigen template, die daarna met preview in de galerij verschijnt."},{"num":"v26.14","type":"polish","title":"Rustigere status-selector op het klantprofiel","problem":"De Actief/Gepauzeerd/Inactief-selector gebruikte felle signaalkleuren â een neon-groene gevulde knop voor Actief en fel signaal-oranje voor Gepauzeerd â die botsten met de ingetogen huisstijl.","solution":"De selector heeft nu een zachtere, ingetogen stijl: de gekozen status krijgt een subtiele getinte achtergrond met een fijn randje in plaats van een volle knalkleur. De kleuren zijn bijgesteld naar het merkpalet â teal-groen voor Actief, gedempte oker voor Gepauzeerd en verfijnd grijs voor Inactief â en blijven leesbaar in zowel light- als dark-mode."},{"num":"v26.13","type":"polish","title":"Campagne-pagina in het rustige portaal-register","problem":"De campagne-pagina had nog hoofdletter-tabelkoppen met brede letterspacing, HOOFDLETTER-status-pills, vier losse pastelkleuren op de KPI-icoontjes, een paars-cyaan gradient-icoon in de zijbalk en een gradient-knop met gloed.","solution":"Tabelkoppen en badges staan nu in gewone zinsopmaak, de status is een kalme gekleurde stip met tekst, de icoontjes volgen de huisstijl-tint (alleen de waarschuwings-KPI blijft amber) en de Nieuwe campagne-knop is een solide knop in de merkkleur."},{"num":"v26.12","type":"polish","title":"Getekende iconen bij de e-mailtemplates","problem":"De template-lijstjes (zijbalk en galerij) gebruikten emoji's (grafiekje, zwaaiende hand, krantje) als icoon â dat oogde niet als de rest van het portaal.","solution":"Elke template-categorie heeft nu een getekend lijn-icoon in de huisstijl-kleur: trend voor updates, persoon voor welkom, krant voor nieuwsbrieven, cadeau voor speciale momenten, koffer voor zakelijk en een pen voor eigen templates."},{"num":"v26.11","type":"polish","title":"Automatische campagnes met nette namen in de lijst","problem":"Automatische systeem-mails stonden met hun technische code-naam in de campagnelijst, zoals \"lifecycle:weekly-digest\" en \"lifecycle:value-report:2026-07\".","solution":"Die heten nu gewoon \"Wekelijkse samenvatting\", \"Maandrapport\" en \"Waarderapport â juli 2026\", met een subtiel \"Automatisch\"-label zodat je ziet dat het systeem-mails zijn. Onder water blijven de technische namen intact (die zorgen dat automatische mails niet dubbel verstuurd worden)."}]},{"date":"2026-08-19","version":"v26.10","clV":"v0.881","title":"Aparte Klanten-pagina met alle klanten in één overzicht","items":[{"num":"v26.10","type":"feature","title":"Nieuwe \"Klanten\"-pagina in het menu","problem":"Je kon je klanten alleen bekijken via de widget op het dashboard â een horizontale carousel waar je doorheen moest scrollen. Bij tientallen klanten zag je nooit alles in één oogopslag.","solution":"Er is een aparte Klanten-pagina bijgekomen (nieuw menu-item in de zijbalk). Die toont álle klanten tegelijk in een overzichtelijk tegel-grid, met dezelfde filters als op het dashboard: tabs voor Actief/Gepauzeerd/Inactief, dienst-filters en een zoekbalk. De kaarten zijn identiek aan die op het dashboard, en managers zien alleen hun eigen klanten."},{"num":"v26.09","type":"polish","title":"Terug-knop keert nu terug naar de Klanten-pagina + bredere kaarten","problem":"Klikte je vanaf de Klanten-pagina op een klant en daarna op \"Alle klanten\", dan kwam je op het dashboard uit in plaats van terug op de Klanten-pagina. Ook waren de kaarten in het grid te smal, waardoor de cijferregel (Ontwerpen/Open taken/Klant sinds) samenkneep.","solution":"De terug-knop op het klantprofiel onthoudt nu waar je vandaan kwam â inclusief je actieve filter â en brengt je daar weer terug. De klantkaarten in het grid zijn breder gemaakt (±3 per rij) zodat de cijferregel weer netjes uitlijnt."},{"num":"v26.08","type":"polish","title":"Soepeler door de klantenkaarten swipen op het dashboard","problem":"De \"Klanten in beheer\"-carousel op het dashboard voelde stroef: hij klikte hard vast op elke kaart, met een muis kon je alleen via de pijltjes bladeren, en een horizontale swipe activeerde soms per ongeluk de terug-knop van de browser.","solution":"De carousel swipet nu vrij door met een zachte \"settle\" op de dichtstbijzijnde kaart. Met de muis kun je de kaarten ook vastpakken en slepen (grab & drag), en een swipe blijft binnen de carousel in plaats van de browser terug te sturen."}]},{"date":"2026-08-19","version":"v26.07","clV":"v0.880","title":"Integratiepagina's in App-Center-stijl","items":[{"num":"v26.07","type":"polish","title":"Categorie- en detailpagina's van integraties volledig vernieuwd","problem":"De tussenpagina van een integratie-categorie (bijv. Taken) was een lange stapel kaarten met uitlegblokken en badges, en de detailpagina van een aanbieder oogde gedateerd: klein monochroom icoontje, dikke status-pill en een vage koppel-knop.","solution":"De categoriepagina toont nu hetzelfde tegel-grid als het integratie-overzicht (echte logo's, status, klik opent de aanbieder). De detailpagina heeft een App-Center-stijl kaart: full-color logo, rustige status met stip en een duidelijke Koppel-knop in de huisstijl. De koppen van alle integratiepagina's zijn gelijkgetrokken met de rest van het portaal."},{"num":"v26.06","type":"polish","title":"Geen dubbele aanbieder
2-kop meer op de detailpagina","problem":"Op de detailpagina van een aanbieder stond het logo met de naam twee keer: in de paginakop en nogmaals bovenaan de koppel-kaart.","solution":"De kaart laat de eigen kop nu weg â de paginakop is de enige plek met logo en naam. De kaart toont alleen de status, de uitleg en de koppel-knop, met iets meer ademruimte."},{"num":"v26.05","type":"polish","title":"Tegel-grid ook op de CRM- en Bestanden-categoriepagina's","problem":"Alleen de Taken-categorie had het nieuwe App-Center-tegel-grid; CRM en Bestanden toonden nog de oude stapel kaarten met uitlegblokken en badges.","solution":"CRM en Bestanden gebruiken nu hetzelfde tegel-grid: echte logo's, status per aanbieder, en klik opent de detailpagina van die aanbieder. De setup-uitleg (zoals de gedeelde-opslag-configuratie) leeft voortaan op de bijbehorende detailpagina."},{"num":"v26.04","type":"polish","title":"App-Center-patroon doorgevoerd op alle overige integratie-categorieën","problem":"E-mail, Financieel, Content kalender, Designs, Meldingen en E-mailmarketing toonden nog lange stapels kaarten in plaats van het tegel-grid, en hadden geen aparte detailpagina per aanbieder.","solution":"Al deze categorieën tonen nu het tegel-grid met echte logo's en status, en elke aanbieder (Gmail, Outlook, IMAP, Moneybird, Xero, Metricool, Buffer, Figma, Canva, Slack, Discord, Mailchimp) heeft een eigen detailpagina met paginakop en koppel-kaart. Website & vindbaarheid blijft bewust één pagina â Google Analytics, Bedrijfsprofiel en Search Console delen daar één Google-koppeling."}]},{"date":"2026-08-19","version":"v26.03","clV":"v0.879","title":"Weggegooide taken verdwijnen nu ook van het klantprofiel","items":[{"num":"v26.03","type":"bugfix","title":"Een verwijderde taak bleef zichtbaar op het klantprofiel (en was niet af te vinken)","problem":"Een taak die je naar de prullenbak had verplaatst, bleef op het tabblad Taken van het klantprofiel staan. Afvinken lukte niet (\"Niet gevonden\"), en de taak telde ten onrechte mee in de \"Taken\"-badge en de open-teller.","solution":"Het klantprofiel laadt nu alleen actieve taken â weggegooide (soft-deleted) taken worden overal uitgesloten, net als op de Takenbeheer-pagina. Zo klopt de teller weer en zie je geen \"spook\"-taken meer."},{"num":"v26.02","type":"feature","title":"Slack-koppeling: realtime notificaties naar je team","problem":"Je moest het portaal openen om te zien of er een nieuwe lead binnenkwam, een taak werd afgevinkt of een factuur betaald werd.","solution":"Koppel je eigen Slack-workspace (Integraties â Meldingen), kies bij het koppelen een kanaal, en Senly stuurt daar automatisch een bericht naar bij een nieuwe lead, een afgeronde taak en een betaalde factuur. Eén klik koppelen; alleen versturen, er wordt niets uit Slack gelezen."},{"num":"v26.01","type":"polish","title":"Raster-achtergronden in het portaal 20% subtieler","problem":"De fijne horizontale en verticale rasterlijnen op de portaal-achtergronden (dashboard, planner, tools, signup, academy) trokken net iets te veel aandacht.","solution":"Alle rasterlijnen zijn 20% transparanter gemaakt, in zowel dark als light mode. Het blueprint-gevoel blijft, maar rustiger."},{"num":"v26.00","type":"feature","title":"Discord-koppeling: notificaties naar je Discord-server","problem":"Teams die op Discord werken misten de realtime meldingen die Slack-teams al kregen.","solution":"Naast Slack kun je nu ook je eigen Discord-server koppelen (Integraties â Meldingen), een kanaal kiezen, en dezelfde notificaties ontvangen bij een nieuwe lead, afgeronde taak of betaalde factuur. Koppel gerust beide tegelijk."},{"num":"v25.99","type":"feature","title":"Mailchimp-koppeling: audiences en campagne-stats in het portaal","problem":"Voor je e-mailmarketing-cijfers moest je apart in Mailchimp inloggen.","solution":"Nieuwe categorie E-mailmarketing (Integraties): koppel je eigen Mailchimp met één klik en bekijk je audiences (ledenaantal, open- en klikrate) en recente campagnes met verzend- en prestatiecijfers, met een deep-link naar de campagne in Mailchimp."},{"num":"v25.98","type":"polish","title":"Full-color logo's voor Slack, Discord en Mailchimp","problem":"In het integratie-overzicht en op de detailpagina toonden Slack, Discord en Mailchimp een eenkleurig (grijs) logo tussen de full-color logo's van de andere integraties â en op de detailpagina soms zelfs een gebroken-afbeelding-icoon.","solution":"De officiële full-color logo's zijn toegevoegd, zodat deze drie er net zo uitzien als de rest. De detailkop valt bovendien netjes terug op het monochrome merk-logo als een logobestand ooit ontbreekt â geen gebroken afbeeldingen meer."},{"num":"v25.97","type":"feature","title":"Microsoft Teams-koppeling: notificaties naar een Teams-kanaal","problem":"Teams-teams misten de realtime meldingen die Slack- en Discord-teams al kregen.","solution":"Koppel je eigen Microsoft Teams (Integraties â Meldingen) met je Microsoft-account, kies daarna een team en kanaal, en Senly stuurt daar automatisch een bericht naartoe bij een nieuwe lead, afgeronde taak of betaalde factuur. Notificaties gaan naar alle gekoppelde kanalen tegelijk (Slack, Discord én Teams)."},{"num":"v25.96","type":"feature","title":"Machine-to-machine API-toegang (client_credentials)","problem":"Een externe app kon alleen namens een ingelogde gebruiker koppelen, terwijl er voor automatische taken op de achtergrond geen mens is die op een toestemmingsscherm kan klikken.","solution":"In het developer-portaal kun je per app machine-to-machine-toegang aanzetten. Zo'n app haalt dan direct met zijn eigen sleutel toegang tot de API op, zonder gebruiker of toestemmingsscherm, en werkt op de gegevens van het eigen bureau. Ideaal voor koppelingen tussen servers onderling."},{"num":"v25.95","type":"feature","title":"Developer-portal: laat externe apps met OAuth aan Senly koppelen","problem":"Andere programma's konden niet veilig koppelen met jouw Senly-account: er was geen manier om een externe app toegang te geven met heldere, intrekbare rechten.","solution":"Via Integraties, Developer-portal registreer je een externe app en krijg je unieke inloggegevens voor die app. Externe apps sturen je naar een toestemmingsscherm waarop precies staat welke rechten ze vragen, en krijgen daarna beperkte, per onderdeel afgebakende toegang tot jouw gegevens. Je ziet welke apps toegang hebben en kunt die met één klik intrekken."},{"num":"v25.94","type":"feature","title":"Publieke API compleet: posts, analytics, klanten aanmaken + bijwerken/verwijderen","problem":"De publieke API dekte nog niet alles: er was geen mogelijkheid voor posts of analytics, klanten aanmaken kon niet, en leads en taken konden alleen gelezen en aangemaakt worden.","solution":"Toegevoegd aan de publieke API: posts uit de planner ophalen en aanmaken, een overzicht van engagement opvragen, klanten aanmaken, en leads en taken ook volledig bijwerken en verwijderen. Elk onderdeel heeft nu bijpassende mogelijkheden."},{"num":"v25.93","type":"feature","title":"Developer-portal: eigen instellingen-item, platform-toezicht en standaard-e
2ndpoints","problem":"Developer was alleen te vinden via een banner, en er was nog geen centraal overzicht van alle gekoppelde externe apps over alle bureaus heen.","solution":"Developer staat nu als eigen item in Instellingen. Op platformniveau is er een overzicht van alle geregistreerde apps, met actieve verbindingen, laatst gebruikt en een logboek, en kunnen apps geschorst of verwijderd worden. Daarnaast zijn standaard technische voorzieningen toegevoegd die koppel-software nodig heeft om automatisch met Senly te kunnen praten."}]},{"date":"2026-08-19","version":"v25.92","clV":"v0.878","title":"Salesforce-koppeling: importeer je leads","items":[{"num":"v25.92","type":"feature","title":"Salesforce koppelen en leads importeren (CRM-trio compleet)","problem":"Bureaus met Salesforce konden hun omgeving niet aan Senly koppelen; naast Pipedrive en HubSpot ontbrak de optie voor grotere organisaties.","solution":"Bij Integraties, CRM staat nu een Salesforce-kaart. Koppelen gaat met een klik. Daarna importeer je je open leads in de gekozen pipeline en fase, met bron, laatste contactmoment en een directe link naar het record in Salesforce. Opnieuw importeren maakt geen dubbele leads aan, en de dagelijkse automatische synchronisatie houdt bestaande gekoppelde leads actueel."}]},{"date":"2026-08-19","version":"v25.91","clV":"v0.877","title":"Tweewegs-sync compleet: nu ook Monday en Notion","items":[{"num":"v25.91","type":"feature","title":"Afvinken in Senly werkt nu ook terug in Monday en Notion (voorzichtig)","problem":"Monday en Notion hebben vrije kolommen/eigenschappen zonder vaste afgerond-vlag, dus tweewegs-sync deed daar nog niets.","solution":"Voor Monday en Notion schrijft Senly alleen terug als er een ondubbelzinnige afgerond-kolom is: bij Monday een status-kolom met een label als Klaar/Done/Afgerond, bij Notion een selectievakje-eigenschap met zo een naam. Is die er niet, dan gebeurt er niets (nooit een gok). Monday vereist eenmalig opnieuw koppelen (schrijfrechten); Notion werkt als je integratie bewerk-rechten heeft. Hiermee doen alle zeven taken-integraties mee aan tweewegs-sync."}]},{"date":"2026-08-19","version":"v25.90","clV":"v0.878","title":"Tweewegs-sync uitgebreid naar Jira, Linear en ClickUp","items":[{"num":"v25.90","type":"feature","title":"Afvinken in Senly werkt nu ook terug in Jira, Linear en ClickUp","problem":"Tweerichtingssynchronisatie werkte alleen voor Asana en Todoist. Jira, Linear en ClickUp hebben geen simpele aan/uit-vink maar een status per bord, waardoor afvinken in Senly daar nog niet doorwerkte.","solution":"Senly leidt nu automatisch de juiste afgerond-status af: bij Jira de stap naar een status in de categorie Klaar, bij Linear de status van het type voltooid, bij ClickUp de done-status van de lijst. Afvinken (en heropenen) in Senly zet de taak dus ook in de bron op klaar. ClickUp werkt meteen; voor Jira en Linear koppel je die integratie eenmalig opnieuw zodat Senly ook mag schrijven."}]},{"date":"2026-08-19","version":"v25.89","clV":"v0.877","title":"Tweewegs-sync: een taak afvinken in Senly werkt nu terug in de bron","items":[{"num":"v25.89","type":"feature","title":"Afvinken (en heropenen) van een geimporteerde taak schrijft terug naar de bron-integratie","problem":"Sync was eenrichting: vinkte je een geimporteerde taak in Senly af, dan bleef hij in de bron gewoon openstaan.","solution":"Als je een taak die uit een integratie komt afvinkt of weer opent in Senly, wordt dat nu teruggeschreven naar de bron. Live voor Asana (werkt direct) en Todoist (koppel Todoist eenmalig opnieuw voor de schrijfrechten). Volledig fail-safe: mislukt het terugschrijven, dan blijft je afvink in Senly gewoon staan. De overige taken-integraties volgen zodra hun status-toewijzing per bord is uitgewerkt."}]},{"date":"2026-08-19","version":"v25.88","clV":"v0.876","title":"Statistieken-pagina in het rustige portaal-register","items":[{"num":"v25.88","type":"polish","title":"Statistieken (Health check, Klanten, Team, Systeem) visueel gelijkgetrokken met de rest van het portaal","problem":"De statistieken-tabs oogden onrustig en gedateerd: overal HOOFDLETTER-labels met brede letterspacing, een gloed-effect achter de health-score, sparkle-sterretjes, neon-schaduwen op de trendlijn en een paarse accentkleur die nergens anders voorkomt.","solution":"Alle labels staan nu in gewone zinsopmaak, de gloed- en sparkle-effecten zijn weg, de trendlijn is strak zonder neon, kaarten zweven niet meer bij hover en de kleuren volgen de huisstijl."},{"num":"v25.87","type":"polish","title":"Statistieken-kaarten in dezelfde stijl als het dashboard","problem":"De kaarten op de statistieken-tabs weken af van de rest van het portaal: harde randen met een scheidingslijn onder elke kop en computercijfers (monospace) in de rankinglijsten.","solution":"Alle kaarten gebruiken nu hetzelfde oppervlak als de dashboard-kaarten (zachte lift, geen harde rand), koppen staan zonder scheidingslijn boven de inhoud, en de rankinglijsten gebruiken de gewone tekstzetting."},{"num":"v25.86","type":"polish","title":"Staafgrafieken op statistieken in de stijl van het Financieel-overzicht","problem":"De staafgrafieken (Klantgroei, cohort-retentie, productiviteit per weekdag) gebruikten dunne staafjes met de waarde eronder â anders dan de grote gevulde staven van de Maandomzet-grafiek in Financieel.","solution":"Ze gebruiken nu dezelfde grote, afgeronde, gevulde teal-staven als het Financieel-overzicht, met de waarde erboven en het label eronder."},{"num":"v25.85","type":"polish","title":"Cirkeldiagrammen op statistieken als volle taart met eigen kleuren per part","problem":"De cirkeldiagrammen (Branches, Platformen) waren donuts â een ring met een gat â en alle parten hadden tinten van dezelfde teal, waardoor naburige stukken lastig te onderscheiden waren.","solution":"Ze zijn nu volle taartdiagrammen met een onderscheidbaar categorie-palet: elk part heeft een eigen kleur (huisstijl-teal eerst) met een dunne scheiding ertussen, zodat je in één oogopslag ziet welke kleur bij welk item hoort."},{"num":"v25.84","type":"polish","title":"KPI-icoontjes op de statistieken intentioneler","problem":"De KPI-icoontjes bovenaan de statistieken oogden bijna grijs op de witte kaart.","solution":"Ze hebben een subtiele teal-ring gekregen zodat ze intentioneler ogen en bij de huisstijl passen."},{"num":"v25.83","type":"polish","title":"Inactief-balk in de cohort-grafiek helderder","problem":"De \"Inactief\"-balk in de cohort-retentie-grafiek was een waterige lichtroze die ongepolijst oogde naast de strakke teal-staven.","solution":"Die is nu een heldere, gevulde rose (dezelfde rood-familie voor \"verloren/inactief\", passend bij het kleurenpalet van de pagina)."},{"num":"v25.82","type":"polish","title":"Team-tab volledig herbouwd in het nieuwe register","problem":"De bovenkant van de Team-tab was rommelig: vier losse KPI-kaarten met een kleine gauge, een werklast-lijst met meerdere \"Onbekende user\"-rijen en priegelige staafjes, een halflege Team pulse-kaart, cirkel-kaartjes bij Pagina's per design en vier losse mini-balkjes bij Activiteit.","solution":"De tab opent nu met een rustige hero (grote team health-ring, status-woord en drie kerncijfers, zoals de Health check-tab). Werklast is een nette tabel in dezelfde stijl als Team in dienst, waarbij niet-herkende gebruikers zijn samengevoegd tot één rij. Pagina's per design is een ranglijst geworden en Activiteit één verdeel-balk met legenda."}]},{"date":"2026-08-19","version":"v25.81","clV":"v0.875","title":"Taken- en CRM-integraties blijven nu automatisch up-to-date","items":[{"num":"v25.81","type":"feature","title":"Dagelijkse automatische sync van je gekoppelde taken- en CRM-integraties","problem":"Na een import bleef de data statisch: wijzigingen in Jira, Asana, Basecamp, Pipedrive, HubSpot enz. kwamen pas mee als je handmatig opnieuw op Importeer klikte.","solution":"Een dagelijkse achtergrond-sync ververst nu automatisch de gekoppelde taken- en CRM-integraties. Taken worden bijgewerkt en nieuwe taken komen erbij, maar taken die je in Senly hebt verwijderd blijven weg. Bij CRM worden bestaande gek
2oppelde leads ververst (bedrijf, bron, laatste contact). Alles blijft idempotent â geen duplicaten. Draait robuust per koppeling met een time-out, zodat een hangende koppeling de rest niet ophoudt."}]},{"date":"2026-08-19","version":"v25.80","clV":"v0.874","title":"Onderdelen-pagina rustiger: doelgroep-kaarten met lucht","items":[{"num":"v25.80","type":"polish","title":"Doelgroep-kaarten platter en luchtiger op de Onderdelen-pagina","problem":"De doelgroep-kaarten (Bureau-eigenaar, Social media manager, ...) stonden krap op elkaar en leken met een slagschaduw te zweven â druk beeld.","solution":"Kaarten zijn nu plat (geen schaduw), met meer tussenruimte, meer padding en bredere kolommen zodat de tekst niet tegen de randen plakt."}]},{"date":"2026-08-19","version":"v25.79","clV":"v0.873","title":"Buffer-koppeling toont nu je geplande posts","items":[{"num":"v25.79","type":"feature","title":"Publicatie-wachtrij (geplande posts) zichtbaar in de Buffer-kaart","problem":"De Buffer-koppeling toonde alleen een lijst van gekoppelde social channels â je zag niet wat er klaarstond om gepubliceerd te worden.","solution":"Onder de channels staat nu \"Geplande posts\": je publicatie-wachtrij uit Buffer met per post het kanaal, het geplande moment, een preview-thumbnail en de posttekst. Alleen lezen; klik een post om hem in Buffer te openen."}]},{"date":"2026-08-19","version":"v25.78","clV":"v0.872","title":"CRM-import (Pipedrive + HubSpot) rijker en zonder duplicaten","items":[{"num":"v25.78","type":"feature","title":"Geimporteerde leads krijgen bron, laatste-contact en een directe doorklik; her-import dupliceert niet meer","problem":"De Pipedrive- en HubSpot-import zette contacten neer als kale leads (alleen naam, bedrijf, e-mail, telefoon), en opnieuw importeren kon dubbele leads maken.","solution":"Leads onthouden nu uit welke integratie en welk contact ze komen. Op de lead-kaart staat een label met een directe link (Open in Pipedrive of HubSpot), plus de bron en het moment van laatste contact. Opnieuw importeren maakt geen dubbele leads meer aan: bestaande leads worden bijgewerkt in plaats van gedupliceerd. De melding na import toont hoeveel leads nieuw zijn en hoeveel er bijgewerkt zijn."}]},{"date":"2026-08-19","version":"v25.77","clV":"v0.871","title":"Finance-koppelingen (Moneybird + Xero) informatiever","items":[{"num":"v25.77","type":"feature","title":"Facturenlijst met samenvatting, openstaand bedrag, te-laat-markering en directe doorklik","problem":"De Moneybird- en Xero-koppelingen toonden een platte facturenlijst zonder overzicht van wat er nog openstaat, en Xero-facturen waren niet doorklikbaar.","solution":"Boven de facturenlijst staat nu een samenvatting: aantal facturen, totaal openstaand per valuta, en hoeveel er te laat zijn. Te laat betaalde facturen worden rood gemarkeerd. Xero-facturen zijn nu (net als Moneybird) klikbaar en openen direct de factuur in Xero."}]},{"date":"2026-08-19","version":"v25.76","clV":"v0.870","title":"Taken-integraties diepgaander: bron-koppeling, deep-links en slimme her-import","items":[{"num":"v25.76","type":"feature","title":"Geimporteerde taken linken nu terug naar de bron en dupliceren niet meer bij her-import","problem":"De taken-integraties (Jira, Asana, ClickUp, Monday, Notion, Linear, Todoist, Basecamp) importeerden items als losse Senly-taken zonder koppeling naar de bron. Opnieuw importeren kon duplicaten maken, en je kon niet terugklikken naar het originele item.","solution":"Elke geimporteerde taak onthoudt nu uit welke integratie en welk item hij komt. Op het takenbord verschijnt een klein bron-label met een directe link (Open in Jira/Basecamp/...). Opnieuw importeren werkt idempotent: bestaande items worden bijgewerkt (titel, omschrijving, deadline) in plaats van gedupliceerd, en al eerder geimporteerde taken worden automatisch aan hun bron gekoppeld. De import-melding toont voortaan hoeveel nieuw en hoeveel bijgewerkt zijn."}]},{"date":"2026-08-19","version":"v25.75","clV":"v0.861","title":"iCloud-agenda: minder \"cannot find homeUrl\"-fouten en stabielere sync","items":[{"num":"v25.75","type":"bugfix","title":"De iCloud-agendakoppeling faalt niet meer willekeurig met \"cannot find homeUrl\"","problem":"Bij het openen van \"Agendaâs beheren\" op je iCloud-koppeling kreeg je soms de foutmelding \"cannot find homeUrl\", en dan ver
2schenen ook je iCloud-afspraken niet in de Senly-kalender. Even later werkte het wel weer.","solution":"Apple knijpt iCloud-agendaverzoeken agressief af (throttling); een enkele mislukte handshake liet de hele actie klappen. De koppeling probeert nu automatisch opnieuw met oplopende wachttijd en hergebruikt kort een geslaagde verbinding, zodat deze wisselvallige fout in de praktijk verdwijnt. Een echt verlopen app-specifiek wachtwoord wordt nog steeds netjes als \"opnieuw koppelen\" gemeld."},{"num":"v25.74","type":"polish","title":"Contentkalender zonder koppeling toont nu een net kalenderframe","problem":"Had je nog geen enkele klant aan een Metricool-brand gekoppeld, dan kreeg je op de Contentkalender een kale, losse melding midden op de pagina.","solution":"De lege staat heeft nu dezelfde look als de gevulde kalender: de weergave-knoppen en de Senly Planner-knop bovenaan, en een echt kalenderraster met de melding netjes in het midden dat er nog niets gekoppeld staat."},{"num":"v25.73","type":"polish","title":"Affiliate-pagina toont tijdens het laden nu het juiste skelet","problem":"Op Affiliate verscheen tijdens het laden kort een verkeerd laad-skelet (een KPI-raster met tabel) dat niet leek op de blokken-pagina die daarna verscheen â een zichtbare \"sprong\" in de layout.","solution":"Het laad-skelet spiegelt nu exact de pagina die volgt: het blokken-overzicht (verdien-kaarten) op het startscherm, en het KPI-skelet alleen bij het Verwijzingen-onderdeel. Geen layout-sprong meer bij het openen."}]},{"date":"2026-08-18","version":"v25.72","clV":"v0.860","title":"Dark mode blijft behouden na het koppelen van een integratie","items":[{"num":"v25.72","type":"bugfix","title":"Je thema (dark/light) springt niet meer terug naar light na een OAuth-koppeling","problem":"Wie het portaal in dark mode gebruikte en een integratie koppelde (bijvoorbeeld Buffer, Pipedrive of Xero), kwam na het terugkeren van de koppelpagina in light mode terecht, terwijl de donkere voorkeur behouden had moeten blijven.","solution":"Bij het terugkeren van een koppeling geeft het portaal je themavoorkeur nu expliciet mee, zodat de pagina meteen in de juiste stand laadt. Dit geldt voor alle integraties die via 'Koppelen' werken."},{"num":"v25.71","type":"security","title":"Content-kalender (Metricool) is nu strikt per bureau â geen gedeeld account meer","problem":"Een bureau zonder eigen Metricool-koppeling viel terug op een gedeeld platformaccount, waardoor bureaus in de praktijk hetzelfde Metricool-account konden delen.","solution":"De content-kalender gebruikt nu uitsluitend je eigen Metricool-koppeling. Zonder eigen koppeling staat de content-kalender simpelweg uit tot je die zelf instelt. Er wordt nooit meer teruggevallen op een gedeeld account: strikte scheiding van gegevens per bureau."},{"num":"v25.70","type":"polish","title":"Metricool-koppeling ziet er nu net zo uit als elke andere integratie","problem":"Bij Integraties, Content-kalender stond Metricool nog in een afwijkende, losse vormgeving, terwijl de andere koppelingen (Buffer, Xero, ...) strakke, uniforme kaarten zijn.","solution":"Metricool staat nu in dezelfde vormgeving: icoon, naam, statuslabel (verbonden of niet verbonden), invoerveld en loskoppelknop, visueel gelijk aan de rest."}]},{"date":"2026-08-17","version":"v25.69","clV":"v0.859","title":"Brand-voice voorbeeldposts: één vak per post","items":[{"num":"v25.69","type":"polish","title":"Voorbeeldposts staan nu elk in hun eigen vak, met een \"+ nieuwe voorbeeldpost toevoegen\"-knop","problem":"In het AI brand-voice-scherm moest je meerdere posts in één groot tekstvak plakken en scheiden met een lege regel. Witregels binnen een post zelf werden dan verkeerd geïnterpreteerd als postscheider â half je opmaak viel weg.","solution":"Elke voorbeeldpost heeft nu zijn eigen invoervak met \"Post 1 / Post 2 / â¦\"-label en een kruisje om te verwijderen. Onderaan staat \"+ Nieuwe voorbeeldpost toevoegen\". Witregels binnen een post blijven gewoon staan, en de teller \"n bruikbare posts gedetecteerd\" telt live mee."},{"num":"v25.68","type":"bugfix","title":"Losse (klantloze) taken die verlopen zijn verschijnen nu ook in de meldingen-bel","problem":"De notificatie-bel toonde alleen verlopen taken die aan een klant hingen. Een losse taak (zonder klant) die over de deadline ging, gaf nooit een melding â precies de taken die makkelijk vergeten worden.","solution":"De bel spiegelt nu het dashboard: verlopen taken mét én zónder klant tellen mee. Een losse taak toont \"Losse taak · Xd verlopen\" en linkt naar het takenbord."},{"num":"v25.67","type":"bugfix","title":"Dubbel CRM-contact aanmaken wordt nu tegengehouden","problem":"Een nieuw contact met hetzelfde e-mailadres of telefoonnummer als een bestaand contact werd zonder waarschuwing dubbel opgeslagen â de leads-import ontdubbelde wél, het handmatig toevoegen niet.","solution":"Bij het opslaan checkt het portaal nu op e-mail én telefoon binnen je eigen tenant. Bestaat het contact al, dan krijg je een nette melding in plaats van een duplicaat."},{"num":"v25.66","type":"performance","title":"Dashboard laadt sneller tijdens de onboarding","problem":"De voortgangsdetectie van de \"Aan de slag\"-kaart vuurde bij elke dashboard-load zo'n twintig losse tel-queries in vijf opeenvolgende rondjes af â en deed dat dubbel (layout én pagina).","solution":"Alle tel-queries lopen nu in één rondje, en de pagina hergebruikt het resultaat dat de layout al ophaalde. Merkbaar snappier tijdens de eerste dagen;
2 na het afronden van de onboarding verdwijnt het werk sowieso."},{"num":"v25.65","type":"bugfix","title":"Afbeeldingen en video bij ingeplande posts komen nu ook op Bluesky en Meta mee","problem":"Media die je vanuit het portaal toevoegde (een geüpload bestand) werd bij het automatisch publiceren naar Bluesky en Mastodon stil overgeslagen en door Meta geweigerd â alleen YouTube pakte het correct op.","solution":"Het publiceer-systeem maakt zulke media-links nu overal volledig (absolute URL) voordat ze naar het platform gaan, zodat elke kanaal-integratie de afbeelding of video daadwerkelijk meekrijgt."},{"num":"v25.64","type":"bugfix","title":"Een custom rol toewijzen kan de sales-rol van een teamlid niet meer wissen","problem":"Gaf je een setter, closer of sales-manager via het rollen-scherm een custom rol, dan werd hun sales-rol overschreven naar \"manager\" â en bij het terugdraaien bleef \"manager\" staan. De oorspronkelijke sales-rol was daarmee permanent kwijt.","solution":"Net als bij admins kun je sales-rollen niet meer via het rollen-scherm omzetten; dat doe je bewust via Gebruikers. Zo gaat er geen rol meer verloren."},{"num":"v25.63","type":"bugfix","title":"Een verzette meeting krijgt nu opnieuw een herinnering","problem":"Als een afspraak naar een nieuwe datum/tijd werd verplaatst, bleef de \"herinnering al verstuurd\"-status van het oude tijdstip staan. De deelnemer en host kregen daardoor geen herinnering meer voor het nieuwe moment.","solution":"Bij het verzetten resetten we de herinnerings- en briefing-status, zodat de 24-uurs- en 1-uurs-herinnering (en de host-briefing) opnieuw voor het nieuwe tijdstip afgaan."},{"num":"v25.62","type":"bugfix","title":"\"Toevoegen aan agenda\" na een boeking werkt weer","problem":"Direct na het boeken van een afspraak gaf de knop 'toevoegen aan agenda' een foutmelding: de downloadlink miste een onderdeel dat een niet-ingelogde bezoeker nodig heeft.","solution":"De downloadlink werkt nu weer correct, zodat de gast de afspraak meteen in de eigen agenda kan zetten."},{"num":"v25.61","type":"bugfix","title":"Klantgegevens-venster: kop en tabbladen blijven staan bij scrollen","problem":"In het \"Klantgegevens bewerken\"-venster scrolde alles mee â de titel en de tabbladen schoven half uit beeld zodra je omlaag scrolde.","solution":"Alleen de inhoud scrolt nog; de kop met tabbladen en de opslaan-knop onderaan blijven op volle hoogte vast staan."},{"num":"v25.60","type":"polish","title":"Notitie-invoervelden: tekst netjes verticaal gecentreerd","problem":"In de invoervelden voor notities (Wensen en Notities op het klantprofiel) hing de tekst tegen de bovenkant van het vak aan.","solution":"De tekst staat nu netjes in het midden van het veld; bij langere notities groeit het veld gewoon mee."},{"num":"v25.59","type":"bugfix","title":"Chat toont nu de recente berichten in plaats van de oudste","problem":"In een druk team- of groepskanaal (en in directe berichten) laadde het chatvenster de álleroudste berichten in plaats van de meest recente â je moest scrollen om bij het actuele gesprek te komen, of zag het helemaal niet.","solution":"De chat laadt nu de nieuwste berichten (chronologisch weergegeven); nieuwe berichten die binnenkomen worden gewoon aangevuld."},{"num":"v25.58","type":"bugfix","title":"Je krijgt nu een melding als een gast zelf een afspraak annuleert of verzet","problem":"Als een bezoeker via de beheer-link zijn eigen afspraak annuleerde of verzette, verdween die stil uit je agenda â je kreeg er geen enkele melding van.","solution":"Bij een annulering of verzetting door de gast krijg je nu een notificatie in de bel, zodat je het vrijgekomen tijdslot meteen ziet."},{"num":"v25.57","type":"bugfix","title":"Een door de klant afgekeurde post kan niet meer per ongeluk zonder goedkeuring live","problem":"Als een klant een geplande post afkeurde en je klikte daarna op publiceren, ging die post rechtstreeks de wachtrij in â buiten de goedkeuring om die de klant net had geweigerd.","solution":"Een afgekeurde post gaat bij publiceren nu terug naar \"ter goedkeuring\" met een nieuwe review-link, zodat er niets live gaat wat de klant niet heeft goedgekeurd."},{"num":"v25.56","type":"polish","title":"Integraties-overzicht vernieuwd: app-store-stijl met logo-tegels","problem":"Het integraties-overzicht bestond uit grote kaarten vol tekstlabels (\"Beschikbaar\", \"Binnenkort\") die druk en onoverzichtelijk oogden.","solution":"Het overzicht is nu opgezet als een app-store: per onderdeel een duidelijke sectiekop met daaronder compacte tegels per aanbieder â logo, naam en één regel uitleg. Gekoppelde aanbieders tonen een groene \"Actief\"-stip, aankomende aanbieders staan gedimd. Bovenaan kun je zoeken op naam en filteren op status."},{"num":"v25.55","type":"polish","title":"Elke integratie toont het originele logo in echte kleuren","problem":"Een deel van de integratie-tegels toonde een letter of een eenkleurig icoon in plaats van het echte merk-logo.","solution":"Alle aanbieders op het integraties-overzicht tonen nu hun originele logo in de originele kleuren, beeldvullend op het tegeltje (app-icoon-stijl) â ook in de donkere modus goed leesbaar."},{"num":"v25.54","type":"polish","title":"Klik op een integratie-tegel opent alleen die aanbieder","problem":"Een klik op bijvoorbeeld de Trello-tegel opende de hele takenpagina met álle aanbieders onder elkaar â je moest zelf zoeken naar het blok dat je aanklikte.","solution":"De tegel opent nu de pagina met alleen de aangeklikte aanbieder (app-store-gedrag). Via de terugknop of de \"Beheren\"-link bij de sectiekop zie je nog steeds het volledige overzicht van een onderdeel."},{"num":"v25.53","type":"polish","title":"Aanbieder-detailweergave in app-store-stijl","problem":"Wanneer je één aanbieder opende, stond daar nog de algemene categorie-kop â niet duidelijk gericht op de app die je aanklikte.","solution":"De detailweergave heeft nu een kruimelpad (Integraties / onderdeel / aanbieder), het grote originele logo, de naam en een korte uitleg â met daaronder direct de koppel-kaart. Net als in een app-store."},{"num":"v25.52","type":"polish","title":"Menubalk draagt nu je huisstijlkleur (lichte modus)","problem":"In de lichte modus was de zwevende menubalk links bijna wit, waardoor het hele scherm wat vlak en kleurloos oogde.","solution":"De menubalk heeft nu de ingestelde brandingskleur van je portaal als achtergrond, met goed leesbare iconen en het logo o
2p een wit tegeltje â een duidelijk merk-anker naast het rustige lichte dashboard. Werkt automatisch met elke huisstijlkleur, ook lichte."},{"num":"v25.51","type":"polish","title":"Dashboard: \"Laatste activiteit\" op een zachte huisstijl-tint","problem":"De activiteiten-kaart op het dashboard was volledig wit, net als de rest â er was weinig diepte.","solution":"De activiteiten-kaart heeft nu een zachte tint van je huisstijlkleur als achtergrond, met de losse regels in wit erbovenop. Dat geeft de kaart net wat meer diepte, zonder dat het druk wordt (alleen in de lichte modus)."},{"num":"v25.50","type":"bugfix","title":"Launchpad-welkomstscherm: logo niet meer uitgerekt","problem":"Bij het eerste bezoek aan de Launchpad verscheen kort een welkomstscherm (\"Welkom, [naam]\") met een logo dat in een vast vierkant werd geperst â een niet-vierkant logo kwam daardoor vervormd in beeld, en het scherm loste rommelig op over de pagina.","solution":"Het logo behoudt nu zijn juiste verhouding, de begroeting is beter leesbaar, en het welkomstscherm verschijnt op een egale achtergrond die netjes wegvaagt naar je Launchpad. Werkt goed in zowel de lichte als de donkere modus."},{"num":"v25.49","type":"polish","title":"Nieuw dashboard: nette, doelgroep-gerichte indeling bij aanmelden","problem":"Nieuwe accounts kwamen binnen op een dashboard waar de widgets slordig geordend stonden â met halve, lege kolommen tussen de blokken, wat een rommelige eerste indruk gaf.","solution":"Elke doelgroep die je bij aanmelding kiest (bureau, freelancer, social media manager, in-house, content creator) krijgt nu een logisch opgebouwd standaard-dashboard waarin de widgets keurig in volle rijen aansluiten. Voor een bureau: omzet + activiteit bovenaan, dan deadlines, snelle acties en klanten â precies in die volgorde. Je kunt de indeling daarna nog altijd zelf aanpassen."},{"num":"v25.48","type":"polish","title":"Onderdelen-instellingen rustiger vormgegeven","problem":"Op de pagina \"Welke onderdelen zie je in het menu?\" stond elke aan/uit-instelling in een eigen zwevende kaart met schaduw â een lange stapel die druk en zwaar oogde.","solution":"De instellingen staan nu netjes gegroepeerd in één paneel met dunne scheidingslijntjes (zoals een instellingen-lijst), en de doelgroep-kaarten zijn lichter gemaakt. Rustiger beeld, zelfde functies."},{"num":"v25.47","type":"bugfix","title":"Links in Bluesky-posts zijn nu klikbaar","problem":"Een URL in een via de planner geplaatste Bluesky-post werd als platte, niet-klikbare tekst getoond â Bluesky maakt links alleen klikbaar als ze expliciet worden meegestuurd.","solution":"De planner stuurt links nu correct mee (als \"facets\"), zodat ze in de Bluesky-post gewoon aanklikbaar zijn."}]},{"date":"2026-08-16","version":"v25.46","clV":"v0.858","title":"Outlook werkt nu volledig in het e-mailscherm","items":[{"num":"v25.46","type":"feature","title":"Outlook-mailboxen: lezen, beantwoorden, versturen, mappen, sterren â alles","problem":"Een gekoppeld Outlook/Microsoft 365-account kon in het e-mailscherm nog niets: geen inbox lezen en niet versturen. Alleen Gmail en IMAP werkten volledig.","solution":"Outlook werkt nu op hetzelfde niveau als Gmail en IMAP: inbox en mappen lezen, berichten openen, beantwoorden/allen beantwoorden/doorsturen, versturen, markeren als (on)gelezen, sterren en verplaatsen/verwijderen â allemaal vanuit hetzelfde scherm."},{"num":"v25.45","type":"feature","title":"Bijlagen meesturen bij e-mail","problem":"Je kon in het e-mailscherm geen bestanden meesturen bij een nieuwe mail of een antwoord.","solution":"Er staat nu een bijlage-knop in het opstel- en antwoordvenster. Voeg bestanden toe (tot 10 stuks, samen ~25 MB), zichtbaar als chips die je weer kunt weghalen. Werkt voor Gmail, Outlook en IMAP â ook grote bestanden bij Outlook."},{"num":"v25.44","type":"feature","title":"Ontvangen bijlagen openen en downloaden","problem":"Je zag wel dat een e-mail een bijlage had, maar kon die niet openen of downloaden.","solution":"Bij een geopende e-mail verschijnen de bijlagen nu als klikbare chips (met naam en grootte) onder het bericht â één klik om te downloaden. Werkt voor Gmail, Outlook en IMAP."},{"num":"v25.43","type":"feature","title":"Opmaak in je e-mails (vet, cursief, lijsten, links)","problem":"Het opstellen van e-mail kon alleen in platte tekst â geen vet, cursief, opsommingen of links.","solution":"Het opstel- en antwoordvenster heeft nu een opmaakbalk: vet, cursief, onderstrepen, opsommingen, genummerde lijsten, links en opmaak-wissen. De mail gaat als nette HTML de deur uit (met platte-tekst-fallback), voor Gmail, Outlook en IMAP."},{"num":"v25.42","type":"feature","title":"Concepten opslaan en hervatten","problem":"Je kon een half-af bericht niet als concept bewaren om later af te maken.","solution":"In het opstelvenster zit nu \"Concept opslaan\". Je concept verschijnt in de map Concepten en je opent het later met \"Concept bewerken\" om af te maken en te versturen. Werkt voor Gmail, Outlook en IMAP."},{"num":"v25.41","type":"feature","title":"Je eigen mappen in de mailbox","problem":"Alleen de standaardmappen (Postvak IN, Verzonden, enz.) waren zichtbaar â je eigen mappen en labels niet.","solution":"Kies een specifieke mailbox (onder Inboxen) en je eigen mappen verschijnen onder \"Mappen\" in de zijbalk â klik erop om de inhoud te bekijken. Werkt met Gmail-labels, Outlook-ma
2ppen en IMAP-mappen."},{"num":"v25.40","type":"polish","title":"Adres-suggesties bij het opstellen","solution":"Terwijl je een ontvanger typt, stelt de mail nu je klant-adressen voor (in het \"Aan\"- en doorstuur-veld), zodat je niet steeds het volledige adres hoeft te typen."},{"num":"v25.39","type":"feature","title":"Gepland verzenden van e-mail","problem":"Je kon een e-mail alleen meteen versturen, niet klaarzetten voor een later moment.","solution":"Kies in het opstelvenster een datum/tijd bij het klok-icoon en de knop wordt \"Plan verzending\" â de mail gaat automatisch op dat moment uit. In de zijbalk zie je onder \"Gepland\" al je geplande mails en kun je ze annuleren. Werkt voor Gmail, Outlook en IMAP."},{"num":"v25.38","type":"feature","title":"HubSpot koppelen en contacten importeren (per bureau)","problem":"Stonden je klant- en contactgegevens in HubSpot, dan moest je die handmatig overtypen in Senly.","solution":"Bij Integraties, CRM koppel je nu je eigen HubSpot met één klik. Daarna haal je je HubSpot-contacten op als leads in de pipeline die je kiest, waarbij dubbele contacten worden overgeslagen. Jouw koppeling is alleen voor jouw bureau zichtbaar."},{"num":"v25.37","type":"feature","title":"Je eigen Trello koppelen (per bureau)","problem":"De Trello-koppeling werkte tot nu toe alleen via één centraal account, dus niet elk bureau kon zijn eigen Trello gebruiken.","solution":"Bij Integraties, Taken koppel je nu veilig je eigen Trello aan Senly. Je eigen boards worden per klant automatisch op naam gekoppeld, en een ander bureau ziet nooit jouw boards."},{"num":"v25.36","type":"feature","title":"Gesprekken sluimeren (snooze)","problem":"E-mails die je later wilde oppakken bleven je inbox vullen.","solution":"Open een e-mail en klik op het sluimer-icoon om âm tijdelijk uit je inbox te halen (over 3 uur, morgen, volgende week of een eigen moment). Op dat moment komt het gesprek vanzelf terug. Onder \"Sluimeren\" in de zijbalk zie je wat er sluimert en haal je het desgewenst eerder terug."},{"num":"v25.35","type":"bugfix","title":"Integraties-overzicht toont nu gekoppelde + beschikbare bronnen","problem":"Op de Integraties-pagina toonde het blok Bestanden alleen Google Drive, en E-mail alleen IMAP â terwijl OneDrive, Dropbox, Gmail en Outlook ook koppelbaar zijn.","solution":"Elke kaart toont nu bovenaan de gekoppelde bron en daaronder een kleine \"Beschikbaar\"-rij met wat je nog kunt koppelen. Bestanden: Google Drive gekoppeld, OneDrive en Dropbox beschikbaar. E-mail: IMAP actief, Gmail en Outlook beschikbaar."},{"num":"v25.34","type":"polish","title":"Rustiger zijbalk: Planner en Academy eruit","problem":"De Planner stond al in het menu terwijl nog niet alle publicatie-verbindingen werken, en de Academy nam permanent een plek in de zijbalk in.","solution":"Beide zijn uit de zijbalk, de mobiele nav en het zoekvenster (Cmd+K) gehaald. De Academy blijf je bereiken via je profiel; de Planner krijgt zijn ingang op de Contentkalender zodra alles werkt."},{"num":"v25.33","type":"polish","title":"Contentkalender: knop naar de Senly Planner (binnenkort)","solution":"Rechtsboven op de Contentkalender staat nu een \"Senly Planner\"-knop met het label Binnenkort. Zodra alle publicatie-verbindingen live zijn, wordt dat de doorklik van de kalender-preview naar de volledige planner."},{"num":"v25.32","type":"feature","title":"\"Vandaag\"-widget op je dashboard","problem":"Het dashboard toonde je afspraken van vandaag niet, terwijl dat juist de meest tijd-kritische informatie is.","solution":"Er is een nieuwe \"Vandaag\"-widget bovenaan het dashboard met de afspraken van vandaag (inclusief deelname-link), taken die vandaag verlopen, boekingen die op goedkeuring wachten en het aantal verlopen taken. Nieuwe gebruikers krijgen de widget standaard; bestaande gebruikers voegen hem toe via \"Widget toevoegen\"."},{"num":"v25.31","type":"feature","title":"Rondleiding voor nieuwe gebruikers","problem":"Wie voor het eerst inlogde kreeg geen begeleiding door het portaal.","solution":"Bij de eerste sessie start nu automatisch een korte rondleiding die de belangrijkste onderdelen aanwijst. Stappen die voor jouw rol niet zic
2htbaar zijn worden overgeslagen, en na afronden komt de rondleiding niet meer terug."},{"num":"v25.30","type":"bugfix","title":"Campagnes slaan afgemelde en bouncende adressen automatisch over","problem":"E-mailcampagnes hielden geen rekening met de suppressielijst, waardoor adressen met een eerdere bounce of spamklacht toch opnieuw gemaild werden.","solution":"De campagne-verzending controleert nu de suppressielijst en slaat die adressen automatisch over (zichtbaar als overgeslagen). Dat beschermt de bezorgbaarheid en reputatie van je verzendadres."},{"num":"v25.29","type":"feature","title":"Bankimport koppelt betalingen automatisch aan facturen","problem":"Na het importeren van een bankafschrift moest je elke betaling handmatig aan de juiste factuur koppelen.","solution":"Zekere matches (factuurnummer in het betalingskenmerk met het exacte openstaande bedrag, of een uniek exact bedrag met naam-overeenkomst en dezelfde valuta) worden nu automatisch geboekt en de factuur op betaald of deels-betaald gezet. De rest blijft als suggestie staan voor handmatige controle, en ontkoppelen kan altijd."},{"num":"v25.28","type":"feature","title":"Geboekte afspraken belanden automatisch in je CRM","problem":"Een via je boekingslink geplande afspraak bleef los staan van je CRM en je klanten.","solution":"Een nieuwe boeking wordt nu automatisch gekoppeld: is de deelnemer al een klant, dan verschijnt de afspraak bij die klant; is het een nieuwe prospect, dan komt er automatisch een lead in je eerste pipeline (bron Afspraak). Een bestaande lead krijgt een contactmoment op de tijdlijn."},{"num":"v25.27","type":"feature","title":"Verstuurde e-mail werkt je CRM-tijdlijn bij","problem":"Mail die je vanuit het e-mailscherm naar een lead of contact stuurde verscheen niet op de CRM-tijdlijn, en het laatste-contactmoment klopte daardoor niet.","solution":"Een verzonden mail naar een adres dat matcht met een lead of contact logt nu automatisch een contactmoment en werkt Laatste contact bij. Zo klopt de warm/koud-signalering zonder handmatig loggen."},{"num":"v25.26","type":"feature","title":"Getekend contract start automatisch de onboarding","problem":"Na ondertekening moest je de klant handmatig op het onboarding-bord zetten.","solution":"Zodra een contract is ondertekend maakt Senly automatisch een onboarding-kaart voor die klant aan in je eerste onboarding-flow â mits je een onboarding-flow hebt ingericht en de klant er nog niet in staat."},{"num":"v25.25","type":"bugfix","title":"Contract toont nu het juiste maandtarief","problem":"Bij klanten met een aangepast maandtarief (via Per dienstverlening of een handmatige override) kon een gegenereerd contract een leeg of verouderd bedrag tonen.","solution":"De contractgeneratie leest nu dezelfde omzetbron als facturatie en commissie (het actuele maandtarief), zodat het bedrag in het contract altijd klopt."},{"num":"v25.24","type":"bugfix","title":"Creditfacturen kunnen niet meer boven het factuurbedrag uitkomen","problem":"Een concept-creditfactuur kon bij het bewerken naar een hoger bedrag dan de bronfactuur worden gewijzigd (over-creditering).","solution":"Ook bij het bewerken van een creditfactuur geldt nu de cap: samen met bestaande credits kan nooit meer dan het oorspronkelijke factuurbedrag worden gecrediteerd."},{"num":"v25.23","type":"security","title":"Beveiliging: aanscherping van toegang en kostenlimieten","solution":"Berichten-zoeken toont alleen nog kanalen waar je lid van bent; klant-customfields en bladwijzers zijn strakker afgeschermd; enkele klant-acties (planner-import, huisstijl, offertes, websites) respecteren nu de manager-scoping; een AI-tool valt nu onder de gedeelde kostenlimiet; en de CSV-export van klantdata is beschermd tegen formule-injectie."},{"num":"v25.22","type":"polish","title":"Duidelijkere menu-iconen","problem":"Meetings had hetzelfde icoon als Team, en Integraties hetzelfde als Social accounts.","solution":"Meetings krijgt nu een eigen (video)icoon en Integraties een eigen icoon, zodat je de items in de zijbalk sneller uit elkaar houdt."},{"num":"v25.21","type":"bugfix","title":"Referral-links werken nu ook met kleine letters","problem":"Een uitnodigingslink met een code in kleine letters (?ref=...) toonde geen extra proefdagen.","solution":"De referral-check is nu hoofdletter-ongevoelig, zodat de +7-dagen-trialbadge altijd verschijnt bij een geldige code."},{"num":"v25.20","type":"performance","title":"Lichtere achtergrond-verzoeken","solution":"De support-inbox-badge en enkele overzichten doen nu lichtere, begrensde databaseverzoeken. Dat verlaagt de belasting op de achtergrond zonder dat je er iets van merkt."},{"num":"v25.19","type":"bugfix","title":"Chat-herinneringen werken nu","problem":"Je kon een herinnering op een chatbericht zetten, maar er ging nooit een melding af.","solution":"Verstreken chat-herinneringen sturen nu automatisch een melding naar je belletje, zodat je een bericht niet meer vergeet op te volgen."},{"num":"v25.18","type":"feature","title":"Facturen krijgen automatisch de status Te laat","problem":"Facturen over hun vervaldatum bleven op Verstuurd staan; de status Te laat werd nergens vastgelegd, waardoor filters en overzichten niet klopten.","solution":"Een dagelijkse controle zet uitgegeven, onbetaalde facturen met een verstreken vervaldatum automatisch op Te laat."},{"num":"v25.17","type":"feature","title":"Terugkerende taken worden nu automatisch aangemaakt","problem":"Terugkerende taken werden alleen aangemaakt als iemand de Takenbeheer-pagina opende; deed niemand dat, dan bleven periodes liggen.","solution":"Een dagelijkse controle rolt terugkerende taken nu automatisch uit voor alle bureaus. Een dubbelklik bij het afronden geeft geen dubbele taken meer, en maandelijkse taken schuiven netjes naar de laatste dag van kortere maanden (31 jan wordt 28/29 feb i.p.v. 3 maart)."},{"num":"v25.16","type":"feature","title":"Vroegtijdige waarschuwing bij klanten die aandacht vragen","problem":"Er was geen vroeg signaal wanneer een klant dreigde af te haken; risicos zoals lang geen posts, te-late facturen of stilte bleven ongezien tot het te laat was.","solution":"Senly berekent nu dagelijks een gezondheidsscore per klant uit gegevens die er al zijn â publicatie-cadans, te-late facturen, openstaande taken en activiteit. Zakt een klant naar Let op of lager, dan krijgt de accountmanager automatisch een melding, zonder dat je iets extra hoeft in te vullen."},{"num":"v25.15","type":"polish","title":"Klant-gezondheid ook als dashboard-widget","solution":"Naast de dagelijkse melding kun je nu een Klant-gezondheid-widget op je dashboard zetten (via Widget toevoegen) met de klanten die aandacht vragen, meest urgent eerst."},{"num":"v25.14","type":"feature","title":"Afmeldlink in e-mailcampagnes","problem":"Campagne-mails hadden geen afmeldlink. Dat is wettelijk verplicht voor commerciele mail en schaadt de bezorgbaarheid van je verzendadres.","solution":"Elke campagne-mail bevat nu onderaan een persoonlijke afmeldlink. Wie zich afmeldt komt automatisch op de suppressielijst en ontvangt geen mailings meer â met één klik, zonder account. Het adres in de link is versleuteld, dus niet zic
2htbaar of te vervalsen."},{"num":"v25.13","type":"feature","title":"Pipedrive koppelen en contacten importeren","problem":"Alleen HubSpot kon je als eigen CRM koppelen, dus bureaus die met Pipedrive werken konden hun contacten niet naar Senly halen.","solution":"Je koppelt nu ook je eigen Pipedrive met één klik onder Integraties, CRM. Daarna haal je je Pipedrive-contacten op als leads in de pipeline die je kiest, waarbij dubbele contacten (zelfde e-mail of naam) worden overgeslagen."},{"num":"v25.12","type":"bugfix","title":"Vastgelopen campagnes herstellen automatisch","problem":"Als het versturen van een campagne halverwege afbrak, kon de campagne permanent op Bezig met verzenden blijven staan en was hij niet meer te hervatten.","solution":"Een controle zet zo een vastgelopen campagne automatisch terug naar Mislukt, zodat je met Verstuur rest de overgebleven ontvangers alsnog kunt bereiken. Al verzonden mails gaan niet opnieuw de deur uit."},{"num":"v25.11","type":"feature","title":"Instagram-groeitool: automatisch relevante volgers werven","problem":"Voor Instagram-groei was je afhankelijk van een externe tool; binnen Senly kon je alleen een AI-profielcheck doen.","solution":"In de Instagram-tool zit nu een Groei-blok: stel tot 30 doelaccounts in (concurrenten, bedrijven, influencers) en de tool volgt automatisch relevante volgers van die accounts â met optioneel een like op hun recente post. Je stelt een daglimiet in en start of stopt de sessie zelf; de voortgang zie je live. Draait via de Senly Connector op je eigen ingelogde sessie, en stopt automatisch bij een Instagram-beperking (geen omzeiling)."},{"num":"v25.10","type":"polish","title":"Klant-gezondheid in je eigen taal + steviger op de achtergrond","solution":"De redenen bij de klant-gezondheidsscore en de bijbehorende meldingen verschijnen nu in je eigen taal (NL/EN/DE/FR). Daarnaast een paar robuustheidsverbeteringen onder de motorkap: creditfacturen kunnen ook bij gelijktijdig bewerken nooit boven het factuurbedrag uitkomen, een factuur wordt pas een dag ná de vervaldatum als Te laat gemarkeerd, en een trage campagne-verzending wordt niet meer per ongeluk als vastgelopen gezien."},{"num":"v25.09","type":"polish","title":"Betere bezorging van campagnes (List-Unsubscribe)","solution":"Campagne-mails krijgen nu de standaard List-Unsubscribe-header met één-klik-afmelden. Gmail en Outlook tonen daardoor een nette, ingebouwde afmeldknop bovenaan de mail â dat verbetert je bezorgbaarheid en is voor bulkverzending inmiddels een vereiste van Gmail/Yahoo."},{"num":"v25.08","type":"bugfix","title":"Campagnes versturen nu ook via Outlook","problem":"Een bureau met alleen een Outlook/Microsoft 365-mailbox kon geen e-mailcampagne versturen â de verzending kende alleen Gmail en IMAP en gaf een foutmelding bij Outlook.","solution":"Campagne-verzending werkt nu ook met een Outlook-mailbox, inclusief de afmeldlink onderaan de mail."},{"num":"v25.07","type":"feature","title":"Geaccepteerde offerte staat meteen klaar als concept-factuur","problem":"Na een geaccepteerde offerte moest je zelf handmatig een factuur maken â dat werd nog wel eens vergeten, met uitgestelde cashflow als gevolg.","solution":"Zodra een klant je offerte online accepteert, zet Senly automatisch een concept-factuur klaar met de regels en gegevens uit de offerte. Jij controleert en verstuurt de factuur zelf; hij gaat nooit vanzelf de deur uit, en er ontstaat nooit een dubbele."},{"num":"v25.06","type":"feature","title":"Nieuwe automatiserings-triggers: offerte, contract, factuur, afspraak","problem":"In de Workflow-automatisering ontbraken juist de gebeurtenissen die je modules verbinden.","solution":"Je kunt nu automatiseringen bouwen op vier nieuwe triggers: Offerte geaccepteerd, Contract getekend, Factuur te laat en Afspraak afgerond. Koppel er acties aan zoals een taak aanmaken, het team notificeren, een CRM-fase zetten of een mail sturen â via Automatiseringen."},{"num":"v25.05","type":"feature","title":"Nieuwe webhook-events: offerte geaccepteerd, factuur te laat, afspraak afgerond","problem":"Externe tools zoals Zapier, Make en n8n konden nog niet automatisch reageren op deze momenten in Senly.","solution":"Je kunt je automatiseringen nu ook laten reageren zodra een offerte is geaccepteerd, een factuur te laat is, of een afspraak is afgerond. Senly stuurt daarbij veilig ondertekende gegevens naar het adres dat je zelf instelt."},{"num":"v25.04","type":"feature","title":"E-mailcampagnes inplannen: stel nu op, verstuur automatisch later","problem":"Een campagne kon alleen direct de deur uit â je moest zelf online zijn op het juiste moment.","solution":"Kies bij het opstellen een datum en tijd; Senly verstuurt de campagne dan automatisch op dat moment, in batches en met dezelfde afmeld- en suppressie-bescherming als een directe verzending. Nog niet verstuurd? Je annuleert de inplanning met één klik."},{"num":"v25.03","type":"feature","title":"Asana koppelen en taken importeren","problem":"Na
2ast Trello was er nog geen manier om je eigen Asana aan Senly te koppelen.","solution":"Je koppelt nu ook je eigen Asana met één klik onder Integraties, Taken. Daarna haal je je open, aan jou toegewezen taken op als taken in Senly, inclusief deadline en omschrijving. Dubbele titels worden overgeslagen."},{"num":"v25.02","type":"bugfix","title":"Ingeplande campagnes en automatiseringen robuuster gemaakt","problem":"Een geannuleerde ingeplande campagne kon in een uitzonderlijk geval alsnog verstuurd worden, en bij heel grote aantallen liepen niet alle 'factuur te laat'- en 'afspraak afgerond'-automatiseringen mee.","solution":"Annuleren van een ingeplande campagne werkt nu altijd, het opnieuw versturen van een deels-mislukte campagne bereikt de ontvangers nu echt opnieuw, en de automatiseringen lopen voortaan voor elke factuur en afspraak mee, ook als er in één keer meer dan duizend tegelijk veranderen."},{"num":"v25.01","type":"polish","title":"GoHighLevel als nette integratie-kaart","solution":"De GoHighLevel-koppeling op de Taken-integratiepagina heeft nu dezelfde strakke koppel-kaart als Trello en Asana â verbonden/niet-verbonden in beeld met een koppel- of loskoppel-knop. Dit kaartje wordt de standaard voor elke integratiepagina."},{"num":"v25.00","type":"polish","title":"Dashboard-widgets passen zich aan je doelgroep aan","problem":"Nieuwe gebruikers kregen ongeacht hun rol dezelfde bureau-brede set dashboard-widgets, ook onderdelen (zoals de klantenlijst) die niet bij hun rol passen.","solution":"De standaard dashboard-indeling is nu per doelgroep afgestemd: een content creator start bijvoorbeeld met een compacte set zonder klanten- en omzetwidget. Alle widgets blijven beschikbaar via \"Widget toevoegen\", en je eigen opgeslagen indeling verandert niet."},{"num":"v24.99","type":"feature","title":"Automatische offerte-opvolging","problem":"Open offertes bleven soms liggen; er zelf achteraan mailen was handwerk dat makkelijk vergeten werd.","solution":"Zet in de Offertes-tab \"Open offertes automatisch opvolgen na X dagen\" aan. Senly stuurt dan één vriendelijke herinnering naar de klant zolang de offerte open staat â precies één keer per offerte, in de taal van de offerte."},{"num":"v24.98","type":"feature","title":"Deal-waarde van een gewonnen lead wordt de omzet van de nieuwe klant","problem":"Bij het omzetten van een lead naar klant startte de klant op â¬0 omzet â en de sales-commissies rekenden daardoor met â¬0 â tot iemand het maandbedrag handmatig invulde.","solution":"De waarde die je op de lead invulde wordt nu automatisch het startende maandtarief van de klant (maandwaarde 1-op-1, jaarwaarde gedeeld door 12). Zo klopt de omzet én de commissie meteen; eenmalige en uurtarieven laat Senly leeg zodat je die zelf bepaalt. Altijd aanpasbaar op de klantpagina."},{"num":"v24.97","type":"bugfix","title":"Integratie-overzicht toont nu de echte koppelstatus","problem":"Het integratie-overzicht toonde GoHighLevel als gekoppeld terwijl de koppeling uit stond, en je eigen gekoppelde HubSpot/Pipedrive/Trello/Asana/OneDrive/Dropbox verschenen er niet als actief.","solution":"De statusblokken kijken nu naar de echte situatie: GoHighLevel telt alleen mee als de koppeling aan staat, en je per-bureau gekoppelde tools (HubSpot, Pipedrive, Trello, Asana, OneDrive, Dropbox, Google Drive) tonen nu netjes als Actief."},{"num":"v24.96","type":"feature","title":"Rondleidingen op de Caption-, Content-ideeën- en Maandrapport-tool","problem":"Drie van de meest-gebruikte AI-tools misten een uitleg voor wie ze voor het eerst opent.","solution":"De eerste keer dat je de Caption Generator, Content-ideeën of het Maandrapport opent, wijst een korte rondleiding je stap voor stap de weg â in alle talen, en eenmalig per gebruiker."},{"num":"v24.95","type":"feature","title":"Escalatie na de laatste aanmaning wordt nu echt uitgevoerd","problem":"Je kon een escalatie-actie kiezen (admin op de hoogte stellen, dienst pauzeren, naar incasso), maar er gebeurde niets als een klant na álle herinneringen niet betaalde.","solution":"Zodra alle herinneringstrappen verstuurd zijn en de factuur een paar dagen later nog openstaat, krijgen de bureau-admins nu automatisch een melding met de door jou ingestelde vervolgactie â precies één keer per factuur."},{"num":"v24.94","type":"feature","title":"Gmail koppelen via Google (OAuth)","problem":"Op de e-mailpagina kon je Outlook al met één klik koppelen, maar Gmail koppelen kon alleen via de omweg met een app-wachtwoord.","solution":"Er staat nu een 'Koppel Gmail via Google'-knop naast Outlook, waarmee je Gmail rechtstreeks koppelt zonder app-wachtwoord. Je krijgt daarbij eenmalig een 'app niet geverifieerd'-melding van Google omdat onze koppeling nog niet formeel goedgekeurd is; kies dan Geavanceerd en Ga door. De app-wachtwoord-route blijft ook gewo
2on werken."},{"num":"v24.93","type":"bugfix","title":"Panelen en formulieren lopen niet meer vast bij een netwerkfout","problem":"Bij een trage of mislukte serverreactie bleef het Google Lighthouse-paneel eeuwig op \"Bezigâ¦\" staan, en de affiliate-bonusformulieren konden zichzelf zó vergrendelen dat zelfs de sluitknop niet meer werkte.","solution":"Deze schermen tonen nu netjes een foutmelding met een opnieuw-proberen-knop en blijven altijd bruikbaar, ook als de server traag is of een fout teruggeeft."},{"num":"v24.92","type":"feature","title":"ClickUp koppelen en taken importeren","problem":"Naast Trello en Asana kon je je eigen ClickUp nog niet aan Senly koppelen.","solution":"Je koppelt nu ook je eigen ClickUp met één klik onder Integraties, Taken. Daarna haal je je open, aan jou toegewezen taken op als taken in Senly, met deadline en omschrijving. Dubbele titels worden overgeslagen."},{"num":"v24.91","type":"performance","title":"Support-chat belast de server minder op de achtergrond","problem":"De support-chat ververste elke 4 seconden voor élke ingelogde gebruiker, ook als de bubble dicht was en het tabblad op de achtergrond stond â onnodige databelasting.","solution":"De chat pauzeert nu op een achtergrond-tabblad en ververst rustiger (elke 30s) zolang de bubble dicht is; zodra je hem opent, is het weer live. Je merkt er niets van behalve dat de app soepeler blijft."},{"num":"v24.90","type":"bugfix","title":"Gedempte chatkanalen tellen niet meer mee in de ongelezen-teller","problem":"Een kanaal op \"Dempen\" zetten had geen effect: de berichten uit dat kanaal bleven gewoon meetellen in het ongelezen-bolletje.","solution":"Gedempte kanalen â en kanalen met een tijdelijke \"niet storen\" â tellen nu niet meer mee in de ongelezen-teller in de zijbalk."},{"num":"v24.89","type":"bugfix","title":"Urenregistratie: juist label bij \"uren voeden kosten per klant\"","problem":"Het label bij de schakelaar zei \"nog geen koppeling â markering\", terwijl aanzetten de kosten per klant (en dus je marge) in de financiële module wél echt beïnvloedt.","solution":"Het label klopt nu: \"Actief â voedt kosten per klant\", zodat je weet dat de schakelaar echt effect heeft op je cijfers."},{"num":"v24.88","type":"security","title":"Signup-quiz beschermd tegen geautomatiseerd misbruik","problem":"Het opslaan van de aanmeldquiz had geen limiet op hoe vaak dat achter elkaar kon gebeuren.","solution":"Er geldt nu een limiet per bezoeker, zodat geautomatiseerde pogingen worden tegengehouden. Voor een gewone aanmelding verandert er niets."},{"num":"v24.87","type":"bugfix","title":"Beter bedienbaar met toetsenbord en schermlezer","problem":"Sommige bedieningselementen waren niet met het toetsenbord te bereiken of hadden geen naam voor schermlezers â o.a. de commissie-goedkeuring-schakelaar, de chat-verstuur- en sluitknoppen, de CRM-fasekeuze en verwijderbare tags.","solution":"Deze knoppen, schakelaars en velden zijn nu volledig met het toetsenbord te bedienen en hebben een duidelijke naam voor schermlezers."},{"num":"v24.86","type":"feature","title":"Monday.com koppelen en items importeren","problem":"Naast Trello, Asana en ClickUp was er nog geen manier om je eigen Monday.com aan Senly te koppelen.","solution":"Je koppelt nu ook je eigen Monday met één klik onder Integraties, Taken. Daarna haal je items uit je recente boards op als taken in Senly. Dubbele titels worden overgeslagen."},{"num":"v24.85","type":"bugfix","title":"Betalingen boeken race-vrij op de juiste factuurstand","problem":"Wanneer er bijna gelijktijdig twee (deel)betalingen op dezelfde factuur binnenkwamen, kon de ene boeking de andere per ongeluk overschrijven. Daardoor leek een betaalde factuur soms nog open te staan.","solution":"Betalingen op een factuur worden nu altijd na elkaar verwerkt, zodat ze netjes optellen en het openstaande bedrag altijd klopt."},{"num":"v24.84","type":"feature","title":"ClickUp koppelen met een persoonlijk API-token (backup)","problem":"Niet elk bureau kan in ClickUp een koppeling met eigen rechten aanmaken - dat is voorbehouden aan de Workspace-Owner en soms een betaald plan. Zonder die rechten werkte de gewone koppel-knop niet.","solution":"Er is nu een tweede manier om ClickUp te koppelen onder Integraties, Taken: klap 'Geen eigen koppeling?' open en plak je persoonlijke ClickUp API-sleutel (te vinden in je ClickUp-instellingen onder Apps). Deze manier werkt op elk plan en wordt net zo veilig bewaard."},{"num":"v24.83","type":"feature","title":"Notion koppelen en pagina-titels importeren","problem":"Er was nog geen manier om je eigen Notion-werkruimte aan Senly te koppelen.","solution":"Je koppelt nu ook je eigen Notion met één klik onder Integraties, Taken. Bij het koppelen kies je zelf welke pagina's of databases je deelt met Senly. De titels van die pagina's importeer je als taken; dubbele titels worden overgeslagen."},{"num":"v24.82","type":"performance","title":"CRM-rapportages laden sneller","problem":"De Rapportages-tab haalde zijn cijfers met acht losse database-vragen ná elkaar op.","solution":"Die vragen draaien nu parallel, zodat de rapportagepagina merkbaar sneller opent. De getoonde cijfers zijn identiek."},{"num":"v24.81","type":"feature","title":"Figma koppelen en design-bestanden bekijken","problem":"Na
2ast Canva was er nog geen manier om je eigen Figma-account te koppelen om te zien welke ontwerpbestanden je team heeft staan.","solution":"Er is een nieuwe Designs-pagina onder Integraties met een Figma-koppeling. Na koppelen zie je je recente Figma-bestanden per team, met naam, voorbeeldafbeelding en laatst-gewijzigd-datum, en een link naar Figma zelf. Senly kijkt alleen mee en past niets aan."},{"num":"v24.80","type":"bugfix","title":"Duidelijkere meldingen en steviger randgevallen in CRM en facturatie","problem":"Een paar acties gaven een verwarrende foutmelding of gedroegen zich onhandig: een handmatige herinnering ná de laatste aanmaning, de laatste pipeline-fase verwijderen, of een afgewezen/verlopen offerte omzetten. Ook verschenen bulk-verwijderde leads niet in de activiteitenfeed.","solution":"Deze acties geven nu een nette, begrijpelijke melding (of worden netjes geblokkeerd in plaats van te falen), en bulk-verwijderingen van leads worden weer in de activiteitenfeed gelogd."},{"num":"v24.79","type":"polish","title":"Figma-koppeling: voeg je team zelf toe voor de bestandenlijst","problem":"Na het koppelen bleef de Figma-bestandenlijst leeg, omdat Figma alleen bestanden binnen teams deelt en niet je persoonlijke concepten.","solution":"Onder de Figma-kaart plak je nu zelf de link naar je Figma-team, waarna Senly daarmee je bestanden ophaalt. Je kunt meerdere teams toevoegen en met één klik weer verwijderen. Zie je een lege lijst, dan verwijst de melding je direct naar deze stap."},{"num":"v24.78","type":"polish","title":"Dagelijkse briefing in je eigen taal, plus de juiste zoek-sneltoets per systeem","problem":"De voice-briefing toonde vaste Nederlandse teksten en een lichte achtergrond die in dark mode wegviel, en de zoekbalk toonde altijd âK â ook op Windows/Linux.","solution":"De dagelijkse briefing gebruikt nu je eigen taal en de juiste thema-kleuren (ook in dark mode), en de zoek-sneltoets toont âK op Mac en Ctrl+K op andere systemen."},{"num":"v24.77","type":"feature","title":"Moneybird koppelen en facturen bekijken","problem":"Op de Financiële-integratiepagina had je als bureau nog geen enkele koppel-optie.","solution":"Je koppelt nu Moneybird met één klik; Senly haalt automatisch je administratie op. Daarna zie je een lijst van je recente verkoopfacturen, met factuurnummer, klant, datum, bedrag en status (concept, openstaand, te laat of betaald), met een link naar Moneybird zelf. Senly kijkt alleen mee en past niets aan."},{"num":"v24.76","type":"feature","title":"Xero koppelen en facturen bekijken (internationaal)","problem":"Naast Moneybird voor Nederland was er nog geen boekhoud-koppeling voor bureaus met een internationale boekhouding.","solution":"Naast Moneybird kun je nu ook Xero koppelen met één klik. Daarna zie je je recente verkoopfacturen met nummer, klant, datum, bedrag en status. De koppeling ververst zichzelf automatisch, zodat je niet steeds opnieuw hoeft in te loggen."},{"num":"v24.75","type":"feature","title":"Buffer koppelen en gekoppelde social channels bekijken","problem":"Bij Integraties, Content-kalender stond alleen Metricool, dus bureaus die met Buffer werken konden hun eigen account niet koppelen.","solution":"Naast Metricool kun je nu ook Buffer koppelen met één klik. Daarna zie je welke social-mediakanalen (zoals X, Instagram, LinkedIn en TikTok) je aan Buffer hebt gekoppeld, met logo en platformnaam. Senly kijkt alleen mee; de koppeling ververst zichzelf automatisch."},{"num":"v24.74","type":"feature","title":"Linear koppelen en issues importeren","problem":"Naast Trello, Asana, Monday, ClickUp en Notion was er nog geen taken-koppeling voor bureaus met product- of ontwikkelteams die Linear gebruiken.","solution":"Je koppelt nu ook je eigen Linear met één klik onder Integraties, Taken. Daarna haal je je open, aan jou toegewezen items op als taken in Senly, met titel, beschrijving en deadline, over al je Linear-teams heen. Dubbele titels worden overgeslagen."},{"num":"v24.73","type":"feature","title":"Todoist koppelen en taken importeren","problem":"Bureaus die met Todoist werken - populair voor persoonlijk of klein-team-taakbeheer - konden hun account niet aan Senly koppelen.","solution":"Je koppelt nu ook je eigen Todoist met één klik onder Integraties, Taken. Daarna haal je je actieve taken op als taken in Senly, met titel, beschrijving en deadline. Dubbele titels worden overgeslagen."},{"num":"v24.72","type":"feature","title":"Jira koppelen en issues importeren","problem":"Bureaus met ontwikkel- of enterprise-klanten die Jira gebruiken konden hun Atlassian-omgeving niet aan Senly koppelen.","solution":"Je koppelt nu ook je Jira-omgeving met één klik onder Integraties, Taken. Daarna haal je je open, aan jou toegewezen items op als taken in Senly, met titel en deadline. Dubbele titels worden overgeslagen."},{"num":"v24.71","type":"feature","title":"Basecamp koppelen en to-do's importeren","problem":"Bureaus die met Basecamp werken
2- populair voor projectbeheer bij bureaus - konden hun account niet aan Senly koppelen.","solution":"Je koppelt nu ook je eigen Basecamp met één klik onder Integraties, Taken. Daarna haal je je open, aan jou toegewezen to-do's op als taken in Senly, over al je Basecamp-projecten heen, met titel, link en deadline. Dubbele titels worden overgeslagen."}]},{"date":"2026-08-14","version":"v24.70","clV":"v0.857","title":"Compacter portaal per doelgroep, plus planner en academy in het menu","items":[{"num":"v24.70","type":"feature","title":"Het menu past zich nu aan je doelgroep aan","problem":"De afgelopen maanden zijn er veel onderdelen bijgekomen (CRM, meetings, e-mailcampagnes, affiliate, workflows). Die verschenen voor iedereen, ook voor rollen die ze niet gebruiken, waardoor het menu voor bijvoorbeeld een content creator of in-house marketeer onnodig vol stond.","solution":"Op basis van de doelgroep die je bij aanmelden koos, toont het portaal nu alleen de onderdelen die bij die rol passen. Een content creator krijgt een compact menu rond content maken; een in-house marketeer een een-merk-modus zonder klant- en bureaubeheer. Alles blijft per onderdeel aan of uit te zetten via Instellingen, Onderdelen."},{"num":"v24.69","type":"polish","title":"Contentplanner en Academy staan nu direct in het menu","problem":"De nieuwe contentplanner en de Academy waren alleen via een omweg te bereiken en stonden niet in de zijbalk.","solution":"Beide staan nu gewoon in het hoofdmenu, zodat je ze in een klik opent."},{"num":"v24.68","type":"feature","title":"Outlook / Microsoft 365 koppelen voor e-mail","problem":"Outlook-gebruikers konden alleen koppelen via een apart e-mailwachtwoord; rechtstreeks inloggen met Microsoft ontbrak.","solution":"Je koppelt Outlook nu rechtstreeks met je Microsoft-account. De koppeling is veilig en werkt naast de bestaande wachtwoord-optie."},{"num":"v24.67","type":"feature","title":"Je eigen OneDrive koppelen voor klantbestanden","problem":"Klantbestanden uit OneDrive liepen via een gedeeld Senly-account, niet via je eigen bureau-account.","solution":"Bij Integraties, Bestanden koppel je nu je eigen OneDrive via Microsoft-login. Zodra je gekoppeld bent komen klantbestanden uit jouw account; koppel je niet, dan verandert er niets."},{"num":"v24.66","type":"feature","title":"Je eigen Dropbox koppelen voor klantbestanden","problem":"Ook Dropbox-bestanden liepen via een gedeeld account in plaats van je eigen bureau-Dropbox.","solution":"Bij Integraties, Bestanden koppel je nu je eigen Dropbox via een beveiligde login. Klantbestanden komen daarna uit jouw eigen Dropbox; zonder koppeling blijft alles werken zoals voorheen."}]},{"date":"2026-08-13","version":"v24.65","clV":"v0.855","title":"Beeldmateriaal-stoplicht per klant, en terugkerende taken behouden al hun klanten","items":[{"num":"v24.65","type":"bugfix","title":"Een taak voor meerdere klanten herhalend maken splitst niet meer per klant","problem":"Zette je een bestaande taak die aan meerdere klanten hing op herhaaldelijk, dan viel de koppeling met de extra klanten weg (of ontstonden er losse terugkerende taken per klant).","solution":"Een terugkerende taak onthoudt nu al zijn klanten. Maak je een taak voor klant A, B en C herhalend, dan blijft het één terugkerende taak die elke periode één taak voor A, B en C aanmaakt â precies zoals de originele taak."},{"num":"v24.64","type":"feature","title":"Nieuw: beeldmateriaal-overzicht met stoplicht per klant","problem":"Je moest per klant handmatig nagaan hoeveel aangeleverd beeldmateriaal er nog was; er was geen totaaloverzicht van waar het materiaal opraakte.","solution":"Er is nu een Beeldmateriaal-tab in de kalender plus een dashboard-widget. Per klant hou je een eenvoudige teller bij die automatisch op groen, oranje of rood springt (genoeg / bijna op / te weinig), zodat je in een oogopslag ziet bij welke klant je nieuw materiaal moet opvragen."},{"num":"v24.63","type":"feature","title":"Beeldmateriaal: teller of zelf een kleur kiezen â per klant of in bulk","solution":"Naast de automatische teller kun je nu ook per klant zelf rood, oranje of groen prikken (handig als je niet met aantallen wilt werken). Wisselen kan per klant of in één keer voor alle klanten via de knop bovenaan."},{"num":"v24.62","type":"feature","title":"Beeldmateriaal: klant op N.v.t. zetten als je zelf de visual
2s maakt","solution":"Heb je met een klant afgesproken dat er geen materiaal aangeleverd wordt (je maakt bijvoorbeeld zelf alles in Canva)? Zet die klant op N.v.t. â dan krijgt hij geen stoplicht meer en telt hij niet mee in de tellingen of de bijna-op-melding."},{"num":"v24.61","type":"feature","title":"Beeldmateriaal: notitie per klant","solution":"Bij elke klant kun je nu een korte notitie zetten met de afspraak over aanlevering (bijvoorbeeld \"alleen beeld, geen video\" of \"2x per maand\"). Klik op \"+ notitie\" onder de klantnaam om er een toe te voegen of te wijzigen."},{"num":"v24.60","type":"feature","title":"Beeldmateriaal: bron per klant (Google Drive, OneDrive, Dropbox, eigen bestanden, e-mail, WhatsApp, overig)","solution":"Geef per klant aan waar het materiaal vandaan komt. Heeft een klant al een gekoppelde map, dan staat de bron automatisch goed en opent het map-icoon precies die map. Kies \"Eigen bestanden\" als je de visuals zelf beheert, of \"E-mail\"/\"WhatsApp\" als klanten losse bestanden sturen."},{"num":"v24.59","type":"feature","title":"Beeldmateriaal: zoeken/filteren, materiaal opvragen, en op het klantprofiel","solution":"In het overzicht kun je nu filteren op status (klik een stoplicht-telletje) en zoeken op klantnaam. Bij een rode of oranje klant staat een knop om direct een mail klaar te zetten om nieuw materiaal op te vragen. En de status staat nu ook op het klantprofiel zelf (tab Content), waar je hem meteen kunt bijwerken."},{"num":"v24.58","type":"feature","title":"Beeldmateriaal opvragen vanuit Senly zelf","solution":"Heb je een mailbox gekoppeld in Senly, dan opent Opvragen nu een compose-venster in het portaal en verstuur je de aanvraag direct vanaf je eigen gekoppelde mail. Zonder gekoppelde mailbox opent hij zoals voorheen je eigen mailprogramma."},{"num":"v24.57","type":"polish","title":"Beeldmateriaal-overzicht volledig viertalig","solution":"De hele beeldmateriaal-functie (tab, klantkaart, opvraag-popup en de bron-labels) is nu vertaald in Nederlands, Engels, Duits en Frans, zodat alles meebeweegt met de gekozen portaaltaal."},{"num":"v24.56","type":"feature","title":"Opvraag-mail in de taal van de klant","solution":"In de opvraag-popup kies je nu de taal van de mail (NL/EN/DE/FR). Standaard staat hij op jouw portaaltaal; zet je hem op Engels, dan worden onderwerp en tekst meteen Engels â handig voor een Engelstalige klant."},{"num":"v24.55","type":"feature","title":"Beeldmateriaal: vaste taal per klant en \"laatst opgevraagd\"","solution":"Een klant onthoudt nu zijn taal: kies je in de opvraag-popup een taal, dan staat die de volgende keer meteen goed. En na het opvragen zie je een subtiele \"x dagen geleden opgevraagd\" bij die klant, zodat je niet per ongeluk dubbel mailt."},{"num":"v24.54","type":"bugfix","title":"Beeldmateriaal-overzicht: dark mode gefixt","problem":"In dark mode waren de klantnamen en statusteksten onleesbaar en toonde de bron-keuze een wit vlak, doordat het overzicht terugviel op licht-mode-kleuren.","solution":"Het overzicht, de klantkaart en de dashboard-widget gebruiken nu de juiste themakleuren, zodat alles in dark mode net zo goed leesbaar is als in light mode."},{"num":"v24.53","type":"polish","title":"Beeldmateriaal-overzicht: fijner scrollen en sorteren","solution":"De kolomkoppen blijven nu staan tijdens het scrollen, je kunt sorteren op klant, status of aantal (klik op een kop), het laden toont een nette skeleton en de \"+ notitie\"-knop verschijnt alleen bij hover zodat de rijen rustiger ogen."},{"num":"v24.52","type":"bugfix","title":"Inloggen: geen valse \"onjuist wachtwoord\" meer bij een systeemfout","problem":"Soms verscheen bij het inloggen \"Onjuist e-mailadres of wachtwoord\" terwijl de gegevens gewoon klopten â dat gebeurde als de database net even overbelast was tijdens het inloggen.","solution":"De inlog probeert de gebruiker nu een paar keer op te halen bij een tijdelijke storing, en toont bij een echte systeemfout een duidelijke \"er ging iets mis, probeer het zo opnieuw\" i.p.v. de misleidende wachtwoord-melding."},{"num":"v24.51","type":"performance","title":"Minder database-haperingen tijdens drukke momenten","problem":"De database kon tijdens pieken (o.a. rond geautomatiseerde taken en vlak na een update) t
2ijdelijk overbelast raken met te veel gelijktijdige verbindingen, wat inlog- en laadfouten gaf.","solution":"Het aantal gelijktijdige database-verbindingen is nu netjes begrensd, de opstart-taken openen kleinere verbindingen, en een zware CRM-tag-bewerking wordt in kleine stukjes verwerkt â samen houden ze de database ruim onder haar limiet, ook tijdens pieken."}]},{"date":"2026-08-13","version":"v24.50","clV":"v0.853","title":"Meer schermen volledig vertaald (Engels/Duits/Frans)","items":[{"num":"v24.50","type":"polish","title":"Klantprofiel-tabbladen, taken-vensters, planner-upload en webhooks nu meertalig","problem":"Op een aantal plekken in het portaal stond nog vaste Nederlandse tekst, ook als je Senly in een andere taal gebruikte.","solution":"De tabbladen Websites, Prestaties, Campagnes en Huisstijl op het klantprofiel, de vensters voor taken aanmaken en bewerken, het uploaden van video's in de planner en het beheer van automatische koppelingen zijn nu volledig vertaald naar Engels, Duits en Frans."},{"num":"v24.49","type":"polish","title":"Takenbeheer: snelle \"interne taak toevoegen\"-balk weggehaald","problem":"Boven de takenlijst stond een aparte snelinvoer-balk die de weergave onrustig maakte.","solution":"De snelinvoer-balk is verwijderd; nieuwe taken maak je via de knop \"Nieuwe taak\", die alle opties biedt."},{"num":"v24.48","type":"polish","title":"Financiële cijfers rustiger en chiquer weergegeven","problem":"De grote bedragen (maandinkomsten, -kosten, -winst en jaarwinst) stonden extra dik in fel groen en rood; de maandwinst gebruikte bovendien in de lichte modus een kleur die voor de donkere modus bedoeld was.","solution":"De cijfers staan nu in een lichter gewicht en een diepe, ingetogen tint richting de gewone tekstkleur â groen en rood blijven als signaal zichtbaar maar schreeuwen niet meer. De kleurfout in de lichte modus is opgelost."},{"num":"v24.47","type":"polish","title":"Dienstverlening-kaarten: bedragen in rusttoon i.p.v. computerletters","problem":"Op de kaarten per dienst (Beheer, Groeiservice, enz.) stonden inkomsten en kosten in een computerachtig lettertype in fel groen en rood; de winstregel had dezelfde lichte-modus-kleurfout als de tegels erboven.","solution":"Inkomsten en kosten staan nu in de gewone tekstkleur (het label zegt al wat het is), alleen de winstregel houdt een ingetogen groene of rode tint â zelfde recept als de grote tegels. Het computerlettertype is vervangen door de normale letter met nette cijferuitlijning."},{"num":"v24.46","type":"polish","title":"Concurrentie-ads alleen nog bij klanten met de dienst Advertenties","problem":"Het blok Concurrentie-ads stond op het tabblad Content van elke beheer- en groeiservice-klant, terwijl het een advertentie-tool is.","solution":"Het blok staat nu uitsluitend op het tabblad Campagnes, dat alleen bestaat voor klanten met de dienst Advertenties."},{"num":"v24.45","type":"polish","title":"Content-tabblad: blokken op een logische werkvolgorde gezet","problem":"De uitklapbare blokken op het tabblad Content stonden in een willekeurige volgorde â de kalender (die je het vaakst opent) stond niet bovenaan en het Metricool-beheerblok stond middenin het dagelijkse werk.","solution":"De volgorde volgt nu het werk-ritme: eerst de Content kalender (kijken wat gepland staat), dan de AI Content Generator en Canva (maken), dan de Beeldmateriaal-voorraad (grondstoffen), en als laatste de Metricool-koppeling (beheer)."},{"num":"v24.44","type":"polish","title":"Financieel-tabblad: cijfers bovenaan, deel-link naar onderen","problem":"Op het tabblad Financieel van een klant stond de deel-link naar het klantportaal bovenaan, boven de eigenlijke omzet-, kosten- en winstcijfers.","solution":"De financiële cijfers staan nu bovenaan, gevolgd door de sales-attributie; de deel-link naar het klantportaal (een beheer-actie, geen financieel gegeven) staat nu onderaan."},{"num":"v24.43","type":"bugfix","title":"Klantportaal-deellink wees naar een intern adres","problem":"De deelbare klantportaal-link werd opgebouwd uit het interne serveradres achter de proxy, waardoor er soms een onbruikbaar \"localhost\"-adres in de link stond dat een klant niet kon openen.","solution":"De link gebruikt nu het juiste publieke domein van het bureau
2(of het eigen whitelabel-domein als dat is ingesteld). Bestaande links worden automatisch correct getoond zodra de pagina opnieuw wordt geladen."},{"num":"v24.42","type":"polish","title":"Klantportaal (facturen-pagina voor klanten) rustiger en leesbaarder","problem":"Op de publieke facturen-pagina voor klanten viel de begroeting (\"Welkom, ...\") in het donker weg tegen de gekleurde header, en de cijfers en koppen stonden extra dik.","solution":"De begroeting is nu goed leesbaar op de header, en de pagina volgt hetzelfde rustige, verzorgde register als de rest van het portaal â lichtere letters, zachtere kaarten en meer ademruimte. De huisstijlkleur van het bureau blijft behouden."},{"num":"v24.41","type":"polish","title":"Financieel-tabblad opgeruimd met uitklapbare balken","problem":"Het tabblad Financieel van een klant toonde alle blokken (maandcijfers, account manager, sales-attributie, klantportaal-link) als grote altijd-open kaarten onder elkaar â dat oogde rommelig en week af van de andere tabbladen.","solution":"De blokken zijn nu uitklapbare balken, net als op de andere tabbladen. De maandcijfers staan open; account manager, sales-attributie en de klantportaal-link zijn ingeklapt."},{"num":"v24.40","type":"bugfix","title":"Financieel-balken: naam \"Maandcijfers\" en flikker bij uitklappen weg","problem":"De bovenste balk heette \"Financieel · per maand\" (verwarrend naast de tab-titel Financieel), en de balken flikkerden bij het uitklappen: de inhoud verscheen eerst vaag en werd dan scherp.","solution":"De balk heet nu \"Maandcijfers\". Alle uitklapbare balken (overal in het portaal) vouwen nu open zonder de vaag-naar-scherp-overgang â de inhoud is meteen scherp en de balk rolt alleen nog netjes open."},{"num":"v24.39","type":"polish","title":"Klantprofiel: dubbele tab-koppen weggehaald","problem":"Op elk tabblad van een klant stond de tabnaam nog een keer als grote kop in de inhoud (bijv. \"Contracten\" onder het tabblad Contracten) â dubbelop met het tabblad zelf.","solution":"De grote herhaalde kop is overal weg; het tabblad labelt de sectie al. Actieknoppen (zoals \"Nieuw contract\" of \"Takenbeheer\") blijven rechtsboven staan, en de kleinere sub-koppen binnen een tab blijven behouden."},{"num":"v24.38","type":"bugfix","title":"Changelog toonde \"1 dag geleden\" bij een update van vandaag","problem":"Een update die vandaag verscheen kon later op de dag \"1 dag geleden\" tonen in plaats van \"vandaag\", door een tijdzone-verschil in de datumberekening.","solution":"De relatieve tijd wordt nu in lokale kalenderdagen berekend, zodat een update van vandaag ook echt \"vandaag\" toont â ongeacht het tijdstip."},{"num":"v24.37","type":"bugfix","title":"Account manager & sales-attributie: geen knipper van de lege staat bij openen","problem":"Bij het uitklappen van Account manager of Sales attributie verscheen heel even de lege staat (\"nog een manager koppelen\" / \"geen gebruikers met deze rol\") vóórdat de al ingestelde gegevens laadden â waardoor de balk verspringt.","solution":"Tijdens het laden tonen deze balken nu een rustige laad-skeleton in plaats van de lege staat, zodat er niets misleidends knippert en de echte inhoud daarna netjes verschijnt."},{"num":"v24.36","type":"polish","title":"Takenbeheer: rustiger bovenkant met minder lagen","problem":"Boven de takenlijst stapelden zich vier lagen op: vier losse statistiek-blokjes, de werkbalk, een aparte Workload-regel en de filterrij â dat oogde rommelig en druk.","solution":"De vier statistieken staan nu als één stille tekstregel rechtsboven, de Workload-verdeling is een klein knopje rechts in de filterrij geworden (klik opent een net paneeltje met de verdeling per teamlid), filters zonder taken tonen geen \"0\" meer en de prullenbak is een compact icoon. Alles blijft bereikbaar â er is alleen minder visuele drukte."},{"num":"v24.35","type":"polish","title":"Financiële tegels: bedragen ietsje dikker","solution":"De grote bedragen op de financiële overzichtspagina staan nu in een iets steviger lettergewicht â beter leesbaar, met behoud van de rustige kleurtinten."},{"num":"v24.34","type":"polish","title":"Taken-integratiepagina: alles per aanbieder gebundeld","problem":"De pagina w
2as een lange stapel losse blokken: de import-knoppen en instelstappen zweefden los onder de aanbieder-kaarten, waardoor onduidelijk was wat bij wat hoorde.","solution":"Elke aanbieder (GoHighLevel, Trello, Asana, ClickUp, Monday) is nu één kaart met alles erin: de koppel-status, de import-actie (verschijnt zodra gekoppeld) en eventuele instelstappen (alleen zichtbaar zolang er nog niets gekoppeld is). Van elf losse blokken naar zeven overzichtelijke kaarten."},{"num":"v24.33","type":"polish","title":"Ook CRM-, financieel-, e-mail- en bestanden-integraties opgeruimd","problem":"Dezelfde rommeligheid zat op de andere integratiepaginaâs: losse import-blokken en \"Stap 1/Stap 2\"-kaarten zweefden onder de aanbieder-kaarten.","solution":"Bij CRM zit de contacten-import nu Ãn de HubSpot- en Pipedrive-kaart (de kaart is de bron, dus de bron-keuzelijst is overbodig geworden). Bij Financieel zit de instelstap in de GoHighLevel-kaart en verschijnt alleen zolang er niets gekoppeld is. Bij E-mail en Bestanden zijn de losse stap-kaarten samengevoegd tot één logische instelkaart."},{"num":"v24.32","type":"polish","title":"Integraties tonen nu de echte merk-logoâs","problem":"De integratie-kaarten gebruikten zelfgetekende iconen die maar half op de echte merken leken.","solution":"Trello, Asana, ClickUp, Monday.com, Notion, HubSpot, Pipedrive, Dropbox en OneDrive tonen nu hun officiële logo in de eigen merkkleur. Google Drive had het echte logo al."},{"num":"v24.31","type":"bugfix","title":"Datumkiezer: gekozen datum weer in de merkkleur","problem":"In de datumkiezer (bijvoorbeeld bij de deadline van een taak) kleurde de gekozen datum bijna zwart: de kleur werd extra donker gemengd én de cijferkleur werd in de lichte modus overschreven.","solution":"De gekozen datum staat nu gewoon in de merkkleur van je portaal met goed leesbare tekst erop."}]}
2,{"date":"2026-08-12","version":"v24.30","clV":"v0.852","title":"Kalender: video-posts tonen nu netjes en spelen af","items":[{"num":"v24.30","type":"bugfix","title":"Video in de kalender: thumbnail met play-knop i.p.v. een leeg vak","problem":"Video-posts verschenen in de kalender vaak als een leeg vak en lieten zich niet afspelen.","solution":"Video-posts tonen nu een poster of thumbnail met een play-knop en spelen af in de detailweergave. De thumbnail-detectie uit Metricool is verbreed, eigen uploads (inclusief HEIC en AVIF) laden correct, en externe video-URLs gaan via een proxy zodat de preview altijd verschijnt."}]},{"date":"2026-08-11","version":"v24.29","clV":"v0.843","title":"Launchpad uitgelijnd + Takenbeheer rustiger en strakker","items":[{"num":"v24.29","type":"polish","title":"Academy/Hulp/Nieuw-cards even breed als de \"Waar sta je nu?\"-box","solution":"De drie cards rechtsonder op het Launchpad zijn nu even breed als de status-box erboven, en de takenlijst lijnt aan de rechterkant precies uit met de voortgangsbalk in de hero (gelijke kolombreedte + gap)."},{"num":"v24.28","type":"polish","title":"Takenbeheer in rustige Apple/Linear-stijl","problem":"De takenpagina oogde druk: veel kleur, badges en losse balken boven elkaar.","solution":"De pagina is rustiger en overzichtelijker gemaakt: duidelijke tabs, cijfers zonder overbodige kleur (rood verschijnt alleen als er echt taken verlopen zijn), zoeken en weergave in één balk, deadlines als gekleurde tekst in plaats van vlakken, en prioriteit en status als rustig stipje met tekst."},{"num":"v24.27","type":"polish","title":"Team-chatknop weg uit de headerbalk","solution":"De losse team-chatknop naast de zoekbalk is verwijderd; de header houdt nu alleen de zoekbalk en de meldingen-bel."},{"num":"v24.26","type":"bugfix","title":"Info-popover op Tools verscheen niet meer achter de zoekbalk","problem":"De uitleg-popover van het (i)-knopje op de Tools-pagina viel deels achter de gecentreerde zoekbalk in de header.","solution":"De info-popover wordt nu boven de vaste header getekend, zodat de volledige uitleg leesbaar is â overal waar dit (i)-patroon gebruikt wordt."},{"num":"v24.25","type":"bugfix","title":"Bubble-map popup bij bovenrand afgesneden + toggle-tekst onleesbaar","problem":"De hover-popout op de Tools-bubbelpagina stond altijd boven de bubble. Bij bubbles dicht bij de bovenrand werd de kaart afgesneden. Daarnaast was de tekst op het actieve segment van de Grid/Bubbels-toggle zwart-op-donker in dark mode.","solution":"De popout detecteert nu of er te weinig ruimte boven de bubble is en klapt in dat geval eronder. De toggle-tekst is wit gemaakt met voldoende contrast in zowel dark als light mode."}]},{"date":"2026-08-11","version":"v24.24","clV":"v0.842","title":"Terugbetalingen & chargebacks: gewonnen dispute herstelt alles, deel-refunds proportioneel","items":[{"num":"v24.24","type":"bugfix","title":"Een gewonnen chargeback herstelt nu de commissie én de omzet","problem":"Bij een chargeback werd de commissie teruggedraaid en de factuur uit de omzet gehaald â maar als je de dispute daarna WON, bleef alles ten onrechte teruggedraaid staan: de affiliate miste een terechte commissie en de omzet was te laag.","solution":"Zodra een dispute wordt gewonnen, wordt alles automatisch hersteld (commissie terug, factuur weer in de omzet). Wordt de dispute verloren, dan blijft de terugdraaiing staan en gaat het bureau op \"opnieuw betalen\" (de klant heeft immers niet betaald)."},{"num":"v24.23","type":"bugfix","title":"Deel-terugbetalingen verrekenen nu proportioneel","problem":"Een gedeeltelijke terugbetaling liet de affiliate-commissie volledig staan (die moest handmatig).","solution":"Bij een deel-refund wordt exact dat percentage van de commissie teruggevorderd, ook bij meerdere opeenvolgende deel-refunds. Bij elke refund/chargeback krijgt de beheerder bovendien een mail als reminder voor de handmatige Moneybird-creditnota."},{"num":"v24.22","type":"bugfix","title":"Financiële integratiepagina crasht niet meer op een mislukte laadpoging","problem":"De pagina Financiële integratie kon volledig omvallen met \"Er ging iets mis\" wanneer de onderliggende gegevens niet geladen konden worden (bijvoorbeeld door een rechten- of verbindingsfout).","solution":"De pagina vangt een mislukte laadpoging nu netjes op en toont een duidelijke melding in plaats van een leeg foutscherm."},{"num":"v24.21","type":"bugfix","title":"Financiële integratie: alleen nog voor de platform-eigenaar","problem":"De koppeling van omzet/kosten/commissie aan GoHighLevel-pipelines is één platform-brede instelling, maar de pagina stond in het bureau-admin-menu â waar hij niet te openen was en een foutmelding gaf.","solution":"Deze instelling is nu alleen zichtbaar en instelbaar voor de platform-eigenaar. Voor bureau-admins verdwijnt de kaart uit het integratie-overzicht, zodat niemand meer op een ontoegankelijke pagina uitkomt."},{"num":"v24.20","type":"polish","title":"Statistieken: rustigere cirkeldiagrammen","problem":"De cirkeldiagrammen bij Branches en Platformen hadden zware gradient-segmenten, een gloed per segment, een stippel-binnenring en een verlopend center-getal â druk en gedateerd naast de rest van het portaal.","solution":"De diagrammen zijn vlak en verfijnd geworden: een slanke ring met effen tinten van licht naar donker, een rustig getal in het midden en nette legenda-stippen. Het aanwijzen van een segment licht nog steeds subtiel op."},{"num":"v24.19","type":"bugfix","title":"Contentplanner: kapotte thumbnails vervangen door nette placeholder","problem":"Bij een post kon in de agenda-, lijst- en bibliotheekweergave het standaard-browser kapotte-plaatje-icoon opduiken â bijvoorbeeld als een media-URL geen zichtbare bestandsextensie heeft, of als een remote afbeelding/video niet bereikbaar is.","solution":"De planner probeert nu automatisch een tweede rendering (video als afbeelding-poging faalt, of andersom) en toont bij een echt kapotte URL een neutraal foto-icoontje in plaats van het âbroken imageâ-symbool. De post zelf blijft gewoon zichtbaar en aanklikbaar."},{"num":"v24.18","type":"bugfix","title":"Media-import & -serving: drie oorzaken van kapotte thumbnails weggenomen","problem":"Afbeeldingen en video's in de planner konden om verschillende redenen kapot verschijnen: foto's van iPhones werden niet altijd goed herkend, en bij het overnemen van berichten uit externe feeds werden video's of onbruikbare links soms per ongeluk als afbeelding behandeld.","solution":"Foto's en video's in de gangbare formaten (waaronder iPhone-foto's) worden nu correct herkend en getoond, het overnemen van externe feeds slaat video's en onbruikbare links nu over, en er wordt op de achtergrond automatisch gecontroleerd of een afbeeldingslink wel bruikbaar is voordat een bericht wordt ingepland. Bestaande berichten blijven gewoon werken."},{"num":"v24.17","type":"bugfix","title":"Contentkalender: post-thumbnails blijven leeg bij eigen upload-URLs","problem":"In de weekkalender bleven s
2ommige post-thumbnails leeg (een wit vak i.p.v. de afbeelding). Alle thumbnails werden door de img-proxy geladen, die een strikte lijst van toegestane externe hosts had â upload-URLs van je eigen portaal en van sommige CDNâs zaten niet in die lijst en werden geweigerd.","solution":"Eigen-portaal-URLs worden nu direct geladen, niet meer via de proxy. Bestaande URLs die naar het oude portaal-domein wijzen blijven werken via de proxy (whitelist uitgebreid met senly.io en socialmediatools.nl). Als een externe afbeelding toch niet geladen kan worden, verschijnt hetzelfde neutrale foto-icoon als in de andere planner-weergaves."},{"num":"v24.16","type":"bugfix","title":"Contentkalender: video-posts tonen nu de poster met play-icon","problem":"Video-posts (bijvoorbeeld een reel) toonden in de weekkalender een leeg vak of een foto-placeholder. De code stuurde de video-URL zelf naar de afbeelding-proxy, en die weigert videoâs â dus laadde er niets.","solution":"Voor video-posts wordt nu de poster/thumbnail uit de bron gebruikt (niet meer de video-URL zelf) en verschijnt er een klein play-icon over de thumbnail zodat je in één oogopslag ziet dat het een video is. Heeft de video geen poster? Dan toont de kaart een net play-icoon in plaats van een leeg vak."},{"num":"v24.15","type":"polish","title":"Contentkalender: video-preview (eerste frame) als er geen poster is","problem":"Voor video-posts zonder aparte thumbnail toonde de kalender alleen een play-icoon in een grijs vak â je kon niet zien wat er in de video zat.","solution":"Wanneer er geen aparte poster beschikbaar is, laadt de kalender nu het eerste frame van de video als preview (via een klein stukje video-metadata, niet de hele video). Werkt voor je eigen uploads en voor videoâs op de bekende social-CDNâs; bij een onbekende bron of een fout blijft het nette play-icoon staan."},{"num":"v24.14","type":"bugfix","title":"Contentkalender: video-preview werkt nu ook voor Metricool/social-CDN videoâs","problem":"Video-posts waarvan de bron op een externe CDN (Metricool, Instagram, TikTok) stond bleven een play-icoon in een grijs vak tonen: de browser kreeg de video niet geladen door strikte CORS/Referer-checks op die CDNâs.","solution":"Externe video-URLs worden nu via een eigen video-proxy geserveerd (onder ons eigen domein) zodat de browser het eerste frame kan tonen. Dezelfde veiligheidsprincipes als de afbeelding-proxy: strikte host-whitelist, streaming (geen 100MB in geheugen), Range-support en content-type-check."},{"num":"v24.13","type":"bugfix","title":"Contentkalender: video afspelen in de detail-preview","problem":"In de detail-preview van een video-post zag je wel het eerste frame maar kon je de video niet starten â er waren geen afspeel-knoppen zichtbaar.","solution":"De detail-preview toont nu de standaard afspeel-controls (play, pauze, volume, scrubbing). De thumbnail in de weekweergave blijft één stil frame zodat het overzicht rustig blijft."}]},{"date":"2026-08-11","version":"v24.12","clV":"v0.841","title":"Chargeback op een al-uitbetaalde affiliate-commissie wordt nu verrekend","items":[{"num":"v24.12","type":"bugfix","title":"Terugbetaling/chargeback draait de affiliate-commissie ook terug als die al is uitbetaald","problem":"Bij een terugbetaling of chargeback werd de bijbehorende affiliate-commissie alleen teruggedraaid als die nog niet was uitbetaald. Was de commissie al overgemaakt, dan bleef die gewoon staan.","solution":"Een terugbetaling of chargeback op een al-uitbetaalde commissie wordt nu verrekend met de eerstvolgende uitbetaling aan die affiliate, nooit met een negatief bedrag. De affiliate ziet deze correctie terug in zijn saldo en overzicht."}]},{"date":"2026-08-10","version":"v24.11","clV":"v0.837","title":"Bedrijfsprofiel-koppeling: rate-limit netjes tonen (was rauwe JSON)","items":[{"num":"v24.11","type":"bugfix","title":"Rauwe Google-API-error verscheen letterlijk op de integratie-pagina","problem":"Wanneer Google Bedrijfsprofiel tijdelijk geen ruimte had voor nieuwe aanvragen, zag je de volledige technische API-foutmelding van Google in beeld, inclusief interne technische details.","solution":"Je ziet nu een nette melding ('Google heeft even een pauze nodig, probeer over een minuut') met een opnieuw-knop in plaats van de technische foutmelding. Ook op andere plekken wordt een technische foutmelding voortaan vervangen door een begrijpelijke tekst."},{"num":"v24.10","type":"polish","title":"Dashboard-widget krijgt nette \"even geduld\"-staat bij quota","problem":"De GbpInsightsWidget kende alleen pending-approval en niet-gekoppeld staten. Bij quota-hit toonde die alleen een generieke \"Profielcijfers niet beschikbaar\".","solution":"Extra rate-limited variant in de widget met dezelfde compact pending-styling. Zelfde melding als op de integratie-pagina zodat de gebruiker weet dat het geen echte fout is maar een tijdelijke wac
2ht."}]},{"date":"2026-08-10","version":"v24.09","clV":"v0.839","title":"Rollen: \"wie mag wat\"-overzicht per teamlid","items":[{"num":"v24.09","type":"feature","title":"Wie mag wat","problem":"Om te controleren wat een teamlid echt kan, moest je per persoon de rol en toggles nalopen","solution":"Onder Rollen staat nu een uitklapbaar overzicht met per teamlid de effectieve rechten (financiën, alle klanten, alle taken, facturen) â systeemrollen én custom rollen samengevat in één tabel"}]},{"date":"2026-08-10","version":"v24.08","clV":"v0.838","title":"Rollen: veiligheidschecks en alle bevoegdheden op één plek","items":[{"num":"v24.08","type":"feature","title":"Waarschuwingen tegen fouten","problem":"Je kon per ongeluk een rol zonder rechten aanmaken, of een rol verwijderen terwijl er nog teamleden aan hingen â zonder het te merken","solution":"Een rol zonder bevoegdheden toont nu een waarschuwing (op de kaart én in de editor), en bij het verwijderen zie je hoeveel teamleden terugvallen op hun systeemrol"},{"num":"v24.07","type":"feature","title":"Systeemrol-bevoegdheden op één plek","problem":"De instelling \"welke modules zien Managers\" (Financieel, Alle taken, â¦) stond op de Gebruikers-pagina, los van de custom rollen","solution":"Die matrix staat nu onder Rollen, samen met de custom rollen â één centraal scherm voor alle bevoegdheden. Op Gebruikers staat een verwijzing"}]},{"date":"2026-08-10","version":"v24.06","clV":"v0.836","title":"Rollen: leden beheren, samenvatting, wijzigingslog en betere bekijk-als","items":[{"num":"v24.06","type":"feature","title":"Wie heeft deze rol + direct toewijzen","problem":"Zien welke teamleden een rol hadden en iemand toewijzen kon alleen via het losse gebruikersscherm","solution":"Knop \"Leden\" op elke rolkaart toont de teamleden met die rol en laat je vanaf daar direct iemand toevoegen of verwijderen"},{"num":"v24.05","type":"feature","title":"Bevoegdheden in mensentaal","problem":"Om te zien wat een rol kan moest je door acht tabjes met losse vinkjes","solution":"Bovenin de rol-editor staat nu een live samenvatting \"Deze rol kan:\" met per module een groen vinkje of grijs kruisje, inclusief hoeveel deelrechten aanstaan"},{"num":"v24.04","type":"feature","title":"Rol-wijzigingslog","problem":"Er was geen overzicht van wie wanneer welke bevoegdheid aan- of uitzette","solution":"Knop \"Historie\" toont per rol wie welke bevoegdheid toevoegde (+) of introk (â), plus aanmaken, hernoemen en verwijderen â met tijdstip en naam"},{"num":"v24.03","type":"bugfix","title":"Bekijk-als-gebruiker toont nu exact diens rechten","problem":"Het portaal bekijken \"als\" een teamlid nam wel hun rol over, maar niet hun custom-rol-bevoegdheden â je zag dus niet precies wat zij zagen","solution":"Bekijk-als-gebruiker neemt nu ook de custom-rol-permissies van dat teamlid over, gelijk aan bekijk-als-rol. Permissie-labels tonen bovendien in de taal van de gebruiker"}]},{"date":"2026-08-10","version":"v24.02","clV":"v0.835","title":"Browserbalk toont nu overal je huisstijlkleur","items":[{"num":"v24.02","type":"bugfix","title":"Adresbalk-kleur consistent met je huisstijl","problem":"In dark mode toonde de bovenste browser-/adresbalk (de theme-color van de app) op sommige paginaâs een felle standaard-mint in plaats van je ingestelde huisstijlkleur â o.a. op de changelog-pagina, terwijl het dashboard wél de merkkleur toonde.","solution":"De browserbalk gebruikt in dark mode nu overal je ingestelde huisstijlkleur â dezelfde die het dashboard al toonde. Light blijft neutraal licht-grijs."}]},{"date":"2026-08-09","version":"v24.01","clV":"v0.834","title":"Rollen: sjablonen, dupliceren en de nieuwe Strateeg-rol","items":[{"num":"v24.01","type":"feature","title":"Rol-sjablonen (Strateeg / Social Media Manager / Content Creator)","problem":"Een nieuwe rol opzetten betekende tientallen vinkjes handmatig goedzetten â foutgevoelig en traag","solution":"Bij het aanmaken van een rol kies je nu een kant-en-klaar sjabloon dat alle bevoegdheden in één klik goedzet. Daarna vrij aan te passen; het sjabloon is puur een startpunt"},{"num":"v24.00","type":"feature","title":"Rol dupliceren","problem":"Een variant op een bestaande rol maken moest volledig opnieuw","solution":"Knop \"Dupliceren\" op elke rolkaart opent een nieuwe rol met exact dezelfde bevoegdheden als startpunt (\"Kopie van â¦\")"},{"num":"v23.99","type":"feature","title":"Strateeg-rol voor teamleiders","problem":"Er was geen rol tussen manager en admin in: iemand die alle klanten aanstuurt maar niet bij de financiën of het beheer moet","solution":"De Strateeg ziet en stuurt álle klanten (niet alleen eigen toegewezen), met content, taken, meetings, e-mail en onboarding â bewust zonder financiën en zonder admin-rechten"},{"num":"v23.98","type":"feature","title":"Bekijk portaal als deze rol","problem":"Na het instellen van een rol wist je niet zeker wat die persoon straks wel of niet ziet","solution":"Knop \"Bekijk als rol\" opent het portaal tijdelijk met exact de bevoegdheden van die rol (oranje balk bovenin, met één klik weer terug). Zo controleer je een rol voordat je iemand toewijst"}]}
2,{"date":"2026-08-09","version":"v23.97","clV":"v0.833","title":"Team Chat ronde 7+8 â ephemeral, fullscreen, split-view, triggers, favorieten en prive-kanalen","items":[{"num":"v23.97","type":"feature","title":"Zelfvernietigende berichten (ephemeral)","problem":"Gevoelige informatie bleef voor altijd zichtbaar in de chat","solution":"Timer-knop in de inputbalk (30s / 5m / 1u), oranje accent op actieve timer, live countdown bij het bericht, automatisch verwijderd na verlopen â in zowel groeps- als DM-chat"},{"num":"v23.96","type":"feature","title":"Fullscreen-chatmodus","problem":"Het compacte chatpanel bood weinig overzicht bij langere gesprekken","solution":"Maximize-knop in de header opent de chat als fullscreen overlay met blur-achtergrond, ESC-achtige close-knop en meer ruimte voor berichten"},{"num":"v23.95","type":"feature","title":"Split-view â twee kanalen naast elkaar","problem":"Context-switchen tussen kanalen/DMs kostte steeds klikken","solution":"In fullscreen-modus opent de split-knop een tweede onafhankelijk paneel naast het eerste, elk met eigen groeps/DM-tabs â ideaal voor cross-kanaal overleg"},{"num":"v23.94","type":"feature","title":"Workflow-triggers vanuit chat","problem":"Terugkerende acties (ticket aanmaken bij @support, team notifyen bij \"urgent\") moesten handmatig","solution":"Admin-configureerbare triggers: stel een trefwoord in + actie (taak aanmaken / melding sturen / doorsturen naar kanaal). Bliksem-icoon in de groepschat-header, trigger-engine draait automatisch na elk bericht"},{"num":"v23.93","type":"feature","title":"Kanaal-favorieten","problem":"Met veel kanalen raak je het overzicht kwijt en moet je scrollen naar je meest gebruikte groepen","solution":"Ster-icoon in de groepschat-header maakt een kanaal favoriet â favorieten worden bovenaan de kanalenlijst gesorteerd met een oranje ster, en je schakelt het met een klik weer uit"},{"num":"v23.92","type":"feature","title":"Prive-kanalen (invite-only)","problem":"Alle kanalen waren zichtbaar voor iedereen in het team, ook als het onderwerp vertrouwelijk was","solution":"Bij het aanmaken van een groep kun je nu het slot-icoon aanzetten â het kanaal wordt dan alleen zichtbaar voor uitgenodigde leden. Een slot-icoon in de kanalenlijst geeft de status aan"}]},{"date":"2026-08-09","version":"v23.91","clV":"v0.832","title":"Team Chat ronde 6 â herinneringen, kanaal-notificaties en groepsmeldingen","items":[{"num":"v23.91","type":"feature","title":"Berichtherinneringen","problem":"Belangrijke chatberichten raakten kwijt in de stroom zonder manier om er later op terug te komen.","solution":"Klik op het bel-icoon bij een bericht en kies \"over 1 uur\", \"over 3 uur\", \"morgen om 9:00\" of een aangepaste tijd. Een overzicht van al je herinneringen is bereikbaar via de bel-knop in de header."},{"num":"v23.90","type":"feature","title":"Per-kanaal notificatie-instellingen","problem":"Drukke kanalen genereerden te veel meldingen, maar helemaal muten miste je @mentions.","solution":"Per kanaal instelbaar via het speaker-icoon: \"Alle berichten\", \"Alleen @mentions\" of \"Dempen\". Je keuze blijft bewaard per kanaal."},{"num":"v23.89","type":"feature","title":"Gebruikersgroepen (@team-mentions)","problem":"Om een heel team te bereiken moest je iedereen apart @-mentionen.","solution":"Admins maken groepen aan (bv. @sales, @design) via het groepen-icoon in de header. Bij het typen van @ verschijnen groepen bovenaan de suggesties. Alle groepsleden ontvangen een notificatie."}]},{"date":"2026-08-09","version":"v23.88","clV":"v0.831","title":"Team Chat ronde 5 â DM-uitbreidingen, geluid, citaten, markdown en archiveren","items":[{"num":"v23.88","type":"feature","title":"Leesbevestigingen in DM (dubbel vinkje)","problem":"In directe berichten was niet zichtbaar of de ontvanger het bericht had gelezen.","solution":"Eigen berichten in DM tonen nu een enkel vinkje (verzonden) of dubbel teal-vinkje (gelezen), vergelijkbaar met WhatsApp."},{"num":"v23.87","type":"feature","title":"Vastpinnen in DM-gesprekken","problem":"Pinnen was alleen mogelijk in groepschats.","solution":"DM-gesprekken hebben nu dezelfde pin-strip en pin-actie als groepskanalen."},{"num":"v23.86","type":"feature","title":"Notificatie-geluid bij nieuwe berichten","problem":"Nieuwe berichten kwamen geruisloos binnen â gemakkelijk te missen.","solution":"Een kort piepje speelt af bij inkomende berichten van anderen. Uit te schakelen via de speaker-knop in de chat-header."},{"num":"v23.85","type":"feature","title":"Ongelezen-teller op chat-icoon in de sidebar","problem":"Je moest de chat openen om te zien of er ongelezen berichten waren.","solution":"Het chat-icoon in de sidebar toont nu een badge met het aantal ongelezen berichten (DM + groep), gepolld elke 15 seconden."},{"num":"v23.84","type":"feature","title":"Bericht citeren (quote-reply)","problem":"Er was geen manier om een eerder bericht te citeren in je antwoord.","solution":"Klik op het citaat-icoon in de berichtacties. De geciteerde tekst verschijnt als blockquote boven je invoerveld en wordt als markdown-quote meegestuurd."},{"num":"v23.83","type":"feature","title":"Markdown-opmaak in chatberichten","problem":"Chatberichten waren platte tekst â geen nadruk, code of opsommingen mogelijk.","solution":"Berichten ondersteunen nu **vet**, *cursief*, `code`, - opsommingen en > blockquotes, gerenderd met inline styling."},{"num":"v23.82","type":"feature","title":"Kanaal archiveren","problem":"Ongebruikte kanalen bleven zichtbaar en maakten de tab-balk rommelig.","solution":"Rechtsklik op een kanaal-tab om te archiveren. Gearchiveerde kanalen zijn standaard verborgen; toon ze via het archief-icoon rechtsboven."}]},{"date":"2026-08-09","version":"v23.81","clV":"v0.830","title":"Concurrent-ad direct als concept in de planner zetten","items":[{"num":"v23.81","type":"feature","title":"Content-brug: van concurrent-ad naar concept-post in één klik","problem":"Als de AI een post-concept maakte op basis van een concurrent-ad, moest je het nog handmatig kopiëren en ergens plakken om het in te plannen.","solution":"In het \"Maak content\"-venster zit nu per concept een \"â Zet in planner\"-knop. Kies een platform en het concept belandt direct als concept-post in de planner van die klant (klaar om te bewerken en in te plannen). Er is geen gekoppeld account voor nodig â het wordt als handmatig-te-plaatsen concept opgeslagen."}]},{"date":"2026-08-09","version":"v23.80","clV":"v0.829","title":"Beste-tijd-suggesties leren nu van je eigen posts","items":[{"num":"v23.80","type":"feature","title":"Data-gedreven beste posttijden op basis van je eigen engagement","problem":"De beste-tijd-suggesties in de composer waren platform-benchmarks (branche-breed) â nog niet afgestemd op hoe jouw eigen posts presteren.","solution":"We houden nu per gepubliceerde post de engagement (likes/reacties/shares) + het live-tijdstip bij (Instagram en Facebook om te beginnen). Zodra een klant genoeg posts heeft, leren de beste-tijd-suggesties daaruit op welke weekdag/uur dÃe klant het best scoort, tijdzone-correct. Te weinig data? Dan blijven de platform-benchmarks de basis. Een dagelijkse achtergrond-taak vult de cijfers aan."}]},{"date":"2026-08-09","version":"v23.79","clV":"v0.828","title":"Teamchat ronde 4: 10 nieuwe functies","items":[{"num":"v23.79","type":"feature","title":"Spraakberichten opnemen en versturen","solution":"Klik op de microfoon-knop om een spraakbericht op te nemen en direct te versturen in de groepschat."},{"num":"v23.78","type":"feature","title":"Berichten plannen voor later","solution":"Plan een bericht in om op een specifiek moment automatisch verzonden te worden."},{"num":"v23.77","type":"feature","title":"Berichten opslaan (bookmarks)","solution":"Sla belangrijke berichten op als bookmark en bekijk ze later in een apart overzicht."},{"num":"v23.76","type":"feature","title":"Online-status zichtbaar bij collega-namen","solution":"Zie wie online, afwezig of bezet is via een groene, gele of rode stip. Stel je eigen status in."},{"num":"v23.75","type":"feature","title":"Niet storen-modus en kanaal dempen","solution":"Zet niet-storen aan om alle chatnotificaties tijdelijk te onderdrukken, of demp een specifiek kanaal."},{"num":"v23.74","type":"feature","title":"Chat exporteren als CSV","solution":"Download de volledige chatgeschiedenis van een kanaal als CSV-bestand."},{"num":"v23.73","type":"feature","title":"Berichten vertalen met een klik","solution":"Vertaal elk bericht naar je eigen taal via de vertaal-knop bij het bericht."},{"num":"v23.72","type":"feature","title":"GIF-picker in de chat","solution":"Zoek en verstuur GIFs direct vanuit de chatbalk via de GIF-knop."},{"num":"v23.71","type":"feature","title":"Berichttemplates (quick replies)","solution":"Maak herbruikbare berichttemplates aan en voeg ze met een klik in bij het typen."},{"num":"v23.70","type":"feature","title":"Kanaal-categorieën","solution":"Groepeer chatkanalen in categorieën zoals Klanten, Intern of Projecten."}]},{"date":"2026-08-09","version":"v23.69","clV":"v0.827","title":"Beste-tijd-om-te-posten suggesties in de planner","items":[{"num":"v23.69","type":"feature","title":"Aanbevolen posttijden per netwerk in de composer","problem":"Bij het plannen van een post moest je zelf een moment kiezen zonder houvast â de \"populaire tijden\" waren een vaste lijst uurtjes, niet afgestemd op het platform of de dag.","solution":"De composer toont nu \"Beste tijd om te posten\": de eerstvolgende aanbevolen dag+tijd-slots voor de gekozen netwerken (Instagram, LinkedIn, TikTok, enz.), tijdzone-correct. Eén klik zet dag én tijd. De tijden zijn platform-benchmarks (branche-breed) â echte per-account timing volgt zodra we engagement per post bijhouden."}]},{"date":"2026-08-09","version":"v23.68","clV":"v0.826","title":"Nieuwe rol-permissie: \"Alle klanten bekijken\" (voor een strateeg/leidinggevende)","items":[{"num":"v23.68","type":"feature","title":"Een rol die álle klanten mag zien, i.p.v. alleen eigen toegewezen klanten","problem":"Managers zijn terecht beperkt tot hun eigen klanten, maar sommige rollen - bijvoorbeeld een strateeg of leidinggevende - moeten juist het hele klantenbestand kunnen zien.","solution":"Er is een nieuwe permissie 'Alle klanten van het bureau zien' bij Rollen. Zet je die aan voor een rol, dan ziet iemand met die rol alle klanten (profielen, taken, content, statistieken), zonder verder beheerdersrechten te krijgen. Staat standaard uit, dus gewone managers houden hun eigen klanten."}]},{"date":"2026-08-09","version":"v23.67","clV":"v0.825","title":"Concurrent-speelboek: bewaar AI-analyses en zie de strategie verschuiven","items":[{"num":"v23.67","type":"feature","title":"AI-analyse van een concurrent bewaren met historie","problem":"De AI-analyse van een concurrent (hooks, aanbiedingen, winne
2nde ads) was vluchtig â sloot je het paneel, dan was hij weg. Je kon niet zien of hun aanpak veranderde.","solution":"Bij elke concurrent in het klantprofiel kun je de AI-analyse nu opslaan in een \"speelboek\". Elke opgeslagen analyse krijgt een datum, en het speelboek toont de historie plus een \"wat is veranderd\"-overzicht: welke hooks en aanbiedingen nieuw zijn of verdwenen sinds de vorige keer. Zo zie je zwart-op-wit dat een concurrent bijvoorbeeld van korting naar gratis-proef is overgestapt."}]},{"date":"2026-08-09","version":"v23.66","clV":"v0.822","title":"Teamchat: berichten doorsturen en stemmingen","items":[{"num":"v23.66","type":"feature","title":"Berichten doorsturen naar een ander kanaal of collega","solution":"Klik op de forward-knop bij een bericht om het door te sturen naar een groepschat of als DM naar een collega. Het doorgestuurde bericht toont de oorspronkelijke afzender."},{"num":"v23.65","type":"feature","title":"Stemmingen aanmaken in groepschat","solution":"Maak een stemming aan met 2-10 opties. Teamleden stemmen direct in de chat en zien live het percentage per optie. Optioneel: meerdere antwoorden toestaan."}]},{"date":"2026-08-09","version":"v23.64","clV":"v0.821","title":"Waarschuwing wanneer een social-koppeling verloopt","items":[{"num":"v23.64","type":"feature","title":"Verlopen koppeling wordt actief gemeld i.p.v. stil weggezet","problem":"Als de toegang tot een gekoppeld account verliep of werd ingetrokken, zette het systeem de status stil op \"verlopen\". Niemand kreeg bericht, dus je merkte het pas als geplande posts al niet gepubliceerd waren.","solution":"Zodra een koppeling verloopt of wordt ingetrokken, krijg je nu een melding: een banner bovenin de planner met een \"Opnieuw koppelen\"-knop, een item in de activiteiten-feed, en een e-mail naar de bureau-beheerder(s) met per koppeling hoeveel geplande posts erop wachten. De mail groepeert alles per bureau, dus geen stortvloed."}]},{"date":"2026-08-09","version":"v23.63","clV":"v0.819","title":"Teamchat ronde 2: reacties, threads, zoeken, bewerken en meer","items":[{"num":"v23.63","type":"feature","title":"Emoji-reacties op berichten","solution":"Reageer snel met een emoji op elk bericht. De reacties worden gegroepeerd weergegeven onder het bericht, met een teller en kleur voor je eigen reacties."},{"num":"v23.62","type":"feature","title":"Threads: antwoorden op een specifiek bericht","solution":"Klik op \"Antwoord\" om een thread te openen. Antwoorden verschijnen in een zijpaneel en het oorspronkelijke bericht toont het aantal reacties."},{"num":"v23.61","type":"feature","title":"Zoeken in berichten","solution":"Zoek door alle berichten binnen je bureau. Resultaten tonen afzender, kanaal en tijdstip."},{"num":"v23.60","type":"feature","title":"Typing-indicator","solution":"Zie wie er aan het typen is in een groepschat. De namen verschijnen onderaan de berichtenlijst."},{"num":"v23.59","type":"feature","title":"Berichten bewerken en verwijderen","solution":"Bewerk of verwijder je eigen berichten. Bewerkte berichten krijgen een \"bewerkt\"-label, verwijderde berichten worden vervangen door een placeholder."},{"num":"v23.58","type":"feature","title":"Gelezen-door indicator","solution":"Klik op het oog-icoon om te zien wie een groepsbericht heeft gelezen."},{"num":"v23.57","type":"feature","title":"Link-previews","solution":"URLs in berichten tonen automatisch een preview-kaart met titel, beschrijving en afbeelding."},{"num":"v23.56","type":"feature","title":"Klant-gebonden chatkanalen","solution":"Open vanuit een klantprofiel direct een chatkanaal voor dat team. Het kanaal wordt automatisch aangemaakt en verschijnt in de groepschat."}]},{"date":"2026-08-09","version":"v23.55","clV":"v0.817","title":"Concurrenten vergelijken en een hook-bank in de Ads-bibliotheek","items":[{"num":"v23.55","type":"feature","title":"Benchmark: alle concurrenten van een klant in één tabel","problem":"Je kon concurrenten wel los bekijken, maar niet in één oogopslag zien wie het hardst adverteert of het meest winnende materiaal heeft.","solution":"In het klantprofiel zit nu een \"Benchmark & inspiratie\"-blok dat al je gevolgde concurrenten naast elkaar zet: aantal actieve ads, gemiddelde looptijd, nieuwe ads (7 dagen), aantal bewezen winners (90+ dagen) en hun platform-mix."},{"num":"v23.54","type":"feature","title":"Hook-bank: bewezen openingszinnen van je concurrenten, gebundeld","problem":"De sterkste inspiratie zit in de openingszinnen van ads die al maanden draaien, maar die moest je zelf uit elke concurrent losvissen.","solution":"De hook-bank verzamelt automatisch de openingszinnen van de langst lopende ads (60+ dagen) van al je concurrenten in één doorzoekbare lijst â met bron en looptijd, en een kopieer-knop. Bewaarde ads in de swipe file kun je bovendien met één klik automatisch laten labelen door AI (invalshoek/aanbieding)."}]},{"date":"2026-08-09","version":"v23.53","clV":"v0.816","title":"Echte profielfoto van je gekoppelde accounts in de planner","items":[{"num":"v23.53","type":"polish","title":"Gekoppelde accounts tonen hun echte avatar i.p.v. een gekleurde initia
2al","problem":"In het Verbindingen-scherm en de statistieken zag je per account alleen een gekleurde cirkel met de eerste letter. Bij meerdere accounts van hetzelfde platform was lastig te zien welk account welk is.","solution":"We halen bij het koppelen nu de echte profielfoto op (Instagram, Facebook, LinkedIn, TikTok, Pinterest, X, YouTube, Google Bedrijfsprofiel, Mastodon en Bluesky) en tonen die als avatar. Lukt het ophalen niet, dan valt het netjes terug op de initiaal-cirkel. De foto is puur voor weergave â we lekken je adres niet naar de platform-CDN (no-referrer)."}]},{"date":"2026-08-09","version":"v23.52","clV":"v0.813","title":"Team chat uitgebreid met @mentions, drag & drop, vastgepinde berichten, taken en AI-samenvattingen","items":[{"num":"v23.52","type":"feature","title":"@mentions met notificaties","problem":"Je kon teamleden niet taggen in chatberichten, waardoor belangrijke berichten onopgemerkt bleven.","solution":"Typ @ in de chat om een teamlid te taggen. De getagde persoon krijgt een notificatie in de bel. Mentions worden gehighlight in de berichtbubbel."},{"num":"v23.51","type":"feature","title":"Bestanden delen via drag & drop","problem":"Afbeeldingen uploaden vereiste meerdere klikken via het bijlage-menu.","solution":"Sleep een afbeelding naar het chatvenster om direct te uploaden. Werkt in zowel groepschat als privechat."},{"num":"v23.50","type":"feature","title":"Vastgepinde berichten","problem":"Belangrijke afspraken verdwenen in de berichtstroom.","solution":"Hover over een bericht en klik op het pin-icoon om het vast te pinnen. Vastgepinde berichten verschijnen bovenaan de chat in een opvouwbare strip."},{"num":"v23.49","type":"feature","title":"Taak aanmaken vanuit een chatbericht","problem":"Actiepunten uit de chat moesten handmatig overgezet worden naar het takenbord.","solution":"Hover over een bericht en klik op het taak-icoon. De berichttekst wordt automatisch de taaktitel."},{"num":"v23.48","type":"feature","title":"AI-samenvatting van gemiste berichten","problem":"Na een afwezigheid moest je door alle ongelezen berichten scrollen om te begrijpen wat er besproken was.","solution":"Bij 5+ ongelezen berichten verschijnt een samenvatting-knop. Klik erop en AI genereert een beknopte samenvatting van de gemiste conversatie."}]},{"date":"2026-08-09","version":"v23.47","clV":"v0.812","title":"Verlopen koppelingen worden zichtbaar met een opnieuw-koppelen-knop","items":[{"num":"v23.47","type":"bugfix","title":"Verlopen of ingetrokken koppeling verdwijnt niet meer stilletjes","problem":"Zodra de toegang tot een gekoppeld social-account verliep of werd ingetrokken, verdween het account uit beeld zonder dat je in Verbindingen kon zien wat er mis was.","solution":"De koppeling blijft nu zichtbaar in Verbindingen met een duidelijke status (verlopen, toegang ingetrokken of fout) en een knop om opnieuw te koppelen. Een klik start meteen dezelfde koppel-stap opnieuw: bij Bluesky en Mastodon het inlogformulier, bij de andere platforms het autorisatiescherm."},{"num":"v23.46","type":"feature","title":"Ads-bibliotheek: maak direct content, spot bewezen winners en ontdek concurrenten","problem":"Je zag wel welke ads concurrenten draaien, maar de stap van inzicht naar eigen content moest je zelf zetten, en je vond alleen paginaâs die je al kende.","solution":"Drie toevoegingen: (1) \"Maak content\" zet een concurrent-ad met AI om in verse post-concepten in de stijl van je klant (geen kopie), klaar om te plaatsen; (2) een \"Bewezen winner\"-badge markeert ads die 90+ dagen draaien, zodat je meteen ziet wat werkt; (3) zoek je op een branche of trefwoord, dan groeperen we de resultaten per adverteerder zodat je nieuwe concurrenten ontdekt en met één klik al hun ads bekijkt."}]},{"date":"2026-08-09","version":"v23.45","clV":"v0.811","title":"Financiële tab in het klantprofiel volgt nu de rol-permissie","items":[{"num":"v23.45","type":"bugfix","title":"Financieel-blok volgt nu de rol-instelling","problem":"De Financieel-tab in het klantprofiel (omzet/kosten/winst) verscheen bij elke manager â ongeacht wat je bij Bevoegdheden per rol had ingesteld. De gate keek naar de kale systeemrol, niet naar de permissie.","solution":"De tab volgt nu de instelling: een admin ziet het altijd; een manager ziet het NIET standaard, maar je kunt \"Financiën bekijken\" per bureau aanzetten via de toggle bij Bevoegdheden per rol (Gebruikers-scherm). Werk je met custom rollen, dan bepaalt de \"Financieel bekijken\"-permissie van die rol het. Zo lekt de winst/kosten-informatie niet meer naar rollen die het niet horen te zien."}]},{"date":"2026-08-09","version":"v23.44","clV":"v0.810","title":"Review-bonus: Google-review weer indienbaar","items":[{"num":"v23.44","type":"bugfix","title":"Gratis week weer haalbaar â Google-review kan weer ingediend worden","problem":"De gratis week komt pas vrij als je zowel een Trustpilot- als een Google-review indient, maar op de review-pagina kon je tijdelijk alleen Trustpilot kiezen. Daardoor was de tweede review (Google) niet in te dienen en bleef de gratis week onbereikbaar.","solution":"Google staat weer als platform op de review-bonus-pagina, met een directe \"schrijf review\"-link. Dien een eerlijke review op Trustpilot én Google in en de gratis week wordt toegekend."},{"num":"v23.43","type":"bugfix","title":"Afgewezen review opnieuw indienbaar + affiliate-programma verstevigd","problem":"Werd een review-aanvraag afgewezen, dan kon je die daarna nooit meer opnieuw indienen voor dat platform â ook niet met een nieuwe, geldige review. Daarnaast waren er onder de motorkap een paar afhandelings- en beveiligingspuntjes rond bonussen en uitbetalingen.","solution":"Een afgewezen review kun je nu opnieuw indienen. Verder zijn de review- en reel-bonussen en de affiliate-uitbetalingen steviger gemaakt tegen dubbele toekenning, en worden ingediende links strenger gecontroleerd."},{"num":"v23.42","type":"feature","title":"White-label: geen Senly-vermeldingen meer richting jouw klanten","problem":"Op een paar plekken die jouw klanten te zien krijgen dook nog \"Senly\" op: de cover van de maandrapportage-PDF en de PowerPoint-export (\"Powered by Senly\"), de tabtitels van de goedkeur- en account-koppelpaginaâs, en een \"Naar Senly\"-knop op een verlopen boekingslink.","solution":"Bureaus met een eigen domein krijgen rapportages zonder Senly-vermelding (ook uit de bestands-metadata), de tabtitels van klantpaginaâs dragen nu automatisch jouw portaalnaam, en een kapotte boekingslink stuurt bezoekers nooit meer naar senly.io."},{"num":"v23.41","type":"bugfix","title":"Logo- en kleurweergave op vier plekken hersteld","problem":"Wisselde je van donkere naar lichte modus, dan hielden sommige panelen hun donkere merk-tint tot een herlaad. Verder kon je logo onzichtbaar zijn: wit-op-wit in de partner-klantenlijst, de donkere variant op het witte paneel van de boekingspagina, en een wit Senly-logo als fallback op lichte vlakken.","solution":"De thema-wissel ruimt de oude kleuren nu direct op, en overal wordt automatisch de juiste logo-variant gekozen voor het oppervlak (licht logo op donker, donker logo o
2p licht) â inclusief de boekingspagina die je klanten zien."},{"num":"v23.40","type":"polish","title":"Knop- en badge-teksten overal leesbaar bij een lichte huisstijlkleur","problem":"Ruim honderd knoppen, pills, badges en avatars hadden vaste witte tekst op je huisstijlkleur. Met een donkere kleur ging dat goed, maar wie een lichte merkkleur instelt kreeg wit-op-licht â nauwelijks leesbaar, tot op de boekingspagina voor je klanten aan toe.","solution":"Al die plekken gebruiken nu de slimme tekstkleur die zich aanpast aan de helderheid van je merkkleur (wit op donker, donker op licht) â door het hele portaal en op de publieke boekingspagina."},{"num":"v23.39","type":"polish","title":"Honderden vaste teal-tinten kleuren nu mee met je huisstijl","problem":"Grote delen van het portaal - statistieken, de reviewflow, de AI-generator, de datumprikker, e-mailknoppen, het abonnementsscherm, het CRM en meer - gebruikten nog de vaste Senly-kleur in plaats van jouw ingestelde huisstijlkleur.","solution":"Ruim vijfhonderd kleurregels zijn omgezet naar je huisstijl: al deze onderdelen bewegen nu automatisch mee met de merkkleur van je bureau, tot en met de kleur van de adresbalk van de app op je telefoon."},{"num":"v23.38","type":"bugfix","title":"Huisstijl-instellingen betrouwbaarder en boekingspagina toont je portaalnaam","problem":"De favicon-upload voor de platformbeheerder verdween stilletjes zonder op te slaan, het accentkleur-veld wekte de indruk overal te werken terwijl het alleen de changelog-pagina kleurt, en de publieke boekingspagina toonde je juridische bedrijfsnaam in plaats van je ingestelde portaalnaam.","solution":"De favicon wordt nu echt opgeslagen, het accentkleur-veld legt eerlijk uit waar het voor dient, en de boekingspagina (titel en kop) gebruikt voortaan je portaalnaam. Onder de motorkap halen alle pagina's hun huisstijl nu uit één centrale bron, zodat naam, kleur en logo overal hetzelfde besloten worden."},{"num":"v23.37","type":"polish","title":"Offline-pagina in jouw huisstijl op je eigen domein","problem":"Viel de internetverbinding weg op een white-label domein, dan verscheen een pagina die \"Senly\" noemde en in de vaste Senly-kleuren stond.","solution":"De offline-pagina herkent nu het domein: op jouw eigen portaal-domein draagt hij je portaalnaam en huisstijlkleur (in donkere én lichte modus), inclusief de knop en de aftel-ring. Elke browser bewaart automatisch de juiste versie voor zijn domein."},{"num":"v23.36","type":"polish","title":"Planner: \"Verbindingen beheren\" opgeruimd en rustiger","problem":"Het koppel-scherm van de contentplanner was een lappendeken van grote, felgekleurde knoppen per platform â druk, onduidelijk contrast en visueel rommelig.","solution":"Elk platform staat nu op een rustige kaart met een klein gekleurd icoon-tegeltje en een subtiele koppel-knop in de platformkleur. Gekoppelde accounts en nog-niet-beschikbare platformen zijn in één oogopslag te onderscheiden."},{"num":"v23.35","type":"feature","title":"Web koppelen: meet de website van je klant","problem":"\"Web\" en \"Blog\" waren allebei alleen een RSS-veld. Je kon de bezoekers van de website van je klant nergens meten â daarvoor moest je naar een los tool.","solution":"De Web-koppeling is nu een echte website-tracking: kies je type (WordPress, JavaScript-tag of tracking-pixel), plak de meegeleverde code op de site, en Senly meet cookieloos de bezoekers. Zodra de eerste weergave binnenkomt springt de koppeling automatisch op \"verbonden\" en zie je het aantal bezoekers en weergaven. (Blog blijft de RSS-bron voor blogposts.)"},{"num":"v23.34","type":"polish","title":"Omzetgrafieken: piek-label vrij van de balk en winst-cijfers in de huisstijlkleur","problem":"Op het dashboard overlapte het piek-label van de omzetgrafiek de hoogste balk en kleurde het pijltje niet mee met de huisstijl. Op de Financieel-pagina stonden de winst-cijfers boven de maandbalken in een los mintgroen dat vloekte met de balkkleur.","solution":"Het piek-label heeft nu eigen ruimte boven de grafiek en volgt â inclusief pijltje â je merkkleur. De winst-cijfers boven de maandbalken kleuren voortaan mee met de balken zelf; verlies blijft herkenbaar rood."},{"num":"v23.33","type":"bugfix","title":"Menu-tooltips weer leesbaar bij een lichte huisstijlkleur","problem":"Beweeg je over de zijbalk, dan verschijnt de naam van elk menu-onderdeel in een donker label. Bij een lichte merkkleur werd die tekst óók donker â donker-op-donker, nauwelijks te lezen.","solution":"De tekst in die labels staat nu vast op licht, ongeacht je merkkleur. De namen van alle menu-onderdelen zijn weer in één oogopslag leesbaar."},{"num":"v23.32","type":"polish","title":"Planner: koppel-scherm netjes uitgelijnd","problem":"In \"Verbindingen beheren\" plakten de deelbare koppel-link en de kop \"Bronnen & export\" tegen de rand van het venster, terwijl de platform-kaarten wél ruimte aan de zijkant hadden.","solution":"Alle onderdelen van het koppel-scherm volgen nu dezelfde marge, zodat alles strak onder elkaar uitlijnt."},{"num":"v23.31","type":"polish","title":"Planner: echt Threads-logo","problem":"Het Threads-icoon in de planner was een zelfgetekende benadering die meer op een letter G leek dan op het echte logo.","solution":"Overal waar Threads in de planner verschijnt staat nu het officiële logo."},{"num":"v23.30","type":"polish","title":"Klantprofiel-header in dezelfde stijl als de klantkaarten","problem":"Klik je op een klantkaart (met de rijke klant-kleur en de gekleurde rand links), dan kwam je op een profielpagina met een vlakke, generieke header â de overgang voelde als twee verschillende ontwerpen.","solution":"De header van het klantprofiel draagt nu dezelfde klant-kleur-wash en gekleurde linker-rand als de kaart waar je vandaan komt, in donkere én lichte modus. Doorklikken voelt als één vloeiende beweging."},{"num":"v23.29","type":"polish","title":"Klantprofiel: vol-breed + subt
2iele klant-kleur-gloed","problem":"De klantprofielpagina stond smaller gecentreerd dan het dashboard en de andere hoofdpaginaâs, waardoor de pagina na het doorklikken ineens een ander frame had. En onder de header hield de klant-kleur abrupt op.","solution":"De pagina loopt nu net zo breed als de balk bovenaan (zelfde zijmarges als het dashboard), en bovenaan ademt een heel subtiel sfeerlicht in de klant-kleur mee dat richting de content uitdooft â de brand kit en statussen blijven op een neutrale achtergrond staan."},{"num":"v23.28","type":"bugfix","title":"Groeitools: \"Tools openen\"-knoppen weer leesbaar","problem":"De knoppen op de vier platform-kaarten (Instagram, Facebook, LinkedIn, TikTok) kleurden hun tekst mee met de huisstijl-tekstkleur. Bij een lichte merkkleur werd die tekst donker op de roze en blauwe platformknoppen â nauwelijks leesbaar.","solution":"De tekst op die knoppen staat nu vast op wit; de platformkleuren zijn daar allemaal donker genoeg voor."},{"num":"v23.27","type":"polish","title":"Leesbaarder: knop- en pill-tekst wit bij een medium-lichte huisstijlkleur","problem":"Bij een medium-lichte merkkleur (zoals een zacht sage-groen) kregen knoppen, filter-pills en grafiek-tooltips donkere tekst. Op die tint oogde dat vuil en soms slecht leesbaar.","solution":"De automatische tekstkleur kiest nu eerder voor wit: medium-lichte merkkleuren krijgen witte tekst, alleen écht lichte of pastelkleuren houden donkere tekst (anders zou het wit-op-bijna-wit worden). Werkt door het hele portaal en op de login- en boekingspagina."},{"num":"v23.26","type":"polish","title":"Team chat: klein venster opgeruimd","problem":"In het kleine chatvenster pasten de werkbalken niet: de kanaal-balk kreeg een mini-scrollbalk door de rij van tien icoontjes ernaast, en onderin vielen de opstel-knoppen (GIF, spraak, timerâ¦) half buiten beeld.","solution":"In het kleine venster staan de secundaire werkbalk-knoppen nu achter één nette \"meer\"-knop (drie puntjes), en het typveld staat op een eigen rij met de opstel-knoppen eronder. In fullscreen blijft alles zoals het was."},{"num":"v23.25","type":"bugfix","title":"Contentkalender: naam van de gekozen klant weer leesbaar","problem":"De actieve klant-chip in de contentkalender kleurt met de kleur van die klant. Heeft die klant een (bijna) witte kleur, dan werd de naam wit-op-wit â onzichtbaar.","solution":"De tekstkleur van de chip wordt nu uit de klant-kleur zelf berekend: donkere tekst op een lichte klant-kleur, witte tekst op een donkere."},{"num":"v23.24","type":"bugfix","title":"Contentkalender: actieve klant-chip in lichte modus draagt weer de klant-kleur","problem":"In de lichte modus dwong een algemene stijlregel álle klant-chips naar een witte achtergrond â ook de actieve. Daardoor bleef de naam van de gekozen klant onleesbaar, ondanks de eerdere tekstkleur-fix.","solution":"De witte basis geldt nu alleen nog voor inactieve chips; de actieve chip toont in lichte modus weer de kleur van de klant met automatisch passende tekstkleur."},{"num":"v23.23","type":"polish","title":"Meetings: boekingskaarten in de kaart-stijl van het portaal","problem":"De kalender-kaarten onder Meetings waren vlakke witte vlakken met emoji-metadata en flink ongelijke hoogtes: lange verkoopteksten duwden de knoppen van elke kaart naar een andere plek.","solution":"Elke kaart draagt nu een subtiele tint van zijn eigen kleur (zoals de klantkaarten op het dashboard), de duur en het aantal boekingen staan in nette chips met icoontjes, lange beschrijvingen worden na vier regels netjes afgekapt en de boekingslink en knoppen staan bij elke kaart op dezelfde voetlijn."},{"num":"v23.22","type":"polish","title":"Meetings: integratie-kaarten opgefrist","problem":"De kaarten voor Google Calendar, Outlook, Apple iCloud en Zoom waren vlakke, gecentreerde blokken met zwevende logoâs en knoppen op wisselende hoogtes.","solution":"Elke integratie heeft nu een kaart in de stijl van het koppel-scherm van de planner: het logo in een zacht merk-kleurig tegeltje, alles netjes links uitgelijnd, en de knoppen bij elke kaart op dezelfde voetlijn."},{"num":"v23.21","type":"polish","title":"Contentkalender: actieve klant-chip verfijnd","problem":"De gekozen klant stond in een dichte kleurvulling â een zwaar blok dat detoneerde tussen de rustige witte chips ernaast.","solution":"De actieve chip heeft nu een zachte tint van de klant-kleur met gekleurde tekst en een fijne rand â duidelijk actief, maar in hetzelfde kalme register als de rest van het portaal. Werkt in donkere en lichte modus."},{"num":"v23.20","type":"bugfix","title":"Meetings: knoppen op de integratie-kaarten netjes op één rij","problem":"Op de vernieuwde integratie-kaarten pasten \"Agendaâs beheren\" en \"Ontkoppelen\" net niet naast elkaar, waardoor de knoppen over twee regels braken en sc
2hots en scheef leken te staan.","solution":"De kaarten zijn iets breder en de voet-knoppen compacter, zodat het knoppen-paar altijd samen op één regel staat."},{"num":"v23.19","type":"polish","title":"Meetings: witte vinkjes en beter gecentreerde knop-tekst","problem":"De aankruisvakjes bij de wekelijkse werkuren en in het agendaâs-beheren-venster toonden in de lichte modus een donker vinkje op de merkkleur (de browser kiest die kleur zelf bij standaard-vakjes). En in knoppen hing de tekst optisch een fractie te laag â meer lucht boven dan onder.","solution":"De vakjes gebruiken nu het eigen Senly-vinkje dat altijd wit tekent op de merkkleur, en alle knoppen in het portaal kregen een optische correctie zodat de tekst precies gecentreerd oogt â per knopformaat afgesteld."},{"num":"v23.18","type":"polish","title":"Meetings: Zoom-logo vult zijn tegeltje","problem":"Het Zoom-logo op de integratie-kaart had onzichtbare interne marge, waardoor het kleiner oogde dan de logoâs van Google, Outlook en Apple ernaast.","solution":"Het logo vult nu net als de andere logoâs het hele tegeltje."},{"num":"v23.17","type":"polish","title":"Meetings: verfijnd vinkje in de aankruisvakjes","problem":"Het witte vinkje in de aankruisvakjes was een hoekig haakje dat er wat houterig uitzag.","solution":"Het vinkje is nu een vloeiend getekend haakje met ronde uiteinden, met een subtiele pop-in als je het aanzet."},{"num":"v23.16","type":"polish","title":"Takenbeheer: rustigere pagina-opbouw","problem":"De pagina opende met een groot titelblok en een fors statistieken-blok voordat je bij je taken was â veel visuele drukte, terwijl de paginatitel elders in het portaal al is verdwenen.","solution":"De kop is weg en de statistieken (open, verlopen, voltooid, productiviteit) staan nu compact naast de weergave-tabs. Alle knoppen, filters en weergaven zijn er nog â je taken beginnen alleen een flink stuk hoger op de pagina."},{"num":"v23.15","type":"polish","title":"Takenbeheer: rustigere takentabel","problem":"Elke rij droeg drie gekleurde blokjes (deadline-pill, prioriteit-badge, status) plus drie actie-iconen â met twaalf rijen op het scherm oogde de tabel als een kleurencarnaval.","solution":"Kleur is nu een signaal in plaats van decoratie: alleen verlopen (rood) en vandaag/morgen (amber) houden een gekleurde deadline-pill, verder-weg-datums zijn rustige tekst. Prioriteit is een gekleurde stip met het woord ernaast, en de bewerk-knoppen verschijnen pas als je over een rij beweegt (op touch blijven ze zichtbaar). De snel-toevoegen-balk is slanker geworden. Alles blijft exact even bereikbaar."},{"num":"v23.14","type":"polish","title":"Takenbeheer: stillere filters en status-kolom","problem":"De negen filterknoppen waren stuk voor stuk kaartjes met vulling, schaduw en teller-bubbels, en elke taak riep in kleur \"In uitvoering\" â terwijl dat de normaaltoestand is.","solution":"De filters zijn rustige tekst-knoppen geworden waarvan alleen de actieve een zachte tint draagt; tellers staan er als gewone cijfers naast en lege filters dimmen. De status \"In uitvoering\" is gedempt â alleen voltooid en verlopen dragen nog kleur, want dat zijn de afwijkingen die je wilt zien."},{"num":"v23.13","type":"bugfix","title":"Takenbeheer: kader om de takenlijst terug in lichte modus","problem":"In de lichte modus zweefden de taak-rijen los op de pagina-achtergrond, terwijl de donkere modus wél een net paneel om de lijst heeft.","solution":"De takenlijst heeft in de lichte modus nu exact dezelfde opbouw als in de donkere: één doorlopend paneel met een kolomkop-balk en fijne scheidingslijnen tussen de rijen, in plaats van los zwevende rij-kaarten. Ook de hoogte van de kolomkop-balk is nu pixel-gelijk aan de donkere modus."},{"num":"v23.12","type":"polish","title":"Integraties: blokken in de rustige kaart-stijl van het portaal","problem":"De integratie-blokken hadden felle gradient-icoontegels, schreeuwende ACTIEF-labels in hoofdletters en fel gevulde koppel-chips â een ander, drukker register dan de rest van het portaal.","solution":"Elk blok draagt nu een zachte tint van zijn categorie-kleur met de vertrouwde gekleurde rand links, het icoon staat in een rustig getint tegeltje, de status is een stille stip met het woord ernaast (alleen \"niet ingesteld\" vraagt in kleur om aandacht) en de koppel-chips zijn gedempte tinten geworden. Binnenkort-lijstjes fluisteren in plaats van roepen."}
2,{"num":"v23.11","type":"polish","title":"Integratie-detailpaginaâs in dezelfde rustige stijl","problem":"De paginaâs achter de integratie-blokken (Content kalender, Taken, Bestanden, E-mail, Financieel, AIâ¦) openden met een hero vol gloed-effecten, een glanzend gradient-icoon en een pulserend ACTIEF-label.","solution":"De kop van elke detailpagina volgt nu dezelfde kaart-stijl als de blokken ervoor: zachte kleur-tint met de gekleurde rand links, een rustig getint icoon-tegeltje en een stille status-stip â zonder knipperende animaties. Ook de pagina Website & vindbaarheid doet nu mee, inclusief een terug-link naar het integratie-overzicht."},{"num":"v23.10","type":"bugfix","title":"Custom rollen: actie-knoppen netjes binnen de rol-kaart","problem":"Op een smalle rol-kaart pasten de zes actie-knoppen niet op één regel: \"Bekijk als rol\" brak over drie regels en \"Verwijderen\" viel buiten de kaart.","solution":"De knoppen-rij loopt nu netjes door naar een tweede regel binnen de kaart, en knop-teksten breken niet meer halverwege een woord af."},{"num":"v23.09","type":"bugfix","title":"Integraties: detailpagina opent weer bovenaan","problem":"Als je op de integraties-pagina naar beneden scrolde en dan een integratie opende, opende de detailpagina halverwege of onderaan in plaats van bovenaan.","solution":"De detailpagina springt nu altijd naar de bovenkant zodra hij opent, ongeacht hoe ver je op het overzicht had gescrold."},{"num":"v23.08","type":"bugfix","title":"Financiële en Taken-integratiepagina laden weer betrouwbaar","problem":"De integratiepaginaâs voor Financieel en Taken konden met \"Er ging iets mis\" crashen wanneer de database even overbelast was: één mislukte instelling-uitlezing haalde de hele pagina neer.","solution":"Die uitlezing (een aan/uit-schakelaar) valt nu stil terug op de standaardstatus als de database even niet reageert, zodat de pagina gewoon opent."},{"num":"v23.07","type":"bugfix","title":"Overige detailpaginaâs openen ook bovenaan","problem":"Hetzelfde als bij de integraties: vanaf een gescrolde lijst kon een detailpagina halverwege openen â mogelijk bij een academy-onderdeel of -les, een bureau-detail (super admin) en een klant-evaluatie.","solution":"Ook deze paginaâs springen nu bij openen altijd naar de bovenkant."}]},{"date":"2026-08-08","version":"v23.06","clV":"v0.809","title":"Kleine opschoning van het zijmenu","items":[{"num":"v23.06","type":"polish","title":"Feedback uit het hoofdmenu gehaald","solution":"De Feedback-pagina wordt voorlopig niet meer in het zijmenu getoond, zodat het menu compacter en overzichtelijker blijft."},{"num":"v23.05","type":"bugfix","title":"Knop-teksten weer goed leesbaar bij een donkere huisstijlkleur","problem":"Bureaus met een donkere huisstijlkleur zagen in de donkere modus op sommige knoppen (zoals \"Naar de Launchpad\" en de \"Per klant\"-schakelaar) donkere tekst op een donkere achtergrond â nauwelijks leesbaar.","solution":"De tekstkleur op gekleurde knoppen past zich nu automatisch aan de helderheid van je huisstijlkleur aan: wit op een donkere kleur, donker op een lichte. Dit geldt platformbreed voor alle gekleurde knoppen en sc
2hakelaars."},{"num":"v23.04","type":"bugfix","title":"E-mail: één trage mailbox blokkeert de inbox niet meer","problem":"Met meerdere gekoppelde mailboxen werden die één-voor-één opgehaald. Was er één traag of verbroken, dan bleef de hele inbox hangen of toonde die een misleidend \"leeg postvak\" zonder uitleg.","solution":"Mailboxen worden nu parallel opgehaald met een time-out per mailbox, zodat een trage server de andere niet ophoudt. Kan een mailbox niet geladen worden, dan zie je nu een duidelijke melding (met de betrokken adressen) in plaats van een lege lijst, plus een \"opnieuw proberen\"-knop."},{"num":"v23.03","type":"bugfix","title":"E-mail: leespaneel klapt niet meer leeg en toont niet meer de verkeerde mail","problem":"Snel tussen mails klikken kon de body van de ene mail onder de kop van een andere tonen. En in de map \"Ongelezen\" verdween de mail die je aan het lezen was zodra die als gelezen werd gemarkeerd.","solution":"De mail die je opent blijft nu netjes in beeld, ook als die uit de lijst filtert, en een openstaande mail wordt niet meer overschreven door een langzamere vorige laadactie."},{"num":"v23.02","type":"bugfix","title":"E-mail: zoeken sluit je mail niet meer en meerdere ontvangers werken","problem":"Tijdens het typen in de zoekbalk werd bij elke toetsaanslag opnieuw gezocht en sloot de geopende mail. Daarnaast kwam een nieuwe mail met meerdere ontvangers (via een Senly-adres) maar bij één ontvanger aan.","solution":"Zoeken wacht nu kort tot je klaar bent met typen (of druk Enter) en laat je mail open staan. Meerdere ontvangers, gescheiden door een komma, krijgen de mail nu allemaal."},{"num":"v23.01","type":"bugfix","title":"E-mail: onderwerpen en afzenders met accenten of emoji leesbaar","problem":"Bij Gmail-accounts toonden onderwerpen of afzendernamen met accenten, umlauts of emoji soms rare tekens zoals \"=?UTF-8?B?â¦?=\" in plaats van de echte tekst.","solution":"Deze gecodeerde headers worden nu correct gedecodeerd, zodat je overal de leesbare tekst ziet â ongeacht taal of emoji."},{"num":"v23.00","type":"security","title":"Contentplanner: klantacties voorbehouden aan beheerders en managers","solution":"Acties in de planner â publiceren, accounts koppelen, reageren op reacties en de agenda beheren namens een klant â zijn nu net als de rest van het klantbeheer alleen toegankelijk voor beheerders en managers."},{"num":"v22.99","type":"bugfix","title":"Contentplanner: betrouwbaarder publiceren en web/blog-import","problem":"In zeldzame gevallen kon een automatische herpoging na een hapering een dubbele post opleveren, en kon de web/blog-import bij een onderbreking dubbele concepten aanmaken. Een link uit een externe feed werd bovendien niet altijd veilig geopend.","solution":"Publiceren en de automatische web/blog-import zijn nu idempotent: een herpoging of onderbroken import geeft geen dubbele posts of concepten meer, tijdelijke storingen (zoals een rate-limit) worden netjes opnieuw geprobeerd in plaats van definitief te falen, en feed-links worden alleen als veilige webadressen geopend."},{"num":"v22.98","type":"polish","title":"E-mail: opstelvenster met Escape sluiten en geen concept meer kwijt","problem":"Het opstelvenster kon je niet met Escape sluiten, en per ongeluk naast het venster klikken gooide een half-getypte mail meteen weg.","solution":"Escape sluit het opstel- en sjabloonvenster nu netjes, en als je een niet-verzonden concept hebt vraagt Senly eerst om bevestiging voordat het venster sluit."},{"num":"v22.97","type":"polish","title":"Dashboard: klantkaarten volledig vernieuwd in een liggende premium stijl","problem":"De staande klantkaarten oogden vlak en gedateerd: veel lege ruimte, harde randen en weinig gevoel van kwaliteit.","solution":"De kaarten zijn opnieuw ontworpen als brede, liggende kaarten: icoon links, gegevens rechts, met fijne lichtranden die oplichten in de kleur van de klant, een subtiele kleurgloed vanaf de zijkant en een verfijnde titel. De rij scrolt als een moderne slider met een dun voortgangsbalkje eronder waar je ook op kunt klikken om te springen."},{"num":"v22.96","type":"polish","title":"Dashboard: klantkaarten tonen de echte platform-iconen","problem":"Onderaan elke klantkaart stond alleen een telling zoals \"3 platformen\" â je zag niet in één oogopslag wélke kanalen dat waren.","solution":"In plaats van de telling zie je nu de logoâs van de gekoppelde platformen (Instagram, TikTok, LinkedIn, enz.), subtiel in grijstinten zodat ze passen bij de kaart. Bij meer dan vier platformen staat er een \"+N\" achter. Klanten zonder ingestelde platformen tonen gewoon de oude telling."},{"num":"v22.95","type":"bugfix","title":"E-mail: de ongelezen-teller klopt nu","problem":"De teller naast \"Postvak IN\" telde alleen de mails die al geladen waren en veranderde mee zodra je een andere map (zoals Archief) opende â bij een volle inbox stond er dus vaak een te laag of verkeerd getal.","solution":"De teller toont nu het echte aantal ongelezen mails in je postvak, over al je gek
2oppelde mailboxen, en blijft kloppen ongeacht welke map je bekijkt."},{"num":"v22.94","type":"bugfix","title":"E-mail: \"markeer als ongelezen\" geeft nu een melding als het niet lukt","problem":"Als een mail als ongelezen markeren op de server mislukte, sprong de mail na de eerstvolgende synchronisatie stilletjes terug naar gelezen â zonder dat je het wist.","solution":"Een mislukte markering wordt nu meteen gemeld en de weergave wordt direct bijgewerkt naar de echte status, zodat je nooit meer een onverwachte terugsprong ziet."},{"num":"v22.93","type":"polish","title":"Dashboard: klantkaarten tonen nu ontwerpen, open taken en klantduur","problem":"De kaart toonde een stukje doelgroep-tekst dat op het dashboard weinig zegt â hoeveel werk er openstaat of hoe lang iemand al klant is, zag je nergens.","solution":"Elke klantkaart heeft nu een compacte statistieken-strip: aantal ontwerpen, open taken en sinds wanneer iemand klant is. De doelgroep-omschrijving blijft beschikbaar als tooltip en op het klantprofiel zelf."},{"num":"v22.92","type":"polish","title":"Contentplanner: kleine betrouwbaarheids- en weergavepuntjes","problem":"Bij snel wisselen van klant of platform kon de concurrenten-lijst even de verkeerde data tonen, een mislukt toevoegen of verwijderen van een concurrent gaf geen melding, en een emoji-rijke tekst telde te hoog waardoor de verzendknop onterecht op slot ging.","solution":"De concurrenten-lijst toont nu altijd de data die bij de gekozen klant en het gekozen platform hoort, met een duidelijke melding als toevoegen of verwijderen mislukt. De tekstteller telt een emoji nu als een teken, en enkele knoppen en teksten in de planner zijn nu ook in het Engels, Duits en Frans beschikbaar."},{"num":"v22.91","type":"bugfix","title":"Facturen & offertes: geen dubbel nummer of dubbele mail meer bij snel klikken","problem":"Twee keer snel op \"Versturen\" klikken (of in twee tabbladen) kon één factuur/offerte twee verschillende nummers geven en de klant twee mails sturen â met een gat in de doorlopende nummerreeks als gevolg.","solution":"Het toekennen van het nummer en het versturen zijn nu waterdicht vergrendeld: een tweede klik pakt hetzelfde nummer en verstuurt niet nog een keer. De doorlopende nummerreeks blijft netjes intact."},{"num":"v22.90","type":"bugfix","title":"Factuurdatum klopt nu ook rond middernacht","problem":"Een factuur die je laat op de avond (na 22:00) aanmaakte, kon per ongeluk de datum van de vórige dag krijgen, doordat de server in een andere tijdzone rekent.","solution":"De factuur- en creditnota-datum volgt nu jouw eigen tijdzone, zodat de datum altijd de juiste kalenderdag toont â ongeacht het tijdstip. Geldt ook voor periodieke facturen, duplicaten en offertes die je omzet naar een factuur."},{"num":"v22.89","type":"security","title":"Contentplanner: social-accounts koppelen strak gezet","solution":"Het koppelen en opnieuw koppelen van social-accounts is nu voorbehouden aan beheerders en accountmanagers, net als de rest van het klantbeheer. De koppelstappen zijn daarnaast extra beveiligd, en een koppeling die door een platform is ingetrokken wordt sneller herkend als 'opnieuw koppelen nodig'."},{"num":"v22.88","type":"security","title":"Contentplanner: koppel-flow versleuteld + tokens vernieuwen vlak vóór publiceren","solution":"De gegevens die worden gebruikt tijdens het koppelen van een account zijn nu versleuteld in plaats van leesbaar, zodat er niets bruikbaars kan achterblijven in externe logs of je browsergeschiedenis. Vlak voordat een geplande post wordt verzonden, vernieuwt het portaal indien nodig automatisch de toegang, zodat een post niet vastloopt op een net-verlopen koppeling."},{"num":"v22.87","type":"security","title":"Facturatie: strengere bescherming rond betalingen","problem":"De uitbetaal-IBAN en betaalkoppelingen konden gewijzigd worden door iedereen die facturen mocht maken, en een online betaling boekte een factuur dicht zonder te controleren of het bedrag en de betaalsessie wel klopten.","solution":"Het wijzigen van de IBAN, bankrekening en betaalkoppelingen (Stripe/Mollie) is nu voorbehouden aan financieel beheer. Bij een online betaling controleert het portaal nu bovendien dat het betaalde bedrag én de valuta overeenkomen met de factuur, en dat de betaling bij de actuele betaalsessie hoort â zodat een heropende factuur niet per ongeluk opnieuw als betaald wordt gemarkeerd."},{"num":"v22.86","type":"security","title":"Bevestigingsmails bij akkoord veilig tegen misbruik","problem":"De naam die iemand invulde bij het accepteren van een offerte of ondertekenen van een contract werd ongefilterd in de bevestigingsmail gezet, waardoor er in theorie opmaak of een link in de mail gesmokkeld kon worden.","solution":"Ingevulde namen worden nu netjes als platte tekst weergegeven in de bevestigingsmail, zodat er geen ongewenste links of opmaak in terecht kunnen komen."},{"num":"v22.85","type":"feature","title":"Alle mails naar je klanten en teamleden in je eigen huisstijl","problem":"Alleen de meeting-mails en de wachtwoord-reset droegen je logo en huisstijlkleur; welkomstmails voor teamleden, beveiligingsmeldingen (wachtwoord gewijzigd, MFA), contract- en offertemails gingen nog in de standaard Senly-opmaak de deur uit.","solution":"Elke mail die het portaal namens jouw bureau verstuurt â welkomstmails, beveiligingsmeldingen, contracten ter ondertekening, verificatiecodes, klant-welkomstmails en offerte-bevestigingen â draagt nu automatisch je logo (of je bureaunaam) op een balk in je huisstijlkleur, met knoppen in dezelfde kleur. Mails van Senly zelf over je abonnement blijven in Senly-stijl."},{"num":"v22.84","type":"security","title":"Koppel-flows: extra bescherming tegen misbruik van eenmalige links","solution":"De beveiligde links die worden gebruikt bij het koppelen van accounts en de browserextensie zijn nu strikter beveiligd: elke link werkt maar één keer en alleen voor het doel waarvoor hij is gemaakt, ook wanneer het portaal op meerdere servers tegelijk draait."},{"num":"v22.83","type":"feature","title":"Inlogpagina op je eigen domein volledig in je huisstijl","problem":"Op een white-label domein toonde de inlogpagina wel je logo en portaalnaam, maar de knoppen, links en accenten stonden nog in de vaste Senly-kleur.","solution":"De inlogknop, focus-randen, links en achtergrond-gloed volgen nu automatisch je ingestelde huisstijlkleur â inclusief slimme tekstkleur op de knop (wit op donkere merkkleuren, donker op lichte). Zonder eigen kleur blijft alles netjes zoals het was."},{"num":"v22.82","type":"polish","title":"Geïnstalleerde app (PWA): opstartscherm en naam netter in je huisstijl","problem":"Wie het portaal als app installeerde zag bij het opstarten een vaste donkere Senly-kleur als achtergrond, en een lange portaalnaam werd door het besturingssysteem lelijk afgekapt onder het app-icoon.","solution":"Het opstartscherm kleurt nu mee met een donkere tint van je eigen huisstijlkleur, de app-omschrijving noemt je portaalnaam in plaats van Senly, en lange namen krijgen automatisch een nette korte variant voor onder het icoon."},{"num":"v22.81","type":"bugfix","title":"Facturatie: terugbetaling of terugboeking zet de factuur weer open","problem":"Als een online betaalde factuur later werd terugbetaald of teruggeboekt (chargeback), bleef die toch op \"betaald\" staan â waardoor je omzet te hoog werd weergegeven en er geen herinnering meer volgde.","solution":"Een (gedeeltelijke) terugbetaling of terugboeking via Stripe of Mollie zet de factuur nu automatisch terug naar open (of deels betaald) en corrigeert het betaalde bedrag, zodat je administratie en de herinneringen weer kloppen."},{"num":"v22.80","type":"feature","title":"Gedeelde links op je eigen domein tonen jouw merk in de preview","problem":"Deelde je (of een klant) een link naar je white-label portaal in WhatsApp, Slack of LinkedIn, dan verscheen in de link-preview nog de Senly-marketingafbeelding. Ook de app-naam en kleuren van de geïnstalleerde app leunden op een techniek die op die specifieke routes niet werkte.","solution":"Links naar je eigen portaal-domein krijgen nu automatisch een share-afbeelding in jouw huisstijl: je logo (of initiaal), portaalnaam en domein op een achtergrond in je merkkleur. De app-naam, kleuren en het opstartscherm van de geïnstalleerde app werken nu ook betrouwbaar op elk eigen domein."},{"num":"v22.79","type":"bugfix","title":"Facturatie: nette afronding van periodieke facturen, valuta en herinneringen","problem":"Terugkerende facturen op de laatste dag van de maand schoven na februari op, valuta's werden in het financieel-dashboard door elkaar geteld, en e-facturen van een deels betaalde factuur toonden nog het volledige bedrag als openstaand.","solution":"Terugkerende facturen houden nu netjes hun oorspronkelijke dag van de maand aan. Het financieel-dashboard rekent per valuta en toont bedragen in je meest gebruikte valuta, en op de e-factuur staat voortaan het al betaalde en het nog openstaande bedrag apart. Ook is de betalingsherinneringenreeks steviger gemaakt tegen dubbele mails."},{"num":"v22.78","type":"security","title":"Automations: steviger, veiliger en zuiniger","solution":"De automations zijn steviger gemaakt: een AI-stap loopt niet meer vast op een trage provider, en een automation die door een extern systeem wordt gestart kan niet meer misbruikt worden om mail naar willekeurige adressen te sturen. Het systeem ruimt zijn eigen geschiedenis nu ook automatisch op en draait zuiniger, zodat drukke automations de rest van het portaal niet vertragen."},{"num":"v22.77","type":"polish","title":"Dashboard voelt levendiger door subtiele micro-animaties","solution":"De deadlijstjes en de activiteitenfeed vallen nu zachtjes in beeld, knoppen en kaarten reageren kort op een klik, en het maandtotaal en de tellertjes tellen subtiel op naar hun waarde. Alles gebeurt eenmalig en rustig, en staat automatisch uit als je beperkte beweging hebt ingesteld."},{"num":"v22.76","type":"polish","title":"Taken afvinken voelt nu \"af\"","solution":"Bij het afronden van een taak popt het rondje kort en tekent het vinkje zichzelf â zowel in takenbeheer als bij de taken op het klantprofiel. Ook tellen de cijfers op de klantkaarten (ontwerpen en open taken) nu subtiel op bij het laden. Eenmalig en rustig; staat automatisch uit voor wie beperkte beweging heeft ingesteld."},{"num":"v22.75","type":"polish","title":"Ook takenbeheer, financieel en statistieken laden nu zachtjes in","solution":"De takenlijst, de dienst-rijen op financieel en de statistieken-kaarten vallen nu â net als op het dashboard â met een korte, subtiele cascade in beeld. Eenmalig bij het laden, en automatisch uit voor wie beperkte beweging heeft ingesteld."},{"num":"v22.74","type":"polish","title":"Academy-illustraties in de echte Senly-tint","solution":"De illustraties in de Senly Academy (module- en les-artwork) zijn een tint verschoven: van mint-groen naar de petrol-kant van het Senly-logo, met behoud van hun gloed op de donkere achtergrond."}]},{"date":"2026-08-07","version":"v22.73","clV":"v0.808","title":"Nieuwe koppeling: Mastodon (direct, zonder wachtrij)","items":[{"num":"v22.73","type":"feature","title":"Mastodon koppelen en publiceren","problem":"Na
2ast Bluesky was er geen netwerk dat je meteen kon koppelen zonder eerst op goedkeuring van het platform te wachten.","solution":"Je koppelt nu je Mastodon-account met je serveradres en een toegangscode (te vinden bij je Mastodon-instellingen onder Ontwikkeling, nieuwe applicatie). Plannen en publiceren werkt direct, net als bij Bluesky, zonder wachttijd."},{"num":"v22.72","type":"feature","title":"Mastodon ook via de deelbare koppel-link","problem":"Via de koppel-link die je naar een klant kon sturen, kon die alleen Bluesky koppelen, geen Mastodon.","solution":"De koppel-link ondersteunt nu ook Mastodon: je klant koppelt het account zelf, met serveradres en toegangscode, zonder in te loggen op Senly."},{"num":"v22.71","type":"bugfix","title":"Mastodon-posts kunnen nu veilig opnieuw geprobeerd worden","problem":"Een tijdelijke fout bij het publiceren naar Mastodon werd meteen als definitief mislukt gemarkeerd en de knop \"Opnieuw proberen\" werkte niet.","solution":"Mastodon heeft nu een dubbel-post-controle (zoals Bluesky), zodat een nieuwe poging veilig verloopt zonder dubbel te plaatsen."},{"num":"v22.70","type":"bugfix","title":"Geannuleerde posts verdwijnen uit agenda en lijst","problem":"Naar de prullenbak verplaatste posts bleven als spookkaart in de agenda/lijst staan; erop klikken of slepen gaf een foutmelding.","solution":"Ze verschijnen nu alleen nog onder \"Verwijderde berichten\"."},{"num":"v22.69","type":"bugfix","title":"Vergelijk-periode toont het volledige vorige venster","problem":"Bij het vergelijken van een periode van 90 of 120 dagen werd het vorige venster afgekapt, waardoor de groei-vergelijking te laag uitviel.","solution":"De analytics halen nu de volledige vergelijkingsperiode op."},{"num":"v22.68","type":"bugfix","title":"Bulk-acties raken geen post die net verzonden wordt","problem":"Een post die op dat moment door de planner gepubliceerd werd, kon via bulk-annuleren of bulk-verschuiven toch nog dubbel live gaan.","solution":"Bulk-annuleren en bulk-verschuiven slaan posts over die op dat moment verzonden worden â net als het losse verwijderen al deed."},{"num":"v22.67","type":"feature","title":"Web/Blog-bron: importeer feed-items als concepten","problem":"Een opgeslagen Web/Blog-RSS-bron deed nog niets â je kon de feed alleen bekijken.","solution":"Naast de opgeslagen bron staat nu een \"Importeer nieuwste\"-knop die de recentste feed-items als concept-posts aanmaakt voor je gekoppelde accounts."},{"num":"v22.66","type":"bugfix","title":"Herhaal-reeks behoudt per-netwerk-tekst en hashtags","problem":"Een wekelijkse of dagelijkse reeks gebruikte de kale basistekst en liet per-netwerk-teksten en opgeslagen hashtags vallen.","solution":"Elke post in de reeks gebruikt nu dezelfde definitieve tekst per platform als een losse post."},{"num":"v22.65","type":"bugfix","title":"Bulk \"verplaats dagen\" is nu zomertijd-veilig","problem":"Meerdere posts tegelijk N dagen verschuiven kon de lokale tijd een uur laten verspringen over een zomer- of wintertijd-grens.","solution":"De verschuiving rekent nu op de wandklok in de merk-tijdzone, net als het los verslepen."},{"num":"v22.64","type":"security","title":"Koppelen van e-mail en agenda extra beveiligd","problem":"Bij het koppelen van Gmail, Google Agenda, Outlook of Zoom werd de terugkeer van de aanbieder nog niet cryptografisch gecontroleerd.","solution":"Elke koppeling wordt nu ondertekend en bij terugkomst geverifieerd, zodat een koppeling altijd bij jouw eigen account hoort. Bestaande koppelingen blijven gewoon werken; alleen een halverwege afgebroken koppeling moet je opnieuw starten."},{"num":"v22.63","type":"bugfix","title":"Pauzeren werkt nu zoals bedoeld","problem":"Tijdens een pauze werd er niets in rekening gebracht, maar bleven wijzigingen in het portaal wel gewoon mogelijk â dat was niet de bedoeling van de pauzefunctie.","solution":"Tijdens een pauze kun je alles blijven bekijken en je abonnement op elk moment weer activeren; wijzigingen zijn pas weer mogelijk zodra je hervat. Ook wordt een pauze nu altijd correct meegeteld voor de jaarlijkse limiet."},{"num":"v22.62","type":"security","title":"E-mailadres wijzigen vraagt nu je wachtwoord","problem":"Je e-mailadres wijzigen kon met alleen een actieve sessie. Wie ergens
2ingelogd bleef op een gedeelde computer, liep het risico dat iemand anders het adres â en daarmee het account â kon overnemen.","solution":"Je vult nu je huidige wachtwoord in om de wijziging te starten, je oude adres krijgt een waarschuwingsmail, en na de wijziging word je overal opnieuw gevraagd in te loggen."},{"num":"v22.61","type":"security","title":"Inlogpogingen strenger begrensd","problem":"De limiet op mislukte inlogpogingen keek naar een adres dat de afzender zelf kon opgeven, waardoor die limiet in theorie te omzeilen was.","solution":"De limiet gebruikt nu het geverifieerde adres van de bezoeker, met een extra grens per account. Normaal inloggen â ook na een paar typefouten of een wissel van wifi naar 4G â merkt hier niets van."},{"num":"v22.60","type":"security","title":"Platform beter bestand tegen overbelasting van buitenaf","problem":"Een extern verzoek kon in theorie ongelimiteerd geheugen opvragen of een verbinding lang laten openstaan.","solution":"Afbeeldingen die van buiten worden opgehaald worden nu gaandeweg begrensd en na tien seconden afgebroken, en een beveiligingsupdate van de inlogbibliotheek is doorgevoerd."},{"num":"v22.59","type":"feature","title":"Web/Blog-bron: automatische dagelijkse import","problem":"De Web/Blog-RSS-bron leefde alleen in je browser en importeerde niets automatisch.","solution":"Je bron wordt nu server-side bewaard met een aan/uit-schakelaar: elke dag komen nieuwe feed-items automatisch als concept binnen voor je gekoppelde accounts, zonder dubbele posts."},{"num":"v22.58","type":"security","title":"Tracking-links in campagnemails kunnen niet meer voor phishing worden misbruikt","problem":"Een klik-link uit een e-mailcampagne stuurde door naar het adres in de link zonder te controleren of die link bij een echte campagne-ontvanger hoorde â waardoor een link o
2p het Senly-domein in theorie naar een kwaadaardige site kon doorverwijzen.","solution":"De doorverwijzing gebeurt nu alleen nog als de link bij een bestaande campagne en ontvanger hoort. Je eigen campagnelinks blijven ongewijzigd werken."},{"num":"v22.57","type":"security","title":"Misbruik-bescherming op de AI-functies","problem":"De AI-functies (bijschriften, content-ideeën, voice-training, financiële inzichten, support-chat) hadden geen bovengrens, waardoor een geautomatiseerd script ze in theorie als gratis AI-doorgeefluik kon leegtrekken en zo onnodige kosten kon opdrijven.","solution":"Er geldt nu een ruime bovengrens per gebruiker (60 AI-acties per uur, gedeeld over alle AI-functies). Normaal gebruik â ook een drukke sessie waarin je een week aan posts genereert â blijft hier ruim onder; alleen geautomatiseerd misbruik loopt tegen de grens aan."},{"num":"v22.56","type":"bugfix","title":"Statistieken: risico-percentage en teambelasting kloppen","problem":"Het risico-percentage in de AI-insights kon boven 100% uitkomen als een gedeactiveerde klant nog verlopen taken had, en de teambelasting rekende afgeronde taken mee in de capaciteit.","solution":"Het percentage telt nu alleen actieve klanten, en de teambelasting rekent met open taken â beide geven weer een kloppend beeld."},{"num":"v22.55","type":"polish","title":"Statistieken: nette lege branche-grafiek + correct meervoud","problem":"Een lege branche-grafiek toonde altijd Nederlandse tekst (ook voor EN/DE/FR-gebruikers) en \"laatst actief\" toonde \"5 dag geleden\".","solution":"De lege branche-grafiek is nu vertaald en het meervoud klopt (\"5 dagen geleden\")."},{"num":"v22.54","type":"bugfix","title":"Facturatie: een kopie krijgt een eigen betaallink","problem":"Een gedupliceerde factuur nam de betaallink van het origineel over, waardoor een klant per ongeluk de bronfactuur (verkeerd bedrag) kon betalen.","solution":"Een kopie start nu zonder betaallink en genereert bij versturen zelf een verse met het eigen bedrag."},{"num":"v22.53","type":"bugfix","title":"Afspraken: geen onboekbare tijdslots meer tonen","problem":"Op de grens van \"maximaal X dagen vooruit boeken\" toonde de boekingspagina soms tijden die bij het bevestigen alsnog geweigerd werden.","solution":"De boekingspagina verbergt nu ook per tijdslot de momenten voorbij de vooruitboek-grens."}]},{"date":"2026-08-06","version":"v22.52","clV":"v0.807","title":"Verbindingen: Web/Blog-RSS-bron + Looker Studio-tegel","items":[{"num":"v22.52","type":"feature","title":"Web- en Blog-RSS-bron toevoegen in Verbindingen","problem":"Je kon wel sociale accounts koppelen, maar geen website-/blog-RSS als vaste bron voor je content.","solution":"In \"Verbindingen beheren\" zit nu een sectie \"Bronnen & export\": plak je website- of blog-RSS, Senly valideert de feed live en toont de recentste items. Die feed gebruik je als bron in autolijsten of bulk-import."},{"num":"v22.51","type":"feature","title":"Looker Studio-tegel bij Verbindingen","problem":"De koppelcode voor Looker Studio moest je via een verborgen link opzoeken.","solution":"Bij Verbindingen staat nu, naast de RSS-bronnen, een Looker Studio-tegel met je bureau-koppelcode en een kopieerknop, klaar om in de Looker-connector te plakken."},{"num":"v22.50","type":"feature","title":"Concurrenten volgen met historische trendlijn","problem":"De Concurrenten-tab liet alleen de stand van nu zien; je zag geen groei over tijd, en je lijst verdween zodra je in een andere browser keek.","solution":"Je concurrenten worden nu per klant bewaard en dagelijks gemeten. In de tabel zie je naast volgers en posts een trend-sparkline plus de groei (plus of min) over de periode â jij naast elke concurrent. Bluesky levert live cijfers; andere platforms volgen zodra hun data beschikbaar is."},{"num":"v22.49","type":"polish","title":"TikTok: zakelijk versus persoonlijk account verduidelijkt","problem":"Bij het koppelen van TikTok was niet duidelijk welk accounttype je nodig hebt.","solution":"De TikTok-koppelkaart vermeldt nu dat een zakelijk account nodig is om automatisch te plannen, terwijl een persoonlijk account voor analyses bedoeld is."},{"num":"v22.48","type":"polish","title":"Huisstijlkleur werkt nu overal consistent door","problem":"Op verschillende plekken bleef een vaste teal-tint staan die niet meebewoog met je ingestelde huisstijlkleur â onder andere de tooltip naast de menu-iconen, de achtergrond van ongelezen meldingen, de omzet-piek-bubble in de grafiek en de logo-preview (d
2ark mode) op de Huisstijl-pagina.","solution":"Al die accenten lopen nu via je huisstijlkleur. Stel je een eigen merkkleur in, dan kleuren ze automatisch mee in plaats van teal te blijven."}]},{"date":"2026-08-06","version":"v22.47","clV":"v0.806","title":"Looker Studio-koppeling voor je maandrapport","items":[{"num":"v22.47","type":"feature","title":"Live maandrapport-data in Looker Studio","problem":"De cijfers uit je maandrapport kon je alleen als bestand exporteren (PDF, PowerPoint of CSV), niet live laten meelopen in een Looker Studio-dashboard.","solution":"Er is nu een koppeling met Looker Studio: log in, haal je persoonlijke koppelcode op en plak die in de connector, en je rapportcijfers verschijnen live in je Looker Studio-dashboard. De koppeling is alleen-lezen en per bureau afgeschermd."}]},{"date":"2026-08-06","version":"v22.46","clV":"v0.805","title":"Maandrapport: nu ook als PowerPoint en als CSV (Looker Studio)","items":[{"num":"v22.46","type":"feature","title":"Download je maandrapport als PowerPoint of CSV","problem":"Het maandrapport kon je alleen als PDF downloaden â niet aanpasbaar om te presenteren, en niet in te lezen in een BI-tool.","solution":"Naast Download PDF zitten er nu twee knoppen: PowerPoint (bewerkbare slides met cover, KPI-overzicht, per-platform-tabel en top-berichten, in de huisstijl) en CSV. De CSV is een nette data-export die je zo in Looker Studio, Excel of Google Sheets inleest. Zelfde cijfers als de PDF; werkt ook op het voorbeeldrapport."}]},{"date":"2026-08-06","version":"v22.45","clV":"v0.804","title":"Klantportaal-hardening: veiligere review-links en een waterdichte betaalflow","items":[{"num":"v22.45","type":"security","title":"Review-links extra beveiligd","problem":"De deel-links voor content-goedkeuring gebruikten nog een minder willekeurige code dan de rest van het platform, en de bijbehorende routes hadden geen misbruik-rem.","solution":"Review-links krijgen nu dezelfde sterke, willekeurige code als de factuur- en contract-links, en de goedkeur-routes zijn per bezoeker begrensd tegen misbruik."},{"num":"v22.44","type":"bugfix","title":"Online betaling incasseert het juiste restbedrag","problem":"Bij een factuur die al deels per bank was voldaan, maakte de online-betaalknop een betaling voor het volledige bedrag i.p.v. het restbedrag â de QR-code toonde wel het juiste bedrag.","solution":"De betaalknop rekent nu altijd met het openstaande restbedrag, gelijk aan de QR-code."},{"num":"v22.43","type":"bugfix","title":"Een betaalde factuur blijft betaald","problem":"In een zeldzaam samenloop-geval kon een net-betaalde factuur direct daarna weer als openstaand verschijnen doordat het openen van de factuurpagina de status terugzette.","solution":"De statusovergangen zijn nu waterdicht: het bekijken van een factuur of offerte kan een betaling of akkoord niet meer overschrijven, en dubbel-markeren vuurt geen dubbele meldingen."},{"num":"v22.42","type":"bugfix","title":"Betaallink altijd bruikbaar, nooit een dode pagina","problem":"Een oudere of afgebroken betaallink kon de klant op een verlopen betaalpagina laten landen, en trage betaalproviders konden een verzoek laten hangen.","solution":"De betaalknop maakt bij het klikken altijd een verse, geldige betaling aan (of toont de bankgegevens als terugval), en alle betaalprovider-oproepen hebben nu een time-out."},{"num":"v22.41","type":"bugfix","title":"Offerte accepteren nu ook zonder muis","problem":"Het handtekeningveld werkte alleen met muis of aanraking, waardoor iemand die met toetsenbord of een schermlezer werkt een offerte niet kon accepteren.","solution":"Accepteren kan nu met alleen je naam als digitale handtekening; het tekenveld blijft optioneel. Op mobiel verdwijnt een getekende handtekening ook niet meer bij een onderbreking."},{"num":"v22.40","type":"polish","title":"Leesbare knoppen en juiste taal op alle klantpaginaâs","problem":"Bij een lichte huisstijlkleur waren de accepteer- en onderteken-knoppen op offertes en contracten slecht leesbaar, en schermlezers kregen soms de verkeerde taal doorgegeven.","solution":"De knop-tekstkleur past zich nu overal automatisch aan de achtergrond aan, en elke klantpagina geeft de juiste documenttaal door aan de browser en schermlezer. Ook zichtbaardere invulvelden en nettere foutmeldingen."},{"num":"v22.39","type":"polish","title":"Laatste puntjes op het klantportaal","problem":"Een reeks kleine oneffenheden: een bureau-preview telde mee als klant-bezoek, de leverancier stond nog in enkele footers, de factuurtabel kon op een smalle telefoon inklappen, en een hangende verbinding kon een pagina eeuwig laten laden.","solution":"De preview van het bureau telt niet meer mee, de klant-paginaâs zijn volledig white-label, de factuurtabel scrollt net
2jes op kleine schermen, en paginaâs tonen nu een nette melding in plaats van eindeloos te laden. Na een online betaling ververst de statuspagina bovendien zelf."},{"num":"v22.38","type":"bugfix","title":"Heropende factuur springt niet meer stil terug naar âbetaaldâ","problem":"Een factuur die je bewust heropende of annuleerde nadat hij online was betaald, kon in een zeldzaam geval via een nagekomen betaalmelding weer op âbetaaldâ springen â met een dubbele melding en een verkeerd omzetcijfer.","solution":"Bij heropenen of annuleren laat de factuur de koppeling met de oude online-betaling nu volledig los, zodat een nagekomen melding de status niet meer kan overschrijven. Bij het volgende âBetalenâ wordt automatisch een verse betaallink aangemaakt."},{"num":"v22.37","type":"security","title":"Interne afbeeldingsproxy strakker afgeschermd","problem":"De afbeeldingsproxy die o.a. e-mailplaatjes cookie-loos doorlaadt, kon in theorie een onveilig bestandstype doorgeven.","solution":"De proxy accepteert nu uitsluitend echte afbeeldingsformaten en serveert alles in een afgeschermde context, zodat er geen actieve inhoud via die route kan lopen."},{"num":"v22.36","type":"security","title":"Gedeelde cloudmappen strikter per bureau gescheiden","problem":"Bij het automatisch koppelen van een Dropbox- of OneDrive-map werd nog niet overal gecontroleerd of die map al bij een ander bureau in gebruik was.","solution":"Automatisch koppelen slaat een map nu over als die al aan een ander bureau is gekoppeld â op alle koppel-paden dezelfde controle die het handmatig koppelen al deed."}]},{"date":"2026-08-06","version":"v22.35","clV":"v0.803","title":"Afwezig? Je boekingspagina laat het zien","items":[{"num":"v22.35","type":"feature","title":"Afwezigheid-melding op je boekingspagina","problem":"Als je afwezig was, kon een klant nog gewoon je boekingspagina openen en een afspraak inplannen â die viel dan in je vakantie. Een echte auto-reply per mail kan nog niet (het portaal leest geen inkomende mail), dus er was geen enkele hint.","solution":"Ben je nu binnen je ingestelde afwezigheidsperiode, dan verschijnt bovenaan je publieke boekingspagina een duidelijke melding \"Momenteel afwezig · terug op <datum>\" plus je eigen bewaarde bericht. Zo weet een bezoeker het meteen, nog vóór hij boekt."}]},{"date":"2026-08-06","version":"v22.34","clV":"v0.802","title":"Concurrent-analyse: zet je account naast concurrenten","items":[{"num":"v22.34","type":"feature","title":"Live concurrent-benchmark in Statistieken","problem":"De Concurrenten-tab in de statistieken toonde nog \"binnenkort\" â je kon je account niet met concurrenten vergelijken.","solution":"Onder Statistieken â Concurrenten voeg je nu concurrent-accounts toe en zie je hun openbare cijfers (volgers, volgend, berichten) naast je eigen account, met de koploper per kolom gemarkeerd. Voor Bluesky zijn de cijfers meteen live (openbaar profiel); voor de andere netwerken volgt dit zodra we hun publieke data mogen ophalen. Je lijst blijft in je browser bewaard; het opslaan per account en een historische trend komen in een volgende stap."}]},{"date":"2026-08-06","version":"v22.33","clV":"v0.801","title":"Peer-feedback: resultaten inzien + snel bereikbaar","items":[{"num":"v22.33","type":"feature","title":"Feedback-resultaten per persoon bekijken","problem":"Teamleden konden feedback invullen, maar een manager kon nergens zien wat eruit kwam â de verzamelde antwoorden verdwenen in het niets.","solution":"Bij een feedback-ronde met reacties staat nu een knop \"Resultaten\". Die toont per beoordeeld teamlid de gemiddelde sterren-score en alle open antwoorden â anoniem, zonder de auteur, zodat mensen eerlijk durven zijn."},{"num":"v22.32","type":"polish","title":"\"Feedback\" nu ook in de zijbalk (desktop)","problem":"Het feedback-scherm was alleen via de mobiele navigatie of het adres bereikbaar.","solution":"Er staat nu een \"Feedback\"-item in de zijbalk op desktop, zodat teamleden er tijdens een ronde direct bij kunnen."}]},{"date":"2026-08-06","version":"v22.31","clV":"v0.800","title":"Meldingen: vindbaar in instellingen + wekelijkse digest","items":[{"num":"v22.31","type":"feature","title":"Wekelijkse samenvatting per mail","problem":"Om te weten hoe de week was moest je door verschillende schermen; er was geen overzicht dat naar je toe kwam.","solution":"Nieuwe opt-in bij Meldingen: \"Wekelijkse samenvatting\". Zet je 'm aan, dan krijg je elke maandag een mail met de hoogtepunten van je bureau
2(nieuwe klanten, voltooide taken, verstuurde designs, betaalde facturen). Staat standaard uit, dus alleen wie 'm wil krijgt hem â en een week zonder activiteit levert geen lege mail op."},{"num":"v22.30","type":"polish","title":"Meldingen-voorkeuren nu ook via de instellingen-hub","problem":"Je kon je e-mail-meldingen alleen instellen via de profiel-tabs â veel mensen zochten het (logisch) in het instellingen-scherm.","solution":"Er staat nu een \"Meldingen\"-tegel in de instellingen-hub die naar dezelfde voorkeuren linkt. Eén plek minder om te zoeken."}]},{"date":"2026-08-06","version":"v22.29","clV":"v0.799","title":"Factuur maken uit gelogde uren","items":[{"num":"v22.29","type":"feature","title":"Van urenregistratie naar concept-factuur in één klik","problem":"Bureaus die op nacalculatie werken moesten de gelogde uren handmatig optellen en overtypen in een nieuwe factuur â foutgevoelig en dubbel werk.","solution":"Nieuwe knop \"Uit uren\" op het facturen-scherm: kies een klant en een verkoop-uurtarief, en er wordt een concept-factuur gemaakt uit alle nog niet-gefactureerde billable uren (standaard een regel per teamlid). De gebruikte uren worden gemarkeerd als gefactureerd, zodat ze nooit dubbel op een factuur belanden. Het concept opent gewoon in de editor voor je het verstuurt."}]},{"date":"2026-08-06","version":"v22.28","clV":"v0.798","title":"Advertentie-prestaties: je ad-resultaten naast je content","items":[{"num":"v22.28","type":"feature","title":"Read-only dashboard voor Meta/Google/TikTok Ads","problem":"Je kon wel de advertenties van concurrenten volgen, maar de resultaten van je eigen advertentiecampagnes stonden nog niet in Senly.","solution":"Onder Advertenties staat nu een prestatiedashboard per klant: uitgaven, vertoningen, klikken, doorklikratio, kosten per klik, conversies en een campagnetabel, met periode- en platformfilter. Het is bewust alleen-lezen: Senly maakt of wijzigt geen campagnes. De echte cijfers verschijnen zodra de toegang tot Meta, Google en TikTok is goedgekeurd; tot dan zie je een wachtstatus in plaats van verzonnen cijfers."}]},{"date":"2026-08-06","version":"v22.27","clV":"v0.797","title":"Statistieken: vergelijk deze periode met de vorige","items":[{"num":"v22.27","type":"feature","title":"Periode-vergelijking in de statistieken","problem":"Je kon een periode kiezen, maar niet zien of je het beter of slechter deed dan daarvoor â de vergelijk-knop was nog niet actief.","solution":"De knop \"Vergelijk met vorige periode\" werkt nu: hij toont de netto-verandering (volgers en berichten) van de gekozen periode, met een groene/rode delta t.o.v. de vorige periode van dezelfde lengte. Zodra er statistieken binnenkomen (nu al voor gekoppelde accounts) vult de vergelijking zich vanzelf."}]},{"date":"2026-08-06","version":"v22.26","clV":"v0.796","title":"Contentplanner-audit: prullenbak-acties, eerlijkere statistieken en kleine fixes","items":[{"num":"v22.26","type":"feature","title":"Prullenbak: posts herstellen of definitief verwijderen","problem":"Verwijderde (geannuleerde) posts konden alleen bekeken worden â je kon ze niet terugzetten of echt opruimen.","solution":"Bij \"Verwijderde berichten\" zit nu per post een Herstellen-knop (terug naar concept) en een Definitief verwijderen-knop (met bevestiging)."},{"num":"v22.25","type":"bugfix","title":"Statistieken-subtabs tonen niet langer misleidend hetzelfde overzicht","problem":"De subtabs Berichten/Rollen/Verhalen/Concurrenten lieten stil exact hetzelfde overzicht zien, alsof ze werkten.","solution":"Die tabs tonen nu een eerlijke \"komt binnenkort\"-melding tot ze gebouwd zijn; alleen Overzicht is echt gevuld."},{"num":"v22.24","type":"bugfix","title":"LinkedIn-bedrijfspagina toevoegen als publiceer-doel","problem":"De backend-validatie kende het platform \"LinkedIn-bedrijfspagina\" niet, waardoor inplannen erop zou mislukken zodra het live gaat.","solution":"Het platform is toegevoegd aan de validatie, zodat het meteen werkt wanneer LinkedIn-pagina-publiceren wordt vrijgegeven."},{"num":"v22.23","type":"polish","title":"AI-assistent alleen zichtbaar voor wie hem mag gebruiken","problem":"De AI-knoppen stonden voor iedereen aan, maar teamleden zonder beheerrechten kregen een foutmelding bij gebruik.","solution":"De AI-assistent verschijnt nu alleen voor beheerders en managers. Ook de niet-werkende locatie-knop is uit de werkbalk gehaald."}]},{"date":"2026-08-06","version":"v22.22","clV":"v0.795","title":"Peer-feedback: rondes starten en invullen","items":[{"num":"v22.22","type":"feature","title":"Feedback-ronde starten vanuit Team-cultuur","problem":"De peer-feedback-cadans kon je instellen, maar er was geen manier om daadwerkelijk een ronde te starten of feedback te verzamelen â de tabellen stonden klaar maar deden niets.","solution":"In Team-cultuur start je met één klik een feedback-ronde (met een standaard vragenset). Je ziet lopende en eerdere rondes met het aantal reacties en kunt een ronde sluiten."},{"num":"v22.21","type":"feature","title":"Nieuw \"Feedback\"-scherm voor teamleden","problem":"Teamleden hadden geen plek om elkaar feedback te geven.","solution":"Tijdens een actieve ronde kan elk teamlid via het Feedback-scherm c
2ollega's beoordelen: een sterren-score op de samenwerking plus open antwoorden over sterke kanten en groei. Al-ingevulde collega's krijgen een vinkje; herzien mag zolang de ronde loopt. Antwoorden zijn niet zichtbaar voor de beoordeelde collega."}]},{"date":"2026-08-06","version":"v22.20","clV":"v0.794","title":"Buddy automatisch toewijzen + felicitatie naar de jarige","items":[{"num":"v22.20","type":"feature","title":"Automatische buddy voor nieuwe teamleden","problem":"De optie \"buddy automatisch toewijzen\" stond in Team-cultuur, maar er gebeurde niets â je moest alsnog handmatig een buddy kiezen.","solution":"Staat de optie aan, dan krijgt elk nieuw teamlid bij aanmaken automatisch een buddy: de minst-belaste ervaren collega (sales-juniors worden overgeslagen als er anderen zijn). De verval-datum wordt meteen op de ingestelde buddy-duur gezet."},{"num":"v22.19","type":"feature","title":"Felicitatie-mail naar het jarige teamlid","problem":"Bij een jubileum kregen alleen de admins een melding â het teamlid zelf hoorde niets vanuit het systeem.","solution":"Nieuwe optie in Team-cultuur: stuur bij een jubileum ook een felicitatie-mail naar het teamlid zelf. Staat standaard uit, dus je kiest bewust of je dat wilt."}]},{"date":"2026-08-06","version":"v22.18","clV":"v0.793","title":"1-op-1-achterstand zichtbaar per teamlid","items":[{"num":"v22.18","type":"feature","title":"Zie wie te lang geen 1-op-1 heeft gehad","problem":"Je kon een 1-op-1-cadans instellen, maar nergens zag je of gesprekken daadwerkelijk plaatsvonden â er was geen manier om een 1-op-1 vast te leggen.","solution":"In Team-cultuur staat nu per teamlid met een manager wanneer het laatste 1-op-1 was, met een \"Gehad\"-knop om er eentje te registreren. Overschrijdt de tijd sinds het laatste gesprek de ingestelde cadans (of is er nog nooit een geweest), dan kleurt het \"achterstallig\". Zo zie je in één oogopslag met wie het gesprek weer eens tijd wordt."}]},{"date":"2026-08-06","version":"v22.17","clV":"v0.792","title":"Overuren goedkeuren vanuit Team-cultuur","items":[{"num":"v22.17","type":"feature","title":"Goedkeurscherm voor automatisch berekende overuren","problem":"De wekelijkse overuren-berekening zette registraties op \"in afwachting\", maar er was geen plek waar een manager ze kon beoordelen â ze stroomden onzichtbaar binnen.","solution":"Bovenaan Team-cultuur verschijnt een blok \"Overuren goedkeuren\" zodra er registraties wachten, met per teamlid de uren en de onderbouwing (gelogd vs rooster). Eén klik keurt goed of wijst af. Het blok verdwijnt vanzelf als er niets openstaat."}]},{"date":"2026-08-06","version":"v22.16","clV":"v0.791","title":"Overuren worden automatisch berekend uit je gelogde uren","items":[{"num":"v22.16","type":"feature","title":"Wekelijkse overuren-berekening","problem":"Het overurenbeleid stond wel klaar, maar overuren moesten handmatig ingevoerd worden - in de praktijk hield niemand dat bij.","solution":"Elke maandag berekent het portaal automatisch per teamlid de gelogde uren van de afgelopen week en vergelijkt die met het rooster. Werkte iemand meer dan het rooster, dan ontstaat er automatisch een overurenregistratie met status 'in afwachting', zodat een manager hem eerst kan bevestigen. Werkt alleen als urenregistratie aan staat."}]},{"date":"2026-08-06","version":"v22.15","clV":"v0.790","title":"Gelogde uren voeden nu de echte kosten per klant","items":[{"num":"v22.15","type":"feature","title":"Loonkosten per klant uit urenregistratie","problem":"De \"kosten per klant\" in het financiële overzicht waren een handmatig ingevuld of geschat getal. Nu je uren logt, kon dat nog niet automatisch meegenomen worden â de toggle stond klaar maar deed niets.","solution":"Staat \"laat billable uren de kosten per klant voeden\" aan (bij Urenregistratie), dan berekent het financiële overzicht de loonkosten per klant uit de gelogde billable uren van de lopende maand à het uurtarief-snapshot. De winst-per-klant en marge draaien daar automatisch op mee. Volledig opt-in: staat de toggle uit, dan blijft alles exact zoals het was (handmatige/GHL-kosten)."}]},{"date":"2026-08-06","version":"v22.14","clV":"v0.789","title":"Werkuren tellen nu mee: geen factuur-herinneringen op vrije dagen","items":[{"num":"v22.14","type":"feature","title":"Factuur-herinneringen respecteren werkuren en klant-uren","problem":"Automatische factuurherinneringen gingen elke dag de deur uit, ook in het weekend of op dagen dat een klant liever niet benaderd wordt, terwijl de werkurenpagina die je daarvoor kon instellen nog niets deed.","solution":"Een herinnering slaat nu een uitgeschakelde dag over: staat een dag in de communicatie-uren van de klant op vrij, dan wacht de herinnering tot de eerstvolgende werkdag, anders geldt de bureau-brede werkweek. Heb je niets ingesteld, dan verandert er niets en gaan herinneringen gewoon dagelijks; klant-uren gaan altijd voor bureau-uren."}]},{"date":"2026-08-06","version":"v22.13","clV":"v0.788","title":"Shorts/Reels-preview: naam en bijschrift staan weer netjes onderaan","items":[{"num":"v22.13","type":"bugfix","title":"Verticale preview zette de accountnaam en tekst in het midden","problem":"In de verticale preview (YouTube Shorts, Reels, TikTok) zweefden de accountnaam, de Abonneren-knop en het bijschrift halverwege het beeld in plaats van onderaan, doordat het bijschrift-vak zich onbedoeld over de hele hoogte uitrekte.","solution":"De overlay wordt nu met een flex-indeling stevig onderaan verankerd en het bijschrift wordt netjes op twee regels afgekapt. Naam, Abonneren-knop, tekst en audioregel staan weer onderaan links, precies zoals in de echte app."}]},{"date":"2026-08-06","version":"v22.12","clV":"v0.787","title":"Team-cultuur komt tot leven: jubilea-mails en buddy-check-in-taken","items":[{"num":"v22.12","type":"feature","title":"Automatische jubileum-melding","problem":"Je kon in Team-cultuur wel diensttijd-mijlpalen instellen (1, 3, 5 jaar...), maar er gebeurde nog niets mee - het bleef een lijstje.","solution":"Elke dag checkt het portaal automatisch of een teamlid vandaag een ingesteld jubileum viert, en mailt de bureau-beheerders daarover (bijvoorbeeld 'X is vandaag 5 jaar in dienst'). Alleen teamleden met een echt ingevulde startdatum tellen mee, en je krijgt maximaal één melding per persoon per jaar."},{"num":"v22.11","type":"feature","title":"Buddy-check-in-taken op dag 7, 30 en 60","problem":"Een buddy koppelen deed niets automatisch â de buddy moest zelf onthouden om in te checke
2n bij de nieuwe collega.","solution":"Zodra een teamlid een buddy heeft, verschijnt er automatisch een taak \"Buddy-check-in met <naam>\" voor de buddy op dag 7, 30 en 60 na de koppeling. Loopt via de normale takenlijst; dubbele taken worden voorkomen."}]},{"date":"2026-08-06","version":"v22.10","clV":"v0.786","title":"Invoervelden in light mode: geen dubbele kadertjes meer","items":[{"num":"v22.10","type":"polish","title":"Losse randjes rond datum/tijd- en zoekvelden structureel opgelost","problem":"In de lichte weergave kreeg elk invoerveld standaard een witte achtergrond met rand, ook als het veld al eigen vormgeving had, waardoor soms een dubbel kadertje verscheen (bijvoorbeeld rond de datum/tijd in de planner of de zoekbalk in takenbeheer).","solution":"De onderliggende regel dient nu alleen nog als basis voor kale velden; een veld met een eigen vormgeving houdt voortaan automatisch zijn eigen stijl. De verplichte lichte weergave van datum- en tijdkiezers blijft hetzelfde. Hiermee is de bron van dit terugkerende randje weggenomen."}]},{"date":"2026-08-06","version":"v22.09","clV":"v0.785","title":"Urenregistratie: log je tijd per klant en zie de echte kosten","items":[{"num":"v22.09","type":"feature","title":"Urenregistratie in te schakelen per bureau","problem":"Er was geen manier om gewerkte tijd vast te leggen. Daardoor bleef \"kosten per klant\" een handmatig geschat getal en kon het overuren-beleid (uit Team-cultuur) niet gevoed worden.","solution":"Nieuwe pagina /admin/urenregistratie (Configuratie-groep) met een master-schakelaar. Aan = het \"Mijn uren\"-scherm verschijnt voor het hele team. Je stelt een standaard uurtarief in, afronding (kwartier/half uur/â¦) en of nieuwe uren standaard factureerbaar zijn."},{"num":"v22.08","type":"feature","title":"Uurtarief per teamlid (kosten-kant)","problem":"Een junior en een senior kosten het bureau niet hetzelfde per uur, maar er was geen plek om dat vast te leggen.","solution":"Per teamlid een eigen intern uurtarief (leeg = bureau-standaard). Bij het loggen wordt het tarief als snapshot bevroren op de registratie, zodat een latere tariefwijziging historische kosten niet met terugwerkende kracht verandert."},{"num":"v22.07","type":"feature","title":"\"Mijn uren\"-scherm met week-overzicht","problem":"Teamleden hadden geen plek om hun tijd bij te houden.","solution":"Nieuw /uren-scherm: log per dag je tijd (duur als \"1:30\", \"1,5\" of \"90m\"), optioneel gekoppeld aan een klant + omschrijving + factureerbaar-vinkje. Week-navigatie met dag- en weektotalen. Je kunt eigen registraties weer verwijderen."}]},{"date":"2026-08-06","version":"v22.06","clV":"v0.784","title":"Team-cultuur: verlof, overuren, jubilea, 1-op-1, buddy en peer-feedback op één plek","items":[{"num":"v22.06","type":"feature","title":"Verlofsaldo per teamlid","problem":"Vakantiedagen werden in losse Excelsheets bijgehouden â niemand wist in één blik wie nog hoeveel dagen had, en het net gebouwde afwezigheid-scherm wist niks van saldo.","solution":"Nieuwe pagina /admin/team-cultuur met een bureau-jaartarief (default 25) + per-teamlid override + boek-knop om dagen bij/af te schrijven. Saldo wordt live berekend over het lopende kalenderjaar (VacationTransaction-log). Resterend/gebruikt per teamlid meteen zichtbaar."},{"num":"v22.05","type":"feature","title":"Overuren-beleid, jubilea en peer-feedback-cadans instelbaar","problem":"Er was geen plek om afspraken over personeelsbeleid vast te leggen: hoe overuren gecompenseerd worden, bij welke diensttijd je iets viert, en hoe vaak je feedbackrondes doet.","solution":"Op één pagina leg je nu het overurenbeleid vast (vermenigvuldiger plus tijd-terug, uitbetalen of geen compensatie), kies je de jubileum-mijlpalen die een melding geven, en stel je de frequentie van feedbackrondes in. Het beleid wordt opgeslagen; de automatische uitvoering ervan volgt gefaseerd."},{"num":"v22.04","type":"feature","title":"1-op-1 cadans en manager per teamlid","problem":"1-op-1-gesprekken verwaterden zonder proces en er was nergens vastgelegd wie iemands directe manager is.","solution":"Stel een cadans in weken in (verplicht of adviserend) en koppel per teamlid een manager. Dit is de basis waarop een \"1-op-1 achterstand\"-signaal kan draaien."},{"num":"v22.03","type":"feature","title":"Buddy-koppeling voor nieuwe teamleden","problem":"Nieuwe teamleden hadden geen vast aanspreekpunt in hun eerste weken â de grootste vertrek-window.","solution":"Koppel per teamlid een buddy; de verval-datum wordt automatisch gezet op basis van de bureau-buddy-duur (default 90 dagen). Optioneel auto-toewijzen bij nieuwe teamleden."},{"num":"v22.02","type":"feature","title":"Klantportaal-link delen, previewen, vernieuwen en intrekken","problem":"De klantportaal-link was alleen te vinden via een menu op een factuurrij. Een klant met alleen offertes of nog geen documenten had geen enkele plek om zijn link te vinden, en een gelekte link kon je nergens ongeldig maken.","solution":"Op de klantpagina staat nu een Klantportaal-blok: kopieer de link, open een voorbeeld, vernieuw de link (oude wordt direct ongeldig) of trek hem helemaal in."},{"num":"v22.01","type":"bugfix","title":"Content-review toont nu de daadwerkelijke afbeelding","problem":"Bij interne posts kreeg de klant altijd een lege gekleurde placeholder te zien in plaats van de gegenereerde visual â zo keurde hij blind goed.","solution":"De review-pagina toont nu het echte beeld. Is er nog geen afbeelding, dan verschijnt de beeld-briefing en de titel, zodat de klant weet wat er komt."},{"num":"v22.00","type":"security","title":"Concept-contracten niet meer publiek te ondertekenen","problem":"Een nog niet verstuurd concept-contract kon via de ondertekenlink toch al bekeken en getekend worden.","solution":"Concepten geven nu netjes een niet-gevonden-melding tot ze echt verstuurd zijn â net als concept-offertes."},{"num":"v21.99","type":"bugfix","title":"Online-betaallink verloopt niet meer","problem":"De betaallink werd eenmalig bij verzenden gemaakt. Provider-checkouts verlopen (Stripe na circa 24 uur), du
2s wie een oudere factuurmail opende landde soms op een dode betaalpagina.","solution":"De Betalen-knop maakt bij het klikken een verse checkout aan als de oude verlopen is. De klant landt nooit meer op een verlopen betaalpagina."},{"num":"v21.98","type":"feature","title":"Duidelijke bevestiging na online betalen","problem":"Na betalen kwam de klant terug op een ogenschijnlijk ongewijzigde factuur met nog een actieve Betalen-knop â verwarrend en met risico op dubbel betalen.","solution":"De factuur toont nu een melding (betaling ontvangen, in verwerking of niet afgerond) en verbergt de Betalen-knop zodra er betaald is."},{"num":"v21.97","type":"feature","title":"Melding wanneer een klant een post goed- of afkeurt","problem":"Keurde een klant via de review-link een post goed of af, dan kreeg het bureau geen enkel signaal â een afgekeurde post bleef onopgemerkt liggen tot de geplande publicatietijd.","solution":"De account-manager krijgt nu direct een melding met de klantnaam, het platform en eventuele feedback."},{"num":"v21.96","type":"bugfix","title":"Beoordelingspagina toont nu de juiste status","problem":"Elke post die niet was afgekeurd toonde de klant de tekst goedgekeurd â ook concepten, al gepubliceerde of mislukte posts.","solution":"De pagina toont nu per status de kloppende boodschap (goedgekeurd, gepubliceerd, nog niet klaar, of mislukt) en alleen echt openstaande posts krijgen de goedkeur-knoppen."},{"num":"v21.95","type":"feature","title":"Meerdere afbeeldingen doorbladeren bij het beoordelen","problem":"Bij een post met meerdere beelden zag de klant alleen de eerste â de rest was niet te bekijken vóór goedkeuring.","solution":"De thumbnails zijn nu aanklikbaar zodat elke afbeelding groot bekeken kan worden."},{"num":"v21.94","type":"bugfix","title":"Verkeerd gekoppeld account zelf ontkoppelen + betere beoordeling","problem":"Koppelde een klant het verkeerde social-account, dan kon hij dat niet zelf corrigeren. En het herzien van een beslissing werd niet opgeslagen, dus na een herlaad kwam de oude keuze terug.","solution":"Elke koppeling heeft nu een ontkoppel-knop, en het herzien van een beslissing wordt netjes bewaard. Ook plaatst een late goedkeuring de post niet meer op een verwarrend oud tijdstip."},{"num":"v21.93","type":"bugfix","title":"Klantportaal telt geen valutas meer door elkaar","problem":"Had een klant facturen in euro en dollar, dan telde de samenvatting die bedragen bij elkaar op met een enkel valutasymbool, waardoor het totaal niet klopte.","solution":"De samenvatting rekent nu alleen met de hoofdvaluta; facturen in een andere valuta blijven per regel gewoon correct met hun eigen symbool zichtbaar."},{"num":"v21.92","type":"bugfix","title":"Achterstallig pas na de vervaldag","problem":"Een factuur sprong al op de vervaldag zelf op rood Achterstallig, en voor klanten in een westelijke tijdzone zelfs een dag te vroeg.","solution":"De achterstallig-markering gaat nu pas in na afloop van de volledige vervaldag."},{"num":"v21.91","type":"bugfix","title":"Geen betaalknop meer op een al voldane factuur","problem":"Op de portal-overzichtspagina bleef de Betalen-knop staan bij een factuur die al volledig via de bank was voldaan, met kans op dubbel betalen.","solution":"De knop verschijnt nu alleen nog als er echt een openstaand bedrag is, en maakt bij het klikken altijd een verse betaallink aan."},{"num":"v21.90","type":"security","title":"Gearchiveerde facturen niet meer opvraagbaar","problem":"Een door het bureau gearchiveerde of ingetrokken factuur was nog steeds te bekijken en als PDF te downloaden via de oude link.","solution":"De factuurpagina en de PDF schermen gearchiveerde facturen nu af, net als het portal-overzicht al deed."},{"num":"v21.89","type":"polish","title":"Leesbare tekst op elke huisstijlkleur + vertaalde btw-labels","problem":"Koos een bureau een lichte accentkleur, dan werd de witte knop- en headertekst in het klantportaal onleesbaar. En de btw-toevoegingen verlegd en ICP stonden altijd in het Nederlands.","solution":"De tekstkleur past zich nu automatisch aan de achtergrond aan, en de btw-labels volgen de taal van de factuur."},{"num":"v21.88","type":"bugfix","title":"Handtekening verdwijnt niet meer bij scrollen op mobiel","problem":"Op een telefoon wiste het canvas de al gezette handtekening zodra de adresbalk in- of uitschoof of het scherm draaide, waardoor de klant dacht dat het mislukte.","solution":"De handtekening blijft nu staan bij scrollen en wordt bij een echte schermdraai netjes teruggetekend. Ook telt een enkele tik nu als handtekening."},{"num":"v21.87","type":"bugfix","title":"Offerte afwijzen vraagt nu een bevestiging","problem":"Een misklik naast de accepteer-knop wees de offerte meteen definitief af, zonder waarschuwing.","solution":"Afwijzen vraagt nu eerst om een bevestiging voordat het onomkeerbaar wordt."},{"num":"v21.86","type":"feature","title":"Bevestigingsmail na het accepteren van een offerte","problem":"Wie een offerte online accepteerde, kreeg geen enkele bevestiging of kopie als bewijs van het akkoord.","solution":"De klant ontvangt nu automatisch een bevestigingsmail met een link naar de geaccepteerde offerte, net zoals bij een ondertekend contract."},{"num":"v21.85","type":"bugfix","title":"Scherpere handtekening en geen dubbele acties","problem":"Het handtekeningveld op offertes was wazig op scherpe schermen, en bij een snelle dubbelklik kon een offerte of contract twee keer worden verwerkt.","solution":"Het handtekeningveld is nu scherp o
2p elk scherm, en accepteren/ondertekenen wordt gegarandeerd maar één keer verwerkt. Ook is de download-knop op offertes nu in de juiste taal."},{"num":"v21.84","type":"feature","title":"Klantportaal-link mailen en zien of de klant hem opende","problem":"De portal-link kon alleen gekopieerd worden, en je zag nergens of de klant het portaal ook echt had geopend.","solution":"Op de klantpagina staat nu een knop om de link direct naar de klant te mailen, plus een indicatie van wanneer de klant het portaal voor het laatst opende."},{"num":"v21.83","type":"bugfix","title":"Geen doodlopend menu-item meer bij losse facturen","problem":"Bij een factuur zonder gekoppelde klant deed het menu-item Klantportaal-link stil niets.","solution":"Dat item verschijnt nu alleen nog bij facturen die aan een klant gekoppeld zijn. Ook staat er bij de factuur-huisstijl nu duidelijk dat kleur en logo ook het klantportaal branden."},{"num":"v21.82","type":"polish","title":"Klantportaal: contactknop, leesbaarheid en nette afwerking","problem":"Het klantportaal had geen manier om contact op te nemen bij een vraag, de deels-betaald-badge was slecht leesbaar, en bij heel veel documenten verdwenen oudere facturen zonder melding.","solution":"Er is nu een contactknop naar het bureau, de badge voldoet aan de contrastnorm, en bij meer dan 200 documenten verschijnt een nette melding. De betaalknop opent bovendien in hetzelfde tabblad zodat de statusmelding na betalen meteen zichtbaar is."},{"num":"v21.81","type":"bugfix","title":"Content-review altijd in de taal van het bureau","problem":"De ene goedkeuringspagina volgde de browsertaal van de klant en de andere de taal van het bureau, waardoor een klant van bijvoorbeeld een Duits bureau de twee paginas in verschillende talen kon zien.","solution":"Beide goedkeuringspaginas volgen nu consistent de taal van het bureau."}]},{"date":"2026-08-06","version":"v21.80","clV":"v0.783","title":"Planner-composer: kleine visuele oneffenheden rechtgetrokken","items":[{"num":"v21.80","type":"polish","title":"Datum- en tijdveld zonder los randje, koppen wat lucht, platform-hint netjes uitgelijnd","problem":"In het scherm voor een nieuwe post zaten een paar visuele oneffenheden: rond de datum en tijd tekende de browser een los kadertje, de koppen \"Publiceren naar\" en \"Voorbeeld\" plakten tegen de bovenrand, en de melding \"Kies minstens een platform\" stond te hoog naast de Schema-knop.","solution":"Het datum/tijd-veld is nu strak zonder los randje (de klik-kalender blijft gewoon werken), de koppen hebben wat ademruimte gekregen en de platform-melding staat netjes op gelijke hoogte met de knop."}]},{"date":"2026-08-06","version":"v21.79","clV":"v0.782","title":"Planner: werkbalk-menuutjes werden weggeknipt, nu volledig zichtbaar","items":[{"num":"v21.79","type":"bugfix","title":"Emoji-, AI-, template-, hashtag- en link-menu klapten uit het beeld","problem":"De knoppen in de werkbalk onder het tekstvak (emoji, AI-assistent, templates, hashtag-groepen, link) openden hun menu naar beneden. Omdat de werkbalk onderaan de tekstkaart zit en die kaart zijn inhoud afkapt bij de rand, verdween het menu grotendeels uit beeld â je kon het niet gebruiken.","solution":"Die menuutjes openen nu naar boven, het tekstvak in, waar ruimte genoeg is. Lange lijsten (templates, hashtag-groepen) scrollen netjes binnen het menu zodat ze nooit de rand raken."}]},{"date":"2026-08-06","version":"v21.78","clV":"v0.781","title":"Abonnement staat nu ook in de instellingen-hub","items":[{"num":"v21.78","type":"polish","title":"Abonnement vindbaar via Instellingen â Financieel","problem":"Je Senly-abonnement (pakket, betaalmethode, facturen van Senly) was alleen te vinden via je profiel-tabs. Bureau-admins zochten 'm ook logisch in de instellingen-hub.","solution":"Nieuw item \"Abonnement\" in de Financieel-groep van de instellingen-hub. Linkt door naar de bestaande pagina op /profiel/abonnement â die blijft ook via je profiel bereikbaar, dus geen dubbele plek, gewoon een tweede vindingslaag. Gefilterd op de billing-permissie zodat alleen wie 't ook echt mag bewerken 'm ziet."}]},{"date":"2026-08-06","version":"v21.77","clV":"v0.780","title":"Planner-preview toont Shorts, Reels en TikToks nu verticaal (1:1)","items":[{"num":"v21.77","type":"polish","title":"Verticale 9:16 preview voor Shorts, Reels, Stories en TikTok","problem":"De voorvertoning in de contentplanner was altijd een liggende feed-kaart. Zette je YouTube op Shorts (of koos je TikTok), dan zag je niet hoe je bijschrift straks over de video zou vallen â terwijl dat juist bij verticale video het meest afwijkt.","solution":"De preview w
2ordt nu formaat-bewust: bij een Short, Reel, Story of TikTok schakelt hij over naar een verticaal 9:16-frame waarin de video het beeld vult en je bijschrift eroverheen valt, geclampt op twee regels precies zoals de echte app het afkapt, met de platform-eigen knoppenrail. Kies je meerdere platforms, dan volgt de preview de netwerk-tab die je aanklikt, dus elke tab laat zien wat daar live komt."}]},{"date":"2026-08-06","version":"v21.76","clV":"v0.779","title":"Werkuren: één bron voor mails, reminders en outreach â met rol- en klant-overrides","items":[{"num":"v21.76","type":"feature","title":"Nieuwe pagina /admin/werkuren met bureau-week + timezone","problem":"Werktijden waren impliciet: elke herinnering, elk verzendmoment en elke vergader-standaardtijd gebruikte zijn eigen logica. Je kon nergens centraal instellen 'wij werken maandag tot vrijdag van 9 tot 5, in de Nederlandse tijdzone'.","solution":"Nieuwe pagina in de instellingen met een weekoverzicht (van/tot per dag, aan/uit per dag) en een tijdzone-keuze. Dit wordt straks de centrale bron waar e-mailverzending, herinneringen en outreach zich op baseren."},{"num":"v21.75","type":"feature","title":"Rol-overrides voor teams die op andere tijden werken","problem":"Setters die tot 20:00 bellen en managers die om 08:00 al beginnen konden niet apart worden geconfigureerd.","solution":"Per systeem-rol (ADMIN / MANAGER / APPOINTMENT_SETTER / SALES_MANAGER / CLOSER) kun je een eigen 7-dagen-grid vastleggen. Zonder override volgt de rol automatisch de bureau-uren; met override wint de rol-week."},{"num":"v21.74","type":"feature","title":"Communicatie-uren per klant","problem":"Klanten met een wens als 'geen mail voor 8 uur' of 'geen berichten in het weekend' moest je ergens anders bijhouden - er was geen vaste plek voor.","solution":"Op de werkurenpagina zie je nu een overzicht van klanten met een eigen rooster en kun je zo'n uitzondering weer verwijderen; de klantinstelling gaat altijd voor de rol- en bureau-uren."},{"num":"v21.73","type":"feature","title":"Edge-safe helper voor tijdzone-correct rekenen","problem":"Reken-logica op basis van het serveruur gaf op momenten een uur of twee verschil met de tijd in Nederland, omdat de servers in een andere tijdzone draaien.","solution":"Alle tijdgevoelige berekeningen gebruiken voortaan een centrale, tijdzone-bewuste rekenwijze. Dit is de basis waarop herinneringen en geplande verzendmomenten voortaan hun tijd bepalen; de daadwerkelijke toepassing per bureau volgt in een volgende stap."}]},{"date":"2026-08-06","version":"v21.72","clV":"v0.778","title":"Contentplanner: post meteen publiceren met een druk op de knop","items":[{"num":"v21.72","type":"feature","title":"\"Nu publiceren\" in de planner","problem":"Een post kon alleen ingepland worden voor een tijdstip; wilde je iets meteen naar buiten brengen, dan moest je een tijdstip in het verleden kiezen en wachten tot het portaal dat oppikte, tot een minuut later.","solution":"Naast 'Inplannen' staat nu ook 'Nu publiceren' in het planningsmenu. De post gaat direct naar het platform en je ziet meteen of het gelukt is, zonder wachten. Beschikbaar bij nieuwe posts op platforms die automatisch kunnen publiceren, niet te combineren met concept of goedkeuring."}]},{"date":"2026-08-06","version":"v21.71","clV":"v0.777","title":"Afwezigheid & vervanger: nieuwe taken skippen automatisch naar wie er wél is","items":[{"num":"v21.71","type":"feature","title":"\"Mijn afwezigheid\"-pagina op je profiel","problem":"Er was geen manier om aan te geven wanneer je weg bent en wie jouw taken overneemt. Bureau-admins wisten niet wie de komende weken uit is.","solution":"Nieuwe pagina /profiel/afwezigheid waar je een periode (van/t/m) en een vervanger uit je team kiest. Optioneel: een auto-reply-tekst die je vast klaarzet (verzending werkt zodra we inbound-mail-sync uitrollen â vandaar het \"nog geen automatische verzending\"-badge)."},{"num":"v21.70","type":"feature","title":"Team-overzicht in de instellingen-hub","problem":"Een bureau-admin had geen enkel zicht op wie er weg was of eraan kwam.","solution":"Nieuwe pagina /admin/afwez
2igheid in de instellingen-hub (Team-groep). Read-only lijst met alle actieve teamleden, hun huidige/geplande weg-periode en de gekozen vervanger. Sortering: nu-weg eerst, dan gepland, dan de rest."},{"num":"v21.69","type":"feature","title":"Taakcreatie routeert automatisch naar de vervanger","problem":"Wees je een taak toe aan iemand die op vakantie was, dan bleef die taak gewoon bij hem staan tot hij terug was.","solution":"Bij elke nieuwe taak wordt nu gecontroleerd of degene aan wie je hem toewijst afwezig is en een vervanger heeft ingesteld. Is dat zo, dan krijgt de vervanger de taak, met een korte notitie erbij zodat duidelijk is waarom. Dit blijft altijd binnen hetzelfde bureau."}]},{"date":"2026-08-06","version":"v21.68","clV":"v0.776","title":"Financieel-instellingen: factuur-standaarden + herinneringen op eigen pagina's","items":[{"num":"v21.68","type":"feature","title":"Factuur-instellingen als eigen pagina in de instellingen-hub","problem":"Nummerreeks, betaaltermijn, standaard-BTW en de kop-/voet-tekst zaten verstopt in de tandwiel-popup van /financieel/facturen. Voor een nieuwe bureau-admin was dat niet te vinden.","solution":"Nieuwe pagina /admin/factuur-instellingen in de instellingen-hub met exact deze standaarden â deelt data-model met de bestaande popup, dus wat je hier zet werkt overal en andersom."},{"num":"v21.67","type":"feature","title":"Kop-/voet-tekst per taal","problem":"Er was maar één footer-tekst voor alle facturen. Een NL-bureau met Engelstalige of Duitse klanten kon geen taal-specifieke boodschap (bijv. bankgegevens in NL, tax-note in EN) meegeven.","solution":"Op de nieuwe factuur-instellingen-pagina staat naast de vaste footer een tabblad per taal (NL/EN/DE/FR). Als een klant een specifieke taal heeft en die tab is ingevuld, wint dat van de vaste tekst. Bij factuur-render valt onopgeleverde talen automatisch terug op de vaste tekst â geen kans op lege footers."},{"num":"v21.66","type":"feature","title":"Herinneringen als eigen pagina met escalatie-keuze","problem":"Het reminder-beleid (drie trappen + auto-send) zat in dezelfde verstopte popup, en er was geen manier om vast te leggen wat er ná de laatste herinnering moet gebeuren.","solution":"Nieuwe pagina /admin/herinneringen splitst de auto-send-toggle, de drie stages (dagen + subject + body) en een nieuwe escalatie-keuze: niets doen / admin op de hoogte stellen / dienst pauzeren / naar incasso. De keuze wordt (voorlopig) alleen gemarkeerd â de daadwerkelijke actie volgt in een aparte flow zodat we per bureau kunnen finetunen wat \"pauze\" en \"incasso\" concreet inhouden."}]},{"date":"2026-08-06","version":"v21.65","clV":"v0.774","title":"Beveiliging-instellingen: sessies, audit-log, 2FA-beleid en IP-allowlist","items":[{"num":"v21.65","type":"feature","title":"Nieuwe groep \"Beveiliging\" in de instellingen-hub","problem":"Er was geen aparte plek voor beveiliging in de instellingen: actieve sessies zaten verstopt in het gebruikersscherm, en een overzicht van alle activiteit binnen het bureau ontbrak.","solution":"De instellingen krijgen een eigen groep 'Beveiliging' met vier onderdelen: Sessies, tweestapsverificatie verplicht stellen, IP-toegangslijst en een activiteitenlog."},{"num":"v21.64","type":"feature","title":"Sessies-pagina toont eigen actieve apparaten","problem":"Als admin kon je alleen de sessies van andere teamleden zien via de gebruikers-modal â niet je eigen.","solution":"Op /admin/beveiliging/sessies zie je nu je eigen ingelogde apparaten (device + IP-prefix), MFA-status en de laatste login. Ãén klik logt overal uit (bumpt tokenVersion, dus ook je huidige tab wordt bij eerstvolgende refresh uitgelogd)."},{"num":"v21.63","type":"feature","title":"Audit-log samengevoegd uit login-events en activiteit","problem":"Voor vragen zoals 'wie heeft die klant gewijzigd?' of 'wanneer was die inlog?' moest je door twee aparte overzichten heen zoeken.","solution":"Een nieuwe pagina in Beveiliging combineert beide bronnen tot één tijdlijn per bureau, met een filter voor alleen inlogmomenten of alleen acties. Je kunt tot 90 dagen terugbladeren."},{"num":"v21.62","type":"feature","title":"2FA verplicht maken per rol","problem":"Tweestapsverificatie was per gebruiker optioneel - een bureau kon niet centraal afdwingen dat bijvoorbeeld alle beheerders en accountmanagers het aan hebben staan.","solution":"In Beveiliging vink je nu aan voor welke rollen tweestapsverificatie verplicht is, met een teller van hoeveel mensen het al hebben ingesteld. Een gebruiker in een verplichte rol zonder tweestapsverificatie wordt bij de eerstvolgende keer inloggen door de bestaande instelstap geleid; bestaande sessies blijven gewoon werken."},{"num":"v21.61","type":"feature","title":"IP-allowlist beperkt portaal-toegang tot bekende ranges","problem":"Er was geen manier om toegang tot het bureau-portaal te beperken tot vaste kantoor- of VPN-adressen, wat voor bureaus met strengere compliance-eisen een blokkade was.","solution":"In Beveiliging stel je nu toegestane IP-adressen of adresreeksen in, via een veilige tweestapsflow: eerst loggen, dan pas blokkeren zodra je zeker weet dat je eigen adres erin staat. De pagina toont je huidige adres en waarschuwt als je jezelf zou buitensluiten. Het Senly-supportteam houdt sowieso toegang, zodat een verkeerde instelling niet tot een dichte deur leidt."},{"num":"v21.60","type":"polish","title":"Beveiligings-pagina's gestijld in de instellingen-hub-look","problem":"De eerste versie van de vier nieuwe beveiligingspagina's zag er anders uit dan de rest van de instellingen, met een kleinere titel, andere kleuren en eigen knoppen.","solution":"Sessies, het activiteitenlog, tweestapsverificatie en de IP-toegangslijst volgen nu dezelfde vormgeving als de rest van de instellingen, met dezelfde titelstijl, kaarten en knoppen."}]},{"date":"2026-08-06","version":"v21.59","clV":"v0.773","title":"YouTube in de planner: apart titel-veld + grotere video-uploads","items":[{"num":"v21.59","type":"feature","title":"YouTube-video-titel voortaan als eigen veld in de composer","problem":"Er was geen apart titel-veld voor YouTube-video posts, waardoor je moest weten dat de eerste regel van de tekst automatisch als videotitel werd gebruikt.","solution":"In het YouTube-blok van de composer staat nu een expliciet Videotitel-veld (max 95 tekens) boven de beschrijving. Bij het publiceren wordt de titel netjes gescheiden van de beschrijving doorgezet naar YouTube."},{"num":"v21.58","type":"polish","title":"Video-uploads mogen nu tot 200 MB","problem":"De upload-l
2imiet stond op 25 MB voor alle bestanden, waardoor een normaal-formaat YouTube- of LinkedIn-video vaak niet paste.","solution":"Video-uploads mogen nu tot 250 MB (afbeeldingen blijven op 25 MB, want daar is meer zelden nodig). Dekt YouTube Shorts, TikTok, Reels en YouTube-videos tot ongeveer 10 min in 1080p."},{"num":"v21.57","type":"polish","title":"Grote video-uploads (25-250 MB) via streaming in plaats van geheugen","problem":"Bij grotere videos werd het complete bestand tijdens het uploaden in het geheugen van de server gebufferd. Op een klein-geheugen-instance kon dat mislopen bij bestanden vanaf ~50 MB.","solution":"Nieuwe chunked-upload-flow (init, PUT per 5 MB, finalize) streamt bytes direct naar disk. De composer kiest automatisch tussen de snelle single-shot flow (kleine bestanden) en chunked (grotere), zonder dat je er iets van merkt."},{"num":"v21.56","type":"polish","title":"Foto-knop verborgen bij video-only netwerken","problem":"Als je alleen YouTube of TikTok als kanaal had, was de foto-knop nog steeds zichtbaar en verwarrend â hij filterde je videos eruit in de bestandenkiezer.","solution":"De foto-knop verschijnt niet meer als alle geselecteerde kanalen alleen video accepteren."},{"num":"v21.55","type":"polish","title":"Grote video-drop-zone in de composer voor YouTube en TikTok","problem":"Nieuwe gebruikers vonden de kleine video-knop in de icoon-rij moeilijk te vinden.","solution":"Zodra je YouTube of TikTok kiest en er is nog geen video, verschijnt onder de tekst-editor een grote knop \"Video uploaden\" die direct de video-bestandenkiezer opent."},{"num":"v21.54","type":"feature","title":"Video-upload: voortgangsbalk met MB-teller en resterende tijd","problem":"Tijdens het uploaden van een grote video was er alleen een korte melding, geen zichtbare voortgang â je wist niet of de upload liep of vastzat.","solution":"Er verschijnt nu een voortgangsbalk in de composer die per byte meebeweegt (loaded/total in MB, procent en geschatte resterende tijd op basis van je huidige upload-snelheid)."},{"num":"v21.53","type":"polish","title":"Geuploade video afspeelbaar in de composer","problem":"Zodra een video was geupload, zag je hem als een klein icoontje zonder mogelijkheid om te controleren wat er ingepland ging worden.","solution":"De preview is nu 16:9 met afspeel-knoppen; je kunt je video terugkijken vóór je publiceert en pas na akkoord op Schema klikken."},{"num":"v21.52","type":"bugfix","title":"Video-preview bleef eindeloos laden na upload","problem":"Direct na het uploaden bleef de video-preview met een spinner staan: de browser kon de video niet afspelen omdat onze serving-route videos als download-attachment aanbood en geen streaming ondersteunde.","solution":"Videos worden nu inline geserveerd met Accept-Ranges zodat de browser de preview kan streamen (en scrubben) â grote bestanden gaan via een streamende read i.p.v. dat de hele video eerst in het geheugen komt."},{"num":"v21.51","type":"feature","title":"YouTube: kies tussen Video (long-form) en Shorts in de composer","problem":"Voor YouTube stond alleen \"Post\" als contenttype, terwijl je in werkelijkheid tussen een langere video en een Short (verticaal, korter dan een minuut) wilt kunnen kiezen.","solution":"De YouTube-tab in de composer heeft nu een dropdown Video of Shorts (net als Instagram Post/Reel/Verhaal). Bij Shorts wordt automatisch #Shorts aan de beschrijving toegevoegd zodat YouTube de video in de Shorts-feed van het kanaal plaatst."},{"num":"v21.50","type":"polish","title":"Contentplanner opent met een portaal-skeleton in plaats van een ongestylede seconde","problem":"Bij een harde ververs van /planner zag je 0,5-1 seconde ongestylede tekst voordat de stylesheet binnen was.","solution":"Er verschijnt nu direct een portaal-skeleton (rail, topbar en kaart-placeholders in de merkkleur) die de layout suggereert; die verdwijnt zodra de rest van de pagina klaar is. Alleen op de planner, dus de rest van de app is ongemoeid."}]},{"date":"2026-08-05","version":"v21.49","clV":"v0.770","title":"Klantprofiel: echte tabs die direct laden en deelbaar zijn","items":[{"num":"v21.49","type":"performance","title":"Klantprofiel opent sneller: alleen de tab die je bekijkt laadt data","problem":"Het klantprofiel was één lange pagina w
2aarop élke sectie tegelijk laadde â taken, content, prestaties, campagnes, financieel â ook al keek je alleen naar het overzicht. Alle bijbehorende gegevens werden bij het openen opgehaald, wat de pagina traag en zwaar maakte.","solution":"De secties zijn nu echte tabs: alleen de tab die je opent laadt zijn gegevens. Het overzicht verschijnt direct; de zwaardere onderdelen komen pas wanneer je erop klikt."},{"num":"v21.48","type":"feature","title":"Een tab op het klantprofiel is nu deelbaar en werkt met de terugknop","problem":"Klikte je op een tab, dan sprong de pagina er naartoe maar veranderde het webadres niet â je kon een specifieke tab niet delen of bookmarken, en de terugknop van de browser deed er niets mee.","solution":"Elke tab heeft nu zijn eigen webadres (â¦?tab=financieel). Je kunt een tab rechtstreeks delen of opslaan, en de browser-terugknop springt netjes terug naar de vorige tab. Bestaande links naar een klant blijven gewoon werken."},{"num":"v21.47","type":"polish","title":"Soepeler en rustiger schakelen tussen klant-tabs","problem":"Het schakelen leunde op een gevoelige scroll-detectie die tijdens het openklappen van secties kon \"knipperen\" â de actieve tab sprong soms even naar de verkeerde sectie.","solution":"Tabs wisselen nu direct en betrouwbaar, met een rustige scroll naar de bovenkant van de gekozen tab. De rondleiding op het klantprofiel opent onderweg automatisch de juiste tab."},{"num":"v21.46","type":"polish","title":"Planner: \"beste tijden\" toont geen misleidende exacte percentages meer","problem":"In de weekweergave van de planner toonde de tijd-heatmap exacte percentages (bijvoorbeeld \"84%\") die eruitzagen als echte, account-specifieke cijfers â maar het was een vaste algemene inschatting, geen meting van jouw eigen accounts.","solution":"De heatmap toont nu een rustige tint met een subtiel stipje op de gunstigste uren in plaats van nep-precieze getallen, en de uitleg maakt duidelijk dat het een algemene richtlijn is. Zodra we echte cijfers per klant hebben, komen die hier terug."},{"num":"v21.45","type":"polish","title":"Trends-pagina: alleen echte cijfers, geen verzonnen bereik of foto's meer","problem":"De trends-pagina toonde bovenaan cijfers als \"totaal bereik\" en \"engagement\" en per artikel een bereik (\"218K\"), een groei (\"+260%\") en drie gezichtsfoto's â allemaal automatisch verzonnen, niet gemeten. Dat wekte de indruk van echte prestatiecijfers die er niet waren.","solution":"Die verzonnen getallen en stockfoto's zijn weg. De cijfers bovenaan tonen nu alleen wat écht klopt (aantal trends, gedekte platforms, aantal bronnen, door jou bewaarde items) en elk artikel toont zijn echte publicatiedatum. De categorieën-lijst gebruikt nu de werkelijke aantallen per platform."},{"num":"v21.44","type":"bugfix","title":"Contentplanner: \"+N meer\" in de maandweergave opent nu de dag","problem":"Stonden er op één dag meer dan drie posts, dan verscheen een \"+2 meer\"-label. Klikte je daarop, dan opende â verwarrend â het venster om een nÃeuwe post te maken in plaats van de volledige dag te tonen.","solution":"Het \"+N meer\"-label is nu een echte knop die naar de dagweergave van die dag springt, zodat je alle geplande posts ziet. Ook bereikbaar met het toetsenbord."},{"num":"v21.43","type":"bugfix","title":"Sessie-overzicht van een teamlid toont nu echt één regel per apparaat","problem":"In het sessieoverzicht van een teamlid verscheen hetzelfde apparaat soms als meerdere identieke regels met verschillende inlogdatums, waardoor het aantal actieve sessies te hoog leek. Oorzaak was een licht wisselend netwerkadres of een kleine browserupdate die als nieuw apparaat werd geteld.","solution":"Inlogmomenten worden nu samengevoegd op apparaat en netwerk, zodat elk apparaat één regel krijgt met de juiste, meest recente inlogdatum en het aantal actieve sessies klopt."},{"num":"v21.42","type":"feature","title":"Sessie-overzicht toont nu ook \"laatst actief\", niet alleen de laatste login","problem":"Het sessie-overzicht liet alleen de laatste login zien. Bij een teamlid dat op een 30-daagse \"onthoud mij\"-sessie dagelijks doorwerkt, kon die login weken oud zijn â waardoor het leek alsof iemand lang niet actief was geweest.","solution":"Er staat nu een extra \"Laatst actief\" naast de laatste login, gebaseerd op de meest recente handeling in het platform (en dagelijkse activiteit). Zo zie je in één oogopslag of iemand recent nog echt aan het werk was, los van wanneer die voor het laatst opnieuw inlogde."},{"num":"v21.41","type":"feature","title":"Contentplanner: klik op het datumbereik om direct naar een maand te springen","problem":"Wilde je naar een maand ver vooruit of achteruit, dan moest je tientallen keren op de pijltjes klikken â het datumbereik bovenaan was niet aanklikbaar.","solution":"Klik nu op het datumbereik voor een klein sprong-venster: kies een jaar en een maand, of spring met één klik terug naar vandaag/deze week/deze maand. Sluit met Escape of een klik ernaast."}
2,{"num":"v21.40","type":"polish","title":"Meetings: tijdzone-keuze toont nu de plaatsnaam met tijdverschil","problem":"De tijdzone-keuze in de beschikbaarheid toonde ruwe technische namen als \"Europe/Amsterdam\" â lastig te lezen en te vergelijken.","solution":"Elke tijdzone toont nu de plaatsnaam met het actuele tijdverschil, bijvoorbeeld \"Amsterdam (GMT+2)\"."},{"num":"v21.39","type":"polish","title":"Abonnement-pagina: overzichtelijkere, bredere indeling","problem":"De abonnementspagina propte alles in één smalle kolom aan de linkerkant, waardoor de halve pagina leeg bleef en het geheel onaf oogde.","solution":"De pagina gebruikt nu de volle breedte met een rustige twee-koloms-indeling: het status-overzicht en de opzeg-sectie over de volle breedte, met het tarief en de incasso-instelling netjes naast elkaar."},{"num":"v21.38","type":"polish","title":"Klantprofiel: gekoppelde social accounts hebben nu een eigen \"Kanalen\"-tab","problem":"Na de overstap naar tabs zaten de gekoppelde social accounts (\"Platformen\") onderin de volle Content-tab weggezakt, waardoor ze lastig terug te vinden waren.","solution":"Er is een aparte \"Kanalen\"-tab bijgekomen (direct naast Content) met de social-accountkoppeling en de platformen. Zo staat het meteen op zijn eigen plek en wordt de Content-tab lichter."},{"num":"v21.37","type":"polish","title":"Automatiserings-pagina's sluiten nu rustiger aan op de rest van het portaal","problem":"De platform-automatiseringen (Facebook, LinkedIn, TikTok, Instagram) hadden een aparte, drukke uitstraling: een donkere achtergrond met raster en gloed, glimmende kaarten en oplichtende cijfers â los van de rustige stijl van de rest van het portaal, en niet goed werkend in lichte modus.","solution":"De achtergrond, kaarten en accenten zijn gekalmeerd en gebruiken nu de portaal-kleuren: vlakke kaarten, geen gloed of raster, en alles past zich netjes aan lichte én donkere modus aan. De full-screen opzet blijft behouden."},{"num":"v21.36","type":"polish","title":"Meetings: \"Ontkoppelen\" is nu duidelijk als verwijder-actie herkenbaar","problem":"Bij een gekoppelde agenda stond de \"Ontkoppelen\"-knop in dezelfde neutrale stijl als \"Beheer kalenders\", terwijl het een ingrijpende actie is.","solution":"De ontkoppel-knop heeft nu een rode stijl en staat apart, zodat je hem niet per ongeluk aanziet voor een gewone beheer-knop."},{"num":"v21.35","type":"polish","title":"Automatiseringen: nette laad-skeletons in plaats van een kale \"ladenâ¦\"-tekst","problem":"Klikte je een platform-automatisering aan, dan verscheen kort een losse \"Studio ladenâ¦\"-tekst voordat de pagina zichtbaar werd â een rommelige tussenstap.","solution":"Tijdens het laden zie je nu een rustig skelet dat de echte indeling (statistieken + hoofdactie + activiteit) al nabootst, zodat de overgang naar de geladen pagina soepel voelt."},{"num":"v21.34","type":"polish","title":"Meetings: koppelkaarten rustiger en duidelijker","problem":"Een integratie waarvoor nog serverconfiguratie ontbreekt toonde een gewone \"Configuratie nodig\"-knop die bij klikken tóch niets kon; verbonden kaarten hadden een volle groene tint en de statusbolletjes een gloed.","solution":"De \"Configuratie nodig\"-knop is nu uitgeschakeld met uitleg bij hover, en de kaarten zijn rustiger: een verbonden agenda krijgt een neutrale kaart met fijne teal-rand (de groene stip toont de status al), en alleen \"opnieuw koppelen nodig\" houdt een subtiele amber-rand."},{"num":"v21.33","type":"feature","title":"Trends: de vier kaarten bovenaan tonen nu interessantere, échte cijfers","problem":"De vier kaarten bovenaan de trends-pagina toonden vrij droge tellingen (aantal trends, platforms, bronnen, bewaard) en oogden bovendien wat kaal sinds de verzonnen mini-grafiekjes weg zijn.","solution":"De kaarten tonen nu echte, actuele inzichten: hoeveel trends er in de laatste 24 uur bijkwamen, het drukste platform en de actiefste bron (met naam), en hoe vers de nieuwste trend is. Elke kaart heeft weer een eigen mini-grafiek, nu gebaseerd op echte gegevens in plaats van verzonnen cijfers."},{"num":"v21.32","type":"polish","title":"Trends: de pagina ververst zichzelf nu op de achtergrond","problem":"De trends en de cijfers/grafieken bovenaan werden alleen berekend bij het openen van de pagina; liet je het tabblad lang openstaan, dan liepen ze achter.","solution":"De trends-pagina haalt nu elke 15 minuten stil op de achtergrond de nieuwste stand op (en meteen zodra je terugkomt op het tabblad), zodat de cijfers en grafieken vanzelf actueel blijven. Dat gebeurt rustig, zonder laad-flits, en belast niets omdat de gegevens serverkant al gecachet zijn."},{"num":"v21.31","type":"polish","title":"Tool Store: rustiger begin zonder grote kop","problem":"Bovenaan de Tool Store stond een grote marketing-kop met een gekleurde titel en z
2wevende icoontjes, wat niet paste bij de rest van het portaal.","solution":"Die kop is weg; bovenaan staat nu alleen nog een rustige balk met \"Tool aanvragen\" en de keuze tussen raster- en bubbel-weergave, zodat je direct bij de tools bent."},{"num":"v21.30","type":"polish","title":"Leads en Onboarding: grote koppen weg, info-knopje blijft","problem":"De Leads- (CRM) en Onboarding-pagina begonnen met een grote titel en een gekleurd \"label\"-regeltje erboven, wat veel ruimte innam en niet bij het rustige portaal paste.","solution":"Die grote koppen zijn weg; het kleine info-knopje (met de uitleg over de pagina) blijft staan. Op de Tool Store is datzelfde info-knopje juist weer teruggezet."},{"num":"v21.29","type":"bugfix","title":"Info-knopje: uitleg-venster verscheen los onderaan de pagina","problem":"Na het weghalen van de grote koppen opende het uitleg-venster van het info-knopje (op Leads, Onboarding en de Tool Store) niet meer bij het knopje maar losgekoppeld linksonder in beeld.","solution":"Het uitleg-venster verschijnt nu weer netjes direct onder het info-knopje."}]},{"date":"2026-08-04","version":"v21.28","clV":"v0.769","title":"Beschikbaarheid instellen: sneller, veiliger en met duidelijke feedback","items":[{"num":"v21.28","type":"feature","title":"Meetings: tijden in één klik naar alle dagen kopiëren","problem":"Wie op vijf dagen dezelfde werkuren wilde, moest elke dag apart instellen â het meest tijdrovende scherm van de meetings-module.","solution":"Elke actieve dag heeft nu een \"Kopieer naar alle dagen\"-actie die de tijden (na bevestiging) naar alle andere actieve dagen doorzet."},{"num":"v21.27","type":"bugfix","title":"Meetings: opslaan van beschikbaarheid faalt niet meer stil","problem":"Ging het opslaan van je werkuren of een datum-uitzondering mis, dan gebeurde er nÃets zichtbaars â de knop sprong terug alsof alles goed was, terwijl je agenda ongewijzigd bleef. Een eindtijd vóór de starttijd werd bovendien gewoon geaccepteerd.","solution":"Mislukt opslaan toont nu een duidelijke foutmelding, ongeldige tijden krijgen een rode rand en blokkeren het opslaan met uitleg per dag, en een datum-uitzondering verwijderen vraagt eerst om bevestiging."},{"num":"v21.26","type":"polish","title":"Takenbeheer: snelinvoer-veld zonder storende rand","problem":"Het \"Snel een interne taak toevoegen\"-veld had een gestreepte omlijning die de lijst eronder onrustig maakte.","solution":"De rand is weg â het veld valt nu rustig samen met de rest van de takenlijst en licht alleen subtiel op bij focus."},{"num":"v21.25","type":"polish","title":"Meetings: waarschuwing als je nergens beschikbaar bent","problem":"Zette je (per ongeluk) alle dagen uit, dan vertelde niemand je dat bezoekers op de boekingspagina helemaal niets meer konden boeken.","solution":"Er verschijnt nu een duidelijke waarschuwingsbanner zodra er geen enkele dag actief is."},{"num":"v21.24","type":"feature","title":"Klantnotities: meerdere regels, direct reagerende acties en strakke iconen","problem":"Een notitie van meer dan één regel was onmogelijk (Enter verzond direct), en één notitie pinnen of verwijderen verving de héle lijst even door \"Ladenâ¦\". De actieknoppen waren emoji's waarvan de status nauwelijks leesbaar was.","solution":"Het invoerveld groeit nu mee met je tekst (Cmd/Ctrl+Enter verzendt), pinnen/verwijderen/AI-toggle werken direct zonder herladen (met automatisch herstel bij een fout), en de acties zijn strakke lijn-iconen met duidelijke aan/uit-status."},{"num":"v21.23","type":"polish","title":"Klantpagina: status zichtbaar in de kop en acties bereikbaar op mobiel","problem":"Een gepauzeerde klant was aan de paginakop niet te herkennen, en op telefoons waren \"Bewerken\" en de status-knop volledig verborgen.","solution":"Naast de klantnaam staat nu een \"Gepauzeerd\"-badge zodra de klant niet actief is, en de actieknoppen wrappen op mobiel netjes onder de kop in plaats van te verdwijnen."},{"num":"v21.22","type":"polish","title":"Statistieken: eerlijker, toegankelijker en rustiger","problem":"Twee \"dropdown\"-pillen met een pijltje deden niets als je erop klikte, de gezondheids-grafiek was onzichtbaar voor schermlezers, de productiviteits-grafiek toonde zeven nullen bij een verse start, cijfers versprongen tijdens animaties en een tab-wissel gaf twee bewegingen tegelijk.","solution":"De valse pijltjes zijn weg, de hero-grafiek heeft een echte schermlezer-samenvatting, de productiviteits-grafiek toont nu een vriendelijke lege staat, alle grote cijfers staan vast op hun plek (tabular-nums), tab-wissels scrollen alleen als dat nodig is, en wie \"verminder beweging\" aan heeft ziet ook hier geen animaties meer."},{"num":"v21.21","type":"polish","title":"Meldingen-venster trilt niet meer bij het scrollen","problem":"Scrolde je terwijl het meldingen-venster open stond, dan schokte het venster zichtbaar mee met elke scrollbeweging.","solution":"Het venster sluit nu netjes zodra je de pagina scrolt â scrollen binnen de meldingenlijst zelf blijft gewoon werken."},{"num":"v21.20","type":"performance","title":"Ruim 3.000 regels ongebruikte opmaak verwijderd","problem":"De stylesheet van het portaal droeg duizenden regels opmaak mee voor schermonderdelen die al lang niet meer bestaan â dood gewicht dat elke pagina mee moest downloaden.","solution":"Bijna 600 ongebruikte stijlregels zijn stuk voor stuk geverifieerd en verwijderd. Het portaal laadt daardoor lichter, zonder enige zichtbare wijziging."},{"num":"v21.19","type":"feature","title":"Verzonden factuur openen toont nu een overzicht in plaats van een uitgegrijsd formulier","problem":"Klikte je op een verzonden factuur, dan opende het volledige bewerkingsformulier in vergrendelde staat â een groot scherm vol velden waar je niets mee kon.","solution":"Een klik toont nu een compact overzicht: status, datums, totaal, betaald/restant en referentie, met direct de acties die je zoekt â PDF bekijken, herinnering sturen, betaling registreren of alsnog openen in de editor. Concepten openen zoals vanouds direct het bewerkscherm."},{"num":"v21.18","type":"bugfix","title":"Agenda koppelen: je ziet nu direct dat het gelukt is","problem":"Na het koppelen van Google of Outlook kwam je terug op de Agenda-weergave, terwijl de \"gekoppeld\"-bevestiging alleen op de Integraties-tab werd getoond â niemand zag hem dus ooit.","solution":"Na de koppeling spring je nu automatisch naar de Integraties-tab en verschijnt de bevestiging als gewone melding rechtsboven â ook bij een mislukte koppeling zie je meteen wat er misging."},{"num":"v21.17","type":"polish","title":"Profiel, beveiliging en voorkeuren: alle knoppen in één stijl","problem":"De knoppen op de profielpagina, in het 2FA-paneel en het voorkeuren-paneel hadden nét andere maten, kleuren en laad-gedrag (\"Opslaanâ¦\"-tekstwissels, draai-symbolen als tekst) dan de rest van het portaal.","solution":"25 knoppen zijn overgezet naar de gedeelde portaal-knop: consistente maten, een nette spinner tijdens het opslaan en dezelfde focus-ring als overal. Gedrag is ongewijzigd."},{"num":"v21.16","type":"polish","title":"Meetings: ook hier alle knoppen in de portaal-stijl","problem":"De meetings-module had een eigen knoppen-set met afwijkende maten en \"Opslaanâ¦\"-tekstwissels tijdens het laden.","solution":"27 knoppen â van meeting aanmaken tot kalender koppelen en beschikbaarheid opslaan â gebruiken nu de gedeelde portaal-knop met echte laad-spinners en consistente focus-states."},{"num":"v21.15","type":"polish","title":"Facturatie en Academy: knoppen-unificatie afgerond","problem":"De facturatie-schermen hadden nog gradient-knoppen met een gloed (tegen het rustige portaal-register in) en eigen laad-tekstwissels; in de Academy laadden les-links de hele pagina opnieuw.","solution":"26 knoppen in de facturatie (facturen, offertes, periodiek, instellingen) en de Academy staan nu op de gedeelde portaal-knop: vlak, kalm, met echte laad-spinners. Academy-navigatie verspringt nu soepel zonder volledige herlaad, en \"Verwijderen\" bij periodieke facturen heeft een duidelijke rode stijl."},{"num":"v21.14","type":"polish","title":"Taken en CRM: knoppen in dezelfde stijl","problem":"De bulk-actiebalk bij taken, het taak-bewerkvenster en de CRM-vensters (lead bewerken/omzetten, pipeline, import, herstel) hadden nog eigen, met de hand gestylede knoppen met afwijkend laad-gedrag.","solution":"Deze knoppen gebruiken nu de gedeelde portaal-knop met echte laad-spinners en consistente kleuren; destructieve acties (verwijderen) hebben overal dezelfde rode stijl."},{"num":"v21.13","type":"polish","title":"Contentplanner: alle actieknoppen op de portaal-stijl","problem":"De belangrijkste actieknoppen in de planner (nieuwe post, koppel-link maken, bulk-import, AI-tekst genereren, sjabloon opslaan) hadden eigen \"Bezigâ¦\"-tekstwissels tijdens het laden.","solution":"Deze knoppen gebruiken nu de gedeelde portaal-knop met een echte laad-spinner en consistente focus-states."},{"num":"v21.12","type":"polish","title":"Offertes, factuursjablonen en workflow-builder: knoppen-unificatie","problem":"De offerte-opsteller, de sjabloon-editor en de workflow-builder hadden nog eigen knoppen met een teal-gloed en \"Bezigâ¦\"-tekstwissels â afwijkend van de rest van het portaal.","solution":"Ruim dertig knoppen in deze drie schermen staan nu op de gedeelde portaal-knop: vlak, kalm, met echte laad-spinners en een consistente rode stijl voor verwijderen."},{"num":"v21.11","type":"polish","title":"Dashboard: knoppen-unificatie afgerond","problem":"De actieknoppen op de dashboard-promokaarten (Launchpad, uitnodigen) en de welkomstkaart hadden nog hun eigen stijl.","solution":"Ook deze knoppen gebruiken nu de gedeelde portaal-knop, waarmee vrijwel elke knop in het hele portaal er identiek uitziet en zich identiek gedraagt."},{"num":"v21.10","type":"polish","title":"Dashboard: de kaart met verlopen taken oogt rustiger","problem":"De \"Verlopen\"-tegel bovenaan het dashboard was volledig rood gevuld, waardoor hij als foutmelding las en de r
2ij met kengetallen uit balans trok.","solution":"De kaart is nu net zo neutraal als de andere kengetallen; verlopen taken vallen op door een rood getal en een fijn rood streepje links â rustig, maar nog steeds duidelijk zichtbaar."},{"num":"v21.09","type":"polish","title":"Dashboard: klant-iconen in de deadline-kaarten beter leesbaar in de donkere modus","problem":"Bij taken met meerdere klanten vielen de kleine klant-iconen in de donkere modus vrijwel weg â merkkleuren zijn gekozen voor een lichte achtergrond en werden op de donkere kaart onleesbaar.","solution":"In de donkere modus wordt de klantkleur nu richting wit gemengd, zodat elk icoon leesbaar blijft terwijl de kleur herkenbaar blijft. In de lichte modus verandert er niets."},{"num":"v21.08","type":"polish","title":"Meetings: je verliest gewijzigde werkuren niet meer per ongeluk","problem":"Paste je een werktijd aan (bijvoorbeeld vrijdag naar 18:00) en klikte je daarna op een andere tab of weg van de pagina, dan was de wijziging weg â zonder enige waarschuwing, want alleen \"Opslaan\" bewaarde je uren.","solution":"Zodra je iets wijzigt verschijnt er een \"Niet-opgeslagen wijzigingen\"-melding naast de opslaan-knop, en probeer je de pagina te verlaten met open wijzigingen dan vraagt de browser eerst om bevestiging. De opslaan-knop is nu ook alleen actief als er echt iets te bewaren valt."}]},{"date":"2026-08-03","version":"v21.07","clV":"v0.767","title":"Opgelost: 500-foutmelding bij Gebruikers, klantprofielen en activiteiten","items":[{"num":"v21.07","type":"bugfix","title":"Gebruikers, klantprofiel en de activiteitenfeed openen weer zonder foutmelding","problem":"Bij het openen van de Gebruikers-pagina, een klantprofiel of de activiteitenfeed verscheen een \"Er ging iets mis\"-scherm in plaats van de inhoud.","solution":"Interne servercode werd per ongeluk in de browser meegeladen. De gedeelde labels zijn losgekoppeld van die servercode, zodat de betreffende schermen weer normaal laden."},{"num":"v21.06","type":"polish","title":"Changelog toont nu de portaal-achtergrond","problem":"De changelog had een eigen, losstaande donkere achtergrond die niet bij de rest van het portaal paste.","solution":"Ingelogd in het portaal toont de changelog nu dezelfde achtergrond als de rest van het portaal â de teal-getinte gradient plus het fijne blueprint-raster. De actieve filter-knop gebruikt nu ook de portaal-huisstijlkleur i.p.v. een afwijkende tint."},{"num":"v21.05","type":"polish","title":"Social accounts koppelen: geen dubbele skelet-flits meer bij openen","problem":"Op de bulk-koppelpagina zag je bij het openen eerst een compleet laadskelet en daarna kort een kaler laadschermpje, voordat de tabel verscheen.","solution":"Het laadskelet is nu vanaf het eerste moment identiek tot de gegevens er zijn, zodat de pagina rustig en in één keer opbouwt."},{"num":"v21.04","type":"polish","title":"Partnerportaal: laadskelet plakt niet meer tegen de bovenrand","problem":"Bij het openen van het partnerportaal begon het laadskelet bovenaan de pagina zonder de normale ruimte, waardoor het even tegen de bovenrand plakte.","solution":"Het laadskelet gebruikt nu dezelfde bovenmarge als de echte pagina, zodat het op precies dezelfde plek begint."},{"num":"v21.03","type":"polish","title":"Klantprofiel: los vierkantje weg voor \"Concurrentie-ads\"","problem":"In de content-sectie van een klantprofiel stond er een los symbool (â£) vóór het \"Concurrentie-ads\"-blok, terwijl geen enkel ander blok zo'n teken had.","solution":"Het symbool is weggehaald, zodat de titel gelijk oogt met de rest van de blokken."},{"num":"v21.02","type":"polish","title":"Laadskeletten door het hele portaal renderen nu rustig en zonder sprong","problem":"Op meerdere pagina's (o.a. activiteiten, CRM, onboarding, affiliate, trends, rollen, workflows, commissie en eigen velden) verscheen bij het openen eerst een compleet laadskelet en daarna kort een kaler laadschermpje of een sprong, voordat de inhoud verscheen.","solution":"Al deze pagina's tonen nu vanaf het eerste moment hetzelfde skelet tot de gegevens er zijn, zodat de pagina in één keer rustig opbouwt. Ook de integraties-pagina begint niet meer op de verkeerde hoogte/breedte."},{"num":"v21.01","type":"feature","title":"Nieuw Instellingen-venster met zoek en secties","problem":"Het beheer-tandwiel opende een klein zwevend tegel-menu: geen structuur en het schaalde slecht naarmate er meer beheeronderdelen bijkwamen.","solution":"Het tandwiel opent nu een overzichtelijk Instellingen-venster met een wazige achtergrond, zodat de focus er volledig op ligt. Verzorgd en in de vertrouwde portaal-stijl: een zoekbalk, nette secties (Team, Financieel, Configuratie, Merk, Platform) en per onderdeel een icoon met korte omschrijving."},{"num":"v21.00","type":"polish","title":"Voorkeuren-paneel: dubbele \"Voorkeuren\"-kop weg","problem":"In het voorkeuren-zijpaneel stond de kop \"Voorkeuren\" twee keer â als paneeltitel én als tussenkopje.","solution":"Het overbodige tussenkopje is verwijderd, zodat het paneel rustiger oogt."},{"num":"v20.99","type":"bugfix","title":"Instellingen: geen verkeerde laadskeleton-flits meer bij het openen van een onderdeel","problem":"Bij het openen van een beheeronderdeel zag je eerst kort een generiek lijst-skelet voordat het juiste skelet van de pagina verscheen.","solution":"Elke beheerpagina toont nu meteen zijn eigen laadskelet, zonder de tussenliggende flits."},{"num":"v20.98","type":"bugfix","title":"Facturatie-instellingen opslaan werkt weer als er al facturen zijn verstuurd","problem":"Het instellingen-venster laadde het \"eerstvolgend factuurnummer\" niet in en stuurde altijd 1 mee. Zodra er ooit een factuur was verstuurd, weigerde het opslaan daardoor met een nummering-foutmelding â ook als je alleen je IBAN wijzigde.","solution":"Het venster toont nu de echte teller en stuurt het nummer alleen mee als je het zelf aanpast."},{"num":"v20.97","type":"bugfix","title":"Taal wisselen via Profiel wordt nu ook op je account bewaard","problem":"Wisselde je de taal op de profielpagina, dan paste het portaal zich wel aan, maar kon de voorkeur bij een snelle herlaad alsnog verloren gaan â e-mails bleven dan in de oude taal.","solution":"De taalkeuze wordt nu eerst op je account opgeslagen en pas daarna doorgevoerd, net als in het voorkeuren-paneel."}
2,{"num":"v20.96","type":"bugfix","title":"Takenbord: klik op een kaart opent de taak in plaats van hem af te vinken","problem":"In de bord-weergave vinkte een klik op een taakkaart de taak direct af, waardoor hij zonder waarschuwing uit het bord verdween terwijl je hem wilde bekijken.","solution":"Een klik opent nu de taak om te bewerken; afvinken doe je via het ronde vinkje op de kaart. Het bord volgt bovendien nu dezelfde zoek- en filterkeuzes als de lijstweergave."},{"num":"v20.95","type":"bugfix","title":"Doodlopende links in Statistieken en E-mail gerepareerd","problem":"Meerdere \"Bekijk\"-knoppen in Statistieken en de \"Koppel je e-mail\"-knop in de inbox brachten je naar het dashboard of deden niets, in plaats van naar de beloofde plek.","solution":"De knoppen linken nu naar de juiste bestemming (takenbeheer, gebruikersbeheer, e-mailkoppelingen); knoppen zonder echte bestemming zijn weggehaald."},{"num":"v20.94","type":"polish","title":"Meldingen-knop toont nu een belletje","problem":"De meldingen-knop in de bovenbalk toonde een muzieknoot-symbool en het zoekvenster een los zoek-teken dat niet op elk systeem goed rendert.","solution":"Beide gebruiken nu strakke iconen in dezelfde stijl als de rest van de bovenbalk."},{"num":"v20.93","type":"polish","title":"Fouten in het portaal tonen een nette herstel-pagina binnen de navigatie","problem":"Ging er iets mis op een portaalpagina, dan verdween ook de zijbalk en bovenbalk â je verloor alle context.","solution":"Fouten worden nu binnen de portaal-navigatie opgevangen met een \"Probeer opnieuw\"-knop; de zijbalk blijft gewoon staan."},{"num":"v20.92","type":"polish","title":"Rustiger beeld: permanente achtergrond-puls en zwevende iconen staan uit","problem":"De portaal-achtergrond \"ademde\" continu, lege-staat-iconen zweefden eindeloos op en neer en meerdere cijfers gebruikten gradient-tekst met een glow â samen gaf dat een onrustig beeld dat ook nog stroom kost.","solution":"De achtergrond-gloed staat nu op een vaste, rustige sterkte, iconen staan stil en grote bedragen tonen weer een strakke egale kleur. Het portaal voelt daardoor merkbaar kalmer."},{"num":"v20.91","type":"polish","title":"\"Verminder beweging\" wordt nu overal gerespecteerd","problem":"Wie in het besturingssysteem \"verminder beweging\" aan had staan, kreeg alsnog vrijwel alle animaties te zien â de instelling werkte maar op een klein deel van het portaal.","solution":"Alle animaties â ook de JavaScript-gedreven overgangen en de hardnekkige uitzonderingen â volgen nu deze toegankelijkheidsvoorkeur."},{"num":"v20.90","type":"performance","title":"Fundament gelegd voor één consistente bewegings- en kleurentaal","problem":"Het portaal telde honderden nét-verschillende animatiesnelheden, schaduwen en statuskleuren, waardoor schermen subtiel van elkaar afweken.","solution":"Er is nu één centrale basis voor snelheid, curves, hoekronding en statuskleuren; ruim 900 overgangen in het portaal zijn daarop aangesloten. Volgende releases trekken stap voor stap alle schermen hierop gelijk."},{"num":"v20.89","type":"polish","title":"Eén schakelaar-stijl door het hele portaal","problem":"Meldingen, voorkeuren en onderdelen-beheer hadden elk hun eigen aan/uit-schakelaar met andere maten en kleuren; die bij Meldingen volgde bovendien nooit je huisstijlkleur.","solution":"Alle schakelaars gebruiken nu één gedeeld ontwerp dat meekleurt met je huisstijl, met nette focus- en bezig-states."},{"num":"v20.88","type":"polish","title":"Belangrijke acties vragen nu netjes om bevestiging","problem":"Teamlid verwijderen (partnerportaal), de engagement-pod verlaten, een pod-post intrekken en tweestapsverificatie uitschakelen gebeurden direct of via een kale browser-popup.","solution":"Deze acties tonen nu de nette bevestigingsdialoog van het portaal, in je eigen taal, met een duidelijke waarschuwing bij onomkeerbare stappen."},{"num":"v20.87","type":"polish","title":"Vloeiender open- en sluitgedrag van vensters en het taak-paneel","problem":"Veelgebruikte popup-vensters klapten in één klap open, en het taakbewerkings-paneel schoof wel in maar verdween abrupt.","solution":"Vensters faden nu zacht in en het taak-paneel schuift ook netjes weer uit beeld. Uitleg-tooltips verschijnen bovendien nu ook bij toetsenbord-navigatie."},{"num":"v20.86","type":"polish","title":"Planner: alle browser-popups vervangen door nette dialogen","problem":"Elf acties in de planner â weergave opslaan, lijst aanmaken, bulk-verplaatsen, labels, sjabloon- en hashtaggroep-namen, verwijderen en ontkoppelen â gebruikten kale browser-popups die niet bij het portaal pasten en je taalinstelling negeerden.","solution":"Al deze acties gebruiken nu de eigen dialogen van het portaal, inclusief een nieuw invoer-venster in de huisstijl. Verwijder-acties tonen een duidelijke rode bevestigingsknop."},{"num":"v20.85","type":"polish","title":"Review-link-venster op klantpagina volledig toegankelijk","problem":"Het venster om een review-link te maken miste toetsenbord-ondersteuning: Escape werkte niet, focus kon achter het venster belanden en de pagina scrolde eronder door.","solution":"Het venster draait nu op de gedeelde venster-component met focus-trap, Escape, scroll-lock en een zachte animatie."},{"num":"v20.84","type":"polish","title":"CRM- en dossier-vensters op één lijn gebracht","problem":"De CRM-vensters (lead bewerken, lead omzetten naar klant, nieuwe pipeline, import) en het dossier-instellingenvenster waren elk met de hand gebouwd: geen Escape, focus liep achter het venster door en de pagina scrolde eronder verder. Het contact-zijpaneel en het schermvullende dossier hadden hetzelfde probleem.","solution":"Alle vijf vensters draaien nu op de gedeelde venster-component, en het zijpaneel en het schermvullende dossier hebben Escape, focus-vergrendeling en scroll-lock gekregen. Wachtwoord-kopieerknoppen in het dossier zijn nu ook met het toetsenbord bereikbaar."},{"num":"v20.83","type":"feature","title":"Dashboard: verlopen taken springen er nu écht uit","problem":"De vier cijfers bovenaan het dashboard waren identieke gekleurde tegels â \"Designs in beheer\" schreeuwde even hard als je verlopen taken, niets was klikbaar, en de deadlines-widget stond op positie vier onder de vouw.","solution":"Bovenaan staat nu één duidelijke actie-tegel voor verlopen taken (rood zolang er iets ligt, groen als alles bij is) naast drie rustige, klikbare cijfers. De begroeting is compacter met een echte statusregel (\"3 verlopen · 12 open taken · 5 deze week\") en de deadlines-widget staat voortaan bovenaan."},{"num":"v20.82","type":"polish","title":"Deadlines-widget is rustiger en eerlijker","problem":"Elke deadline-kolom had een permanent gloeiend vlak en een eeuwig pulserend bolletje, de kolomkoppen stonden in schreeuwende hoofdletters, \"+N meer\" was niet klikbaar en lege kolommen toonden alleen een streepje.","solution":"De gloed en drie van de vier pulsen zijn weg â alleen \"Verlopen\" pulseert nog, en alleen als er echt iets verlopen is. Koppen zijn rustiger, \"+N meer\" opent takenbeheer en lege kolommen laten nu zien wat er speelt (bijvoorbeeld \"niets verlopen\")."},{"num":"v20.81","type":"polish","title":"Zoekvenster (âK): overzichtelijker en volledig met het toetsenbord te bedienen","problem":"Paginaâs, klanten, taken en leads stonden als één platte lijst door elkaar, de selectie verdween bij pijltjes-navigatie onder de rand, en tijdens het laden was niet te zien dat er nog resultaten bijkwamen.","solution":"Resultaten zijn nu gegroepeerd met kopjes per so
2ort, de pijltjes scrollen de selectie netjes mee, er staat een subtiele laad-indicator en ook pagina- en lead-labels hebben nu hun eigen kleur."},{"num":"v20.80","type":"polish","title":"Meldingen: elk type heeft nu een eigen kleur en strak icoon","problem":"Meldingen over boekingen toonden een kalender-emoji in een grijs vlak en info-meldingen hadden geen eigen kleur; de lege staat toonde een sterretjes-emoji.","solution":"Alle vier de meldingstypes hebben nu een strak lijn-icoon in hun eigen kleur, en de lege staat toont een rustig belletje."},{"num":"v20.79","type":"polish","title":"Rustiger navigeren: zachte paginawissel en slimme zijbalk-tooltips","problem":"Elke paginawissel was een harde knip, en wie snel langs de zijbalk bewoog kreeg acht tooltips achter elkaar te zien.","solution":"Paginaâs komen nu met een subtiele fade binnen, en tooltips verschijnen pas na een korte pauze â maar direct als je van het ene naar het andere icoon hopt."},{"num":"v20.78","type":"polish","title":"Dashboard aanpassen heeft nu een duidelijke \"Klaar\"-knop","problem":"Eenmaal in de aanpas-modus was de enige uitweg dezelfde kleine icoonknop in de bovenbalk terugvinden.","solution":"Onderin het scherm staat nu een zwevende balk met een \"Klaar\"-knop; het bovenbalk-icoon gaat automatisch mee uit. Het laadskelet van het dashboard spiegelt bovendien de nieuwe indeling, zodat de pagina zonder sprong opbouwt."},{"num":"v20.77","type":"feature","title":"Takenbord: sleep taken om hun deadline te verzetten","problem":"Het bord zag eruit als een kanban maar was alleen-lezen: kaarten konden niet worden versleept, dus een deadline verzetten kon alleen via het bewerkscherm.","solution":"Kaarten zijn nu sleepbaar. Laat een taak los op \"Vandaag\", \"Deze week\", \"Later\" of \"Geen datum\" en de deadline wordt direct verzet â met een \"Ongedaan maken\"-knop in de bevestiging. De kolom licht op terwijl je sleept, en het bord blijft altijd op één rij (met soepel horizontaal scrollen op kleinere schermen)."},{"num":"v20.76","type":"feature","title":"Takenlijst: sorteren op kolom en razendsnel taken toevoegen","problem":"Geen enkele kolomkop was klikbaar â \"wat is mijn eerstvolgende deadline\" was niet te beantwoorden zonder scannen. De lijst toonde maar 10 rijen, bulk-selectie zat verstopt in een menu, en een simpele taak toevoegen vereiste altijd het volledige venster.","solution":"Taak, Verantwoordelijke en Deadline zijn nu sorteerbaar (klik wisselt oplopend/aflopend/uit; taken zonder datum blijven netjes achteraan). De lijst toont standaard 25 rijen, bulk-selectie is één klik, en boven de lijst staat een invoerregel: typ een taak, druk op Enter, klaar."},{"num":"v20.75","type":"polish","title":"Nieuwe taak: titel eerst en een tijdstip erbij","problem":"Het nieuwe-taak-venster opende met een klantenlijst; het titelveld stond onderaan. Een tijdstip meegeven kon alleen achteraf via bewerken.","solution":"Het venster opent nu met de cursor direct in het titelveld, en naast de datum staat een tijdveld â aanmaken en bewerken kennen nu dezelfde velden."},{"num":"v20.74","type":"feature","title":"Planner: geen typwerk meer kwijt bij het sluiten van de opsteller","problem":"Het sluitkruis van de post-opsteller gooide alles direct weg â een half geschreven caption was zonder waarschuwing verdwenen. Escape was om die reden zelfs helemaal uitgeschakeld.","solution":"Sluiten vraagt nu om bevestiging zodra er inhoud staat, en Escape werkt weer veilig. De opsteller houdt bovendien de toetsenbord-focus netjes binnen het venster."},{"num":"v20.73","type":"polish","title":"Planner: eerlijke uitleg bij platforms en de plan-knop","problem":"Een gekoppeld platform dat (nog) niet beschikbaar was voor publiceren verdween spoorloos uit de keuzelijst, en de plan-knop werd grijs zonder te vertellen waarom.","solution":"Zulke platforms staan er nu gewoon bij met het label \"Binnenkort\", en naast een uitgeschakelde plan-knop staat de reden (\"Kies minstens één platform\" of \"Tekst is te lang\")."},{"num":"v20.72","type":"feature","title":"Boekingspagina: beschikbare dagen zijn direct zichtbaar","problem":"Elke dag in de k
2alender zag er identiek klikbaar uit â bezoekers moesten dag voor dag proberen tot ze er één vonden mét tijden. Ook begon de week op zondag, waren de maand-pijltjes onbegrensd en piepklein, en moest je zelf uitrekenen wanneer een gesprek eindigde.","solution":"Dagen waarop de host beschikbaar is dragen nu een merkkleur-stip; weekenden, vakantie-dagen en dagen buiten het boekvenster zijn uitgegrijsd. De week begint op maandag (behalve Engels), de maand-navigatie is begrensd en groter, tijdsloten tonen ook de eindtijd in twee nette kolommen, en het formulier vult naam/e-mail/telefoon automatisch aan op mobiel."},{"num":"v20.71","type":"feature","title":"Factuur- en offerte-opsteller: totalen altijd in beeld","problem":"Subtotaal, btw en totaal stonden alleen in het A4-voorbeeld rechts â en dat voorbeeld verdwijnt op laptops en tablets volledig. Je typte dus een factuur zonder ooit het totaalbedrag te zien, en per regel was de rekensom (aantal à prijs â korting) nergens te controleren.","solution":"Onderaan het formulier staat nu een meescrollend totalen-blok (subtotaal, btw per tarief en een groot totaal) dat live meerekent, en elke regel toont zijn eigen bedrag. Ook de kolommen van periodieke facturen staan weer strak uitgelijnd."},{"num":"v20.70","type":"bugfix","title":"Browsertab toont de portaalnaam niet meer dubbel","problem":"De tabtitel plakte achter je eigen portaalnaam nóg eens \"| Senly\" â bij een portaalnaam met \"Senly\" erin stond het merk er dus twee keer (bv. \"Senly - Statistieken · Senly\").","solution":"De \"| Senly\"-toevoeging is binnen het portaal weg. Geen dubbele merknaam meer, en white-label bureaus lekken \"Senly\" niet meer in de browsertab."},{"num":"v20.69","type":"polish","title":"Browsertab toont nu gewoon de paginanaam â in jouw taal","problem":"De tabtitel bevatte een vaste \"· Senly\"-suffix en stond bovendien altijd in het Nederlands, ongeacht je taalkeuze.","solution":"Elke pagina toont nu alléén zijn eigen naam in de tab â \"Takenbeheer\", \"Financieel\", \"Statistieken\" â en die naam verandert mee met je taal (bv. \"Aufgabenverwaltung\" / \"Finanzen\" in het Duits)."}]},{"date":"2026-08-03","version":"v20.68","clV":"v0.767","title":"Portaal-brede bug-audit: klantportaal, herinneringen en beveiliging","items":[{"num":"v20.68","type":"bugfix","title":"Klantportaal toont weer het juiste openstaande bedrag","problem":"Een ingetrokken (geannuleerde) creditfactuur bleef meetellen als korting op het openstaande bedrag, waardoor de klant een te laag of nul-bedrag zag.","solution":"Geannuleerde credits worden nu uitgesloten van de openstaand-berekening in het klantportaal, gelijk aan het dashboard en de over-crediteer-controle."},{"num":"v20.67","type":"bugfix","title":"Betalingsherinnering noemt bij een deelbetaling het restbedrag","problem":"Bij een factuur die deels betaald was, vermeldde de herinnering het volledige factuurbedrag in plaats van wat er nog openstond.","solution":"De herinnering rekent nu met het restbedrag (totaal minus reeds betaald)."},{"num":"v20.66","type":"bugfix","title":"Dossier: na het instellen van het wachtwoord blijf je meteen ingelogd","problem":"Na het voor het eerst instellen van het dossier-wachtwoord werd meteen opnieuw om datzelfde wachtwoord gevraagd.","solution":"De ontgrendel-cookie gebruikt nu dezelfde ondertekende waarde als de gewone ontgrendeling, dus je gaat direct door."},{"num":"v20.65","type":"security","title":"Reeks beveiligings- en misbruik-fixes uit de portaal-audit","problem":"Een brede controleronde vond een paar zwakke plekken: een koppel-terugkeer die niet aan je sessie was gebonden, publieke pagina's zonder snelheidsrem, en enkele beheeracties zonder rolcontrole.","solution":"De Gmail-koppeling bindt de terugkeer nu aan je sessie, de zwaarste publieke agenda- en analysepagina's hebben een snelheidsrem gekregen, en klant- en CRM-beheeracties staan nu strak achter de juiste rechten."},{"num":"v20.64","type":"bugfix","title":"Statistieken tellen weer alle taken mee","problem":"Sinds GoHighLevel standaard uit staat, vielen alle lokale taken samen tot één in de statistieken â waardoor open/afgeronde taken, werklast per teamlid en de gezondheidsscores bijna-nul toonden.","solution":"Taken worden nu correct ontdubbeld: alleen taken die dezelfde GoHighLevel-taak delen tellen als één; lokale taken tellen elk apart mee."},{"num":"v20.63","type":"bugfix","title":"Een afspraak verzetten past nu ook de gekoppelde agenda aan","problem":"Als de host een geboekte afspraak naar een andere tijd sleepte, kreeg de gast de nieuwe tijd per mail, maar bleef de eerder gesynchroniseerde Google-/Outlook-/Apple-afspraak op de oude tijd staan â met kans op gemiste of dubbele meetings.","solution":"Bij het verzetten wordt de oude agenda-afspraak verwijderd en op de nieuwe tijd opnieuw aangemaakt in alle gekoppelde agenda's."},{"num":"v20.62","type":"bugfix","title":"Reel- en review-bonuskorting wordt nu echt verrekend","problem":"Bij goedkeuring van een Reel- of review-bonus beloofde de mail een korting op de volgende factuur, maar dat tegoed werd nergens daadwerkelijk toegekend.","solution":"Een goedgekeurde bonus schrijft het toegezegde bedrag nu als tegoed op de Stripe-balans van het bureau, zodat het automatisch van de volgende factuur af gaat."}]}
2,{"date":"2026-08-02","version":"v20.61","clV":"v0.762","title":"Leads importeren vanuit GoHighLevel is terug","items":[{"num":"v20.61","type":"bugfix","title":"\"Importeer uit GHL\" op het CRM-bord hersteld","problem":"De knop om leads vanuit GoHighLevel te importeren was bij een eerdere opschoning per ongeluk verwijderd â inclusief het keuzescherm voor pipeline en stage.","solution":"De import is volledig terug: kies op het CRM-bord welke GHL-pipeline en -stage je overhaalt naar welke Senly-stage, met de optie om de doelstage eerst leeg te maken. Werkt zolang de GoHighLevel-koppeling actief is."}]},{"date":"2026-08-01","version":"v20.60","clV":"v0.760","title":"Planner: kleine puntjes uit de code-audit rechtgezet","items":[{"num":"v20.60","type":"bugfix","title":"Composer: de tekstteller telt nu ook de standaard-hashtags mee","problem":"De tekstteller keek alleen naar je eigen tekst, terwijl bij het publiceren de per-netwerk hashtags erachteraan komen. Een tekst die net onder de limiet leek, kon daardoor bij het inplannen alsnog geweigerd worden.","solution":"De teller (en de blokkade bij te veel tekens) rekent nu met de volledige tekst inclusief de hashtags die worden toegevoegd â wat je ziet is wat er gepubliceerd wordt."},{"num":"v20.59","type":"bugfix","title":"Autolijst: items verslepen kan geen dubbele volgorde meer geven","problem":"Een item omhoog/omlaag verplaatsen deed twee losse opslag-acties; mislukte de tweede, dan konden twee items dezelfde plek krijgen en werd de round-robin-volgorde dubbelzinnig.","solution":"De wissel gebeurt nu in één ondeelbare actie: of beide items wisselen van plek, of geen van beide."},{"num":"v20.58","type":"bugfix","title":"Opgeslagen weergaven: verwijderen werkt weer betrouwbaar","problem":"Opgeslagen weergaven kregen een volgnummer als naam; na een weergave verwijderen en een nieuwe met dezelfde naam toevoegen konden er twee dezelfde interne naam krijgen â waardoor verwijderen soms beide weghaalde.","solution":"Elke weergave krijgt nu een gegarandeerd unieke interne naam."},{"num":"v20.57","type":"polish","title":"Sjabloon opslaan: duidelijkere melding bij lege inhoud","problem":"Een leeg sjabloon opslaan gaf de melding \"Kies minstens één platform\", terwijl het probleem de lege inhoud was.","solution":"De melding zegt nu \"Voeg eerst tekst of media toe.\""},{"num":"v20.56","type":"polish","title":"Win-back-serie: drie verschillende mails i.p.v. drie keer dezelfde","problem":"De terugkom-serie naar opgezegde bureaus stuurde drie mails met identieke tekst, en de eerste ging al na 14 dagen â vaak nog te vers na de opzegging.","solution":"De serie loopt nu op dag 30, 60 en 90 met per stap een eigen toon: een zachte \"we hebben je plek vrijgehouden\", daarna een herinnering aan de terugkom-korting, en op dag 90 een eerlijke \"laatste kans â je gegevens worden binnenkort verwijderd\". De reden van opzeggen blijft de tekst kleuren."},{"num":"v20.55","type":"feature","title":"Planner: campagne-weergave (posts per label overzien)","problem":"Bij grotere planningen was er geen overzicht van hoe een campagne (label) ervoor staat â je moest per label handmatig filteren en tellen.","solution":"Nieuwe \"Campagnes\"-tab: elk label wordt een kaart met het totaal aantal posts en een gekleurde statusbalk (gepubliceerd / gepland / concept-goedkeuring / mislukt). Klik een campagne om de lijst meteen op dat label te filteren. Volledig op basis van je bestaande labels."},{"num":"v20.54","type":"feature","title":"Planner: agenda-abonneerlink per klant intrekbaar","problem":"De iCal-abonneerlink was langlopend maar alleen in zijn geheel in te trekken â een gelekte link van één klant kon je niet apart ongeldig maken.","solution":"In het \"Abonneer in agenda\"-venster zit nu een \"Vernieuw de link\"-knop: die maakt een nieuwe link aan waardoor de oude direct stopt met werken, terwijl de links van andere klanten gewoon blijven werken."},{"num":"v20.53","type":"bugfix","title":"Nieuwsbrief slaat een taal niet meer over bij een rustige week","problem":"Als er in een taal die week geen nieuwe blogpost verscheen, kreeg die hele taalgroep helemaal geen nieuwsbrief â waardoor die lijst afkoelde en aan stilte gewend raakte.","solution":"Is er geen nieuwe post, dan sturen we nu een \"uitgelicht\"-editie met de recentste artikelen in die taal (eigen onderwerp + koptekst zodat het niet als \"nieuw deze week\" leest). Alleen als er nog geen enkele gepubliceerde post in die taal is, slaan we hem over."},{"num":"v20.52","type":"bugfix","title":"Betaalbon en factuur nu in de juiste valuta","problem":"Klanten die in dollars (of een andere niet-euro-valuta) betaalden, kregen hu
2n betaalbon én Moneybird-factuur toch in euro's.","solution":"De bon toont de bedragen nu in de werkelijke betaalvaluta en de Moneybird-factuur wordt in die valuta aangemaakt. Euro-klanten merken niets â dat pad blijft ongewijzigd."},{"num":"v20.51","type":"security","title":"Inlog-beveiliging: niemand kan meer jouw account laten blokkeren","problem":"De inlog-limiet telde per e-mailadres. Iemand die jouw e-mailadres kende, kon met 10 foute pogingen jouw account 15 minuten op slot zetten (een gerichte blokkade-aanval).","solution":"De limiet telt nu per IP + e-mailadres. Een aanvaller blokkeert daarmee hoogstens zijn eigen IP voor jouw account; jij logt vanaf je eigen apparaat gewoon door. Brute-force per account blijft begrensd."},{"num":"v20.50","type":"bugfix","title":"Support-chat belooft geen niet-bestaande telefoonmeldingen meer","problem":"De support-assistent bevestigde dat je push-/telefoonmeldingen kon aanzetten, terwijl die functie niet bestaat â gebruikers gingen achter iets aan dat er niet is.","solution":"De assistent is nu eerlijk: die meldingen zijn er (nog) niet. Je kunt Senly wel als PWA op je startscherm zetten voor snelle toegang."},{"num":"v20.49","type":"bugfix","title":"Betaling zonder factuur kan niet meer stil verdwijnen","problem":"Als het aanmaken van de factuur na een geslaagde betaling misging (bijvoorbeeld door een korte hapering), gebeurde er verder niets: geen factuur, geen bevestigingsmail en geen nieuwe poging.","solution":"Zo'n fout leidt er nu toe dat Stripe het opnieuw aanbiedt, totdat de factuur er wél is. Dubbele verwerking is uitgesloten doordat elke Stripe-factuur maar één keer verwerkt wordt."},{"num":"v20.48","type":"feature","title":"Planner: melding als een geplande post mislukt","problem":"Als een ingeplande post definitief mislukte (bijv. geen gekoppeld account of een platform-fout), werd dat alleen in de interne monitoring gelogd â het bureau zag het pas als het toevallig de \"mislukt\"-status in de planner opmerkte.","solution":"Bij een definitieve mislukking krijgen de bureau-gebruikers nu een in-app melding (\"Een geplande post is mislukt\") met het merk, het netwerk en de reden, en een link naar de planner â zodat je de post meteen kunt herstellen en opnieuw inplannen. Zelfde meldingskanaal als de handmatig-plaatsen-herinnering."},{"num":"v20.47","type":"feature","title":"Volumekorting-hint bij je klantenaantal","problem":"Je zag nergens dat je bijna een goedkoper per-klant-tarief haalde, dus er was geen duwtje om richting de volumestaffel te groeien.","solution":"Bij het aanmelden én op je abonnementspagina staat nu een hint zoals \"nog 3 klanten erbij â â¬40 per klant\" zodra je tussen de 2 en 19 klanten zit. Bij een aangepast tarief of vanaf 20 klanten (al het laagste tarief) verschijnt hij niet."},{"num":"v20.46","type":"bugfix","title":"Affiliate-commissie: 40%-tarief geldt meteen, niet pas de maand erna","problem":"Als een nieuwe verwijzing de affiliate over de premium-drempel (10 aangeleverde klanten) tilde, werd de eerste factuur van die verwijzing tóch nog tegen 30% geregistreerd â de 40%-verhoging ging pas de volgende maand in. Direct verlies voor de beste affiliates.","solution":"Het commissietarief wordt nu bepaald vóórdat de commissie wordt weggeschreven: haalt de affiliate de drempel, dan telt de 40% meteen mee â óók op die eerste factuur."},{"num":"v20.45","type":"feature","title":"Maandelijkse \"je maand in cijfers\"-mail","problem":"Betalende bureaus kregen geen periodieke terugkoppeling van wat ze in Senly hadden gedaan.","solution":"Op de 1e van de maand ontvang je een kort overzicht van de vorige maand: actieve klanten, aangemaakte posts, ingeplande posts en open taken â in je eigen taal, met een link naar je dashboard. Eén mail per maand."}]},{"date":"2026-07-31","version":"v20.44","clV":"v0.758","title":"Opgeruimd: Eigenaar overzicht samengevoegd met Statistieken","items":[{"num":"v20.44","type":"polish","title":"Eigenaar overzicht opgeheven â alles staat nu in Statistieken en Financieel","problem":"De pagina \"Eigenaar overzicht\" toonde informatie die inmiddels elders vollediger beschikbaar was: de omzetcijfers staan op Financieel, en Statistieken kreeg eigen Health- en Team-tabbladen met rijkere klantgezondheid en team-inzichten. Twee plekken voor hetzelfde overzicht zorgde voor verwarring.","solution":"De pagina is verwijderd uit het menu; wie er nog heen navigeert (oude bookmark) wordt automatisch doorgestuurd naar Statistieken."},{"num":"v20.43","type":"performance","title":"Stylesheet opgeschoond na opheffen Eigenaar overzicht","problem":"De opgeheven pagina liet bijna 800 regels ongebruikte opmaak achter in de centrale stylesheet, die elke bezoeker onnodig meedownloadde.","solution":"Alle opmaak die alleen door de oude pagina werd gebruikt is verwijderd; de stijlen die andere paginaâs delen (zoals de paginakoppen en de MRR-kaarten op het SaaS-dashboard) zijn per stuk gecontroleerd en blijven staan."},{"num":"v20.42","type":"performance","title":"Ongebruikte vertalingen van Eigenaar overzicht opgeruimd","problem":"Na het opheffen van de pagina bleven 62 vertaal-teksten in vier talen (248 regels) achter die nergens meer werden getoond, maar wel met elke pagina meegeladen werden.","solution":"Elke vertaling is afzonderlijk gecontroleerd op gebruik elders in het portaal; de teksten die het SaaS-dashboard en de gebruikerspagina nog nodig hebben blijven staan, de rest is verwijderd."},{"num":"v20.41","type":"bugfix","title":"Abonnementspagina: opzeg-teksten nu correct in het Engels, Duits en Frans","problem":"Op de abonnementspagina toonden de opzeg-uitleg, de opzeg-datum en de \"toch doorgaan\"-knop bij niet-Nederlandse talen hun interne sleutelnaam (bijv. \"settings_cancel_intro\") in plaats van de vertaalde tekst.","solution":"Die teksten gebruiken nu de volledig vertaalde bron die er al was, zodat ze in alle vier de talen (NL/EN/DE/FR
2) netjes worden getoond."},{"num":"v20.40","type":"polish","title":"Merknaam consistent: overal \"Senly\" behalve in juridische informatie","problem":"Op een paar plekken buiten de juridische pagina's dook nog de bedrijfsnaam \"Social Media Tools\" op in plaats van het merk Senly â o.a. in de tweefactor-authenticatie-app, de standaard portaal-bedrijfsnaam, het instellingen-invoerveld en een terug-knop in een tool-voorbeeld.","solution":"Die plekken tonen nu \"Senly\". De bedrijfsnaam \"Social Media Tools\" blijft alleen staan waar dat juridisch hoort (algemene voorwaarden, privacyverklaring, facturen en het legalName-veld)."},{"num":"v20.39","type":"feature","title":"Contactformulier stuurt nu een bevestigingsmail","problem":"Wie het contactformulier invulde, kreeg geen enkele terugkoppeling â het voelde alsof het bericht in een zwart gat verdween.","solution":"De indiener krijgt nu direct een bevestigingsmail dat we het bericht ontvangen hebben en doorgaans binnen één werkdag reageren."},{"num":"v20.38","type":"bugfix","title":"Nieuwsbrief-afmelding blijft nu bewaard","problem":"Afmelden verwijderde je gegevens volledig, waardoor je bij een latere import ongemerkt opnieuw mails kon krijgen. Ook misten de nieuwsbriefmails de standaard één-klik-afmeldknop die Gmail en Yahoo tegenwoordig verwachten.","solution":"Een afmelding wordt nu vastgelegd als blijvende afmeld-voorkeur (je krijgt gegarandeerd geen mails meer, tenzij je jezelf opnieuw inschrijft), en elke nieuwsbriefmail bevat nu de officiële één-klik-afmeldknop â beter voor de bezorging."},{"num":"v20.37","type":"bugfix","title":"Contactberichten overschrijven geen eerdere notities meer","problem":"Een tweede bericht van dezelfde persoon overschreef in de sales-pijplijn de bestaande notities en zette het label \"inbound\" er telkens dubbel bij.","solution":"Nieuwe berichten worden nu netjes bovenaan de bestaande notities toegevoegd en het label wordt niet meer gestapeld. Bovendien tellen inbound-leads zonder promocode nu ook mee als conversie via e-mailkoppeling."},{"num":"v20.36","type":"bugfix","title":"Aanmelden & inloggen: duidelijkere en meertalige foutmeldingen","problem":"Bij aanmelden verscheen een foutmelding buiten beeld, boven een lang formulier, en \"e-mailadres bestaat al\" stond niet bij het e-mailveld. Bij inloggen via Google of LinkedIn met tweefactor of een onbevestigd e-mailadres kreeg je een leeg scherm zonder uitleg. Meldingen waren ook niet altijd vertaald.","solution":"De foutmelding scrollt nu automatisch in beeld en een bestaand e-mailadres wordt direct bij het e-mailveld getoond. Google/LinkedIn-login legt nu uit dat je met wachtwoord moet inloggen (2FA) of je e-mail moet bevestigen. Wachtwoord- en \"te veel verzoeken\"-meldingen zijn nu in alle vier de talen."},{"num":"v20.35","type":"bugfix","title":"Trial-bonus van +7 dagen alleen nog bij een geldige verwijzing","problem":"Het aanmeldformulier beloofde +7 proefdagen zodra er een verwijs-link was gebruikt â óók als die code ongeldig was. Je zag dan 21 dagen staan maar kreeg er 14.","solution":"De verwijs-code wordt nu eerst gecontroleerd; de +7-dagen-badge en -bonus verschijnen alleen nog als de code bij een actieve partner hoort."},{"num":"v20.34","type":"bugfix","title":"Aanmelden werkt weer na een afgebroken eerdere poging (alias-adres)","problem":"Wie een aanmelding eerder afbrak en het opnieuw probeerde met een variant van hetzelfde e-mailadres (bijv. met een plus-alias), werd onterecht geblokkeerd met \"e-mailadres bestaat al\".","solution":"Een afgebroken, onvoltooide aanmelding blokkeert een nieuwe poging niet meer â precies zoals dat al voor de bureau-variant werkte."},{"num":"v20.33","type":"feature","title":"Veelgestelde vragen direct op de prijzenpagina","problem":"De prijzenpagina beantwoordde veelvoorkomende twijfels (per klant of per gebruiker? korting bij jaarbetaling? opzegbaar?) niet ter plekke â je moest doorklikken naar een aparte FAQ.","solution":"Er staat nu een uitklapbare vragen-en-antwoorden-sectie onderaan de prijzenpagina met de zes meestgestelde prijsvragen, plus een Trustpilot-beoordeling als bevestiging. Volledig in Nederlands, Engels, Duits en Frans."},{"num":"v20.32","type":"bugfix","title":"Welkomstmail toont nu je echte proefduur","problem":"De welkomstmail zei altijd \"14 dagen\", ook als je via een verwijzing of kortingscode een langere proefperiode (bijv. 21 dagen) kreeg. De eerste-betaaldatum klopte wel, maar de tekst erboven niet.","solution":"De welkomstmail noemt nu het werkelijke aantal proefdagen, in alle vier de talen."},{"num":"v20.31","type":"bugfix","title":"Dubbel abonnement voorkomen","problem":"Een bureau met een al lopend abonnement kon via de betaalpagina per ongeluk een tweede abonnement starten en zo dubbel afgeschreven worden.","solution":"Zolang er een lopend abonnement is, wordt een nieuwe checkout geweigerd. Reactiveren na opzegging of een verlopen proef kan gewoon."},{"num":"v20.30","type":"bugfix","title":"Toegang-verlopen-scherm nu in alle talen","problem":"Het blokkeerscherm dat verschijnt als een abonnement verloopt, stond volledig in het Nederlands â ook voor Engelse, Duitse en Franse gebruikers.","solution":"De titel, uitleg en knoppen van dat scherm zijn nu viertalig."},{"num":"v20.29","type":"bugfix","title":"Herstel-link van een afgebroken aanmelding blijft langer werken","problem":"De \"maak je aanmelding af\"-mail kon naar een account wijzen dat de opruimtaak op dag 3 net had verwijderd, waardoor de link doodliep.","solution":"Een account dat zo'n herstelmail kreeg, wordt niet opgeruimd zolang de link nog vers is, zodat hij
2netjes blijft werken."},{"num":"v20.28","type":"polish","title":"Betere eerste stap in de Launchpad-checklist","problem":"De allereerste onboarding-taak was \"zet je browser-zoom op 80%\" â dat leest als kapot en levert niets op.","solution":"De eerste stap is nu \"voeg je eerste klant toe\", wat direct alle modules ontgrendelt en automatisch afvinkt zodra de klant bestaat."},{"num":"v20.27","type":"polish","title":"Launchpad toont geen taken meer voor uitgeschakelde onderdelen","problem":"De startchecklist toonde ook taken voor functies die voor jouw type account verborgen zijn (bijvoorbeeld team-beheer voor een solo-freelancer).","solution":"De checklist houdt nu rekening met welke onderdelen jouw account gebruikt en verbergt taken voor uitgeschakelde functies."},{"num":"v20.26","type":"polish","title":"Lege contentkalender heeft nu een knop om te starten","problem":"Als er nog geen posts gepland waren, toonde de kalender een lege staat zonder actie.","solution":"De lege staat heeft nu een knop \"Een bericht aanmaken\" zodat je meteen kunt plannen."},{"num":"v20.25","type":"feature","title":"Persoonlijke tip in de Launchpad op basis van je aanmelding","problem":"Bij aanmelden vroegen we naar je grootste uitdaging, maar dat antwoord werd nergens gebruikt om je op weg te helpen.","solution":"Bovenaan de Launchpad staat nu een korte, persoonlijke tip die aansluit op de uitdaging die je koos â en je meteen naar het meest relevante onderdeel wijst. In alle vier de talen."},{"num":"v20.24","type":"feature","title":"Boekingsbevestiging met \"Toevoegen aan agenda\"","problem":"De bevestigingsmail van een geboekte meeting had geen manier om de afspraak in je agenda te zetten.","solution":"De mail bevat nu directe links voor Google Calendar en Outlook, plus een .ics-download voor andere agenda-apps (zoals Apple Calendar)."},{"num":"v20.23","type":"bugfix","title":"Bevestigingsmail e-mailwijziging nu in alle talen","problem":"De mail om een nieuw e-mailadres te bevestigen was alleen in het Nederlands, ook voor Engelse, Duitse en Franse gebruikers.","solution":"De mail is nu viertalig (NL/EN/DE/FR)."},{"num":"v20.22","type":"bugfix","title":"\"Betaling mislukt\"-mail niet meer bij elke automatische poging","problem":"Als een betaling mislukte, probeerde het systeem het automatisch meerdere keren opnieuw â en bij elke poging ging dezelfde \"betaling mislukt\"-mail opnieuw uit.","solution":"Die eerste mail gaat nu nog maar één keer per betaalprobleem; de vervolgherinneringen verlopen zoals bedoeld via de vaste stappen."},{"num":"v20.21","type":"infra","title":"Automatische taken beter gespreid en robuuster gemaakt","problem":"Een paar geautomatiseerde achtergrondtaken draaiden op hetzelfde drukke moment (rond het tiende minuut, waar de database het al zwaar heeft) of vier tegelijk om 05:30 â en één taak markeerde de dag als \"gedaan\" nog vóór het werk klaar was, waardoor bij een database-hapering die dag stilletjes werd overgeslagen.","solution":"De zware taken zijn weg van het piekmoment geschoven en de ochtendbundel is over vier momenten gespreid. De dag-taak wordt nu pas als \"gedaan\" gemarkeerd nádat het werk gelukt is, en een partner-melding wordt pas afgevinkt nadat de melding echt is aangemaakt."},{"num":"v20.20","type":"bugfix","title":"\"Blijf-toch\"-mail bij opzegging nu in alle talen","problem":"De mail die bij een opzegging vraagt om feedback en of we iets kunnen doen, was alleen in het Nederlands.","solution":"Die mail is nu viertalig (NL/EN/DE/FR), op basis van de taalvoorkeur van de klant."},{"num":"v20.19","type":"bugfix","title":"Geen dagelijkse herhaal-mail meer bij een verlopen koppeling","problem":"Zolang een social-media-koppeling verlopen bleef, kreeg de beheerder elke dag opnieuw dezelfde herinnering.","solution":"Die herinnering gaat nu hooguit eens per drie dagen per beheerder, in plaats van dagelijks."},{"num":"v20.18","type":"bugfix","title":"Meeting-herinnering valt niet meer weg na een storing","problem":"Lag het systeem langer dan twee uur plat rond het moment dat een afspraakherinnering verstuurd moest worden, dan viel die herinnering definitief weg.","solution":"De eerstvolgende geslaagde run haalt gemiste herinneringen nu alsnog in, zolang de afspraak nog niet geweest is."},{"num":"v20.17","type":"feature","title":"Drie nieuwe automatische e-mails voor betalende klanten","problem":"Er waren geen automatische mails voor klanten die even niets deden, voor het eerste succes, of om te vragen hoe tevreden je bent.","solution":"Nieuw: een vriendelijke \"we missen je\"-mail bij langere inactiviteit, een felicitatie bij je eerste resultaat, en een korte tevredenheidsvraag (NPS) ongeveer een maand na je eerste betaling. Alle drie viertalig en meetbaar."},{"num":"v20.16","type":"bugfix","title":"Betaal- en behoud-mails vallen niet meer stil bij het uitzetten van het AI-team","problem":"De \"betaling mislukt\"-herinnering en de \"blijf-toch\"-mail bij opzegging draaiden binnen het AI-team; zodra dat werd uitgezet, stopten ook deze essentiële mails.","solution":"Deze mails draaien nu in een eigen dagelijkse taak met een eigen aan/uit-schakelaar, los van het AI-team. Bovendien worden de tri
2al-, win-back- en herinner-mails nu gemeten (open- en klikcijfers)."},{"num":"v20.15","type":"infra","title":"Nauwkeurigere meetgegevens: bot-filter, dubbel-check en spam-rem","problem":"De bezoekers-tracking kon door bots worden volgespamd, dezelfde funnelstap kon dubbel tellen, en e-mail-opens werden meegeteld inclusief automatische scanners (zoals de Gmail-beeldproxy), waardoor open-percentages kunstmatig hoog waren.","solution":"De meting heeft nu een ruime snelheidsrem tegen bots, funnelstappen worden binnen dezelfde sessie ontdubbeld, en e-mail-opens filteren bekende proxies en scanners eruit. Ook worden gesprekken met de website-chatbot nu bewaard, privacyvriendelijk en zonder ruw IP-adres."},{"num":"v20.14","type":"bugfix","title":"Affiliate-helpartikelen: geen belofte meer over statistieken die niet bestaan","problem":"Twee helpartikelen beloofden dat je in je affiliate-dashboard signups en verdiensten per bron en campagne kon zien â die uitsplitsing bestaat niet.","solution":"De artikelen leggen nu eerlijk uit dat je dashboard je totale signups en verdiensten toont, en dat de UTM-parameters bedoeld zijn voor je eigen administratie."},{"num":"v20.13","type":"infra","title":"Nauwkeuriger churn-cijfer en meting van knop-kliks","problem":"Het interne churn-cijfer bepaalde de opzeg-datum via het \"laatst gewijzigd\"-tijdstip, dat ook bij andere wijzigingen meebewoog. En op de statische marketingpagina's werden alleen paginaweergaven gemeten, geen kliks op de belangrijkste knoppen.","solution":"De churn- en past-due-cijfers gebruiken nu de echte opzeg-/betaalprobleem-datum. Op de marketingpagina's worden nu ook kliks op de \"Start gratis\"- en demo-knoppen gemeten als funnelstap."},{"num":"v20.12","type":"bugfix","title":"Helpartikelen beloven geen niet-bestaande Slack-koppeling meer","problem":"Twee helpartikelen noemden een automatische \"Slack-bericht/-notificatie\"-actie in de onboarding- en CRM-automatisering, terwijl er geen Slack-koppeling bestaat.","solution":"Die actie is uit de artikelen gehaald, in alle vier de talen; de acties die wel bestaan (e-mail, taken, tags, koppelingen) blijven gewoon staan."},{"num":"v20.11","type":"bugfix","title":"Aangepaste helpartikelen zijn nu per taal","problem":"Als een beheerder de helpartikelen aanpaste, kregen álle talen die (Nederlandse) lijst te zien, omdat de aanpassing in één gedeeld veld werd opgeslagen.","solution":"Aangepaste artikelen worden nu per taal bewaard, zodat de Engelse, Duitse en Franse lijst onafhankelijk blijven."},{"num":"v20.10","type":"bugfix","title":"Aanmelden crasht niet meer bij een dubbele klik","problem":"Twee gelijktijdige aanmeldpogingen met hetzelfde e-mailadres konden de aanmaak laten vastlopen met een technische foutmelding.","solution":"Zo'n botsing geeft nu netjes \"dit e-mailadres is al in gebruik\" te zien, in plaats van een technische fout."},{"num":"v20.09","type":"bugfix","title":"Foutmeldingen in de tools nu in alle talen","problem":"Bij een fout in een tool (bijvoorbeeld hashtag-onderzoek, maandrapport of een downloader) kregen Engelse, Duitse en Franse gebruikers soms een ruwe Nederlandse foutmelding te zien.","solution":"Twintig tools tonen fouten nu in de taal van de gebruiker; de ruwe server-tekst wordt niet meer doorgegeven."},{"num":"v20.08","type":"security","title":"Geen technische foutdetails meer richting gebruiker","problem":"Bij een fout gaven zo'n 38 interne routes soms de ruwe technische foutmelding (met interne systeemdetails) door aan de gebruiker.","solution":"Die routes tonen nu een nette, algemene foutmelding; de technische details worden alleen nog server-side gelogd voor onszelf."},{"num":"v20.07","type":"bugfix","title":"Opzeggen: reden opgeven is nu optioneel","problem":"In de opzegflow moest je eerst een reden aanklikken voordat de \"Verder\"-knop werkte â dat voelt als een verplichte drempel.","solution":"De knop werkt nu ook zonder keuze: kies je niets, dan staat er \"Liever niet zeggen\" en ga je gewoon verder. Een reden opgeven blijft mogelijk (en helpt ons), maar is niet langer verplicht."},{"num":"v20.06","type":"bugfix","title":"Opzeg-optie nu ook zichtbaar zonder lopend betaald abonnement","problem":"Bureaus zonder actief Stripe-abonnement (bijvoorbeeld een gratis of handmatig ingericht account) zagen op de abonnementspagina helemaal geen opzeg- of afsluitmogelijkheid â een doodlopende straat.","solution":"Die accounts zien nu een eerlijke uitleg (\"er wordt niets afgeschreven\") plus een duidelijke knop om hun account te laten sluiten en gegevens te laten verwijderen."},{"num":"v20.05","type":"bugfix","title":"Win-back-mail nu in de taal van de eigenaar","problem":"De terugkom-mail naar opgezegde bureaus koos de taal op basis van het e-mailadres in plaats van de ingestelde taal van de eigenaar â net als bij de opzegbevestiging al wél gebeurde.","solution":"De win-back-mail (zowel voor opgezegde klanten als verlopen proefaccounts) volgt nu de ingestelde taal van de bureau-eigenaar (NL/EN/DE/FR
2)."},{"num":"v20.04","type":"polish","title":"Kortingsnaam op de factuur nu in de taal van de eigenaar","problem":"De naam van een retentie- of terugkom-korting op de Stripe-factuur stond altijd in het Nederlands, ook voor Engelse, Duitse en Franse bureaus.","solution":"De couponnaam volgt nu de ingestelde taal van de bureau-eigenaar, zodat de korting op de factuur in de juiste taal verschijnt."},{"num":"v20.03","type":"feature","title":"Support-chat kent nu je situatie","problem":"De support-assistent wist niet wie hij voor zich had â bureau, abonnement-status of hoe ver je in de onboarding was â en beantwoordde onboarding-vragen daardoor algemeen.","solution":"De assistent krijgt nu veilige context mee (bureau-naam, proef/abonnement-status, onboarding-fase, aantal klantprofielen, hoe lang je account bestaat) en kan zo concreter en persoonlijker antwoorden."},{"num":"v20.02","type":"bugfix","title":"Pauzeren: maximaal 2à per jaar","problem":"Een account pauzeren kende geen enkele limiet â zodra een pauze afliep kon je meteen opnieuw pauzeren, en zo onbeperkt actief blijven zonder te betalen.","solution":"Pauzeren kan nu maximaal twee keer per jaar. Is dat bereikt, dan biedt de opzegflow het pauze-aanbod niet meer aan en verwijst netjes naar support."},{"num":"v20.01","type":"bugfix","title":"Bevestigingsmail bij direct opzeggen","problem":"Wie rechtstreeks opzegde (buiten de begeleide opzegflow om) kreeg geen enkele bevestiging per mail.","solution":"Bij een directe opzegging gaat nu dezelfde bevestigingsmail uit als via de opzegflow â in de taal van de eigenaar, met de link om alsnog door te gaan."},{"num":"v20.00","type":"bugfix","title":"Succespagina belooft geen proefperiode meer als die er niet is","problem":"Na het aanmelden liet de bevestigingspagina altijd weten dat je proefperiode was gestart, ook als er meteen was afgeschreven en er dus helemaal geen proefperiode was.","solution":"De pagina laat nu zien dat je account actief is en verwijst voor de details naar de welkomstmail, zodat je nooit iets voorgespiegeld krijgt dat niet klopt."},{"num":"v19.99","type":"performance","title":"Snellere dashboardpagina's tijdens de onboarding","problem":"Zolang de onboarding-checklist liep, berekende het portaal bij elke paginaklik de voortgang opnieuw met tientallen databasevragen.","solution":"Die berekening wordt nu kort hergebruikt voor de zijbalk-voortgang (de Launchpad zelf blijft direct up-to-date), wat de databasedruk tijdens de onboarding fors verlaagt."},{"num":"v19.98","type":"bugfix","title":"Downloadfouten volledig in je eigen taal","problem":"Bij een onbekende fout in de video-downloaders (Instagram, YouTube, TikTok, LinkedIn, Snapchat) kregen Engelse, Duitse en Franse gebruikers soms nog een ruwe Nederlandse servertekst te zien.","solution":"Onbekende fouten tonen nu een nette, vertaalde melding in de taal van de gebruiker in plaats van de ruwe servertekst."},{"num":"v19.97","type":"security","title":"Geen technische foutdetails meer in nog eens elf routes","problem":"Een verdere reeks routes (o.a. e-mail versturen, Canva-designs, agenda-events, demo-herstel) gaf bij een fout soms de ruwe technische foutmelding door, wat interne systeemdetails kon prijsgeven.","solution":"Die routes tonen nu een nette, algemene melding; herkenbare database-/systeeminterne teksten worden weggefilterd en alleen server-side gelogd. Het interne diagnose-scherm voor bookings blijft bewust de volledige fout tonen."}]},{"date":"2026-07-30","version":"v19.96","clV":"v0.757","title":"Veel meer iconen voor je klanten","items":[{"num":"v19.96","type":"polish","title":"Klant-iconenkiezer flink uitgebreid","problem":"De iconenkiezer bij het aanmaken/bewerken van een klant had een beperkte set, waardoor veel branches (horeca, retail, zorg, bouw, beautyâ¦) geen passend icoon hadden.","solution":"Ruim 180 nieuwe iconen toegevoegd, gegroepeerd per branche â van horeca en retail tot zorg, sport, bouw en creatief. De kiezer toont nu twee rijen en scrollt soepel door de rest."},{"num":"v19.95","type":"bugfix","title":"Verminkte tekens in andere talen hersteld (é, ü, ç, Ã, ⦠en â)","problem":"Door een fout bij een recente taal-update werden bijzondere tekens in het hele portaal verkeerd weergegeven: accenten en leestekens verschenen als onleesbare tekens, in alle vier de talen. Zelfs de vlaggetjes bij de taalkeuze waren stuk.","solution":"Alle teksten in de vier talen (Nederlands, Engels, Duits, Frans) zijn hersteld naar de juiste, originele tekst â meer dan 9.000 teksten gecontroleerd en in orde bevonden. Het portaal toont weer overal nette tekens."},{"num":"v19.94","type":"bugfix","title":"Tweede herstelronde: laatste verminkte tekens weg (o.a. het puntje tussen tellers en de taalvlaggen)","problem":"Een deel van de teksten was twee keer door de coderingsfout geraakt. De eerste herstelronde draaide de fout één keer terug, waardoor bij die teksten alsnog rare reeksen zichtbaar bleven â zoals \"÷\" tussen tellers en kapotte vlaggetjes in de taalkiezer.","solution":"Alle resterende teksten (ruim 3.000 regels) zijn met een herhalende herstel-pass teruggebracht naar de correcte tekens, tot er niets verminkt meer over was. Puntjes, gedachtestreepjes, accenten, emoji en vlaggen kloppen nu overal weer."}]}
2,{"date":"2026-07-29","version":"v19.93","clV":"v0.754","title":"Klant-icoon: ruim 100 branche-iconen om uit te kiezen","items":[{"num":"v19.93","type":"feature","title":"Veel meer klant-iconen, gegroepeerd per branche","problem":"Bij het kiezen van een icoon voor een klant had je maar 18 opties, waardoor veel branches (horeca, retail, bouw, tech, transport, zorg, onderwijs, financieel, ...) geen passend icoon hadden.","solution":"De iconen-kiezer bevat nu bijna 150 iconen, geordend per branche. Het lijstje toont zoals voorheen twee rijen en de rest scrollt eronder door, dus het blijft compact."},{"num":"v19.92","type":"polish","title":"Laad-skeletons netjes op mobiel","problem":"De grijze laad-blokken die je kort ziet terwijl een pagina inlaadt, hielden op smalle schermen hun brede desktop-indeling aan: meerkoloms rijen werden samengeperst en brede tabellen duwden de pagina zijwaarts.","solution":"De skeletons stappen nu onder 640px netjes over naar één kolom (of horizontaal schuivende tabel). Geldt o.a. voor de tool-detailpaginaâs, admin-lijsten, commissie-, affiliate- en workflow-overzichten."},{"num":"v19.91","type":"polish","title":"Aanmelden: geen \"voor hoeveel klanten?\" meer voor content creators en in-house marketeers","problem":"De aanmeld-quiz vroeg eerst je rol, maar het formulier daarna toonde iedereen de klanten-slider (\"voor hoeveel klanten?\"). Voor een content creator of in-house marketeer â die per definitie geen klanten beheren â was dat verwarrend.","solution":"Kies je een rol zonder klanten, dan verdwijnt de klanten-slider en zie je direct het solo-abonnement. Rollen mét klanten (bureau, social media manager, freelancer) houden de slider gewoon."},{"num":"v19.90","type":"bugfix","title":"Content naar Contentplanner komt nu altijd als JPG binnen (geen PNG meer)","problem":"Bij \"Stuur naar Contentplanner\" werd de foto van elke pagina als tijdelijke Canva-link doorgegeven. Daardoor kwam de afbeelding soms als PNG binnen â en TikTok weigert PNG als post, waardoor die posts niet konden publiceren.","solution":"De foto wordt nu eerst als échte JPG opgeslagen op onze eigen opslag en pas dan doorgezet naar de Contentplanner. Zo is het formaat altijd JPG (met correcte image/jpeg-header), accepteert TikTok de post, en breekt de link niet meer bij ver-vooruit ingeplande posts."},{"num":"v19.89","type":"bugfix","title":"Dashboard-taken met meerdere klanten: nu één regel i.p.v. los per klant","problem":"Een taak die aan meerdere klanten gekoppeld is, verscheen in de takenlijst netjes als één taak, maar in de \"Aankomende deadlines\"-widget op het dashboard stond die los per klant.","solution":"De deadline-widget groepeert taken nu op dezelfde manier als de takenlijst: één taak = één regel. Bij meerdere klanten toont de regel de taaktitel met de klanten als chips eronder; bij één klant blijft alles precies zoals het was."}]},{"date":"2026-07-28","version":"v19.88","clV":"v0.753","title":"Mobiel: takenlijst en Academy-startkaart netjes leesbaar","items":[{"num":"v19.88","type":"bugfix","title":"Takenlijst op mobiel: labels overlappen niet meer","problem":"In de lijst-weergave op je telefoon vielen de klantnaam, de deadline-badge (\"Verlopen 1d\" / \"Vandaag 15:00\") en de status (\"In uitvoering\") bovenop elkaar, waardoor ze onleesbaar werden.","solution":"Elke taakkaart heeft nu een vaste indeling op mobiel: titel met de actie-knoppen rechtsboven, en daaronder klant, deadline en status netjes naast elkaar die vanzelf doorlopen naar een volgende regel."},{"num":"v19.87","type":"polish","title":"Academy-startkaart \"Verder waar je gebleven was\" leest weer normaal op mobiel","problem":"De titel van de vervolgles brak op smalle schermen woord-voor-woord af tot een smalle kolom, en de \"Verder lezen\"-knop lag half over de tekst.","solution":"De kaart stapelt nu verticaal op mobiel: de titel gebruikt de volle breedte, het rondje-icoon is een klein hoekje geworden en de \"Verder lezen\"-knop staat als volle knop onder de tekst."},{"num":"v19.86","type":"bugfix","title":"Meetings-kalender: tijden zichtbaar tot in de avond en geen lege lijnen meer","problem":"In de week- en dagweergave stopten de tijd-labels na 17:00, terwijl de kolom-lijnen daaronder gewoon doorliepen in een leeg vlak â vooral op mobiel leek het alsof de tijden verdwenen.","solution":"Het raster eindigt nu netjes op het laatste uur â geen doorlopende lege lijnen en op mobiel geen leeg wit vlak meer onder de kalender â en het standaard zichtbare dagvenster loopt van 08:00 tot 22:00, zodat ook avondtijden zichtbaar en planbaar zijn."},{"num":"v19.85","type":"polish","title":"E-mail past zich nu aan dark mode aan, net als Gmail","problem":"Een geopende HTML-mail toonde in dark mode een fel wit vlak: de mail bepaalt zelf zijn achtergrond (facturen en nieuwsbrieven zijn voor wit ontworpen), en dat wit stak hard af tegen de donkere omgeving.","solution":"In dark mode wordt de mailinhoud nu automatisch omgezet naar een donkere weergave â precies zoals Gmail dit doet: lichte achtergronden worden donker, tekst wordt licht, en fotoâs blijven gewoon in kleur. In light mode blijft de mail wit zoals bedoeld."},{"num":"v19.84","type":"bugfix","title":"Klantprofiel opent weer netjes bovenaan","problem":"Als je vanuit de klantenlijst op een klant klikte, opende het profiel soms halverwege de pagina in plaats van bovenaan â je moest handmatig omhoog scrollen naar de klantnaam en tabs.","solution":"Twee oorzaken aangepakt: een globale smooth-scroll animeerde de automatische sprong-naar-boven (weggehaald), en de laad-skeleton was korter dan de uiteindelijke pagina w
2aardoor de scroll onderweg bleef hangen. Het klantprofiel scrollt nu bij openen altijd direct naar boven."}]},{"date":"2026-07-27","version":"v19.83","clV":"v0.752","title":"Portaal-brede bugfix- en beveiligingsronde","items":[{"num":"v19.83","type":"polish","title":"\"Nieuw\"-label bij tools verdwijnt nu vanzelf na 30 dagen","problem":"Het \"Nieuw\"-label bij tools werd handmatig aan- en uitgezet. Daardoor bleef het bij tools staan die al maanden bestonden, waardoor het label z'n betekenis verloor.","solution":"Elk tool heeft nu een vaste lanceerdatum en het \"Nieuw\"-label toont automatisch de eerste 30 dagen daarna â daarna dooft het vanzelf. Zo klopt het label weer: alleen echt nieuwe tools zijn gemarkeerd."},{"num":"v19.82","type":"polish","title":"Bevestigingen en meldingen door het hele portaal nu in de huisstijl","problem":"Op tientallen plekken â facturen, taken, meetings, CRM, integraties, e-mailcampagnes, je profiel en meer â verscheen bij acties als verwijderen nog het kale grijze systeem-venster van je browser, met losse foutmeldingen als aparte popups.","solution":"Al die vragen en meldingen zijn omgezet naar het nette in-app venster en de meldingsbalk in de Senly-huisstijl, met een duidelijke rode knop bij verwijderacties. Overal in het portaal nu hetzelfde, herkenbare gedrag."},{"num":"v19.81","type":"feature","title":"Directe melding als je internetverbinding wegvalt","problem":"Viel je wifi of verbinding weg terwijl je in het portaal werkte, dan merkte je dat pas als een actie mislukte of als je naar een andere pagina ging â er was geen directe waarschuwing.","solution":"Bovenaan verschijnt nu meteen een nette melding \"Geen internetverbinding\" zodra je offline raakt, en een korte \"Weer verbonden\"-bevestiging als de verbinding terug is. Volledig in de Senly-huisstijl, in alle talen."},{"num":"v19.80","type":"polish","title":"Laad-skeletons volgen nu op elke pagina de echte indeling","problem":"Tijdens het laden lieten veel pagina's een generieke placeholder zien die niet op de uiteindelijke pagina leek â de grijze blokken stonden op andere plekken en hadden andere maten dan de content die daarna verscheen, wat een \"sprong\" gaf bij het inladen.","solution":"Vrijwel het hele portaal heeft nu per pagina een eigen laad-skeleton die de echte indeling én de echte maten spiegelt: de tools (store én alle tool-pagina's), het beheer, de Academy, je profiel, launchpad, onboarding, affiliate, je commissie, de engagement-pod en de partner-pagina's. De skeletons hergebruiken de echte layout, dus de blokken staan precies waar de content komt te staan."},{"num":"v19.79","type":"bugfix","title":"Facturen en offertes: geadresseerde en status blijven kloppen","problem":"Bij een factuur aan een factuur-klant kon de geadresseerde (naam, adres, KvK, BTW) wegvallen bij versturen of dupliceren, en een al geaccepteerde of omgezette offerte kon per ongeluk terug naar \"verstuurd\" gezet worden.","solution":"Versturen en dupliceren behouden nu altijd de vastgelegde geadresseerde, en een al afgehandelde offerte kan niet meer opnieuw verstuurd of teruggezet worden."},{"num":"v19.78","type":"bugfix","title":"Betalingsherinneringen volgen nu de taal van de factuur","problem":"Automatische herinneringen waren altijd in het Nederlands, ook voor Engelse, Duitse of Franse facturen, en de vervaldatum stond soms in het verkeerde formaat.","solution":"De standaard-herinneringstekst en de datums volgen nu de taal van de factuur (NL, EN, DE of FR)."},{"num":"v19.77","type":"bugfix","title":"Contracten: nettere tekst en betrouwbaarder versturen","problem":"Automatische contracten lieten soms ruwe {{plaatshouders}} staan, de ondertekendatum stond in de servertijd in plaats van jouw tijdzone, en het opnieuw versturen van een verlopen contract mailde een link die al verlopen was.","solution":"Eigen template-variabelen worden nu ingevuld, datum en tijd tonen de juiste tijdzone, en opnieuw versturen verlengt automatisch de ondertekenlink."},{"num":"v19.76","type":"bugfix","title":"Meetings: onboekbare tijden, handmatige boeking en externe agenda","problem":"Bij sommige afspraaktypes (bijvoorbeeld 45 minuten) werden alle geldige tijden geweigerd, een handmatige boeking vanuit het dashboard liep tegen de limieten voor publieke bezoekers aan, en het verwijderen van een gekoppeld agenda-item mislukte.","solution":"De tijdslot-controle klopt nu voor elke duur, handmatige boekingen door de host slaan de bezoeker-limieten over, en externe agenda-items worden weer correct verwijderd."},{"num":"v19.75","type":"bugfix","title":"Content-kalender: posts naar X en tijden aan de rand van de dag","problem":"Een post naar X (Twitter) plannen mislukte, en posts vroeg of laat op de dag verdwenen uit de weekweergave.","solution":"X-posts worden nu geaccepteerd en alle geplande posts blijven z
2ichtbaar in de weekweergave."},{"num":"v19.74","type":"bugfix","title":"E-mail: campagne-ontvangers, \"markeer als ongelezen\" en Gmail-scrollen","problem":"Bij het bewerken van een concept-campagne verdwenen de ontvangers en werden ze bij opslaan gewist, \"markeer als ongelezen\" markeerde mails juist als gelezen, en Gmail-inboxen bleven op de eerste ongeveer 50 mails hangen.","solution":"Ontvangers blijven nu behouden, \"markeer als ongelezen\" werkt echt op de server, je kunt door je hele Gmail-inbox scrollen, en een campagne kan niet meer dubbel verzonden worden."},{"num":"v19.73","type":"bugfix","title":"AI-tools: juiste taal en betrouwbaardere resultaten","problem":"Een gekozen content-idee genereerde soms tekst voor het vorige onderwerp, downloaders lieten na een fout het oude resultaat staan, de trend-radar liet de uitleg weg, en trends werden altijd naar het Nederlands vertaald.","solution":"Content-generatie gebruikt nu direct het gekozen idee, foutmeldingen wissen het oude resultaat, trend-kaarten tonen de volledige uitleg, en trends blijven in de brontaal."},{"num":"v19.72","type":"security","title":"Strengere afscherming van klant- en teamgegevens","problem":"Op enkele plekken waren gegevens en acties ruimer toegankelijk dan bedoeld, waaronder een overzicht dat over bureaus heen keek en klant- en Canva-acties die openstonden voor sales-rollen.","solution":"De toegang is aangescherpt zodat gegevens en kosten-dragende acties alleen beschikbaar zijn voor de juiste rollen binnen het eigen bureau."},{"num":"v19.71","type":"bugfix","title":"Partner en affiliate: correcte bedragen en land-BTW","problem":"De partner-analytics-pagina kon vastlopen bij een niet-rond bedrag, het aanmaken van een partner-klant kon een bestaand account met hetzelfde e-mailadres raken, en een ingetypte landnaam werd afgekapt tot twee letters, met een verkeerde BTW-behandeling tot gevolg.","solution":"Bedragen worden nu correct getoond, bestaande accounts blijven ongemoeid, en het land wordt netjes naar de juiste landcode omgezet."},{"num":"v19.70","type":"bugfix","title":"Abonnement, commissie en dashboards: juiste bedragen en tijden","problem":"De abonnementspagina toonde bij een aangepast of gratis tarief het reguliere bedrag, geldbedragen verloren soms de centen, commissies liepen door voor gepauzeerde klanten, en tellers voor vandaag, deze week en deze maand klopten niet rond middernacht.","solution":"Aangepaste tarieven, centen, het stoppen van commissies en de dag-, week- en maandtellers kloppen nu."},{"num":"v19.69","type":"bugfix","title":"Taken en gebruikers: juiste rechten en veilig verwijderen","problem":"Via bulk-acties kon een teamlid taken van collega's aanpassen, een teamlid zonder GHL-koppeling kon zijn eigen taak niet afronden, en het verwijderen van een bureau-gebruiker kon misgaan.","solution":"Bulk-taakacties respecteren nu dezelfde rechten als losse acties, je eigen taken zijn altijd te beheren, en een gebruiker verwijderen gebeurt veilig met behoud van de historie."},{"num":"v19.68","type":"performance","title":"Snellere en stabielere overzichten bij veel data","problem":"Enkele overzichten en achtergrondtaken (CRM-rapport, geplande workflows, aanmelden) haalden onbegrensd data op of konden bij grote bureaus haperen of op het verkeerde moment draaien.","solution":"Deze queries zijn begrensd en gepagineerd, en geplande workflows vuren nu op het juiste tijdstip."},{"num":"v19.67","type":"polish","title":"Meer schermen volledig viertalig (EN/DE/FR)","problem":"Op verspreide plekken stond nog vaste Nederlandse tekst die gebruikers in het Engels, Duits of Frans onvertaald te zien kregen â onder meer de launchpad-voortgang, de CRM-bulkbalk, de partner-koppelpagina, activiteit-labels en enkele tools.","solution":"Deze teksten volgen nu de taal van je account."},{"num":"v19.66","type":"bugfix","title":"Kleine correctheidsfixes in CRM, agenda en dashboards","problem":"De CRM-rapportagetab kon leeg crashen bij een serverfout, de bord-detectie van gewonnen/verloren leads matchte te ruim, de eerstvolgende-vrije-tijd-zoeker hield geen rekening met zomert
2ijd, en enkele dag-, week- en maandtellers rekenden in servertijd in plaats van jouw tijdzone.","solution":"De rapportagetab, de leadstatus-detectie, de beschikbaarheids-zoeker en de tijdzone-tellers kloppen nu. Ook accepteert het aanmaken van een teamlid alleen nog bureau-toewijsbare rollen."},{"num":"v19.65","type":"polish","title":"Foutmeldingen tonen nu de exacte fout zodat we sneller kunnen helpen","problem":"Bij een fout kreeg je soms alleen een vage \"er ging iets mis\", of het kale grijze systeem-venster van je browser. Handig om te weten dát er iets mis was, maar niet wát â waardoor een screenshot ons weinig vertelde.","solution":"Fouten verschijnen nu als nette in-app melding in de huisstijl mét de concrete foutdetails erbij, en die melding blijft staan tot je 'm wegklikt. Zo kun je een screenshot sturen waarmee we meteen zien wat en waar het misging. Crash-pagina's tonen bovendien een fout-ID dat aan onze logs gekoppeld is."},{"num":"v19.64","type":"bugfix","title":"Knoptekst weer wit op teal-knoppen in lichte modus","problem":"Op sommige knoppen met een teal achtergrond (onder meer de 'Ga terug'-knop op de 404-pagina) werd de tekst in de lichte modus zwart in plaats van wit â de automatische kleurbepaling koos net verkeerd bij het petrol-teal van de huisstijl.","solution":"De automatische wit/zwart-tekstbepaling op accentkleuren is bijgesteld zodat teal-knoppen weer witte tekst krijgen, passend bij de rest van de huisstijl. De felle mint-accenten in de donkere modus houden hun donkere tekst."},{"num":"v19.63","type":"bugfix","title":"Changelog volgt nu je portaal-thema (dark blijft dark)","problem":"Wie het portaal in de donkere modus gebruikte, kwam op de changelog toch in de lichte modus terecht: een eerdere klik op de licht/donker-knop op die pagina werd permanent onthouden en won daarna altijd van je portaal-thema.","solution":"De changelog neemt nu bij elk bezoek gewoon het thema van je portaal over â sta je in dark, dan opent de changelog ook in dark. De knop rechtsboven blijft werken om binnen dat bezoek tijdelijk te wisselen, maar wijkt niet langer blijvend af."},{"num":"v19.62","type":"feature","title":"Spring van een klant of teamlid direct naar hun taken","problem":"Takenbeheer stond los van de rest: je kon niet vanaf een klant naar diens taken springen, en de werklast-blokjes per teamlid waren niet aanklikbaar. Om de taken van één klant of collega te bekijken moest je handmatig zoeken of filteren.","solution":"Op het klantprofiel staat nu een \"Takenbeheer â\"-link die je direct de taken van dÃé klant toont. En in de workload-strip zijn de teamlid-blokjes nu klikbaar â één klik filtert takenbeheer op die persoon. Bovenaan verschijnt dan een balkje \"Taken van â¦\" met een knop om weer alle taken te tonen."},{"num":"v19.61","type":"security","title":"Dossier-grendel steviger per bureau gebonden","problem":"De ontgrendeling van het beveiligde klantdossier was niet aan je bureau gekoppeld, waardoor die in theorie breder gold dan bedoeld.","solution":"De ontgrendeling is nu per bureau ondertekend en niet meer overdraagbaar. Gevolg: je voert het dossier-wachtwoord na deze update eenmalig opnieuw in."},{"num":"v19.60","type":"feature","title":"Onboarding-kaart linkt nu door naar de klant en kalender","problem":"Het onboarding-bord was een eiland: je kon een kaart aan een bestaande klant koppelen noch vanaf de kaart doorspringen naar het klantprofiel of de contentkalender. Na het afronden van de onboarding moest je de klant handmatig opnieuw opzoeken.","solution":"In een onboarding-kaart kun je nu een bestaande klant koppelen (\"Koppel aan klant\"). Zodra dat is gedaan, tonen de kaarten twee snelkoppelingen â \"Klant â\" naar het klantprofiel en \"Kalender â\" naar de contentkalender van die klant. Zo loopt de overgang van onboarding naar de dagelijkse werkzaamheden vloeiend door."},{"num":"v19.59","type":"feature","title":"E-mail en klantprofiel nu aan elkaar gekoppeld","problem":"De inbox en het klantprofiel stonden los van elkaar. Vanaf een klant kon je niet in één klik naar diens e-mailgesprekken, en als je in de inbox op een klant filterde was er geen sprong terug naar het klantdossier.","solution":"Op het klantprofiel staat nu een \"E-mail\"-kaart die de inbox direct opent, gefilterd op dÃé klant. En als je in de inbox op een klant filtert, is de klantnaam bovenaan nu een link terug naar het klantprofiel. Zo wissel je vlot tussen een gesprek en het dossier."},{"num":"v19.58","type":"feature","title":"Van klant direct naar zijn facturen","problem":"Op het klantprofiel zag je alleen een financieel samenvattinkje; om de facturen van dÃé klant te bekijken moest je naar Financieel en handmatig zoeken. De facturenlijst kon bovendien niet op één klant worden gefilterd.","solution":"Het financieel-blok op het klantprofiel heeft nu een \"Facturen â\"-link die de facturenlijst opent, direct gefilterd op deze klant. Bovenaan verschijnt dan een balkje \"Facturen van â¦\" met een knop om weer alle facturen te tonen."}]},{"date":"2026-07-26","version":"v19.57","clV":"v0.751","title":"Zie de Academy-voortgang van je team","items":[{"num":"v19.57","type":"infra","title":"Eén gedeelde knop-component voor het hele portaal","problem":"Elk onderdeel van het portaal had zijn eigen knopstijl, waardoor dezelfde actie er per scherm net anders uitzag â de grootste oorzaak van het gevoel dat je met losse tools werkt in plaats van één samenhangend portaal.","solution":"Er is nu één gedeelde knop die overal dezelfde vorm, kleur en gedrag geeft, in zowel de lichte als de donkere modus. De toets-pagina in de Academy is als eerste omgezet; de rest van het portaal volgt stap voor stap."},{"num":"v19.56","type":"polish","title":"Bevestigingen (\"Weet je het zeker?\") nu in de Senly-huisstijl","problem":"Bij acties als verwijderen verscheen het kale grijze systeem-venster van je browser â dat er op elke computer anders uitzag en niet bij Senly paste.","solution":"Die vragen verschijnen nu in een net in-app venster in de huisstijl, met een duidelijke rode knop bij verwijderacties. De CRM-contacten zijn als eerste omgezet; de rest volgt."},{"num":"v19.55","type":"infra","title":"Eén gedeelde paginakop voor het hele portaal","solution":"Naast de knop en het bevestigingsvenster is er nu ook één gedeelde kop-component (titel, subregel, icoon en acties), zodat elke pagina er van bovenaf hetzelfde uitziet. De eerste pagina's zijn omgezet; de rest volgt stap voor stap."},{"num":"v19.54","type":"bugfix","title":"Knoppen die naar een pagina linken kregen op de toets-pagina witte tekst bij hover","problem":"De nieuwe gedeelde knop erfde als link per ongeluk de algemene linkkleur, waardoor de tekst van bijvoorbeeld \"Bekijk je certificaat\" wit werd zodra je erop ging staan.","solution":"De knop negeert die algemene linkstijl nu, dus link-knoppen zien er in rust én bij hover exact hetzelfde uit als gewone knoppen."},{"num":"v19.53","type":"feature","title":"Team-voortgang in de Academy: wie welke onderdelen heeft behaald","problem":"Als bureau-eigenaar kon je niet zien hoe je team ervoor stond in de Academy â of collega's lessen volgden en certificaten haalden bleef onzichtbaar.","solution":"Onder Statistieken ⺠Team staat nu \"Academy-voortgang\": per teamlid hoeveel lessen gelezen, hoeveel onderdelen behaald en of iemand Senly Certified is, met bovenaan hoeveel van je team het volledige certificaat heeft. Alleen zichtbaar voor bureau-admins."},{"num":"v19.52","type":"bugfix","title":"Beheerinstellingen nu bereikbaar voor teamleden met de juiste rechten","problem":"Teamleden met een eigen rol die bijvoorbeeld integraties, contracten of huisstijl mochten beheren, zagen het beheer-tandwiel niet en konden die pagina's op desktop niet openen â alleen echte admins kregen de ingang.","solution":"Het beheer-tandwiel (en de instellingen-groep in het mobiele menu) verschijnt nu zodra je minstens één beheer-onderdeel mag zien op basis van je rechten, niet alleen als je admin bent. Wie geen beheerrechten heeft, ziet de knop n
2og steeds niet."},{"num":"v19.51","type":"performance","title":"Sneller dashboard en betrouwbaardere bulkacties bij veel klanten","problem":"Bureaus met tientallen tot honderden klanten merkten dat het dashboard trager laadde en dat grote bulkacties (veel taken tegelijk afvinken of verwijderen, of cijfers over veel klanten aanpassen) lang duurden en soms halverwege afbraken.","solution":"Het dashboard laadt nu alleen nog de gegevens die de klantkaarten ook echt tonen, en berekent de tellingen in één keer. De klantenlijst bouwt zich op in groepjes terwijl je scrollt, en bulkacties lopen nu gelijktijdig in plaats van één voor één, zodat ze sneller klaar zijn en niet meer vastlopen bij grote aantallen. Nieuw: een zoekveld om op naam, klantnummer of branche te filteren."},{"num":"v19.50","type":"feature","title":"Snelzoeken (Cmd/Ctrl + K) vindt nu al je tools en instellingen","problem":"Het snelzoek-venster kende maar een handvol pagina's â geen enkele van de 50+ tools en veel beheerpagina's waren erin te vinden. Je moest ze via de menu's opsporen.","solution":"Cmd/Ctrl + K doorzoekt nu al je tools, de Academy, de engagement-pod, je commissie én de beheer- en instellingenpagina's waar je rechten voor hebt. Typ 'factuur' of 'caption' en spring er direct heen. Alles blijft gefilterd op je rol en rechten."},{"num":"v19.49","type":"bugfix","title":"Placeholder \"Zoeken...\" weer leesbaar in het klant-zoekveld","problem":"Het nieuwe zoekveld boven de klantenlijst leek leeg: de placeholder-tekst \"Zoeken...\" was door een verkeerde kleurverwijzing bijna zwart op de donkere balk en dus onzichtbaar.","solution":"De placeholder gebruikt nu de juiste tekstkleur en is weer goed leesbaar in zowel de donkere als de lichte modus."},{"num":"v19.48","type":"polish","title":"Tool in juiste categorie + support-chat kent meer functies","solution":"De tool \"JPG & PNG naar PDF\" stond per ongeluk onder \"Schrijven & ideeën\" en staat nu bij \"Media bewerking\", waar hij thuishoort. Daarnaast kent de support-chat (Sanne) nu ook Google Insights (Analytics/Search Console/Bedrijfsprofiel in je dashboard), het vastleggen van klant-websites en de interne team-chat â zo geeft ze daar voortaan kloppende antwoorden over."},{"num":"v19.47","type":"performance","title":"Takenbeheer laadt sneller bij een lange takenhistorie","problem":"De takenpagina laadde bij elk bezoek de volledige geschiedenis van afgevinkte taken. Voor bureaus die al langer draaien werden dat er duizenden, waardoor de pagina traag werd.","solution":"Takenbeheer toont nu al je open taken plus de afgevinkte taken van de laatste 90 dagen. Oudere afgevinkte taken blijven bewaard in de database, maar worden niet meer standaard meegeladen â dat houdt de pagina snel, ook na een jaar werken. De tellingen van je open taken (Verlopen/Vandaag/Deze week) blijven ongewijzigd."},{"num":"v19.46","type":"polish","title":"Zijbalk scrollt nu als niet alle menu-items passen","problem":"Op kleinere schermen of bij veel menu-items vielen de onderste iconen in de zijbalk buiten beeld, zonder manier om erbij te komen.","solution":"De zijbalk scrollt nu verticaal wanneer niet alles past. Naast het muiswiel/trackpad kun je de balk ook vasthouden met de muis en omhoog/omlaag slepen om bij de verborgen items te komen. Past alles op je scherm, dan verandert er niets."},{"num":"v19.45","type":"bugfix","title":"Geen \"aandacht nodig\"-meldingen meer over demo-/testbureaus","problem":"Als white-label partner kon je een melding krijgen dat een demo- of testbureau \"nog niet had ingelogd\" en aandacht nodig had. Zo'n nep-bureau logt natuurlijk nooit in, dus die melding was altijd vals alarm.","solution":"De partner-alerts slaan demo- en testbureaus nu over, net als alle andere overzichten in het platform. Je krijgt alleen nog at-risk-meldingen over echte klantbureaus."},{"num":"v19.44","type":"feature","title":"Academy altijd binnen handbereik: op je profiel en in de header","problem":"De Senly Academy was vooral via de Launchpad te vinden â en die verdwijnt zodra je onboarding klaar is. Daarna was je leervoortgang en je weg naar Senly Certified lastig terug te vinden.","solution":"Op je profiel staat nu een Academy-kaart met je voortgang (behaalde onderdelen + balk) en een knop om verder te leren of je certificaten te bekijken. Daarnaast staat er een blijvende Academy-knop in de header, rechtsboven â die wordt goud zodra je Senly Certified bent. Zo vind je de Academy altijd terug, ook lang na je onboarding."},{"num":"v19.43","type":"polish","title":"Duidelijkere tool-namen","solution":"Een paar tool-namen waren verwarrend. \"Account check\" heet nu \"Instagram-account-check\" (dat is wat hij analyseert). \"Username checker\" en \"Username generator\" leken te veel op elkaar en heten nu \"Username beschikbaarheid\" (is een handle nog vrij?) en \"Username-ideeën\" (handles bedenken). En \"Bezwaren Library\" en \"Storingen checker\" zijn nu volledig Nederlands: \"Bezwaren-bibliotheek\" en \"Storingscheck\"."},{"num":"v19.42","type":"polish","title":"Laad-skeleton van het dashboard volgt nu de echte layout","problem":"Tijdens het laden van het dashboard zag je een generieke placeholder (een hero-balk met vier kaartjes en een grid) die niet op het echte dashboard leek â de blokken stonden op andere plekken en breedtes dan de content die daarna verscheen.","solution":"Het home-dashboard heeft nu een eigen laad-skeleton die de echte indeling spiegelt: de begroeting met de vier KPI-kaarten bovenaan en daaronder je widget-kaarten in dezelfde grid. De skeleton hergebruikt de echte layout, dus de blokken staan precies waar de content komt â geen sprong meer bij het inladen."},{"num":"v19.41","type":"polish","title":"Verfijndere verwijder-knop bij het aanpassen van je dashboard","problem":"In de dashboard-bewerkmodus was de \"widget verwijderen\"-knop een fel rood bolletje met witte rand en rode gloed â dat vloekte met de rustige, premium uitstraling van de rest van het dashboard.","solution":"De knop is nu een subtiele glazen icoon-knop die pas rood kleurt als je erover hovert (de waarschuwing verschijnt bij interactie, niet als opvallend bolletje in rust). Netjes afgestemd op zowel de donkere als de lichte modus."},{"num":"v19.40","type":"bugfix","title":"Gewonnen CRM-lead start nu de hele leverketen","problem":"Een via de verkooppijplijn gewonnen lead omzetten naar klant maakte alleen het klantprofiel en de commissie aan. Het startte geen onboarding- of terugkerende taken, telde niet mee voor de facturatie, en er werd geen automatisch contract verstuurd.","solution":"Lead-conversie start nu exact dezelfde acties als het handmatig toevoegen van een klant: je 'nieuwe klant'-taken, de facturatietelling en het automatische contract. De overdracht van verkoop naar levering loopt weer vanzelf door."}]},{"date":"2026-07-25","version":"v19.39","clV":"v0.749","title":"Zet je certificaat op LinkedIn","items":[{"num":"v19.39","type":"feature","title":"Certificaten deel je nu met één klik op je LinkedIn-profiel","problem":"Een behaald certificaat bleef binnen Senly; wie het op LinkedIn wilde zetten moest alles handmatig invullen, en een gedeelde certificaatlink toonde een kale preview.","solution":"Op je certificaatpagina staat nu een \"Voeg toe aan LinkedIn-profiel\"-knop die het LinkedIn-formulier volledig voorinvult: naam van het certificaat, datum, de verificatielink én de officiële Senly-bedrijfspagina als uitgever â met logo en klikbare link op je profiel. De gedeelde link toont bovendien een share-afbeelding van het certificaat zelf, in oorkonde-stijl, met goud voor het Senly Certified-eindcertificaat."},{"num":"v19.38","type":"polish","title":"Certificaat in liggend diploma-formaat","solution":"Het certificaat is nu een breed, liggend document zoals een echt diploma, in plaats van een hoog vierkant."},{"num":"v19.37","type":"polish","title":"Het echte Senly-logo op het certificaat","solution":"De voet van het certificaat draagt nu de officiële logo-lockup â het S-merk op volle grootte naast het woordmerk â in plaats van een piepklein los S-icoontje."},{"num":"v19.36","type":"feature","title":"De toets vernieuwd: score-historie en je antwoorden teruglezen","problem":"De toets-pagina had nog de oude vormgeving, toonde geen eerdere pogingen, en wie al geslaagd was kreeg bij terugkomst gewoon een lege toets â antwoorden nakijken kon niet.","solution":"De toets staat nu in dezelfde rustige stijl als de rest van de Academy, met een voortgangsbalkje tijdens het invullen en een duidelijk resultaatmoment met score-boog en uitleg per vraag. On
2deraan zie je je eerdere pogingen met scores, en ben je al geslaagd, dan opent de pagina voortaan met je antwoorden van de geslaagde poging â inclusief de uitleg â met je certificaat binnen handbereik."},{"num":"v19.35","type":"polish","title":"Supportchat kent nu ook de Academy, de Ads-bibliotheek en de Engagement-pod","solution":"Vraag de chat gerust naar certificaten, de QR-echtheidscontrole, LinkedIn-delen, concurrent-advertenties of de pod â de antwoorden kloppen nu met wat er echt in het platform zit."},{"num":"v19.34","type":"feature","title":"Felicitatiemail bij elk nieuw certificaat, met LinkedIn-knop","problem":"Wie een toets haalde zag het certificaat alleen als hij toevallig op de certificaatpagina keek â daarna verdween het moment.","solution":"Haal je voor het eerst een toets, dan valt er automatisch een felicitatiemail in je inbox (in je eigen taal) met je score, een knop naar je certificaat en een \"Zet op je LinkedIn-profiel\"-knop met het formulier al ingevuld. Word je Senly Certified, dan krijgt dat grotere moment zijn eigen mail."}]},{"date":"2026-07-24","version":"v19.33","clV":"v0.747","title":"Slimmere Launchpad-kaart en een volledig vernieuwde Academy-ervaring","items":[{"num":"v19.33","type":"polish","title":"De \"Wat is nieuw?\"-kaart op je Launchpad toont nu automatisch de nieuwste update","problem":"De kaart bevatte een vaste, handmatig ingestelde tip die niet meebewoog met nieuwe functies.","solution":"De kaart pikt nu automatisch de nieuwste functie uit onze changelog op â in jouw taal â en linkt door naar het volledige overzicht."},{"num":"v19.32","type":"polish","title":"Academy-overzicht: rustigere hero en huisstijl-consistent voltooid-vinkje","problem":"De hero was net iets te groen en het \"voltooid\"-vinkje gebruikte een afwijkend groen dat niet bij de rest van de pagina paste.","solution":"De hero-tinten zijn getemperd en het vinkje volgt nu dezelfde petrol/teal-huisstijl als de knoppen en de voortgangsring."},{"num":"v19.31","type":"polish","title":"Academy: onderdeel- en lespagina volledig vernieuwd in premium stijl","problem":"De lessenlijst en de lespagina waren functioneel maar kaal: platte lijsten zonder voortgangsgevoel of context over waar je bent in de cursus.","solution":"Beide schermen zijn herbouwd: een hero met illustratie en voortgangsring, een tijdlijn-lessenlijst die je actieve les uitlicht, en een zijbalk met je voortgang, volgende badge, mijlpalen en hulpbronnen. Op de lespagina zie je nu ook je locatie in de cursus en spring je direct naar elke les â alles viertalig en ook in light-mode en op mobiel."},{"num":"v19.30","type":"polish","title":"Academy: bredere indeling en een rustiger, minder drukke vormgeving","problem":"De nieuwe onderdeel- en lespagina stonden in een smallere kolom dan de rest van de Academy, en het overzicht leunde zwaar op glow-effecten, gradiënt-tekst en rasterpatronen.","solution":"De detailpagina gebruikt nu dezelfde volledige breedte als het overzicht, en het overzicht is visueel gekalmeerd: effen huisstijlkleuren en zachte schaduwen in plaats van neon-gloed."},{"num":"v19.29","type":"polish","title":"Academy-overzicht opgeruimd: gewone paginakop en minder herhaling","problem":"Het overzicht opende met een grote promo-banner met dubbele knoppen, elk kaartje droeg een \"Nog niet gestart\"-label en de zijbalk toonde een lange lijst met lege voortgangsbalken.","solution":"De pagina begint nu met een gewone titel zoals de rest van het portaal. Labels staan alleen nog waar ze iets betekenen (Bezig, Behaald, Binnenkort), de zijbalk toont maximaal drie relevante onderdelen en lege balken zijn verdwenen."},{"num":"v19.28","type":"feature","title":"De Academy is nu een leerroute: kies links een onderdeel, zie rechts alle lessen","problem":"Twintig onderdelen als losse k
2aarten naast en onder elkaar maakten het overzicht onoverzichtelijk, en certificaten vormden een tweede muur van kaarten.","solution":"Het overzicht is een gids geworden. Bovenaan staat altijd jouw volgende stap. Links staan de onderdelen genummerd in vier groepen; klik een onderdeel en rechts verschijnt de volledige leslijst. Onderaan vervangt één leerspoor met mijlpalen en een zegel de certificatenmuur â behaalde certificaten open je in een detailvenster."},{"num":"v19.27","type":"polish","title":"Info-knopjes op mobiel weer rond in plaats van ei-vormig","problem":"De (i)-knop naast pagina-titels rekte op touch-devices verticaal uit tot een ei-vorm â een globale tap-target-regel drukte de hoogte naar 40px terwijl de knop 28px breed bleef.","solution":"De info-knop heeft nu een expliciete hoogte, dus de touch-regel raakt 'm niet meer. Overal in het portaal (Launchpad, CRM, Instellingen, Profiel, Affiliate, Takenbeheer, Onboarding, Commissie, Roles, Social Accounts) weer een perfecte cirkel."},{"num":"v19.26","type":"polish","title":"Trends: datum- en export-knop op mobiel niet meer tegen de rechterrand","problem":"Op mobiel hingen de twee knoppen bovenaan /trends helemaal rechts met een grote lege ruimte links â de titel/badge was daar bewust weggehaald maar de rechts-uitlijning was blijven staan.","solution":"Onder 640px lijnen de knoppen nu links uit; op desktop blijft alles zoals het was."},{"num":"v19.25","type":"polish","title":"Trends: platform-filters op mobiel als horizontale slider i.p.v. wrap","problem":"De filter-chips (Alle trends, Instagram, TikTok, LinkedIn, ...) braken op mobiel naar twee rijen naast elkaar, wat er onrustig uitzag.","solution":"Onder 640px zijn de chips één horizontale, veeg-baar strook die tot de schermrand doorloopt â de sorteer-knop blijft eronder staan."},{"num":"v19.24","type":"polish","title":"Trends: LinkedIn-icoontje getekend als de échte LinkedIn \"in\"-glyph","problem":"Op de blog-cards en filter-chips was de rechter-kolom van de \"n\" in het LinkedIn-icoon korter dan de linker, waardoor er rechts-boven een driehoekje ontstond dat op hoge-DPI mobiel als lichte streep opviel.","solution":"De path is vervangen door de officiële Simple Icons LinkedIn-glyph â symmetrisch, met een nette arch."},{"num":"v19.23","type":"polish","title":"Meetings: op mobiel nu even breed als Dashboard en Contentkalender","problem":"De Meetings-pagina zette op mobiel eigen zij-padding (20px) bovenop die van de portal-shell, waardoor de inhoud ~40px smaller was dan Dashboard en Contentkalender.","solution":"Onder 768px zet Meetings z'n eigen zij-padding op 0 â de shell levert de mobiele 16px. Zowel de agenda-tab als de Beschikbaarheid/Integraties/Branding-tabs gebruiken nu de volle breedte."},{"num":"v19.22","type":"polish","title":"Academy-overzicht: paginatitel weggehaald voor een schoner beeld","solution":"De pagina opent nu direct met je volgende stap; alleen de statusregel rechtsboven bleef staan."},{"num":"v19.21","type":"polish","title":"Meetings ⺠Beschikbaarheid: Tijdzone + Opslaan wrappen nu op mobiel","problem":"De rij \"Tijdzone [Europe/Amsterdam â] [Opslaan]\" was op mobiel ~370px breed, waardoor de Opslaan-knop rechts buiten beeld viel en je horizontaal moest swipen om erbij te komen.","solution":"Onder 768px stackt het label \"Tijdzone\" boven de select (full-width) en zit Opslaan op een eigen regel eronder â alles in één scherm zichtbaar, geen zij-scroll meer."},{"num":"v19.20","type":"polish","title":"Meetings-modals: op mobiel niet meer zijwaarts te swipen","problem":"\"Nieuwe kalender\" en andere Meeting-dialogen groeiden op mobiel breder dan het scherm â de hele modal was horizontaal te vegen. Kwam door flexbox's default min-content op de modal-child in combinatie met intrinsiek-brede kinderen (URL-slug-code, 2-koloms rij Duur/Kleur, Buffer voor/na).","solution":"Onder 768px: modal-backdrop scrollt verticaal i.p.v. te centreren, modal krijgt min-width:0 (mag krimpen), 2-koloms rijen stackken naar 1 kolom en het URL-voorbeeld mag afbreken. Modals passen nu netjes in de viewport."},{"num":"v19.19","type":"polish","title":"Certificaten zien er nu uit als een echte oorkonde, met een weg terug","problem":"De deelbare certificaatpagina w
2as een donkere app-kaart met een generieke titel \"Certificaat\" en zonder navigatie terug naar de Academy.","solution":"Het certificaat is een document geworden: crème papier met dubbele kaderlijn, guilloche-zegel, de echte onderdeel-naam als titel en je naam in klassieke oorkonde-typografie. Ingelogde kijkers krijgen een terug-link naar de Academy; wie het afdrukt of als PDF bewaart, krijgt alleen het document op wit."},{"num":"v19.18","type":"bugfix","title":"Info-knopjes op mobiel weer rond i.p.v. ei-vormig","problem":"Het informatie-knopje naast paginatitels was op mobiel verticaal uitgerekt tot een ei-vorm in plaats van een nette cirkel, door een algemene stijlregel voor knoppen op aanraakschermen die de eigen, kleinere afmeting overschreef.","solution":"De eigen, kleinere afmeting van het knopje is nu leidend op aanraakschermen. Het knopje is weer een strakke cirkel."},{"num":"v19.17","type":"feature","title":"E-mail: Gmail-achtige indeling op mobiel","problem":"De 3-koloms e-mail-client stapelde op mobiel alles onder elkaar â je scrollde eerst door de sidebar (compose-knop, alle mappen, alle inboxes, labels) vóór je überhaupt bij Postvak IN kwam. Niet werkbaar.","solution":"Onder 768px is het nu één zichtbare kolom tegelijk: standaard de threads-lijst met een hamburger linksboven, mappen/inboxes/labels openen als drawer vanaf links (met backdrop), en compose is een FAB rechtsonder. Tap op een mail opent de reader full-screen met een terug-pijl. Voelt nu als een echte mail-app op mobiel; desktop-indeling blijft ongewijzigd."},{"num":"v19.16","type":"polish","title":"Statistieken-tabs op mobiel als horizontale slider","problem":"De 4 tabs (Health check, Klanten, Team, Systeem) wrapten op mobiel â \"Systeem\" viel op een tweede regel.","solution":"Onder 760px scrollen de tabs nu horizontaal binnen de pil (scrollbar verborgen), zodat alle 4 op één regel staan en je zijwaarts kunt vegen."},{"num":"v19.15","type":"polish","title":"E-mail-drawer op mobiel: strakke hoeken en volledige hoogte","problem":"De net-uitgerolde mobiele mail-indeling had twee rimpelingen: de mappen-drawer had afgeronde hoeken linksboven/linksonder (overgeërfd van een shell-card), en de pagina eindigde halverwege met witte ruimte eronder.","solution":"Drawer krijgt expliciet border-radius:0 zodat de drawer strak tegen de viewport-rand staat, en de pagina-hoogte gebruikt nu 100dvh (dynamic viewport height, past mee als iOS de URL-balk hides/shows) i.p.v. een verkeerd getelde 100vh-buffer."},{"num":"v19.14","type":"polish","title":"Statistieken ⺠Team: \"Login activiteit\" toont nu écht laatste activiteit","problem":"De kaart telde alleen inlogmomenten. Een teamlid dat ingelogd bleef en dagelijks taken verplaatste, stond op '4 dagen geleden' â dat kwam niet overeen met wat er daadwerkelijk gebeurde.","solution":"De kaart heet nu 'Activiteit' en wordt bijgewerkt zodra iemand die dag iets doet in het portaal. Zolang iemand het portaal gebruikt staat die op 'vandaag', ook zonder opnieuw in te loggen."},{"num":"v19.13","type":"feature","title":"Certificaten met Senly-logo en scanbare echtheidscontrole","problem":"Een certificaat-afbeelding is makkelijk na te maken; er was geen manier om te bewijzen dat een gedeeld of geprint certificaat echt door Senly is uitgegeven. Ook opende het certificaat-venster op de Academy-pagina linksboven in beeld.","solution":"Elk certificaat draagt nu het Senly-logo en een QR-code die naar de officiële certificaatpagina op senly.io wijst â scannen is live verifiëren bij de bron, want een vervalsing heeft geen werkend verificatie-ID. Het certificaat-venster opent bovendien netjes gecentreerd."},{"num":"v19.12","type":"bugfix","title":"Academy: \"Ga verder\"-knop plakte tegen de certificaat-link aan","solution":"In het detailpaneel van een behaald onderdeel staan de knop en de \"Bekijk je certificaat\"-link nu netjes naast elkaar met vaste ruimte ertussen."},{"num":"v19.11","type":"feature","title":"E-mail op mobiel: swipe naar links om een mail te verwijderen","solution":"Zoals Gmail: veeg een mail-rij naar links en er verschijnt een rode achtergrond met een prullenbak-icoon. Laat je los voorbij ~80px dan animeert de rij van het scherm en gaat de mail naar de prullenbak; korter en de rij snapt terug. Verticaal scrollen blijft normaal werken (swipe wordt afgebroken zodra je meer op-en-neer beweegt dan zijwaarts)."}]}
2,{"date":"2026-07-23","version":"v19.10","clV":"v0.746","title":"Nieuw: Engagement-pod voor LinkedIn","items":[{"num":"v19.10","type":"feature","title":"Engagement-pod â boost samen elkaars LinkedIn-posts","problem":"Nieuwe LinkedIn-posts hebben in het eerste uur engagement nodig om bereik te krijgen, maar dat handmatig coördineren binnen een team is gedoe.","solution":"In de nieuwe Engagement-pod dien je je LinkedIn-postlink in; andere leden zien hem op hun board en liken of reageren zélf op LinkedIn (echte klik, geen bots). Senly regelt de coördinatie, notificaties en een eerlijkheids-ledger die bijhoudt wie geeft en wie krijgt â gulle leden komen bovenaan, meelifters zakken vanzelf. Bewust manueel en authentiek: geen automatische likes, geen detectie-omzeiling. Te vinden als kaart op de Tools-pagina."},{"num":"v19.09","type":"feature","title":"Engagement-pod: launch-drempel bij 200 leden met wachtlijst","solution":"Je kunt je nu aanmelden voor de pod; hij ontgrendelt zodra 200 leden zich hebben aangemeld. Een echte voortgangsbalk (X / 200) toont hoe dicht we bij de start zijn â geen opgeblazen aantallen, alleen echte aanmeldingen."},{"num":"v19.08","type":"feature","title":"Engagement-pod: gedeelde pool, uitnodigen, gouden uur en eerlijke reciprociteit","solution":"De pod is nu één gedeelde groep over alle bureaus heen (i.p.v. per bureau) zodat je sneller naar de 200 groeit. Een \"Nodig uit\"-knop deelt de pod-link; verse posts (eerste uur) krijgen een \"Gouden uur\"-badge en staan bovenaan; en je mag pas een nieuwe post indienen als je minstens zoveel engagement hebt teruggegeven als je ontving â meelifters worden zo automatisch afgeremd."}]},{"date":"2026-07-23","version":"v19.07","clV":"v0.745","title":"Mobiele verbeteringen: menu, contentkalender, tools en facturen","items":[{"num":"v19.07","type":"polish","title":"Als je op je telefoon het menu opent, verdwijnt de zwevende chatknop nu netjes, en de onderste menugroepen (Beheer, Instellingen) blijven volledig bereikbaar","problem":"De teal chatbubbel bleef rechtsonder over het geopende menu heen zweven en dekte de onderste menu-items af; op sommige telefoons viel de laatste groep bovendien deels onder de browserbalk.","solution":"De chatknop verbergt zich zodra het mobiele menu opengaat, en de menulijst heeft extra veilige ruimte onderaan (safe-area) zodat de laatste items altijd zichtbaar en aanklikbaar zijn."},{"num":"v19.06","type":"polish","title":"De contentkalender past nu volledig op je telefoon: alle zeven dagen van de week zijn zichtbaar in plaats van dat de zondag-kolom eraf viel","problem":"Op smalle schermen bleef de kalender vasthouden aan brede dagcellen, waardoor de laatste kolom buiten beeld viel.","solution":"De dagcellen krimpen nu mee zodat de hele week binnen het scherm past."},{"num":"v19.05","type":"polish","title":"Tools en de factuur-regel-editor opgeschoond voor mobiel","problem":"In diverse tools liepen knoppen of rijen buiten het scherm, stonden animaties boven de invoer in plaats van eronder, of waren teksten in light-mode slecht leesbaar; de factuur-regel-editor schoof horizontaal weg.","solution":"Overlopende rijen breken nu netjes af, animaties staan onder de info, verify-knoppen houden een fatsoenlijke tikhoogte, light-mode-teksten zijn leesbaar, en de factuur-regels passen binnen het scherm."},{"num":"v19.04","type":"polish","title":"Meer pagina's opgeschoond voor mobiel: CRM, financiën, integraties, profiel, onboarding en de admin-schermen","problem":"Op smalle schermen liepen sommige toolbars, tabellen, filterbalken en modals buiten beeld of tegen de rand aan â bijvoorbeeld de CRM-contactentoolbar, de medewerkers-tabel en de integratie-koppen.","solution":"Toolbars en actieknoppen wrappen nu netjes, brede tabellen scrollen binnen hun eigen kader, modals houden ruimte tot de schermrand, en integratie-koppen stapelen zodat titels leesbaar blijven. Desktop blijft ongewijzigd."},{"num":"v19.03","type":"polish","title":"Het portaal werkt nu ook netjes op tablets (iPad-formaten)","problem":"Tussen telefoon- en desktopformaat in vielen een paar dingen tussen wal en schip: de klantentabel in Financieel werd op iPad afgekapt, de CRM-contactenbalk liep buiten beeld, en in sommige tools stond de animatie boven de uitleg.","solution":"Brede tabellen scrollen nu ook op tablet binnen hun kader, knoppenbalken breken netjes af, en de uitleg staat altijd boven de animatie. Desktop blijft exact hetzelfde."}]}
2,{"date":"2026-07-23","version":"v19.02","clV":"v0.739","title":"Ads-bibliotheek toont nu ook de doelgroep-instellingen van concurrent-ads","items":[{"num":"v19.02","type":"feature","title":"Per advertentie een uitklapbaar Details-paneel met de ingestelde doelgroep en het demografische bereik","problem":"De Ads-bibliotheek liet alleen de advertentietekst en looptijd zien â niet hóe een concurrent zijn advertentie richtte.","solution":"Klik op \"Details\" bij een ad en je ziet de door de adverteerder ingestelde targeting (leeftijd, geslacht, en welke locaties in- of uitgesloten zijn), wie de ad betaalt, en de bereik-verdeling per land naar leeftijd en geslacht. Deze EU-transparantiedata komt rechtstreeks uit de Meta Ad Library. Budget, biedstrategie en campagnedoel geeft Meta niet vrij voor commerciële ads."},{"num":"v19.01","type":"feature","title":"Ad-preview nu Ãn Senly, zonder doorverwijzing naar Facebook","problem":"Om de creative van een concurrent-ad te zien werd je naar Facebook doorgestuurd â Facebook blokkeert het rechtstreeks inbedden van advertenties.","solution":"Klik op \"Toon preview\" bij een advertentie en Senly haalt de echte afbeelding of video op en toont die direct in de kaart (met videospeler). Lukt het ophalen niet, dan blijft de \"Open op Facebook\"-link als vangnet beschikbaar."},{"num":"v19.00","type":"feature","title":"AI concurrent-analyse: laat de AI alle ads van een concurrent samenvatten tot bruikbare inzichten","solution":"Nieuwe knop \"Analyseer concurrent\" (in de tool én per klant) leest alle advertenties en levert een rapport: welke hooks en aanbiedingen ze draaien, welke ads het langst lopen en waarom, op welke doelgroep ze mikken, en concrete kansen voor jouw klant."},{"num":"v18.99","type":"feature","title":"Landingspagina en aanmaakdatum per advertentie","solution":"De preview toont nu een \"Naar landingspagina\"-link naar het aanbod achter de ad, en het Details-paneel maakt de bestemmings-URL klikbaar en vermeldt wanneer de ad is aangemaakt."},{"num":"v18.98","type":"polish","title":"Ads-bibliotheek in een frissere, lichtere uitstraling","solution":"Het tool-scherm is opnieuw vormgegeven: een ronde zoekknop, luchtigere kaarten met zachte schaduw, een \"Meer resultaten\"-uitnodiging en een rij met gerelateerde tools onderaan. Beweegt netjes mee met de licht- en donker-modus van het portaal."},{"num":"v18.97","type":"bugfix","title":"Ad-kaart: knoppen vielen niet meer buiten de kaart bij ads op veel platforms","problem":"Bij een advertentie die op vijf platforms draaide (Facebook, Instagram, Audience Network, Messenger, Threads) liep de \"Bekijk creative\"-knop over de rand van de kaart.","solution":"De platform-badges en actieknoppen breken nu netjes af naar een volgende regel binnen de kaart."},{"num":"v18.96","type":"feature","title":"Ads-bibliotheek: sorteren en filteren van de resultaten","solution":"Sorteer de gevonden ads op looptijd (langstlopers â de waarschijnlijke winnaars â bovenaan), recentst gestart of meeste bereik, en filter op platform. Werkt zowel in de tool als in het concurrentie-ads-blok per klant."},{"num":"v18.95","type":"feature","title":"Swipe file: bewaar concurrent-ads per klant","solution":"Klik \"Bewaar\" bij een advertentie om er een blijvende inspiratie-verzameling van te maken per klant, met eigen tags om ze te ordenen. De bewaarde ads staan in een uitklapbaar paneel bovenaan het concurrentie-ads-blok."},{"num":"v18.94","type":"feature","title":"Ads-bibliotheek: badges, trend over tijd en export","solution":"Advertenties krijgen nu een \"Nieuw\"-badge (deze week gestart) of \"Langloper\" (60+ dagen, meestal een winnaar). Bij een gevolgde concurrent verschijnt een trendlijn met het aantal actieve ads over de weken. En je exporteert de resultaten met één klik naar CSV of een nette PDF voor klantrapportages."}]},{"date":"2026-07-21","version":"v18.93","clV":"v0.736","title":"Nieuwe Ads-bibliotheek-tool + changelog meertalig en gepagineerd","items":[{"num":"v18.93","type":"feature","title":"Maandelijks waarde-overzicht + wekelijkse samenvatting in je mail","problem":"Senly liet nergens zien wat het platform je maandelijks oplevert, en er was geen ritme-moment dat je terugbracht naar je werk.","solution":"Elke maand een kort overzicht van wat je via Senly deed (posts, facturen, taken, afspraken en een eerlijk gelabelde tijdsbesparing-schatting) en elke maandag een compacte week-samenvatting â beide alleen als er echt iets te melden is, en uitzetbaar."},{"num":"v18.92","type":"feature","title":"Slimme tips in je portaal op het juiste moment","problem":"Waardevolle functies (maandrapporten, boekingspagina, periodieke facturen, takenbeheer) bleven onontdekt, en niemand wees je op het volumevoordeel bij 20 klanten of de jaarkorting.","solution":"Maximaal één in-app tip per week, alleen als je gebruik erom vraagt â inclusief \"nog X klantprofielen tot het lagere tarief\" en een white-label-tip voor grotere bureaus."},{"num":"v18.91","type":"feature","title":"Support vraagt nu hoe het ging â en telt mee in klantgezondheid","problem":"Na een supportgesprek was er geen afrondingsmoment en geen tevredenheidsmeting; supportfrictie was onzichtbaar in het churn-beeld.","solution":"Afgehandelde gesprekken krijgen een korte 1-5-beoordeling (met bij een 5 een vriendelijke review-uitnodiging), en de gezondheidsscore per bureau wordt dagelijks vastgelegd zodat trends zichtbaar worden."},{"num":"v18.90","type":"feature","title":"Een week Senly cadeau geven is nu zichtbaar én meetbaar","problem":"Het uitnodigingsprogramma was onvindbaar buiten de affiliate-pagina en de uitgenodigde zag de bonusdagen niet bij het aanmelden.","solution":"Uitnodigings-kl
2iks worden geteld, de +7 bonusdagen staan nu in het aanmeldscherm, en tevreden klanten zien een deel-kaart in hun dashboard."},{"num":"v18.89","type":"feature","title":"Registreren met Google of LinkedIn","problem":"Aanmelden kon alleen met e-mail en een nieuw wachtwoord; inloggen via Google/LinkedIn bestond al, maar registreren niet.","solution":"Op het aanmeldscherm kies je nu direct voor Google of LinkedIn â je e-mailadres is dan meteen geverifieerd en je hoeft geen wachtwoord te bedenken. De rest van de aanmelding blijft hetzelfde."},{"num":"v18.88","type":"feature","title":"Opzeggen? Eerst zie je wat je factuur structureel kan verlagen","problem":"Wie opzegde omdat het te duur was, kreeg direct een eenmalige korting aangeboden â terwijl minder actieve klantprofielen een blijvend lagere factuur geeft.","solution":"De opzegflow rekent nu eerst voor wat je bespaart door profielen op inactief te zetten (met je echte tarieven); de korting blijft als tweede optie beschikbaar."},{"num":"v18.87","type":"feature","title":"Terugkom-aanbod in drie stappen + een eerlijke vraag als je vertrekt","problem":"Na een opzegging volgde één terugkom-mail en daarna stilte; wie buiten de opzegflow om vertrok (of door een betaalprobleem) werd nergens geregistreerd of gehoord.","solution":"Het terugkom-aanbod komt nu op dag 14, 30 en 60 (met vers kortingsvenster per mail), elke opzegging telt mee in de statistieken â ook betaalproblemen â en vertrek buiten de flow om krijgt één korte waarom-vraag per mail."},{"num":"v18.86","type":"bugfix","title":"White-label partners kunnen zichzelf nu activeren","problem":"Een nieuwe partner kon geen klant-bureau aanmaken zonder actief abonnement, maar het abonnement kon niet geactiveerd worden zonder klanten â een kip-en-ei waar alleen support uit kon helpen.","solution":"Activeren kan nu direct op â¬0 per maand met alleen een betaalmandaat; zodra het eerste klantprofiel er is, groeit de facturatie automatisch mee."},{"num":"v18.85","type":"feature","title":"Betaalmethode zelf wijzigen + duidelijke hulp als een incasso mislukt","problem":"Bij een verlopen kaart of mislukte incasso was er geen zelfbedieningsknop; de mail bood alleen een e-mailadres, waardoor betalende klanten onnodig konden uitvallen.","solution":"Nieuwe \"Betaalmethode wijzigen\"-knop (beveiligd Stripe-portaal), een nette reeks herinneringen op dag 0/3/7/14 met bedrag en deadline, een banner in je dashboard, een \"alles weer in orde\"-bevestiging na herstel en een waarschuwing vooraf als je kaart bijna verloopt."},{"num":"v18.84","type":"feature","title":"Je proefperiode is nu overal zichtbaar â en direct starten met betalen kan ook","problem":"Nergens stond hoeveel proefdagen er nog waren; de status toonde zelfs een onvertaalde technische term, en vroegtijdig overstappen op betaald kon niet.","solution":"De abonnement-pagina toont de einddatum, het bedrag en een aftel-strip (plus een melding in je dashboard in de laatste dagen), en met \"Start nu betaald\" zet je je proefperiode direct om."},{"num":"v18.83","type":"feature","title":"Eerste factuur klopt altijd met je echte klantenaantal","problem":"De eerste incasso was gebaseerd op het aantal klanten dat je bij het aanmelden invulde â ook als je er minder had aangemaakt.","solution":"Vlak voor het einde van de proefperiode wordt het werkelijke aantal actieve klanten gesynchroniseerd, zodat je precies betaalt voor wat je gebruikt."},{"num":"v18.82","type":"feature","title":"Verlopen proefperiode? Je hoort het nu netjes â en je werk blijft klaarstaan","problem":"Als de eerste incasso niet lukte verdween een account stilletjes, zonder bericht en zonder terugkeeraanbod.","solution":"Je krijgt direct een eerlijke mail (niets afgeschreven, data blijft 90 dagen bewaard) en later een terugkom-aanbod waarmee je verdergaat waar je gebleven was."},{"num":"v18.81","type":"feature","title":"Na het afronden van je registratie beland je direct ingelogd in je dashboard","problem":"Na de betaalstap moest je op het heetste moment van je start opnieuw inloggen via een tussenpagina.","solution":"De betaalbevestiging logt je nu automatisch en veilig in; je landt meteen in je portaal met de rondleiding klaar. Lukt dat een keer niet, dan val je gewoon terug op de oude bevestigingspagina."},{"num":"v18.80","type":"feature","title":"Nieuwe gebruikers krijgen nu echt een rondleiding plus een startkaart naar de Launchpad","problem":"De beloofde rondleiding op het eerste scherm stond niet aan en niets wees nieuwe gebruikers op de start-checklist; twee checklist-taken konden bovendien nooit voltooid worden.","solution":"De dashboard-rondleiding staat aan, een wegklikbare \"Aan de slag\"-kaart toont je voortgang, en de AI- en contentplanner-taken herkennen nu je echte instellingen zodat de checklist gewoon 100% kan halen."},{"num":"v18.79","type":"feature","title":"Slimme activatiemails tijdens je proefperiode (in jouw taal)","problem":"Tussen de welkomstmail en de betalingsherinnering was het twee weken stil, precies wanneer hulp het meeste oplevert.","solution":"Rond dag 2, 5 en 9 ontvang je een korte, persoonlijke nudge op basis van wat je al wél of nog niet deed â in het Nederlands, Engels, Duits of Frans. Al voltooide stappen leveren nooit een mail op."},{"num":"v18.78","type":"polish","title":"Eerlijke communicatie als een proefperiode niet van toepassing is","problem":"Wie geen (nieuwe) proefperiode kreeg, zag toch schermen en mails die een gratis periode of verwerkte betaling suggereerden.","solution":"Het formulier meldt het vooraf, de bevestigingspagina belooft niets dat niet klopt, en er is een aparte uitleg-mail met een direct contactpad als je denkt dat het onterecht is."},{"num":"v18.77","type":"feature","title":"Duidelijk databeleid na opzegging: 90 dagen bewaard, daarna netjes verwijderd","problem":"De voorwaarden en FAQ beloofden verwijdering na 30 dagen, maar in de praktijk gebeurde dat niet en zou die termijn ook het terugkeer-
2aanbod breken.","solution":"Na het einde van je abonnement blijft je data 90 dagen bewaard voor export of heractivatie. Je krijgt ruim vooraf een aankondigingsmail, daarna wordt alles definitief verwijderd (facturen blijven conform de wettelijke 7-jaarstermijn). Voorwaarden, FAQ en mails zijn hierop gelijkgetrokken."},{"num":"v18.76","type":"bugfix","title":"Afgebroken betaling gooit je registratie niet meer weg","problem":"Wie in de Stripe-checkout op terug klikte, belandde op vraag 1 van de aanmeldquiz en was alle ingevulde gegevens kwijt.","solution":"Je komt nu direct terug op het formulier en alles behalve je wachtwoord staat er nog. Registreren kan ook als de vragenlijst-opslag tijdelijk hapert."},{"num":"v18.75","type":"bugfix","title":"Aanmelden van buiten Europa (USD) kon stuklopen op de betaalstap","problem":"De checkout bevatte een Europese betaalmethode die bij dollarbetalingen niet is toegestaan, waardoor de betaalpagina niet kon worden aangemaakt.","solution":"Betaalmethodes worden nu per valuta gekozen: kaart voor USD, kaart plus iDEAL/Bancontact/SEPA voor EUR."},{"num":"v18.74","type":"bugfix","title":"Supportchat: escaleren naar een medewerker werkt nu ook in het Duits en Frans, drukke gesprekken tonen weer de nieuwste berichten en je krijgt een e-mail zodra er geantwoord is","problem":"De escalatieknop werkte alleen in het Nederlands en Engels, gesprekken met 100+ berichten leken te bevriezen, en antwoorden bleven onzichtbaar als je was uitgelogd.","solution":"Expliciet escalatiesignaal, nieuwste-berichten-weergave, notificatiemails in twee richtingen en een afgehandeld-knop die de bot weer aanzet."},{"num":"v18.73","type":"bugfix","title":"E-mails die door de mailprovider geweigerd worden, verdwijnen niet langer stil","problem":"Een geweigerde mail (zoals de trial-herinnering) werd als verstuurd gemarkeerd en daarna nooit opnieuw geprobeerd.","solution":"Fouten worden nu gelogd en de volgende run probeert het opnieuw; facturen worden bovendien altijd vastgelegd, ook als de mail faalt."},{"num":"v18.72","type":"bugfix","title":"Opzegkorting bij kwartaal- of jaarbetaling nu correct berekend","problem":"Het 50%-behoudaanbod werd op de hele periodefactuur toegepast in plaats van op een maandbedrag.","solution":"Kwartaal- en jaarklanten krijgen het aanbod nu als tegoed ter waarde van een half maandbedrag."},{"num":"v18.71","type":"bugfix","title":"Changelog toont weer in elke taal, niet meer alleen Nederlands","problem":"Door een hernummering van de versienummers raakten de opgeslagen vertalingen los van de updates, waardoor bijna alle changelog-items terugvielen op Nederlands voor Engelse, Duitse en Franse bezoekers.","solution":"De automatische vertaling is fors versneld en werkt de achterstand binnen enkele uren weg, zodat de hele changelog weer in alle vier de talen verschijnt."},{"num":"v18.70","type":"bugfix","title":"Ook de langste updates worden nu vertaald","problem":"Updates met veel losse punten waren te groot voor een enkele vertaalronde. De vertaling liep dan stuk en werd stil overgeslagen, waardoor juist de nieuwste en uitgebreidste updates altijd in het Nederlands bleven staan terwijl de rest wel vertaald werd.","solution":"De vertaling verwerkt updates nu in kleinere porties met meer ruimte, en valt bij een probleem automatisch terug op nog kleinere porties. Een enkele grote update kan de rest daardoor niet meer blokkeren."},{"num":"v18.69","type":"feature","title":"Nieuwe updates worden automatisch in 4 talen vertaald","problem":"Nieuwe changelog-items konden lang onvertaald blijven staan.","solution":"Een achtergrondtaak vertaalt nieuwe items nu elke 30 minuten automatisch naar Engels, Duits en Frans; en wie de pagina in een andere taal opent, ziet de vertaling direct binnenkomen."},{"num":"v18.68","type":"feature","title":"Nieuwe tool: Ads-bibliotheek â bekijk welke advertenties concurrenten nu draaien","problem":"Uitzoeken welke ads een concurrent draait betekende zelf graven in de Meta Ad Library, zonder overzicht van looptijd of teksten.","solution":"Plak een Facebook-pagina, Ad Library-link of zoekterm en zie per advertentie de tekst, hoe lang hij al draait, op welke platforms hij loopt en een link naar de creative. Ads die al weken draaien werken vrijwel zeker â directe inspiratie voor eigen campagnes."},{"num":"v18.67","type":"feature","title":"Concurrenten volgen per klant: automatische signalen b
2ij nieuwe ads + \"Gebruik als inspiratie\" in de AI-contentgenerator","problem":"Concurrent-ads bekijken was een losse handeling; niets werd onthouden en de inzichten bereikten de content-workflow niet.","solution":"Sla per klant tot 5 concurrent-pagina's op in het nieuwe Concurrentie-ads-blok op de klantpagina. Elke maandag checken we automatisch op nieuwe advertenties en melden die in de activiteiten-feed, en met één klik bewaar je een ad-tekst als inspiratie-notitie die in elke AI-contentgeneratie voor die klant wordt meegenomen."},{"num":"v18.66","type":"bugfix","title":"Concurrentie-ads-blok ook zichtbaar voor advertenties-klanten","problem":"Het blok stond alleen in de Content-tab, terwijl klanten met dienstverlening Advertenties juist géén content-tab hebben â precies de doelgroep zag het niet.","solution":"Het blok staat nu ook in de Campagnes-tab van advertenties-klanten; bij klanten met beide diensten verschijnt het één keer."},{"num":"v18.65","type":"polish","title":"Rustigere sectiekopjes op de klantpagina","solution":"De emoji en het vierkantje voor \"AI Content Generator\" en \"Concurrentie-ads\" zijn weggehaald."}]},{"date":"2026-07-19","version":"v18.64","clV":"v0.734","title":"Tool-pagina op mobiel + bescherming tegen herhaal-trials","items":[{"num":"v18.64","type":"security","title":"Eén gratis proefperiode per persoon â herhaal-trials worden herkend","problem":"Na een verlopen proefperiode kon je met een nieuw of wegwerp-e-mailadres en dezelfde betaalkaart opnieuw een gratis trial starten, in principe oneindig vaak.","solution":"Wegwerp-e-maildomeinen en plus-aliassen van een bestaand adres worden bij het aanmelden geweigerd, en de betaalmethode wordt herkend (ook bij iDEAL/Bancontact): wie al een trial had en niet betalend werd, betaalt bij een nieuwe aanmelding direct vanaf dag 1. Betalende klanten die met dezelfde kaart een tweede bureau starten â ook als hun eerste bureau even in een betaalherinnering staat â houden gewoon hun proefperiode."},{"num":"v18.63","type":"polish","title":"Tool-logo, titel en uitleg staan nu bovenaan op de telefoon","problem":"Op een tool-pagina (bv. Content kalender of Account check) stond op mobiel de interactieve demo/animatie bovenaan en het logo met de titel en uitleg er pas onder â je zag dus eerst de demo zonder te weten van welke tool.","solution":"Op smalle schermen komt nu eerst het logo, de titel en de uitleg van de tool, en daarna pas de demo/animatie. Geldt voor alle tool-pagina's; op desktop blijft de naast-elkaar-weergave ongewijzigd."},{"num":"v18.62","type":"polish","title":"Takenbeheer: filterknoppen vallen op mobiel binnen het scherm","problem":"Op de telefoon stonden de periode-filters (Verlopen, Vandaag, Deze week, â¦) op één rij die naar rechts wegliep, waardoor de laatste filters half of helemaal buiten beeld vielen.","solution":"De filterknoppen breken nu netjes over meerdere rijen af zodat je ze allemaal ziet zonder te hoeven schuiven."},{"num":"v18.61","type":"polish","title":"Content-kalender: strakkere indeling op mobiel","problem":"Op de telefoon plakte de kalender-inhoud tegen de bovenbalk, en de bedieningsknoppen (zoeken, \"Deze week\", datum-navigatie, filter) stonden elk op een eigen volle regel met veel lege ruimte ertussen.","solution":"Er zit nu meer lucht bovenaan, en het zoekveld staat op een eigen regel met de kleine knoppen (Deze week, datum-navigatie, filter) compact samen op één regel eronder."},{"num":"v18.60","type":"bugfix","title":"Launchpad: secties schuiven niet meer over elkaar op mobiel","problem":"Op de telefoon bleef de categorieen-kolom 'plakken' tijdens het scrollen, waardoor de taak-inhoud er visueel onderdoor schoof en secties over elkaar heen leken te vallen.","solution":"De zijkolommen scrollen op mobiel nu gewoon mee met de rest van de pagina, in plaats van te blijven plakken."},{"num":"v18.59","type":"bugfix","title":"Meetings-kalender: weekweergave is nu te vegen op mobiel","problem":"In de weekweergave op de telefoon kon je maar een paar dagen zien en niet naar de rest van de week swipen.","solution":"Het weekrooster is nu horizontaal te vegen (een geneste verticale scroll ving de veeg-beweging op; die is op mobiel weggehaald zodat de pagina verticaal scrollt en het rooster zijwaarts)."},{"num":"v18.58","type":"polish","title":"Formaat & safe zones-tool: naam en uitleg eerst op mobiel","problem":"Op de telefoon stond bij deze tool de visuele preview vóór de tool-naam en uitleg, waardoor je eerst de animatie zag en pas daarna wat de tool doet.","solution":"De tool-info (icoon, naam, uitleg) staat nu eerst, de visuele preview daaronder â in lijn met de andere tools."},{"num":"v18.57","type":"bugfix","title":"Financieel: klantentabel schuift nu horizontaal op mobiel","problem":"Op de Klanten-tab van Financieel liep de tabel op een telefoon buiten beeld: de kolommen en de knoppen Bewerken/Verwijderen aan de rechterkant waren afgekapt en niet bereikbaar.","solution":"De tabel zit nu in een horizontaal schuifbaar vak, zodat je op mobiel naar rechts kunt vegen om alle kolommen en de actieknoppen te zien."}]},{"date":"2026-07-18","version":"v18.56","clV":"v0.733","title":"Mobiel: content past nu netjes binnen het scherm","items":[{"num":"v18.56","type":"bugfix","title":"Geen afgekapte content en betere uitlijning op de telefoon","problem":"Op smalle schermen viel er te veel ruimte weg aan de zijkanten (dubbele marge) waardoor knoppen en kaarten â o.a. de \"Snelle acties\" op het dashboard â half buiten beeld vielen, en de pagina-inhoud lijnde niet uit met de menubalk bovenaan.","solution":"De zijmarge is nu één consistente, smallere waarde zodat pagina-inhoud exact zo breed is als de bovenbalk, en grids die eerst overliepen vallen nu netjes naar minder kolommen. Ook de meetings-weekweergave is nu horizontaal te vegen en het Launchpad-menu schuift niet meer over de inhoud heen. Getest op 320â390px."}]},{"date":"2026-07-18","version":"v18.55","clV":"v0.730","title":"Portaal beter bruikbaar op je telefoon","items":[{"num":"v18.55","type":"bugfix","title":"Mobiele menu bevat nu álle onderdelen","problem":"In het uitschuifmenu op een telefoon ontbraken diverse onderdelen (o.a. Meetings, E-mail, CRM, Onboarding, en voor sales-rollen Mijn commissie) â die waren daardoor op mobiel nergens aan te tikken.","solution":"Het mobiele menu spiegelt nu volledig de zijbalk en het instellingen-menu van de desktop â met dezelfde rol-filtering â zodat elk onderdeel dat je op desktop hebt, ook op je telefoon bereikbaar is. De secties Werkruimte, Beheer en Instellingen zijn nu uitklapbaar (met het aantal onderdelen erbij); de sectie van je huidige pagina staat automatisch open, de rest ingeklapt zodat de lijst overzichtelijk blijft."},{"num":"v18.54","type":"polish","title":"Geen horizontale schuif meer op mobiel","problem":"Op een aantal pagina's (o.a. CRM-rapporten, financieel/medewerkers, affiliate, abonnement, meetings, integraties) liepen brede tabellen of formulieren buiten het scherm, waardoor de hele pagina horizontaal ging schuiven.","solution":"Die tabellen schuiven nu netjes binnen hun eigen kaart, formulier-velden en statistiek-blokken stapelen onder elkaar, en de meetings-weekweergave is horizontaal te vegen. Volledig gecontroleerd op smalle schermen (320â390px) zonder horizontale paginaschuif; desktop bleef ongewijzigd."}]},{"date":"2026-07-18","version":"v18.53","clV":"v0.727","title":"Pauzeren bevriest nu écht je trial (geen onterechte incasso-mail
2s meer)","items":[{"num":"v18.53","type":"bugfix","title":"Trial pauzeren stopt voortaan ook de trial-klok en de mails","problem":"Wie z'n abonnement tijdens de proefperiode pauzeerde, kreeg tóch de \"je proefperiode is voorbij, morgen wordt er afgeschreven\"-mail, en de trial-teller liep gewoon door tijdens de pauze. Onnodig schrikken â er werd door de pauze niets geïncasseerd, maar dat voelde niet zo.","solution":"Pauzeren tijdens een trial schuift nu ook de trial-einddatum met de pauzeduur vooruit (je resterende proefdagen lopen ná de pauze verder), en alle trial-/onboarding-mails en AI-berichten slaan gepauzeerde accounts over. Dezelfde pauze-check is centraal gemaakt zodat het overal consistent blijft. Ook de omzet-rapportage telt een gepauzeerd account niet meer als betalende klant."}]},{"date":"2026-07-13","version":"v18.52","clV":"v0.725","title":"Mobiel menu: taal wisselen werkt weer","items":[{"num":"v18.52","type":"bugfix","title":"Chatknop en taalkeuze botsten in het mobiele menu","problem":"Als je op mobiel het menu opende, bleef de klantenservice-chatknop rechtsonder over de \"Taal\"-knop staan, en de taalkeuze klapte naar beneden buiten beeld â waardoor je niet van taal kon wisselen.","solution":"De chatknop verdwijnt nu zodra het menu openstaat, en de taalkeuze klapt onderin het menu netjes naar boven open zodat alle talen zichtbaar zijn."}]},{"date":"2026-07-12","version":"v18.51","clV":"v0.723","title":"Klik tussen dienstverleningen op het klantprofiel","items":[{"num":"v18.51","type":"feature","title":"Dienst-badges wisselen nu de hele tab-weergave","problem":"Bij een klant met meerdere diensten stonden alle tabs van alle diensten door elkaar in één balk â je kon de info per dienst niet gescheiden houden.","solution":"De dienst-badges bovenaan het klantprofiel (Social Media Beheer, Webonderhoud, Advertentiesâ¦) zijn nu klikbaar. Klik op een dienst en de tab-balk + de secties wisselen direct naar dÃé dienst z'n eigen tabs (bijv. Webonderhoud â Websites + Prestaties), zodat de informatie per dienstverlening netjes gescheiden blijft. Bij één dienst blijft alles zoals het was."},{"num":"v18.50","type":"bugfix","title":"Geen dubbele platform-tags meer na de AI-website-check","problem":"Als je een website invulde voor de AI-check, verscheen een platform soms dubbel op het klantprofiel (bijv. twee keer \"Instagram\" en twee keer \"TikTok\").","solution":"De AI-check schreef platform-namen met kleine letters (\"instagram\"), terwijl het handmatig aanvinken hoofdletters gebruikte (\"Instagram\") â dezelfde platforms telden zo als twee verschillende. Platform-namen worden nu overal genormaliseerd en dubbelingen (ongeacht hoofdletters) samengevoegd. Bestaande klanten met dubbele tags tonen direct schoon."}]},{"date":"2026-07-12","version":"v18.49","clV":"v0.722","title":"Bedrag per dienstverlening + meerdere diensten bij nieuwe klant","items":[{"num":"v18.49","type":"feature","title":"Vul per dienstverlening een eigen bedrag in","problem":"Een klant met meerdere diensten (bijv. Beheer + Advertenties) had één omzetbedrag; je kon de omzet niet per dienst opgeven, waardoor de uitsplitsing op Financieel niet klopte.","solution":"In \"Klantgegevens bewerken â Financieel\" vul je nu per gekozen dienst een bedrag in (het totaal wordt je maandomzet). Op de Financieel-pagina krijgt elke dienst z'n eigen kaart met de juiste omzet; kosten worden evenredig verdeeld. Klanten zonder per-dienst-bedrag blijven onder hun hoofddienst tellen, dus bestaande cijfers veranderen niet."},{"num":"v18.48","type":"feature","title":"Meerdere dienstverleningen kiezen bij een nieuwe klant","problem":"Bij het aanmaken van een klant kon je maar één dienst kiezen.","solution":"Je selecteert nu direct meerdere diensten. Zit Social Media Beheer of Groeiservice ertussen, dan verschijnt de bevestiging voor het maandelijkse klanttarief (die diensten gebruiken de automatiseringstools). Op het klantprofiel toont de kop nu ook alle diensten als labels."}]},{"date":"2026-07-12","version":"v18.47","clV":"v0.721","title":"Meerdere dienstverleningen per klant","items":[{"num":"v18.47","type":"feature","title":"Een klant kan nu meerdere dienstverleningen hebben","problem":"In \"Klantgegevens bewerken\" kon je maar één dienstverlening kiezen, terwijl klanten er vaak meerdere afnemen (bijv. Social Media Beheer + Advertenties).","solution":"Je klikt nu meerdere dienstverleningen aan. Op het klantprofiel verschijnen automatisch de tabs van álle gekozen diensten samen (bijv. Content én Campagnes), en het dashboard-filter vindt de klant onder elke dienst. Bij één dienst blijft alles zoals het was. De eerste betaalde dienst (Beheer/Groei) blijft de hoofddienst voor facturatie, zodat je financiële cijfers ongewijzigd kloppen."}]}
2,{"date":"2026-07-12","version":"v18.46","clV":"v0.720","title":"Klanten-tabs (Actief/Gepauzeerd/Inactief) wisselen nu direct","items":[{"num":"v18.46","type":"polish","title":"Wisselen tussen Actief, Gepauzeerd en Inactief herlaadt de pagina niet meer","problem":"Op het dashboard laadde het klikken op \"Gepauzeerd\" of \"Inactief\" de hele pagina opnieuw en sprong het beeld naar boven â voor inactief/gepauzeerd verscheen zelfs een andere, kalere weergave. Dat voelde als wegnavigeren.","solution":"Alle klanten (alle statussen) worden nu in één keer geladen; de tabs én de service-filters wisselen de klantkaarten direct ter plekke, zonder herladen of naar boven springen. Je blijft in dezelfde dashboardweergave en de kaarten faden netjes in. De service-chips tonen nu ook het aantal binnen de gekozen status."}]},{"date":"2026-07-12","version":"v18.45","clV":"v0.715","title":"Voorkeuren-knop nu ook op mobiel bereikbaar","items":[{"num":"v18.45","type":"bugfix","title":"Voorkeuren (thema, geluid, account) weer bereikbaar op mobiel","problem":"Op kleine schermen verborg de compacte menubalk de voorkeuren-knop; teamleden zonder beheerdersrol hadden daardoor op mobiel géén enkele ingang naar thema, geluid en accountinstellingen","solution":"De voorkeuren-knop (schuifjes-icoon) blijft nu ook op mobiel in de menubalk staan, naast het tandwiel en de taalkeuze"}]},{"date":"2026-07-11","version":"v18.44","clV":"v0.701","title":"Support-chat Sanne: getest in 350 gesprekken en verder aangescherpt","items":[{"num":"v18.44","type":"polish","title":"Sanne antwoordt stelliger, korter en zonder feitfouten","problem":"De bot hedgede soms onnodig over dingen die hij gewoon weet, ratelde af en toe een feature-lijst op als een folder, en had losse kennisgaten (betaalcycli, mobiel, security-details)","solution":"Kennis aangevuld en aangescherpt (betaalcycli, mobiel/PWA, concrete EU-security, wat Senly niet doet), plus stijlregels tegen onnodig hedgen en brochure-opsommingen â gevalideerd met 350 simulatiegesprekken (7 rondes van 50) over 4 talen, met 0 feitfouten en 0 verzonnen claims in de beste ronde"}]},{"date":"2026-07-11","version":"v18.43","clV":"v0.700","title":"Support-chat met Sanne voelt nu echt menselijk","items":[{"num":"v18.43","type":"polish","title":"Kortere, menselijkere antwoorden met echte emotie","problem":"Sanne gaf lange lappen tekst, klonk soms nog als een handleiding, en lange antwoorden werden zelfs middenin een woord afgekapt","solution":"Antwoorden zijn nu kort (meestal 1-3 zinnen), één ding tegelijk, met warme maar zakelijke emotie; geen afgekapte berichten meer"},{"num":"v18.42","type":"polish","title":"Natuurlijk typ-ritme â Sanne neemt soms even de tijd","problem":"Antwoorden verschenen instant, wat robotachtig aanvoelt","solution":"Sanne \"leest en denkt na\": meestal een paar seconden, soms 15-20s bij een lastigere vraag, en typt daarna in een rustig menselijk tempo"},{"num":"v18.41","type":"polish","title":"\"Verbind met medewerker\"-knop weg","problem":"Onder de chat stond een knop om een medewerker te bereiken","solution":"Sanne handelt alles zelf af; vraagt iemand toch om een mens, dan regelt ze warm dat een collega het oppakt"},{"num":"v18.40","type":"bugfix","title":"Geen 500-fout meer bij \"terug\" na uitloggen","problem":"Wie uitlogde en daarna op de inlogpagina op 'terug' klikte om naar de homepage te gaan, kreeg telkens een foutmelding in plaats van de homepage.","solution":"Een net uitgelogde sessie wordt nu correct herkend als 'niet ingelogd', zodat de homepage gewoon laadt."}]},{"date":"2026-07-11","version":"v18.39","clV":"v0.699","title":"Support-chat kent nu het hele platform â Sanne is een echte expert","items":[{"num":"v18.39","type":"feature","title":"De chatbot weet alles wat Senly kan","problem":"De bot kende maar een deel van het platform en ontkende soms functies die wel bestaan â dat komt amateuristisch over","solution":"Sanne put nu uit één complete, code-geverifieerde kennisbron met alle modules, alle 48 tools, de groei-automatiseringen, de financiele module, white-label, integraties en de actuele prijzen â landing- en ingelogde chat delen exact dezelfde kennis, du
2s die kan niet meer uiteenlopen"}]},{"date":"2026-07-11","version":"v18.38","clV":"v0.698","title":"Support-chat kent nu de groei-automatiseringen voor social media","items":[{"num":"v18.38","type":"bugfix","title":"Chatbot ontkende ten onrechte dat Senly groeiprogramma's heeft","problem":"De groei-automatiseringen (Instagram/TikTok/Facebook volgers, LinkedIn connecties) stonden niet in de kennis van de bot, dus zei hij dat Senly ze niet had","solution":"De bot kent nu de groei-automatiseringen per platform, met de richtcijfers van de website, en bevestigt dat Senly deze groeiprogramma's echt biedt"}]},{"date":"2026-07-11","version":"v18.37","clV":"v0.697","title":"Support-chat voelt nu als een echt gesprek met Sanne","items":[{"num":"v18.37","type":"feature","title":"De chatbot heeft een naam en een menselijke toon","problem":"De bot heette \"Assistent\", schreef als een handleiding (alles vetgedrukt, \"het platform biedt...\") en stelde zich elk bericht opnieuw voor","solution":"Maak kennis met Sanne: praat in de ik/jij-vorm, begroet alleen bij het eerste bericht, vraagt door bij vage vragen, gebruikt vet spaarzaam en geeft eerlijk toe als iets niet zeker is (en dat ze een AI is als je het vraagt)"},{"num":"v18.36","type":"feature","title":"Antwoorden verschijnen live, zoals iemand die typt","problem":"Het hele antwoord ploepte in één keer als een blok tevoorschijn","solution":"Sanne stuurt haar antwoord nu als losse berichtjes, met een \"aan het typen\"-pauze en woord-voor-woord verschijnen â precies zoals een echt gesprek (en netjes uitgezet bij \"verminderde beweging\")"}]},{"date":"2026-07-11","version":"v18.35","clV":"v0.696","title":"Support-chatbot: kortere antwoorden en breder doelgroepbegrip","items":[{"num":"v18.35","type":"polish","title":"De chatbot antwoordt nu zo kort als de vraag toelaat","problem":"De bot gaf op elke vraag 3-4 alinea's terug, ook als één zin genoeg was","solution":"De bot stemt de lengte van het antwoord nu af op de vraag â een simpele vraag krijgt een kort, direct antwoord"},{"num":"v18.34","type":"bugfix","title":"Chatbot weet nu dat Senly niet alleen voor bureaus is","problem":"De bot ging ervan uit dat elke gebruiker een marketingbureau met meerdere klanten was","solution":"De bot weet nu dat Senly ook voor in-house marketeers, freelancers en zzp'ers met één merk is; hij neemt geen bureau-context meer aan"}]},{"date":"2026-07-11","version":"v18.33","clV":"v0.695","title":"Inlogpagina volledig vernieuwd in de stijl van de website","items":[{"num":"v18.33","type":"polish","title":"Nieuwe inlogpagina: licht, rustig en in de huisstijl van de site","problem":"De inlogpagina had een donker linker merkpaneel dat niet meer paste bij de vernieuwde marketing-site","solution":"Eén gecentreerde lichte kolom met dezelfde stijl als de homepage. Alle functies blijven identiek werken: Google/LinkedIn/Facebook/Microsoft-login, wachtwoord vergeten, onthoud mij, tweestapsverificatie en white-label branding"},{"num":"v18.32","type":"bugfix","title":"Inlogpagina toont op senly.io altijd het Senly-merk","problem":"De kop op de inlogpagina toonde soms een generieke naam in plaats van Senly, en het logo linksboven was wit op een lichte achtergrond, waardoor het onzichtbaar was.","solution":"Op het hoofddomein staan merknaam en logo nu vast op Senly; alleen echte white-label-domeinen tonen hun eigen huisstijl."}]},{"date":"2026-07-10","version":"v18.31","clV":"v0.692","title":"Abonnement verhuisd naar Profiel beheer","items":[{"num":"v18.31","type":"bugfix","title":"AI brand-analyse: meer websites worden nu herkend","problem":"Bij het toevoegen van een klant gaf de AI brand-analyse soms \"Website bevat te weinig leesbare tekst â mogelijk een JavaScript-only SPA\", terwijl de site prima gewone tekst bevatte. Sommige websites blokkeren namelijk verzoeken met een herkenbare \"bot\"-identiteit.","solution":"De analyse haalt sites nu op met een normale browser-identiteit, waardoor sites die bots weren wél gelezen worden. Lukt het toch niet, dan is de melding nu eerlijker (\"mogelijk blokkeert de website onze server, of het is een JavaScript-only site\") in plaats van altijd \"SPA\" te roepen."},{"num":"v18.30","type":"polish","title":"Facebook-automatiseringskaart toont nu ook \"Reacties liken\"","problem":"Op de Facebook-automatiseringskaart stond alleen \"Likers uitnodigen\", terwijl de tool ook reacties onder je eigen posts kan liken.","solution":"De kaart toont nu beide tools: likers uitnodigen én reacties liken onder je eigen posts."},{"num":"v18.29","type":"polish","title":"Facebook-groeitool en nieuwe-klant-popup volledig vertaald (EN/DE/FR
2)","problem":"Op de Facebook-automatiseringspagina bleven de hoofdactie (\"Post-likers uitnodigen\"), timing & limiet, slimme optimalisatie en de scan-opties in het Nederlands staan voor Engelse, Duitse en Franse gebruikers. Ook de AI-analyse-stap van de nieuwe-klant-popup toonde nog Nederlandse teksten (\"Analyseer\", voorbeelddomein).","solution":"Alle resterende teksten zijn opgenomen in het centrale vertaalsysteem en tonen nu netjes in de gekozen taal, inclusief de dag-knoppen (Ma-Zo wordt Mo-Su, Mo-So of Lu-Di)."},{"num":"v18.28","type":"bugfix","title":"Google Drive-video-preview: betrouwbaarder afspelen + nette melding bij niet-ondersteund formaat","problem":"Video's uit de Google Drive-map speelden bij sommige gebruikers nog steeds niet af in de preview (zwart scherm). Deels omdat de stream niet altijd goed werd doorgezet, en deels omdat telefoon-video's soms een formaat (HEVC/H.265) gebruiken dat een browser als Chrome niet kan afspelen.","solution":"De video-stream haalt de bytes nu rechtstreeks bij Google Drive op met correcte range-ondersteuning (betrouwbaarder afspelen en spoelen). Kan de browser het formaat echt niet aan, dan verschijnt er geen zwart scherm meer maar een duidelijke melding met knoppen om de video in een nieuw tabblad te openen of te downloaden."},{"num":"v18.27","type":"polish","title":"Profiel beheer opgedeeld in overzichtelijke tabs","problem":"Onder \"Mijn account\" stond alles onder elkaar: persoonlijke gegevens, tijdzone, valuta, taal, wachtwoord, 2FA, meldingen en koppelingen â één lange lijst om doorheen te scrollen.","solution":"De rechterkolom is nu opgedeeld in tabs die bij elkaar horen: Account (naam/e-mail), Voorkeuren (tijdzone, valuta, taal), Beveiliging (wachtwoord + 2FA), Meldingen en (voor niet-admins) Koppelingen. De profielkaart links blijft altijd zichtbaar; je klikt gewoon naar de gewenste groep i.p.v. te scrollen."},{"num":"v18.26","type":"polish","title":"Abonnement & incasso staat nu onder Profiel beheer (extra tab)","problem":"Het abonnement stond als tab onder Instellingen, naast Huisstijl & branding â een onlogische plek, want het is je account-facturatie en niet een huisstijl-instelling.","solution":"Profiel beheer heeft nu twee tabs: \"Mijn account\" en \"Abonnement\" (die laatste alleen zichtbaar voor beheerders). Het abonnement is daarheen verplaatst; Instellingen toont nog enkel Huisstijl. Oude links en Stripe-retour-URLs blijven werken via een automatische doorverwijzing."}]},{"date":"2026-07-09","version":"v18.25","clV":"v0.691","title":"Klantdossier: inloggegevens sneller kopiëren","items":[{"num":"v18.25","type":"bugfix","title":"LinkedIn-automatiseringskaart toont nu alle 5 tools","problem":"Op de automatiseringskaarten in het klantprofiel stond bij LinkedIn \"2 tools beschikbaar\", terwijl er 5 zijn: naast de 2 connect-tools ook post-engagement, profielbezoeken en welkomstbericht.","solution":"De LinkedIn-kaart telt en toont nu alle 5 tools; de omschrijving is daarop aangepast."},{"num":"v18.24","type":"bugfix","title":"Google Drive-video's afspeelbaar in het klantprofiel","problem":"Bij het openen van een video uit de Google Drive-map in het klantprofiel verscheen alleen een piepklein spelertje dat niet afspeelde, omdat de video als download werd aangeboden in plaats van om af te spelen.","solution":"Video's spelen nu gewoon af in het klantprofiel, op volledig formaat en met de mogelijkheid om te spoelen. Afbeeldingen en downloads werken zoals voorheen."},{"num":"v18.23","type":"feature","title":"Meerdere verantwoordelijken per taak","problem":"Een taak kon aan maar een verantwoordelijke worden toegewezen, terwijl klussen vaak door meerdere teamleden worden opgepakt.","solution":"Bij het aanmaken en bewerken van een taak kun je nu naast de hoofdverantwoordelijke extra verantwoordelijken toevoegen. Zij zien de taak ook terug in hun eigen takenlijst, en in het overzicht zie je bij meerdere verantwoordelijken de profielfoto's naast elkaar."},{"num":"v18.22","type":"feature","title":"Kopieer-knop bij gebruikersnaam en wachtwoord (inloggegevens per platform)","problem":"Om een s
2ocial-login door te geven moest je de gebruikersnaam of het wachtwoord handmatig selecteren en kopiëren â bij het wachtwoord kon dat niet eens zonder het eerst zichtbaar te maken.","solution":"Bij \"Inloggegevens per platform\" staat nu een kopieer-knop in het gebruikersnaam/e-mail-veld én in het wachtwoord-veld (naast het oogje). Eén klik kopieert de waarde; een kort vinkje bevestigt het. De knop verschijnt alleen als er iets in het veld staat, en het wachtwoord hoeft niet zichtbaar te zijn om te kopiëren."}]},{"date":"2026-07-08","version":"v18.21","clV":"v0.690","title":"Klantdossier: bepaal zelf de structuur per dienstverlening","items":[{"num":"v18.21","type":"feature","title":"Nieuwe tool: JPG & PNG naar losse PDF's","problem":"Er was geen snelle manier om een stapel foto's elk als een apart PDF-bestand te krijgen (bijv. 20 afbeeldingen â 20 PDF's).","solution":"In de Tool Store staat nu \"JPG & PNG naar PDF\": sleep meerdere JPG/PNG-afbeeldingen erin en elke afbeelding wordt één losse PDF. Kies origineel formaat, A4 of Letter (met optionele marge) en download los of alles in één ZIP. Alles gebeurt lokaal in de browser â er wordt niets geüpload."},{"num":"v18.20","type":"bugfix","title":"SM Trends: Facebook- en Pinterest-logo werden aan de rand afgesneden","problem":"Het Facebook-logo (en Pinterest) in de inzichten-lijst liep in het icoon tot exact de rand, waardoor de cirkel bij afwijkende zoom/scherpte net afgesneden oogde en groter stond dan de andere platform-logo's.","solution":"Beide logo's krijgen nu dezelfde kleine binnenmarge als de andere (bijv. Instagram), zodat ze netjes vrij in het vak staan en nooit afgesneden lijken."},{"num":"v18.19","type":"bugfix","title":"SM Trends: AI-samenvatting-kaart onleesbaar (wit op wit) in lichte modus","problem":"De \"AI samenvatting\"-kaart in de zijbalk van SM Trends toonde witte tekst op een lichte achtergrond in de lichte modus, waardoor de tekst niet te lezen was. De donkere achtergrond van de kaart werd overschreven door een latere, algemenere stijlregel.","solution":"De kaart houdt nu altijd zijn donkere achtergrond aan (hogere specificiteit), zodat de witte tekst in beide modi goed leesbaar blijft."},{"num":"v18.18","type":"polish","title":"JPG/PNG naar PDF: rood tool-icoon + leesbare teksten","problem":"De tool had nog het grijze standaard-icoon en een neutrale productpagina, en op de tool-pagina waren sommige teksten (paginaformaat-opties, opties-labels) nauwelijks leesbaar door een verkeerde tekstkleur-variabele.","solution":"De tool heeft nu een eigen rood PDF-icoon dat ook de productpagina-accenten (icoon + knoppen) rood kleurt. Alle teksten gebruiken nu de juiste thema-kleuren, dus goed leesbaar in zowel de lichte als donkere modus."},{"num":"v18.17","type":"bugfix","title":"JPG/PNG naar PDF: witte rand rondom schermafbeeldingen weg","problem":"Bij het omzetten van een macOS-vensterschermafbeelding kwam er een witte rand rondom de foto in de PDF. Dat komt doordat zo'n schermafbeelding een transparante schaduwrand heeft die bij het opslaan als PDF wit werd ingevuld.","solution":"De tool snijdt nu automatisch de egale of transparante rand rondom de afbeelding weg, zodat de PDF strak om de echte inhoud zit. Nieuwe optie \"Witte rand bijsnijden\" (standaard aan) die je per keer kunt uitzetten; een echte foto zonder egale rand blijft ongewijzigd."},{"num":"v18.16","type":"feature","title":"Automatisering-targeting vastleggen per klant (Doelgroep-tab)","problem":"Er was geen vaste plek om vast te leggen waar de groei-/outreach-automatisering per klant op moet targeten.","solution":"In Klantgegevens bewerken â Doelgroep staat nu een blok \"Automatisering-targeting\": doel-hashtags/zoekwoorden, doel-/concurrent-accounts, regio + straal, uitsluitingen en een vrije instructie voor de engine. Het verschijnt ook op het klant-overzicht onder \"Doelgroep & Platformen\". Omdat targeting bij de doelgroep hoort (en niet vertrouwelijk is) staat het bewust hier en niet in het afgeschermde dossier; de eerdere dubbele Groei-velden zijn daar weggehaald."},{"num":"v18.15","type":"polish","title":"Klantgegevens â Branding: lettertypes-invoerveld stond onnodig laag","problem":"Onder het kopje \"Lettertypes\" zat een grote lege ruimte vóór het invoerveld en de Toevoegen-knop, doordat de (lege) tag-strook altijd ruimte innam.","solution":"De lege tag-strook wordt nu verborgen als er nog geen lettertypes zijn, zodat het invoerveld netjes direct onder het kopje staat (zoals bij de secundaire kleuren)."},{"num":"v18.14","type":"bugfix","title":"Dossier-upload: \"Upload het klantdossier\" onleesbaar in donkere modus","problem":"De titel en hints van het upload-vak waren hardcoded donkerblauw/gr
2ijs, waardoor ze in de donkere modus wegvielen tegen de achtergrond.","solution":"De upload-tekst en de stippellijn-rand gebruiken nu de thema-kleuren, dus wit/leesbaar in de donkere modus en donker in de lichte modus."},{"num":"v18.13","type":"polish","title":"Dossier: geen dubbele \"Klantdossier\"-titel meer","solution":"In de ingeklapte weergave stond \"Klantdossier\" twee keer onder elkaar (sectie-titel + paneel-titel). De paneel-titel wordt nu alleen getoond in volledig scherm of bij een echt geüpload bestand met eigen naam."},{"num":"v18.12","type":"bugfix","title":"Dossier: browser vulde geen eigen wachtwoord meer in bij platform-inloggegevens","problem":"Chrome zag het e-mail- + wachtwoordveld bij bijvoorbeeld Instagram aan voor een inlogformulier en vulde daar automatisch je eigen opgeslagen Senly-login in â die vervolgens per ongeluk in het dossier kon worden opgeslagen.","solution":"De platform-inloggegevens-velden zijn nu afgeschermd van browser-autofill (autocomplete=new-password en ignore-hints voor wachtwoordmanagers), zodat er niets meer automatisch wordt ingevuld. Stond er al per ongeluk iets in, maak het veld dan even leeg."},{"num":"v18.11","type":"feature","title":"Dossier: inloggegevens-velden per gekozen platform","problem":"Er was geen nette plek om per social-account de inloggegevens vast te leggen, afgestemd op welke platforms de klant echt gebruikt.","solution":"Het dossier heeft nu een veld \"Inloggegevens per platform\" dat zich baseert op de platforms die je bij de klant hebt aangeklikt (Doelgroep-tab). Kies je Instagram en Facebook, dan verschijnen precies voor die twee login-blokken met gebruikersnaam/e-mail, wachtwoord (met oogje om te tonen), 2FA/herstelcodes en een notitie. Staan er nog geen platforms gekozen, dan wijst een melding je naar de Doelgroep-tab."},{"num":"v18.10","type":"feature","title":"Configureerbaar klantdossier met invulvelden i.p.v. alleen een document","problem":"Het klantdossier was alleen een geupload bestand: slecht doorzoekbaar, niet herbruikbaar en lastig over te dragen tussen teamleden.","solution":"Het dossier heeft nu gestructureerde invulvelden achter het wachtwoord, die je zelf aan- en uitzet per klant. Wat je ziet past bij de dienstverlening van die klant: een advertentieklant krijgt bijvoorbeeld velden voor het advertentie-account en budget, een webonderhoud-klant velden voor hosting en domein. Een document uploaden blijft gewoon mogelijk."},{"num":"v18.09","type":"bugfix","title":"Dossier-invulvelden waren onzichtbaar in de lichte modus","problem":"In de schermvullende weergave (lichte modus) waren de invulvelden niet te zien: ze hadden een bijna-witte achtergrond en een lichte rand, waardoor ze wegvielen tegen de witte pagina.","solution":"De velden en groep-kaders hebben nu een licht- én donker-modus-stijl (witte achtergrond met zichtbare rand in de lichte modus). Zo zijn ze in beide thema's goed leesbaar."},{"num":"v18.08","type":"polish","title":"Klantdossier opent schermvullend na ontgrendelen","solution":"Zodra je het dossier ontgrendelt, opent het schermvullend (zelfde opzet als de tool-productpagina's) zodat je alle velden rustig kunt invullen en lezen. Sluiten kan met de knop rechtsboven; met de knop \"Volledig scherm\" open je het later opnieuw."}]},{"date":"2026-07-07","version":"v18.07","clV":"v0.689","title":"Bulk naar de contentplanner verstuurt weer betrouwbaar","items":[{"num":"v18.07","type":"polish","title":"Klantdossier: oogje om het wachtwoord te tonen","solution":"Bij het ontgrendelen én het aanmaken van het dossier-wachtwoord staat nu een oogje in het invoerveld â klik erop om te zien wat je typt (en nog eens om het weer te verbergen). Geldt voor alle drie de velden (ontgrendelen, nieuw wachtwoord, herhalen)."},{"num":"v18.06","type":"feature","title":"Contentplanner: kies de status waarmee posts landen (concept / ter goedkeuring / direct inplannen)","problem":"Alles wat je naar de contentplanner stuurde landde altijd als concept; wilde je iets direct inplannen of eerst laten goedkeuren, dan moest je dat zelf per post aanpassen.","solution":"Bij het versturen naar de contentplanner kies je nu de status: concept zoals voorheen, ter goedkeuring (gaat naar de ingestelde reviewers en pas de deur uit na akkoord) of direct inplannen (publiceert automatisch op het geplande moment)."},{"num":"v18.05","type":"polish","title":"Contentplanner: captions beter leesbaar â bredere kaarten + volledig uitgeklapte tekst","problem":"In \"Stuur naar Contentplanner\" stonden 6 pagina's naast elkaar met een klein caption-vakje van 3 regels. Om een gegenereerde caption te controleren moest je in elk vakje scrollen.","solution":"De kaarten zijn nu breder (ongeveer 4 per rij op vol scherm) en het caption-veld groeit automatisch mee met de tekst â de hele caption is meteen leesbaar zonder scrollen. De tekst is ook iets groter gezet."},{"num":"v18.04","type":"bugfix","title":"Caption-generatie: sommige pagina's kregen \"AI gaf geen geldige JSON\" â opgelost","problem":"Bij het genereren van bijschriften faalde af en toe een pagina met een onduidelijke foutmelding, vooral bij langere teksten â de tekst werd halverwege afgekapt en was niet meer bruikbaar.","solution":"Het genereren van bijschriften bij afbeeldingen werkt nu op dezelfde, betrouwbare manier als bij tekst, met voldoende ruimte voor de volledige tekst zodat die niet meer wordt afgekapt. Een extra vangnet zorgt ervoor dat een klein hikje niet meteen tot een harde foutmelding leidt."},{"num":"v18.03","type":"bugfix","title":"Grote Canva-batches naar de contentplanner geven geen \"Ongeldige response
2(502)\" meer","problem":"Bij het versturen van een grote batch pagina's (bijvoorbeeld 24) van Canva naar de contentplanner werden alle items strikt na elkaar verwerkt, wat bij tientallen items enkele minuten kon duren â waarna de verbinding werd afgebroken en de hele actie leek te zijn mislukt, ook als een deel al gelukt was.","solution":"De items worden nu deels tegelijk verwerkt in plaats van strikt een voor een, in blokjes van 5 met een voortgangsbalk. Mislukt er onverhoopt een blokje, dan worden alleen die pagina's als mislukt gemarkeerd en gaat de rest gewoon door â je krijgt een volledig overzicht van wat wel en niet gelukt is, in plaats van een harde foutmelding."},{"num":"v18.02","type":"polish","title":"Caption-laadtekst noemt de AI-provider niet meer","solution":"De laadmelding bij het genereren van captions is nu \"Captions genererenâ¦\" i.p.v. \"â¦via Gemini\" â de gebruikte AI-provider hoort niet in de UI thuis."},{"num":"v18.01","type":"polish","title":"Demo: profielpagina toont \"Terug naar homepagina\" i.p.v. \"Uitloggen\"","problem":"In de interactieve demo stond op de profielpagina een \"Uitloggen\"-knop, terwijl het voorkeuren-paneel juist netjes een \"Terug naar homepagina\"-knop toont. Dat was inconsistent voor bezoekers die de demo verkennen.","solution":"De profielpagina gebruikt nu dezelfde logica als het voorkeuren-paneel: in de demo staat er \"Terug naar homepagina\" (die je naar de publieke site brengt), buiten de demo gewoon \"Uitloggen\"."},{"num":"v18.00","type":"feature","title":"Postmomenten per contentsoort instellen bij de klant (reel / post / story à dag + tijd)","problem":"In de klantgegevens kon je alleen los \"posts per week\" en \"stories per week\" als vrije tekst invullen. Er was geen manier om per contentsoort vast te leggen op welke weekdagen én tijdstippen er gepost wordt.","solution":"Onder Klantgegevens bewerken â Content staat nu een postmomenten-planner: kies per Reels, Posts en Stories welke dagen (maâvr) actief zijn en zet per gekozen dag een tijdstip. Wordt opgeslagen bij de klant (in contentPlanning) zodat het per klantprofiel bewaard blijft."},{"num":"v17.99","type":"feature","title":"Klant-postmomenten vullen automatisch de Contentplanner-planning","problem":"De dagen en tijdstippen die je per klant instelt, moesten in \"Stuur naar Contentplanner\" telkens opnieuw handmatig worden gezet.","solution":"De verzendmodal leest nu de per-klant ingestelde postmomenten en pre-fillt de dag/tijd-keuzes. Reels hebben daarbij een eigen rij gekregen (naast Posts en Stories), zodat elk van de drie soorten op zijn eigen dagen en tijd wordt ingepland. Een gedeelde slot-check voorkomt dat twee items op exact hetzelfde moment landen."},{"num":"v17.98","type":"feature","title":"Postmomenten: elke dag houdt zijn eigen tijd (di 12:00 naast wo 08:00)","problem":"De planning nam per contentsoort maar één tijd mee â zette je bv. stories op di/do om 12:00 maar op wo om 08:00, dan verdween die afwijkende woensdag-tijd.","solution":"De hele keten (klantkaart â verzendmodal â ingeplande datum) werkt nu met een tijd pér dag. Elke gekozen dag toont en gebruikt zijn eigen tijdstip. In \"Stuur naar Contentplanner\" zitten die uitgebreide instellingen achter een tandwiel-knop: klik erop om per soort de dagen (maâzo) en tijden open te klappen."},{"num":"v17.97","type":"polish","title":"\"Stuur naar Contentplanner\" is nu schermvullend","solution":"De verzendmodal gebruikt nu het volledige scherm, in dezelfde opzet als de tool-productpagina's â meer overzicht bij grote batches en per-pagina instellingen."},{"num":"v17.96","type":"polish","title":"De statusbolletjes bij \"Aankomende deadlines\" pulseren nu zachtjes","problem":"De gekleurde bolletjes naast Verlopen / Vandaag / Deze week / Deze maand op het dashboard waren statisch en vielen nauwelijks op.","solution":"Elk bolletje blijft even groot, maar er dijt nu een zachte ring in de eigen kleur naar buiten uit die vervaagt â net als een \"Available\"-indicator. Ze pulsen net uit de maat met elkaar, waarbij \"Verlopen\" iets sneller klopt (urgenter) en \"Deze maand\" wat rustiger. Wie beweging heeft uitgezet (systeeminstelling \"verminder beweging\") ziet gewoon stilstaande bolletjes."}]},{"date":"2026-07-06","version":"v17.95","clV":"v0.688","title":"Meer ademruimte op je profiel","
2items":[{"num":"v17.95","type":"feature","title":"Demo: Analytics overzicht op de klantpagina gevuld met voorbeelddata","problem":"Op de Content-tab van een demo-klant bleef het Analytics-blok op \"niet gekoppeld\" staan â het hele Analytics overzicht (KPI-tegels, volgersgroei-grafiek, beste berichten) was onzichtbaar in de demo, terwijl dat juist een van de sterkste schermen is.","solution":"Demo-klanten tonen nu een gevuld Analytics overzicht met realistische voorbeelddata voor Instagram en Facebook: bereik, vertoningen, interacties, stories, een volgersgroei-grafiek (30/90 dagen) en acht beste berichten. Volledig synthetisch en deterministisch â de centrale credentials worden niet geraakt, en herkoppelen is in de demo expliciet geblokkeerd."},{"num":"v17.94","type":"feature","title":"Einddatum per klant (\"Klant tot\") â financiën + status regelen zichzelf","problem":"Je kon wel een startdatum ('Klant sinds') instellen, maar geen einddatum: een klant die ging stoppen bleef gewoon meetellen in je omzet, winst en commissie totdat je alles handmatig afhandelde.","solution":"Met het nieuwe veld 'Klant tot' stopt een klant automatisch mee te tellen in je omzet, winst en commissie vanaf de maand na de einddatum, en wordt de klant daarna automatisch op inactief gezet, inclusief het afronden van lopende commissies en het herberekenen van je abonnement. Leeg laten betekent dat de klant gewoon doorloopt zoals voorheen."},{"num":"v17.93","type":"polish","title":"Commissie-overzicht toont nu \"stopt op {datum}\" bij klanten met een einddatum","problem":"Stelde je bij een klant een einddatum in, dan bleef in het commissie-overzicht alleen de gewone maandregel staan â nergens was te zien dat die klant binnenkort stopt.","solution":"Onder de klantnaam in het commissie-overzicht staat nu een 'stopt op {datum}'-label zodra er een einddatum is ingesteld. Het bedrag van de laatste maand blijft volledig, maar je ziet nu meteen dat de commissie daarna stopt."},{"num":"v17.92","type":"bugfix","title":"Demo: LinkedIn/TikTok-koppelingen tonen nu ook in de matrix en het klantprofiel","problem":"In het demo-account bleven de LinkedIn- en een deel van de TikTok-koppelingen leeg in het overzicht en op klantprofielen, in afwachting van de eerstvolgende nachtelijke ververing.","solution":"In de demo-omgeving zijn de ontbrekende koppelingen nu direct zichtbaar (ongeveer 92 procent gekoppeld, de rest met een verbind-knop), consistent op zowel het overzicht als het klantprofiel. Echte klantomgevingen worden hierbij niet aangeraakt."},{"num":"v17.91","type":"bugfix","title":"Demo: Sales-rapportages tonen direct gewonnen omzet, conversie, afspraken en histogrammen","problem":"Op het rapportagetabblad in de demo stond alles op nul: gewonnen omzet, conversie, gemiddelde dealwaarde, afspraken en verloren deals, en de grafieken waren leeg â dat gaf een verkeerd beeld van wat de sales-module kan.","solution":"De demo toont nu realistische cijfers en grafieken: kengetallen, een volledige verkooptrechter, 5 managers in het prestatie-overzicht en 6 maanden aan historie, die meeschalen met de gekozen periode. Echte klantomgevingen blijven ongewijzigd."},{"num":"v17.90","type":"bugfix","title":"Demo: Financieel > Klanten en CRM > Contacten meteen gevuld","problem":"Beide tabbladen toonden in de demo nauwelijks gegevens â 'nog geen factuurklanten' en slechts 5 contacten â waardoor de demo leeg leek voor bezoekers.","solution":"De demo toont nu direct 500 factuurklanten en 300 contacten, zodat bezoekers meteen een gevulde omgeving zien. Echte klantomgevingen blijven ongewijzigd."},{"num":"v17.89","type":"bugfix","title":"Demo: taken staan direct verspreid over Vandaag/Deze week/Deze maand â geen wachten op reseed","problem":"Op de takenpagina in de demo stonden 52 van de 54 taken op 'verlopen' en waren alle andere overzichten (vandaag, deze week, deze maand) leeg, waardoor bezoekers niet konden zien hoe een normaal geplande werklast eruitziet.","solution":"De demo berekent deadlines nu altijd opnieuw ten opzichte van vandaag, zodat taken weer netjes verdeeld staan over vandaag, deze week en deze maand â ongeacht wanneer de demo voor het laatst ververst is. Echte klantomgevingen blijven ongewijzigd."},{"num":"v17.88","type":"polish","title":"Demo-omgeving: taken bevroren fris, contacten/klanten/rapportages/koppelingen aangevuld","problem":"De interactieve demo begon sleets te ogen: 44 taken stonden op verlopen, de contactenlijst toonde maar 5 leads, het financiele klantoverzicht was leeg, de sales-rapportages stonden op nul en de LinkedIn-koppelingen ontbraken volledig.","solution":"De demo ververst nu dagelijks automatisch en blijft daardoor fris: taken staan nooit meer op verlopen, er zijn 300 extra leads en bijbehorende contacten toegevoegd, 500 factuurklanten en 45 afspraken gevuld, en alle klanten tonen nu koppelingen op alle 4 platforms in het overzicht."},{"num":"v17.87","type":"polish","title":"Ruimte tussen de blokken op \"Mijn profiel\"","problem":"Het blok \"Tweestapsverificatie\" en het blok \"Meldingen\" stonden direct tegen elkaar aan, zonder tussenruimte â dat oogde gedrongen en maakte het lastig om de twee secties visueel uit elkaar te houden.","solution":"Tussen de blokken zit nu dezelfde tussenruimte als tussen de andere secties op de pagina, zodat elk profielblok als een eigen kaart leest."},{"num":"v17.86","type":"polish","title":"Dashboard-widgets 5% donkerder (echt zichtbaar deze keer)","problem":"De vier kengetal-tegels bovenaan en de grote dashboardblokken (maandwinst, laatste activiteit, snelle acties, deadlines) staken net iets te licht af tegen de donkere achtergrond, waardoor het onderscheid met de rest van de pagina minder duidelijk was dan bedoeld.","solution":"De tegels en dashboardblokken zijn nu daadwerkelijk iets donkerder, met behoud van de bestaande kleurtint en glaslook."},{"num":"v17.85","type":"polish","title":"Klantkaarten op het dashboard volgen nu je huisstijlkleur","problem":"De klantkaarten op het dashboard t
2intten hun hele achtergrond op de per-klant-kleur in plaats van je ingestelde huisstijl. Wie een blauw-groene huisstijl had, zag toch losstaande gele, paarse of teal-basisvlakken door de kaarten â alsof je huisstijl niet doorwerkte.","solution":"De basis-achtergrond van elke klantkaart volgt nu je huisstijl. De klantkleur blijft wel zichtbaar in de top-glow, de icoontile, de naam-gradient en de hover-rand â zodat je in één oogopslag ziet op welke klant je klikt, terwijl de kaart als geheel bij je huisstijl past."},{"num":"v17.84","type":"polish","title":"Changelog volgt light/dark van het platform","problem":"De /changelog pagina startte altijd in dark mode, ook als je in het platform light mode had ingesteld. Je moest daar handmatig via het zonnetje rechtsboven omschakelen.","solution":"Zodra je ingelogd bent volgt de changelog nu het thema van je portaal-instellingen. Klik je alsnog op de eigen light/dark-knop op de pagina, dan blijft die keuze bewaard en overschrijft die voortaan het portaal-thema."}]},{"date":"2026-07-05","version":"v17.83","clV":"v0.687","title":"Apple-glasrand komt naar het dashboard","items":[{"num":"v17.83","type":"bugfix","title":"Directe boekingslink van een privé meeting-type werkt weer","problem":"Een meeting-type dat niet zichtbaar is op je publieke boekingspagina (badge \"Privé\") gaf via de directe link â die je met de kopieer-knop deelt â een \"Niet beschikbaar\"-pagina. De link-pagina eiste onterecht dat het type publiek zichtbaar was.","solution":"Privé betekent nu wat het belooft: het type staat niet op je publieke overzichtspagina, maar iedereen met de directe link kan gewoon boeken. Alleen inactieve types blijven geblokkeerd."},{"num":"v17.82","type":"feature","title":"Valuta instellen kan nu vanaf je profiel","problem":"De opstart-taak \"Stel je valuta in\" linkte naar de instellingen, maar er was nergens een plek om de valuta van je bureau daadwerkelijk te kiezen.","solution":"Op \"Mijn profiel\" staat nu een blok \"Valuta\" (voor admins) waar je de werkvaluta van je bureau kiest â EUR, USD, GBP, CAD, AUD of CHF. De keuze geldt bureau-breed: nieuwe facturen en offertes worden in die valuta aangemaakt en financiële bedragen worden erin getoond. De opstart-taak wijst nu direct naar dit blok."},{"num":"v17.81","type":"feature","title":"Notificatie-voorkeuren: kies zelf welke meldingen je krijgt","problem":"De opstart-taak \"Stel je notificaties in\" linkte naar je profiel, maar daar viel helemaal niets in te stellen â de knoppen bestonden nergens.","solution":"Op \"Mijn profiel\" staat nu een blok \"Meldingen\" met drie schakelaars: nieuwe boekingen, klant-activiteit (verzet/annulering, offertes, contracten) en betalingen. Zet je er eentje uit, dan krijg je die melding niet meer â per e-mail én in het bel-icoon. Standaard staat alles aan, dus er verandert niets tenzij je zelf iets uitzet. Facturatie-mails van Senly zelf (abonnement/incasso) blijven altijd aan."},{"num":"v17.80","type":"bugfix","title":"Launchpad: \"Naar instellingen\" opent nu de voorkeuren én vinkt dark mode vanzelf af","problem":"Bij de opstart-taak \"Probeer dark mode\" ging de knop \"Naar instellingen\" naar je profielpagina zonder de voorkeuren-zijbalk te openen, en de taak bleef daarna handmatig af te vinken.","solution":"De knop schuift nu direct de voorkeuren-zijbalk uit op de pagina waar je staat, en zodra je dark mode kiest wordt de taak automatisch als voltooid gemarkeerd."},{"num":"v17.79","type":"bugfix","title":"Gelijke tussenruimte tussen de dashboard-widgets","problem":"Onder de widget \"Snelle acties\" zat meer witruimte dan erboven: de korte kaart stond in een rij met een vaste minimumhoogte, waardoor er lege rij-ruimte onder de kaart overbleef.","solution":"De rijhoogte volgt nu de inhoud, met de minimumhoogte op de widgets zelf. Korte widgets zoals \"Snelle acties\" krimpen naar hun eigen hoogte, zodat de tussenruimte boven en onder elke widget weer gelijk is."},{"num":"v17.78","type":"polish","title":"Glasrand op de dashboard-kaarten en KPI-tegels","problem":"De verfijnde glasrand-stijl die eerder voor de Tool Store geintroduceerd was, liep nog niet door in de rest van het portaal.","solution":"De glasrand-stijl wordt nu stap voor stap uitgerold over het portaal, te beginnen bij het dashboard: de widget-kaarten en de gekleurde kengetal-tegels krijgen dezelfde verfijnde rand met een zachte lift. De stijl is overal consistent, zowel in de lichte als de donkere weergave."},{"num":"v17.77","type":"polish","title":"Glasrand ook op de Launchpad","solution":"De Launchpad (je opstart-checklist) heeft nu dezelfde glasrand: de voortgangs- en zijkaarten krijgen de rand met zachte lift, en de losse stap-taken een fijne rand â in lijn met het dashboard en de Tool Store."},{"num":"v17.76","type":"polish","title":"Glasrand ook op Social Media Trends","solution":"De Trends-pagina volgt nu ook de glasrand: de KPI-kaarten, trend-artikelen, inzicht-rijen en de categorie-zijkaart krijgen de nette rand met zachte lift. Consistent met de rest van het portaal, light én dark."},{"num":"v17.75","type":"polish","title":"Glasrand ook op de Contentkalender","solution":"Het kalender-venster krijgt nu dezelfde glasrand als frame rond je content-planning â een nette, licht opgetilde omkadering in lijn met de rest van het portaal."},{"num":"v17.74","type":"polish","title":"Glasrand nu door het hele portaal","solution":"De glasrand-stijl is nu overal in het portaal doorgevoerd: statistieken, planning, klantbeheer, financieel, klantprofielen, profiel, affiliate en de tools-overzichten volgen dezelfde stijl, consistent in zowel de lichte als de donkere weergave."},{"num":"v17.73","type":"polish","title":"Partner-analytics: nettere omzet/marge-grafiek","problem":"Op de partner-analyticspagina werd de lijn-grafiek \"Omzet, kosten & marge\" enorm hoog getekend, met veel te grote maand-labels â en als er nog geen omzet was, zag je een groot leeg vlak.","solution":"De grafiek heeft nu een vaste, compacte hoogte en de maand-labels staan klein onder de grafiek in plaats van meegeschaald in de tekening. Is er nog geen omzet, kosten of marge, dan tonen we een korte uitleg in plaats van een lege grafiek."},{"num":"v17.72","type":"polish","title":"âMijn klantenâ heet nu âPartnerportaalâ","problem":"De white-label partner-pagina heette âMijn klantenâ, wat botste met het gewone Klanten-begrip in het portaal.","solution":"Het menu-item en de paginatitel heten nu âPartnerportaalâ â duidelijker dat dit de hele partner-omgeving is (klanten, team en facturatie). In alle vier de talen."},{"num":"v17.71","type":"polish","title":"Minder lege ruimte onder de âSnelle actiesâ-widget","problem":"De âSnelle actiesâ-widget op het dashboard werd uitgerekt tot de standaard-rijhoogte, waardoor er een grote lege ruimte onder de knoppen stond.","solution":"De widget krimpt nu netjes mee met zân inhoud, zodat de kaart vlak onder de actie-knoppen eindigt."},{"num":"v17.70","type":"bugfix","title":"Partner-facturatie: factuurhistorie + betaalstatus werkten niet","problem":"Door een wijziging bij onze betaalverwerker stond een verwijzing in facturen op een andere plek dan verwacht, waardoor de factuurhistorie in het partnerportaal leeg bleef, de mail bij een mislukte betaling niet verstuurd werd, en een geslaagde partnerbetaling in het slechtste geval verkeerd geboekt kon worden.","solution":"De partnerfacturatie leest de juiste gegevens weer op de juiste plek. Factuurhistorie, betaalstatus en de mail bij een mislukte betaling werken weer correct, en partnerfacturen worden niet meer verward met bureaufacturen."},{"num":"v17.69","type":"bugfix","title":"Ontkoppelen stopt nu de facturatie én blokkeert het account","problem":"Als een partner een klant-bureau ontkoppelde, bleef de maandelijkse factuur doorlopen én kon de ex-klant gewoon blijven inloggen â terwijl er niemand meer voor dat account betaalde.","solution":"Bij het ontkoppelen van een klant wordt de automatische facturatie stopgezet en kan de ex-klant niet meer inloggen (lopende sessies vervallen direct). De onderliggende data blijft bewaard."},{"num":"v17.68","type":"feature","title":"Partnerportaal: meldingen bij at-risk klanten en tariefdrempel","problem":"Als partner moest je zelf in de gaten houden welke klant stil lag of wanneer een bureau bijna een goedkoper tarief bereikte.","solution":"Je krijgt nu automatisch een melding in je portaal wanneer een klant aandac
2ht nodig heeft (nog niet ingelogd, lang inactief, of geen profielen én geen geplande posts) en wanneer een bureau de 20-drempel nadert waarbij je tarief per profiel van â¬50 naar â¬40 zakt. Meldingen komen hooguit eens per twee weken per klant, en net-aangemaakte klanten krijgen eerst een week rust."},{"num":"v17.67","type":"bugfix","title":"Partnerportaal: heractiveren zet alleen de juiste logins terug","problem":"Een gepauzeerde klant heractiveren zette álle geblokkeerde logins van dat bureau weer aan â óók een medewerker die het bureau zelf al vóór de pauze had uitgezet.","solution":"Bij pauzeren onthoudt het systeem nu precies wélke logins het blokkeert, zodat heractiveren exact die terugzet en een eerder uitgezette medewerker uitgezet blijft."},{"num":"v17.66","type":"bugfix","title":"Partnerportaal: extra vangnetten rond pauzeren en facturatie","problem":"Twee randgevallen: je kon technisch nog in een gepauzeerd bureau springen, en een naloop-factuur kon een geannuleerd partner-abonnement onterecht weer op âactiefâ zetten.","solution":"Inspringen in een gepauzeerd bureau wordt nu geweigerd met een duidelijke melding, en een geslaagde naloop-betaling zet een geannuleerd abonnement niet meer terug op actief."},{"num":"v17.65","type":"feature","title":"Een klant pauzeren blokkeert nu ook het account én de facturatie","problem":"Een klant pauzeren verlaagde wel je Stripe-bedrag aan Senly, maar de klant kon gewoon blijven inloggen en de maandfactuur van jou naar die klant liep door.","solution":"Pauzeren betekent nu echt âeven geen Senlyâ: de klant kan niet meer inloggen (lopende sessies vervallen direct) en de automatische facturatie wordt stopgezet. Zodra je de klant weer activeert, krijgt die weer toegang en hervat de facturatie vooruit â zonder de gepauzeerde maanden alsnog in rekening te brengen."},{"num":"v17.64","type":"polish","title":"Kaarten zonder rand: schaduw en diepte doen nu het werk","problem":"De vorige
2kaart-stijl met een glasrand liet nog steeds een zichtbare lijn om elke kaart zien, wat bij veel kaarten samen onrustig oogt.","solution":"Kaarten hebben nu geen rand meer, maar een zachte schaduw en een subtiel verloop in de achtergrond voor meer diepte. In donkere modus komen kaarten los door een iets lichtere tint met een vleugje glans. Dit is platformbreed in één keer doorgevoerd."},{"num":"v17.63","type":"polish","title":"Zwevende navigatiebalk","problem":"De navigatiebalk links zat vastgeplakt aan de schermrand met een harde scheidingslijn â functioneel, maar niet premium.","solution":"De balk zweeft nu als een afgerond paneel los van de rand, met een zachte slagschaduw en een subtiele glasrand op het huisstijl-verloop. Menu-iconen bewegen soepeler (zachte lift bij hover) en de uitlijning met de paginatitel blijft exact behouden."},{"num":"v17.62","type":"polish","title":"De bovenbalk zweeft nu mee met de menubalk","problem":"Na het loskomen van de menubalk oogde de bovenbalk vreemd: een muurvaste witte strook van rand tot rand die botste met het zwevende paneel ernaast.","solution":"De bovenbalk is nu een zwevende glas-capsule in dezelfde stijl als de menubalk: afgeronde hoeken, doorschijnend met blur, zachte schaduw en dezelfde afstand tot de rand. Content dat er bij het scrollen achterlangs schuift, vervaagt zachtjes in de pagina-kleur in plaats van tegen een harde lijn te stoten. Werkt in light en dark, op desktop en mobiel."},{"num":"v17.61","type":"polish","title":"Soepelere micro-animaties door het hele portaal","problem":"Hovers en overgangen gebruikten honderden losse timings met de standaard browser-curve â hier snel, daar traag, nergens hetzelfde.","solution":"Ruim 870 overgangen (knoppen, rijen, kaarten, menu-items én alle micro-interacties) zijn genormaliseerd naar één vaste curve die snel start en zacht uitloopt, in twee tempo-lagen: snel voor kleine feedback, rustiger voor grotere elementen. Alles voelt daardoor als één product in plaats van losse onderdelen."},{"num":"v17.60","type":"bugfix","title":"Achtergrond loopt nu door achter de zwevende menubalk","problem":"Sinds de menubalk zweeft was de strook erachter zichtbaar lichter dan de rest van de pagina: de sfeer-gloed van het dashboard stopte precies op de rand van het content-gebied, omdat hij op de verkeerde laag getekend werd.","solution":"De sfeer-gloed wordt nu op de volledige pagina-laag getekend en loopt naadloos onder de zwevende menubalk door â in light en dark, en ook met een aangepaste huisstijl-kleur. Ook de scroll-fade bovenin en de crème-basis van light mode dekken nu de volle breedte, zodat er nergens meer een verticale naad op de content-grens zichtbaar is. In het content-gebied verandert er visueel niets."},{"num":"v17.59","type":"polish","title":"Eén focus-ring voor het hele portaal","problem":"Bij navigeren met het toetsenbord en focus op invoervelden verschenen tientallen net verschillende groene ringen, elk met een andere dikte en tint.","solution":"Alle focus-ringen gebruiken nu dezelfde stijl, die automatisch meekleurt met licht en donker thema. Overal dezelfde zachte ring, nergens meer een afwijkende."},{"num":"v17.58","type":"polish","title":"Nieuwe klant-venster langs de nieuwe meetlat","solution":"Het Nieuwe klant toevoegen-venster staat nu op het brand-oppervlak met de vaste venster-schaduw, en de live voorbeeld-kaart links kreeg de binnen-tegel-stijl. Het AI brand-analyse-blok behoudt zijn accent-highlight, en de dienstverlening-kleuren en brand-kleur-keuzes blijven uiteraard zoals ze waren."},{"num":"v17.57","type":"polish","title":"Abonnement & incasso langs de nieuwe meetlat","solution":"De status-, tarief- en SEPA-kaarten op de abonnementspagina staan nu op het brand-oppervlak, de uitgelichte status-kaart houdt zijn accent-gloed op de nieuwe basis, en de Stripe-knop volgt je huisstijlkleur met automatisch leesbare tekst."},{"num":"v17.56","type":"polish","title":"Alle instellingen-paginaâs langs de nieuwe meetlat","solution":"De twaalf instellingen-pagina's van je bureau volgen nu allemaal dezelfde kaart-stijl: lijsten, kaarten, panelen en vensters staan op een oppervlak dat meekleurt met je huisstijl, zonder losse randjes."},{"num":"v17.55","type":"polish","title":"Profiel beheer langs de nieuwe meetlat","solution":"De profielkaart, account-info-kaart en alle instellingen-blokken (persoonlijke gegevens, tijdzone, valuta, meldingen) op Mijn profiel staan nu op het brand-oppervlak dat meekleurt met je huisstijl, in beide themas."},{"num":"v17.54","type":"polish","title":"Facebook- en LinkedIn-groeitools langs de nieuwe meetlat","solution":"De statistiek-kaarten, het hoofdpaneel, de live-activiteit, scan-opties en systeemstatus van de groeitools hadden een vaste, bijna-zwarte achtergrond die je huisstijl negeerde. Alle panelen staan nu op een oppervlak dat meekleurt met je huisstijl. Bij de LinkedIn-tool kleuren ook de pagina-achtergrond en de vijf modus-tegels mee, met de actieve tegel als accent."},{"num":"v17.53","type":"polish","title":"Klantprofiel langs de nieuwe meetlat","solution":"De klant-hero (met de klantkleur-gloed), de status-kaarten (open taken, deadline, activiteit) en de info-kaarten zoals de brand kit staan nu op het brand-oppervlak dat meekleurt met je huisstijl. De klantkleur-accenten en brand-kit-kleuren blijven uiteraard per klant."},{"num":"v17.52","type":"polish","title":"Medewerkerskosten langs de nieuwe meetlat","solution":"De kosten-KPIâs en de kaarten per medewerker (met de klant-koppelingen-tabel) op Financieel â Medewerkers staan nu op het brand-oppervlak dat meekleurt met je huisstijl, met de zachte kaart-lift bij aanwijzen en alle overgangen op de vaste animatie-curve."},{"num":"v17.51","type":"polish","title":"Massa-koppeling langs de nieuwe meetlat","solution":"De koppel-tabel (klanten à platforms) staat nu op het brand-oppervlak dat meekleurt met je huisstijl, de Verbind- en Heraankoppelen-knoppen kiezen automatisch leesbare tekst op de accent-kleur en geven voelbare klik-feedback. De rode Verlopen-status blijft semantisch."},{"num":"v17.50","type":"polish","title":"Activiteiten (audit-log) langs de nieuwe meetlat","solution":"De activiteitenregels zijn nu kaarten met een zachte lift bij aanwijzen en openen, in plaats van losse tekstregels zonder achtergrond. De statistiek-kaarten ernaast volgen dezelfde stijl."},{"num":"v17.49","type":"polish","title":"E-mail campagnes langs de nieuwe meetlat","solution":"De statistiek-kaarten, campagne-lijst, campagne-kaarten en de zijkaarten (aanbevolen actie, recente templates) van de campagne-pagina staan nu op het brand-oppervlak dat meekleurt met je huisstijl, in beide themas. Actieknoppen en paginering geven voelbare klik-feedback."},{"num":"v17.48","type":"polish","title":"Eigenaar-overzicht langs de nieuwe meetlat","solution":"Het maandelijks-overzicht-paneel, de financiele cellen, de content-uitstroom en de zijkaarten van de Eigenaar-pagina staan nu op het brand-oppervlak dat meekleurt met je huisstijl â met de statistiek-tegels als donkerdere binnen-laag voor diepte, in beide themas. De groene/rode en amber accenten (winst, kosten, aandac
2htspunten) blijven semantisch."},{"num":"v17.47","type":"polish","title":"Partnerportaal langs de nieuwe meetlat","solution":"De statistiek-kaarten, het facturatie-blok, de klant-kaarten en het team-panel van het Partnerportaal staan nu op het brand-oppervlak dat meekleurt met je huisstijl. De Nieuwe klant-knop en team-avatars kiezen automatisch leesbare tekst op de accent-kleur."},{"num":"v17.46","type":"bugfix","title":"Facturatie-dashboard: kaarten nu ook op het brand-oppervlak","problem":"Het Facturatie-tabblad van Financieel (omzet-KPIâs, AI-inzichten, cashflow-grafiek, topklanten/risicoklanten/offertes) had wéér een eigen kaart-familie die de eerdere passes niet raakten â plus tientallen vaste teal-tinten die de huisstijl negeerden.","solution":"Alle kaarten op het Facturatie-dashboard staan nu op het brand-oppervlak, het AI-inzichten-blok kleurt zijn gloed en ring mee met je huisstijl, en de grafiek-balken, ranglijst-nummers en voortgangsbalken volgen je huisstijlkleur."},{"num":"v17.45","type":"polish","title":"Affiliate sub-paginaâs (White-label, Reel-bonus, Reviews) langs de meetlat","solution":"Ook de drie onderliggende verdien-paginaâs volgen nu de nieuwe kaart-stijl: de verdien-calculator en voorwaarden-kaart van White-label Partner, de weergave-tiers en spelregels van de Content Creator Bonus, en de platform- en voorwaarden-kaarten van Review & Korting staan allemaal op het brand-oppervlak. De uitgelichte kaarten (Gratis-partnerkaart, Beste deal-tier) behouden hun accent-ring."},{"num":"v17.44","type":"polish","title":"Affiliate langs de nieuwe meetlat","solution":"De statistiek-kaarten, uitlegkaart en infopanelen op de affiliate-pagina staan nu op een oppervlak dat meekleurt met je huisstijl, in beide thema's. Ook de vier keuzekaarten op de 'Verdien met Senly'-hub volgen die stijl, met neutrale iconen die pas kleuren bij aanwijzen. De gekoppeld-status bij Stripe behoudt zijn eigen kleur, en kaarten en tabbladen geven voelbare klik-feedback."},{"num":"v17.43","type":"polish","title":"CRM langs de nieuwe meetlat","problem":"De pijplijn-kolommen hadden nog harde grijze randen (light) en losse donkere vlakken (dark), en de actieve CRM-tab had een vaste witte tekstkleur die bij een felle huisstijlkleur onleesbaar kon worden.","solution":"De kanban-kolommen staan nu op het brand-oppervlak met zachte schaduw in beide themas â de pastel-kleuren per pijplijn-fase blijven exact zoals ze waren. De actieve tab kiest automatisch leesbare tekst, en tabs en bulk-acties geven voelbare klik-feedback."},{"num":"v17.42","type":"bugfix","title":"Tekst op gekleurde knoppen kiest nu automatisch wit of donker","problem":"Knoppen in de huisstijlkleur (zoals Nieuwe e-mail) hadden een vaste donkere tekstkleur â goed leesbaar op de felle standaard-mint, maar onleesbaar zodra een bureau een donkere huisstijlkleur instelt.","solution":"De tekst en iconen op alle accent-gekleurde knoppen, chips en badges bepalen nu automatisch hun kleur op basis van de lichtheid van je huisstijlkleur: wit op donkere kleuren, donker op felle kleuren. Werkt door het hele portaal (51 plekken) en in beide themas."},{"num":"v17.41","type":"bugfix","title":"Financieel Overzicht: kaarten nu ook op het brand-oppervlak","problem":"Het Overzicht-tabblad van Financieel (maandinkomsten/-kosten/-winst, de maandomzet-grafiek, dienst-kaarten en de voetnoot) liep op een aparte stijl-laag die de eerdere Financieel-update niet meepakte â de blokken bleven transparant met alleen een dun randje.","solution":"Alle kaarten op het Overzicht staan nu op hetzelfde brand-oppervlak als de rest van het portaal, met de groene/rode zij-accenten voor winst en kosten intact."},{"num":"v17.40","type":"polish","title":"Tool Store: laatste meetlat-punten","solution":"De Tool Store liep al grotendeels op de nieuwe stijl (de borderloze kaart-taal is hier ontstaan). De laatste losse animatie-timings zijn genormaliseerd en de tool-kaarten, top-charts-rijen, favoriet-knop en de grote installeer-knop geven nu voelbare klik-feedback. De platform-kleuren per tool (TikTok, YouTube, Instagram...) blijven uiteraard zoals ze zijn."},{"num":"v17.39","type":"polish","title":"Financieel langs de nieuwe meetlat","problem":"De facturen-module had eigen vaste teal-knoppen die de huisstijl negeerden (met slecht leesbare witte tekst in dark mode), en de KPI-blokken, facturenlijst en grafiek-kaarten stonden nog op de oude transparant-met-randje-stijl.","solution":"De Nieuwe factuur-knop en editor-knoppen volgen nu je huisstijlkleur met leesbare tekst, alle financiele kaarten (KPI-blokken, facturenlijst, grafiek-kaarten) staan op het brand-oppervlak in beide themas, de animaties lopen op de vaste curve en knoppen en filters geven voelbare klik-feedback."},{"num":"v17.38","type":"polish","title":"Takenbeheer langs de nieuwe meetlat","solution":"De statistiek-balk, overzichtskaarten en de takentabel staan in dar
2k mode nu op het brand-oppervlak dat meekleurt met je huisstijl â light mode behoudt de bestaande zachte rij-kaarten. Bulk-acties, weergave-tabs en paginering geven voelbare klik-feedback."},{"num":"v17.37","type":"bugfix","title":"E-mail: shell nu in dezelfde stijl als de rest + 29 onleesbare knoppen gefixt","problem":"De e-mail-omgeving had een eigen bijna-zwarte achtergrond die niet meekleurde met de huisstijl â inconsistent naast de andere paginaâs. Daarnaast hadden 29 knoppen door het hele portaal witte tekst op de felle accent-kleur, wat in dark mode slecht leesbaar is.","solution":"De drie e-mail-kolommen staan nu als één zwevend paneel op hetzelfde brand-oppervlak als de kalender en meetings, en alle e-mail-accenten (actieve map, ongelezen-stip, teller, Nieuwe e-mail-knop) volgen je huisstijlkleur. De 29 knoppen met wit-op-accent kregen portaal-breed automatisch meekleurende tekst die in beide themas leesbaar is."},{"num":"v17.36","type":"polish","title":"Statistieken langs de nieuwe meetlat","solution":"De statistiek-kaarten en het gezondheids-hero-blok staan nu op het brand-oppervlak dat meekleurt met je huisstijl (de hero-gloed volgt nu ook je eigen kleur in plaats van een vaste teal), de actieve tab kleurt mee met je huisstijl en tabs geven voelbare klik-feedback."},{"num":"v17.35","type":"polish","title":"E-mail langs de nieuwe meetlat + huisstijl-sweep door oude modules","problem":"De e-mailmodule gebruikte op 77 plekken een vaste oude teal-tint en de Opstellen-knop zelfs een verbannen blauw-cyaan verloop â allemaal kleuren die je ingestelde huisstijl volledig negeerden. De knop had bovendien witte tekst op de felle kleur.","solution":"Alle vaste kleuren in de e-mailmodule (actieve map, ongelezen-stip, geselecteerd gesprek, badges) en de Opstellen-knop volgen nu je huisstijlkleur, met goed leesbare tekst in beide themas. De sweep nam meteen dezelfde oude tint in andere modules mee. Ook de laatste losse animatie-timings zijn genormaliseerd en mappen, gesprekken en de Opstellen-knop geven voelbare klik-feedback."},{"num":"v17.34","type":"polish","title":"Meetings langs de nieuwe meetlat","problem":"De Meetings-pagina had nog eigen losse animatie-timings, en de actieve weergave-tab en dag-badges hadden witte tekst op de felle accent-kleur â slecht leesbaar in dark mode.","solution":"Alle Meetings-kaarten (statistieken, kalender-weergaven, instellingen-panelen) staan nu op het brand-oppervlak dat meekleurt met je huisstijl, alle overgangen lopen op de vaste animatie-curve, de actieve tab en badges zijn in beide themas goed leesbaar, en knoppen, tabs en kalender-pijlen geven voelbare klik-feedback."},{"num":"v17.33","type":"bugfix","title":"Menubalk in light mode: lichte tegels terug","problem":"Na de link-regel-fix van vandaag kwam op de menubalk een oud donker kleurverloop terug dat jarenlang onbedoeld onderdrukt was â in light mode oogden het logo-blok en het actieve menu-item ineens als donkerblauwe vlakken op de lichte balk.","solution":"Light mode heeft nu bewust lichte tegels: het logo-blok is wit met een zachte schaduw en het actieve item een subtiele tint in je huisstijlkleur met een donker icoon. Dark mode behoudt het huisstijl-kleurverloop."},{"num":"v17.32","type":"polish","title":"Contentkalender langs de nieuwe meetlat","solution":"Het kalender-venster staat nu op hetzelfde brand-oppervlak als de rest van het portaal (meekleurend met je huisstijl, ook in dark mode), en de klant-chips, filter-chips, weergave-tabs en Vandaag-knop geven voelbare klik-feedback. De klant-kleuren per stip en chip blijven exact zoals ze waren."},{"num":"v17.31","type":"bugfix","title":"Doorschijnende trend-kaarten gefixt","problem":"De drie blog-kaarten op de Trends-pagina (en elke andere kaart die technisch een link is) hadden geen achtergrond: een oude globale link-regel â ooit bedoeld om een onderstreep-effect te verwijderen â wiste met brute kracht ook het nieuwe gradient-oppervlak van kaarten.","solution":"De link-regel is herschreven zodat hij alleen nog als zachte standaard geldt en nooit meer kaart-styling kan overschrijven. De blog-kaarten hebben nu gewoon hun donkere brand-oppervlak, en dit type bug kan ook op toekomstige kaarten niet meer terugkomen."},{"num":"v17.30","type":"polish","title":"Social Media Trends langs de nieuwe meetlat","problem":"De Trends-pagina liep nog op de oude kaart-stijl, de actieve filter-chip had onleesbare witte tekst op de felle mint-kleur in dark mode, en de sectie-iconen droegen onnodig accent-kleur.","solution":"Alle Trends-kaarten (KPI-blokken, artikelen, inzichten, zijkaart) volgen nu het borderloze gradient-oppervlak dat meekleurt met je huisstijl. De actieve chip is in beide themas goed leesbaar, sectie-iconen zijn neutraal, meta-teksten een stap groter, alle overgangen lopen op de vaste animatie-curve en chips geven voelbare klik-feedback."},{"num":"v17.29","type":"bugfix","title":"Kaarten volgen in dark mode nu je huisstijlkleur","problem":"Het nieuwe kaart-oppervlak had in dark mode een vaste blauwgrijze tint, terwijl de menubalk en de achtergrond-gloed wél meekleuren met je ingestelde huisstijlkleur â de blokken vloekten daardoor met de rest van de pagina.","solution":"De volledige donkere basis volgt nu je huisstijl: de pagina-achtergrond en binnen-tegels mengen je brand-kleur door de donkere tinten, en de kaarten zelf hebben exact hetzelfde brand-oppervlak als de menubalk links â alles wat zweeft is één materiaal, diepte komt van schaduw in plaats van kleurverschil. Met de standaard Senly-teal oogt alles warm donkergroen; met een eigen brand-kleur kleurt het hele portaal mee."},{"num":"v17.28","type":"polish","title":"Dashboard langs de nieuwe meetlat: rustiger accent, luchtiger kaarten","problem":"Op het dashboard was de accent-kleur overal tegelijk: KPI-tegels, activiteit-iconen én snelle-actie-iconen â waardoor niets meer opviel. Sub-teksten waren bovendien aan de kleine kant.","solution":"De widget-kaarten volgen nu het borderloze gradient-oppervlak, de accent-kleur is voorbehouden aan de KPI-tegels en actieve staten (iconen zijn neutraal en kleuren bij aanwijzen), sub-teksten en deadline-regels zijn een stap groter, en de zoekknop-hover is beter leesbaar in dark mode."},{"num":"v17.27","type":"polish","title":"Launchpad in de nieuwe kaart-stijl + beter leesbare knoppen","problem":"De Launchpad liep nog op de oude kaart-stijl met zichtbare randen, en de teal actieknoppen hadden in donkere modus witte tekst op een felle mintkleur, wat slecht leesbaar was.","solution":"Alle Launchpad-kaarten volgen nu dezelfde randloze stijl met een zacht verloop en schaduw-diepte. De knoppen kregen donkere tekst op mint (donker thema) en lichte tekst op diepe teal (licht thema), plus een zachte gloed en voelbare klik-feedback. Er is bovendien meer lucht in de k
2aarten en de accentkleur is teruggebracht tot waar hij betekenis heeft: voortgang, actieve status en actieknoppen."},{"num":"v17.26","type":"polish","title":"Meldingen als glas-banners + voelbare klik-feedback","solution":"De melding-banners (rechtsboven) zijn nu doorschijnend glas met blur en een zachte top-glans â de stijl van systeembanners op een telefoon. Daarnaast geven de menubalk-iconen en de knoppen in de bovenbalk nu een korte, subtiele indruk-beweging bij het klikken, zodat elke klik voelbaar bevestigd wordt."},{"num":"v17.25","type":"polish","title":"Menu- en venster-schaduwen op één vaste schaal â en eindelijk licht in light mode","problem":"Dropdowns, zoekpanelen en venstertjes hadden elk hun eigen zware slagschaduw, afgesteld op dark mode â in light mode kregen ze diezelfde donkere schaduw en oogden ze onnodig zwaar.","solution":"De overlay-schaduwen lopen nu via de vaste drietraps-schaduwschaal die automatisch meeschakelt per thema: diep en zacht in dark mode, licht en subtiel in light mode. Elke zwevende laag (menu, dropdown, venster) heeft nu dezelfde natuurlijke diepte."},{"num":"v17.24","type":"polish","title":"Hoekrondingen op één vaste schaal","problem":"Kaarten en knoppen gebruikten honderden nét-afwijkende hoekrondingen (7, 9, 11, 13 pixels...) â het soort micro-inconsistentie dat een interface onbewust rommelig laat voelen.","solution":"Alle rondingen zitten nu op een vaste schaal met stappen van 2 (8, 10, 12, 14...). Geen enkel element is van vorm veranderd; alles staat alleen nét strakker in het gelid."},{"num":"v17.23","type":"polish","title":"Typografie-microdetails: strakkere koppen en stilstaande cijfers","solution":"Koppen door het hele portaal krijgen licht negatieve letterafstand en gebalanceerde regelafbreking, zoals in premium apps. Cijfers hebben nu overal een vaste breedte: bedragen en tellers verspringen niet meer bij live-updates en lijnen netjes verticaal uit in tabellen."},{"num":"v17.22","type":"polish","title":"Zachtere randen en meer diepte door het hele portaal","problem":"Het portaal leunde op honderden dunne randlijnen om vlakken te scheiden â dat maakt het beeld drukker dan nodig.","solution":"De centrale rand-kleur is een stap zachter gezet en er is een vaste drietraps-schaduwschaal toegevoegd voor rustende, zwevende en modale vlakken. De bovenbalk werd glas (doorschijnend met blur) in plaats van een hard wit vlak, primaire knoppen kregen een zachte gloed in de accent-kleur, en de content-marges ademen mee op brede schermen."}]},{"date":"2026-07-04","version":"v17.21","clV":"v0.686","title":"Partners kunnen tussen hun klant-bureaus wisselen","items":[{"num":"v17.21","type":"polish","title":"Geen dubbel koppelingen-blok op het profiel van admins","problem":"Op âMijn profielâ zag een admin een âMijn koppelingenâ-blok (Canva + mailbox), terwijl admins die koppelingen al beheren via de aparte Integraties-pagina â dubbelop en verwarrend.","solution":"Het âMijn koppelingenâ-blok op het profiel is nu verborgen voor admins; zij gebruiken de Integraties-pagina. Managers en setters (die geen Integraties-pagina hebben) zien en gebruiken het blok gewoon nog."},{"num":"v17.20","type":"bugfix","title":"White-label domein toont geen Senly-marketingpagina meer","problem":"Wie een eigen portaal-domein (bijv. portaal.jouwbureau.nl) opende zonder ingelogd te zijn, kreeg de Senly-marketingpagina te zien â met de naam âSenlyâ, prijzen en âover onsâ. Daarmee was direct duidelijk dat er een ander bedrijf achter zat en werkte white-label niet echt.","solution":"Een niet-ingelogde bezoeker op een eigen domein wordt nu meteen naar de (volledig branded) login-pagina gestuurd. De Senly-marketingpagina verschijnt alleen nog op de hoofd-site zelf."},{"num":"v17.19","type":"feature","title":"âMijn klantenâ-menu voor white-label partners","problem":"Een white-label partner met meerdere klant-bureaus had geen manier om vanuit één account tussen die bureaus te wisselen â elk bureau was een los account.","solution":"White-label partners zien nu een extra menu-item âMijn klantenâ in de zijbalk met een overzicht van hun bureaus. Eén klik opent het portaal van een klant (je werkt dan in hún omgeving), met een balk bovenin om terug te keren naar je partner-overzicht. Alleen bureaus die daadwerkelijk onder de partner vallen zijn zichtbaar en te openen."},{"num":"v17.18","type":"feature","title":"Zelf klant-accounts aanmaken vanuit je partner-portaal","problem":"Om een klant onder je partner-account te krijgen was Senly nodig â je kon niet zelf een bureau voor een klant opzetten.","solution":"Op âMijn klantenâ maak je nu met één formulier een compleet klant-bureau aan: bedrijfsnaam, contactpersoon en een login (e-mail + wachtwoord) die je aan de klant geeft. Het bureau valt automatisch onder jou, je springt er direct in, en de klant kan er zelf ook bij. De vaste â¬50/klant/maand aan Senly wordt bijgehouden en als maandtotaal getoond; jij factureert de klant zelf tegen je eigen prijs."},{"num":"v17.17","type":"feature","title":"Partner-analytics: groei, omzet en marge over tijd","problem":"Op âMijn klantenâ zag je alleen de huidige stand â geen inzicht in groei of trends.","solution":"Nieuwe Analytics-pagina (knop rechtsboven op âMijn klantenâ): kerncijfers, een grafiek van je klanten-groei per maand, een trend van omzet/Senly-kosten/marge, en een marge-overzicht per klant (jouw prijs â Senly-kosten). Zo zie je in één oogopslag hoe je white-label portfolio zich ontwikkelt."},{"num":"v17.16","type":"feature","title":"Klant-inzicht per bureau op je klantenkaart","problem":"Op âMijn klantenâ zag je niet welke bureaus actief waren en welke stil lagen â je moest er telkens in springen om dat te controleren.","solution":"Elke klantkaart toont nu de laatste activiteit (wanneer er voor het laatst iemand inlogde) en het aantal geplande posts. Bureaus die aandacht nodig hebben â langer dan drie weken inactief of zonder klantprofielen én geplande posts â krijgen een amberkleurig âAandachtâ-label. Zo zie je in één blik welke klanten goed lopen en welke risico lopen."},{"num":"v17.15","type":"feature","title":"Facturatie-inzicht: volgende afschrijving en factuurhistorie in-portal","problem":"Je zag wel je maandtotaal aan Senly, maar niet wanneer het werd afgeschreven of welke facturen er al waren â daarvoor moest je in Stripe kijken.","solution":"Het facturatie-blok toont nu de volgende afschrijving (bedrag + datum) en een uitklapbare lijst met je eerdere Senly-facturen (datum, bedrag, status, PDF). Mislukt een automatische betaling, dan krijg je bovendien direct een e-mail met een link om je betaalmethode bij te werken â zonder in Stripe te hoeven duiken."},{"num":"v17.14","type":"feature","title":"Partner-team: laat collegaâs meehelpen met klantbeheer","problem":"Een white-label partner met personeel kon klanten alleen vanuit één account beheren â er was geen manier om collegaâs toegang te geven tot âMijn klantenâ, klantbeheer en het inspringen in klant-bureaus.","solution":"Op âMijn klantenâ staat nu een Team-sectie waar je collegaâs toevoegt. Geef ze de rol Beheerder en ze kunnen klanten aanmaken, beheren en erin springen â net als jij. De rol Medewerker geeft alleen gewone toegang tot je eigen bureau. Toevoegen kan via een uitnodigingsmail (collega kiest zelf een wachtwoord) onder jouw eigen merk, en je kunt rollen wijzigen of teamleden verwijderen."},{"num":"v17.13","type":"feature","title":"Klant uitnodigen i.p.v. zelf een wachtwoord instellen","problem":"Je moest een wachtwoord voor je klant verzinnen en dat doorgeven â omslachtig en minder veilig.","solution":"Bij het aanmaken van een klant kun je nu kiezen: de klant zelf een wachtwoord laten kiezen (standaard) of er zelf één instellen. Bij uitnodigen krijgt de klant een e-mail onder jóuw merk met een knop om zân eigen wachtwoord te kiezen (link 7 dagen geldig). Professioneler en veiliger; jij hoeft geen wachtwoord meer te bedenken of door te geven."},{"num":"v17.12","type":"polish","title":"Premium vormgeving voor het klanten-overzicht","solution":"De âMijn klantenâ-pagina volgt nu exact de stijl van de Affiliate-pagina: streepje-eyebrow, grote titel, klant-kaarten met icoon-tegel en âOpen portaalâ-link, en dezelfde volle-breedte-uitlijning â in lijn met de rest van het portaal."},{"num":"v17.11","type":"polish","title":"Subtielere rasterlijnen in de content-kalender","solution":"De lijnen tussen de dag-kolommen en uur-rijen in de week-agenda waren in light mode net te nadrukkelijk. Ze zijn nu lichter gemaakt zodat de posts meer opvallen en het raster rustiger oogt."},{"num":"v17.10","type":"polish","title":"White-label reseller-calculator klopt met de â¬50-staffel","solution":"De reseller-calculator op de âWord partnerâ-kaart rekende nog met een vaste aanbiedingsprijs van â¬59,95 en platte kosten. Hij volgt nu de echte staffel â â¬50 per klant tot 20, â¬40 vanaf 20 â en de teksten benadrukken dat je je eigen verkoopprijs bepaalt. Omzet, marge en âper klantâ-bedrag bewegen correct mee."},{"num":"v17.09","type":"polish","title":"âJe bent al partnerâ-indicator op de white-label kaart","solution":"Ben je al gekoppeld als white-label partner, dan toont de âWord partnerâ-kaart nu een groene âJe bent al partnerâ-badge in plaats van de aanmeld-knop â net als de andere reeds-actieve statussen in het portaal."},{"num":"v17.08","type":"polish","title":"White-label: minder âSenlyâ zichtbaar voor klant-bureaus (ronde 1)","solution":"In de eerste ronde van een grondige controle is onder meer geregeld dat de browser-tabtitel nu de portaalnaam of bureaunaam van het bureau toont in plaats van 'Senly', dat de voettekst zonder eigen portaalnaam terugvalt op de bureaunaam, en dat de pagina om je wachtwoord te herstellen de huisstijl van het bureau volgt op een eigen domein."},{"num":"v17.07","type":"polish","title":"White-label e-mails: geen Senly meer in de inbox van klanten (ronde 2)","solution":"Transactionele e-mails gebruiken nu de portaalnaam van het bureau als afzender-naam i.p.v. de bureau-naam. De reset-wachtwoord-mail krijgt nu ook de tenant-branding (logo + kleur) in de header. De welkomstmail die een partner zân nieuwe klant stuurt komt nu onder het merk van de partner binnen i.p.v. van âSenlyâ. (Factuur-mails waren al volledig op het bureau-merk.)"},{"num":"v17.06","type":"polish","title":"White-label op eigen domein: PWA, tabtitel, favicon en share-preview (ronde 3)","solution":"Op een eigen (custom) domein toont het portaal nu volledig het merk van het bureau: de PWA-installatie gebruikt de portaalnaam + kleur + favicon (was âSenlyâ), de browser-chrome-kleur volgt de merkkleur (geen Senly-teal-flits meer), de tab-titel en OpenGra
2ph/share-preview tonen de portaalnaam, en de login-share toont het merk i.p.v. âSenlyâ."},{"num":"v17.05","type":"feature","title":"Klanten beheren: prijs, marge, branding en acties per klant","problem":"Het klantenoverzicht toonde alleen de naam en een knop om het portaal te openen, zonder mogelijkheid om prijzen, marges of instellingen per klant te beheren.","solution":"De pagina 'Mijn klanten' is uitgebouwd tot een volwaardig beheerscherm met kerncijfers bovenaan (actieve klanten, omzet, kosten en marge per maand) en een zoekbalk met filter en sortering. Elke klantkaart toont status, klant-sinds-datum, aantal gebruikers en je verkoopprijs met marge. Via een menu per klant kun je bewerken, pauzeren of ontkoppelen, en bij het aanmaken stel je meteen prijs, merkkleur en portaalnaam in."},{"num":"v17.04","type":"feature","title":"White-label branding: jouw merk automatisch bij je klanten","problem":"Een nieuwe klant startte met de standaard uitstraling van Senly, en er was geen manier om te bepalen of de klant zijn huisstijl zelf mocht wijzigen.","solution":"Bij het aanmaken van een klant krijgt het bureau nu automatisch jouw merk (logo, kleuren, portaalnaam), aan of uit te zetten per klant. Je kiest ook of de klant zijn huisstijl zelf mag aanpassen: standaard staat je merk vergrendeld voor echte white-label, met één vinkje geef je de klant de vrijheid om te wijzigen. Jij kunt de branding altijd zelf aanpassen via je klantbeheer."},{"num":"v17.03","type":"feature","title":"Automatische facturatie naar Senly op basis van klantprofielen","problem":"De kosten aan Senly werden simpelweg per bureau gerekend, terwijl de echte prijs per klantprofiel geldt, met een korting bij grotere aantallen, net als bij een gewoon bureau.","solution":"Op 'Mijn klanten' staat nu een overzicht van je maandtotaal, berekend per klantprofiel met een lager tarief vanaf 20 profielen. Met 'Facturatie activeren' start het abonnement direct op je bestaande betaalmethode, zonder nieuwe betaalgegevens. Zonder betaalmethode volgt eenmalig een betaalscherm. Het bedrag past zich automatisch aan als je klanten toevoegt of pauzeert."},{"num":"v17.02","type":"feature","title":"Je klanten automatisch factureren vanuit je Financieel-tab","problem":"Als partner betaal je Senly per klant, maar je moest je eigen klanten nog handmatig factureren tegen je eigen prijs.","solution":"Bij een klant kun je nu automatische maandelijkse facturatie aanvinken. Senly zet het klant-bureau als klant in jouw financiële module en maakt elke maand automatisch een factuur tegen jouw verkoopprijs, met jouw bedrijfsgegevens als afzender. Je kiest zelf of die facturen automatisch gemaild worden of als concept klaarstaan voor controle. Wijzig je de verkoopprijs, dan past de maandfactuur zich meteen aan."},{"num":"v17.01","type":"bugfix","title":"LinkedIn-status op het klantprofiel klopt nu per account","problem":"LinkedIn kan twee accounts hebben: een persoonlijk profiel en een bedrijfspagina. Op het klantprofiel werd dit als één regel getoond, waardoor de status 'gekoppeld' leek te kloppen ook als het persoonlijke profiel uitgelogd was, terwijl de tool een andere status toonde.","solution":"Het klantprofiel toont het persoonlijke profiel en de bedrijfspagina nu als aparte regels, elk met een eigen status en verbind-knop, net als in de tool zelf. Vernieuwen koppelt voortaan het juiste account opnieuw."},{"num":"v17.00","type":"polish","title":"Voice-Memo Script-tool in de goud/amber-huisstijl","problem":"De tool zelf was oranje, terwijl de productpagina (en tegel) van Voice-Memo Script een goud/amber-uitstraling had â de kleuren sloten niet op elkaar aan.","solution":"De tool gebruikt nu hetzelfde goud/amber-verloop als de productpagina, zodat de kleur consistent doorloopt van tegel naar tool."},{"num":"v16.99","type":"polish","title":"âBestandsgrootte verkleinenâ-tool in de lichtblauwe huisstijl","problem":"De compressie-tool zelf gebruikte een groen/teal accent, terwijl de productpagina (en tegel) een lichtblauwe uitstraling had â de kleuren sloten niet op elkaar aan.","solution":"De tool gebruikt nu overal hetzelfde lichtblauwe accent als de productpagina (iconen, sliders, geselecteerde opties, knoppen en badges), zodat de kleur consistent doorloopt van tegel naar tool."},{"num":"v16.98","type":"polish","title":"Glazen randjes rond alle tool-blokken + strakkere app-iconen","solution":"De hele Tool Store heeft nu een subtiele glasrand rond de blokken: kaarten ogen als een licht opgetilde tegel, de gekleurde categorie-blokken krijgen een volle witte rand met echte dikte, en de populaire-tools-rijen een fijne rand. Dezelfde stijl loopt door op de productpagina en in de tool zelf. De app-iconen staan nu strakker, met een platte tegel en een crisp randje in plaats van een gekleurde gloed."},{"num":"v16.97","type":"polish","title":"âProfielfoto downloadenâ-tool in de blauwe huisstijl","problem":"De tool zelf gebruikte een groen/teal accent, terwijl de productpagina (en tegel) een blauwe uitstraling had â de kleuren sloten niet op elkaar aan.","solution":"De tool gebruikt nu overal hetzelfde blauwe verloop als de productpagina (icoon, highlights, koppel-banner, invoerveld, knoppen en badges), zodat de kleur consistent doorloopt van tegel naar tool. Daarnaast een neutraler voorbeeld in het URL-veld (âjouwgebruikersnaamâ i.p.v. een specifiek account, in alle talen) en geen focus-rand meer rond het veld bij het openen van de tool."}]},{"date":"2026-07-04","version":"v16.96","clV":"v0.685","title":"White-label partners bepalen nu zelf hun reseller-prijs","items":[{"num":"v16.96","type":"feature","title":"Stel je eigen verkoopprijs per klant in","problem":"De white-label reseller-calculator rekende met een vaste prijs van â¬59,95 per klant. Als partner kon je niet zien wat je marge zou zijn bij jouw eigen prijs.","solution":"Er is een tweede schuif toegevoegd: âJouw prijs per klantâ. Je bepaalt zelf voor hoeveel je Senly doorverkoopt (minimaal de â¬50 Senly-kosten), en de calculator laat je omzet en marge live meebewegen. Je gekozen prijs gaat mee met je partner-aanvraag."},{"num":"v16.95","type":"bugfix","title":"Activatiepagina toont nu de juiste info per partnertype","problem":"Vroeg je de white-label reseller-optie aan, dan liet de activatiepagina toch de affiliate-tekst zien (â30% levenslange commissieâ) â terwijl het reseller-model heel anders werkt (eigen merk, eigen prijs, vaste â¬40-kosten).","solution":"White-label aanvragen worden nu apart gemarkeerd (vaste Senly-kosten â¬50/klant). De activatiepagina toont per type de kloppende tekst: reseller-partners zien de white-label-voordelen, gewone affiliates de commissie-voordelen. Bij activatie wordt je account als white-label-partner gemarkeerd met jouw gekozen prijs."},{"num":"v16.94","type":"polish","title":"Schuifjes in de reseller-calculator volgen je huisstijlkleur","solution":"De twee schuifjes (aantal klanten en jouw prijs) stonden nog op het standaard browser-blauw. Ze gebruiken nu de ingestelde branding-accentkleur, net als de rest van de white-label-pagina."}]},{"date":"2026-07-04","version":"v16.93","clV":"v0.683","title":"Canva-planner: kies zelf hoe er ingepland wordt","items":[{"num":"v16.93","type":"feature","title":"Meerdere carrousels naast elkaar met âSplits hierâ","problem":"Klikte je op âkoppel als carrouselâ op aangrenzende paginaâs, dan sloten ze automatisch aan bij elkaar in één grote groep. Twee losse carrousels naast elkaar maken (pagina 1-3 als carrousel A, 4-6 als carrousel B) was daardoor onmogelijk zonder een tussenpagina eruit te laten.","solution":"Op elke pagina die in een carrousel zit (behalve de eerste van die groep) staat nu een âSplits hierâ-knop. Klik je die op pagina 4 in een groep van 1-6, dan blijft
21-3 in de huidige carrousel en gaat 4-6 in een nieuwe. Zo maak je zoveel opeenvolgende carrousels naast elkaar als je wilt."},{"num":"v16.92","type":"bugfix","title":"âBekijk portaal als â¦â wisselt nu direct van profiel","problem":"Bekeek je als beheerder het portaal van een teamlid (via het oogje), dan verscheen de balk bovenin wel, maar het profiel rechtsboven bleef je eigen naam en rol tonen tot je de pagina handmatig ververste (cmd+R).","solution":"De sessie wordt nu meteen bijgewerkt bij het starten én stoppen van âbekijk portaal alsâ, zodat de naam en rol bovenin direct meeswitchen zonder reload."},{"num":"v16.91","type":"polish","title":"âNodig iemand uitâ alleen nog voor de beheerder","problem":"De uitnodig-kaart (âjullie krijgen allebei 1 week gratisâ) stond op de affiliate-pagina voor iedereen â ook voor teamleden zoals appointment setters. Maar die week gratis is een tegoed op het abonnement van het bureau, niet iets waar een teamlid dat zelf niet betaalt iets aan heeft.","solution":"De âNodig iemand uitâ-kaart tonen we nu alleen aan de beheerder. Je persoonlijke commissie-link (30% uitbetaling) blijft voor iedereen zichtbaar, want die uitbetaling gaat wél rechtstreeks naar het teamlid zelf."},{"num":"v16.90","type":"feature","title":"Partner worden met je bestaande account â geen tweede login meer","problem":"Had je al een Senly-bureau-account en werd je goedgekeurd als partner? Dan probeerde de activatie-link een tweede account met datzelfde e-mailadres aan te maken en liep vast op âdit e-mailadres bestaat alâ. Er was geen upgrade-pad.","solution":"De activatie-link herkent nu dat je al een account hebt. Je vult je bestaande wachtwoord in en de partner-toegang wordt aan datzelfde account gekoppeld â één login voor je bureau én je partner-dashboard."},{"num":"v16.89","type":"feature","title":"âWord partnerâ-aanvraag komt in de goedkeuringswachtrij terecht","problem":"De knop 'Word partner' op de affiliate-pagina stuurde alleen een interne e-mail, die kon ondersneeuwen zonder overzicht van openstaande aanvragen.","solution":"De knop maakt nu een echte aanvraag aan die direct zichtbaar is in het beheeroverzicht van aanvragen. Bij goedkeuring gaat automatisch de activatiemail uit."},{"num":"v16.88","type":"bugfix","title":"Geen ongestylede flits meer op âMijn facturenâ","problem":"Bij het openen van de affiliate-pagina âMijn facturenâ flitste de inhoud ongeveer een seconde ongestyled (kale blauwe links, geen kaarten) voordat de opmaak verscheen.","solution":"De styling van die pagina werd pas ná het laden van de JavaScript toegepast (styled-jsx). Die is nu verplaatst naar de centrale stylesheet die meteen mee-laadt, zodat de pagina direct in de juiste opmaak verschijnt."},{"num":"v16.87","type":"bugfix","title":"Canva-planner: laatste-post-datum en carrousel-datum kloppen","problem":"De tekst 'Laatste post valt op' hield geen rekening met handmatig verzette datums, en op een niet-eerste pagina van een carrousel leek de datum aanpasbaar terwijl de carrousel altijd de datum van de eerste pagina volgt.","solution":"De laatste-post-tekst gebruikt nu de daadwerkelijk geplande datums, inclusief handmatige aanpassingen. Op een niet-eerste carrousel-pagina staat nu duidelijk dat die de datum van de eerste pagina volgt, in plaats van een veld dat je kunt aanpassen."},{"num":"v16.86","type":"feature","title":"Publicatiedatum per pagina aanpasbaar in de Canva-planner","problem":"De datums die de planner berekende stonden vast â wilde je één item op een andere dag, dan kon dat niet zonder de hele cadans te veranderen.","solution":"Elke pagina heeft nu een aanpasbaar datum/tijd-veld. Pas je âm aan, dan blijft die pagina op jouw datum staan (rand kleurt accent); met de âAutoâ-knop zet je âm terug op de automatische planning."},{"num":"v16.85","type":"polish","title":"Waarschuwing bij video in een carrousel (Canva-planner)","solution":"Markeer je een pagina als video én zit die in een carrousel, dan verschijnt nu een subtiele waarschuwing â niet elk kanaal ondersteunt een video-carrousel, en een carrousel exporteert met het media-type van de eerste pagina. Het blokkeert niets, het waarschuwt alleen."},{"num":"v16.84","type":"feature","title":"Posttijden instelbaar in de Canva-planner + starttijd werkt echt","problem":"Je koos wél de dagen (ma/wo/vr) maar niet de tÃjden â die zaten verstopt in globale voorkeuren. En het tijd-gedeelte van âPlannen vanafâ werd genegeerd.","solution":"Je stelt nu de posttijd per type direct in de planner in: âPosts om 08:00â en âStories om 12:00â, naast de dag-keuze. âPlannen vanafâ is nu het startmoment (ondergrens): er wordt niets vóór dat moment ingepland â ook geen posts in het verleden meer. Alle datums onder de paginaâs passen zich live aan."},{"num":"v16.83","type":"feature","title":"Kanalen in bulk instellen in de Canva-planner","problem":"Je kon type en media in bulk zetten, maar de kanalen (Facebook, Instagram, â¦) moest je per pagina aanklikken â bij honderden paginaâs onwerkbaar.","solution":"Er is nu een âSet kanalenâ-rij bovenaan: klik een platform-icoon en het kanaal gaat in één keer aan (of uit) op alle geselecteerde paginaâs."},{"num":"v16.82","type":"polish","title":"Canva-planner toont wanneer de laatste post valt","solution":"Onderin de planner staat nu âLaatste post valt op <datum>â, zodat je in één oogopslag ziet hoever de planning vooruit reikt â handig bij honderden items die maanden vooruit lopen."},{"num":"v16.81","type":"bugfix","title":"Geen automatische uitlog meer na Stripe-koppeling (affiliate)","problem":"Wie zijn affiliate-account met Stripe verbond, werd bij terugkeer vanuit Stripe automatisch uitgelogd en op de loginpagina gezet â i.p.v. gewoon terug op de affiliate-pagina te landen.","solution":"Stripe keert nu terug via een tussenstap op ons eigen domein, wa
2ardoor je ingelogd blijft en direct weer op het tabblad âVerwijzingenâ uitkomt. Dezelfde aanpak geldt voor het opnieuw ophalen van een verlopen Stripe-link."},{"num":"v16.80","type":"polish","title":"Platform-iconen i.p.v. afkortingen in de Canva-planner","problem":"In de âStuur naar Contentplannerâ-modal stonden per pagina de kanaal-keuzes als tekst-afkortingen (FA, IN, LI, TIâ¦), wat lastig scannen was.","solution":"Die afkortingen zijn vervangen door de echte platform-iconen (Facebook, Instagram, LinkedIn, TikTok, X, Threads, Pinterest). Een gekozen kanaal kleurt in de accent-kleur (net als de gevulde type-/media-knoppen), niet-gekozen staat gedimd."},{"num":"v16.79","type":"feature","title":"Planning: bezette dagen overslaan of strak vanaf startdatum","problem":"Bij het inplannen vanuit Canva werden dagen waarop al content stond automatisch overgeslagen â soms handig, maar je kon het niet uitzetten als je juist strak op vaste dagen vanaf een startdatum wilde plannen.","solution":"In de âStuur naar Contentplannerâ-modal kun je nu kiezen: âBezette dagen overslaanâ (zoals voorheen) of âStrak vanaf startdatumâ â dan plant hij op de vaste dagen vanaf je startdatum, ongeacht wat er al gepland staat."},{"num":"v16.78","type":"polish","title":"Rustigere gridlijnen in de content-kalender","problem":"De lijnen tussen de dagen en tijdvakken in de week-weergave (light mode) waren vrij donker grijs, wat het raster zwaarder liet ogen dan nodig.","solution":"De gridlijnen zijn een stuk lichter gemaakt â nog steeds goed te volgen, maar de kalender oogt nu luchtiger."},{"num":"v16.77","type":"polish","title":"Lichtere zijbalk (light mode)","problem":"De icon-rail aan de linkerkant had in light mode nog een zichtbare accent-tint, waardoor de balk vrij zwaar oogde naast de witte content.","solution":"De accent-mix is flink teruggeschroefd â de balk is nu bijna-wit met een nauwelijks merkbare huisstijl-tint, zodat de iconen en het actieve item er beter uitspringen."}]},{"date":"2026-07-03","version":"v16.76","clV":"v0.682","title":"Boekingslinks tonen nu de juiste host-naam","items":[{"num":"v16.76","type":"polish","title":"Onboarding onthoudt je laatst geopende flow","problem":"Bij het openen van Onboarding kwam je altijd op de eerste flow uit de lijst uit, ook al had je net een andere flow (bijv. Social Media Beheer) bekeken â telkens opnieuw zoeken dus.","solution":"De pagina onthoudt nu per gebruiker welke flow je als laatst open had en opent daar weer op. Bestaat die flow niet meer (of log je in met een ander account), dan valt hij netjes terug op de eerste flow."},{"num":"v16.75","type":"bugfix","title":"Grijs lijntje in de tool-zoekbalk weg (light mode)","problem":"In lichte modus stond er een dun grijs kadertje binnen de zoekbalk voor tools.","solution":"Dat binnenste randje is nu weg. Alleen de afgeronde balk zelf is nog zichtbaar omlijnd."},{"num":"v16.74","type":"bugfix","title":"Canva-videoâs plannen nu als video (mp4) i.p.v. stilstaand beeld","problem":"Bij het versturen naar de contentplanner werd elke Canva-pagina als foto geëxporteerd, ook video- en animatiepagina's, die daardoor als stilstaand beeld werden ingepland.","solution":"In het venster kies je nu per pagina tussen afbeelding en video, met een knop om dit voor alles tegelijk in te stellen. Videopagina's worden nu als video geëxporteerd, in de juiste richting, zodat ze ook echt als video in de planner terechtkomen."},{"num":"v16.73","type":"feature","title":"Apart logo voor light mode en dark mode","problem":"Er waren twee logo-velden (âlichte/donkere achtergrondâ), maar de zijbalk toonde altijd hetzelfde logo â verwarrend als je een apart logo per modus wilde.","solution":"De twee velden heten nu âLogo (light mode)â en âLogo (dark mode)â. De zijbalk toont automatisch het juiste logo op basis van de actieve modus: je lichte logo in dark mode, je donkere logo in light mode. Stel je maar één in, dan wordt die overal gebruikt."},{"num":"v16.72","type":"bugfix","title":"Logo-wijziging direct zichtbaar zonder herladen","problem":"Als je een nieuw logo (of andere huisstijl) instelde en opsloeg, veranderde het logo in de zijbalk pas na een volledige page-reload. Het opslaan wiste wel de interne cache, maar de al-geopende zijbalk las die niet opnieuw.","solution":"Bij opslaan verversen nu alle onderdelen die de huisstijl tonen (zijbalk-logo, kleuren, portaalnaam) meteen â je ziet je nieuwe logo direct, zonder de pagina te herladen."},{"num":"v16.71","type":"bugfix","title":"Huisstijl-uitleg: logo staat in de zijbalk, niet de header","problem":"Bij het instellen van je logo zei de uitleg dat het âin de headerâ verscheen, maar de header toont helemaal geen logo â waardoor het leek alsof je logo niets deed.","solution":"De tekst noemt nu de echte plekken: je logo ver
2schijnt in de zijbalk (de merk-tegel linksboven) en op de login-pagina. Aangepast in alle talen (NL/EN/DE/FR)."},{"num":"v16.70","type":"bugfix","title":"Logo voor lichte achtergrond op de juiste plek","problem":"Het aparte âLogo (lichte achtergrond)â leek niets te doen. De donkere merk-tegel in de zijbalk pakte juist die lichte-achtergrond-variant (een donker logo op een donkere tegel = onzichtbaar), en op het lichte login-kaartje stond andersom het witte donkere-achtergrond-logo â ook onzichtbaar.","solution":"Donkere vlakken (zijbalk-tegel, login-merkpaneel) tonen nu altijd het logo voor donkere achtergronden, en lichte vlakken (login-kaartje, launchpad, publieke paginaâs) het logo voor lichte achtergronden. Zo doen beide velden precies wat hun label belooft."},{"num":"v16.69","type":"bugfix","title":"Huisstijl opslaan zonder favicon werkt weer","problem":"Bij Huisstijl & branding kreeg je de foutmelding âfaviconUrl moet https of relatief pad zijnâ zodra je iets anders (kleuren, namen) wilde opslaan terwijl er geen favicon was ingesteld. De validatie zag een leeg favicon-veld aan voor een ongeldige waarde en blokkeerde de hele opslag.","solution":"Een leeg logo-/favicon-veld telt nu correct als âleegâ in plaats van als ongeldige URL, dus je kunt kleuren en namen opslaan zonder eerst een favicon in te vullen. Onveilige waardes (zoals javascript:- of data:-URLs) worden nog steeds geweigerd."},{"num":"v16.68","type":"polish","title":"Lichte menubalk in light mode","problem":"De verticale menubalk links was ook in light mode een donker teal-zwart blok, dat visueel losstond van het verder lichte dashboard.","solution":"In light mode heeft de menubalk nu een lichte wash van je huisstijl-kleur, met gedempte donkere iconen. De actieve pagina en het logo houden de volle accent-kleur en springen er juist uit. Dark mode blijft ongewijzigd."},{"num":"v16.67","type":"polish","title":"Team-chat-knop rustiger in de zijbalk","problem":"De team-chat-knop onderaan de zijbalk was een vol gevuld teal-blok â dezelfde stijl als het actieve menu-item â waardoor hij altijd \"geselecteerd\" leek en lostrok van de verder minimalistische icoonrij.","solution":"De knop heeft nu een subtiele teal-tint met een teal icoon dat bij hover opvult, in lijn met de rest van de zijbalk. Nog net herkenbaar als de accent-actie, maar veel rustiger in het geheel."},{"num":"v16.66","type":"polish","title":"Tools-zoekbalk zonder grijze omlijning","solution":"De grote âZoek een toolâ¦â-balk had in rust een subtiele schaduw die als een dun grijs randje oogde. Die is weggehaald; het veld staat nu vlak. De accent-rand verschijnt nog wél zodra je erin klikt."},{"num":"v16.65","type":"polish","title":"âTool van de weekâ-titel iets dunner","solution":"De titel van de uitgelichte tool bovenaan de tools-pagina had een zware bold-weight; die is een tandje dunner gemaakt (SemiBold) voor een rustigere uitstraling."},{"num":"v16.64","type":"polish","title":"Browser-balk volgt thema en huisstijl-kleur","problem":"De bovenste browser-/adresbalk (de theme-color van de app) was altijd teal, ook in light mode â daardoor oogde de balk bovenaan donker terwijl de rest van het portaal licht was, en negeerde hij je ingestelde huisstijl-kleur.","solution":"De browser-chrome-kleur volgt nu het thema én je huisstijl: licht-grijs in light mode, en in dark mode de kleur die je onder Huisstijl hebt ingesteld (met de standaard teal als terugval). De kleur schakelt live mee wanneer je van thema wisselt of je huisstijl-kleur aanpast."},{"num":"v16.63","type":"polish","title":"Tool Store hero-illustratie verfrist","problem":"De decoratieve illustratie rechtsboven had een donkere centrale tegel en een draaiende streepjes-ring.","solution":"Nu een lichte, rustige constellatie: een witte tegel met een blauw-gradient bliksem-icoon in het midden, omringd door vier kleur-tegels (hashtag, trend-pijl, @ en sparkle) en zachte concentrische ringen. Past bij de frisse huisstijl in zowel light als dark mode."},{"num":"v16.62","type":"polish","title":"DM Opener Generator: illustratie verticaal gecentreerd","problem":"In de hero-illustratie stond de hele mockup (profielkaart, AI-orb en openers) te laag in het vak â er zat te veel lege ruimte bovenaan.","solution":"De compositie is verticaal gecentreerd, zodat de ruimte boven en onder in balans is."},{"num":"v16.61","type":"polish","title":"Influencer-tarief calculator: witte kaarten in light mode","problem":"De vier zwevende kaarten (Volgers, Geschatte postprijs, Engagement rate, Gemiddelde prijs range) in de hero-illustratie waren donker-amber en het podium bijna-zwart â dat paste niet bij de lichte productpagina.","solution":"De kaarten zijn in light mode nu wit met donkere tekst, net als bij de engagement-rate calculator, en het podium krijgt de amber tool-kleur. Dark mode blijft ongewijzigd."},{"num":"v16.60","type":"polish","title":"Advertentie-statistieken: âROASâ-label leesbaar in light mode","problem":"Het âROASâ-label boven het centrale glaspaneel in de Advertentie-statistieken-illustratie was licht-op-licht en daardoor onleesbaar in light mode.","solution":"Het paneel is een tandje dieper blauw gemaakt en het âROASâ-label is wit, net als de waarde eronder â zodat het goed leesbaar is en bij de blauwe tool-kleur past. Dark mode blijft ongewijzigd."},{"num":"v16.59","type":"polish","title":"âTool van de weekâ compacter en strakker","problem":"De uitgelichte tool bovenaan de tools-pagina was een grote, hoge hero-kaart met het icoon rechts en de knop onderaan â dat nam veel ruimte in.","solution":"De strip is nu een compacte, horizontale kaart: het tool-icoon links met een zacht accent-lijntje, titel en omschrijving in het midden, en de âOpen toolâ-knop netjes rechts. Het icoon draagt de eigen kleur van de tool als subtiele tint."},{"num":"v16.58","type":"polish","title":"Win/Loss Analyzer: goud iets donkerder in light mode","problem":"De gele accenten in de voorbeeld-illustratie (trofee, verbindingslijnen, icoontjes en percentages) waren te licht op de bijna-witte achtergrond.","solution":"De goud-tint is in light mode een tandje donkerder, zodat alles beter uitspringt en leesbaar is. Dark mode blijft ongewijzigd."},{"num":"v16.57","type":"polish","title":"DM Opener Generator: AI-orb netjes verticaal gecentreerd","problem":"In de voorbeeld-illustratie stond de middelste AI-orb (met de ringen en de âAI Engineâ-pill) iets te hoog en lijnde daardoor niet uit met de profiel- en openers-kaarten ernaast.","solution":"De hele hub â orb, ringen, pill en glow â staat nu verticaal gecentreerd op dezelfde hoogte als de kaarten, zodat de illustratie in balans is."},{"num":"v16.56","type":"polish","title":"Bezwaren Library: zoekbalk wit in light mode","problem":"De zoekbalk (âZoek een bezwaarâ¦â) in de voorbeeld-illustratie van de Bezwaren Library had een donker-transparante achtergrond die op de lichte kaart grijs oogde.","solution":"De zoekbalk is in light mode nu wit met een nette rand. Dark mode blijft ongewijzigd."},{"num":"v16.55","type":"polish","title":"Trend radar: bredere voorbeeld-illustratie","solution":"De hero-illustratie van de Trend radar is breder gemaakt (net als bij andere tools), zodat de vijf trend-kaarten meer ruimte krijgen en de animatie strakker oogt."},{"num":"v16.54","type":"polish","title":"Klant-ROI calculator: illustratie in de groene tool-kleur","problem":"De zwevende kaartjes in de hero-illustratie van de Klant-ROI calculator waren bijna-zwart en de labels (âOpbrengstâ, âWinstâ, âKostenâ, âTerugverdientijdâ, âROIâ) waren grijs â dat paste niet bij de groene tool.","solution":"De kaartjes en het podium hebben nu de groene tint van de tool zelf en de labels zijn wit, zodat de hele illustratie bij de merkkleur past en goed leesbaar is. Geldt in light én dark mode."},{"num":"v16.53","type":"bugfix","title":"Brand-safety check: gemarkeerde woorden leesbaar in light mode","problem":"In het voorbeeld van de merkveiligheidscontrole waren gemarkeerde risicowoorden en risico-labels wit, waardoor ze op de lichte kaart in lichte modus vrijwel onzichtbaar waren.","solution":"Die woorden krijgen in lichte modus nu donkere, leesbare tekst in de bijpassende kleur. Donkere modus blijft ongewijzigd."},{"num":"v16.52","type":"polish","title":"Profielfoto-downloader: illustratie in het brand-blauw van de tool","problem":"De hologram-illustratie op de productpagina van âProfielfoto downloadenâ (de ring, het persona-icoon en de glow/schaduw) was in light mode lichtblauw en vaal op de witte kaart.","solution":"In light mode gebruikt de illustratie nu het diepere brand-blauw van de tool, zodat de ring, het persona-icoon en de schaduw beter uitspringen. Dark mode blijft ongewijzigd."},{"num":"v16.51","type":"bugfix","title":"Tool-mockups (ROI, witregel-fixer e.a.): grijze plaat nu bijna-wit in light mode","problem":"De voorbeeldillustraties van meerdere tools toonden een podium met zwevende kaarten op een donkergrijze plaat, wat niet paste bij de lichte pagina in lichte modus. Ook waren de labels op de donkere kaartjes slecht leesbaar.","solution":"De grote plaat is in lichte modus nu bijna wit. De zwevende kaarten krijgen de eigen kleur van de bijbehorende tool, met lichte labels voor betere leesbaarheid. Donkere modus blijft ongewijzigd."},{"num":"v16.50","type":"polish","title":"Hashtag-bibliotheek: amber-accent donkerder in light mode","problem":"In de Hashtag-bibliotheek-mockup was het gele/amber-accent (hashtag-pills, iconen, counts, de #-tegel en de gloed) te licht op de bijna-witte achtergrond, waardoor het slecht zichtbaar was.","solution":"Het amber-accent is in light mode een tandje dieper gemaakt, zodat alle gele elementen goed leesbaar zijn en tegelijk hun gouden uitstraling houden. Dark mode blijft ongewijzigd."},{"num":"v16.49","type":"polish","title":"Bio generator: keuzevelden wit in light mode","problem":"In de Bio generator-mockup waren de keuzevelden (platform-balk, dropdowns voor niche/tone/focus en de CTA-rij) grijs op het lichte paneel â ze gebruikten een half-transparant zwart.","solution":"Die velden zijn in light mode nu wit, met de bestaande donkere labels erin goed leesbaar. De actieve platform-knop en de toggle houden hun paars-roze gradient. Dark mode blijft ongewijzigd."},{"num":"v16.48","type":"polish","title":"Bio generator: highlight-woorden leesbaar in light mode","problem":"In de voorbeeld-bioâs op de Bio generator-pagina waren de vetgedrukte accentwoorden (zoals âMarketing consultantâ) wit â dus onzichtbaar op de lichte kaart in light mode.","solution":"Die woorden krijgen nu de paars-roze tint van de tool, goed leesbaar in zowel light als dark mode."},{"num":"v16.47","type":"polish","title":"Voice-memo tool: strakkere kop","solution":"Het grote intro-tekstblok bovenaan de Voice-memo tool is weggehaald, zodat je direct bij het profiel en de opties uitkomt."},{"num":"v16.46","type":"polish","title":"Tool Store: nette light-mode details","problem":"Op de tool-productpagina schemerde het platform ongelijk door de achtergrond achter de popup, de \"Perfect voor\"-icoontjes stonden net iets te hoog naast de tekst, en de \"Bio generator\" / \"Geschiedenis\"-pills oogden grijs in light mode.","solution":"De achtergrond achter de productpagina is nu een egale, dekkende tint aan alle kanten, de doelgroep-icoontjes staan netjes verticaal gecentreerd, en de twee pills zijn in light mode gewoon wit."},{"num":"v16.45","type":"bugfix","title":"Username checker: platform-iconen leesbaar in light mode","problem":"In de voorbeeld-illustratie van de Username checker waren de social-platform-iconen (Instagram, TikTok, X, YouTube, LinkedIn, enz.) wit â op de lichte achtergrond onzichtbaar.","solution":"De platform-glyphs zijn in light mode nu donker, zodat ze overal leesbaar zijn. In dark mode blijft alles zoals het was."},{"num":"v16.44","type":"polish","title":"Engagement-rate calculator: podium in de tool-kleur","problem":"In de voorbeeld-illustratie was het podium (het \"voetstuk\" onder het hart) bijna-zwart, wat in light mode niet bij de rest van de lichte, roze illustratie paste.","solution":"Het podium krijgt in light mode nu de roze tool-kleur, zodat de illustratie één geheel is. In dark mode blijft het donkere podium zoals het was."},{"num":"v16.43","type":"polish","title":"Groei-projectie: kaarten en podium in de tool-kleur","problem":"In de voorbeeld-illustratie waren de kaarten (Huidige volgers, Doel, enz.) en het podium bijna-zwart en waren de labels grijs â in light mode oogde dat somber en de labels lastig leesbaar.","solution":"De kaarten en het podium krijgen in light mode nu de groene/teal tool-kleur en de labels zijn wit, zodat alles helder leesbaar is en bij de illustratie past. Dark mode blijft ongewijzigd."},{"num":"v16.42","type":"bugfix","title":"Maandrapport-generator: voorbeeld-widget leesbaar in light mode","problem":"In de voorbeeld-illustratie van de Maandrapport-generator had de middelste \"genereren\"-kaart witte tekst (124K, Bereik, Conversieratio, Kosten) die in light mode op een lichte lila achtergrond wegviel.","solution":"Die kaart blijft in light mode donkerpaars, net als in dark mode, zodat de witte cijfers en labels overal scherp leesbaar zijn."},{"num":"v16.41","type":"polish","title":"Username checker: echte merklogoâs","problem":"De social-platformlogoâs in de Username checker waren handgetekende benaderingen. Het Instagram-icoon was daarna nog steeds een nagetekende outline in plaats van het echte logo.","solution":"Ze gebruiken nu allemaal de officiële merklogoâs (Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Pinterest, Reddit, Snapchat) uit hetzelfde gedeelde logo-component als de rest van de app â inclusief het originele Instagram-glyph."},{"num":"v16.40","type":"feature","title":"Onboarding & CRM: hernoem een fase door op de naam te klikken","problem":"De naam van een fase (kolom) in de onboarding-flow én in de CRM-pipeline kon je niet aanpassen als die er eenmaal stond â je kon fasen alleen slepen of verwijderen.","solution":"Klik nu simpelweg op de naam van een fase om die inline te hernoemen. Enter of klik-weg slaat op, Escape annuleert. Werkt in beide borden en in alle talen. (CRM-fasen hernoemen blijft voorbehouden aan admin/manager, net als verwijderen.)"},{"num":"v16.39","type":"infra","title":"App laadt de nieuwste versie (cache ververst)","solution":"De offline-cache is ververst zodat de recente light-mode-verbeteringen en fixes direct zichtbaar zijn zonder handmatig verversen."},{"num":"v16.38","type":"bugfix","title":"DM-opener, Hook Analyzer, Bio generator & Username generator: leesbaar in light mode","problem":"Deze tools zijn donker (dark-first) ontworpen en hadden geen lichte weergave. In light mode viel tekst weg â wit-op-wit of donker-op-donker (o.a. de score \"86 / Sterk\", de stap-labels, de \"AI Engine\"-knop en de gegenereerde varianten).","solution":"Deze vier tools tonen zich nu in light mode in hun (goed leesbare) donkere weergave, net als in dark mode. De light/dark-schakelaar van de rest van de app blijft gewoon werken."},{"num":"v16.37","type":"bugfix","title":"Hook Analyzer: score \"86 / Sterk\" leesbaar in light mode","problem":"In de Hook Analyzer waren het score-getal en het \"Sterk\"-oordeel in de Hook Score-kaart wit-op-wit in light mode â dus onleesbaar. Ook de \"Top 25%\"- en AI-analyse-cijfers waren te licht.","solution":"Het score-getal krijgt in light mode de oranje merk-gradient en de accent-teksten een donkere, goed leesbare kleur; in dark mode blijft alles ongewijzigd."},{"num":"v16.36","type":"bugfix","title":"Downloader-productpaginaâs: witte tekst nu in de kleur van de tool","problem":"Op de downloader-productpaginaâs (Facebook, TikTok, Instagram, YouTube, LinkedIn) w
2as de tekst in de hero-mockup â de \"Plak je ⦠link\"-kop, de kaart-labels en de vetgedrukte feature-titels â wit op de bijna-witte achtergrond in light mode, en dus onleesbaar.","solution":"Die teksten krijgen in light mode de merk-accentkleur van de betreffende tool (Facebook-blauw, TikTok-cyaan, Instagram-roze, enz.), donker genoeg gemengd om leesbaar te blijven. Dark mode blijft ongewijzigd."},{"num":"v16.35","type":"bugfix","title":"Tool-productpaginaâs: hero-illustraties leesbaar in light mode","problem":"De sfeer-illustraties bovenaan de tool-productpaginaâs (o.a. Link-in-bio, Battle Card, ROI Calculator, Voice-memo) zijn donkere mini-mockups. In de lichte weergave viel de tekst daarin weg â donker-op-donker of licht-op-licht â waardoor labels en voorbeeldteksten onleesbaar werden.","solution":"De hero-illustraties blijven in light mode gewoon licht (passend bij de pagina); waar er een donker accent-kaartje in zit, krijgt de tekst daarin een leesbare lichte kleur. Zo blijft de illustratie licht én overal leesbaar."},{"num":"v16.34","type":"bugfix","title":"Voice-memo script: tijd en \"AI Live\"-label vielen over elkaar","problem":"In de audio-sectie van de Voice-memo tool lagen de tijdsaanduiding en het \"AI Live\"-label over elkaar heen rechtsboven.","solution":"De dubbele tijdsaanduiding is uit de kop gehaald (de speler eronder toont de tijd al), zodat het \"AI Live\"-label vrij en leesbaar rechtsboven staat."},{"num":"v16.33","type":"bugfix","title":"Niche-spiekboeken: leesbaar in light mode","problem":"In de lichte weergave viel de centrale playbook-kaart weg: de donkere glas-achtergrond werd een vage grijze vlek en de gedempte en paarse teksten waren nauwelijks leesbaar (licht op licht).","solution":"De kaart krijgt in light mode nu een echte lichte achtergrond met iets donkerder paarse labels, zodat titel, omschrijving en secties overal scherp leesbaar zijn. In dark mode blijft alles zoals het was."},{"num":"v16.32","type":"feature","title":"Financieel: \"Klant sinds\" bepaalt vanaf wanneer de omzet meetelt","problem":"Als je bij een klant \"Klant sinds\" op een datum in de toekomst zette, telde het maandbedrag toch al direct mee in je huidige omzet en in de maandgrafiek.","solution":"Een klant met een \"Klant sinds\"-datum in de toekomst telt nu nog niet mee in de huidige omzet, kosten en winst â pas vanaf die datum. In de jaargrafiek rampt de omzet mee: een klant die in augustus start draagt 5 maanden bij, niet 12. In de klanten-tab staat zo'n klant gedimd met een \"Start dd-mm\"-label en buiten het totaal. Klanten zonder \"Klant sinds\" veranderen niet."},{"num":"v16.31","type":"feature","title":"Setter-commissie volgt nu de klant-startdatum","problem":"Koppelde je een appointment-setter aan een klant die pas later start, dan liep de commissie-teller meteen en zag de setter al een bedrag â ook al was de klant nog niet begonnen.","solution":"De commissie van een setter/closer wordt nu factureerbaar vanaf 1 maand ná de klant-startdatum (\"Klant sinds\"), en de X/12-termijn loopt vanaf datzelfde punt zodat er geen betaalde maanden verloren gaan. Tot dan staat de klant in het compensatie-overzicht als \"Ingepland\" met een \"factureerbaar vanaf\"-datum en telt â¬0 mee. Klanten die al gestart waren toen je koppelde (of zonder \"Klant sinds\") veranderen niet."},{"num":"v16.30","type":"feature","title":"Account-manager-fee telt ook pas vanaf de klant-startdatum","problem":"De â¬50 manager-fee per klant telde mee zodra de manager gekoppeld was, óók als de klant pas later zou starten.","solution":"De manager-fee telt nu pas vanaf de latere van (koppeldatum, \"Klant sinds\") â een klant die later start levert de manager-fee pas op vanaf zijn startmaand, net als de omzet. Doorgevoerd in Financieel > Medewerkers, de CSV-export én de eigen inkomsten-widgets van de manager."},{"num":"v16.29","type":"polish","title":"Ingeplande commissie toont nu het verwachte bedrag","solution":"Een \"Ingepland\"-commissieregel (klant start later) laat in de Bedrag-kolom nu het verwachte commissie-bedrag zien (pct à maandfee), gedimd, in plaats van â¬0 â zodat de setter ziet wat de klant straks oplevert. Het uitbetaalbare commissie-totaal en de claim blijven die regels uitsluiten tot ze factureerbaar worden."},{"num":"v16.28","type":"bugfix","title":"Admin-overzicht Medewerkers telde ingeplande commissie dubbel mee","problem":"In Financieel > Medewerkers telde de commissie van een setter voor een nog niet gestarte klant al mee in het maandtotaal (bv. â¬170), terwijl het eigen dashboard van de setter correct â¬50 toonde.","solution":"Het admin-overzicht past nu dezelfde \"Klant sinds\"-gating toe: een ingeplande commissie telt â¬0 in het totaal en toont \"Ingepland\" met factureerbaar-vanaf datum en het verwachte bedrag. Ook de looptijd (X/12 en \"verloopt op\") loopt nu vanaf de factureerbaar-datum. Doorgevoerd in de tabel én de CSV-export."},{"num":"v16.27","type":"feature","title":"Link-in-bio: eigen verloop instellen","problem":"Bij de link-in-bio kon je alleen kant-en-klare gradient-themaâs kiezen; een eigen kleurcombinatie maken kon niet.","solution":"Onder \"Eigen verloop\" kies je nu zelf de twee kleuren én de richting (0â360°) met een schuif; het voorbeeld en de gepubliceerde pagina passen zich live aan. De startkleur wordt de accentkleur voor iconen en outline-knoppen. Je keuze wordt meegenomen in je deelbare link."},{"num":"v16.26","type":"feature","title":"Niche-spiekboeken: 8 nieuwe markten + hashtags voor élke niche","solution":"De hashtag-bundels zijn uitgebreid van 8 naar 16 markten: Zweden, Denemarken, Noorwegen, Portugal, Polen, Brazilië, Turkije en Mexico zijn erbij gekomen, elk met tags in de lokale taal. Bovendien hebben nu alle 8 niches per-land-bundels, waar eerder alleen enkele niches land-specifieke hashtags hadden. De lokale tags staan vooraan, gevolgd door de internationale standaardtags."},{"num":"v16.25","type":"feature","title":"Niche-spiekboeken: nieuw hologram-ontwerp","solution":"De Niche-spiekboeken zijn opnieuw ontworpen als een overzichtelijk dashboard: je kiest links een niche, in het midden zie je de best presterende formats, postfrequentie en beste tijden, en rechts drie sector-benchmarks. Daaronder staat de volledige kaart met landkeuze, een kant-en-klare hashtag-bundel per land en praktische tips. De benchmark-cijfers zijn indicatief, geen cijfers van je eigen account."}
2,{"num":"v16.24","type":"feature","title":"DM-opener: analyseert nu écht het geplakte profiel","problem":"Het ANALYSE-blok in de DM-opener toonde altijd dezelfde vaste voorbeeldwaarden (niche, tone, doelgroep, doel van \"@jessica.marketing\"), ook nadat je een eigen profiel had geplakt. En de handle stond vast, waardoor het leek alsof de tool niet naar jouw prospect keek.","solution":"Plak de bio van je prospect en de AI leidt nu echt de niche, stijl, doelgroep en een logische invalshoek af uit die tekst â het ANALYSE-blok toont die na het genereren. De handle bovenaan is bovendien invulbaar, zodat de kaart je eigen prospect weergeeft in plaats van het voorbeeld."},{"num":"v16.23","type":"feature","title":"Kleur-contrast checker: nieuw ontwerp","solution":"De Kleur-contrast checker is opnieuw ontworpen als een WCAG 2.2-dashboard: kies een tekst- en achtergrondkleur (met pipet) en zie live de contrast-ratio in een gloeiende score-ring met grade (AA/AAA) en verdict, een WCAG-resultatenpaneel (AA/AAA à normaal/groot met voldoet/voldoet-niet) en een voorbeeldtekst-kaart. Alles wordt 100% client-side berekend."},{"num":"v16.22","type":"polish","title":"Kleur-contrast checker: verfijnde score-ring en hologram","solution":"De centrale score-animatie is dichter bij het ontwerp gebracht: een feller neon-gloeiende ring die onderaan open is met ronde uiteinden, het contrast-icoon dat bovenop de ring rust en de lijn breekt, en een uitgebreider hologram-projector-podium met lichtbundel, meerdere gloeiende concentrische ringen en een felle kern. Beweging wordt uitgeschakeld bij \"verminder beweging\"."},{"num":"v16.21","type":"feature","title":"DM-opener: platform, context en doel sturen de openers weer","problem":"De DM-opener genereerde openers altijd alsof het om een Instagram-DM ging en gebruikte geen context of doel â de personalisatie-invoer was bij een eerdere herbouw verdwenen.","solution":"Je kiest nu weer het platform (Instagram, LinkedIn, Facebook, TikTok, X of e-mail) en kunt optioneel context (bv. een recente post of gedeelde connectie) en je doel meegeven. De AI stemt lengte, toon en inhoud van de 5 openers daarop af â een LinkedIn-bericht klinkt nu anders dan een TikTok-DM."},{"num":"v16.20","type":"polish","title":"Win/loss analyzer: futuristische trofee-visual","solution":"De centrale trofee-globe is moderner gemaakt: een dichter wireframe-bol met een gloeiende kern, twee roterende gyroscoop-ringen, twinkelende netwerk-nodes, een shimmerende lichtbundel en een pulserend hologram-podium. De trofee zweeft subtiel. Beweging wordt uitgeschakeld bij \"verminder beweging\"."},{"num":"v16.19","type":"feature","title":"Bezwaren Library: van 20 naar 100 bezwaren","problem":"De Bezwaren Library bevatte 20 sales-bezwaren, wat voor een echte naslag-bibliotheek te dun voelde.","solution":"Er zijn 80 nieuwe bezwaren bijgekomen, nu 100 in totaal, elk met drie reactievarianten in de tonen empathisch, nieuwsgierig en direct, volledig beschikbaar in het Nederlands, Engels, Duits en Frans. Ze dekken alle categorieën breder af, van prijs tot vertrouwen en concurrentie. De lijst met populaire bezwaren wisselt nu bovendien wekelijks, met steeds één bezwaar per categorie."},{"num":"v16.18","type":"polish","title":"ROI calculator: label en accentkleur bijgewerkt","solution":"Het eerste invoerveld heet nu \"Maandelijkse investering (huidig)\" en het accentwoord in de titel is weer volledig groen, in lijn met het ontwerp."},{"num":"v16.17","type":"bugfix","title":"DM-opener: tone-balk werkt weer + tone-labels","problem":"In de DM-opener tool deed de tone-balk onderaan (de knoppen om per toon te kiezen) niets â je kon klikken maar er veranderde niks aan de openers. De tool voelde daardoor stuk.","solution":"De tone-balk toont nu de vijf echte tonen (Vriendelijk, Zakelijk, Nieuwsgierig, Direct, Speels) plus \"Alle\", en filtert de openers live op de gekozen toon. Elke opener heeft nu ook een label dat zijn toon toont."},{"num":"v16.16","type":"feature","title":"Link-in-bio: gradient-themaâs","problem":"Bij de link-in-bio tool kon je alleen effen thema-kleuren kiezen voor de knoppen.","solution":"Naast de effen kleuren zijn er nu zes gradient-themaâs (o.a. sunset, ocean, grape, fire), overzichtelijk onder een apart kopje \"Verloop\" zodat je meteen ziet welke opties verlopen zijn. Kies je een verloop, dan vullen de knoppen zich met die gradient in zowel het voorbeeld als de gepubliceerde pagina; iconen en outline-knoppen houden een passende effen accentkleur. Bestaande gedeelde links blijven gewoon werken."},{"num":"v16.15","type":"polish","title":"Tool-productpagina: \"geopend afgelopen week\" verwijderd","problem":"Op de productpagina van elke tool stond een balkje met \"Xà geopend afgelopen week\". Dat gaf een leeg/onaf gevoel bij tools met weinig gebruik en voegde weinig toe.","solution":"Die opens-teller is overal weggehaald. De social-proof-balk toont nu alleen nog de echte beoordelingen (aantal + sterren) wanneer die er zijn."},{"num":"v16.14","type":"bugfix","title":"Snelheidstest: gauge-naald beweegt weer vloeiend","problem":"Tijdens de internetsnelheidstest sprongen de naald en de groene boog schokkerig mee met de metingen in plaats van soepel te bewegen.","solution":"De naald en boog glijden nu vloeiend tussen de metingen door. Be
2weging wordt automatisch uitgezet voor bezoekers die verminderde beweging hebben ingesteld."},{"num":"v16.13","type":"feature","title":"Win/loss analyzer: nieuw ontwerp","solution":"De Win/loss analyzer is opnieuw ontworpen als een insights-dashboard: plak de notities van een deal en kies de uitkomst, en de AI haalt de win drivers en loss reasons eruit â overzichtelijk gepresenteerd met percentage-balken, een centrale trofee-visual, een key-insight en een 4-staps proces. De echte AI-analyse is behouden."},{"num":"v16.12","type":"feature","title":"Voice-memo script: nieuw ontwerp","solution":"De Voice-memo script generator is opnieuw ontworpen: plak het profiel van je prospect, kies een duur (30, 60 of 90 sec) en de AI schrijft een gesproken script opgedeeld in drie secties (Hook â Value â Ask) met timing per stuk. Je ziet centraal de herkende (bewerkbare) tekst met een audio-visual, rechts de secties met kopieer-knoppen en een download naar .txt. De echte AI-generatie is behouden."},{"num":"v16.11","type":"feature","title":"LinkedIn connect note: nieuw ontwerp","solution":"De LinkedIn connect note generator is opnieuw ontworpen: plak het profiel van je prospect, kies een tone en de AI schrijft vijf varianten (warm, professional, nieuwsgierig, direct, referentie) â allemaal binnen LinkedInâs 300-tekenlimiet. Je ziet de gekozen note centraal met een tekenteller, alle vijf de varianten rechts en één-klik kopiëren (per note of alle vijf). De echte AI-generatie is behouden."},{"num":"v16.10","type":"feature","title":"Bezwaren library: nieuw ontwerp","solution":"De Bezwaren library is opnieuw ontworpen: zoek of filter op categorie in 20 veelvoorkomende sales-bezwaren, kies een bezwaar en zie centraal het gekozen bezwaar met tone-tabs (empathisch, nieuwsgierig, direct) plus rechts alle drie de reactie-varianten om te kopiëren. De echte bezwaar-teksten en reacties zijn behouden."},{"num":"v16.09","type":"feature","title":"DM opener generator: nieuw ontwerp","solution":"De DM opener generator is opnieuw ontworpen: plak de bio van je prospect en de AI schrijft vijf korte, gepersonaliseerde openers â elk in een eigen tone, met één-klik kopiëren. Een profiel-analysekaart (niche, tone, doelgroep, doel) en een AI-engine-visual maken het geheel af. De echte AI-generatie is behouden."},{"num":"v16.08","type":"feature","title":"QR-code generator: nieuw ontwerp","solution":"De QR-code generator is opnieuw ontworpen: voer een URL in, kies kleur, achtergrond, formaat, foutcorrectie en marge, en zie de QR-code live in de preview. Download als PNG of SVG of kopieer de link. De code bevat je exacte doel-URL (geen redirect of tracking) en verloopt nooit; alles gebeurt client-side."},{"num":"v16.07","type":"feature","title":"Storingen-checker: nieuw ontwerp","solution":"De Storingen-checker is opnieuw ontworpen als een live statusoverzicht: per platform (Instagram, TikTok, LinkedIn, Facebook, X, YouTube) zie je of het werkt, traag reageert of een storing heeft, met een grafiekje en een centrale melding die de ernst weerspiegelt. Daaronder staan het aantal meldingen, hoe lang geleden de laatste check was en een grafiek over 24 uur. De echte statuscontrole ververst automatisch."},{"num":"v16.06","type":"feature","title":"Username generator: nieuw ontwerp","solution":"De Username generator is opnieuw ontworpen: geef een merk of trefwoord op en de AI stelt creatieve handles voor. Je ziet een lijst suggesties, een aanbevolen handle met een levendig hologram-effect en een realtime platform-check die per netwerk (Instagram, TikTok, LinkedIn, X, YouTube â¦) toont of de handle nog vrij is. De echte generatie en beschikbaarheidscheck zijn behouden."},{"num":"v16.05","type":"feature","title":"Trend radar: nieuw ontwerp","solution":"De Trend radar is opnieuw ontworpen als een radar-dashboard: geef je niche en platform op en de AI brengt de opkomende content-trends in kaart. Je ziet een horizontale rij trend-kaarten met momentum en groei-indicatie, een zoekbalk, en een \"Waarom deze trends nu opkomen\"-paneel met signalen zoals engagement velocity, zoekvolume en creatie-groei. De echte scan is behouden."}
2,{"num":"v16.04","type":"feature","title":"Viral hook analyzer: nieuw ontwerp","solution":"De Viral hook analyzer is opnieuw ontworpen als een analyse-dashboard: plak je openingszin, kies je platform en de AI scoort de scroll-stopping kracht. Je ziet een grote hook-score (0â100) met een gauge, concrete insights, een AI-analyse op vijf punten (aandacht, emotionele trigger, nieuwsgierigheid, duidelijkheid, viral potentie) en meteen vijf sterkere hook-varianten om te kopiëren. De echte AI-analyse is behouden."},{"num":"v16.03","type":"polish","title":"Content-ideeën tool: rustiger, ruimer formulier","problem":"In de Content-ideeën tool stonden alle keuzevelden (klantfocus, niche, doelgroep, platform, toon, doel, AIDA-fase) dicht op elkaar gepropt, waardoor het scherm druk en onoverzichtelijk oogde.","solution":"Meer witruimte tussen alle onderdelen, en de optionele velden (doelgroep + AIDA-fase) zitten nu achter een uitklapbare \"Verfijnen\"-sectie. Het kernformulier toont standaard alleen wat er echt toe doet â niche staat bovendien op een eigen volle regel."},{"num":"v16.02","type":"feature","title":"Bio generator: eigen wensen doorgeven","problem":"De bio generator werkte alleen met de vaste keuzelijsten (niche, tone, focus). Je kon de AI niet vertellen wat er specifiek in jouw bio moest â bijvoorbeeld je stad, je slogan of dat je pijltjes in plaats van emoji wilt.","solution":"Er is een optioneel veld \"Eigen wensen\" bijgekomen. Wat je daar invult weegt zwaar mee en wordt in elke van de 4 varianten verwerkt, naast de dropdown-keuzes. Werkt in alle 4 de talen; leeg laten verandert niets aan de bestaande werking."},{"num":"v16.01","type":"bugfix","title":"Username checker: TikTok geeft geen valse \"vrij\" meer","problem":"De username-checker meldde populaire TikTok-namen als beschikbaar, terwijl ze allang bezet waren, omdat er gekeken werd naar een tekst die TikTok ook op bestaande profielen toont.","solution":"De controle kijkt nu naar een betrouwbaar signaal in de profielgegevens zelf. Bestaat de naam, dan zie je correct 'bezet'; bestaat hij niet, dan 'vrij'; en als de controle wordt tegengehouden, krijg je eerlijk te zien dat je het handmatig moet checken in plaats van een gegokte uitslag."},{"num":"v16.00","type":"feature","title":"Username checker: Pinterest, X en Facebook erbij + betrouwbaar vanaf onze servers","problem":"De controles kregen in de praktijk vaak geen of een verkeerd antwoord, en Pinterest, X en Facebook waren nog niet automatisch te checken.","solution":"De profielcontroles lopen nu via een betrouwbare route, en Pinterest, X en Facebook zijn toegevoegd als volwaardige checks. Daarmee krijg je op 7 van de 9 platforms (Instagram, TikTok, YouTube, Pinterest, X, Facebook, Snapchat) een echt vrij-of-bezet-oordeel. Reddit en LinkedIn laten geen betrouwbare automatische check toe en tonen bewust 'handmatig checken' met een directe link."},{"num":"v15.99","type":"bugfix","title":"Account check (Instagram-analyse) werkt weer","problem":"De tool gaf voor elk profiel \"Account niet gevonden of niet beschikbaar\". Instagram blokkeert onze server-IP en de gratis mirrors (imginn/Jina) waar we op terugvielen zijn inmiddels offline, dus er kwam nooit data terug.","solution":"De profiel-analyse loopt nu via onze Cloudflare-proxy (dezelfde route die de Instagram-downloader al gebruikt), die vanaf een niet-geblokkeerd IP vertrekt. Volgers, engagement, kwaliteitsscore en fake-volger-detectie worden weer op echte, recente posts berekend in plaats van een schatting."},{"num":"v15.98","type":"polish","title":"Handmatige boeking: duidelijke uitleg als je nog geen kalender hebt","problem":"Bij \"Handmatige boeking\" was de kalender-dropdown leeg als je nog geen kalender had aangemaakt, zonder uitleg hoe je verder moest.","solution":"Je krijgt nu de melding \"Je hebt nog geen kalender\" met een knop die direct naar het tabblad Kalenders springt. Het keuzeveld heet nu \"Kalender\", en in het aanmaakscherm heet het locatie-veld (Google Meet, Zoom, Teams, telefoon) voortaan \"Afspraaktype\"."},{"num":"v15.97","type":"polish","title":"Waarschuwing als je afspraaktype een ontbrekende k
2oppeling nodig heeft","problem":"Je kon een kalender met Google Meet, Zoom of Teams aanmaken zonder de bijbehorende koppeling â er werd dan stilletjes geen videolink gegenereerd en gasten kregen een bevestiging zonder werkende link.","solution":"Kies je Google Meet, Zoom of Teams zonder die integratie gekoppeld te hebben, dan zie je nu een waarschuwing met een knop \"Nu koppelen\" naar het Integraties-tabblad. Telefoon- en in-persoon-afspraken vereisen niets en werken gewoon zonder koppeling."},{"num":"v15.96","type":"polish","title":"Platformnaam met hoofdletter in de automatiserings-tools","problem":"In de automatiserings-studio stond de platformnaam kleingeschreven, bijvoorbeeld \"Nog geen facebook-account gekoppeld\".","solution":"De platformnaam wordt nu netjes met hoofdletter en juiste schrijfwijze getoond (Facebook, Instagram, LinkedIn, TikTok). Ook een paar resterende dubbele \"Senly\" in browser-tabtitels (automatiseringen, integraties, helpcentrum) opgelost."},{"num":"v15.95","type":"bugfix","title":"Trending audio: filteren op genre werkt weer","problem":"De genre-tabs (Pop, Hip Hop, Dance, R&Bâ¦) in de Trending Audio-tool gaven bij de live trends altijd \"Geen resultaten\". De databron (TikTok-feed) levert geen genre-informatie mee, dus er viel niets te filteren en elke categorie liep leeg.","solution":"Elke trending sound wordt nu automatisch opgezocht via de iTunes-muziekcatalogus, waaruit we het echte genre aflezen en op de categorieën mappen. Het resultaat wordt gecachet, dus filteren op Pop, Hip Hop, Dance enzovoort levert weer echte treffers op. Sounds zonder muziek-match (bijv. \"original sounds\") blijven onder \"Alle\" staan."},{"num":"v15.94","type":"bugfix","title":"Boekingslink gebruikt de host in plaats van de ingelogde gebruiker","problem":"Als een admin een kalender aanmaakt voor een teamlid, bevatte de boekingslink de naam van de admin in plaats van het teamlid. De link werkte daardoor niet.","solution":"De link wordt nu opgebouwd met de booking-handle van de daadwerkelijke host. Als het teamlid nog geen handle heeft, wordt die automatisch aangemaakt."},{"num":"v15.93","type":"bugfix","title":"Meeting-branding van de admin geldt nu voor het hele bureau","problem":"Als een admin de meeting-branding instelde (logo, kleur, bedrijfsnaam), werd die alleen getoond op de eigen boekingspagina. Teamleden kregen de standaard Senly-branding.","solution":"De boekingspagina zoekt nu automatisch de meeting-branding die de admin heeft ingesteld als het teamlid zelf geen eigen branding heeft."}]},{"date":"2026-07-02","version":"v15.92","clV":"v0.681","title":"Grote kwaliteitspass: 40+ tools getest, gerepareerd en gepolijst","items":[{"num":"v15.92","type":"bugfix","title":"Video-downloaders werken weer (Facebook, LinkedIn, Snapchat, YouTube-fallback)","problem":"Downloaden gaf \"De downloadservice is tijdelijk niet beschikbaar\". De download-engine (yt-dlp) werd op de server niet meer geïnstalleerd, waardoor alle op yt-dlp gebaseerde downloads faalden.","solution":"De download-engine wordt nu weer correct geladen (vaste, op checksum geverifieerde versie). Facebook-video's (incl. share-links), LinkedIn en Snapchat werken weer."},{"num":"v15.91","type":"feature","title":"Instagram-downloader werkt weer â zonder inloggen","problem":"Instagram blokkeerde de meeste manieren om video's en foto's te downloaden zonder in te loggen, waardoor de downloader niet meer werkte.","solution":"Een nieuwe, login-loze route haalt de maker en de directe media op uit openbare gegevens, zonder in te loggen. De downloader werkt voor openbare, recente posts en reels. Oudere posts kunnen buiten bereik vallen."},{"num":"v15.90","type":"feature","title":"Bio generator: nieuw ontwerp","solution":"De Bio generator is opnieuw ontworpen: kies je platform, niche/beroep, tone of voice en focus en zet optioneel een call-to-action aan. De AI schrijft vier bio-varianten die precies binnen de tekenlimiet van het gekozen platform passen, met per variant een tekenteller, een favoriet-knop en één-klik kopiëren. Een sessie-geschiedenis onthoudt je eerdere generaties. De echte AI-generatie is behouden."},{"num":"v15.89","type":"bugfix","title":"Inloggen: geen valse \"onjuist wachtwoord\" meer bij de eerste poging","problem":"Soms toonde de eerste inlogpoging een foutmelding terwijl de gegevens klopten, waarna een tweede poging met dezelfde gegevens meteen lukte, door een korte hapering in de voorcontrole.","solution":"Een hapering in die voorcontrole blokkeert het inloggen niet meer met een foutmelding: alleen een echt fout wac
2htwoord of te veel pogingen toont nog een melding. Bij elke andere hapering gaat het inloggen gewoon door naar de echte inlogstap. Accounts met tweestapsverificatie krijgen daar nog steeds hun extra verificatiestap te zien."},{"num":"v15.88","type":"bugfix","title":"Browser-tabtitels toonden \"Senly\" dubbel","problem":"Op meerdere pagina's las de browser-tab \"Senly\" twee keer, bijvoorbeeld \"Inloggen â Senly | Senly\": die pagina's hadden zelf al \"Senly\" in de titel staan terwijl de standaard-titelsjabloon er nog een keer \"| Senly\" achter plakte.","solution":"De hele site nagelopen: elke pagina toont \"Senly\" nu precies één keer in de browser-tab. Dit betrof zowel publieke pagina's (inloggen, registreren, afmelden, prijzen, security, partners, voorwaarden, cases, vergelijk, \"voor wie\", algemene voorwaarden, privacyverklaring, de Engelse pagina's) als alle interne dashboard-pagina's. Social-share-titels blijven de volledige vorm houden."},{"num":"v15.87","type":"polish","title":"Tool-titels: rustiger, semibold in plaats van extra-vet","solution":"De grote titel bovenaan elke tool staat nu in semibold (Ciutadella SemiBold) in plaats van extra-vet. Dat oogt rustiger en consistenter over alle tools."},{"num":"v15.86","type":"polish","title":"Maandrapport-generator: ontwerp exact op het voorbeeld","problem":"Het ontwerp week licht af van het voorbeeld: titel, sectiekoppen, stat-kaarten en stap-indicatoren waren net iets te compact.","solution":"De typografie en afmetingen zijn overal bijgetrokken: een grotere titel op één regel met een groter hero-icoon, ruimere sectiekoppen, hogere stat-kaarten met grotere cijfers en grotere stap-cirkels. Daarnaast staat de genereer-knop weer in het Nederlands (\"Genereer white-label rapport\") en heet de preview-knop \"Bekijk in nieuw tabblad\" (met juiste vertalingen in EN/DE/FR)."},{"num":"v15.85","type":"feature","title":"Contentplanner: slimme planning, stories als story en geen caption-vereiste","problem":"De contentplanner plande op dagen die al content hadden, stories werden als \"post\" ingepland in de contentplanner, en stories zonder caption gaven \"Ongeldige body\".","solution":"Dagen met bestaande content worden overgeslagen. Het gekozen type (post/story/reel) wordt nu correct doorgegeven aan de contentplanner. Stories vereisen geen caption meer."},{"num":"v15.84","type":"polish","title":"Contentplanner: weekdag-knoppen en hoofdletter in alle talen","solution":"Je kiest nu per weekdag (ma t/m zo) wanneer posts en stories ingepland worden, in plaats van een getal. De dagknoppen vertalen mee in NL/EN/DE/FR. De naam \"Contentplanner\" begint nu overal met een hoofdletter."},{"num":"v15.83","type":"feature","title":"Maandrapport: echte PDF-preview, voorbeeld zonder klant en in jouw taal","problem":"De preview toonde een nagebootste weergave in plaats van de echte PDF, je kon niet zien hoe het rapport eruitzag zonder eerst een klant te koppelen, en de PDF was altijd in het Nederlands.","solution":"Je ziet nu de echte PDF direct inline in beeld â standaard een compleet voorbeeldrapport (duidelijk gemarkeerd als \"Voorbeeld\") zodat je de exacte opmaak ziet voordat je een klant kiest. Zodra je een klant kiest en genereert, verschijnt het echte rapport op dezelfde plek. En de PDF wordt nu volledig gegenereerd in de taal die je op dat moment gebruikt (Nederlands, Engels, Duits of Frans) â teksten, maandnamen en getalnotatie mee."},{"num":"v15.82","type":"bugfix","title":"Profielfoto-downloader: scherp origineel in plaats van wazige upscale","problem":"De tool leverde standaard een naar 1080x1080 vergrote versie, maar Instagram en LinkedIn leveren profielfotos vaak klein aan (±200-320px). Die kunstmatig vergroten maakte de foto juist wazig in plaats van scherper.","solution":"Je krijgt nu standaard het scherpe origineel op de echte resolutie. Vergroten naar 1080 kan nog steeds als optie, maar met een eerlijke melding dat dit geen scherpte toevoegt. De teksten beloven geen \"1080 upscale\" meer als kwaliteitskenmerk."},{"num":"v15.81","type":"bugfix","title":"YouTube-downloader: eerlijke resultaten en werkende thumbnail-download","problem":"De thumbnail opende een nieuw tabblad in plaats van te downloaden, voorbeeld-metadata bleef over echte resultaten heen staan, en sommige foutmeldingen toonden een technische code.","solution":"Thumbn
2ails downloaden nu echt, echte resultaten tonen de echte videotitel en het echte formaat, posts met meerdere bestanden werken, foutmeldingen zijn vertaald en voorbeelddata is duidelijk gemarkeerd."},{"num":"v15.80","type":"bugfix","title":"Voice-memo-script: kloppende tijdstempels en meertalige output","problem":"Tijdstempels toonden als \"0:010\" en het script kwam altijd in het Nederlands, ook in de Engelse, Duitse of Franse interface.","solution":"Tijdstempels zijn nu correct (0:10, 1:30), het script wordt gegenereerd in de taal van je portaal met een spreektempo per taal, een mislukte generatie wist je vorige script niet meer, en er is een tekenteller met minimum-hint."},{"num":"v15.79","type":"bugfix","title":"Username generator: check-fouten zichtbaar en geen races meer","problem":"Als de beschikbaarheidscheck faalde, gebeurde er stilletjes niets, en bij opnieuw genereren konden resultaten bij de verkeerde naam terechtkomen.","solution":"Mislukte checks tonen nu een duidelijke melding per naam, resultaten worden correct aan de juiste naam gekoppeld, dubbele checks worden voorkomen, en de tool toont voorbeeldkaarten voordat je iets invult."},{"num":"v15.78","type":"polish","title":"UTM-builder: slimmer, veiliger en persoonlijk","solution":"De foutmelding-logica klopte precies andersom (die is omgedraaid), er is een aan/uit-schakelaar die waarden automatisch naar kleine-letters-met-streepjes normaliseert (beter voor Google Analytics), presets zijn nu per gebruiker opgeslagen, Enter slaat presets op, en kopiëren heeft een fallback met echte feedback."},{"num":"v15.77","type":"bugfix","title":"Username checker: eerlijke score en handmatige check-links","problem":"Vijf platforms konden nooit automatisch gecheckt worden maar telden wel mee, waardoor de score nooit boven de 44 van de 100 uitkwam.","solution":"De score rekent nu alleen over de echt gecheckte platforms, niet-checkbare platforms krijgen een \"Check handmatig\"-link naar het profiel, de statusregel en stappen lopen mee met de scan, en de trust-teksten claimen niets meer dat de tool niet doet."},{"num":"v15.76","type":"bugfix","title":"Trending audio: filter, downloads en voorbeelden gefixt","problem":"Het categorie-filter maakte de lijst bij live data altijd leeg, de menu-knop per track deed niets en de laad-spinner was onzichtbaar.","solution":"Filteren werkt nu ook op titel en artiest, elke track heeft een echte MP3-downloadknop, voorbeelddata is gelabeld, \"Bekijk alle\" toont echt meer resultaten, en de feed wordt 10 minuten gecached zodat de tool sneller laadt."},{"num":"v15.75","type":"bugfix","title":"TikTok-downloader: fotoreeksen werken nu echt","problem":"TikTok-posts met meerdere fotos gaven een kale foutmelding, en over echte resultaten heen bleven voorbeeld-statistieken staan.","solution":"Fotoreeksen tonen nu elk bestand als aparte downloadoptie, de thumbnail downloadt echt in plaats van een tabblad te openen, voorbeelddata is duidelijk gemarkeerd, foutmeldingen zijn vertaald en de stappen-indicator loopt mee met waar je bent."},{"num":"v15.74","type":"polish","title":"Trend-radar: voorbeeld vooraf, skeletons en kopieerbare formats","solution":"De trend-radar toont nu direct een voorbeeld van de output voordat je iets invult, laad-skeletons tijdens het genereren, een resultaat-kop met je niche en platform, en een kopieerknop per format-kaart. Momentum-badges zijn ook in de lichte modus leesbaar."},{"num":"v15.73","type":"bugfix","title":"Snelheidstest: eerlijke metingen en live upload-meter","problem":"Bij een verlopen sessie toonde de test stilletjes 0.00 Mbps, de upload-meter bewoog pas aan het einde, en de mini-grafiekjes waren decoratie.","solution":"Fouten worden nu netjes gemeld, de upload-meter loopt live mee tijdens de meting, de grafiekjes tonen je echte meetverloop, de jitter-berekening klopt weer en de meter is ook in de lichte modus goed leesbaar."},{"num":"v15.72","type":"bugfix","title":"Storingschecker: geen misleidend groen meer","problem":"Platforms die niet gecheckt konden worden telden mee als \"alles operationeel\", en elke paginaweergave pingde alle 10 platforms opnieuw.","solution":"Niet-checkbare platforms geven nu een neutrale melding, resultaten worden 30 seconden gedeeld tussen gebruikers (sneller en zuiniger), er verschijnen laad-skeletons en samenvattende tellers, en de statuskleuren werken in de lichte modus."},{"num":"v15.71","type":"bugfix","title":"Alle rekentools: correcte invoer in elke taal","problem":"Wie in de Engelse interface bedragen als \"1,600\" of \"2.5\" intypte kreeg stilletjes totaal verkeerde uitkomsten (1,60 in plaats van 1.600).","solution":"Alle rekentools (ROI-calculator, klant-ROI, engagement-rate, ad-metrics, groei-projectie, influencer-tarief) lezen getallen nu volgens de taal van je interface, met kloppende voorbeeldnotaties per taal."},{"num":"v15.70","type":"bugfix","title":"Downloaders: carrousels werken en foutmeldingen zijn vertaald","problem":"Instagram-, Facebook-, LinkedIn- en Snapchat-posts met meerdere bestanden gaven \"Er ging iets mis\", en sommige foutmeldingen toonden een technische code.","solution":"Posts met meerdere bestanden tonen nu elk item als aparte downloadoptie, foutmeldingen zijn in alle vier de talen leesbaar, en de getoonde bestandsinfo (type, formaat) komt uit echte data in plaats van vaste voorbeeldwaarden. Thumbnails downloaden nu echt in plaats van een tabblad te openen."},{"num":"v15.69","type":"security","title":"Video-download-service extra beveiligd","solution":"De download-backend valideert aangevraagde adressen nu strenger tegen misbruik, gebruikt overal time-outs zodat trage bronnen geen verzoeken blokkeren, en Instagram-sessiegegevens worden versleuteld opgeslagen."},{"num":"v15.68","type":"feature","title":"AI-tools antwoorden in jouw taal","problem":"De AI-resultaten van onder andere de battle card, reply scorer, win/loss-analyse, DM-opener, connect-notes, content-ideeën en hook-analyzer kwamen altijd in het Nederlands, ook in de Engelse, Duitse of Franse interface.","solution":"Alle AI-tools genereren hun resultaat nu in de taal van je portaal, en de AI-antwoorden worden gevalideerd zodat een afwijkend antwoord een nette foutmelding geeft in plaats van een leeg of kapot scherm."},{"num":"v15.67","type":"bugfix","title":"Tool Store: aanvragen-tab werkt voor salesrollen","problem":"Appointment setters, closers en salesmanagers zagen de tab \"Aangevraagde tools\" wel, maar elke aanvraag werd geweigerd.","solution":"Salesrollen kunnen nu gewoon tools aanvragen. Ook nieuw in de store: duidelijke feedback bij het plaatsen van reviews, een eerlijke \"Geverifieerd\"-badge (alleen op echte reviews van gebruikers
2), toetsenbordnavigatie voor de bubbelweergave en zoekresultaten, en betere focus-afhandeling in de productpanelen."},{"num":"v15.66","type":"bugfix","title":"Content kalender: kloppende datums en volledige vertaling","problem":"Black Friday en Cyber Monday konden op onmogelijke datums vallen en alle dagteksten waren alleen Nederlands.","solution":"Beweeglijke feestdagen (Pasen, Hemelvaart, Carnaval, Black Friday) worden nu echt berekend â 102 speciale dagen in totaal â en alle tips zijn vertaald naar Engels, Duits en Frans. Eigen toegevoegde dagen zijn nu ook weer te verwijderen en dagen in de maandweergave zijn aanklikbaar."},{"num":"v15.65","type":"polish","title":"Lichte modus overal leesbaar in de tools","solution":"Foutmeldingen, statusbadges, meters en accentkleuren in tientallen tools hebben nu aangepaste kleuren voor de lichte modus, zodat niets meer wegvalt tegen een witte achtergrond."},{"num":"v15.64","type":"polish","title":"Elke tool voelt directer en eerlijker","solution":"Dode knoppen zijn verwijderd of werken nu echt (zoals \"Download PDF\" op de battle card), verzonnen cijfers zijn vervangen door echte data of een duidelijk \"Voorbeeld\"-label, lege schermen tonen voortaan een voorbeeldresultaat, kopieerknoppen geven pas \"Gekopieerd\" als het kopiëren ook echt lukte, en overal kwamen hover- en focus-states bij voor muis- en toetsenbordgebruik."},{"num":"v15.63","type":"bugfix","title":"Tientallen functionele fixes in losse tools","solution":"Onder meer: zoeken in de bezwaren-bibliotheek werkt nu ook in het Engels, Duits en Frans; de tekenteller voor X telt links en emoji correct en de TikTok-limiet is bijgewerkt naar 4000 tekens; het maandrapport filtert nu echt op de gekozen platforms; de link-in-bio-pagina kreeg een echte profielfoto-upload; en hashtag-onderzoek bewaart favorieten nu betrouwbaar."},{"num":"v15.62","type":"feature","title":"Thema volgt nu standaard je systeem","problem":"Nieuwe accounts begonnen altijd in light mode, ook als je apparaat op dark mode stond.","solution":"Het thema staat nu standaard op Systeem (volgt je apparaat-instelling). Je keuze voor Licht, Donker of Systeem wordt opgeslagen bij je account en werkt cross-device."},{"num":"v15.61","type":"security","title":"API-beveiligingsaudit: lek in boekings-response gedicht + extra limieten","problem":"Een controle bracht aan het licht dat de openbare boekingsbevestiging interne gegevens teruggaf die daar niet hoorden, en dat enkele openbare onderdelen geen eigen limiet tegen misbruik hadden.","solution":"De boekingsbevestiging geeft nu alleen nog de gegevens terug die de bezoeker nodig heeft. Diverse openbare onderdelen, waaronder tijdslot-berekening, groei-statistieken, changelog-vertaling en offerte-PDF's, kregen een eigen limiet tegen misbruik. De statuscontrole toont geen technische details meer, en het ophalen van afbeeldingen accepteert alleen echte afbeeldingen met een groottelimiet."},{"num":"v15.60","type":"security","title":"E-mailadres wijzigen vereist nu bevestiging","problem":"Het e-mailadres van je account kon zonder verificatie worden gewijzigd.","solution":"Je ontvangt nu een bevestigingslink op je nieuwe e-mailadres. Pas na het klikken op die link wordt de wijziging doorgevoerd. Heb je tweestapsverificatie aan, dan moet je ook je code invoeren voordat de bevestigingsmail wordt verstuurd."},{"num":"v15.59","type":"polish","title":"Verzendlimiet-waarschuwing bij IMAP-koppeling","solution":"Bij het koppelen van je mailbox via IMAP staat er nu een duidelijke melding over de dagelijkse verzendlimiet van je provider, bijvoorbeeld rond de 100 bij domein-hosting en rond de 500 bij Gmail."},{"num":"v15.58","type":"polish","title":"Uitloggen-knop op profielpagina","solution":"Op de profielpagina staat nu een Uitloggen-knop direct onder de profielfoto-acties, zodat je niet meer hoeft te zoeken naar hoe je uitlogt."},{"num":"v15.57","type":"bugfix","title":"Direct Socials-modal leesbaar in dark mode","problem":"De partnerschapsmodal van Direct Socials had een witte achtergrond en onleesbare tekst in dark mode.","solution":"De modal gebruikt nu de juiste thema-variabelen (--surface-card, --text, --text-soft) zodat kleuren automatisch meeschakelen met het gekozen thema."},{"num":"v15.56","type":"bugfix","title":"Admin-links werken nu correct voor social media managers","problem":"Meerdere knoppen op het dashboard en in de CRM-import verwezen naar admin-only paginas waar managers geen toegang toe hebben.","solution":"De Canva-verbindknop stuurt managers nu naar hun profielpagina. De \"Alle activiteit\"- en \"Bekijk alles\"-links en de link naar eigen velden zijn nu verborgen voor niet-admin-rollen."},{"num":"v15.55","type":"feature","title":"Backup codes bij tweestapsverificatie","problem":"Als je je authenticator-app kwijtraakte, was er geen manier om in te loggen.","solution":"Na het inschakelen van MFA krijg je 8 eenmalige backup codes die je kunt kopiëren of downloaden. Je kunt ze gebruiken als alternatief voor je authenticator-app. Andere sessies worden automatisch uitgelogd bij het inschakelen van MFA."},{"num":"v15.54","type":"bugfix","title":"Andere sessies worden netjes uitgelogd na wachtwoordwijziging","problem":"Wijzigde je je wachtwoord in de ene browser, dan liep de andere browser vast op een foutmelding in plaats van je netjes uit te loggen.","solution":"Na een wachtwoordwijziging worden alle andere sessies direct ongeldig gemaakt en word je daar doorgestuurd naar het inlogscherm."},{"num":"v15.53","type":"polish","title":"Wachtwoordvereisten zijn nu duidelijk aanbevelingen","problem":"De wac
2htwoordhints (hoofdletter, cijfer, speciaal teken) leken verplicht terwijl alleen minimaal 8 tekens afgedwongen wordt.","solution":"De hints staan nu onder een \"Aanbevelingen\"-kopje en de enige echte eis (8 tekens) is gemarkeerd als verplicht."},{"num":"v15.52","type":"bugfix","title":"Welkomstmail in de juiste taal","problem":"Nieuwe teamleden kregen hun welkomstmail altijd in het Engels, ongeacht de taal van het bureau.","solution":"De welkomstmail wordt nu verstuurd in de taal van de admin die het account aanmaakt."},{"num":"v15.51","type":"bugfix","title":"E-mails in normaal lettertype","problem":"Welkomstmails en andere systeemmails werden in sommige e-mailclients (o.a. Gmail) weergegeven in een monospace-lettertype.","solution":"Alle e-mailelementen hebben nu een expliciete font-family zodat ze overal in een leesbaar sans-serif lettertype verschijnen."},{"num":"v15.50","type":"bugfix","title":"Wensen-filter: \"Alle\"-knop weer leesbaar","problem":"De actieve knop 'Alle' in het Wensen-paneel toonde onzichtbare tekst door een kleurfout.","solution":"De knop krijgt nu altijd een donkere tekstkleur, zodat het label leesbaar blijft op de witte achtergrond."},{"num":"v15.49","type":"polish","title":"Content-ideeën: icoon gelijk aan productpagina","solution":"Het icoon in de hero van de Content-ideeën-tool is nu hetzelfde gloeilamp-logo als op de productpagina (in plaats van het ster-icoon), zodat de tool overal consistent herkenbaar is."},{"num":"v15.48","type":"polish","title":"Instagram-downloader: meer witruimte","solution":"De Instagram-downloader heeft overal wat meer ademruimte gekregen: ruimere padding in de panelen, meer afstand tussen de categorie- en kwaliteitskaarten en een bredere werkzone tussen preview, profielinfo en kwaliteitskeuze. De categorie-kaarten (Alle content, Reels & stories, IGTV, Profiel) zijn bovendien breder, zodat de labels op één regel passen."},{"num":"v15.47","type":"polish","title":"Tool-productpagina: reviews in de kleur van de tool","solution":"Op elke tool-productpagina volgen de sterren, beoordelings-balken, het gemiddelde cijfer, de review-profielfotoâs en de \"Geverifieerd\"-badges nu de eigen kleur van die tool, in plaats van steeds hetzelfde teal/blauw. Zo is de hele productpagina consistent in de huisstijl van de betreffende tool."},{"num":"v15.46","type":"feature","title":"Battle Card Generator: nieuw ontwerp","solution":"Een nieuwe indeling in drie kolommen: links vul je de concurrent, categorie, website en je eigen positionering in. In het midden verschijnt de vergelijking op vijf punten (prijs, snelheid, support, functies, onboarding) met een voordeel-score. Rechts krijg je positionering, het zwakste punt van de concurrent, een tegenargument en antwoorden op bezwaren, en je ziet meteen een voorbeeld."},{"num":"v15.45","type":"feature","title":"Reply Quality Scorer: nieuw ontwerp","solution":"De Reply Quality Scorer heeft een compleet nieuwe verkoop-productpagina: plak het kanaal, je originele bericht en de reactie van je prospect en krijg een eerlijke temperatuur-score (heet/warm/lauw/koud/dood) met intentie-detectie, een aanbevolen vervolgstap, het beste moment om te reageren en een conceptantwoord. De echte AI-scoring is behouden; standaard tonen we een voorbeeld-resultaat zodat je meteen ziet wat je krijgt."},{"num":"v15.44","type":"feature","title":"ROI calculator: nieuw ontwerp","solution":"De ROI calculator heeft een compleet nieuwe verkoop-productpagina: vul de huidige omzet, conversie, ticketprijs, fee, setup en verwachte uplift in en zie direct de projectie voor je prospect â het netto extra na 12 maanden als groot headline-getal, plus de ROI en payback en een breakdown per 3, 6 en 12 maanden. Alle cijfers rekenen live mee terwijl je de invoer aanpast."},{"num":"v15.43","type":"feature","title":"Internet snelheidstest: nieuw ontwerp","solution":"De snelheidstest heeft een compleet nieuwe productpagina met een echte speedometer-gauge die live meebeweegt tijdens de meting, plus aparte kaarten voor download, upload, ping en jitter met mini-grafieken. Eén klik op \"Start test\" meet je verbinding volledig in de browser (geen downloads, geen tracking). De echte meetlogica is behouden."},{"num":"v15.42","type":"feature","title":"Content kalender: nieuw ontwerp","solution":"Een nieuw maandoverzicht met gekleurde stippen per categorie (feestdagen, internationaal, awareness, seizoensgebonden, overig), een duidelijke markering voor vandaag en een zijbalk met aankomende bijzondere dagen. Je wisselt tussen maand-, lijst- en agendaweergave, markeert dagen als gepland en voegt eigen dagen toe. De database met meer dan 100 bijzondere dagen, inclusief verschuivende feestdagen, blijft behouden."},{"num":"v15.41","type":"feature","title":"Content-ideeën: nieuw ontwerp","solution":"De Content-ideeën-tool heeft een compleet nieuwe productpagina: kies (optioneel) een klant, vul je niche, doelgroep, platform, toon, doel en AIDA-fase in, en de AI genereert 10 post-ideeën met hook, CTA, hashtags en een viral-score â netjes naast het formulier in een overzichtelijke lijst met één-klik kopiëren. De echte AI-generatie is behouden; standaard tonen we een voorbeeld-lijst zodat je meteen ziet wat je krijgt."},{"num":"v15.40","type":"polish","title":"Trending audio: auto-laden + filteren per land","solution":"De Trending audio-tool laadt nu automatisch de live sounds zodra je hem opent (geen klik op \"Vernieuwen\" meer nodig), en je kunt via de regio-keuze direct de trending audio van een ander land ophalen (NL, VS, VK, DE, FR, ES). De trend-score volgt nu netjes de ranglijst in plaats van overal hetzelfde getal te tonen."},{"num":"v15.39","type":"feature","title":"Trending audio: nieuw ontwerp","solution":"De Trending audio-tool is opnieuw ontworpen als een overzichtelijke hitlijst: kies je regio en categorie, zoek een sound en zie per track de trend-score (met balk), de stijging, het genre, de artiest en de duur. Speel direct een 30s-preview af met de play-knop. De echte live-data blijft behouden; standaard tonen we een voorbeeld-lijst zodat je meteen ziet wat je krijgt."},{"num":"v15.38","type":"feature","title":"Link-in-bio builder: nieuw ontwerp","solution":"De Link-in-bio builder heeft een compleet nieuwe, getabde editor (Basis, Links, Ontwerp, Knoppen, Social, SEO, Instellingen) met een eigen URL-kiezer (senly.bio/jouwnaam) en een live telefoon-preview die direct meebeweegt. Voeg profielinfo, links (slepen, aan/uit, bewerken) en social-iconen toe, kies een themakleur, lettertype en knopstijl, en publiceer je pagina in één klik. Alles blijft client-side (privacy first) en wordt tussentijds bewaard."},{"num":"v15.37","type":"polish","title":"Link-in-bio preview: breder en gelijk","solution":"De telefoon-preview in de Link-in-bio builder is nu een stuk breder en beter leesbaar (grotere avatar, naam en knoppen), en heeft dezelfde breedte in mobiel- én desktopweergave."},{"num":"v15.36","type":"bugfix","title":"Contentplanner: stories overslaan bij caption-generatie","problem":"Stories kregen een waarschuwing dat er geen caption was en werden meegenomen in de caption-generatie, terwijl stories geen caption nodig hebben.","solution":"Stories worden nu overgeslagen bij het genereren van captions en bij de caption-check voor het versturen naar de contentplanner."},{"num":"v15.35","type":"polish","title":"Workflow builder: standaardnaam, opslaan zonder sluiten en annuleerbare stap-configuratie","problem":"Nieuwe workflows hadden geen naam, opslaan sloot de builder, en wijzigingen aan een stap konden niet ongedaan worden gemaakt.","solution":"Nieuwe workflows krijgen automatisch een naam (Workflow-XXXX), opslaan houdt de builder open met een bevestigingsmelding, en elke stap-configuratie heeft nu Annuleren/Toepassen-knoppen die de wijzigingen terugdraaien of bevestigen."},{"num":"v15.34","type":"bugfix","title":"Webhook rate-limit: correcte HTTP-status en limieten-info","problem":"Bij te veel verzoeken achter elkaar gaf de koppeling een onduidelijke terugmelding, en ook bij een uitvoeringsfout klopte de melding niet.","solution":"Je krijgt nu een duidelijke melding zodra je de limiet bereikt, inclusief hoelang je moet wac
2hten en wat de limiet precies is. Een uitvoeringsfout wordt nu ook correct als fout teruggemeld."},{"num":"v15.33","type":"bugfix","title":"AI-workflow-generatie past bestaande workflows aan in plaats van opnieuw te maken","problem":"Bij het aanpassen van een bestaande workflow via AI werd de hele workflow vervangen door een nieuw concept, en de toegevoegde stappen waren niet bewerkbaar.","solution":"De AI ontvangt nu de huidige workflow en past alleen de gevraagde wijziging toe. Nieuwe stappen zijn direct bewerkbaar zonder eerst op te slaan."},{"num":"v15.32","type":"bugfix","title":"Workflow-taken zichtbaar op het dashboard","problem":"Automatisch aangemaakte taken zonder gekoppelde klant verschenen niet op je dashboard.","solution":"Je dashboard toont nu ook taken zonder klantkoppeling, zoals taken die automatisch voor je zijn aangemaakt."}]},{"date":"2026-07-01","version":"v15.31","clV":"v0.680","title":"Tool-productpagina: accent-iconen in de kleur van de tool","items":[{"num":"v15.31","type":"polish","title":"Kleurenpalet-extractor: verfijnde kop","solution":"De Kleurenpalet-extractor heeft een opgeschoonde kop: het icoon staat nu naast de titel (\"Kleurenpalet\" met \"extractor\" in de accentkleur) en de \"direct toepasbaar\"-bevestiging heeft een groen vinkje."},{"num":"v15.30","type":"feature","title":"Username checker: nieuw ontwerp","solution":"De Username checker heeft een compleet nieuwe productpagina: voer je merknaam in en zie in één scan of de username vrij of bezet is op alle grote social platforms (Instagram, TikTok, YouTube, X, LinkedIn, Pinterest, Twitch, Discord, Reddit) â met een username-score, merkrisico-inschatting en alternatieve suggesties. De echte realtime-check is behouden; standaard tonen we een voorbeeld (@jouwmerk) zodat je meteen ziet wat je krijgt."},{"num":"v15.29","type":"feature","title":"Account check (Instagram): nieuw ontwerp","solution":"De Account check-tool heeft een compleet nieuwe productpagina: voer een Instagram-handle in en zie direct de volgers, engagement rate, kwaliteitsscore en een verdeling van echte vs. mogelijk nep/verdachte volgers â plus een aanbeveling op maat. De echte data-analyse (openbare gegevens) is behouden; standaard tonen we een voorbeeld (@dualipa) zodat je meteen ziet wat je krijgt."},{"num":"v15.28","type":"feature","title":"Hashtag-onderzoek: nieuw ontwerp","solution":"De Hashtag-onderzoek tool heeft een compleet nieuwe productpagina: typ een hashtag en zie in één oogopslag de populariteit (gebruik per week), het geschatte bereik, gerelateerde tags met volumes en een Kansen-overzicht (concurrentie, trend, seizoen, moeilijkheid) met opportuniteitsscore. De echte data-ophaling is behouden; standaard tonen we een voorbeeld (#marketing) zodat je meteen ziet wat je krijgt."},{"num":"v15.27","type":"feature","title":"Maandrapport-generator: nieuw ontwerp","solution":"De Maandrapport-generator is opnieuw ontworpen: kies je klant en periode, filter op platformen en genereer een white-label PDF-rapport in je brand-kleur. Je ziet vooraf de belangrijkste cijfers (groei, bereik, engagement, best presterende post), een rapport-preview en concrete insights â allemaal op basis van de echte data. Downloaden of openen in een nieuw tabblad."},{"num":"v15.26","type":"bugfix","title":"Maandrapport: bereik van best presterende post","problem":"De kaart \"Best presterende post\" toonde het totale bereik van het platform in plaats van het bereik van de post zelf.","solution":"De kaart toont nu het werkelijke bereik van de best presterende post, en lange posttitels lopen netjes over twee regels in plaats van te worden afgekapt."},{"num":"v15.25","type":"feature","title":"Carousel-splitter: nieuw ontwerp + sleepbare verdeling","solution":"De Carousel-splitter is opnieuw ontworpen: upload één brede afbeelding, kies het aantal slides en het formaat (9:16, 4:5 of 1:1), en pas de verdeling aan met sleepbare handgrepen. Je ziet een live preview met optionele safe-zone-overlay en kunt de slides los, als ZIP of allemaal tegelijk downloaden. Alles lokaal in je browser."},{"num":"v15.24","type":"feature","title":"Caption generator: nieuw ontwerp","solution":"De Caption generator is o
2pnieuw ontworpen met drie kolommen: links stel je je post, platform, tone-of-voice en aantal varianten in; in het midden schrijft de AI je caption-varianten met één-klik kopiëren (of alles tegelijk) plus een Instagram-preview; rechts een risico-check op je captions en concrete optimalisatie-tips. De echte AI-generatie is behouden."},{"num":"v15.23","type":"feature","title":"Downloaders (Facebook, Instagram, TikTok, YouTube, LinkedIn): nieuw ontwerp","solution":"Alle social-downloaders hebben een nieuw, consistent ontwerp gekregen: plak een link, wij herkennen de content automatisch en tonen een preview met de beschikbare downloads (video, thumbnail of losse items) in de huisstijl van elk platform. De echte download-functie is behouden; er wordt niets opgeslagen."},{"num":"v15.22","type":"feature","title":"Instagram-downloader: eigen productpagina exact volgens ontwerp","solution":"Een eigen pagina met duidelijke uitleg, categorieën (alle content, reels & stories, IGTV, profiel) en een werkscherm waar je een link plakt, direct ziet of het een reel is, kiest tussen reel, foto, story, IGTV of profiel, een voorbeeld ziet inclusief profielinfo en de kwaliteit kiest. Downloaden werkt zoals voorheen; er wordt niets opgeslagen."},{"num":"v15.21","type":"polish","title":"Facebook-downloader: verfijnd ontwerp","solution":"De Facebook-downloader heeft een eigen, uitgewerkte productpagina gekregen in de Facebook-huisstijl: plak-link met detectie-balk (type, duur, resolutie, formaat, grootte), tabbladen (Video, Reels, Fotoâs, Stories, Albums, Profiel), een video-preview met postgegevens en een overzicht van de downloadopties. De echte download-functie is behouden."},{"num":"v15.20","type":"polish","title":"TikTok-downloader: verfijnd ontwerp","solution":"De TikTok-downloader heeft een eigen productpagina in de TikTok-huisstijl (tealâroze): een 3-staps indicator, plak-link met detectie-balk, een verticale 9:16 video-preview met actierail, caption en tijdlijn, en de downloadopties met een privacy-melding. De echte download-functie is behouden."},{"num":"v15.19","type":"polish","title":"Snapchat-downloader: verfijnd ontwerp","solution":"De Snapchat-downloader heeft een eigen productpagina in de Snapchat-huisstijl (geel): een uitgebreide zijbalk met \"Hoe het werkt\"-stappen, plak-link met detectie-balk, tabbladen (Story, Spotlight, Publieke snap, Profiel), een preview met snap-gegevens en statistieken, kwaliteitsopties en een download-knop met MB-indicatie. De echte download-functie is behouden."},{"num":"v15.18","type":"polish","title":"YouTube-downloader: verfijnd ontwerp","solution":"De YouTube-downloader heeft een eigen productpagina in de YouTube-huisstijl (rood): een 3-staps indicator, plak-link met ronde controle-knop en detectie-balk (duur, resolutie, formaat, grootte), een 16:9 video-preview met kanaalgegevens (weergaven, datum), en de downloadopties met gekleurde kwaliteits-badges (HD/SD/audio/thumbnail) plus grootte en een privacy-melding. De echte download-functie is behouden."},{"num":"v15.17","type":"polish","title":"LinkedIn-downloader: verfijnd ontwerp","solution":"De LinkedIn-downloader heeft een eigen productpagina in de LinkedIn-huisstijl (blauw naar paars): een 3-staps indicator, plak-link met \"Analyseren\"-knop en detectie-balk (type, resolutie, formaat, grootte), vier content-kaarten (Posts, Carrousels, Documenten, Video's) met previews, een trust-rij en de gradient download-knop met grootte plus een gebruiksregel. Het app-icoon gebruikt hetzelfde logo als de productpagina. De echte download-functie is behouden."},{"num":"v15.16","type":"feature","title":"Brand-safety check: nieuw ontwerp","solution":"De Brand-safety check is opnieuw ontworpen: plak je caption en zie live welke risicowoorden en concurrenten erin staan, netjes gemarkeerd in de tekst. Met een duidelijk eindoordeel (veilig / onveilig), beheerbare lijsten (risicowoorden + concurrenten) en aanbevolen vervolgacties. Alles lokaal in je browser."},{"num":"v15.15","type":"feature","title":"Kleurenpalet extractor: nieuw ontwerp + meer functies","solution":"De Kleurenpalet extractor is o
2pnieuw ontworpen met een 3-staps flow en haalt nu tot 10 kleuren uit je foto of logo, elk met hun aandeel. Kies je uitvoerformaat (HEX/RGB/HSL/CMYK), kopieer of download het hele palet, en bekijk met één klik je afbeelding omgezet naar de gevonden kleuren. Je laatste extracties worden lokaal onthouden. Alles in je browser â de afbeelding wordt nooit geüpload."},{"num":"v15.14","type":"feature","title":"Fancy tekst generator: nieuw ontwerp + extra stijlen","solution":"De Fancy tekst generator is opnieuw ontworpen: typ je tekst, kies welke stijlen je wilt en genereer ze in één klik. Naast vet, cursief, script en monospace zijn er nu ook kleine caps en dubbelstrepig (double-struck). Kopieer een losse stijl of alles tegelijk. Werkt overal (Instagram, TikTok, X) â alles lokaal in je browser."},{"num":"v15.13","type":"feature","title":"Format & safe-zones: nieuw ontwerp + uitgebreidere overlay","solution":"De Format & safe-zones tool is opnieuw ontworpen met een rijke hero en drie duidelijke stappen (kies formaat, preview met safe-zones, exporteren). De preview toont nu drie zones (veilige zone, tekst zone en afgesneden zone), je kunt digitaal inzoomen, alle formaten naast elkaar vergelijken en exporteren met of zonder overlay als PNG of JPG. Alles lokaal in je browser â er wordt niets geüpload."},{"num":"v15.12","type":"feature","title":"Instagram witregel-fixer: nieuw ontwerp","solution":"De Instagram witregel-fixer is opnieuw ontworpen met een tweekoloms opzet (jouw caption naast de gefixte versie), een teller tot 2.200 tekens en een \"Fix witregels\"-knop. Naast het behouden van je witregels ruimt de tool nu ook dubbele spaties op, met één klik kopiëren naar Instagram."},{"num":"v15.11","type":"feature","title":"Klant-ROI calculator: nieuw ontwerp + werkende berekening","solution":"De Klant-ROI calculator is opnieuw ontworpen en volledig werkend: vul je maandelijkse retainer, leads, conversieratio en waarde per klant in en zie direct de maandelijkse opbrengst, kosten, winst, je ROI in een gauge en de terugverdientijd, plus een korte samenvatting van de waarde die je oplevert. Alles lokaal berekend, niets wordt opgeslagen."},{"num":"v15.10","type":"feature","title":"Productpagina-illustraties nu ook in Engels, Duits en Frans","problem":"De geanimeerde illustraties op de tool-productpagina's hadden vaste Nederlandse tekst (labels, koppen, omschrijvingen), ook als je de site in een andere taal bekeek.","solution":"Alle illustraties tonen hun tekst nu in de gekozen taal (NL/EN/DE/FR). Merknamen, cijfers en handles blijven uiteraard ongewijzigd."},{"num":"v15.09","type":"polish","title":"Tool Store: \"Tool van de week\"-titel iets lichter","solution":"De grote titel in de uitgelichte \"Tool van de week\"-kaart had een erg zware letterdikte; die is nu wat dunner gemaakt voor een rustiger, verfijnder beeld."},{"num":"v15.08","type":"feature","title":"Carousel-splitter: nieuw, verfijnd ontwerp met live carousel-preview","solution":"De Carousel-splitter is opnieuw aangekleed tot in het detail: afgeronde stap-badges, formaat-knoppen met icoon en verhouding op één regel, gestreepte verdelers met sleepgrepen en oranje navigatiepijlen. De live preview heeft nu een weergave-schakelaar (raster, enkele slide, profielraster), doorbladeren met pijlen en stippen, zodat je precies ziet hoe je carousel op Instagram overkomt."},{"num":"v15.07","type":"polish","title":"Carousel-splitter: opent direct met een voorbeeldafbeelding","solution":"De Carousel-splitter laadt nu automatisch een voorbeeldafbeelding zodra je de tool opent, zodat je meteen alle stappen en de live preview in actie ziet zonder eerst iets te hoeven uploaden. Je eigen afbeelding uploaden vervangt het voorbeeld direct."},{"num":"v15.06","type":"feature","title":"Facebook-downloader: eigen ontwerp met voorbeeldweergave","solution":"De Facebook-downloader heeft nu een eigen, afgewerkte pagina: plak een Facebook-videolink en de tool toont de video-preview met post-info en downloadopties. Standaard staat er meteen een compleet voorbeeld klaar, zodat je in één oogopslag ziet wat de tool doet."},{"num":"v15.05","type":"polish","title":"Maandrapport-generator: verfijnd samenstel-paneel","solution":"Het \"Stel je rapport samen\"-blok van de Maandrapport-generator is bijgewerkt met duidelijkere platform-tegels (Instagram, LinkedIn, Facebook, TikTok in hun eigen kleuren), een nettere hero en een jaarkiezer met kalender-icoon."},{"num":"v15.04","type":"feature","title":"Caption-generator: nieuw ontwerp met stappenbalk en preview","solution":"Een voortgangsbalk (scannen, risico's markeren, klaar voor publicatie), een overzichtelijk invoerscherm waar je een idee typt of iets uploadt, captions met een kopieerknop, een risicocheck met tips, en een volledige Instagram-preview. Die preview laat drie scores zien (bereik, engagement, conversie) die eerlijk uit je tekst worden afgeleid, zonder verzonnen cijfers."},{"num":"v15.03","type":"bugfix","title":"Profielfoto downloaden: LinkedIn werkt nu ook op de online server","problem":"De tool \"Profielfoto downloaden\" gaf online de melding dat hij alleen op je eigen computer werkt. Instagram en LinkedIn blokkeren namelijk verzoeken vanaf onze servers, en de gratis om
2weg-diensten die we eerder gebruikten (imginn, Jina) zijn inmiddels dicht of weigeren die netwerken.","solution":"LinkedIn-foto's worden nu opgehaald via een gratis avatar-dienst die de publieke profielfoto oplost, zodat LinkedIn ook op de online server werkt â zonder extra kosten. Voor Instagram is een gratis Cloudflare-tussenstap ingebouwd die de IP-blokkade omzeilt; die wordt actief zodra de proxy is ingeschakeld."},{"num":"v15.02","type":"bugfix","title":"Bestandsgrootte verkleinen: instellingen werken nu direct","problem":"Na het uploaden had het wijzigen van instellingen (modus, kwaliteit, bestandsformaat) geen zichtbaar effect â je moest de afbeelding verwijderen en opnieuw toevoegen om een andere instelling te zien.","solution":"De tool verwerkt je afbeelding nu meteen opnieuw zodra je een instelling wijzigt. Je ziet het resultaat direct meebewegen met de kwaliteit, de modus en het gekozen bestandsformaat, zonder opnieuw te hoeven uploaden."},{"num":"v15.01","type":"feature","title":"Groei-projectie calculator: nieuw ontwerp + werkend groeiplan","solution":"De Groei-projectie calculator is opnieuw ontworpen en volledig werkend: vul je huidige volgers, je doel en je termijn in en zie direct hoeveel volgers je per dag, week en maand moet winnen, plus je voortgang t.o.v. je doel, een indicatie van de benodigde consistentie en een korte inschatting of je op schema zit. Alles lokaal berekend, niets wordt opgeslagen."},{"num":"v15.00","type":"feature","title":"Influencer-tarief calculator: nieuw ontwerp + werkende schatting","solution":"De Influencer-tarief calculator is opnieuw ontworpen en volledig werkend: kies je platform, vul volgers + engagement-rate in, kies je posttype en extra's (Story, extra slide, gebruiksrechten, exclusiviteit, whitelisting) en zie direct een geschatte prijs per post met CPM, CPE, verwacht bereik, prijs-range en je marktpositionering. Alles lokaal berekend op vaste marktformules, niets wordt opgeslagen."},{"num":"v14.99","type":"polish","title":"Tool-kop: label netjes onder het logo + iets meer ruimte bovenaan","problem":"Bij o.a. Advertentie-statistieken stond het label (\"Advertentie-rendement\") naast het logo in plaats van eronder, en begonnen de tools nogal hoog tegen de bovenrand.","solution":"De kop staat nu als nette verticale kolom (logo â label â titel â uitleg) en alle vernieuwde tool-pagina's beginnen een stukje lager, met behoud van hun onderlinge gelijke bovenafstand."},{"num":"v14.98","type":"feature","title":"Advertentie-statistieken: nieuw ontwerp + werkende berekeningen","solution":"De Advertentie-statistieken-tool is opnieuw ontworpen en volledig werkend: vul budget, impressies, kliks, conversies en omzet in en zie direct je CPM, CPC, CTR, CPA, ROAS, winst en break-even, met een AI-analyse en aanbevelingen. Alles lokaal, niets wordt opgeslagen."},{"num":"v14.97","type":"bugfix","title":"Bio generator: interactieve illustratie op de productpagina hersteld","problem":"Op de pagina van de Bio generator bleef de rechterkant leeg â de illustratie die laat zien hoe het werkt, verscheen niet.","solution":"Een stylingfout die de illustratie verborg is verholpen, waardoor de volledige demo van de Bio generator weer gewoon te zien is."},{"num":"v14.96","type":"feature","title":"Engagement-rate calculator: nieuw ontwerp + werkende benchmark","solution":"De engagement-rate calculator is opnieuw ontworpen en volledig werkend: kies je platform, vul volgers + gemiddelde interacties in en zie live je engagement-rate in een gauge, je benchmark-positie (Top 25% e.d.), het verschil t.o.v. het gemiddelde, de platform-gemiddelden en concrete aanbevelingen. Alles lokaal, niets wordt opgeslagen."},{"num":"v14.95","type":"polish","title":"Tool-pagina's: gelijke afstand tot de bovenkant","solution":"De vernieuwde tool-pagina's beginnen nu allemaal op exact dezelfde hoogte, zodat het wisselen tussen tools rustiger aanvoelt."},{"num":"v14.94","type":"feature","title":"Bestandsgrootte verkleinen: volledig nieuwe premium tool-pagina","solution":"De tool \"Bestandsgrootte verkleinen\" heeft een compleet nieuw, overzichtelijk ontwerp: een heldere kop met live sessie-teller, een instellingen-paneel (modus, kwaliteit-slider, output-formaat) naast een voor/na-vergelijking, een grote sleepzone en veiligheidsgaranties onderaan. De compressie werkt onveranderd volledig lokaal in je browser."},{"num":"v14.93","type":"polish","title":"Productpagina-illustraties: consistente hoogte, geen lege ruimte","solution":"Na een brede controle van alle dashboard-illustraties (elk apart gerenderd en gecontroleerd) zijn de laatste maat-problemen weggewerkt: de ROI Calculator (viel te kort in), Caption generator, Maandrapport-generator en DM Opener staan nu op een consistente, gevulde hoogte zonder grote lege vlakken. De rest bleek al goed te staan."},{"num":"v14.92","type":"polish","title":"QR-code generator: echte scanbare QR-codes in de illustratie","problem":"De twee QR-codes in de illustratie waren met de hand getekend met een te regelmatig patroon en zagen er daardoor nep uit.","solution":"Beide zijn vervangen door echte, uit de URL gegenereerde QR-matrices (met correcte finder-patronen, timing en data-modules) â ze zien er nu authentiek en scanbaar uit."},{"num":"v14.91","type":"polish","title":"AI-icoon, kenmerk-iconen en vinkjes nemen nu de eigen kleur van elke tool over","problem":"Op elke tool-productpagina stonden het AI-s
2parkle-icoon (\"Gemaakt door Senly\"), de drie kenmerk-iconen onder de titel en de vinkjes bij Voordelen altijd in dezelfde vaste teal â ook op een tool met bijvoorbeeld een rood of blauw thema. Dat botste met de huiskleur van die tool.","solution":"Deze drie accent-iconen volgen nu de themakleur van de tool zelf (rood bij Hashtag onderzoek, blauw bij blauwe tools, enzovoort), met de huisstijl-teal als terugval. Eén consistente accentkleur per productpagina."},{"num":"v14.90","type":"bugfix","title":"Trending audio: laatste kenmerk-kaart (\"Sla favorieten op\") werd afgesneden","problem":"De vier kenmerk-kaartjes onder de trending-audio-illustratie pasten niet samen op de beschikbare breedte, waardoor de vierde kaart half buiten beeld viel en werd weggeknipt.","solution":"De kaartjes mogen nu meekrimpen met de breedte (gelijke kolommen die wél mogen versmallen), zodat alle vier netjes naast elkaar passen."},{"num":"v14.89","type":"polish","title":"Kleurenpalet-extractor: illustratie groter en beter uitgelijnd","solution":"De animatie op de productpagina van de Kleurenpalet-extractor (foto â analyse-lens â palet) is flink vergroot, en de paletkaart hangt niet meer tegen de rand â er zit nu nette ruimte aan beide kanten zodat het geheel gebalanceerd staat."},{"num":"v14.88","type":"polish","title":"Carousel-splitter: illustratie een stuk groter","solution":"De animatie op de productpagina van de Carousel-splitter (brede afbeelding â 3 slides â Instagram-grid) is vergroot zodat-ie de hero-ruimte beter benut."},{"num":"v14.87","type":"bugfix","title":"ROI Calculator: illustratie overlapte zichzelf â opnieuw opgebouwd","problem":"De ROI-animatie was op een vaste maat ontworpen; op de echte productpagina vielen de kaartjes (investering, opbrengst, winst, terugverdientijd) over de centrale ROI-hologram heen, waardoor cijfers onleesbaar werden.","solution":"De illustratie is opnieuw opgebouwd als een echte drie-koloms layout (invoer links â ROI-hologram in het midden â uitkomsten rechts, met verbindingspijlen). Niets overlapt meer, alles is leesbaar en de animatie staat nu groot en uitgespreid zoals bedoeld."},{"num":"v14.86","type":"bugfix","title":"Storingen checker: onderste drie blokken werden afgesneden","problem":"De status-illustratie had een vaste hoogte waardoor de drie onderste blokken (Realtime monitoring / Crowdsourced signals / Instant alerts) maar half zichtbaar waren.","solution":"De vaste hoogte is losgelaten en de illustratie krijgt een breder canvas, zodat het volledige status-dashboard inclusief de onderste drie blokken nu volledig zichtbaar is."},{"num":"v14.85","type":"polish","title":"Meer productpagina-illustraties op een breder canvas","solution":"De animaties van Brand-safety check, Caption generator, Bio generator, Hashtag-bibliotheek, Bezwaren Library, QR-code generator, Maandrapport-generator, Niche-spiekboeken, Internet snelheidstest en Battle Card Generator staan nu op het bredere hero-canvas, zodat ze groter en duidelijker in beeld komen."},{"num":"v14.84","type":"bugfix","title":"Snelheidstest: meterwijzer liep door de cijfers heen","problem":"In de snelheidstest-illustratie stond het grote Mbps-getal midden in de meter, precies waar de wijzer doorheen draaide â onleesbaar.","solution":"Het getal staat nu lager, in de open onderkant van de meter (onder de naald), en de meter is groter. Wijzer en cijfers overlappen niet meer."},{"num":"v14.83","type":"polish","title":"Win/Loss Analyzer: luxe trofee met verbindingslijnen","solution":"De trofee in de illustratie is opnieuw getekend als een volle, glimmende gouden wireframe-beker (met ster, handvatten en voetstuk) en er lopen nu stippellijnen vanuit de trofee naar elk percentage â zoals in het ontwerp bedoeld."},{"num":"v14.82","type":"polish","title":"Brand-safety & DM Opener: illustratie vult nu de volle hoogte","solution":"De animaties van de Brand-safety check en DM Opener Generator lopen nu netjes door tot de hoogte van de knoppen ernaast, i.p.v. halverwege te stoppen."},{"num":"v14.81","type":"bugfix","title":"Enkele illustraties werden rechts afgesneden","problem":"De animaties van de Kleur-contrast checker, Username generator, Voice-Memo Script en Win/Loss Analyzer liepen aan de rechterkant buiten beeld.","solution":"Deze staan nu op het bredere hero-canvas en hun kolommen mogen netjes meekrimpen, zodat de volledige illustratie in beeld past."},{"num":"v14.80","type":"bugfix","title":"Battle Card: tekst viel achter het logo","problem":"In de vergelijkings-illustratie viel het woord naast het eerste vinkje deels achter het centrale schild-logo, en de beschrijvingen liepen over drie regels.","solution":"De twee vergelijkingskolommen hebben meer tussenruimte zodat het schild er netjes tussen past, en de illustratie staat op een breder canvas zodat de beschrijvingen op twee regels passen."}]},{"date":"2026-06-30","version":"v14.79","clV":"v0.678","title":"Toolaanbevelingen passen zich aan jouw doelgroep aan","items":[{"num":"v14.79","type":"feature","title":"Nog 12 geanimeerde productpagina-illustraties","solution":"Twaalf extra tools hebben een eigen animatie op hun pagina gekregen, elk in de eigen kleur: LinkedIn Connect Note, QR-code generator, Bezwaren Library, Hashtag-bibliotheek, UTM-link bouwer, Internet snelheidstest, Battle Card Generator, Reply Quality Scorer, Kleur-contrast checker, Username Generator, Voice-Memo Script en Win/Loss Analyzer."},{"num":"v14.78","type":"feature","title":"22 nieuwe geanimeerde productpagina-illustraties","solution":"22 extra tools hebben een eigen animatie op hun pagina gekregen, passend bij wat de tool doet: onder meer Hashtag onderzoek, Trending audio, Kleurenpalet-extractor, Account check, Trend radar, Content Dagboek, Link-in-bio, Snapchat downloader, ROI Calculator, Brand-safety check, Maandrapport-generator, Caption generator, C
2ontent ideeën, DM Opener en Bio generator."},{"num":"v14.77","type":"feature","title":"Rijke downloader-illustraties (TikTok, YouTube, Facebook, Instagram, LinkedIn)","solution":"De vijf downloaders voor TikTok, YouTube, Facebook, Instagram en LinkedIn hebben een groter, overzichtelijker scherm gekregen: duidelijke uitleg, een balk waar je je link plakt, kaarten per contenttype met echte voorbeeldafbeeldingen, en een overzicht van de voordelen: snel, veilig, zonder watermerk of advertenties, en overal te gebruiken."},{"num":"v14.76","type":"feature","title":"Geanimeerde hero-illustraties voor meer tools","solution":"Meer tools krijgen een eigen animatie op hun pagina: Formaat & safe-zones, Profielfoto downloaden, Engagement-rate calculator, Advertentie-statistieken, Influencer-tarief calculator, Groei-projectie, Klant-ROI calculator en Instagram witregel-fixer. Elke illustratie is afgestemd op wat de tool doet en gebruikt de eigen kleur van die tool."},{"num":"v14.75","type":"polish","title":"Beoordeling-sterren en -cijfer volgen nu de huisstijlkleur","solution":"De sterren en het gemiddelde-cijfer in de beoordelingen op de productpagina (plus de ster-verdeling, Geverifieerd-badge en scores van vergelijkbare tools) gebruiken nu de ingestelde huisstijlkleur in plaats van een vast goud/teal â ze veranderen automatisch mee wanneer je je merkkleur aanpast."},{"num":"v14.74","type":"feature","title":"Statistieken-pagina volledig vernieuwd â premium dashboard met aparte tabbladen","problem":"De Statistieken-pagina was één lange pagina waarbij de tabs bovenaan bleven meescrollen; alles stond door elkaar en voelde niet als een afgerond overzicht.","solution":"De vier tabbladen (Health check, Klanten, Team, Systeem) openen nu elk een eigen scherm, met een deelbare link per tabblad. Elk tabblad toont een score-overzicht, inzichtkaarten, een trendgrafiek, klanten die aandacht nodig hebben, een klantoverzicht met kerncijfers en retentie, en een teamoverzicht met werkbelasting en team
2stemming. Alle cijfers komen uit je eigen data; cijfers zonder onderbouwing laten we bewust weg."},{"num":"v14.73","type":"polish","title":"Performance-trendgrafiek: 30-daagse health-trend met heldere assen","solution":"De grafiek op de Health check-tab toont nu een echte dagelijkse health-score over de laatste 30 dagen, op een vaste 0-100-schaal met as-lijnen, een gloeiende lijn, dag-labels en het gemiddelde plus de verandering t.o.v. de vorige 30 dagen â veel leesbaarder dan de vorige weergave."},{"num":"v14.72","type":"feature","title":"Klanten op anciënniteit: filteren op branche, sorteren en downloaden","solution":"Het anciënniteit-overzicht op de Klanten-tab heeft nu drie knoppen: een branche-filter (Alle branches + de branches waarin je eigen klanten zitten), een sorteeroptie (langst-actief, kortst-actief of op naam) en een download-knop die de lijst â klant, branche, hoeveel maanden actief en sinds wanneer â als CSV exporteert (te openen in Excel/Sheets)."},{"num":"v14.71","type":"polish","title":"Team-tab: \"Pagina's per design\" als kaartjes + login-activiteit in twee kolommen","solution":"\"Pagina's per design\" toont de top 5 nu als nette kaartjes (rang, icoon, naam, paginatelling) i.p.v. een lijst, en de recente login-activiteit staat in twee kolommen â compacter en consistenter. Beide blokken hebben een \"Bekijk alle\"-link gekregen."},{"num":"v14.70","type":"polish","title":"Profielfoto's in de Team-overzichten","solution":"De teamleden tonen nu hun echte profielfoto in de Team-in-dienst-tabel, de werklast-lijst en de login-activiteit (met de initiaal als terugval wanneer er geen foto is ingesteld). Taken die in GoHighLevel zijn toegewezen aan iemand zonder gek
2oppeld Senly-account blijven als \"Onbekende user\" staan â daar is geen profiel van bekend."},{"num":"v14.69","type":"polish","title":"Beoordelingen-sectie op de productpagina volledig herontworpen","problem":"De beoordelingen onderaan de productpagina stonden in een kale, enkele kolom en zagen er niet uit.","solution":"Nieuwe twee-koloms-opzet: links een score-overzicht (groot gemiddelde + ster-verdeling met balkjes), een sorteer-/filterrij en review-kaarten met avatar, Geverifieerd-badge, datum en een \"Behulpzaam\"-knop. Rechts een vaste zijbalk met \"Schrijf een review\", een vertrouwens-blok (\"1.000+ marketeers\") en \"Vergelijkbare tools\" met sterscores. Sorteren op recent/hoogste/laagste werkt echt; de ster-verdeling komt uit de echte reviews."},{"num":"v14.68","type":"polish","title":"Productpagina \"Bestandsgrootte verkleinen\" volledig vernieuwd","problem":"De pagina van de compressie-tool miste een duidelijke voor/na-illustratie en oogde rommelig.","solution":"De pagina toont nu een opgeruimde indeling met een voor/na-illustratie: een bestand van bijvoorbeeld 4,8 MB dat zichtbaar verkleint naar 612 KB. Daaronder lees je in drie kolommen wat de tool doet, voor wie hij handig is en wat de voordelen zijn, met de melding dat alles privé en veilig blijft, plus de beoordelingen."},{"num":"v14.67","type":"polish","title":"Productpagina: \"Open tool\"-knop in de kleur van de tool + omkaderde info-sectie","problem":"De \"Open tool\"-knop verloor zijn tool-eigen kleur (een globale link-regel wiste de gradient), en de drie info-kolommen zweefden los zonder kader.","solution":"De \"Open tool\"-knop toont nu de gradient van het tool-logo (blauw bij Bestandsgrootte verkleinen, per tool verschillend). De secties \"Wat doet deze tool\", \"Perfect voor\" en \"Voordelen\" staan nu samen in één afgerond paneel met subtiele scheidingslijnen."},{"num":"v14.66","type":"feature","title":"Profielfoto-downloader volledig opnieuw ontworpen","solution":"De Profielfoto-downloader heeft een volledig nieuwe, premium pagina: een heldere kop met de tool, drie kernpunten (hoge resolutie, zonder koppeling, direct download), een glanzende visual, het URL-veld met de \"Profielfoto ophalen\"-knop en onderaan veiligheidsgaranties. Functioneel hetzelfde, maar veel duidelijker en mooier."},{"num":"v14.65","type":"feature","title":"Reviews: kies je eigen naam of plaats anoniem","problem":"Bij een beoordeling kon je geen naam invullen, waardoor reviews onder een algemene noemer verschenen.","solution":"Je kunt nu bij je beoordeling een naam invullen, of het veld leeg laten om anoniem (\"Geverifieerde gebruiker\") te plaatsen. Eerdere/geïmporteerde beoordelingen tellen mee in het gemiddelde en de teller."},{"num":"v14.64","type":"bugfix","title":"Downloader-logo in de productpagina weer compleet","problem":"Bij de downloaders (LinkedIn, Instagram, YouTube, TikTok, Facebook) werd het grote merk-logo in de productpagina te groot en teal getint weergegeven, waardoor het buiten z'n vlak liep en niet volledig zichtbaar was.","solution":"De glow-styling van het hero-vlak geldt nu alleen nog voor de gewone tool-iconen, niet voor de platform-logo's. Daardoor tonen de downloaders weer hun volledige logo in de juiste merkkleuren. Bovendien vult het platform-logo nu de volledige app-icoon-box (zoals een echt app-icoon) in plaats van een klein vierkantje op een grijze achtergrond."},{"num":"v14.63","type":"polish","title":"Reviews: \"Lees meer\" na de eerste 5","solution":"De reviewlijst op een tool-pagina toont nu standaard de 5 meest recente beoordelingen met een \"Lees meer\"-knop (incl. aantal) om de rest uit te klappen â rustiger overzicht bij tools met veel reviews."},{"num":"v14.62","type":"feature","title":"Tool-reviews: datum, \"Geverifieerd\"-badge en historische beoordelingen","solution":"Op de tool-pagina toont elke beoordeling nu hoe lang geleden die geplaatst is (\"x geleden\", in je eigen taal) plus een groene Geverifieerd-badge. Daarnaast zijn de eerdere klantbeoordelingen uit ons oude systeem meegenomen, zodat je per tool het volledige beeld ziet (gemiddelde + alle reviews)."},{"num":"v14.61","type":"polish","title":"Reviews tonen nu een \"Geverifieerd\"-label","solution":"Elke review in de reviews-sectie krijgt naast het Trustpilot-label een groene \"Geverifieerd\"-badge, zodat in één oogopslag duidelijk is dat het echte, verifieerbare beoordelingen zijn (NL/EN/DE/FR
2)."},{"num":"v14.60","type":"polish","title":"Statistieken-kaarten in dezelfde stijl als het Financieel-overzicht","problem":"De KPI-kaarten bovenaan de Statistieken-pagina (actieve klanten, open taken, posts gepland, enz.) hadden een net iets andere kaart-stijl dan de cijfer-kaarten op de Financieel-pagina â andere achtergrond, rand en hoekradius â waardoor de twee pagina's niet helemaal op elkaar aansloten.","solution":"De Statistieken-KPI-kaarten gebruiken nu exact dezelfde kaart-stijl als het Financieel-overzicht: transparante achtergrond met een fijne inset-rand, ruimere binnenmarge, gelijke hoekradius en hetzelfde lichte zweef-effect bij hover â in zowel donkere als lichte modus."},{"num":"v14.59","type":"polish","title":"Dashboard-widgets met een solide achtergrond","problem":"De kaarten op het dashboard (maandwinst, laatste activiteit, snelle acties, deadlines) waren in donkere modus bijna volledig doorschijnend, waardoor de portal-achtergrond erdoorheen scheen en de blokken minder rustig oogden dan de blokken op de Meetings-pagina.","solution":"De dashboard-widgets hebben nu dezelfde solide, niet-doorschijnende achtergrond als de blokken op de Meetings-pagina â een rustiger, consistenter beeld door de hele app."},{"num":"v14.58","type":"bugfix","title":"Social account verbinden â einde aan de valse \"Verbinding mislukt\"","problem":"Bij het (opnieuw) koppelen van een social account kon de melding 'Verbinding mislukt' verschijnen, ook als alles gewoon aan stond â de koppeling had dan simpelweg iets meer tijd nodig om op te starten.","solution":"De koppeling blijft nu actief zodat ze niet meer in slaap valt, wordt vooraf even wakker gemaakt voordat de echte koppeling start, en krijgt meer tijd als dat nodig is. Ze bevestigt nu ook meteen dat ze gestart is en meldt het resultaat apart terug, zodat een trage stap de foutmelding niet meer kan veroorzaken."},{"num":"v14.57","type":"polish","title":"Tool-iconen met luxe gradient-glow","solution":"De tool-iconen in de Tool Store-tabel (en in de aanbevolen-rij, top charts, zoekresultaten en gerelateerde tools) hebben nu dezelfde gloeiende gradient-halo als de grote iconen op de tool-pagina's â een rijkere, premium uitstraling in plaats van platte vlakjes."},{"num":"v14.56","type":"polish","title":"Tool-iconen overal identiek","problem":"Elke tool-pagina had z'n eigen, met-de-hand-gemaakte icoon dat los stond van het icoon in de Tool Store-tabel â daardoor kon dezelfde tool op z'n eigen pagina een ander icoon of een andere kleur tonen dan in het overzicht.","solution":"Alle tool-pagina's gebruiken nu exact hetzelfde icoon en dezelfde kleurgradient als in de Tool Store â tot in elk pad en elke kleurstop gelijk. 26 pagina's zijn gelijkgetrokken met de centrale icoon-bron; de rest kwam al overeen."},{"num":"v14.55","type":"feature","title":"Taken toewijzen aan je hele Senly-team","problem":"In het takenbeheer kon je een taak alleen toewijzen aan gebruikers die in GoHighLevel stonden. Teamleden zonder GoHighLevel-account verschenen niet in de toewijzen-lijst.","solution":"De toewijzen-lijst toont nu al je actieve Senly-teamleden van het bureau (naast eventuele GoHighLevel-users). Heeft een teamlid een GoHighLevel-koppeling, dan blijft de toewijzing met GoHighLevel synchroniseren; teamleden zonder koppeling worden lokaal toegewezen en vallen netjes onder \"Mijn taken\". GoHighLevel wordt nooit met een onbekende gebruiker belast."},{"num":"v14.54","type":"polish","title":"Tool Store â schonere zoekbalk zonder randje","solution":"De zoekbalk (\"Zoek een tool...\") heeft geen grijs randje meer. In plaats daarvan zweeft het veld nu met een zachte schaduw, in zowel licht als donker thema â een rustiger, Apple-achtige look."},{"num":"v14.53","type":"bugfix","title":"Statistieken â actieve tab volgt nu de \"Systeem\"-sectie","problem":"Onderaan de Statistieken-pagina bleef de actieve tab op \"Team\" staan, ook als je op \"Systeem\" klikte of naar de Systeem-sectie scrolde â die sectie is kort en kon de detectie-zone nooit bereiken.","solution":"De tab-detectie herkent nu het einde van de pagina en activeert daar de laatste sectie (\"Systeem\"). Daarnaast verspringt de pil meteen bij een klik, in plaats van pas na het scrollen."},{"num":"v14.52","type":"polish","title":"Statistieken â Health check rustiger en strakker","problem":"Het Health check-tabblad voelde door veel glow, zware scha
2duwen en felle accenten eerder \"druk\" dan premium.","solution":"Het tabblad is herwerkt naar een rustigere, strakkere stijl met een Apple-achtige afwerking: fijne randen, ruimere ronde hoeken (squircle-gevoel), kaarten die met een zachte schaduw subtiel \"zweven\", een kalmere hover en steviger cijfers. Het felle teal-gradient-percentage werd rustig wit en de \"Sectie 1/2/3\"-labels boven de kopjes zijn weg voor een rustiger beeld. Dezelfde data, een verfijnder beeld."},{"num":"v14.51","type":"feature","title":"\"Aanbevolen voor jou\" is nu persoonlijk per doelgroep","problem":"De aanbevolen tools waren voor iedereen dezelfde vaste lijst â een bureau-eigenaar, een freelancer en een in-house marketeer zagen exact dezelfde suggesties, ook al gebruiken ze het platform heel anders.","solution":"De \"Aanbevolen voor jou\"-rij (en daarmee ook de uitgelichte \"Tool van de week\") wordt nu opgebouwd op basis van de doelgroep die je bij aanmelding koos. Een freelancer ziet bijvoorbeeld eerst bio en link-in-bio, een bureau-eigenaar eerst rapportage- en klant-ROI-tools, een social-media-manager de contentkalender. Al gebruikte of favoriete tools worden overgeslagen, en de rij vult altijd netjes aan zodat er nooit een gat valt."},{"num":"v14.50","type":"polish","title":"Tools-pagina heet nu zichtbaar de \"Tool Store\"","solution":"Het kopje boven de Tools-titel zegt nu \"Tool Store\" in plaats van \"Tools\", passend bij de nieuwe app-store-opzet. De pakkende titel \"Slimme tools, maximale impact\" blijft staan."},{"num":"v14.49","type":"feature","title":"\"Tool van de week\" rouleert nu automatisch op basis van gebruik","problem":"De uitgelichte spotlight koos een vaste aanbeveling en verwees niet echt naar de week â de naam \"Tool van de week\" klopte niet met het gedrag.","solution":"De spotlight toont nu de tool die de afgelopen volledige week (maâzo) platform-breed het vaakst is geopend. De keuze ligt de hele week vast en rolt elke maandag automatisch door naar de nieuwe winnaar. Is er (nog) geen gebruik, dan valt hij netjes terug op een nieuwe aanbeveling die bij jouw doelgroep past."},{"num":"v14.48","type":"feature","title":"Top Charts: \"Populair deze week\"","solution":"Een genummerde ranglijst van de meest gebruikte tools van vorige week (platform-breed), App-Store-stijl. Eén klik opent de productpagina van die tool. Verschijnt zodra er genoeg gebruiksdata is."},{"num":"v14.47","type":"feature","title":"Snellere, slimmere zoekbalk","problem":"Zoeken kon alleen via het filterveld onderaan bij de volledige tabel.","solution":"Bovenaan de Tool Store staat nu een prominente zoekbalk die terwijl je typt direct de best passende tools toont (klik = productpagina). Leeg en aangeklikt toont hij je recente zoekopdrachten."},{"num":"v14.46","type":"polish","title":"Rijkere collecties met grote \"lead\"-story","solution":"Twee extra collecties (\"Maak scroll-stoppende content\" en \"Weet wat werkt\") en een grotere, full-width uitgelichte collectie bovenaan de sectie voor een redactionele App-Store-look."},{"num":"v14.45","type":"bugfix","title":"Dubbele focus-rand in de zoekbalk weg","solution":"De nieuwe zoekbalk toonde bij focus een extra groene ring binnenin (van de globale input-focusstijl). Nu is de balkrand zelf de enige, nette focus-indicator."},{"num":"v14.44","type":"polish","title":"Top Charts is nu altijd zichtbaar","solution":"De \"Populair deze week\"-sectie verscheen alleen bij voldoende gebruiksdata van vorige week. Nu valt hij bij weinig data netjes terug op aanbevolen tools, zodat de sectie altijd gevuld is; zodra er echte usage is, toont hij de echte ranglijst."},{"num":"v14.43","type":"feature","title":"Social proof: \"Populair\"-badges en gebruiksstatistiek","solution":"Tools die in de Top Charts staan krijgen een \"Populair\"-badge op de kaart, en de productpagina toont \"X keer geopend deze week\". Zo zie je in één oogopslag wat andere marketeers het meest gebruiken â de vertrouwde App-Store-vibe."},{"num":"v14.42","type":"feature","title":"Keuze van Senly","solution":"Een uitgelichte tool krijgt nu het \"Keuze van Senly\"-keurmerk (ster) op de kaart en in de productpagina, zodat onze aanrader er duidelijk uitspringt."},{"num":"v14.41","type":"polish","title":"Luxere App-Store-uitstraling","solution":"De Tool Store heeft een premium finish gekregen: glanzende app-icoon-tegels (met highlight en zachte gloed), een diepere uitgelichte hero en verfijndere kaarten met subtiele sheen en zachtere schaduwen."},{"num":"v14.40","type":"polish","title":"Apple-achtige micro-interacties en productpagina-strip","solution":"Kaarten veren nu soepel en drukken kort in bij een klik (de typische App-Store-feel, met respect voor \"verminder beweging\"-voorkeuren). De productpagina kreeg een nette metadata-strip in Apple-stijl: Categorie · gebruik deze week · Status."},{"num":"v14.39","type":"polish","title":"Rustiger: nog maar één badge per kaart","solution":"Op een kaart konden ster, \"Populair\" en \"Nieuw\" tegelijk staan â te druk. Nu toont een kaart maximaal één badge, op prioriteit (Keuze van Senly > Populair > Nieuw). De volledige set blijft zichtbaar op de productpagina."},{"num":"v14.38","type":"polish","title":"Productpagina-content nu in 4 talen","solution":"De rijke productpagina-content (highlights, voordelen en uitleg) is nu beschikbaar in het Nederlands, Engels, Duits en Frans en volgt automatisch je gekozen taal."},{"num":"v14.37","type":"feature","title":"Volledig vernieuwde, premium productpagina per tool","problem":"De pagina per tool oogde nog niet als een volwaardige productpagina.","solution":"Elke tool heeft nu een uitgebreide eigen pagina: het icoon met categorie en een duidelijke 'Open tool'-knop, een titel met de belangrijkste kenmerken, en daaronder drie kolommen â wat de tool doet, voor wie hij handig is en wat de voordelen zijn â plus het gebruik en de beoordeling. Voor alle 48 tools is kloppende inhoud toegevoegd, gebaseerd op wat de tool écht doet."},{"num":"v14.36","type":"feature","title":"Beoordelingen & reviews op de productpagina","problem":"Je kon niet zien wat andere marketeers van een tool vonden voordat je hem opende.","solution":"Elke tool heeft nu een beoordeling (sterren + gemiddelde) en reviews op de productpagina, App-Store-stijl. Je laat zelf een score
2+ korte review achter (één per tool, aanpasbaar). Reviews zijn platform-breed zichtbaar maar geanonimiseerd (\"Geverifieerde gebruiker\") â geen namen tussen bureaus."},{"num":"v14.35","type":"feature","title":"\"Wat is nieuw\" per tool","solution":"De productpagina toont nu per tool de laatste updates (datum + korte notitie), zoals Apple's versiegeschiedenis. Verschijnt alleen bij tools met recente wijzigingen."},{"num":"v14.34","type":"polish","title":"Uitgelichte hero rustiger getint","solution":"De \"Tool van de week\" toonde een erg felle kleurgradient. Nu een diepere, gedempte tint waarbij de kleur-identiteit blijft maar het rustiger oogt tegen het dashboard."},{"num":"v14.33","type":"bugfix","title":"Lichte modus: uitgelichte tool en zoekbalk hersteld","problem":"In de lichte modus toonde de uitgelichte \"Tool van de week\" een grijze box met een losse rode gloed eronder, en de zoekbalk had een dubbele groene focus-rand.","solution":"Een globale link-stijl wiste de kleurgradient van de uitgelichte tool (nu uitgezonderd), zodat de box weer z'n eigen kleur toont en de gloed klopt. De extra groene focus-ring in de zoekbalk is ook in lichte modus weggehaald."}]},{"date":"2026-06-29","version":"v14.32","clV":"v0.677","title":"De Tools-pagina werkt nu als een echte app store","items":[{"num":"v14.32","type":"feature","title":"Uitgelichte \"Tool van de week\" bovenaan de Tools-pagina","problem":"Alle tools stonden als gelijke kaartjes in een grid â niets sprong eruit en je werd niet naar de meest waardevolle tool geleid.","solution":"Bovenaan staat nu een grote spotlight-kaart die automatisch een nieuwe, aanbevolen tool uitlicht (in de eigen kleur van die tool), App-Store-stijl. Zo zie je in één oogopslag waar je het beste kunt beginnen."},{"num":"v14.31","type":"feature","title":"Klik op een tool opent een overzichtelijke productpagina","problem":"Een klik bracht je meteen in de tool, zonder eerst te zien wat hij precies doet of welke verwante tools er zijn.","solution":"Een klik opent nu een nette detail-kaart met de volledige uitleg, een favoriet-knop, een duidelijke \"Open tool\"-knop en een rij vergelijkbare tools om verder te ontdekken. Tip: houd Cmd/Ctrl ingedrukt bij het klikken om de tool direct in een nieuw tabblad te openen. Sluiten kan met Esc of een klik ernaast."},{"num":"v14.30","type":"feature","title":"Collecties: samengestelde tool-bundels rond één doel","problem":"Welke tools je samen gebruikt voor een concrete klus (een nieuwe klant onboarden, meer leads sluiten) moest je zelf bij elkaar zoeken.","solution":"Nieuwe \"Collecties\"-sectie op de Tools-pagina met door Senly samengestelde bundels zoals \"Nieuwe klant aan boord\" en \"Meer leads sluiten\". Eén klik opent de bundel met alle bijbehorende tools op een rij. Collecties verschijnen alleen als ze passen bij jouw rol."}]},{"date":"2026-06-29","version":"v14.29","clV":"v0.675","title":"Leesbare omschrijvingen in de activiteiten-feed op het dashboard","items":[{"num":"v14.29","type":"security","title":"Meeting-agenda lekte niet langer kort tussen accounts op dezelfde browser","problem":"Als een vorige gebruiker (bv. een admin) op dezelfde browser de Meetings-pagina had geopend, kon een volgende gebruiker bij het openen van Meetings ~1 seconde de gecachte agenda van die vorige gebruiker zien voordat de eigen (lege) agenda verscheen. De lokale cache was niet per account gescheiden.","solution":"De lokale agenda-cache is nu strikt per gebruiker gescheiden en wordt nooit getoond voordat bekend is wie er is ingelogd. De oude gedeelde cache wordt bij het openen automatisch opgeruimd, zodat er niets meer kan flitsen van een ander account."},{"num":"v14.28","type":"polish","title":"Nette pagina bij een verkeerde of verlopen boekingslink","problem":"Wie een verkeerde booking-link intikte, kreeg een kale, ongestylede tekst (\"Niet beschikbaar / Host niet gevonden\") linksboven in beeld.","solution":"Er verschijnt nu een verzorgde pagina met een gecentreerde kaart, kalender-icoon, duidelijke uitleg (\"deze boekingslink bestaat niet of is niet meer actief\") en een actie-knop. Direct gestyled bij het laden, in NL/EN/DE/FR. Bestaat de host wél en klopt alleen de meeting-link niet, dan toont de pagina het logo en de huisstijlkleur van de host met een knop terug naar diens boekingsoverzicht â op white-label domeinen zie je dus geen Senly-merk."},{"num":"v14.27","type":"feature","title":"Persoonlijke booking-link op je voor- en achternaam, zelf aanpasbaar","problem":"De publieke boekingslink (/boek/...) was gebaseerd op het deel vóór de @ van je e-mailadres â bij een bedrijfsmailbox werd dat bijvoorbeeld \"skycialmanagement\" in plaats van je eigen naam, en je kon het nergens aanpassen.","solution":"Iedere gebruiker krijgt nu automatisch een nette link op basis van de voor- en achternaam (bv. /boek/janske-verhoeven). In de meeting-instellingen kun je die link via het potlood-icoon zelf aanpassen; een bureau-admin kan die van een teamlid aanpassen. Eerder gedeelde links op e-mailbasis blijven gewoon werken."},{"num":"v14.26","type":"polish","title":"Inloggegevens worden met een typ-animatie ingevuld","problem":"Bij het kiezen van een opgeslagen login uit de browser ploften e-mail en wachtwoord in één keer in de velden.","solution":"Als de browser je inloggegevens invult, worden e-mail en wachtwoord nu vloeiend van links naar rechts \"ingetypt\". Puur cosmetisch â inloggen werkt precies zoals voorheen."},{"num":"v14.25","type":"bugfix","title":"Manager-inkomen telt een klant pas mee vanaf de koppelmaand","problem":"Het inkomstenoverzicht van een social media manager toonde de klantvergoeding voor alle maanden van het jaar, ook voor maanden vóórdat de manager aan die klant gekoppeld was.","solution":"De klantvergoeding telt nu pas mee vanaf de maand van de koppeling. Word je op de eerste van de maand gekoppeld, dan telt die maand al mee; later in de maand telt het vanaf de volgende maand. Maanden vóór de koppeling tonen nu netjes ⬠0 in plaats van een leeg gat in de grafiek."},{"num":"v14.24","type":"bugfix","title":"Meeting-kalenders zijn weer privé per gebruiker","problem":"In de meeting-instellingen zag elke gebruiker binnen een bureau álle kalenders van het bureau â ook de kalenders van de eigenaar/admin verschenen bij bijvoorbeeld een social media manager.","solution":"Een gewone gebruiker ziet nu alleen z'n eigen meeting-kalenders. Een bureau-admin houdt het volledige overzicht van alle kalenders binnen het bureau."},{"num":"v14.23","type":"polish","title":"Admin ziet bij elke kalender van wie die is","problem":"Een admin zag in het kalender-overzicht wel alle boekingslinks van het bureau, maar niet bij wie elke kalender hoorde.","solution":"Kalenders van een collega tonen nu een kleine host-badge (profielfoto + naam), zodat je in één oogopslag ziet van wie de boekingslink is. Je eigen kalenders krijgen geen badge."},{"num":"v14.22","type":"bugfix","title":"Nieuw aangemaakte gebruiker kan nu wél inloggen met het ingestelde wac
2htwoord","problem":"Bij het aanmaken van een gebruiker vulde de browser het wachtwoordveld soms stilletjes met een opgeslagen wachtwoord (je zag alleen bolletjes). Daardoor werd een ander wachtwoord opgeslagen dan je doorgaf en kon de nieuwe gebruiker niet inloggen â pas na het wachtwoord opnieuw te wijzigen lukte het.","solution":"Het wachtwoordveld in het aanmaakscherm wordt nu beschermd tegen automatisch invullen door de browser, zodat het ingestelde wachtwoord ook echt het wachtwoord is waarmee de nieuwe gebruiker inlogt."},{"num":"v14.21","type":"polish","title":"Financieel staat nu als laatste blok op het klantprofiel","problem":"Het Financieel-blok stond vóór Contracten, Websites en Prestaties â geen logische volgorde.","solution":"Financieel staat nu overal als laatste tab en sectie op het klantprofiel, ná alle inhoudelijke blokken."},{"num":"v14.20","type":"bugfix","title":"Styling van het \"Account manager\"-blok hersteld","problem":"In het Account manager-blok had de \"Kies manager\"-keuzelijst een veel te donkere achtergrond en was de \"Koppelen\"-knop slecht leesbaar (donkere tekst op de groene knop), zowel in actieve als inactieve staat.","solution":"De keuzelijst heeft weer een nette lichte achtergrond en de \"Koppelen\"-knop heeft witte tekst â consistent met de Sales-attributie eronder."},{"num":"v14.19","type":"polish","title":"Social Media Beheer & Groeiservice tonen alleen relevante blokken","problem":"Klantprofielen onder Social Media Beheer en Groeiservice toonden ook de tabbladen Websites, Prestaties, Campagnes en Huisstijl, terwijl die bij andere dienstverleningen horen.","solution":"Bij Social Media Beheer en Groeiservice zijn Websites, Prestaties, Campagnes en Huisstijl nu verborgen â je ziet alleen de relevante blokken (Overzicht, Taken, Content, Klantinfo, Financieel, Contracten). Werkt direct voor bestaande klanten."}
2,{"num":"v14.18","type":"feature","title":"Bewustwordings-melding bij betaalde klantprofielen","problem":"Bij het aanmaken van een klantprofiel onder Social Media Beheer of Groeiservice was niet meteen duidelijk dat dit ⬠50 per maand extra kost voor onze externe automatiseringstools.","solution":"Maak je een klantprofiel aan onder Social Media Beheer of Groeiservice, dan verschijnt nu een bevestiging die je hierop wijst. Het getoonde bedrag is het werkelijke per-klant maandtarief van jouw bureau (volgens de volume-staffel â bijvoorbeeld ⬠50 of ⬠40 per klant â of je eigen afgesproken tarief). Alleen deze twee dienstverleningen worden gefactureerd; de overige zijn gratis. Je kunt nog annuleren of bewust doorgaan."},{"num":"v14.17","type":"bugfix","title":"Activiteiten-feed toont nette omschrijvingen i.p.v. ruwe codes","problem":"Het \"Laatste activiteit\"-blok op het dashboard toonde technische codes als \"note_deleted\", \"client_updated\" of \"inviter_run\" in plaats van leesbare tekst.","solution":"De feed gebruikt nu dezelfde vertaalde labels als de volledige activiteiten-pagina â bijvoorbeeld \"Notitie verwijderd\", \"Klant bijgewerkt\" en \"Groeitool ingezet\", in jouw taal."},{"num":"v14.16","type":"feature","title":"Verwijderde collega met hetzelfde e-mailadres opnieuw uitnodigen","problem":"Wilde je een eerder verwijderd teamlid opnieuw toevoegen met hetzelfde e-mailadres, dan blokkeerde dat met \"e-mailadres bestaat al\".","solution":"Een nieuwe gebruiker aanmaken met het e-mailadres van een verwijderde collega heractiveert nu automatisch dat account met de nieuwe gegevens â inclusief behoud van de historische naam-koppelingen. Je krijgt een bevestiging dat het account opnieuw is geactiveerd."},{"num":"v14.15","type":"polish","title":"Nieuwe managers starten met een logische dashboard-indeling","problem":"Een nieuw toegevoegd teamlid (manager / social media manager) kreeg een standaard widget-volgorde die niet op managers was afgestemd â de eigen-inkomenwidgets ontbraken en de blokken stonden in een onhandige volgorde.","solution":"Nieuwe managers beginnen nu met een passende standaardindeling: bovenaan het eigen inkomen (de jaargrafiek met daarnaast \"Mijn inkomen\"), daaronder de deadlines, de snelle acties en de klanten. Je kunt de volgorde daarna nog steeds zelf aanpassen; bestaande indelingen blijven ongewijzigd."},{"num":"v14.14","type":"feature","title":"Teamleden koppelen nu zelf hun Canva en mailbox via hun profiel","problem":"Alleen een bureau-eigenaar kon een Canva-account of mailbox koppelen, terwijl dit juist persoonlijke koppelingen zijn.","solution":"Op je eigen profielpagina koppel je nu zelf je Canva en mailbox. Bureau-eigenaren houden overzicht via Integraties, waar per teamlid zichtbaar is wie Canva en een mailbox heeft gekoppeld."},{"num":"v14.13","type":"bugfix","title":"\"Mailbox koppelen\" in de inbox werkt nu ook voor teamleden","problem":"De knop \"Mailbox koppelen\" op de lege E-mail-pagina (en het tandwiel boven je inboxen) verwees naar een admin-only pagina. Een social media manager die erop klikte werd weggestuurd naar het dashboard â er leek \"niets te gebeuren\".","solution":"Beide knoppen openen nu het blok \"Mijn koppelingen\" op je eigen profiel, waar elk teamlid z'n mailbox kan koppelen. Werkt voor zowel managers als admins."},{"num":"v14.12","type":"bugfix","title":"Social media managers kunnen nu écht contracten naar klanten versturen","problem":"Op het klantprofiel zag een manager wel het Contracten-tabblad, maar het verstuurformulier bleef leeg: de lijst met contract-sjablonen was admin-only, dus er viel geen sjabloon te kiezen en versturen lukte niet.","solution":"Een manager kan de door de admin opgestelde contract-sjablonen nu inladen en een contract naar z'n eigen klant versturen. Het beheren (aanmaken/aanpassen) van de sjablonen zelf blijft bij de admin, zodat de juridische teksten consistent blijven."},{"num":"v14.11","type":"polish","title":"Koppelingen op je profiel netjes inklapbaar","problem":"Het blok \"Mijn koppelingen\" op je profiel toonde de volledige stappenplannen van Canva én mailbox direct onder elkaar uitgeklapt â een lange lap tekst.","solution":"Je ziet nu twee compacte blokken (Canva + mailbox) met hun status. Klik op een blok om pas dán het stappenplan van die koppeling uit te klappen. Na het koppelen van Canva opent het juiste blok automatisch."}]}
2,{"date":"2026-06-28","version":"v14.10","clV":"v0.674","title":"Eén consistente menubalk op alle publieke pagina's","items":[{"num":"v14.10","type":"feature","title":"Verwijderde teamleden blijven zichtbaar in de historie","problem":"Als je een teamlid verwijderde, verdween ook diens naam bij taken, leads en klantcontacten â je kon dan niet meer zien wie wat had gedaan zodra iemand uit dienst was.","solution":"Een verwijderd teamlid kan niet meer inloggen en verdwijnt uit de teamlijst en keuzemenu's, maar de naam blijft overal in de geschiedenis leesbaar, gemarkeerd als verwijderd."},{"num":"v14.09","type":"feature","title":"Verwijderen toont impact vooraf + \"Ongedaan maken\"-knop","problem":"Bij het verwijderen van een teamlid zag je niet of die persoon nog host was van aankomende meetings of accountmanager van klanten. En een vergissing was niet terug te draaien.","solution":"De bevestiging waarschuwt nu vooraf (\"X is nog host van 3 aankomende meetings en manager van 5 klanten\"). Direct na verwijderen verschijnt ~8 seconden een \"Ongedaan maken\"-knop die het account meteen herstelt."},{"num":"v14.08","type":"polish","title":"Meer ademruimte rond de menubalk op mobiel","problem":"De menubalk plakte op telefoons tegen de bovenrand en de paginatitel stond op de meeste pagina's erg dicht onder de menubalk.","solution":"De menubalk hangt nu iets lager (meer witruimte erboven) en op alle pagina's behalve de homepage staat de titel wat verder onder de menubalk."},{"num":"v14.07","type":"bugfix","title":"Affiliate-commissie berekend over netto-omzet (excl. btw)","problem":"De commissie werd berekend over het door de klant betaalde bedrag inclusief btw. Daardoor zou een affiliate ook commissie over de btw krijgen â geld dat als belasting wordt afgedragen â en liep de \"Verdiend\"-waarde niet gelijk met de verwachte-commissie-schatting.","solution":"Commissie wordt nu berekend over de netto-omzet (bedrag na kortingen, vóór btw). Verdiend en de schatting zijn weer consistent en de affiliate krijgt commissie over de echte omzet, niet over de btw."},{"num":"v14.06","type":"polish","title":"Bedrijfsgegevens voor uitbetaling klappen in zodra ze compleet zijn","solution":"Heb je je self-billing-gegevens volledig ingevuld, dan vouwt het formulier samen tot een compacte balk met een groen vinkje. Klik erop om weer te bewerken."},{"num":"v14.05","type":"feature","title":"Affiliate: QR-code van je persoonlijke link","solution":"In de link-kaart staat nu een QR-code van je ref-link, met een download-knop â handig om offline of in gesprekken te delen. Viertalig."},{"num":"v14.04","type":"feature","title":"Affiliate: anonieme top-affiliates ranglijst","solution":"Op de Verwijzingen-pagina staat nu een top-5 van affiliates met de meeste betalende verwijzingen â anoniem (alleen initialen), met jouw eigen positie gemarkeerd. Demo-accounts uitgesloten. Viertalig."},{"num":"v14.03","type":"feature","title":"\"Jouw uitnodigingen\"-overzicht bij give-a-week","solution":"De uitnodig-kaart toont nu, zodra je iemand hebt uitgenodigd, hoeveel je uitnodigde, hoeveel betalend werden en hoeveel gratis weken je verdiende. Viertalig."},{"num":"v14.02","type":"feature","title":"Nodig iemand uit: jullie krijgen allebei 1 week gratis","problem":"Alleen het commissie-affiliateprogramma (met Stripe-koppeling) bestond â een laagdrempelige \"deel met een collega\"-loop ontbrak.","solution":"Elke klant heeft nu een persoonlijke uitnodig-link. De uitgenodigde krijgt +7 trial bij aanmelding; de uitnodiger krijgt 1 week gratis (credit op de volgende factuur) zodra die nieuwe klant betalend wordt. Geen Stripe-onboarding nodig, viertalig, met anti-misbruik (beloning pas bij echte conversie)."},{"num":"v14.01","type":"feature","title":"Affiliate: voortgangsbalk naar je volgende uitbetaling","solution":"De uitbetaal-kaart toont nu een balkje met \"Nog â¬X tot je volgende uitbetaling\" richting de â¬50-drempel, met je huidige saldo. Bij bereikt: \"klaar voor uitbetaling\". Viertalig."},{"num":"v14.00","type":"feature","title":"Maandelijkse affiliate-samenvatting per mail","solution":"Elke affiliate met activiteit in de afgelopen maand krijgt nu op de 1e een samenvatting: aantal klikken, nieuwe verwijzingen en verdiende commissie, met een zetje om te blijven delen. Viertalig; dormante accounts en demo krijgen niets."},{"num":"v13.99","type":"feature","title":"Melding bij een mislukte affiliate-uitbetaling","problem":"Als een Stripe-transfer faalde, kreeg niemand bericht â geld bleef stil hangen zonder dat de affiliate of wij het wisten.","solution":"Bij een mislukte uitbetaling krijgt de affiliate nu automatisch een mail (\"controleer je Str
2ipe-koppeling\", viertalig) en gaat er een interne alert naar de admin met affiliate, bedrag en reden. Het saldo blijft staan en wordt de volgende ronde opnieuw geprobeerd."},{"num":"v13.98","type":"bugfix","title":"Verwijzingen-pagina: resterende Nederlandse teksten nu viertalig","solution":"De voortgangsbalk naar 40% commissie, het \"Hogere commissie\"-kaartje en de \"+7 dagen gratis\"-melding waren nog Nederlands-only; nu vertaald in NL/EN/DE/FR."},{"num":"v13.97","type":"polish","title":"Beeldmateriaal-galerij: tegel-bijschriften nu ook viertalig","solution":"De categorie-labels onder de tegels (Planning, Tijd besparen, Bereikâ¦) volgen nu de gekozen taal, net als de banners zelf."},{"num":"v13.96","type":"feature","title":"Affiliate-banners in 4 talen (NL/EN/DE/FR)","solution":"Alle 30 promotie-banners (18 stories + 12 vierkant) zijn nu in NL, EN, DE en FR gerenderd. De galerij toont automatisch de banners in jouw ingestelde taal."},{"num":"v13.95","type":"feature","title":"Affiliate: aparte beeldmateriaal-galerij met voorvertoningen","solution":"In de promotiekit opent \"Bekijk al het beeldmateriaal\" een nieuw tabblad met een galerij vol voorvertoningen: 18 story-banners en 12 vierkante banners (verschillende boodschappen + mascottes), alle 12 mascottes en de logo's â elk met een download-knop. Viertalig."},{"num":"v13.94","type":"feature","title":"Affiliate: promotiekit met deelteksten, banners, logo + mascottes","solution":"Blok \"Promotiemateriaal\" met kant-en-klare teksten (e-mail, social post, kort bericht) waarin je link al staat â één klik om te kopiëren â plus Senly-banners met mascotte (vierkant 1080Ã1080 en story 1080Ã1920), het officiële Senly-logo en 8 mascotte-illustraties. Viertalig."},{"num":"v13.93","type":"feature","title":"Verwijzingen: \"Hoe het werkt\"-uitleg","solution":"Op de Verwijzingen-pagina staat nu een kort uitleg-blok: 30% (â40% vanaf 10 actief), 30-dagen-cookie, terugkerende commissie, 21-dagen-trialbonus en uitbetaling op de 1e vanaf â¬50. Viertalig."},{"num":"v13.92","type":"feature","title":"Affiliate-notificaties: mail bij aanmelding én bij conversie","problem":"Een affiliate kreeg alleen mail bij uitbetaling â niet wanneer iemand zich aanmeldde via hun link of wanneer een verwijzing betalend werd.","solution":"Er gaat nu automatisch een mail uit zodra iemand zich via de link aanmeldt (\"iemand meldde zich aan\") en zodra die verwijzing betalend wordt (\"je verdient nu commissie\"). Viertalig, en het breekt nooit de aanmeld-/betaalflow."},{"num":"v13.91","type":"polish","title":"Affiliate: nette viertalige melding voor accounts zonder bureau-koppeling","solution":"De foutmelding voor een orphan-account (geen bureau) is niet langer Nederlands-only, maar netjes vertaald in NL/EN/DE/FR."},{"num":"v13.90","type":"feature","title":"Affiliate: waarschuwing als er saldo klaarstaat zonder gekoppelde Stripe","problem":"Een affiliate kon commissie opbouwen zonder Stripe te koppelen en kreeg dan niets uitbetaald â zonder het door te hebben.","solution":"Bij een openstaand saldo zonder gek
2oppelde Stripe verschijnt nu een duidelijke banner (\"Je hebt â¬X klaarstaan â koppel Stripe\") met een directe koppel-knop. Viertalig."},{"num":"v13.89","type":"performance","title":"Affiliate-dashboard: verwijzingen-lijst gepagineerd","problem":"Het dashboard laadde álle verwijzingen van een affiliate in één keer; bij honderden bureaus werd dat traag.","solution":"De lijst is gecapt op 200 rijen, terwijl de tellingen (totaal/actief/in afwachting/vorige maand) accuraat blijven via een aparte aggregatie â dus ook correct bij honderden verwijzingen."},{"num":"v13.88","type":"feature","title":"Affiliate-portaal: premium hub met vier blokken i.p.v. tabbladen","problem":"De vier onderdelen stonden in tabbladen; als startpunt minder overzichtelijk.","solution":"Admins landen nu op een rustige hub met vier blokken in twee groepen â \"Verdien inkomen\" (Verwijzingen, White-label Partner) en \"Verlaag je abonnement\" (Content Creator Bonus, Review & Korting). Klik een blok om het onderdeel te openen, met een \"Terug naar overzicht\"-knop. Viertalig."},{"num":"v13.87","type":"polish","title":"Affiliate-portaal rustiger: secties uitklapbaar","solution":"De voortgang naar 40% en het verdiensten-overzicht staan nu standaard ingeklapt als nette balk (met samenvatting), net als de bedrijfsgegevens. Alle info blijft â je klikt het open wanneer je het wilt lezen. Dat haalt de drukte van de pagina zonder iets te verbergen."},{"num":"v13.86","type":"polish","title":"Affiliate-portaal: tabbalk verdwijnt als er maar één tab is","solution":"Voor rollen die alleen het tabblad \"Verwijzingen\" zien (geen admin), is de tabstrip met onderstreping nu weg â die is overbodig bij één tab."},{"num":"v13.85","type":"bugfix","title":"Affiliate-positie (\"Jouw positie\") klopt nu + nette titel","problem":"De positie-kaart toonde de rauwe sleutel \"AFF_KPI_RANK\", en \"van N affiliates\" telde alle ooit-aangemaakte accounts mee â inclusief demo, inactieve en teamleden die alleen even keken â dus de positie klopte niet.","solution":"Rang en veld worden nu berekend onder echte deelnemende affiliates met een betalende verwijzing (demo uitgesloten). Titel en \"van N\"-tekst zijn viertalig; zonder eigen betalende verwijzing toont de kaart netjes \"nog geen actieve verwijzingen\"."},{"num":"v13.84","type":"bugfix","title":"Affiliate-programma open voor het hele team (niet meer alleen admins)","problem":"De pagina beloofde \"beschikbaar voor iedere gebruiker binnen een actief bureau-account\", maar de code blokkeerde iedereen behalve admins en partners â social media managers, appointment setters en sales-rollen kregen \"Niet beschikbaar\".","solution":"Elke teamrol binnen een bureau kan nu op dezelfde voorwaarden een affiliate-account aanmaken en een ref-link genereren. Alleen losse accounts zonder bureau-koppeling worden nog tegengehouden. Self-referral-bescherming blijft actief."},{"num":"v13.83","type":"feature","title":"Verdiensten-overzicht (PDF) + eerstvolgende uitbetaaldatum voor affiliates","problem":"Affiliates konden hun verdiensten niet als maand-/jaaroverzicht downloaden voor hun boekhouding, en zagen niet wanneer de volgende uitbetaling zou plaatsvinden.","solution":"In het affiliate-portaal download je nu een maand- of jaaroverzicht (PDF) van al je commissies, inclusief teruggedraaide (clawback). De uitbetaal-kaart toont de eerstvolgende automatische uitbetaaldatum (1e van de maand) en de â¬50-drempel."},{"num":"v13.82","type":"feature","title":"Klik- en conversietracking voor affiliate-links","problem":"Je zag wel welke bureaus via jouw link waren aangemeld, maar niet hoeveel klikken je link kreeg of hoeveel daarvan uiteindelijk klant werden.","solution":"Elke unieke klik op jouw link wordt nu geteld, onafhankelijk van advertentieblokkers. Je ziet nu je klikken en conversie in je eigen overzicht, van klik naar aanmelding naar betalende klant."},{"num":"v13.81","type":"polish","title":"Facturen-overzicht in premium weergave (raster/lijst/pictogrammen)","problem":"Het facturen-overzicht was een smalle lijst zonder voorvertoning.","solution":"De facturen-pagina is breder en premium: standaard een raster met een voorvertoning van elke factuur (je ziet de inhoud van het document al, met nummer + bedrag eronder). Met een schakelaar rechtsboven wissel je tussen raster, lijst en pictogrammen â je voorkeur wordt onthouden."},{"num":"v13.80","type":"feature","title":"Factuur automatisch gemaild + facturen-overzicht voor affiliates","problem":"Affiliates kregen hu
2n self-billing-factuur niet automatisch toegestuurd en hadden geen plek om al hun facturen terug te vinden.","solution":"Bij elke uitbetaling wordt de PDF-factuur nu automatisch naar de affiliate gemaild (als bijlage). Daarnaast is er een knop \"Alle facturen\" in het affiliate-portaal met een totaaloverzicht van alle facturen + downloadknop per stuk."},{"num":"v13.79","type":"feature","title":"Self-billing-factuur als PDF te downloaden","problem":"Bij een affiliate-uitbetaling was er nog geen factuur die de affiliate (en jij voor de boekhouding) kon downloaden.","solution":"Elke uitbetaling met een self-billing-nummer heeft nu een \"Factuur\"-link in het affiliate-portaal die een nette PDF opent: leverancier (affiliate) + afnemer (Senly), de commissie-regel, het juiste btw-blok (21% / \"btw verlegd\" / geen btw), het SB-nummer en een self-billing-vermelding. De factuur is viertalig (NL/EN/DE/FR), in de taal van de affiliate."},{"num":"v13.78","type":"feature","title":"Self-billing: btw-correcte affiliate-uitbetaling + eigen factuurnummer","problem":"Bij een uitbetaling werd nog geen rekening gehouden met jouw btw-situatie, en ontbrak een eigen factuurnummer.","solution":"Je maandelijkse uitbetaling past nu automatisch de juiste btw-behandeling toe voor jouw situatie, en krijgt een eigen factuurnummer met een bevroren kopie van je bedrijfsgegevens. Een afdrukbare factuur volgt als laatste stap."},{"num":"v13.77","type":"feature","title":"Affiliates kunnen hun bedrijfs-/btw-gegevens invullen (self-billing)","problem":"Voor een correcte uitbetaling en een geldige factuur miste van affiliates de bedrijfsnaam, btw-status/-nummer, KvK en adres.","solution":"In het affiliate-portaal staat nu een blok \"Bedrijfsgegevens voor uitbetaling\" waar de affiliate naam, adres, KvK, land en btw-status/-nummer invult en akkoord geeft op self-billing. Viertalig. De automatische factuur + btw-verwerking bij uitbetaling volgt als vervolgstap."},{"num":"v13.76","type":"feature","title":"Affiliate-overzicht toont verwachte commissie na de trial","problem":"Bij een verwezen bureau dat nog in proefperiode zat, zag je alleen â¬0 verdiend â niet wat het je gaat opleveren zodra het converteert.","solution":"Onder \"Verdiend\" staat nu per verwezen bureau een maandschatting: \"â â¬X/mnd na de trial\" zolang het in proefperiode zit, en \"â â¬X/mnd\" zodra het betaalt â berekend op het werkelijke maandbedrag van dat bureau
2(klanten à tarief) maal jouw commissiepercentage."},{"num":"v13.75","type":"bugfix","title":"Affiliate-overzicht telt teruggedraaide commissie niet meer mee","problem":"Na een terugbetaling werd de commissie wél uit de totalen gehaald, maar bleef die in de \"verdiend\"-kolom per verwezen bureau toch staan.","solution":"De \"verdiend\"-kolom sluit teruggedraaide (reversed) commissies nu ook uit, net als de KPI-totalen â dus consistent â¬0 bij een refund."},{"num":"v13.74","type":"feature","title":"Taalvoorkeur instelbaar in Voorkeuren (portaal + e-mails)","problem":"De taal koos je alleen via de dropdown in de menubalk, die vooral de weergave/cookie zette. Daardoor kon je portaal in het Nederlands staan terwijl je account-taal (en dus je e-mails) nog op een andere taal stond.","solution":"Je stelt je taal nu in onder Voorkeuren â Uiterlijk. Die keuze wordt direct op je account opgeslagen, zodat het portaal én alle e-mails dezelfde taal gebruiken â op al je apparaten."},{"num":"v13.73","type":"feature","title":"Herinnering wanneer je proefperiode bijna afloopt","problem":"Bureaus kregen geen seintje vlak voordat hun gratis proefperiode overging in een betaald abonnement â wat tot verraste afschrijvingen kon leiden.","solution":"Ongeveer 3 dagen voor het einde van de trial krijgt de bureau-eigenaar nu een nette herinnering (NL/EN/DE/FR) met de einddatum, het maandbedrag incl. btw en hoe je kosteloos kunt opzeggen. Eén mail per bureau, in de Senly-huisstijl."},{"num":"v13.72","type":"infra","title":"Vangnet tegen langdurige wanbetaling","problem":"Een bureau met status \"betaling mislukt\" (past_due) hield toegang zolang Stripe opnieuw probeerde â terecht â maar als Stripe het abonnement onverhoopt niet zou opzeggen, kon die toegang in theorie eindeloos doorlopen.","solution":"Naast de bestaande Str
2ipe-afhandeling blokkeert het portaal een past_due-account nu sowieso zodra de betaalde periode meer dan 30 dagen voorbij is. De marge ligt ruim voorbij Stripe's eigen herhaalpogingen, dus een klant met tijdelijk geen saldo wordt nooit onterecht buitengesloten."},{"num":"v13.71","type":"polish","title":"Resterende trial-dagen in affiliate-portaal nu viertalig","problem":"In het affiliate-overzicht stond de trial-status (\"nog 21d\", \"Trial afgelopen\") altijd in het Nederlands, ook voor EN/DE/FR-affiliates.","solution":"Deze labels staan nu in NL/EN/DE/FR, net als de rest van het affiliate-portaal."},{"num":"v13.70","type":"bugfix","title":"Proefperiode + btw nu ook correct bij betaalwijze-koppelen","problem":"Wie de aanmelding niet in één keer afrondde en later de betaalwijze koppelde, werd direct afgeschreven zonder proefperiode en zonder btw bovenop het bedrag.","solution":"Btw wordt nu ook bij dit pad correct bovenop het bedrag gerekend. Bovendien krijgt een bureau dat de proefperiode nog niet heeft gebruikt deze alsnog, terwijl een echte heraanmelding gewoon direct betaalt, zoals bedoeld."}]},{"date":"2026-06-27","version":"v13.69","clV":"v0.673","title":"Abonnement afronden werkt weer (Stripe-adresfout opgelost)","items":[{"num":"v13.69","type":"bugfix","title":"Betaalgegevens koppelen liep vast op een Stripe-fout","problem":"Wie het abonnement nog moest afronden kreeg \"We could not find a valid address on the provided customer\" en kon de incassomachtiging niet koppelen.","solution":"De checkout vraagt nu altijd het factuuradres op (customer_update[address]=auto), wat Stripe vereist zodra het BTW-/VAT-nummerveld aanstaat. Voorheen werd dat alleen gezet bij actieve Stripe Tax, waardoor klanten zonder opgeslagen adres vastliepen."},{"num":"v13.68","type":"polish","title":"Abonnementsregel op de Stripe-betaalpagina in de juiste taal","problem":"De omschrijving op de betaalpagina stond altijd in het Nederlands, ook voor Duitse, Franse of Engelse bureaus.","solution":"De betaalpagina toont de omschrijving nu in de taal van het bureau of die van je browser."},{"num":"v13.67","type":"bugfix","title":"Foutmeldingen tijdens registreren nu in de taal van de klant","problem":"Validatie- en foutmeldingen in het signup-formulier (bv. \"Bedrijfsnaam is verplicht\", \"Dit e-mailadres heeft al een account\") waren altijd Nederlands, ook voor EN/DE/FR-bezoekers.","solution":"De signup-route geeft alle klant-zichtbare meldingen nu in NL/EN/DE/FR terug, afgestemd op de gekozen taal/browsertaal."},{"num":"v13.66","type":"bugfix","title":"Affiliate-link toont nu de juiste 21 dagen proefperiode","problem":"Wie via een affiliate-/reflink binnenkwam zag op het registratieformulier \"14 dagen proefperiode\", terwijl de extra week (+7 dagen) wel degelijk werd toegekend bij het afronden. De getoonde proefduur klopte dus niet met wat de bezoeker daadwerkelijk kreeg, en de affiliate-bonus bleef onzichtbaar.","solution":"Het registratieformulier rekent de +7 dagen nu mee zodra er een reflink actief is â de titel en de \"daarna automatisch\"-regel tonen gewoon 21 dagen (of de promo-duur + 7). Geldt voor alle affiliate-links, ook die al bestonden, want de bonus zit niet per link opgeslagen maar wordt bij aanmelding bepaald."},{"num":"v13.65","type":"polish","title":"Strakker beoordelingsblok op het registratieformulier","problem":"Het beoordelingsblok toonde naast de score ook nog twee losse reviews en een tweede Trustpilot-logo, wat op mobiel rommelig oogde en buiten de kaart kon lopen.","solution":"Het blok toont nu enkel \"Geweldig\", de sterren en het cijfer 4,4/5 â compacter en altijd binnen de kaart."},{"num":"v13.64","type":"feature","title":"Aanmeldquiz past de vervolgvragen aan op je rol","problem":"Iedereen kreeg dezelfde \"grootste uitdaging\"-vraag met klant-gerichte opties (\"Klanten zeggen op\", \"ROI bewijzen aan klanten\") en een platform-vraag die letterlijk \"voor klanten\" zei â terwijl een content creator of in-house marketeer helemaal geen externe klanten heeft.","solution":"De vervolgvragen hangen nu af van de gekozen rol. Bureau-eigenaar, social media manager en freelancer zien de klant-gerichte uitdagingen; content creator en in-house marketeer krijgen een eigen, passende set (groei van eigen kanalen/merk, betaalde samenwerkingen, trends, budget verantwoorden, interne goedkeuringen, enz.) en een herschreven platform-vraag (\"Welke platformen gebruik je?\" / \"beheer je?\")."}]},{"date":"2026-06-27","version":"v13.63","clV":"v0.667","title":"Betaal-scherm (Stripe-fix + meertalig) + Review & Korting nu met Google","items":[{"num":"v13.63","type":"bugfix","title":"Betaalgegevens invullen gaf soms een Stripe-fout","problem":"Bij het afronden van het abonnement kreeg je soms de fout \"Tax ID collection requires updating business name on the customer\". Het BTW-nummerveld staat altijd aan, en
2Stripe vereist dan dat de bedrijfsnaam automatisch teruggeschreven wordt â maar dat werd alleen ingesteld wanneer automatische BTW aanstond.","solution":"customer_update.name staat nu altijd op auto (onafhankelijk van automatische BTW), zodat de betaal-checkout altijd doorloopt."},{"num":"v13.62","type":"bugfix","title":"Abonnement-afronden scherm nu in je eigen taal","problem":"Het \"Rond je abonnement af\"-scherm was hardgecodeerd in het Nederlands, dus een Engelstalige (of Duitse/Franse) gebruiker zag het toch in het Nederlands.","solution":"Het scherm is nu volledig meertalig (NL/EN/DE/FR) en volgt de taal van de ingelogde gebruiker."},{"num":"v13.61","type":"feature","title":"Review & Korting: nu ook een Google-review nodig voor je gratis week","problem":"Voorheen gaf één Trustpilot-review al een week gratis.","solution":"Je laat nu een review achter op Trustpilot ÃN Google (de schrijf-links staan klaar in de affiliate-sectie). De gratis week (1 week totaal) komt vrij zodra beide reviews zijn goedgekeurd â dus niet 1 week per platform."}]},{"date":"2026-06-25","version":"v13.60","clV":"v0.662","title":"Workflows: AI ingebouwd â genereren, advies, beschrijf-naar-flow & optimizer","items":[{"num":"v13.60","type":"feature","title":"Nieuwe workflow-actie \"AI: genereer tekst\"","solution":"Voeg een AI-stap toe aan een workflow die tekst schrijft op basis van een prompt met je trigger-variabelen (bv. {client.name}). Het resultaat komt in {ai.output} en kun je in volgende stappen gebruiken â bijvoorbeeld als gepersonaliseerde e-mail â of direct opslaan als interne notitie of taak. Met rate-limit (kosten/snelheid) en in demo wordt de AI niet echt aangeroepen. Eerste stap van een bredere AI-in-workflows-uitbreiding."},{"num":"v13.59","type":"feature","title":"AI-advies in de workflow-builder","solution":"Nieuwe \"AI-advies\"-knop in de workflow-bouwer: de AI bekijkt je workflow en geeft beknopt advies â wat de flow doet, risico-waarschuwingen (bv. massaal mailen zonder wacht-stap of voorwaarde) en tips (bv. personaliseren met de AI-stap). Read-only; in demo een voorbeeld-advies."},{"num":"v13.58","type":"feature","title":"Beschrijf in gewone taal wat je wilt â AI bouwt de workflow","solution":"Typ een korte beschrijving (bv. \"stuur nieuwe leads een welkomstmail en maak een opvolgtaak\") en de AI stelt een compleet workflow-concept voor: trigger, acties en instellingen, die je daarna gewoon kunt aanpassen. De AI mag alleen bestaande bouwstenen gebruiken; ongeldige verzinsels worden er server-side uitgefilterd."},{"num":"v13.57","type":"feature","title":"AI-optimizer: laat AI je workflows doorlichten","solution":"Eén knop analyseert al je workflows en hun run-historie (laatste 30 dagen) en geeft concrete verbeter-suggesties: welke stap faalt, ongepubliceerde concepten, overlap, ontbrekende guards en personalisatie-kansen. Read-only; in demo een voorbeeld-analyse."}]},{"date":"2026-06-24","version":"v13.56","clV":"v0.661","title":"Dashboard + personalisatie: light mode, widgets, doelgroep wijzigen","items":[{"num":"v13.56","type":"feature","title":"Wijzig zelf je doelgroep (account-breed)","solution":"Nieuw op de Onderdelen-pagina: een doelgroep-kiezer waarmee je in één keer naar een andere doelgroep schakelt (bv. freelancer â in-house marketeer). Je krijgt meteen de standaard-onderdelen van die doelgroep; daarna kun je per onderdeel finetunen. Voorheen lag de doelgroep vast op je keuze bij aanmelden."},{"num":"v13.55","type":"polish","title":"Designs inplannen heet nu \"contentplanner\"","solution":"De knoppen en het venster om designs in te plannen heten nu generiek \"contentplanner\" in plaats van de platformnaam, zodat het niet aan één specifieke tool gekoppeld lijkt. De koppeling eronder blijft ongewijzigd. De geselecteerde type-toggle (post/reel/story) heeft nu witte tekst voor beter contrast."},{"num":"v13.54","type":"bugfix","title":"Geen sprong meer van light naar dark bij een harde refresh","problem":"Sinds light mode de standaard werd, sprong de pagina bij een harde refresh (Cmd+Shift+R) of op een vers account meteen terug naar dark. De server toonde light, maar het thema-script viel nog terug op dark.","solution":"Het thema-script en de standaardvoorkeur vallen nu ook terug op light, gelijk aan de server. Light blijft staan, geen flits meer."},{"num":"v13.53","type":"bugfix","title":"Klanten-widget verschijnt nu ook zonder klanten","problem":"De widget \"Klanten in beheer\" stond aangevinkt maar verscheen niet op het dashboard wanneer je nog geen klanten had â de hele kaart verdween dan.","solution":"Bij 0 klanten toont de widget nu een lege staat met een \"voeg je eerste klant toe\"-knop, zodat hij altijd zichtbaar is wanneer hij aanstaat."},{"num":"v13.52","type":"feature","title":"Herstel je dashboard naar de standaard van je doelgroep","
2solution":"Nieuw in \"Widgets beheren\": een \"Herstel naar standaard\"-knop die je widget-layout terugzet naar de slimme volgorde die bij jouw doelgroep past. De standaardvolgorde per doelgroep is bovendien aangescherpt."},{"num":"v13.51","type":"polish","title":"In-house: Maandwinst-widget volledig verborgen","solution":"Voor in-house marketeers (waar financieel verborgen is) is de Maandwinst-widget nu ook niet meer toe te voegen via \"Widgets beheren\", consistent met de verborgen financieel-navigatie. Zet je financieel weer aan bij Onderdelen, dan komt de widget terug."}]},{"date":"2026-06-23","version":"v13.50","clV":"v0.654","title":"Affiliate center volledig vernieuwd â vier tabs inclusief Review & Korting","items":[{"num":"v13.50","type":"feature","title":"Nieuwe tab: Review & Korting â zet een review, krijg 1 week gratis","solution":"Bureaus kunnen een review indienen op Trustpilot. Bij goedkeuring ontvangen ze 1 week gratis abonnement als credit op hun eerstvolgende factuur. Max 1 review per platform per bureau."},{"num":"v13.49","type":"polish","title":"Affiliate-pagina volledig redesign: icon-tabs, KPI-cards met iconen, twee-kolom layouts","solution":"Elke tab heeft nu een eigen hero. Verwijzingen toont icoon-KPIs + progressie-kaart met motivatieblok. Creator Bonus en White-label Partner hebben elk een illustratie-hero en eigen card-structuur."},{"num":"v13.48","type":"feature","title":"Affiliate-tabs volledig vertaald in NL/EN/DE/FR","solution":"Alle teksten in de vier affiliate-tabs (Verwijzingen, Content Creator Bonus, White-label Partner, Review & Korting) zijn nu opgenomen in de i18n-sleutels en worden automatisch getoond in de taal van de gebruiker."},{"num":"v13.47","type":"polish","title":"White-label calculator toont nu volledige rekensom (omzet - kosten = marge)","solution":"De vergelijkingscalculator toont nu de volledige rekensom: omzet, Senly-kosten en marge per kolom â plus een derde kolom met jouw extra voordeel."},{"num":"v13.46","type":"feature","title":"Sales-dashboard: affiliate verwijzingen widget voor appointment setters","solution":"Appointment setters en sales-rollen zien nu direct op hun dashboard een compacte samenvatting van hun affiliate verwijzingen â aantal actief/in behandeling, openstaand saldo en recente bureaus. Widget is aan/uitschakelbaar via het widgetmenu."},{"num":"v13.45","type":"polish","title":"Affiliate-dashboard: trial-kolom toont \"Geconverteerd\" na activatie","problem":"Trial-kolom toonde een streepje zodra een verwezen bureau zijn trial afrondde en betalend werd â onderscheidde niet tussen \"nooit een trial\" en \"trial omgezet\".","solution":"Bureaus die van trial naar actief zijn gegaan, krijgen nu een groen \"Geconverteerd\"-badge in de trial-kolom. Geeft affiliates direct inzicht dat hun lead succesvol is geconverteerd."},{"num":"v13.44","type":"bugfix","title":"Affiliate-verwijzingenlijst: betalende bureaus toonden nog \"In behandeling\"","problem":"Een verwezen bureau dat al een actief abonnement had toonde nog steeds de oranje \"In behandeling\"-badge in het affiliate-dashboard van de verwijzer.","solution":"Statusbadge controleert nu ook subStatus van de tenant: betalende bureaus krijgen direct de groene \"Actief\"-badge, ongeacht of Referral.status al is bijgewerkt."},{"num":"v13.43","type":"feature","title":"E-mailbevestiging bij goedkeuring of afwijzing van reel- en review-claims","solution":"Dien je als affiliate een reel- of review-claim in, dan krijg je nu automatisch een e-mail zodra die wordt goedgekeurd of afgewezen - bij afwijzing met de reden erbij, als die is opgegeven."},{"num":"v13.42","type":"polish","title":"Affiliate-tabs: alle drie bonus-secties beginnen op gelijke hoogte","problem":"De White-label Partner-tab had 8px minder padding-top dan de Creator Bonus- en Review & Korting-tabs, waardoor de secties niet gelijk uitlijnen.","solution":"Padding-top van .wlp-root gelijkgetrokken naar 40px (was 32px), identiek aan .rbs-root."},{"num":"v13.41","type":"polish","title":"Affiliate bonus-tabs: info-knopje toont korte toelichting als popup","solution":"Naast elke bonus-tab (Creator Bonus, White-label Partner, Review & Korting) staat nu een klein â¹-knopje. Klikken klapt een kleine kaart open met de eyebrow, koptekst en subtitel van dat programma â zonder het tabblad te wisselen."}]}
2,{"date":"2026-06-23","version":"v13.40","clV":"v0.650","title":"Affiliate center: ranglijst, trial-inzicht & White-label Partner programma","items":[{"num":"v13.40","type":"feature","title":"White-label Partner tab â start je eigen branded SaaS op Senly","solution":"Eigen logo, domein en pricing â Senly levert de motor, jij de klantrelatie. Met interactieve winstcalculator en apply-form."},{"num":"v13.39","type":"feature","title":"Ranglijst-KPI in affiliate dashboard","solution":"Je ziet je positie (#1 t/m #N) onder alle Senly-affiliates op basis van actieve verwijzingen. Top-3 krijgt een medaille."},{"num":"v13.38","type":"feature","title":"+7 dagen gratis trial voor iedereen die via jouw affiliate-link aanmeldt","solution":"Bonus zichtbaar als pill onder de reflink. Stimuleert actief gebruik van de link."},{"num":"v13.37","type":"feature","title":"Trial-status per verwezen bureau in de verwijzingstabel","solution":"Je ziet hoeveel dagen de trial nog loopt per bureau â oranje bij <3 dagen, rood bij bijna verlopen."}]},{"date":"2026-06-22","version":"v13.36","clV":"v0.646","title":"Websites & Performance: knoppen netjes gestyled","items":[{"num":"v13.36","type":"polish","title":"Geen kale knoppen meer","problem":"De \"+ Website\"- en \"Scores ophalen\"-knoppen toonden de standaard browser-stijl i.p.v. de huisstijl.","solution":"Deze actieknoppen hebben nu de juiste premium-stijl (accentkleur, afgeronde hoeken, hover-effect) â passend bij de rest."}]},{"date":"2026-06-22","version":"v13.35","clV":"v0.645","title":"Workflow-mappen: zelf aanmaken + volledig-scherm map-weergave","items":[{"num":"v13.35","type":"feature","title":"Echte, beheerbare mappen voor workflows","problem":"Mappen ontstonden alleen impliciet en bij veel workflows werd het een lange lijst.","solution":"Je maakt nu zelf mappen aan met een naam (ook leeg), hernoemt en verwijdert ze. Klik je een map open, dan opent die volledig-scherm in hetzelfde tabblad met alle workflows erin â plus \"nieuwe workflow in deze map\". Workflows zonder map vallen onder \"Overig\"; bij zoeken zie je een platte lijst over alle mappen heen. In de bouwer kies je een bestaande map of typ je een nieuwe."}]},{"date":"2026-06-22","version":"v13.34","clV":"v0.644","title":"Klantstatus-schakelaar springt nu direct mee","items":[{"num":"v13.34","type":"bugfix","title":"Status-selector loopt in de pas met de werkelijke status","problem":"Als je een klant activeerde (bijv. via het \"Activeren\"-scherm van een inactieve klant), bleef de Actief/Gepauzeerd/Inactief-schakelaar bovenaan het profiel op de oude status staan.","solution":"De schakelaar synchroniseert nu met de werkelijke klantstatus, ook als die elders is gewijzigd (activeer-scherm of Bewerken-venster) â hij springt direct mee."}]},{"date":"2026-06-22","version":"v13.33","clV":"v0.642","title":"Inactief/gepauzeerd klantprofiel: Activeren-knop zichtbaar + juiste actie","items":[{"num":"v13.33","type":"bugfix","title":"Activeren werkt nu duidelijk","problem":"Op een gepauzeerd/inactief klantprofiel was de groene \"Activeren\"-knop onzichtbaar (verkeerde kleur-variabele), en de enige zichtbare optie verplaatste het profiel naar de andere niet-actieve status i.p.v. naar actief.","solution":"De \"Activeren\"-knop is weer zichtbaar, en de verwarrende verplaats-naar-andere-status-knop is verwijderd â vanaf dit scherm activeer je het profiel (of ga je terug naar het overzicht)."}]},{"date":"2026-06-22","version":"v13.32","clV":"v0.640","title":"Workflows nu in overzichtelijke mapjes","items":[{"num":"v13.32","type":"feature","title":"Inklapbare mappen + extra verfijning","problem":"Bij veel workflows werd het overzicht één lange lijst.","solution":"Workflows staan nu in inklapbare mapjes (standaard dicht) â je ziet een compacte lijst van mappen en klikt er een open om de workflows te zien. Workflows zonder map vallen onder \"Overig\"; bij zoeken gaan alle mappen automatisch open. Plus een extra premium-verfijning op de mapkaarten."}]},{"date":"2026-06-22","version":"v13.31","clV":"v0.638","title":"Workflows-overzicht: premium uitstraling + breder","items":[{"num":"v13.31","type":"polish","title":"Luxere, bredere workflow-pagina","problem":"Het workflow-overzicht oogde wat vlak en gebruikte niet de volle breedte.","solution":"Gelaagde schaduwen met hairline-randen voor diepte, ruimere witruimte, grotere zelfverzekerde statistiek-cijfers, tactiele hover-effecten en een breder enterprise-canvas (1480px) â verfijnd, niet druk."}]},{"date":"2026-06-22","version":"v13.30","clV":"v0.636","title":"Workflow-stappen niet langer doorschijnend","items":[{"num":"v13.30","type":"polish","title":"Ondoorzichtige stap-vakken op het canvas","problem":"De stap-vakken in de workflow-bouwer waren semi-transparant â de stippen-achtergrond scheen erdoorheen.","solution":"De vakken hebben nu een dekkende achtergrond (gelijk aan de overige kaarten); de gekleurde accenten per stap blijven behouden."}]},{"date":"2026-06-22","version":"v13.29","clV":"v0.629","title":"Consistente stijl op alle instellingen-paginaâs","items":[{"num":"v13.29","type":"polish","title":"Uniforme koppen en uitlijning","problem":"Verschillende instellingenpagina's hadden elk hun eigen marges en koptitels, waardoor het platform er wat rommelig uitzag.","solution":"Alle instellingenpagina's gebruiken nu dezelfde uitlijning en dezelfde koptitel-stijl, voor een consistentere uitstraling."}]},{"date":"2026-06-22","version":"v13.28","clV":"v0.628","title":"Witte tekst op groene \"Goedkeuren\"-knop (commissie-claims)","items":[{"num":"v13.28","type":"polish","title":"Beter knop-contrast","solution":"De groene \"Goedkeuren\"-knop op de commissie-claims-pagina had donkere tekst; die is nu wit voor beter contrast."}]},{"date":"2026-06-22","version":"v13.27","clV":"v0.622","title":"Workflows: meer lucht bovenaan + witte knoptekst","items":[{"num":"v13.27","type":"polish","title":"Ademruimte en knop-contrast","solution":"De workflow-pagina krijgt wat meer ruimte bovenaan en links, en de groene \"Nieuwe workflow\"/\"Opslaan\"-knoppen hebben nu witte tekst voor beter contrast."}]},{"date":"2026-06-22","version":"v13.26","clV":"v0.621","title":"Vertakkingen nu visueel op het canvas","items":[{"num":"v13.26","type":"feature","title":"Ja- en nee-pad zichtbaar op het canvas","problem":"Een vertakking was een gewone stap; de twee paden bewerkte je in het zijpaneel â niet als de visuele boom die je gewend bent.","solution":"Een \"Als / anders\"-stap splitst het canvas nu zichtbaar in een groen ja-pad en een rood nee-pad, elk met hun eigen stappen als losse k
2aartjes. Klik een stap om hem in te stellen, of \"+ stap\" om er een toe te voegen â precies zoals in je vorige tool."}]},{"date":"2026-06-22","version":"v13.25","clV":"v0.620","title":"Workflows: inkomende webhooks + automatische retry & faal-alerts","items":[{"num":"v13.25","type":"feature","title":"Inkomende-webhook trigger","problem":"Je workflows konden alleen reageren op gebeurtenissen binnen Senly - een externe tool kon er zelf geen workflow starten.","solution":"Elke workflow krijgt nu een eigen unieke link waar externe tools zoals Zapier, Make of je eigen formulier gegevens naartoe kunnen sturen om de workflow direct te starten, met alle meegestuurde gegevens beschikbaar in de stappen erna."},{"num":"v13.24","type":"feature","title":"Automatische retry + faal-alerts","problem":"Een mislukte e-mail of koppeling in een workflow werd niet opnieuw geprobeerd, en je merkte vaak niet dat een workflow was vastgelopen.","solution":"Mislukte e-mail- en koppelingsstappen worden nu automatisch tot drie keer opnieuw geprobeerd, en je krijgt een melding zodra een actieve workflow blijft falen."}]},{"date":"2026-06-22","version":"v13.23","clV":"v0.617","title":"Workflow-canvas: config-paneel rechts + mini-kaart","items":[{"num":"v13.23","type":"feature","title":"Stappen instellen in een paneel rechts","solution":"Klik een stap op het canvas en zijn instellingen schuiven netjes in een paneel rechts in beeld â de stappen op het canvas blijven compact en overzichtelijk, precies zoals je gewend bent. Plus een mini-kaart rechtsonder met een overzicht van je hele flow."}]},{"date":"2026-06-22","version":"v13.22","clV":"v0.616","title":"Workflow-bouwer op volledig scherm (GHL-stijl canvas)","items":[{"num":"v13.22","type":"feature","title":"Volledig-scherm canvas met zoom & slepen","problem":"De bouwer zat in een smal zijpaneel â onhandig voor grote flows met veel stappen en vertakkingen.","solution":"De bouwer opent nu op volledig scherm met een zoombaar, sleepbaar canvas (zoomknoppen + percentage + \"passend maken\" linksonder, subtiel raster zoals je gewend bent). Bovenin een nette balk: terug naar de lijst, naam, Builder/Logboek-tabs, Testworkflow, Concept/Publiceren en Opslaan â net als in je vorige tool."}]},{"date":"2026-06-22","version":"v13.21","clV":"v0.614","title":"Workflows: échte if/else-vertakking","items":[{"num":"v13.21","type":"feature","title":"Vertakking met een ja- en nee-pad","problem":"Een voorwaarde kon de flow alleen lineair stoppen â je kon niet twee verschillende kanten op.","solution":"De nieuwe stap \"Als / anders\" splitst je workflow in twee paden: klopt de voorwaarde (incl. groter/kleiner dan), dan loopt het \"ja\"-pad met z'n eigen stappen; anders het \"nee\"-pad. Daarna gaat de workflow gewoon verder. Bijvoorbeeld: factuur > â¬1000 â manager mailen, anders â alleen een notitie."}]},{"date":"2026-06-22","version":"v13.20","clV":"v0.613","title":"Workflows op een vast tijdstip (geplande automatiseringen)","items":[{"num":"v13.20","type":"feature","title":"Nieuwe trigger: \"Op een vast tijdstip\"","problem":"Workflows konden alleen reageren op gebeurtenissen, niet zelf op een vast moment starten.","solution":"Je kunt een workflow nu dagelijks of wekelijks op een zelfgekozen tijdstip laten starten - ideaal voor vaste rapportages, herinneringen of periodieke acties."}]},{"date":"2026-06-22","version":"v13.19","clV":"v0.612","title":"Workflows: meer acties + voorwaarden met getallen","items":[{"num":"v13.19","type":"feature","title":"Taak toewijzen aan een teamlid","solution":"De actie \"Taak aanmaken\" heeft nu een optioneel \"Toewijzen aan\"-veld, zodat de automatische taak direct bij de juiste persoon belandt."},{"num":"v13.18","type":"feature","title":"CRM-lead-acties: fase wijzigen & tag toevoegen","solution":"Twee nieuwe acties voor lead-triggers: verplaats de lead automatisch naar een andere pipeline-fase, of voeg er een tag aan toe (bv. \"Hot lead\"). De bouwer waarschuwt als je ze achter een trigger zonder lead-context zet."}]},{"date":"2026-06-22","version":"v13.17","clV":"v0.611","title":"Workflow-bouwer: handiger werken (variabelen, mappen, stappen aan/uit, log-filter)","items":[{"num":"v13.17","type":"feature","title":"Variabelen invoegen met één klik","problem":"Je moest variabelen als {client.name} foutgevoelig met de hand typen.","solution":"Onder elk tekstveld staan nu klikbare chips met de beschikbare variabelen van je trigger â klik en ze worden ingevoegd."},{"num":"v13.16","type":"feature","title":"Mappen om workflows te ordenen","solution":"Geef een workflow een map (bv. \"Onboarding\" of \"Facturatie\"); de lijst groepeert ze netjes per map."},{"num":"v13.15","type":"feature","title":"Stappen tijdelijk uitschakelen","solution":"Zet een losse stap aan/uit zonder hem te verwijderen â handig om iets even over te slaan zonder je flow te verbouwen."},{"num":"v13.14","type":"polish","title":"Logboek: filter op mislukte + uitklapbare details","solution":"Filter het logboek op alleen mislukte uitvoeringen en klik een uitvoering open om per stap te zien wat er gebeurde."}]},{"date":"2026-06-22","version":"v13.13","clV":"v0.610","title":"Workflows: twee nieuwe triggers (nieuwe lead, afspraak geboekt)","items":[{"num":"v13.13","type":"feature","title":"Start workflows op meer momenten","problem":"Workflows konden nog niet automatisch reageren op een nieuwe lead of een geboekte afspraak.","solution":"Twee nieuwe triggers: \"Nieuwe lead toegevoegd\" (vuurt bij een nieuwe CRM-lead) en \"Afspraak geboekt\" (vuurt zodra iemand via je boekingspagina een afspraak inplant) â ideaal voor automatische opvolging, welkomstmails of taken."}]},{"date":"2026-06-22","version":"v13.12","clV":"v0.608","title":"Workflows koppelen aan externe apps (Zapier, Make, n8n)","items":[{"num":"v13.12","type":"feature","title":"Webhook-actie â verbind met elke externe tool","problem":"Workflows konden alleen dingen binnen Senly automatiseren; koppelen met externe automatiseringstools kon niet.","solution":"Je workflow kan nu gegevens ver
2sturen naar een link naar keuze, zodat je Senly kunt koppelen aan Zapier, Make, n8n of je eigen systeem."}]},{"date":"2026-06-22","version":"v13.11","clV":"v0.607","title":"Workflows: dupliceren + slimme onvolledig-waarschuwingen","items":[{"num":"v13.11","type":"feature","title":"Workflow dupliceren","solution":"Met de nieuwe kopieer-knop op elke workflow-kaart maak je in één klik een concept-kopie â handig om een variant te bouwen zonder opnieuw te beginnen."},{"num":"v13.10","type":"feature","title":"Waarschuwingen bij onvolledige stappen","problem":"Je kon een stap publiceren met een leeg verplicht veld, of een klant-actie achter een trigger zonder klant â dat faalde dan stil bij uitvoering.","solution":"De bouwer markeert nu stappen met een ontbrekend verplicht veld of een ontbrekende klant-context met een duidelijke waarschuwing, en toont vóór publiceren hoeveel stappen aandacht nodig hebben."}]},{"date":"2026-06-22","version":"v13.09","clV":"v0.606","title":"Workflows: stevigheid & afronding (review-fixes)","items":[{"num":"v13.09","type":"bugfix","title":"Factuur-betaald-workflows vuren nu ook bij online betalingen","problem":"Een \"Factuur betaald\"-workflow draaide alleen bij handmatig betaald markeren, niet wanneer een klant via een Mollie/Stripe-betaallink betaalde.","solution":"De betaal-funnel vuurt de trigger nu consistent â ook bij online betaling â zonder dubbele runs."},{"num":"v13.08","type":"bugfix","title":"Wacht-stappen blokkeren geen nieuwe automatiseringen meer","problem":"Veel hervatte wacht-stappen konden de per-workflow uurlimiet vullen en zo nieuwe triggers tegenhouden; ingeplande runs telden bovendien mee als \"geslaagd\" in het succespercentage.","solution":"Vervolg-runs na een wacht-stap tellen niet meer mee in de limiet, en een puur-ingeplande run krijgt de status \"Ingepland\" i.p.v. te tellen als geslaagde uitvoering."},{"num":"v13.07","type":"performance","title":"Snellere uitvoering bij grote teams en veel wacht-stappen","solution":"Meldingen naar je team en het afhandelen van wachtstappen in workflows gebeuren nu gelijktijdig in plaats van één voor één, zodat één trage stap de rest niet meer vertraagt."},{"num":"v13.06","type":"polish","title":"Bouwer: stabieler slepen + eerlijke test-preview","solution":"Stappen herordenen via drag-and-drop houdt nu de juiste stap geopend en landt op de juiste plek; de test-knop laat eerlijk zien welke stappen door een voorwaarde of wacht-stap worden overgeslagen."}]},{"date":"2026-06-22","version":"v13.05","clV":"v0.647","title":"Content Creator Bonus: Reel plaatsen = geld terug","items":[{"num":"v13.05","type":"feature","title":"Maak een Reel over Senly en ontvang tot 100% korting op je abonnement","problem":"Bureaus die content maakten over Senly werden niet beloond voor de exposure die ze genereerden.","solution":"Via de affiliatepagina kun je een Reel indienen. Bij 2 000+ weergaven krijg je 50% van je maandbedrag terug als credit; bij 20 000+ weergaven een volledige gratis maand. Meerdere Reels mogen â elk kan een aparte claim genereren."}]},{"date":"2026-06-22","version":"v13.04","clV":"v0.643","title":"Webonderhoud: automatische website-prestaties via Google Lighthouse","items":[{"num":"v13.04","type":"feature","title":"Prestaties-blok voor webonderhoud-klanten","problem":"Er was geen inzicht in hoe snel de website van een klant laadt of hoe die scoort op SEO en toegankelijkheid.","solution":"Nieuw Prestaties-blok haalt op aanvraag Google Lighthouse-scores op: snelheid, SEO, toegankelijkheid en best practices â elk als score van 0â100 met kleurcodering. Ook Core Web Vitals (FCP, LCP, TTI) en de paginatitel + meta-beschrijving worden getoond. Bij meerdere websites een site-kiezer; mobiel/desktop toggle."}]},{"date":"2026-06-22","version":"v13.03","clV":"v0.641","title":"Klantprofiel per dienstverlening + Content-blok beveiligd","items":[{"num":"v13.03","type":"feature","title":"Websites-blok voor webonderhoud-klanten","problem":"Bij webonderhoud-klanten was er geen plek om domein, hosting, CMS en SSL bij te houden.","solution":"Nieuw blok \"Websites\" met domein, hostingpartij, CMS (WordPress/Webflow/etc.), SSL-status en notities. V
2olledig CRUD, zichtbaar zodra het type \"Webonderhoud\" is."},{"num":"v13.02","type":"feature","title":"Campagnes-blok voor advertentie-klanten","problem":"Advertentie-klanten hadden geen overzicht van actieve campagnes, budgetten en looptijden.","solution":"Nieuw blok \"Campagnes\" met platform (Meta/Google/LinkedIn/etc.), budget, start- en einddatum, status en notities. Automatisch actief bij het type \"Advertenties\"."},{"num":"v13.01","type":"feature","title":"Huisstijl-blok voor branding-klanten","solution":"Nieuw blok \"Huisstijl\" toont merkkleuren, lettertypen en een notitieveld â automatisch zichtbaar bij het type \"Branding & Strategie\"."},{"num":"v13.00","type":"feature","title":"Slimme blokken bij wisselen van dienstverlening","problem":"Bij het aanpassen van het dienstverleningstype in de klant-editor werden de blokken niet automatisch bijgewerkt.","solution":"De juiste standaardblokken worden nu direct geselecteerd zodra je van type wisselt."},{"num":"v12.99","type":"security","title":"Content & Social Media alleen voor beheer/groei-klanten","solution":"Het Content-blok (â¬50/klant) is nu server-side beperkt tot Social Media Beheer en Groeiservice. Andere klanttypen zien het blok niet, ook niet in de blokken-selector."},{"num":"v12.98","type":"bugfix","title":"\"Klant verwijderen\"-knop weer klikbaar","problem":"Na het uitbreiden van de blokken-selector groeide de modal te groot en stond de footer over de delete-knop heen.","solution":"Modal-scroll is herstructureerd: alleen de body scrollt, header/tabs/footer blijven altijd zichtbaar."}]},{"date":"2026-06-22","version":"v12.97","clV":"v0.635","title":"Klantprofiel: Websites, Campagnes & Huisstijl blokken","items":[{"num":"v12.97","type":"feature","title":"Websites-blok voor Webonderhoud-klanten","problem":"Webonderhoud-klanten hadden geen plek voor domein-, hosting- en CMS-informatie in het klantprofiel.","solution":"Nieuw Websites-blok met domeinen, hostingprovider, CMS-type, SSL-status en notities per website. Volledig CRUD vanuit het klantprofiel."},{"num":"v12.96","type":"feature","title":"Campagnes-blok voor Advertenties-klanten","problem":"Advertentie-klanten hadden geen gestructureerde plek voor lopende campagnes per platform.","solution":"Nieuw Campagnes-blok met platform (Meta/Google/LinkedIn/TikTok/YouTube), budget, looptijd, status en notities per campagne."},{"num":"v12.95","type":"feature","title":"Huisstijl-blok voor Branding & Strategie klanten","problem":"Branding-klanten hadden geen dedicated plek voor merkidentiteit; brand-richtlijnen waren nergens te noteren.","solution":"Nieuw Huisstijl-blok met kleur- en lettertypeoverzicht plus bewerkbare brand-notities (do's & don'ts, logo-instructies)."},{"num":"v12.94","type":"feature","title":"Slimme blokken-presets per dienstverlening","solution":"Bij het selecteren van een dienstverlening worden de juiste blokken automatisch voorgeselecteerd: Webonderhoud krijgt Websites, Advertenties krijgt Campagnes + Content, Branding krijgt Huisstijl."}]},{"date":"2026-06-22","version":"v12.93","clV":"v0.634","title":"Workflows-module volledig vertaald (NL/EN/DE/FR)","items":[{"num":"v12.93","type":"feature","title":"/admin/workflows beschikbaar in 4 talen","problem":"De workflow-bouwer was alleen in het Nederlands beschikbaar, waardoor internationale gebruikers de interface eerst moesten vertalen.","solution":"De hele workflow-bouwer - labels, triggers, acties en voorbeeldworkflows - is nu ook beschikbaar in het Engels, Duits en Frans, automatisch op basis van je taalinstelling."}]},{"date":"2026-06-22","version":"v12.92","clV":"v0.632","title":"Klantenoverzicht: filter per dienstverlening","items":[{"num":"v12.92","type":"feature","title":"Webonderhoud, Advertenties, Branding & Overig als losse filterknoppen","problem":"Klanten met een niet-social dienstverlening kwamen allemaal onder \"Geen service\" te staan, ongeacht of het een webonderhoud- of advertentieklant was.","solution":"Het klantenoverzicht toont nu voor elk actief type een eigen filterknop. Knoppen verschijnen alleen als er minimaal 1 klant met dat type bestaat."}]},{"date":"2026-06-22","version":"v12.91","clV":"v0.623","title":"Klantprofiel aanpasbaar per dienstverlening","items":[{"num":"v12.91","type":"feature","title":"Zichtbare blokken instellen per niet-social klant","problem":"Bij klanten met een ander type dienstverlening (webonderhoud, advertenties, branding) zag je altijd alle tabbladen inclusief social-media-tools die je toch niet gebruikt.","solution":"In de klantinstellingen kun je nu per klant aanvinken welke blokken zichtbaar zijn op het klantprofiel (Taken, Content, Klantinfo, Financieel, Contracten). Zo pas je het profiel aan de dienstverlening aan. Billable klanten (Social Media Beheer en Groeiservice) houden standaard alles aan."}]},{"date":"2026-06-22","version":"v12.90","clV":"v0.615","title":"Klanten toevoegen buiten social media: webonderhoud, ads, branding & overig","items":[{"num":"v12.90","type":"feature","title":"Meer klanttypen: voeg alle klanten toe aan je portaal, ongeacht dienst","problem":"Je kon alleen Social Media Beheer- en Groeiservice-klanten aanmaken. Bureaus die voor dezelfde klant ook webonderhoud, advertenties of branding doen, konden hun volledige klantportfolio niet bijhouden in Senly.","solution":"Bij het aanmaken van een klant kies je nu het type dienstverlening: Social Media Beheer, Groeiservice, Webonderhoud, Advertenties, Branding & Strategie of Overig. De eerste twee zijn billable (tellen mee in je abonnement); de rest kun je gratis toevoegen voor CRM, facturen en taken. Social media-functionaliteit is alleen beschikbaar voor billable klanten, zodat het systeem zichzelf handhaaft."}]},{"date":"2026-06-22","version":"v12.89","clV":"v0.603","title":"Workflows koppelen nu aan je CRM (fase 2b), Workflows kunnen nu ook automatisch e-mails sturen & 1 meer","items":[{"num":"v12.89","type":"feature","title":"Nieuwe trigger \"CRM: lead verplaatst\" + actie \"Voeg toe aan pipeline\"","problem":"Workflows konden nog niet reageren op je salespijplijn of er leads in zetten â terwijl \"lead verplaatst naar fase X â doe Y\" een van de meest gebruikte automatiseringen is.","solution":"Je kunt nu een workflow laten starten zodra een lead in het CRM naar een andere pipeline-fase wordt gesleept â optioneel alleen wanneer naar een specifieke fase. En er is een actie \"Voeg toe aan CRM-pipeline\" die automatisch een lead in een gekozen pipeline + fase aanmaakt (bv. nieuwe klant â kaart in je onboarding-pijplijn). De bouwer toont nu pipeline- en fase-kiezers die je echte CRM-pijplijnen laden."},{"num":"v12.88","type":"feature","title":"Nieuwe workflow-actie: E-mail sturen","problem":"Fase 1 van Workflows kon taken aanmaken, het team notificeren en notities toevoegen â maar nog geen e-mail versturen, terwijl dat een van de meest gevraagde automatiseringen is.","solution":"Je kunt nu een \"E-mail sturen\"-actie aan een workflow hangen: naar de klant (contact-e-mail) of een vast adres, met onderwerp en bericht wa
2arin je variabelen als {client.name} kunt gebruiken. Verstuurd vanaf je eigen afzender. Met vangrails: een per-uur-limiet tegen massaverzending, e-mailadres-validatie, en in demo-modus wordt nooit echt verzonden."},{"num":"v12.87","type":"feature","title":"Nieuw: bouw je eigen automatiseringen onder Instellingen â Workflows","problem":"Senly automatiseerde al vaste taken zoals facturen en herinneringen, maar je kon zelf geen \"als dit gebeurt, doe dan dat\" instellen - daarvoor moest je naar een externe tool.","solution":"Je kunt nu zelf workflows bouwen: kies een trigger (zoals een nieuwe klant, een betaalde factuur of een voltooide taak) en koppel er acties aan (zoals een taak aanmaken, je team notificeren of een interne notitie toevoegen), met een concept/publiceren-schakelaar en een testknop."},{"num":"v12.86","type":"feature","title":"Klant-facturenportaal verschijnt nu in de taal van de klant","problem":"De deel-link die je eindklant opent (/klantportaal/...) was volledig hardcoded Nederlands â statussen, datums en knoppen. Een Engelse, Duitse of Franse klant zag toch Nederlands.","solution":"Het portaal volgt nu de browsertaal van de klant (NL/EN/DE/FR, met Engels als fallback). Statuslabels, datums en knoppen komen mee in de juiste taal."},{"num":"v12.85","type":"polish","title":"Instellingen-menu nu in drie kolommen","solution":"Met de nieuwe Workflows-optie erbij werd de tweekoloms-lijst lang; het menu staat nu in drie kolommen op desktop (twee op tablet, één op mobiel)."}]},{"date":"2026-06-22","version":"v12.84","clV":"v0.605","title":"Workflows: compleet nieuw, premium ontwerp (fase 4)","items":[{"num":"v12.84","type":"feature","title":"Visuele flow-bouwer met drag-and-drop","problem":"De workflow-bouwer was een functioneel maar kaal formulier â niet prettig om mee te werken.","solution":"Een volledig nieuwe, premium bouwer: een verticale flow-canvas (trigger â stappen â einde) met sleep-en-neerzetten om stappen te herordenen, \"+\"-knoppen om overal een stap in te voegen, een gecategoriseerd actie-palet, en inline bewerken per stap."},{"num":"v12.83","type":"feature","title":"Automation-dashboard & inzichten","problem":"Je had geen overzicht van wat je automatiseringen deden.","solution":"Bovenaan zie je nu live cijfers: actieve workflows, totale uitvoeringen, succespercentage (met ring), geschatte bespaarde tijd en wachtende stappen. Plus een feed met de recentste uitvoeringen en een per-workflow logboek met success/failure-states."},{"num":"v12.82","type":"feature","title":"Templates-gallerij & integraties-overzicht","problem":"Vanaf nul beginnen kostte tijd.","solution":"Zes kant-en-klare templates (welkom-flow, factuur-bedankje, lead-opvolging met wachttijd, VIP-melding, en meer) starten je in één klik. Een integraties-overzicht laat zien waar workflows mee verbonden zijn (e-mail, CRM-pijplijnen, taken, notificaties, klantprofielen)."}]},{"date":"2026-06-22","version":"v12.81","clV":"v0.604","title":"Workflows worden slim: voorwaarden, wacht-stappen en klantprofiel-acties (fase 3)","items":[{"num":"v12.81","type":"feature","title":"Wacht-stappen â uitgestelde acties","problem":"Alles in een workflow gebeurde direct - een opvolgactie \"2 dagen later\" was niet mogelijk.","solution":"Je kunt nu een wachtstap toevoegen (minuten, uren of dagen); de workflow pauzeert en voert de stappen erna automatisch op het juiste moment uit."},{"num":"v12.80","type":"feature","title":"Klantprofiel bijwerken","problem":"Workflows konden klantgegevens niet aanpassen.","solution":"Nieuwe actie \"Klant: branche instellen\" werkt het klantprofiel automatisch bij. Eerste van een reeks klantprofiel-acties."}]},{"date":"2026-06-21","version":"v12.79","clV":"v0.595","title":"Billing, checkout & afspraken: iDEAL, BTW, facturatiecyclus & i18n","items":[{"num":"v12.79","type":"feature","title":"iDEAL en Bancontact als betaalmethode bij aanmelding","problem":"Op de Stripe-betaalpagina stonden alleen kaart en SEPA-incasso. SEPA voelt voor veel Nederlandse en Belgische bezoekers onbekend.","solution":"Voor abonnementen in euro's staan nu ook iDEAL (Nederland) en Bancontact (België). De klant betaalt de eerste keer via zijn vertrouwde bank-flow, Stripe slaat het rekeningnummer op als SEPA-mandaat en vervolgafschrijvingen lopen automatisch via SEPA."},{"num":"v12.78","type":"feature","title":"EU-bedrijven kunnen BTW-nummer opgeven bij betaling (reverse-charge)","problem":"Buitenlandse EU-bureaus konden hun BTW-nummer niet kwijt bij aanmelding, waardoor ze BTW betaalden over een transactie die fiscaal verlegd had moeten worden.","solution":"Op de Stripe-betaalpagina staat nu een \"BTW-nummer\"-veld. Vult een EU-bedrijf een geldig nummer in (Stripe valideert via VIES), dan past Stripe Tax automatisch de verleggingsregeling toe (0%)."},{"num":"v12.77","type":"bugfix","title":"Factuur klopt nu wereldwijd (BTW, export, reverse-charge)","problem":"Facturen rekenden altijd met 21% Nederlandse btw, ook voor klanten buiten Nederland.","solution":"Facturen tonen nu het juiste btw-percentage per klant: 21% voor Nederlandse klanten en 0% met de juiste vermelding bij export en EU-klanten."},{"num":"v12.76","type":"feature","title":"Facturatiecyclus wijzigen vanuit je abonnement-pagina","problem":"De cyclus-keuze (per kwartaal -15%, jaarlijks -30%) was alleen tijdens aanmelding beschikbaar. Bestaande klanten konden niet overstappen.","solution":"In Instellingen â Abonnement staat nu een sectie \"Facturatiecyclus\" met drie kaarten. Je ziet direct het effectieve maandbedrag en kunt met één klik overstappen. Stripe verrekent het verschil automatisch."},{"num":"v12.75","type":"bugfix","title":"\"Verzetten of annuleren\"-link werkt weer vanuit de bevestigingsmail","problem":"Uitgelogde genodigden die via de bevestigingsmail een afspraak wilde
2n verzetten of annuleren, kwamen in plaats daarvan op het inlogscherm terecht.","solution":"De beheerpagina voor afspraken is weer gewoon publiek bereikbaar via de beveiligde link in je bevestigingsmail."},{"num":"v12.74","type":"polish","title":"Telefoonnummer is nu verplicht bij aanmelding","solution":"Op het aanmeldformulier is het telefoonnummerveld van optioneel naar verplicht gezet (4-talig, minimaal 6 cijfers)."},{"num":"v12.73","type":"feature","title":"Uber-i18n-audit: 240 vertaal-lekken in 128 files gefixt","problem":"Verschillende pagina's - zoals het vergelijkingsoverzicht, de partnerpagina's en het helpcentrum - toonden nog Nederlandse tekst op plekken waar dat niet hoorde.","solution":"Een grondige controle heeft deze resterende teksten gevonden en vertaald, zodat marketingpagina's, partnerpagina's en de afsprakenbeheer-omgeving nu volledig in alle vier de talen werken."}]},{"date":"2026-06-20","version":"v12.72","clV":"v0.573","title":"Automatiseringen-studio (LinkedIn/Instagram/Facebook/TikTok) nu 4-talig, Audit-vervolg: Zoom-koppeling, contract-tokens, affiliate-controle & 13 meer","items":[{"num":"v12.72","type":"feature","title":"Automations-studio volledig in NL/EN/DE/FR","problem":"De automatiseringstool voor LinkedIn, Instagram, Facebook en TikTok stond nog volledig in het Nederlands, ook voor gebruikers met een andere taalinstelling.","solution":"De hele automatiseringstool - platform-uitleg, limieten, stappen en statistieken - is nu vertaald naar Engels, Duits en Frans en past zich automatisch aan jouw taal aan."},{"num":"v12.71","type":"bugfix","title":"Zoom-agenda koppelen werkt weer","problem":"Het koppelen van je Zoom-agenda kon vastlopen op het inlogscherm bij het opnieuw verbinden.","solution":"Zoom koppelen werkt nu weer betrouwbaar, net als bij Google en Outlook."},{"num":"v12.70","type":"security","title":"Contract-ondertekenlinks met sterk willekeurig token","problem":"Ondertekenlinks voor contracten waren tot nu toe minder goed beveiligd dan die van facturen en offertes.","solution":"Ondertekenlinks voor contracten gebruiken nu een sterk, willekeurig gegenereerde link, voor extra zekerheid bij het digitaal ondertekenen. Bestaande links blijven gewoon werken."},{"num":"v12.69","type":"security","title":"Affiliate self-referral via eigen domein geblokkeerd","problem":"Je kon je eigen tweede bureau aanmelden onder je eigen verwijscode voor een kickback.","solution":"Aanmeldingen met hetzelfde eigen (niet-gratis) e-maildomein als de affiliate worden niet meer gekoppeld. Gmail/Outlook e.d. blijven toegestaan om echte verwijzingen niet te blokkeren."},{"num":"v12.68","type":"security","title":"Server-side paywall voor verlopen/opgezegde abonnementen","problem":"Een verlopen of opgezegd abonnement behield volledige toegang tot alle betaalde functies â er was nergens een server-side controle op de abonnementsstatus.","solution":"Onbetaalde/verlopen tenants kunnen hun gegevens nog wel inzien, maar wijzigingen (content, AI, facturen, enz.) worden geweigerd tot reactivatie; er verschijnt een duidelijke \"reactiveer je abonnement\"-scherm. Bewust ruim: lopende trials, betalende klanten, betaalpogingen in behandeling (dunning) en een opzegging binnen de betaalde periode houden volledige toegang. Super-admins zijn uitgezonderd."},{"num":"v12.67","type":"bugfix","title":"Klikken op tracking-links in outreach-mails werkt weer","problem":"Een eerdere beveiligingsverbetering zorgde er per ongeluk voor dat klikken op links in onze e-mails niet meer werkte.","solution":"Links in e-mails werken nu weer gewoon; een ongeldige link stuurt je netjes naar de homepage."},{"num":"v12.66","type":"security","title":"SSRF-guard sluit ook de IPv6-mapped vorm van interne adressen af","problem":"Een interne/metadata-IP in IPv6-mapped hex-vorm (bv. ::ffff:a9fe:a9fe = 169.254.169.254) werd door de nieuwe guard niet als privé herkend.","solution":"De guard decodeert nu beide IPv4-mapped vormen en blokkeert ze; afgedekt met regressietests."},{"num":"v12.65","type":"security","title":"Kritieke lekken gedicht + autorisatie strak getrokken","problem":"Een uitgebreide beveiligingscontrole bracht een aantal kwetsbaarheden aan het licht die verholpen moesten worden.","solution":"De gevonden kwetsbaarheden zijn gedicht en de toegangscontroles zijn op meerdere plekken in het platform verder aangescherpt."},{"num":"v12.64","type":"polish","title":"Cyclus-keuze verschijnt alleen bij 1 klant","problem":"De kwartaal/jaar-korting was ook te kiezen vanaf 2 klanten en stapelde dan bovenop de volumekorting â dat erodeerde de marge op grotere bureaus te ver.","solution":"De cyclus-schakelaar verschijnt nu alleen bij 1 klant (zowel op de prijssectie als in het aanmeldformulier). Vanaf 2 klanten is het tarief altijd maandelijks tegen de geldende volumekorting. Dit wordt ook
2server-side afgedwongen."},{"num":"v12.63","type":"bugfix","title":"Bij kwartaal/jaar stond er nog \"daarna automatisch maandelijks\"","problem":"Het zinnetje onder het bedrag op het aanmeldformulier zei altijd \"daarna automatisch maandelijks\", ook als je per kwartaal of jaarlijks had gekozen.","solution":"De tekst volgt nu de gekozen cyclus: \"daarna automatisch per kwartaal\" of \"...jaarlijks\" (in alle talen)."},{"num":"v12.62","type":"polish","title":"Strakke .95-prijzen i.p.v. rommelige kommabedragen","problem":"Een vast kortingspercentage gaf onhandige bedragen als â¬59,46 en â¬48,96 per maand â dat oogt niet aantrekkelijk.","solution":"De cyclus-prijzen staan nu op vaste, nette bedragen: per kwartaal â¬59,95/mnd, jaarlijks â¬49,95/mnd (USD $69,95 en $59,95). De korting wordt hieruit afgeleid en de badge toont het werkelijke percentage. Het effectieve maandbedrag, het periodebedrag en de Stripe-incasso lopen overal gelijk."},{"num":"v12.61","type":"bugfix","title":"Factuurbedrag exact gelijk aan wat er geïnd is","problem":"De factuur/kwitantie nam het door Stripe geïnde totaal als grondslag en telde er nogmaals 21% BTW bij. Met Stripe Tax actief zat de BTW al in dat bedrag, waardoor de factuur 21% te hoog kon uitvallen.","solution":"De factuur gebruikt nu het netto bedrag (excl. BTW) als grondslag en telt daar één keer 21% bij. Het factuurtotaal is daardoor exact gelijk aan wat er via Stripe is afgeschreven â geen dubbele BTW meer."},{"num":"v12.60","type":"polish","title":"Cyclus zichtbaar op de factuur","solution":"Bij kwartaal- en jaarbetalingen vermeldt de factuuromschrijving nu expliciet \"kwartaalabonnement\" of \"jaarabonnement\" (i.p.v. enkel de maand), zodat duidelijk is welke periode is betaald."},{"num":"v12.59","type":"bugfix","title":"MRR-cijfers kloppen voor kwartaal-/jaarklanten","solution":"Het maandbedrag in de omzetoverzichten toont nu het juiste, gekorte bedrag voor klanten met een kwartaal- of jaarabonnement, zodat de cijfers niet langer te hoog uitvallen."},{"num":"v12.58","type":"feature","title":"Kies bij aanmelden je facturatiecyclus: maandelijks, per kwartaal of jaarlijks","problem":"Senly kende alleen maandelijkse facturatie. Bureaus die liever vooruitbetalen voor een betere prijs (en jij voor minder churn en cashflow vooraf) hadden die optie niet.","solution":"Op het aanmeldformulier staat nu een keuze: maandelijks, per kwartaal (15% korting) of jaarlijks (30% korting). De korting wordt direct in de prijs en in de Stripe-incasso verwerkt (kwartaal = 3 maanden ineens, jaar = 12 maanden ineens). De gekozen cyclus is zichtbaar op je abonnement-pagina."},{"num":"v12.57","type":"feature","title":"Eén-klant-tarief is nu â¬69,95 (USD $79.95) â bestaande bureaus houden hun oude tarief levenslang","problem":"Het één-klant-instaptarief stond op â¬60 (USD $70).","solution":"Het één-klant-tarief is â¬69,95/maand geworden (USD $79.95). Bureaus die eerder instapten op â¬60/$70 behouden dat tarief levenslang (founder blijft founder) â alleen nieuwe aanmeldingen zien het nieuwe tarief. De volume-tarieven (â¬50/$60 vanaf 2 klanten, â¬40/$50 vanaf 20) blijven ongewijzigd."},{"num":"v12.56","type":"bugfix","title":"Een op â¬0 gezette maand leek leeg i.p.v. nul","problem":"Als je het inkomen van een manager handmatig op â¬0 zette (vorige update), toonde de \"per maand\"-grafiek geen balk én geen bedrag â niet te onderscheiden van een maand zonder gegevens.","solution":"Een handmatige â¬0 toont nu zichtbaar \"â¬0\" bij die maand. Maanden die via de automatische berekening op nul uitkomen blijven leeg, zodat de grafiek niet volloopt met nullen."},{"num":"v12.55","type":"feature","title":"Zet het werkelijke inkomen van een manager per maand zelf vast","problem":"De inkomstengrafiek van een manager (dashboard \"Mijn inkomen\" + \"per maand\") was een live-berekening op basis van de huidige klant-toewijzingen. Daardoor toonde elke maand hetzelfde bedrag en was er geen manier om afgelopen maanden â die in werkelijkheid anders waren â te corrigeren.","solution":"In Financieel â Medewerkers staat nu per maand een paneel \"Inkomsten-correctie\". Kies een maand en zet per manager handmatig een bedrag (met optionele reden). Dat bedrag overschrijft de automatische berekening in de grafiek en in \"Mijn inkomen\". Wissen zet het weer terug naar de automatische berekening. De correctie geldt per bureau en blijft per maand bewaard."},{"num":"v12.54","type":"feature","title":"Hele admin-omgeving van bureaus nu in NL/EN/DE/FR","problem":"Verschillende beheerschermen die bureaus dagelijks gebruiken - zoals eigen velden, tags, gebruikersbeheer, k
2oppelingen en rollen & rechten - stonden nog gedeeltelijk in het Nederlands, ook voor gebruikers met een andere taal.","solution":"Deze schermen zijn nu volledig vertaald naar Engels, Duits en Frans, inclusief e-mails, agenda-uitnodigingen en factuurbestanden die zich aanpassen aan jouw taalvoorkeur."},{"num":"v12.53","type":"security","title":"De demo-link viel ook buiten het dashboard om nog te boeken","problem":"Eerder was alleen de demo-knop in het dashboard beveiligd, waardoor je de kale boekingslink ook los kon intypen en zo toch meerdere demo-afspraken kon inplannen.","solution":"Demo's boeken kan nu alleen nog via de knop in het dashboard, met een beveiligde link die maar twee uur geldig is en per bureau maar één keer werkt. Alle andere boekingskalenders blijven ongewijzigd."}]},{"date":"2026-06-19","version":"v12.52","clV":"v0.554","title":"Demo boeken kan nog maar één keer per bureau, Affiliate-pagina en sessie houden een drukke piek netter vol & 17 meer","items":[{"num":"v12.52","type":"bugfix","title":"\"Boek een demo\" op de Launchpad was onbeperkt te gebruiken","problem":"De \"Boek een demo\"-knop op de Launchpad was een open link zonder enige limiet. Daardoor kon een bureau in principe onbeperkt demo-afspraken inplannen.","solution":"Een bureau kan de demo nu nog maar één keer boeken. Na de eerste boeking toont de hulpkaart een \"Demo al geboekt\"-status in plaats van de knop. De limiet geldt voor het hele bureau: zodra één teamlid heeft geboekt, kan niemand anders binnen datzelfde bureau opnieuw boeken."},{"num":"v12.51","type":"bugfix","title":"Affiliate-pagina toonde bij een drukke piek \"Niet beschikbaar\"","problem":"Als de affiliate-data eenmalig niet laadde (bv. een tijdelijke rate-limit-piek), toonde de pagina meteen een \"Niet beschikbaar\"-scherm â alsof de functie kapot was, terwijl een seconde later alles weer werkte.","solution":"De pagina probeert nu bij een tijdelijke fout een paar keer opnieuw met een korte pauze voordat hij een foutmelding toont. Een echte permanente reden (geen affiliate-toegang) toont nog wel meteen de uitleg."},{"num":"v12.50","type":"bugfix","title":"Sessie kon kort haperen bij snel doorklikken","problem":"De sessie-controle deelde dezelfde verzoeklimiet met de rest van het portaal, waardoor die bij drukte zelf kon vastlopen en het even aanvoelde alsof je was uitgelogd.","solution":"De sessie-controle valt niet meer onder de algemene verzoeklimiet, dus die blijft nu ook bij snel doorklikken stabiel."},{"num":"v12.49","type":"bugfix","title":"Snel klikken door het portaal gaf soms \"Te veel verzoeken\" of een lege affiliate-pagina","problem":"Een verzoeklimiet gold per netwerkverbinding, waardoor een heel kantoor hetzelfde budget deelde en gewoon snel doorklikken al kon zorgen voor \"Niet beschikbaar\" op de affiliate-pagina of een kort haperende sessie.","solution":"Ingelogde gebruikers krijgen nu een ruim eigen budget per account in plaats van een gedeeld budget per netwerk, zodat teamleden elkaar niet meer blokkeren. Voor uitgelogde bezoekers blijft de bescherming tegen misbruik ongewijzigd."},{"num":"v12.48","type":"performance","title":"Logo en huisstijl werden tot 8x per pagina opnieuw opgehaald","problem":"Elk onderdeel dat het bureaulogo of de huisstijl-kleuren toont, haalde die los op. Bij de eerste paint vuurden ze allemaal tegelijk dezelfde aanvraag af, wat het rate-limit-budget onnodig snel opmaakte.","solution":"Gelijktijdige aanvragen delen nu een en dezelfde achtergrond-call, dus de huisstijl wordt nog maar een keer per paginalaad opgehaald. Bij een tijdelijke fout valt de pagina niet meer terug op de standaard Senly-stijl, maar probeert het netjes opnieuw."},{"num":"v12.47","type":"polish","title":"Factuur aanmaken/bewerken opent groot, met een ruime live-preview","problem":"Het nieuwe-factuur-venster was een relatief klein gecentreerd venster, waardoor de live-preview van de factuur vrij klein was â net als eerder bij de sjabloon-editor.","solution":"Het venster vult nu vrijwel het hele scherm: links het formulier op een comfortabele breedte (zodat de regel-tabel met omschrijving en bedragen netjes past) en rechts een veel grotere live-preview."},{"num":"v12.46","type":"feature","title":"De Instagram-tab was een \"binnenkort\"-knop zonder functie","problem":"Instagram stond als tab in de hashtag-tool maar gaf alleen een foutmelding â IG schermt hashtagdata af achter login en blokkeert serverIPâs, en de proxy die TikTok/YouTube redt weigert Instagram.","solution":"Instagram haalt nu echte hashtag-suggesties op via best-hashtags.com (gratis, keyless, op de achtergrond): een beste mix, top-10 en gerelateerde hashtags, plus gemiddelde likes/comments per post. Exacte IG-post-aantallen zijn nergens gratis betrouwbaar beschikbaar, dus die volume-cijfers tonen we voor Instagram bewust niet (i.p.v. nep-nullen) met een korte uitleg."},{"num":"v12.45","type":"bugfix","title":"Opslaan met Bold, Elegant, Badge, Cards of Sidebar gaf \"Ongeldige body\"","problem":"De validatie van de factuur-opslag-route kende alleen de vier oorspronkelijke basissjablonen (Aurora, Onyx, Slate, Classic). Een factuur opslaan met een van de vijf nieuwere sjablonen â of met een eigen sjabloon dat daarop gebaseerd is â werd geweigerd.","solution":"De opslag-route gebruikt nu dezelfde gedeelde sjablonen-lijst als de rest van de app, zodat alle negen basissjablonen (en eigen sjablonen daarop) gewoon opgeslagen en verstuurd kunnen worden."},{"num":"v12.44","type":"polish","title":"Sidebar-sjabloon: bredere inhoudskolom","problem":"Bij het Sidebar-sjabloon nam de gekleurde zijbalk relatief veel breedte, waardoor lange omschrijvingen in de factuurregels te smal afbraken.","solution":"De zijbalk is iets smaller gemaakt (in zowel de preview/klantpagina als de PDF), zodat de omschrijving-kolom merkbaar meer ruimte krijgt."},{"num":"v12.43","type":"feature","title":"De \"Met bijlage\"-filter deed niets","problem":"De filterknop \"Met bijlage\" boven de threadlijst had geen functie.","solution":"Klikken toont nu alleen gesprekken met een bijlage. Cross-provider: Gmail via een has:attachment-zoekquery, IMAP via een bijlage-check op de berichtstructuur. De extra check draait alleen wanneer de filter aanstaat, dus de gewone inbox blijft even snel."},{"num":"v12.42","type":"feature","title":"Labels in de inbox waren vaste suggesties zonder functie","problem":"De labels in de zijbalk waren hardcoded voorbeelden; je kon ze niet aanmaken, toepassen of erop filteren.","solution":"Je maakt nu eigen labels aan (met kleur), koppelt ze aan een gesprek via de chips bovenin een geopende mail, en filtert de lijst door op een label te klikken. Werkt voor zowel Gmail- als IMAP-accounts (eigen opslag, niet provider-gebonden), tenant-breed gedeeld binnen je bureau."},{"num":"v12.41","type":"bugfix","title":"Kolommen, dichtheid, totaalstijl en extra kleuren werkten niet op echte facturen","problem":"In de sjabloon-editor kon je tientallen opties instellen, maar op je echte facturen kwam maar een handjevol daarvan ook echt in beeld, zoals kolommen verbergen, dichtheid en een tweede accentkleur.","solution":"Editor, live preview en verzonden factuur gebruiken nu dezelfde volledige set instellingen als je factuurpagina en PDF-download, dus wat je instelt zie je ook exact terug op je echte factuur."},{"num":"v12.40","type":"feature","title":"Trendlijntjes bij open- en klikpercentage waren placeholders","problem":"De trendlijntjes bij je open- en klikpercentage waren nooit gebaseerd op echte cijfers: de percentages klopten, het lijntje erbij niet.","solution":"Open- en klikpercentage tone
2n nu een echte trend over de afgelopen 12 weken, gebaseerd op je eigen verzend- en klikgeschiedenis."},{"num":"v12.39","type":"feature","title":"\"Beantwoord allen\" deed slechts een gewone reply","problem":"De knop \"Allen beantwoorden\" stuurde alleen naar de afzender â de CC-ontvangers werden genegeerd, ook al stonden ze in de oorspronkelijke mail.","solution":"CC wordt nu uitgelezen (Gmail én IMAP) en de reply gaat naar de afzender met alle overige ontvangers in CC (jouw eigen adres uitgesloten). Bij IMAP/SMTP zitten de CC-adressen ook echt in de envelope, zodat ze de mail ook ontvangen. Je ziet de CC-lijst vooraf in het antwoordvenster."},{"num":"v12.38","type":"feature","title":"Sjablonen-knop in de inbox werkt","problem":"De \"Concept templates\"-knop in de mailmappen deed niets (was uitgeschakeld), terwijl de sjablonen-backend al bestond.","solution":"De knop opent nu een kiezer met de ingebouwde én je eigen sjablonen. Eén klik vult onderwerp + bericht in een nieuwe mail voor."},{"num":"v12.37","type":"feature","title":"Volledig scherm voor het lezen van een mail","problem":"De vergroot-knop in een geopende mail deed nog niets.","solution":"Hij zet de lees-pane nu op volle breedte (mappen- en lijst-kolom verborgen); nogmaals klikken of Escape sluit het weer."},{"num":"v12.36","type":"polish","title":"Bold, Elegant, Badge, Cards en Sidebar krijgen hun eigen kleur","problem":"Bij het kiezen van een basissjabloon bleef de preview altijd de teal merkkleur tonen, ook bij sjablonen die juist een andere kleur uitstralen (indigo, violet, goud, sky). Daardoor zag de galerij er niet \"in kleuren\" uit.","solution":"De vijf nieuwere sjablonen tonen nu standaard hun eigen signatuurkleur (Bold zwart, Elegant goud, Badge indigo, Cards sky-blauw, Sidebar violet) zodra je ze kiest. De vier klassiekers (Aurora, Onyx, Slate, Classic) blijven je merkkleur volgen, en een eigen opgeslagen sjabloon overschrijft alles met zân eigen kleur."},{"num":"v12.35","type":"feature","title":"Sidebar-sjabloon: logo, afzender en betaalinfo in een gekleurde zijbalk","problem":"Alle sjablonen waren top-down opgebouwd. Een layout met een verticale gekleurde kolom links â zoals in moderne agency-facturen â ontbrak nog.","solution":"Sidebar toegevoegd: een volle-hoogte accent-zijbalk links met je logo, afzendergegevens, betaalinfo (incl. QR-code en betaalknop) in witte tekst op de accentkleur, en rechts de factuurinhoud (nummer, klant, regels, totalen). Standaardkleur violet, en net als de andere acht volledig customizebaar en identiek in HTML-preview én download-PDF. Vertaald in NL/EN/DE/FR."},{"num":"v12.34","type":"feature","title":"Acht basissjablonen om uit te kiezen i.p.v. vier","problem":"Je kon kiezen uit maar vier factuursjablonen, terwijl je meer variatie en kleur in de sjabloonkiezer wilde met echt verschillende looks, niet alleen andere kleuren.","solution":"Er zijn nu drie nieuwe basissjablonen bij, elk met een eigen structuur en signatuurkleur: Elegant (crème met gouden accenten), Badge (rond logo, indigo) en Cards (elke regel als los kaartje, hemelsblauw). Samen met de bestaande vier zijn er nu acht, allemaal aan te passen in kleur, lettertype en indeling, en beschikbaar in vier talen."},{"num":"v12.33","type":"feature","title":"Nieuw basissjabloon \"Bold\" naast Aurora, Onyx, Slate en Classic","problem":"Je kon kiezen uit vier basissjablonen om verder te customizen. Een echt opvallende, full-bleed kopstijl zoals je die in moderne factuur-galerijen ziet ontbrak.","solution":"Bold toegevoegd: een doorlopende accent-kopbalk over de volle breedte met merknaam, factuurnummer en status in wit, witte logo-tegel en accent-totaal. Werkt in zowel de live-preview/klantpagina (HTML) als de download-PDF, en is net als de andere vier volledig customizebaar (kleuren, fonts, kolommen, gradient via tweede accentkleur). Vertaald in NL/EN/DE/FR."},{"num":"v12.32","type":"bugfix","title":"Afbeeldingen in de team-chat verschenen niet","problem":"Afbeeldingen die je in de teamchat deelde kwamen niet meer in beeld, terwijl het bestand zelf wel veilig opgeslagen stond.","solution":"Nieuwe en eerder geplaatste chatafbeeldingen laden nu weer gewoon, zonder dat je iets zelf hoeft aan te passen."},{"num":"v12.31","type":"bugfix","title":"Een gekozen lettertype (Inter, Geist, Playfairâ¦) was in de preview niet zic
2htbaar","problem":"Je kon in de sjabloon-editor een lettertype kiezen, maar de preview toonde toch steeds het standaard systeemlettertype, waardoor je niet zag hoe Playfair of Merriweather er echt uitzagen.","solution":"De zes kiesbare lettertypes laden nu overal waar je een factuur of offerte bekijkt: in de editor, de bibliotheek en op de online klantpagina. De download-PDF gebruikt voorlopig nog het standaard PDF-lettertype."},{"num":"v12.30","type":"feature","title":"De gedownloade PDF volgt nu álle sjabloon-instellingen, plus 8 nieuwe ontwerpopties","problem":"De uitgebreide sjabloon-editor werkte in de preview en op de klantpagina, maar de gedownloade en verstuurde PDF gebruikte alleen de accentkleur en stond bovendien altijd in het Nederlands.","solution":"De PDF volgt nu al je instellingen, zoals kleuren, tekstgrootte, logogrootte, hoekstijl, dichtheid en tabelstijl, en is volledig vertaald. Daar komen 8 nieuwe ontwerpopties bij, waaronder een tweede accentkleur, aparte kopkleur, datumnotatie en losse schakelaars per kolom; eigen lettertypes tonen in de PDF voorlopig nog het standaard PDF-lettertype."}]},{"date":"2026-06-18","version":"v12.29","clV":"v0.535","title":"Sjabloon-editor: uitklapbare secties + veel meer ontwerpopties","items":[{"num":"v12.29","type":"feature","title":"Maak echt unieke facturen â kleuren, typografie, layout, dichtheid, kolommen en blokken volledig naar wens","problem":"De sjabloon-editor had maar een handvol opties, zoals accentkleur, lettertype, logopositie en achtergrond, te weinig om écht unieke facturen te maken zonder dat gedeelde sjablonen op elkaar gingen lijken.","solution":"De editor is nu ingedeeld in duidelijke secties: Algemeen, Kleuren, Typografie, Logo & header, Layout & dichtheid, Kolommen & blokken en Geavanceerd. Nieuw zijn onder meer een apart kop-lettertype, eigen kleuren, tekstgrootte, hoekstijl en documentdichtheid, met live preview, in vier talen, zichtbaar op factuur, PDF én klant-e-mail."}]},{"date":"2026-06-17","version":"v12.28","clV":"v0.528","title":"Sjabloon-editor en bibliotheek volledig vertaald (NL/EN/DE/FR) & Eigen factuur-sjablonen â volledig aanpasbaar, met gedeelde bibliotheek","items":[{"num":"v12.28","type":"polish","title":"De eigen-sjabloon-editor en gedeelde bibliotheek waren nog Nederlands op andere talen","problem":"De net gelanceerde sjabloonfunctie was zelf nog volledig Nederlands, van de knoppen tot elk veldlabel in de editor en de bibliotheekgalerij, ook op een Engels, Duits of Frans account.","solution":"Alles is nu vertaald in vier talen: beide knoppen, elk label en elke keuze in de editor, alle bevestigings- en foutmeldingen, en de complete bibliotheekgalerij. Ook de live preview volgt voortaan je accounttaal."},{"num":"v12.27","type":"feature","title":"Maak je eigen factuur-sjabloon: kleuren, lettertype, logo, layout, zelfs eigen CSS","problem":"Je kon alleen kiezen uit vier vaste sjablonen, terwijl bureaus die hun facturen volledig in eigen huisstijl wilden het moesten doen met wat er was.","solution":"Een nieuwe knop opent een schermvullende editor met live preview: naam, basislayout, accentkleur, lettertype, logopositie, header-stijl, achtergrond, eigen logo, footertekst en voor power-users zelfs eigen opmaakregels. Je kunt je sjabloon delen in een gedeelde bibliotheek of er één overnemen van een ander bureau, en factuur, PDF en klant-e-mail volgen voortaan ook de taal van je account."}]},{"date":"2026-06-16","version":"v12.26","clV":"v0.526","title":"Beheer-je-afspraak pagina: hostnaam werd niet ingevuld, Optimalisatietest: 5 vragen herschreven naar pijn-triggers & 42 meer","items":[{"num":"v12.26","type":"bugfix","title":"Letterlijke {hostName}-placeholder op de annuleer/verzet-pagina","problem":"Op de publieke \"Beheer je afspraak\"-pagina (via de link in de bevestigingsmail) stond letterlijk \"met {hostName} ...\" in plaats van de naam van de host. De vertaalstring with_host_r6 bevatte zelf de placeholder {hostName}, terwijl de component de hostnaam al apart toevoegt â dus de placeholder werd nooit vervangen.","solution":"De vertaalstring is teruggebracht tot enkel het voorzetsel (met/with/mit/avec); de component plakt de echte hostnaam er als vetgedrukte tekst achter. Er staat nu netjes \"met <Hostnaam>
2\". Gevonden tijdens een live end-to-end test van de cross-tijdzone booking-flow."},{"num":"v12.25","type":"polish","title":"Vragen sluiten beter aan op wat bureaus echt voelen â niet alleen wat ze doen","problem":"De quiz vroeg vooral naar tactische dingen (\"hoe organiseer je je workflow?\", \"hoeveel tools gebruik je?\"). Goede vragen, maar ze trekken geen emotie. Bezoekers vinkten antwoorden aan zonder zich te herkennen in een pijn.","solution":"Vijf vragen herschreven om de echte zorgen van bureaus te raken: uitvoerend handwerk per klant, onbetaalde rapportages, gemiste deadlines en vergeten posts, klanten die vragen \"wat hebben jullie eigenlijk gedaan?\", en de schaalbaarheid-vraag \"kun je 5 nieuwe klanten aan zonder kwaliteitsverlies?\". De berekening blijft hetzelfde â antwoordvolgorde (best practice naar chaos) is bewaard zodat scores nog kloppen. Vier talen meegelopen."},{"num":"v12.24","type":"polish","title":"Score-bereik op de quiz gerebalanced â laag voor wie het al goed doet, hoog voor wie chaos heeft","problem":"De optimalisatietest gaf iedereen erg hoge winstcijfers, zelfs wie op alle vragen al het beste antwoord gaf kreeg te horen dat Senly nog fors sneller en beter zou zijn, wat niet geloofwaardig overkwam.","solution":"De berekening geeft nu een eerlijke spreiding: bureaus die het al goed doen zien een bescheiden winst, bureaus met veel chaos zien een grote winst. De cijfers blijven aantrekkelijk, maar voelen niet meer als een marketingtruc."},{"num":"v12.23","type":"feature","title":"Nieuwe entity \"factuur-klant\" voor losse facturen zonder dat je een complete bureau-klant hoeft aan te maken","problem":"Een factuur naar een los CRM-contact miste adres-, KvK- en btw-gegevens, want zo'n contact slaat alleen bedrijfsnaam, naam en e-mail op, en voor een complete factuur moest je eerst een volledige bureau-klant aanmaken.","solution":"Een nieuwe klantenlijst binnen Financieel beheert voortaan alleen de factuurgegevens die je echt nodig hebt, zoals bedrijfsnaam, contactpersoon, adres, KvK en btw, handmatig ingevuld of geïmporteerd vanuit een bestaand contact. Bij het maken van een factuur kies je voortaan uit deze ene lijst, met complete gegevens meteen zichtbaar in de preview."},{"num":"v12.22","type":"bugfix","title":"Agenda toont niet langer de afspraken van andere teamleden","problem":"Een boeking via de link van één teamlid verscheen in de agenda van alle teamleden binnen hetzelfde bureau, waardoor je ook afspraken zag die niet voor jou waren.","solution":"Je agenda toont nu alleen nog boekingen die via jouw eigen boekingslink zijn gemaakt. Weekstatistieken en de \"Vandaag\"- en \"Volgende\"-lijsten volgen automatisch dezelfde afbakening."},{"num":"v12.21","type":"feature","title":"Kies je tijdzone en zie alle tijden meteen in jouw lokale tijd","problem":"De tijdzone-keuze op de boekingspagina was nog niet af: de getoonde tijden bleven altijd in Nederlandse tijd staan, ook als je bijvoorbeeld Istanbul koos, en er stonden maar tien tijdzones in de lijst.","solution":"De tijdkiezer past zich nu volledig aan je gekozen tijdzone aan, net als bij Calendly, en de lijst met tijdzones is flink uitgebreid met je eigen tijdzone automatisch voorgeselecteerd. Gast en host zien de afspraak voortaan allebei in hun eigen tijdzone."},{"num":"v12.20","type":"bugfix","title":"Meetings in de juiste dag-kolom bij een afwijkende profiel-tijdzone","problem":"De tijd-positie van een meeting in de week- of dagagenda volgde al je ingestelde tijdzone, maar in welke dag-kolom een meeting viel werd nog bepaald door de tijdzone van je apparaat, waardoor een meeting rond middernacht in de verkeerde dag kon belanden.","solution":"Maand-, week- en dagweergave gebruiken nu overal dezelfde ingestelde tijdzone, ook voor de dag-indeling. Kolom en tijdstip kloppen nu altijd met elkaar."},{"num":"v12.19","type":"performance","title":"Gemini paid-tier live â captions van ~7s/stuk naar ~5s/stuk, 5/6 via Gemini i.p.v. 2/6","problem":"Op de gratis Gemini tier (10 RPM) viel 4 van de 6 captions terug op de tragere OpenRouter Gemma-fallback (5-7s/call) of failde de batch helemaal door rate-limit cascades. Voor 246 captions liep dat richting tientallen minuten of erger.","solution":"Senly draait nu op een paid Gemini-key (Tier 1 = 1.000 RPM). Live gemeten: 6 captions in 28.5s (~4.8s/stuk gemiddeld), 5/6 via Gemini direct, geen rate-limit cascades. Extrapolerend: 246 captions ~12 min i.p.v. eindeloos vastlopen. Tenant-keys uit Settings â AI Integraties blijven werken voor bureaus die liever eigen Google Cloud-billing gebruiken."},{"num":"v12.18","type":"feature","title":"Wereldwijde tijdzones: gast ziet zijn tijd, host ziet de zijne â zoals Calendly","problem":"Alle boekingsmails en je agenda toonden altijd Nederlandse tijd, waardoor een gast die bijvoorbeeld vanuit Turkije boekte een bevestiging in NL-tijd kreeg en zelf moest omrekenen.","solution":"De tijdzone die een gast bij het boeken kiest, wordt nu gebruikt in alle mails die hij ontvangt, van bevestiging tot herinneringen en verzetten of annuleren. Jij als host blijft alles zien in je eigen ingestelde tijdzone, zowel in mails als in je agenda."},{"num":"v12.17","type":"feature","title":"AI-features (captions, brand-check, IG-check) draaien nu op Senly's gedeelde paid Gemini-key","problem":"Elk bureau moest vroeger zelf een eigen sleutel aanmaken voor Google's AI-dienst, anders werkten captions, brand-check en Instagram-profielcheck niet of traag door een streng gratis limiet.","solution":"Alle AI-functies gebruiken nu automatisch een gedeelde, betaalde sleutel van Senly zodra je zelf geen eigen sleutel hebt ingesteld, met veel hogere snelheid. Wie liever zijn eigen sleutel gebruikt, kan dat nog steeds via de instellingen."},{"num":"v12.16","type":"bugfix","title":"First-available, in-app notifs, activity-filter, content-rate-limit, email-test: alle dag/tijd-grenzen in NL-tijd","problem":"Rond middernacht Nederlandse tijd konden vijf kleinere onderdelen de verkeerde dag of tijd tonen, zoals een net te late eerst-beschikbare tijd, meldingen met de verkeerde tijd en een datumfilter dat de avond van een dag miste.","solution":"Alle vijf zijn nu consistent gebaseerd op de juiste Nederlandse tijd in plaats van de servertijd, dus ze kloppen ook rond middernacht."},{"num":"v12.15","type":"bugfix","title":"Calendar, inviter-runner, CRM-reports en maandrapport: dag/maand-grenzen in NL-tijd","problem":"Vier onderdelen bepaalden hun dag- en maandgrenzen n
2og op basis van de servertijd in plaats van Nederlandse tijd, wat voor bureaus die rond middernacht actief zijn verkeerde maandtotalen en soms de verkeerde maand in het maandrapport gaf.","solution":"Alle vier gebruiken nu dezelfde Nederlandse-tijd-berekening, dus dag- en maandgrenzen kloppen voortaan altijd, ook rond middernacht."},{"num":"v12.14","type":"bugfix","title":"7 klant-facing TZ-bugs opgelost (audit-wave 1 van 4)","problem":"Op zeven plekken werden tijden nog berekend in de tijdzone van de server in plaats van je eigen tijdzone, waardoor meetingmails, geplande content en een paar daglimieten soms een paar uur verschoven stonden.","solution":"Alle zeven plekken gebruiken nu je eigen tijdzone of die van de host, zodat tijden overal kloppen, van meetingmails tot geplande content en dagelijkse meldingen."},{"num":"v12.13","type":"bugfix","title":"Captions duurden 23s/stuk in plaats van ~7s â fix teruggedraaid","problem":"Een eerdere aanpassing bedoeld om overbelasting te voorkomen maakte het genereren van captions juist drie keer trager in plaats van sneller.","solution":"De instelling is teruggedraaid naar de snellere aanpak: captions genereren nu weer in enkele seconden per stuk, zonder foutmeldingen."},{"num":"v12.12","type":"bugfix","title":"Posts van 8:00 kwamen op 6:00 te staan in de contentplanner","problem":"Nieuwe posts die Senly naar je contentplanner stuurde verschenen twee uur te vroeg, waardoor bijvoorbeeld een post gepland voor 8:00 op 6:00 kwam te staan.","solution":"De tijdsberekening houdt nu altijd rekening met de juiste tijdzone, ongeacht waar de techniek achter de schermen draait. Al eerder verkeerd geplande posts worden niet automatisch verplaatst; die kun je handmatig verschuiven of opnieuw inplannen."},{"num":"v12.11","type":"performance","title":"Genereer captions niet meer 2à zo traag door rate-limit fallback","problem":"Het genereren van captions duurde lang omdat te veel verzoeken tegelijk naar de snelle AI-dienst gingen, waardoor het merendeel vastliep en terugviel op een tragere dienst waar de hele batch op moest wachten.","solution":"Het aantal gelijktijdige verzoeken is verlaagd zodat de snelle AI-dienst zijn limiet beter respecteert. De meeste captions komen nu weer via de snelle route binnen, met merkbaar kortere wachttijd."},{"num":"v12.10","type":"bugfix","title":"Tijdslot in publieke booking-pagina kwam 2 uur te vroeg in de agenda","problem":"Wie 12:00 koos op de boekingspagina kreeg een bevestiging voor 10:00, en ook de bevestigingsmail, agenda-uitnodiging en dashboardkalender toonden de verkeerde tijd.","solution":"De tijdzone-berekening is gecorrigeerd zodat een gekozen tijd altijd klopt, geverifieerd voor zomer- en wintertijd wereldwijd. Nieuwe boekingen staan voortaan op de juiste tijd; eerder gemaakte boekingen op de verkeerde tijd worden niet automatisch verplaatst."},{"num":"v12.09","type":"bugfix","title":"Genereer captions: vision-ladder valt netjes door, OpenRouter-models geüpdatet","problem":"Bij zes of meer pagina's tegelijk liepen alle AI-diensten voor het genereren van captions vast, onder meer doordat een gebruikt AI-model niet meer gratis beschikbaar was, waardoor van elke zes pagina's er maar twee captions doorkwamen.","solution":"Een verouderd gratis AI-model is vervangen door een lijst werkende alternatieven die automatisch na elkaar geprobeerd worden. Het hele proces krijgt bovendien een extra herkansing na een korte pauze als alle diensten tegelijk hun limiet raken."},{"num":"v12.08","type":"performance","title":"Stuur-naar-contentplanner laadt voorbeelden nu in seconden i.p.v. minuten","problem":"Bij grote designs van meer dan 100 pagina's liet het venster nooit voorbeelden zien, omdat de voorbereiding voor de export alleen al minuten duurde, soms zonder resultaat.","solution":"Voorbeelden worden nu direct opgehaald via een kant-en-klare afbeeldingslink per pagina in plaats van via een zware exportstap. Voor 246 pagina's duurt dat nu onder de seconde in plaats van minuten."},{"num":"v12.07","type":"polish","title":"Klant- en contactpersoon-velden zijn nu type-to-search","problem":"Bij CRM-contacten van honderden namen werd de native dropdown een lijst van scrollen-en-scrollen. Klantenlijsten met 50+ klanten gaven hetzelfde probleem.","solution":"De Klant- en Contactpersoon-velden zijn vervangen door een searchable combobox: typen filtert direct op naam en e-mailadres, klikken kiest, ESC of klik-buiten sluit het paneel. Geen externe library â kleine inline implementatie die qua look identiek is aan de andere editor-velden."},{"num":"v12.06","type":"polish","title":"Eén contactpersoon-dropdown â klant-contacten of losse CRM-contacten","problem":"Voor een losse opdracht moest je via een aparte rij \"Of: los CRM-contact\" gaan; het Contactpersoon-veld zelf bleef disabled tot je een klant had gekozen.","solution":"De aparte CRM-contact-rij is weg. Het Contactpersoon-veld toont nu klant-contactpersonen zodra er een klant gekozen is, en losse CRM-contacten zolang dat niet zo is. Eén veld, geen disabled-state, geen extra rij."},{"num":"v12.05","type":"bugfix","title":"Stuur-naar-contentplanner: thumbnails laden nu ook door als één Canva-job traag is","problem":"De vorige verbetering splitste grote designs al netjes op, maar zodra één deel te traag was viel de hele lading voorbeelden weg, met nul voorbeelden en een melding dat ze niet geladen waren als resultaat.","solution":"Delen die wél op tijd binnenkomen worden nu bewaard, ook als een ander deel traag is, en dat trage deel krijgt bovendien meer tijd om alsnog te lukken. Je ziet meteen de voorbeelden die wel gelukt zijn, plus hoeveel er nog ontbreken."},{"num":"v12.04","type":"feature","title":"Losse opdrachten kunnen nu direct gefactureerd worden vanuit het CRM","problem":"Een factuur kon alleen aan een Klant gestuurd worden. Voor eenmalige opdrachten aan een lead, een oud-klant, of iemand uit je CRM die nog geen klantrelatie heeft moest je eerst een nepklant aanmaken â en die bleef daarna in je klantenlijst staan.","solution":"In het factuur-formulier zit nu een extra veld \"Of: los CRM-contact (losse opdracht)\" onder de Klant-keuze. Kies daar iemand uit je CRM-contacten en de factuur gaat rechtstreeks naar dat c
2ontact, zonder klantrelatie aan te maken. In de facturenlijst zie je de naam van het CRM-contact als ontvanger, en bij verzenden gaat de mail naar het e-mailadres van het contact. Klant óf CRM-contact: precies één van beide."},{"num":"v12.03","type":"bugfix","title":"Stuur-naar-contentplanner modal liet bij grote designs geen thumbnails zien","problem":"Bij een design van 20 pagina's laadden voorbeelden prima, maar bij 246 pagina's liep de voorbereiding vast omdat alle pagina's in één keer werden verwerkt, waardoor het venster zonder voorbeelden opende.","solution":"Grote designs worden nu in kleinere stukken tegelijk verwerkt, zodat elk stuk snel genoeg klaar is terwijl het geheel toch vlot gaat. 246 pagina's is nu klaar binnen ongeveer een halve minuut."},{"num":"v12.02","type":"polish","title":"Tandwiel-icoon deed twee dingen tegelijk: beheer voor admin, voorkeuren voor de rest","problem":"Voor een eigenaar opende het tandwielicoon het beheervenster en zat Voorkeuren op een apart icoon ernaast, maar voor teamleden met een andere rol was dat aparte icoon verborgen en opende hetzelfde tandwiel ineens Voorkeuren.","solution":"Het Voorkeuren-icoon is nu voor iedereen zichtbaar en doet altijd hetzelfde, terwijl het tandwiel uitsluitend het beheervenster blijft voor wie daar rechten toe heeft. Eén icoon, één functie, voor iedereen gelijk."},{"num":"v12.01","type":"polish","title":"Veld toonde pas op na klant-keuze â nu altijd in beeld","problem":"Het nieuwe \"Contactpersoon (optioneel)\"-veld verscheen pas zodra je een klant had gekozen, wat verwarrend overkwam: bij een lege factuur leek de feature er niet te zijn.","solution":"Het veld staat nu altijd in het formulier. Zolang er nog geen klant gekozen is, staat het uitgegrijsd met de tekst \"Kies eerst een klant\". Zodra je een klant kiest komt automatisch de lijst met diens contactpersonen tevoorschijn en wordt de \"+ Nieuw\"-link rechtsboven actief."},{"num":"v12.00","type":"feature","title":"E-mails respecteren nu User.preferredLanguage â geen NL-flash meer voor EN/DE/FR-klanten","problem":"Op een paar contractmails na was vrijwel elke mail hardcoded Nederlands, waardoor bijvoorbeeld een Engelse klant die zijn wachtwoord vergat of een meeting boekte een Nederlandse mail kreeg, ook de welkomstmail.","solution":"Mails kijken nu naar de ingestelde taal van de ontvanger en vallen anders terug op Nederlands. Dertien soorten mails zijn nu volledig vertaald in het Nederlands, Engels, Duits en Frans, van wachtwoord- en abonnementsmails tot welkomst-, betalings- en meetingmails."},{"num":"v11.99","type":"bugfix","title":"Bedrijfspagina toonde \"Log dit account in\" terwijl de tool gewoon verbonden was","problem":"Bij LinkedIn-tools voor een bedrijfspagina bleef een gele melding staan om opnieuw in te loggen, ook als de koppeling al op groen \"Verbonden\" stond met een succesvolle laatste run.","solution":"Voor bedrijfspagina's is de paginalink nu leidend in plaats van een accountnaam-check, dus de melding verdwijnt meteen bij een goed gekoppelde bedrijfspagina. Voor persoonlijke profielen blijft de controle wel bestaan."},{"num":"v11.98","type":"polish","title":"Tegels in het tandwiel-popover voor restricted rollen waren dood","problem":"Een teamlid met een beperkte rol zag in het beheervenster wel alle tegels staan, zoals Gebruikers, Rollen en Integraties, maar kon ze niet openen, wat aanvoelde alsof het programma kapot was.","solution":"Elke tegel wordt nu gekoppeld aan de specifieke rechten van je rol en verborgen als je die rechten niet hebt, ook als je daarnaast eigenaarsrechten hebt. Geen dode tegels meer."},{"num":"v11.97","type":"feature","title":"T.a.v.-veld toegevoegd aan het factuur-formulier","problem":"Een factuur ging altijd naar het algemene klant-emailadres en stond op naam van het bedrijf zelf â bij grotere klanten waar je een specifieke contactpersoon hebt was dat niet handig.","solution":"Naast het Klant-veld staat nu een Contactpersoon-dropdown met alle contactpersonen die aan die klant gekoppeld zijn. Klik je er een aan, dan komt \"T.a.v. {naam}\" op de factuur en gaat de mail rechtstreeks naar het email-adres van die persoon. Geen contactpersoon? Klik op \"+ Nieuw\" rechtsboven het veld en je voegt er direct een toe zonder de editor te verlaten."},{"num":"v11.96","type":"polish","title":"Geen visuele breuk meer tussen hero en feed","problem":"Op /changelog was de bovenkant (hero) mooi teal-getint, maar zodra je voorbij de filter-balk scrolde sprong de achtergrond naar een vlak donkergrijs blok. Dat gaf een harde overgang en haalde de huisstijl-sfeer weg van waar je het meest leest.","solution":"De feed-achtergrond is nu transparant â de teal-gradient van de hero loopt netjes door over de hele pagina. Geen breuk meer, één doorlopende huisstijlkleur van top tot footer."},{"num":"v11.95","type":"feature","title":"12 branded stickers om snel mee te reageren in de chat","solution":"Naast de paperclip-knop staat nu een smiley-knop die een sticker-picker opent. Twee tabbladen: \"Senly\" (6 mascotte-stickers: hoi, koffiepauze, gefeliciteerd, idee, launch, love) en \"Reacties\" (6 reactie-stickers: klaar, vuur, feest, applaus, top, trofee). Klik op een sticker = direct verzonden als chat-bericht â geen tekst nodig, geen extra klikken. De ontvanger ziet hem groot in de bubble."},{"num":"v11.94","type":"bugfix","title":"Overzicht-pagina toonde lagere jaarwinst dan Financieel â verschil van duizenden euros","problem":"De Overzicht-pagina toonde soms duizenden euro's minder jaarwinst dan de Financieel-pagina, omdat handmatig ingevulde maandbedragen daar niet werden meegenomen en de pagina terugviel op een standaardschatting.","solution":"Overzicht en Financieel gebruiken nu exact dezelfde berekening en tonen dus altijd identieke omzet-, kosten- en winstcijfers."},{"num":"v11.93","type":"polish","title":"Het admin-paneel heet nu \"Instellingen\", het persoonlijke paneel \"Voorkeuren\"","problem":"Na het wisselen van de sliders- en tandwiel-knop kwamen de oude paneeltitels niet meer overeen met de inhoud â \"Beheer\" stond boven w
2at eigenlijk de centrale instellingen waren, en \"Instellingen\" boven wat puur persoonlijke voorkeuren zijn.","solution":"Het tandwiel-paneel heet nu in alle 4 talen \"Instellingen\" (waar je gebruikers, integraties, SaaS en huisstijl beheert). Het sliders-paneel heet \"Voorkeuren\" (jouw thema, geluid en accountinstellingen). Bonus: een oude string-collision in het Duits â waar \"Einstellungen\" zowel voor voorkeuren als voor instellingen werd gebruikt â is meteen rechtgezet (voorkeuren = Präferenzen)."},{"num":"v11.92","type":"polish","title":"Sliders opent nu voorkeuren, tandwiel opent admin-shortcuts","solution":"Klik op de schuifjes-knop rechtsboven om je voorkeuren (thema, geluid, account) te openen, en klik op het tandwiel voor de admin-shortcuts (Gebruikers, Integraties, SaaS, Huisstijl). De support-badge zit nu mee op het tandwiel."},{"num":"v11.91","type":"feature","title":"Google, Outlook en Apple iCloud krijgen dezelfde \"Heraankoppelen nodig\"-flow als Zoom","problem":"Een verlopen koppeling werd automatisch herkend bij Zoom, maar bij Google, Outlook en Apple iCloud kreeg je een onduidelijke foutmelding terwijl de kaart gewoon \"Verbonden\" bleef tonen.","solution":"Alle vier de agenda-koppelingen tonen nu bij een verlopen verbinding dezelfde duidelijke oranje melding met een knop om direct opnieuw te koppelen, en herstellen zichzelf automatisch zodra dat lukt."},{"num":"v11.90","type":"feature","title":"Dagelijkse achtergrond-check op alle agenda-koppelingen","problem":"Een verlopen agenda-koppeling werd pas zichtbaar zodra een klant probeerde te boeken, waardoor een koppeling die na maanden inactiviteit stukging weken onopgemerkt kon blijven.","solution":"Elke ochtend controleert Senly automatisch al je actieve agenda-koppelingen. Gaat er iets mis, dan zie je dat al vóór de eerstvolgende boeking, zodat je het op tijd kunt herstellen."},{"num":"v11.89","type":"bugfix","title":"Zoom-kaart bleef \"Verbonden\" tonen terwijl de koppeling al lang stuk was","problem":"De integratiepagina toonde \"Verbonden\" met een groen bolletje, terwijl Zoom bij elke boeking een foutmelding gaf die onderaan de pagina als technische ruis oogde in plaats van een duidelijk signaal om actie te ondernemen.","solution":"Bij een kapotte koppeling die zichzelf niet meer kan herstellen, toont de kaart nu direct een duidelijke oranje melding met uitleg en een knop om meteen opnieuw te koppelen."},{"num":"v11.88","type":"feature","title":"Automatische token-refresh + één retry bij 401","solution":"Voordat Senly een actie in Zoom uitvoert, wordt de koppeling automatisch ververst als die bijna verloopt. Gaat er toch iets mis, dan volgt meteen nog één herkansing voordat de koppeling als verlopen wordt gemarkeerd."},{"num":"v11.87","type":"polish","title":"Health check / Klanten / Team / Systeem-bar wordt een gefrost glas-paneel","problem":"Op de Statistieken-pagina bleef de tab-bar (Health check, Klanten, Team, Systeem) wel sticky bovenaan staan tijdens scrollen, maar had geen achtergrond. Daardoor schemerden onderliggende kopjes zoals \"Inactiviteits-risico\" en lijsten dwars door de tabs heen â visueel lastig te lezen.","solution":"De bar krijgt nu een semi-transparante achtergrond met een backdrop-blur (14px), automatisch aangepast aan licht en donker thema. De tabs zelf blijven scherp, de inhoud eronder wordt zacht weggeblurd â vergelijkbaar met de bovenste navigatiebalk."},{"num":"v11.86","type":"bugfix","title":"iCloud-events stonden 2 uur te laat in de Senly-kalender","problem":"Een afspraak die in je Apple-agenda om 10:00 stond, verscheen in Senly twee uur later â in de zomertijd klopten de tijden in je kalender en bij het boeken van nieuwe afspraken niet meer.","solution":"Senly leest nu de tijdzone van elke afspraak correct uit, ongeacht hoe je agenda die aanlevert. Tijden in je kalender en bij het boeken komen weer overeen met wat je in Apple Calendar ziet."},{"num":"v11.85","type":"bugfix","title":"Gele \"Log dit account in\"-balk blijft niet meer staan na een geslaagde koppeling","problem":"Op de LinkedIn-, Facebook- en TikTok-paginas bleef de gele waarschuwing dat je nog moest inloggen staan, ook nadat je een koppeling net succesvol had voltooid.","solution":"De melding controleert nu de echte koppel-status. De gele balk verdwijnt meteen na een geslaagde koppeling en blijft alleen zichtbaar als je account nog echt niet verbonden is."},{"num":"v11.84","type":"bugfix","title":"Witte tekst op gele balk â donker-amber","problem":"Op de Facebook- en LinkedIn-automatisering verscheen een geel waarschuwingsvak (bv. \"Log dit account in via de Senly Connector\") met witte tekst die in de lichte modus onleesbaar was.","solution":"De tekstkleur volgt nu het thema: een donker-amber kleur die contrast houdt met de zachtgele achtergrond. In de donkere modus blijft de witte tekst zoals hij was."},{"num":"v11.83","type":"feature","title":"Notitie toevoegen, vastpinnen of verwijderen â activiteit-log","problem":"Als je een notitie of herinnering toevoegde bij een klant, was nergens meer te zien wie dat wanneer had gedaan.","solution":"Elke notitie-actie â toegevoegd, vastgepind, losgemaakt of verwijderd â verschijnt nu in het activiteitenoverzicht, met een korte preview, wie het deed en het type notitie. Alleen tekst aanpassen loggen we bewust niet, zodat de tijdlijn overzichtelijk blijft."}]},{"date":"2026-06-15","version":"v11.82","clV":"v0.477","title":"i18n wave I + L: 5 kritieke gaten dicht (publieke surfaces in juiste taal) + Vitest-suite + CLAUDE.md-regels, Notities-kaartjes: witruimte boven de tekst weg & 11 meer","items":[{"num":"v11.82","type":"bugfix","title":"Signup-success pagina nu in 4 talen","problem":"Na het aanmelden zag een Engelstalige gebruiker toch een Nederlandse welkomstpagina â geen goede eerste indruk.","solution":"De aanmeld-bevestiging is nu volledig vertaald naar het Nederlands, Engels, Duits en Frans, en toont automatisch de juiste taal."},{"num":"v11.81","type":"bugfix","title":"BookingIndex (/boek/[user]) nu meertalig","problem":"De host-landing van boekingen (\"Plan een meeting\", \"Kies een meeting type\", \"Ladenâ¦\", \"Powered by\", \"Niet beschikbaar\", locationLabel-map) was hardcoded NL â klanten van internationale Senly-bureaus zagen Nederlands.","solution":"useLanguage + 4-talen COPY-tabel met error/loading/title/sub/empty/poweredBy/minUnit/locations. Server-error-strings worden niet meer rauw getoond (generieke \"Niet beschikbaar\" in juiste taal)."},{"num":"v11.80","type":"bugfix","title":"Password-reset + welkomstmail in taal van ontvanger","problem":"Wachtwoord-reset- en welkomstmails gingen altijd in het Nederlands, ook naar gebruikers die een andere taal spraken.","solution":"Beide mails worden nu automatisch verstuurd in de taal van de ontvanger â Nederlands, Engels, Duits of Frans â zonder dat je daar iets voor hoeft in te stellen."},{"num":"v11.79","type":"feature","title":"Signup slaat nu de browser-taal op (cross-device stabiel)","problem":"Bij signup werd User.preferredLanguage niet ingesteld â Engelse klant die op de telefoon (Nederlandse Safari per ongeluk) inlogde kreeg ineens NL. Cross-device-ervaring was onstabiel.","solution":"Signup-route leest getServerLocale() en slaat het op als preferredLanguage. Vanaf nu houden gebruikers hun gekozen taal op elk apparaat."},{"num":"v11.78","type":"infra","title":"Vitest test-suite + CLAUDE.md anti-recurrence-regel toegevoegd","problem":"We voegden dagelijks veel wijzigingen toe zonder geautomatiseerde controles die per ongeluk kapotgemaakte onderdelen konden opvangen.","solution":"Er is nu een uitgebreide reeks automatische controles die de belangrijkste onderdelen van het portaal voortdurend test, van inloggen tot facturatie en klantbeheer, zodat wijzigingen sneller en veiliger doorgevoerd kunnen worden."},{"num":"v11.77","type":"polish","title":"Strakkere reminder-notities","problem":"In het nieuwe Notities-blok zat een grote lege ruimte boven de tekst (waar normaal een categorie-label staat).","solution":"De actie-knoppen staan nu in de hoek en de tekst begint direct bovenaan."},{"num":"v11.76","type":"feature","title":"Apart Notities-blok voor content-reminders","problem":"Er was alleen \"Notities & wensen\" â alles ging als AI-context mee, geen plek voor losse reminders.","solution":"Het oude blok heet nu \"Wensen\" (gaat naar AI). Daaronder staat een nieuw \"Notities\"-blok voor reminders bij het maken van content â los van de beschrijving en nooit na
2ar AI."},{"num":"v11.75","type":"bugfix","title":"Vaste hoogte voor de auto-roterende platform-slider","problem":"Op mobiel sprong de hele sectie onder de feature-slider omhoog of omlaag als de slide auto-roteerde. Sommige slides (bv. Meetings & Agenda) hadden een langere titel of bullet-beschrijvingen dan andere (bv. Content Kalender), waardoor de container telkens kromp of groeide.","solution":"Min-height op .sn-fc-detail strak op de gemeten langste slide: 470px op telefoon (was 320px, te krap â sprongen; tussenwaarde 640px gaf te veel lege ruimte) en 300px op tablet (2-kolom-bullets blijven kort). Op alle 13 slides past de content nu zonder overflow, en de extra witruimte onder de kortste slides is minimaal."},{"num":"v11.74","type":"feature","title":"Upload-knoppen voor profielfoto, banner-foto en achtergrond-foto","problem":"Voor elke foto moest je die eerst ergens anders hosten en de link plakken â een omslachtige extra stap.","solution":"Naast elk foto-veld staat nu een knop om direct een bestand te kiezen. De afbeelding wordt automatisch verkleind en geoptimaliseerd, met een voorbeeld en een knop om âm te verwijderen. Bestanden boven 2 MB worden geweigerd met een duidelijke melding. Een link plakken kan ook nog steeds, voor wie dat liever doet."},{"num":"v11.73","type":"feature","title":"Drie nieuwe header-layouts plus 4 foto-vormen","problem":"Twee van onze paginalay-outs deden eigenlijk hetzelfde, en een opvallende foto-vorm-optie ontbrak nog.","solution":"Drie lay-outs zijn vernieuwd en er is een nieuwe bijgekomen: Hero met een grote ronde profielfoto, Cutout met een grote cirkelfoto zonder rand, en de nieuwe Shape-lay-out met je profielfoto in een van vier vormen â Bloem, Ovaal, Rond-vierkant of Burst."},{"num":"v11.72","type":"feature","title":"Sociale media iconen-rij + 5 nieuwe design-opties","problem":"Onze link-in-bio pagina miste een aantal onderdelen die veel gebruikers verwachten van zo'n pagina.","solution":"Vijf nieuwe mogelijkheden: een rij met iconen naar je sociale kanalen (13 platforms, waaronder Instagram, TikTok, Facebook, LinkedIn en YouTube), verlopen in meerdere richtingen, een subtiele korrel-textuur over de achtergrond, een eigen achtergrondfoto via een link, en een apart lettertype voor je titel. Het aantal beschikbare lettertypen is verdubbeld naar 12."},{"num":"v11.71","type":"polish","title":"Iconen voor UTM-bouwer, limiet-checker, hashtag-bibliotheek, niche-spiekboeken, contrast-checker en link-in-bio","problem":"De 6 nieuwe tools op de tools-pagina toonden een lege grijze cirkel in plaats van een icoon.","solution":"Elke tool heeft nu zijn eigen kleurthema en SVG-icoon â passend bij het kleurgebruik in de tool zelf."},{"num":"v11.70","type":"feature","title":"Link-in-bio: volledig design-control zoals Linktree, maar gratis","problem":"Onze link-in-bio pagina bood alleen basisopties â titel, bio, knopkleur en achtergrond â te beperkt voor een professionele pagina.","solution":"De editor heeft nu zes tabbladen (Header, Achtergrond, Tekst, Knoppen, Links, Footer) met opties die je bij vergelijkbare tools vaak alleen tegen betaling krijgt: header-lay-outs, achtergrondstijlen, lettertypen, eigen titel- en tekstkleur, knopstijlen, hoekrondingen, schaduwniveaus en stickers per link. De voettekst kun je uitzetten, en alles werkt direct zonder extra opslag."},{"num":"v11.69","type":"feature","title":"Markt-/doelland-selector op de niche-cheatsheets","problem":"De niche-spiekboeken toonden één hashtag-bundel en één tijdvenster per niche â maar Spanjaarden eten pas om 21:30, Duitsers zoeken op #essengehen en Britten zoeken op #britishfood. De cheatsheet was zo lekker voor de Nederlandse markt maar te onspecifiek voor andere landen.","solution":"Boven elke niche-cheatsheet staat nu een land-selector met 8 vlaggen (ð³ð± NL · ð§ðª BE · ð©ðª DE · ð«ð· FR · ð¬ð§ UK · ðºð¸ US · ðªð¸ ES · ð®ð¹ IT). Per land krijg je een eigen hashtag-bundel en eigen beste tijden afgestemd op die markt. Formats, frequentie en do/don'ts blijven gedeeld omdat die cultureel relatief uniform zijn binnen West-Europa en de VS. De geselecteerde taal in het portaal bepaalt vanzelf het standaard-doelland (EN â UK, NL â NL, etc.)."},{"num":"v11.68","type":"feature","title":"UTM-link bouwer · Karakter- en limiet-checker · Hashtag-bibliotheek · Niche-spiekboeken · Kleur-contrast checker · Link-in-bio pagina","problem":"Een aantal tools die bureaus dagelijks nodig hebben, ontbraken nog in Senly.","solution":"Zes nieuwe tools, zonder extra kosten: een UTM-link bouwer met voorkeuren per klant, een karakter- en limietchecker voor 17 platforms, een hashtag-bibliotheek met import en export, acht spiekboeken per branche met beste tijden en tips, een kleurcontrast-checker voor toegankelijkheid, en een link-in-bio pagina met voorbeeldweergave â alle zes in het Nederlands, Engels, Duits en Frans."},{"num":"v11.67","type":"polish","title":"Cijfers op de financieel-overzicht-cards waren te licht en misten visuele anchor","problem":"KpiTile gebruikte hardcoded inline-style #6ee7b7 / #fca5a5 voor positief/negatief, dat te licht uitsloeg op de witte cards (slecht c
2ontrast, dunne uitstraling). En de hoofd-financieel-cards (Maandinkomsten/Maandkosten/Maandwinst) misten het linker accent-streepje dat de facturatie-tab-KPIs wél hebben â niet consistent.","solution":"KpiTile route nu door de bestaande theme-aware .finance-positive (#047857 light / #34d399 dark) en .finance-negative (#991b1b light / #f87171 dark) klassen. Ook een 3px ::after-streepje aan de linkerrand toegevoegd in teal/rood per tone. fdash-kpi-val (Omzet/MRR/warn) een tint donkerder op light. Visueel consistent met de facturatie-cards."},{"num":"v11.66","type":"bugfix","title":"Raw vertaalsleutels op review-, booking-, MFA- en abonnement-pagina nu echt vertaald","problem":"Op een aantal pagina's â waaronder reviews aanvragen, boekingen beheren, tweestapsverificatie en je abonnement â zag je soms een rauwe technische tekst in plaats van een normale zin.","solution":"39 ontbrekende teksten zijn alsnog vertaald naar het Nederlands, Engels, Duits en Frans. Je ziet nu overal leesbare teksten in plaats van onvertaalde technische tekst."},{"num":"v11.65","type":"polish","title":"Diverse NL/EN tekstfouten gefixt en ontbrekende incident-vertalingen toegevoegd","problem":"Een aantal Nederlandse en Engelse teksten in het portaal en op de statuspagina bevatten fouten of stonden per ongeluk in de verkeerde taal.","solution":"Tientallen tekstfouten zijn gecorrigeerd, maandnamen in de statistieken volgen nu je gekozen taal, en storingsstatussen op de statuspagina (zoals 'onderzoeken', 'opgelost') zijn nu in alle vier talen leesbaar in plaats van als onvertaalde Engelse termen."}]},{"date":"2026-06-14","version":"v11.64","clV":"v0.449","title":"Statuspagina: storing-tooltips nu altijd leesbaar, Per klant-tab: KPI-cards staan nu op dezelfde hoogte als op Overzicht & 43 meer","items":[{"num":"v11.64","type":"polish","title":"Onnodige extra ruimte boven de KPI-cards weg","problem":"Op de Per klant-tab stonden de vier KPI-cards (Maandinkomsten, Maandkosten, Maandwinst, Jaarwinst) een stuk lager dan op de Overzicht-tab â er zat overbodige witruimte tussen de tab-balk en de cards.","solution":"De wrapper rond de Per klant-tab had een sectie-marge van 64px erfde van een algemene editorial-style. Wrapper vervangen door een lichte container zonder die marge, zodat de KPI-cards exact even hoog beginnen als op Overzicht."},{"num":"v11.63","type":"polish","title":"Tooltip past zich aan het thema aan","problem":"De vorige fix maakte de tooltip vast donker â ook in light mode. Dat zag er niet goed uit.","solution":"De tooltip is nu thema-bewust: wit met donkere tekst in light mode, donker met lichte tekst in dark mode. Premium popover-look in beide."},{"num":"v11.62","type":"polish","title":"Overbodige âPer klantâ-titel weggehaald","problem":"In de Per klant-tab stond onder de tab-balk nog een tweede grote âPer klantâ-titel met daaronder een uitlegregel. Dat was dubbel: de tab-naam zegt al waar je bent en de tabel is zelf duidelijk genoeg.","solution":"De tweede titel en de sub-tekst zijn verwijderd. De tabel staat nu direct onder de tab-balk â strakker en met meer ruimte."},{"num":"v11.61","type":"polish","title":"Tooltip op de cashflow-grafiek","problem":"De tooltip bij de cashflow-grafiek nam soms de kleuren van de pagina over, waardoor donkere tekst op een donkere achtergrond kwam te staan en moeilijk leesbaar was.","solution":"De tooltip is nu een vaste donkere balk met witte tekst en een subtiel accent, in zowel de lichte als de donkere weergave altijd goed leesbaar."},{"num":"v11.60","type":"polish","title":"Laatste delen van Facturatie vertaald","problem":"De periodieke-facturen-manager en de mail-voorbeeld-modal stonden nog in het Nederlands.","solution":"De Periodieke-facturen-modal (sjablonen aanmaken, intervalkeuze, pauzeren/hervatten/verwijderen, het hele formulier inclusief BTW-types en validatie) en de mail-voorbeeld-modal volgen nu je portaaltaal â Engels, Duits en Frans. Daarmee is de hele facturatie-module nu volledig viertalig."},{"num":"v11.59","type":"polish","title":"Editor-modals en instellingen-modal volgen nu je portaaltaal","problem":"De factuur-editor, offerte-editor en de facturatie-instellingen waren nog alleen in het Nederlands â onhandig als je in EN/DE/FR werkt.","solution":"Alle velden, knoppen, kolomkoppen, placeholders, herinneringtemplate-labels en provider-koppelingsteksten in de factuur-editor, offerte-editor en facturatie-instellingen zijn nu vertaald naar Engels, Duits en Frans (133 keys à 4 talen). Volgende fase: Periodieke facturen + mail-voorbeeld modal."},{"num":"v11.58","type":"polish","title":"Het Facturatie-dashboard spreekt nu vier talen","problem":"Het Facturatie-dashboard (KPIâs, cashflow, AI-inzichten, Facturen- en Offertes-lijst) was alleen in het Nederlands beschikbaar â onhandig voor bureaus met internationale gebruikers of een ander interface-voorkeur.","solution":"Alle labels, knoppen, status-namen, filters, KPI-hints, AI-narratief en alert-meldingen in het Facturatie-dashboard, Facturen-tab en Offertes-tab zijn nu vertaald naar Engels, Duits en Frans (188 keys à 4 talen). De taal volgt automatisch je portaal-instelling. Maandnamen in de cashflow-grafiek schakelen ook automatisch om. Volgende fase: factuur-/offerte-editor en instellingen-modal."},{"num":"v11.57","type":"polish","title":"Actieve filter-pill als zachte mint-chip","solution":"De actieve filter-knop (bij Facturen, Offertes en Bank) is een rustige, premium chip geworden: een zacht mint-getinte vulling met een subtiele teal-rand en donker-teal tekst. Inactieve knoppen krijgen een kalme teal-getinte hover. Past zich automatisch aan light én dark mode aan."},{"num":"v11.56","type":"feature","title":"Korting per factuurregel","problem":"Je kon geen korting op een regel geven â alleen de volle prijs.","solution":"Elke factuur- en offerteregel heeft nu een kortingsveld (percentage). De korting wordt vóór de btw verrekend, dus subtotaal, btw en totaal kloppen automatisch, en de korting staat netjes op de factuur, de PDF en in het klantportaal."},{"num":"v11.55","type":"feature","title":"E-factuur (UBL) exporteren","problem":"Je factuur was alleen een PDF â niet machine-leesbaar voor de boekhouder of (straks verplichte) e-facturatie.","solution":"Via het â¯-menu bij een factuur download je nu een UBL 2.1-bestand (Peppol BIS Billing-georiënteerd): een machine-leesbare e-factuur met alle bedragen, btw-uitsplitsing en betaalgegevens. Creditfacturen komen er als CreditNote uit. Voorbereiding op volledige Peppol-verzending."},{"num":"v11.54","type":"feature","title":"Facturenlijst exporteren naar CSV","problem":"Je facturen overzetten naar je boekhouder of Excel moest handmatig.","solution":"Met de knop âExporteer CSVâ in de Facturen-tab download je de huidige (gefilterde) lijst als CSV â met nummer, datum, klant, status, subtotaal, btw, totaal, betaald en openstaand. Opent direct netjes in Excel."},{"num":"v11.53","type":"feature","title":"Voorbeeld van de e-mail die je klant ontvangt","problem":"Je kon de tekst van je facturen, herinneringen en offertes wel aanpassen, maar niet zien hoe de uiteindelijke mail er bij je klant uitzag voordat je hem verstuurde.","solution":"In de factuur- en offerte-editor vind je nu een knop die de volledige mail toont zoals je klant hem ontvangt, met jouw naam, kleuren en het bedrag. Bij de herinneringen krijgt elke stap een eigen voorbeeldknop, met je eigen tekst al ingevuld met voorbeeldgegevens."},{"num":"v11.52","type":"feature","title":"Bankafschrift importeren + automatische reconciliatie","problem":"Betalingen die binnenkwamen moest je handmatig terugzoeken en per factuur op betaald zetten â foutgevoelig en tijdrovend.","solution":"Onder Financieel importeer je nu een bankafschrift. Senly herkent automatisch welke factuur bij een transactie hoort en stelt een koppeling voor; één klik boekt de betaling, volledig of gedeeltelijk, en de factuurstatus springt automatisch mee. Dit is een eerste stap richting een volledige bankkoppeling."},{"num":"v11.51","type":"feature","title":"Deelbetalingen registreren met automatisch restbedrag","problem":"Een factuur kon alleen volledig op betaald staan of helemaal open â klanten die in termijnen betaalden kon je niet netjes bijhouden.","solution":"Bij een factuur registreer je nu een deelbetaling met bedrag, datum en methode, en Senly berekent het restbedrag automatisch. De status springt naar 'deels betaald' tot alles binnen is, en het restbedrag klopt overal â in je overzichten, het klantportaal en zelfs op de betaal-QR-code."},{"num":"v11.50","type":"feature","title":"Gratis SEPA-betaal-QR op factuur, PDF en in de preview","problem":"Je klant moest IBAN, bedrag en factuurnummer handmatig overtypen om te betalen â foutgevoelig en omslachtig.","solution":"Elke factuur (en de PDF) toont nu een betaal-QR naast het IBAN-blok. Je klant scant âm met de bankapp en de overschrijving staat vooraf ingevuld klaar: jouw IBAN, het bedrag en het factuurnummer als kenmerk. Volledig gratis, geen betaalprovider nodig â de QR wordt opgebouwd uit je eigen rekeninggegevens volgens de Europese SEPA-standaard. Werkt alleen voor euro-facturen; creditfacturen krijgen geen QR."},{"num":"v11.49","type":"feature","title":"Optioneel: online betalen met iDEAL of creditcard (Mollie / Stripe)","problem":"Voor wie écht online wil laten afrekenen en facturen automatisch op âbetaaldâ wil laten springen, was er nog geen koppeling.","solution":"Onder Financieel â Facturatie-instellingen â Online betalen koppel je optioneel Mollie (iDEAL, geen abonnement) of Stripe (creditcard). Daarna zet Senly bij het versturen automatisch een betaallink o
2p de factuur en springt die vanzelf op âbetaaldâ zodra je klant betaalt. Staat standaard uit â zonder koppeling betaalt je klant gewoon via bankoverschrijving of de QR. Je sleutels worden versleuteld opgeslagen."},{"num":"v11.48","type":"feature","title":"Deelbaar klantportaal per klant","problem":"Je klant kreeg losse links per factuur en offerte; er was geen overzichtspagina waar hij alles bij elkaar kon terugvinden en betalen.","solution":"Via het â¯-menu bij een factuur kopieer je nu een geheime klantportaal-link. Je klant opent daarmee een pagina in jouw huisstijl (logo + accentkleur) met al zijn facturen en offertes op één plek: openstaand, achterstallig en totaal betaald in één oogopslag, elke factuur met status, downloadbare PDF en een betaalknop, en openstaande offertes die hij direct online kan bekijken en ondertekenen. Geen login nodig â de link werkt meteen."},{"num":"v11.47","type":"feature","title":"AI-debiteurenbeheer in het Facturatie-dashboard","problem":"Je zag wel welke facturen openstonden, maar niet wie het grootste betaalrisico vormde, wat er de komende maanden binnenkwam, of welke opvolging het meest zou opleveren.","solution":"Boven het facturatie-dashboard staat nu een overzicht met een betaalrisico-score per klant, een cashflow-verwachting voor 30, 60 en 90 dagen, de ouderdom van je openstaande facturen en concrete opvolgadviezen. Alle bedragen en scores komen rechtstreeks uit je eigen cijfers, en als de AI-duiding er even niet is, zie je gewoon de exacte cijfers."},{"num":"v11.46","type":"feature","title":"Nieuw Facturatie-dashboard onder Financieel","problem":"De cijfers achter je facturen en offertes stonden verspreid â je zag losse facturen, maar geen totaalbeeld van wat er binnenkomt, openstaat of te laat is.","solution":"Onder Financieel vind je nu een dashboard met je belangrijkste cijfers: omzet deze maand en dit jaar, openstaand en achterstallig bedrag, terugkerende omzet, gemiddelde betaaltermijn en verwachte inkomsten voor de komende 30 dagen. Een grafiek zet gefactureerd tegen ontvangen af over 12 maanden, met aparte overzichten van je topklanten, risicoklanten en offerte-pijplijn."},{"num":"v11.45","type":"feature","title":"Maak offertes, laat klanten ze online tekenen en zet ze met één klik om naar een factuur","problem":"Offertes maakte je buiten Senly, en akkoord kreeg je los per mail â zonder duidelijke status of een nette weg naar de factuur.","solution":"Onder Financieel maak je nu een offerte in dezelfde stijlvolle sjablonen als je facturen, met een direct voorbeeld. Je klant bekijkt de offerte op een gebrande pagina en geeft daar direct akkoord met een echte handtekening, of wijst af. Je krijgt meteen bericht, de status loopt automatisch mee, en een geaccepteerde offerte zet je met één klik om naar een conceptfactuur."},{"num":"v11.44","type":"feature","title":"Stel een factuur in op een interval en Senly maakt hem voortaan zelf aan","problem":"Voor
2klanten met een vast maandbedrag moest je elke periode handmatig dezelfde factuur opnieuw maken.","solution":"Onder Facturen â Periodiek maak je een terugkerend sjabloon: kies de klant, de regels en het interval (wekelijks, maandelijks, per kwartaal, halfjaarlijks, jaarlijks of een eigen aantal dagen). Senly genereert dan elke periode automatisch de factuur â als concept ter controle, of direct verstuurd vanuit je eigen mailbox. Sjablonen kun je pauzeren, hervatten of een einddatum geven, en de cadans blijft netjes op schema."},{"num":"v11.43","type":"feature","title":"Herinneringen in drie trappen â handmatig of volautomatisch vanuit je eigen mailbox","problem":"Achterstallige facturen opvolgen was handwerk â zelf bijhouden wie te laat is en losse herinneringsmails versturen.","solution":"Je stelt nu drie herinneringsstappen in, elk met eigen timing en eigen tekst. Zet automatisch versturen aan en Senly verstuurt de juiste herinnering op het juiste moment, vanuit je eigen mailbox. Liever zelf de regie? Met één klik verstuur je de eerstvolgende stap. Zodra een klant betaalt, stoppen de herinneringen vanzelf."},{"num":"v11.42","type":"polish","title":"Live preview toont de factuur op ware proporties","problem":"Het voorbeeld werd in de smalle helft van de editor geperst, waardoor het adres lelijk afbrak en de factuur niet op echte verhoudingen stond.","solution":"De preview rendert nu op vaste A4-documentbreedte en schaalt netjes mee met het paneel, zodat je de factuur altijd op de juiste lengte en breedte ziet â zoals hij ook op de PDF en de publieke pagina staat."},{"num":"v11.41","type":"feature","title":"Crediteren, debetnotaâs en een archief voor je facturen","problem":"Een verstuurde factuur corrigeren of crediteren kon nog niet, en de lijst liep vol met afgeronde facturen.","solution":"Maak met één klik een creditfactuur van een bestaande factuur (volledig of â door regels aan te passen â gedeeltelijk); de creditfactuur verwijst naar de bron. Kies bij een nieuwe factuur het documenttype: factuur, creditfactuur of debetnota (voor extra kosten/nacalculatie). Facturen die je niet meer dagelijks nodig hebt kun je archiveren; een apart \"Archief\"-filter houdt ze beschikbaar zonder ze in de weg te laten staan."},{"num":"v11.40","type":"feature","title":"Volledige facturatie â concept, sjablonen, live preview, PDF en versturen vanaf je eigen mailbox","problem":"Voor facturen moest je nog een aparte boekhoudtool gebruiken, terwijl je klantgegevens en tarieven al in Senly stonden.","solution":"Er is een nieuw facturen-onderdeel onder Financieel. Je maakt een factuur met regels, btw en betaaltermijn, ziet hem live in een van vier stijlvolle sjablonen met je eigen logo en huisstijlkleur, en verstuurt hem vanuit je eigen mailbox naar je klant. Je klant opent een gebrande factuurpagina met download en optionele betaallink, en een statusoverzicht houdt bij wat openstaat, achterstallig is of al betaald."},{"num":"v11.39","type":"feature","title":"Hover/tik op een balkje â nette info-kaart i.p.v. kale browser-tooltip","problem":"De uptime-balkjes gebruikten de standaard browser-tooltip â traag, ongestyled en lelijk.","solution":"Net als bij grote statuspagina's verschijnt nu een Senly-gestylede popover-kaart bij hover (of tik op mobiel): met de datum, een ernst-kleurstip, het tijdvenster en de duur per storing â bijv. \"3 jun 2026 · Grote storing · 23:08â23:10 · 2 min\". Dagen zonder storing tonen \"Geen storing op deze dag\"."},{"num":"v11.38","type":"bugfix","title":"\"Plan een demo\"-knop ging naar /contact i.p.v. de demo-agenda","solution":"De knop in de \"Hulp nodig?\"-kaart op het Launchpad opent nu direct de Senly demo-boekingspagina in een nieuw tabblad."},{"num":"v11.37","type":"bugfix","title":"\"status_subscribe_button_submit\" op de knop i.p.v. echte tekst","problem":"Het inschrijf-formulier vroeg om de vertaalsleutels status_subscribe_button_submit en status_subscribe_button_sending, maar die ontbraken in de vertalingen â alleen een ongebruikte gecombineerde sleutel bestond. Daardoor stond de letterlijke sleutelnaam op de knop.","solution":"De twee knop-teksten toegevoegd in NL/EN/DE/FR (\"Inschrijven\" / \"Bezigâ¦\") en de ongebruikte sleutel verwijderd."},{"num":"v11.36","type":"feature","title":"Hover over een rood/oranje balkje â exacte storingstijden","problem":"De tooltip toonde alleen de datum en een ruw aantal \"failures\" â je kon niet zien wanneer op de dag de storing was of hoe lang die duurde.","solution":"De tooltip toont nu per storing het tijdvenster, de geschatte duur en de ernst, in Nederlandse tijd â bijv. \"3 jun â Grote storing · 23:08â23:10 · 2 min\". Dagen worden bovendien op Amsterdamse tijd gebucket zodat \"3 juni\" ook echt de Nederlandse kalenderdag is."},{"num":"v11.35","type":"bugfix","title":"Rode balkjes verdwenen na een paar dagen weer naar groen","problem":"De uptime-balkjes op de statuspagina toonden maar een beperkte periode aan geschiedenis â alles daarbuiten werd standaard als 'geen storing' getoond, waardoor een storing van een paar dagen geleden alweer groen leek.","solution":"De historie wordt nu per dag samengevat in plaats van per losse meting. Daardoor blijft de volledige periode van 90 dagen zichtbaar, en blijft een storing die hele periode zichtbaar in de juiste kleur staan."},{"num":"v11.34","type":"feature","title":"Score-trend per maand op de Instagram-grafiek","problem":"De grafiek op het Instagram-profielcheck-dashboard toonde \"Checks per dag\" â niet erg informatief, omdat het aantal checks niets zegt over hoe goed je profiel is.","solution":"De grafiek toont nu de score per maand over de laatste 7 maanden, zodat je in één oogopslag ziet hoe je profiel zich ontwikkelt: een stijgende lijn betekent vooruitgang. Maanden zonder check krijgen netjes een gat in de lijn (geen valse \"score 0\"). Boven elke maand staat de exacte gemiddelde score van die maand. In de footer is \"Deze week\" vervangen door \"Vooruitgang\" â het verschil in score-punten t.o.v. de vorige maand-met-check."},{"num":"v11.33","type":"feature","title":"NL / EN / DE / FR voor de hele tool-suite","problem":"De dashboards van Facebook, LinkedIn, TikTok en Instagram stonden nog volledig in het Nederlands â wisselde je naar een andere taal, dan zag je een mix van talen.","solution":"Elke zichtbare tekst in deze dashboards is nu beschikbaar in het Nederlands, Engels, Duits en Frans: de statistiekkaarten, het hoofdscherm, de grafieken, de live-activiteit, het statusoverzicht en de tabbladen per tool."},{"num":"v11.32","type":"bugfix","title":"Pipeline-funnel telt nu alleen open deals","problem":"De funnel telde ook gewonnen/verloren/inactieve deals mee, waardoor het totaal veel hoger leek dan de Pipeline-waarde.","solution":"De funnel toont nu uitsluitend open deals en sluit zo 1-op-1 aan op de Pipeline-waarde-KPI."},{"num":"v11.31","type":"polish","title":"\"Nieuwe deals per maand\" hernoemd naar \"Nieuwe leads per maand\"","problem":"De grafiek telt álle aangemaakte leads (incl. imports), wat als \"deal
2s\" misleidend was.","solution":"Eerlijke naam zodat duidelijk is dat het om nieuw binnengekomen leads gaat, niet om gewonnen deals."},{"num":"v11.30","type":"bugfix","title":"Onvertaalde sleutel op de integraties-pagina opgelost","problem":"De analytics-integratiekaart toonde rauwe code-sleutels (intc_analytics_label) i.p.v. een naam.","solution":"Toegevoegd als \"Website-statistieken\" (Google Analytics + Bedrijfsprofiel + Search Console) in NL/EN/DE/FR."},{"num":"v11.29","type":"polish","title":"Strakkere tab-iconen op de LinkedIn-tool","problem":"De iconen op de LinkedIn-tabs (loep, hartje, oog, etc.) hadden een dik, gradient-blokje eromheen dat speels en niet professioneel oogde.","solution":"De iconen-chips zijn nu strakker en moderner: dunnere lijnen, vlakke teal-tint zonder gradient/glow, kleinere afronding. De actieve tab is iets prominenter zonder schreeuwerig contrast."},{"num":"v11.28","type":"feature","title":"Instagram krijgt hetzelfde luxe dashboard","problem":"De Instagram-tool toonde alleen een AI-profielcheck-knop, terwijl Facebook, LinkedIn en TikTok al een rijk dashboard hadden.","solution":"De Instagram-profielcheck heeft nu hetzelfde luxe dashboard: vijf stat-kaarten (laatste score met trend, gemiddelde score, deze maand gebruikt, deze week, tijdbesparing), een grafiek \"Checks per dag\", een live-feed van eerdere checks met hun scores, en een systeemstatus-paneel. De cijfers komen uit een nieuw IG-statistiekenpunt dat de echte check-historie en je maandlimiet combineert."},{"num":"v11.27","type":"polish","title":"Wit vinkje, lux trefwoord-labels en nette limiet-tekst","problem":"Bij de \"Klaar\"-melding was het vinkje zwart op een donkere cirkel (slecht zichtbaar), de teal trefwoord-labels oogden wat zwaar/blauwig, en de limiet-tekst (\"~50 uitnodigingen per week â¦\") liep buiten het kader.","solution":"Het vinkje is nu wit op de teal cirkel, de trefwoord-labels hebben een verfijnder, luxer jasje (zachte teal-tint met dunne rand), en de limiet-tekst breekt netjes af binnen het kader."},{"num":"v11.26","type":"feature","title":"Volwaardig dashboard voor de TikTok-groeitool","problem":"De TikTok-tool toonde alleen een kale regel met cijfers en twee knoppen, terwijl Facebook en LinkedIn al een uitgebreid dashboard hadden.","solution":"De TikTok-groeitool heeft nu dezelfde uitstraling als de Facebook- en LinkedIn-tools: vijf statistiekkaarten, een prestatiegrafiek van de laatste 7 dagen, een live-activiteitenoverzicht en een statuspaneel. De startknop en het beheer van doelaccounts zitten overzichtelijk bij elkaar."},{"num":"v11.25","type":"polish","title":"Strakker trefwoorden-veld bij de connectie-campagne","problem":"Het invoerveld voor trefwoorden zag er grauw/grijs uit in de lichte modus (het was voor de donkere modus ontworpen) en oogde gedateerd.","solution":"Het hele blok is opnieuw vormgegeven: een schoon, helder invoerveld met een nette focus-rand, frissere trefwoord-labels en een duidelijke \"Voeg toe\"-knop. Het past zich nu netjes aan de lichte én donkere modus aan."},{"num":"v11.24","type":"feature","title":"Meerdere berichten instellen (max 15)","problem":"Bij post-engagement en welkomstberichten kon je weliswaar meerdere teksten op aparte regels zetten, maar het was niet duidelijk hoeveel er meededen en de limiet lag op 10.","solution":"Je kunt nu tot 15 verschillende berichten instellen â één per regel. De tool kiest per keer willekeurig een ander bericht, zodat je reacties en welkomstberichten gevarieerd blijven. Een telniveau (bijv. \"7/15\") laat live zien hoeveel berichten je hebt, en boven de 15 zie je een waarschuwing dat alleen de eerste 15 worden gebruikt."},{"num":"v11.23","type":"bugfix","title":"Dag- en waarde-labels op de prestatiegrafiek","problem":"In de lichte modus ontbraken bij de prestatiegrafiek (Facebook én LinkedIn) de labels langs de assen â de dagen onderaan en de getallen langs de zijkant waren wit op een witte achtergrond.","solution":"De as-labels en hulplijnen volgen nu het thema, dus de dagen (Ma t/m Zo) en de waarde-schaal zijn weer leesbaar in zowel de lichte als de donkere modus."},{"num":"v11.22","type":"bugfix","title":"Geen witte tekst op witte achtergrond meer","problem":"In de lichte modus waren teksten in het LinkedIn-tool-paneel (zoals \"Deze week verstuurd\" en de live-statusregels) wit op een witte achtergrond en dus onleesbaar. De ingebedde tool-knop gebruikte kleuren die alleen voor het oude, donkere paneel bedoeld waren.","solution":"De tekst en vlakjes in het ingebedde tool-paneel volgen nu het thema: donker op licht in de lichte modus, licht op donker in de donkere modus. Alles is weer goed leesbaar."},{"num":"v11.21","type":"bugfix","title":"Lege afgebroken runs vervuilen de activiteit niet meer","problem":"Bij de Facebook-tool raakte de activiteitenlijst na verloop van tijd gevuld met lege 'gestopt'-meldingen, waardoor het leek alsof al je acties op nul stonden.","solution":"Een gestopte actie zonder enig resultaat wordt niet meer opgeslagen of getoond, en bestaande lege meldingen worden automatisch weggefilterd â je echte resultaten zijn weer zichtbaar. Sluit je halverwege een actie het venster, dan onthoudt Senly voortaan het tot dan toe behaalde aantal. Dezelfde verbetering geldt voor de LinkedIn-tools."},{"num":"v11.20","type":"bugfix","title":"Aantallen tellen niet meer dubbel of vallen terug na een run","problem":"Op Stop kon dezelfde run twee keer geteld worden (een keer door het portaal, een keer door het gesloten tabblad), en vlak na een run viel \"Totaal\" soms even terug naar de oude waarde.","solution":"Elke run wordt nu nog maar één keer afgerond (dubbele meldingen worden genegeerd) en de statistieken worden pas opnieuw opgehaald nadat de run is weggeschreven â zo blijft \"Totaal\" en \"Deze week\" meteen op het juiste getal staan."},{"num":"v11.19","type":"feature","title":"Volwaardig dashboard per LinkedIn-tool","problem":"De LinkedIn-automatiseringen toonden alleen een kale startknop, terwijl de Facebook-tool al een uitgebreid dashboard had.","solution":"Elke LinkedIn-tool â trefwoorden-campagne, post-engagement, profielbezoeken, welkomstberichten en bedrijfspagina-volgers â heeft nu dezelfde uitstraling als de Facebook-tool: vijf statistiekkaarten, een prestatiegrafiek van de laatste 7 dagen, een live-activiteitenoverzicht en een statuspaneel."},{"num":"v11.18","type":"polish","title":"Alleen de gestarte knop toont \"Bezigâ¦\"","problem":"Als je één van de twee scan-knoppen klikte, werden ze allebei grijs â alsof je ze allebei had aangeklikt.","solution":"De knop waarvan de scan draait blijft nu teal en toont \"Bezig⦠· Scan loopt\" met een zachte puls; de andere knop dimt gewoon. Zo zie je direct welke van de twee scans actief is. De onderschriften zijn ook eerlijker: \"Alle posts op je pagina\" en \"Alleen je ~12 nieuwste posts\"."},{"num":"v11.17","type":"polish","title":"Duidelijk welke run-knop je aanklikt","problem":"Beide startknoppen (\"Volledige scan\" en \"Scan nieuwste posts\") hadden dezelfde teal-glow, waardoor ze er allebei \"actief\" uitzagen â en bij het starten werden beide uitgeschakeld zonder zichtbaar verschil, alsof je ze allebei aanklikte.","solution":"De knoppen hebben nu een rustige standaard-staat; alleen de knop ónder je muis licht op, alleen de ingedrukte knop geeft klik-feedback, en tijdens een actieve run worden beide netjes gedimd (duidelijk uitgeschakeld i.p.v. \"allebei aangeklikt\")."},{"num":"v11.16","type":"bugfix","title":"Pauze na 40 uitnodigingen werkt nu cumulatief","problem":"De 30-seconden-pauze na 40 uitnodigingen werd per post geteld en reset bij elke nieuwe post. Bij uitnodigingen verspreid over meerdere posts (bv. 10 per post) werd de drempel van 40 nooit bereikt â dan pauzeerde de tool dus niet, terwijl dat juist het rate-limit-risico verlaagt.","solution":"De pauze-teller telt nu cumulatief over de hele run, over posts heen. Na elke 40 verstuurde uitnodigingen pauzeert de tool 30 seconden, ongeacht hoe ze over je posts verdeeld zijn."},{"num":"v11.15","type":"bugfix","title":"Blijft bij jouw post â ook bij reels","problem":"Als een eigen post een reel was, opende de tool de reel-weergave en scrolde daarin door naar de vólgende reel (van een ander account) en likete daar de reacties.","solution":"De tool scrolt nu uitsluitend binnen het reactie-paneel (nooit de reel-feed die naar de volgende video swiped), stopt direct zodra de weergave naar een andere post/reel verspringt, en keert na het liken altijd terug naar jouw pagina. Zo raakt-ie nooit content van een ander account aan."}]}
2,{"date":"2026-06-13","version":"v11.14","clV":"v0.398","title":"Facebook-tool: uitnodigingen worden altijd gelogd, ook met reacties-liken aan, Facebook-tool: reacties-liken blijft bij de juiste post + teller & 30 meer","items":[{"num":"v11.14","type":"bugfix","title":"Verstuurde uitnodigingen raken niet meer kwijt in Activiteiten","problem":"Met \"Reacties liken\" aan kon de run onderweg een fout krijgen, waardoor het eindrapport met 0 uitnodigingen werd gelogd â terwijl er wél uitnodigingen verstuurd waren. Met de optie uit gebeurde dat niet.","solution":"Het eindrapport komt nu ALTIJD met het echte aantal verstuurde uitnodigingen, ook als reacties-liken onderweg faalt (de scan is afgeschermd zodat een fout het rapport niet meer op 0 zet). Zo komen de uitnodigingen altijd in Activiteiten + de statistieken."},{"num":"v11.13","type":"bugfix","title":"Liket niet meer per ongeluk reacties van een andere post","problem":"Na het liken van de reacties scrolde de tool soms door in de post-detail naar de vólgende post (zelfs van een ander account) en likete daar de reacties.","solution":"De tool stopt nu zodra een tweede post in beeld komt en sluit de post-detail netjes af voordat-ie naar de volgende post gaat. Zo blijven de gelikete reacties bij de juiste post."},{"num":"v11.12","type":"feature","title":"Inzicht: aantal gelikete reacties","solution":"Met \"Reacties liken\" aan houdt de tool nu bij hoeveel reacties er in totaal geliket zijn â zichtbaar op de \"Reacties liken\"-kaart (\"X reacties geliket\") en per run in de logs."},{"num":"v11.11","type":"bugfix","title":"Geen \"0 posts verwerkt\" meer in de beheer-weergave","problem":"Facebook toont een pagina-admin soms de \"Pagina beheren\"-weergave i.p.v. de gewone feed. Daar zit een post in een andere structuur (een gewone <div> i.p.v. een [role=\"article\"]), waardoor de tool geen posts vond en dus geen likers uitnodigde.","solution":"De post-detectie herkent posts nu aan hun \"Acties voor dit bericht\"-knop en zoekt van daaruit de post-container â dat werkt in zowel de gewone feed als de beheer-weergave. Live geverifieerd: de post wordt nu wél gevonden."},{"num":"v11.10","type":"bugfix","title":"\"Reacties liken\" liket nu de reacties, niet de post zelf","problem":"De optie likete soms de post in plaats van de reacties eronder, omdat de comment-like-knoppen op de feed niet uitgeklapt stonden.","solution":"De tool opent nu eerst de post-detail (met opmerkingen) en herkent comment-likes positief aan hun \"Beantwoorden\"-actierij (nooit de \"Delen\"-rij van de post). Zo wordt alleen de reactie geliket, nooit de post."},{"num":"v11.09","type":"bugfix","title":"Gestopte runs verliezen hun uitnodigingen niet meer","problem":"Als je een run stopte (of de server tussendoor herstartte), werd de run gelogd als \"0 uitnodigingen\" â de al verstuurde uitnodigingen telden niet mee in Totaal/Deze week.","solution":"De tool logt nu met het live-getelde aantal uitnodigingen dat in de browser is bijgehouden, in plaats van de vluchtige server-status. Stop je op 16, dan tellen die 16 ook echt mee."},{"num":"v11.08","type":"polish","title":"Stat-kaarten tellen mee per verstuurde uitnodiging","problem":"Tijdens een actieve run liep alleen de run-banner mee; de kaarten \"Totaal uitnodigingen\" en \"Deze week verstuurd\" bleven op hun oude waarde staan tot de run klaar was.","solution":"Beide kaarten (en de cijfers onder de grafiek) tellen nu live op met elke verstuurde uitnodiging. Bij het voltooien wordt de waarde naadloos overgenomen door de echte stats (geen terugval), en een trage server-poll kan de teller niet meer laten flikkeren."},{"num":"v11.07","type":"polish","title":"Volgorde omgedraaid: insights eerst, daarna uitnodigen","problem":"De tool nodigde eerst de likers uit en navigeerde dan naar de Audience-insights om het volger-aantal af te lezen â waardoor de tab daar bleef hangen i.p.v. op je pagina.","solution":"De run landt nu EERST kort op de insights om het exacte volger-aantal af te lezen, en navigeert daarna naar je pagina om de likers uit te nodigen. De tab eindigt zo op je pagina zelf. Zie je bij de start de logregel \"Pagina-volgers aflezen via insightsâ¦\", dan klopt de nieuwe volgorde."},{"num":"v11.06","type":"polish","title":"RAM besparen logt nu hoeveel posts het uit de DOM haalt","solution":"Met RAM besparen aan logt de tool nu per opgeruimde post de DOM-grootte (artikelen vóórâná) en aan het eind een totaal (\"N verwerkte posts uit de DOM verwijderd\"). Zo is zwart-op-wit zichtbaar dat de geheugen-optimalisatie echt werkt i.p.v. een stille toggle."},{"num":"v11.05","type":"bugfix","title":"Automatisch reageren plaatst nu echt","problem":"De reactie-knop en verzendknop van LinkedIn heten allebei \"Commentaar\" (zonder aria-label), wa
2ardoor de tool de reactie wel typte maar niet plaatste.","solution":"Live uitgezocht + gefixt: de tool opent de reactie-box, typt je template en klikt de juiste verzendknop. Liken + reageren is nu live geverifieerd werkend (extensie 0.5.4)."},{"num":"v11.04","type":"bugfix","title":"Onthouden posts overleven nu de volgende run","problem":"De cache van verwerkte posts stond in localStorage op het facebook.com-domein. Omdat elke run een nieuwe tab opent, overleefde die cache niet betrouwbaar naar de volgende run â een tweede run verwerkte dezelfde posts gewoon opnieuw (live getest en bevestigd).","solution":"De cache staat nu in chrome.storage.local van de extensie: extensie-breed en persistent over alle tabs en runs heen. Een tweede run laadt nu de eerder onthouden posts en slaat ze over. De run-log toont bij de start hoeveel posts onthouden zijn."},{"num":"v11.03","type":"bugfix","title":"RAM besparen werkt nu echt (verwijderde verwerkte posts uit de DOM)","problem":"De \"RAM besparen\"-toggle deed helemaal niets â de instelling werd nergens in de extensie gebruikt.","solution":"Aan staat ze nu echt: na elke verwerkte post wordt die uit de pagina-DOM verwijderd zodat de feed niet onbeperkt groeit op lange runs / grote accounts. Veilig: het is een zelfstandige post waar de tool klaar mee is."},{"num":"v11.02","type":"bugfix","title":"\"Verwerkte posts onthouden\": echte teller + werkende Reset","problem":"De \"X onthouden\"-teller stond altijd op 0 en de Reset-knop deed niets â de cache leeft op het facebook.com-domein, terwijl de teller/knop op het portaal-domein draaide.","solution":"De engine rapporteert nu het echte aantal onthouden posts terug (zichtbaar op de kaart), en Reset wist de cache via de engine bij de eerstvolgende run (\"wist bij volgende run\")."},{"num":"v11.01","type":"polish","title":"Snelle scan merkbaar sneller","solution":"Snelle scan geeft nu duidelijk eerder op per post (2 lege scrolls i.p.v. 5), terwijl de normale scan grondiger werd (6) â zo is het verschil echt voelbaar."},{"num":"v11.00","type":"feature","title":"Exact volger-aantal (112.102) i.p.v. FB's afronding (112 d.)","problem":"Facebook toont op de pagina alleen het afgeronde aantal (\"112 d.\"), waardoor de tool nooit het exacte aantal kon laten zien en kleine groei onmeetbaar was. Het exacte getal staat alleen in het professional dashboard.","solution":"Na elke invite-run navigeert de Senly Connector kort naar de Audience-insights en leest daar het EXACTE \"Totaal aantal volgers\" (112.102) + FB's eigen netto-groei. Een nieuw content-script (facebook-insights-runner) doet dit als tweede fase; de runner kan niet zelf wegnavigeren en blijven draaien, dus het legt een vervolg-job klaar en navigeert de tab. \"Pagina-volgers\" toont nu het exacte getal met label \"exact via FB-insights\"."},{"num":"v10.99","type":"feature","title":"\"Nieuwe volgers sinds vorige run\" wordt nu exact gemeten","solution":"Doordat elk run het exacte totaal opslaat, is de delta tussen twee runs nu precies (bv. +48 i.p.v. onmeetbaar). Bij exacte data tonen we ook 0 of een afname eerlijk; alleen zonder exacte meting valt het terug op \"geen meetbare wijziging\"."},{"num":"v10.98","type":"bugfix","title":"Post-engagement liket nu echt","problem":"De tool vond geen posts/like-knoppen omdat LinkedIn gehashte class-namen + andere labels gebruikt.","solution":"Like-detectie gaat nu via de stabiele aria-label (\"Status van reactieknop\"). Reageren is bovendien optioneel geworden â je kunt alleen liken zonder template."},{"num":"v10.97","type":"feature","title":"Welkomstbericht herzien","solution":"Verzamelt connecties die nog geen bericht kregen en stuurt per persoon een welkomstbericht via de berichten-pagina (met {voornaam})."},{"num":"v10.96","type":"polish","title":"Event-deelnemers en groep-leden verwijderd","solution":"Deze twee tools zijn uit de LinkedIn-studio gehaald. Over blijven: trefwoorden-campagne, post-engagement, profiel-bezoeken en bedrijfspagina-volgers."},{"num":"v10.95","type":"polish","title":"\"Nieuwe volgers\" toont nu de groei sinds de vorige run","problem":"De kaart toonde \"deze week\" en kon een nep-getal laten zien. Omdat Facebook grote volger-aantallen afrondt op duizendtallen (de pagina toont \"112 d.\" i.p.v. 112.104), is een delta op afgeronde cijfers niet betrouwbaar â kleine groei is simpelweg niet te meten.","solution":"De kaart vergelijkt nu de twee meest recente metingen (\"sinds vorige run\", logischer als de bot met tussenpozen draait). Een wijziging kleiner dan FB's afronding tone
2n we eerlijk als \"geen meetbare wijziging\" i.p.v. een misleidend getal. Pagina-volgers is gelabeld als \"afgerond door FB\", omdat FB het exacte aantal niet publiek toont."},{"num":"v10.94","type":"bugfix","title":"Pagina-volgers toont nu het echte aantal (112.000 i.p.v. 112)","problem":"Facebook toont grote volger-aantallen afgekort als \"112 d. volgers\" (112 duizend). De tool las daar letterlijk \"112\" uit, waardoor de Pagina-volgers-stat duizend keer te laag stond.","solution":"De volger-parser in de Senly Connector herkent nu Nederlandse afkortingen (d. = duizend, mln, mld) én het duizendtal-punt, en kiest bij meerdere weergaven de meest precieze waarde. Live geverifieerd: een testrun rapporteert nu 112.000."},{"num":"v10.93","type":"bugfix","title":"Geen valse \"+111.888 nieuwe volgers\" na de fix","problem":"Doordat oude runs het foute lage aantal (112) hadden opgeslagen en de nieuwe run het juiste (112.000), oogde het verschil als een onmogelijke groeispike van +111.888 deze week.","solution":"De groei-berekening negeert nu metingen die een ordegrootte afwijken van de meest recente â echte volger-aantallen halveren of vertienvoudigen niet binnen een week. De week-groei blijft realistisch i.p.v. een artefact van de oude bug."},{"num":"v10.92","type":"polish","title":"Iconen per tool-tab + duidelijke verbonden-status","solution":"Elke LinkedIn-tool-tab heeft nu een eigen teal icoon en een groene status-dot bij \"verbonden\". De accountnaam toont het profieltype als nette pill met een instellingen-icoon ernaast."},{"num":"v10.91","type":"polish","title":"Gedeelde-posts acties verwijderd, nieuwe optie \"Reacties liken\"","problem":"De gedeelde-posts acties konden op de normale pagina-feed niet betrouwbaar werken (Facebook toont reshares alleen in Meta Business) en raakten per ongeluk eigen posts aan.","solution":"De 5 gedeelde-posts opties zijn vervangen door één heldere scan-optie: \"Reacties liken\" â liket automatisch de reacties onder je eigen berichten tijdens de scan. De engine sluit de hoofd-post-like uit zodat alleen reacties geliket worden."},{"num":"v10.90","type":"polish","title":"Instagram / Facebook / LinkedIn / TikTok-cards krijgen eigen achtergrond, gekleurde glow en gradient-band","problem":"De vier tool-kaarten op de klantpagina hadden een doorzichtige achtergrond waardoor je de pagina er dwars doorheen zag, en oogden mager vergeleken met de rest van het portaal.","solution":"Elke kaart heeft nu een eigen ondergrond met een zachte kleurwas in de merkkleur van het platform (Instagram-roze, Facebook-blauw, LinkedIn-blauw, TikTok-zwart), een gekleurde band bovenaan en een subtiele gloed rond het icoon. Bij aanraken tillen de kaarten iets op met een heldere gloed â in zowel de lichte als de donkere weergave duidelijk afgebakend."},{"num":"v10.89","type":"polish","title":"Tabs en invoervelden van de nieuwe LinkedIn-tools netjes in light mode","problem":"De nieuwe tool-tabs en de velden voor trefwoorden/templates/URL waren in light mode vaag of grijs (wit-op-wit tekst, donkere velden op een witte kaart).","solution":"Tabs en velden volgen nu het light-thema: leesbare titels, witte velden met donkere tekst en teal-accenten. Dark mode blijft ongewijzigd."},{"num":"v10.88","type":"polish","title":"Run-knoppen vereenvoudigd tot één \"Starten\"-blok","problem":"De \"meerdere pagina's\"-knoppen waren niet functioneel.","solution":"Sectie verwijderd; alleen \"Volledige scan deze pagina\" en \"Scan nieuwste posts\" blijven over onder één \"Starten\"-kop."},{"num":"v10.87","type":"feature","title":"Cosmetische onderdelen vervangen door echte werking","problem":"Een deel van de Facebook-studio was nog vaste tekst of een knop die niets deed, zoals de systeemstatus, beste tijdstippen en de aan/uit-schakelaar.","solution":"De systeemstatus toont nu echte controles (account verbonden, actief of gepauzeerd, laatste actie), en 'beste tijdstip' en 'gemiddeld per run' worden berekend uit je eigen geschiedenis. De aan/uit-schakelaar en actieve dagen blokkeren nu ook echt het starten wanneer je dat instelt, met uitleg waarom."},{"num":"v10.86","type":"feature","title":"Echte cijfers: totaal uitnodigingen, tijdbesparing, volgers, live-activiteit","problem":"De cijfers in de Facebook-studio waren voorbeeldgetallen, niet je eigen data.","solution":"De statistieken tonen nu je echte cijfers: totaal verstuurde uitnodigingen, deze week, aantal acties en bespaarde tijd. De live-activiteit toont je eigen acties met tijdstip, en de grafiek je uitnodigingen per dag. Je volgersaantal wordt tijdens elke actie meegelezen, zodat je groei zichtbaar wordt."},{"num":"v10.85","type":"bugfix","title":"Dagteller + activiteiten-log worden nu correct bijgewerkt na een run","solution":"De nieuwe studio stuurde de voortgang/afronding niet door naar de server. Nu wel â dagteller, laatste-run en activiteitenlog kloppen weer."},{"num":"v10.84","type":"feature","title":"Facebook-tool draait nu als volledige studio met alle bot-opties","problem":"De Facebook-tool was een simpele knop op een kaart, terwijl een volwaardige automatiseringstool een hele instellingenpagina verdient voor pauzes, snelle scans en extra acties.","solution":"De Facebook-studio toont nu het volledige dashboard: statistieken, een hoofdscherm met planning en slimme optimalisatie, scanopties, extra acties op gedeelde posts (zoals liken en reageren) en startknoppen voor één pagina of al je pagina's tegelijk. Je instellingen worden per account onthouden."},{"num":"v10.83","type":"feature","title":"Post-engagement: automatisch liken + reageren","problem":"Zichtbaarheid op LinkedIn groeien kostte handmatig liken/reageren.","solution":"Nieuwe tool liket posts uit een trefw
2oorden-zoekopdracht en plaatst optioneel een reactie uit je eigen templates (met {voornaam}). Kost geen connectie-quota."},{"num":"v10.82","type":"feature","title":"Welkomstbericht na nieuwe connectie","solution":"Stuurt automatisch een gepersonaliseerd bericht (template met {voornaam}) naar recente connecties die nog geen bericht kregen."},{"num":"v10.81","type":"feature","title":"Profiel-bezoeken (view boost)","solution":"Bezoekt profielen uit een trefwoorden-zoekopdracht â veel mensen kijken terug. Zacht, laagdrempelig, geen connectie-quota."},{"num":"v10.80","type":"feature","title":"Event-deelnemers en groep-leden connecten","solution":"Twee tools die connectieverzoeken sturen naar deelnemers van een LinkedIn-event of leden van een groep. Tellen mee in LinkedIn's wekelijkse connectie-limiet."},{"num":"v10.79","type":"polish","title":"Ruimte tussen \"Start groeitool\" en \"Doelaccounts beheren\"","problem":"In de TikTok-studio plakten de twee knoppen aan elkaar zonder tussenruimte.","solution":"De tool-zone is nu een nette kolom met onderlinge ruimte, zodat losse knoppen netjes uit elkaar staan."},{"num":"v10.78","type":"bugfix","title":"Pop-ups binnen de tool-studio bleven in de card hangen","problem":"In de TikTok-studio verscheen het \"Doelaccounts beheren\"-venster half over de card en werd het onderaan afgesneden, in plaats van netjes gecentreerd over het scherm. Zelfde probleem gold voor de Instagram-profielcheck-resultaten.","solution":"De glass-blur op het tool-paneel maakte het een ankerpunt voor pop-ups. Die is verwijderd zodat vensters weer over het hele scherm centreren met een nette donkere achtergrond."},{"num":"v10.77","type":"polish","title":"LinkedIn-engine (trefwoorden-vak, run-knop, voortgang) in teal high-tech look","problem":"De binnenkant van de tools erfde nog de oude blauw/lichte styling, wat botste met de nieuwe donkere studio.","solution":"Het trefwoorden-vak (chips, input, toevoeg-knop), de tellers, voortgangsbalk, run-knop, stop-knop en het \"klaar\"-paneel zijn nu teal/dark glassmorphism â passend bij de rest van de studio. Geldt ook voor de Facebook- en TikTok-engines."},{"num":"v10.76","type":"feature","title":"Premium full-screen tool-studio per platform (start met LinkedIn)","problem":"De tools openden in een nieuw tabblad binnen het normale dashboard (met zijbalk en profielbalk), wat krap en afleidend was.","solution":"\"Tools openen\" opent nu in hetzelfde tabblad een full-screen studio zonder zijbalk of profielbalk â donker, teal, glassmorphism. LinkedIn is herbouwd als één tool met meerdere opties: schakel boven tussen \"Trefwoorden-campagne\" (persoonlijk profiel) en \"Bedrijfspagina-volgers\" (bedrijfspagina). Elke optie toont verbonden-status, laatste run en knoppen voor opnieuw verbinden / uitloggen. Instagram, Facebook en TikTok draaien in dezelfde premium shell."},{"num":"v10.75","type":"polish","title":"Verbonden-status en opnieuw verbinden staan nu op de tool-pagina","problem":"De vier platform-cards waren rommelig geworden doordat de account-status en reconnect-knoppen er direct in stonden.","solution":"De cards zijn weer strak (icoon, beschrijving, tools, \"Tools openen\"). De verbonden-status, laatste run en knoppen voor opnieuw verbinden / inloggen / uitloggen staan nu bovenaan elk account op de tool-pagina zelf â inclusief de volledige koppel-flow via de Senly Connector."},{"num":"v10.74","type":"bugfix","title":"Tellers op Verlopen / Vandaag / Deze week / Deze maand staan niet meer foutief op 0","problem":"De vier kolommen op de homepage toonden de taken wel in de lijst, maar het cijfer rechtsboven (Verlopen 0, Vandaag 0, Deze week 0, Deze maand 0) klopte niet â vooral bij accounts met veel lokaal-aangemaakte taken (zonder GHL-koppeling).","solution":"De dedup-sleutel voor de tellers verwees naar `ghlTaskId` zonder fallback. Lokale taken hebben `ghlTaskId: null`, dus alle lokale taken samen klapten in één map-entry â daarmee verdwenen ze uit de telling. Sleutel nu `t.ghlTaskId ?? t.id` zodat lokale taken hun eigen rij-id krijgen, identiek aan de logica die de lijst zelf al gebruikt. De tellers matchen vanaf nu de werkelijkheid en de aantallen op /admin/ghl."},{"num":"v10.73","type":"polish","title":"Eén card per platform met verbonden-status, opnieuw verbinden en tools","problem":"Platformen stond dubbel: brede per-account cards bovenaan en daaronder nog eens vier automatiserings-cards met dezelfde platforms. Verwarrend en rommelig.","solution":"Alles zit nu in één set van vier nette cards (Instagram, Facebook, LinkedIn, TikTok). Elke card toont de gekoppelde account(s) met verbonden-status en laatste run, plus knoppen voor opnieuw verbinden / inloggen / uitloggen en \"Tools openen\". LinkedIn toont beide accounts (persoonlijk + bedrijfspagina) los."},{"num":"v10.72","type":"feature","title":"Automatiserings-tools draaien nu op een eigen pagina per platform","problem":"De groei-tools (Instagram-profielcheck, Facebook-likers uitnodigen, LinkedIn zoek+uitnodigen, LinkedIn bedrijfspagina-volgers, TikTok-groeitool) zaten in de smalle platform-cards op de Content-tab. Daardoor was er weinig ruimte voor instellingen en stond alles door elkaar.","solution":"De tools zijn verplaatst naar /automations/[platform] â open je via \"Tools openen\" op de platform-card of via de Platform-automatiseringen-sectie. Daar staat per gekoppeld account de volledige tool met alle opties, plus uitleg over werking en limieten. De platform-card zelf houdt nu alleen het koppelen/uitloggen-beheer over."},{"num":"v10.71","type":"feature","title":"Nieuwe sectie \"Platform-automatiseringen\" onder Platformen","problem":"De groei-tools per platform (Instagram-profielcheck, Facebook-likers uitnodigen, LinkedIn-connectietool, TikTok-groeitool) zaten verspreid in de platform-cards, zonder centraal overzicht van wat er per platform mogelijk is.","solution":"Onder de Platformen-sectie staan nu 4 cards (Instagram, Facebook, LinkedIn, TikTok). Een klik op \"Tools openen\" opent een nieuw tabblad met een dedicated pagina per platform die alle beschikbare tools, hun limieten en hoe ze werken op een rij zet. Vanaf die pagina kun je terug-deeplinken naar de klant-context om de tool daadwerkelijk te starten."}]}
2,{"date":"2026-06-12","version":"v10.70","clV":"v0.342","title":"Boekingspagina: agenda-blokkades vroeg op de dag werken nu wél, Boekingssite: apart favicon naast het logo & 7 meer","items":[{"num":"v10.70","type":"bugfix","title":"Slots-route berekent dayStart in host-timezone (was UTC)","problem":"Op de openbare boekingspagina werden afspraken uit je agenda vóór het middaguur soms niet herkend als bezet, waardoor dubbele boekingen mogelijk waren.","solution":"De beschikbaarheid wordt nu berekend in de tijdzone van je bedrijf in plaats van een vaste tijdzone, ook rond de overgang naar zomer- of wintertijd. Bezette tijden in je agenda blokkeren nu weer de juiste momenten op de boekingspagina."},{"num":"v10.69","type":"feature","title":"Eigen favicon voor de boekingspagina, los van het logo","problem":"In Meetings â Branding kon je alleen een logo instellen; datzelfde logo werd ook als browser-tab-icoon (favicon) gebruikt. Een breed liggend logo ziet er als favicon vaak rommelig uit.","solution":"Apart Favicon-veld toegevoegd naast het Logo-veld. Beide gelden uitsluitend voor de publieke boekingssite en raken je centrale huisstijl/tenant niet. Laat je het favicon leeg, dan valt de tab automatisch terug op het boekings-logo (oud gedrag)."},{"num":"v10.68","type":"feature","title":"In-app meldingen voor boeking, annulering, verzetting EN herinnering","problem":"Het meldingenformulier waarschuwde dat meldingen in de app nog niet beschikbaar waren, terwijl een deel daarvan al wél werkte.","solution":"De waarschuwing is aangepast naar wat werkelijk (nog) niet werkt. Bij elke verstuurde herinnering krijg je nu ook een melding in de app zelf, met de naam van je klant en het tijdstip â een klik erop brengt je direct naar je afspraken."},{"num":"v10.67","type":"polish","title":"Alle 6 booking-notificaties (geboekt/annulering/verplaatst/herinnering/vervolg/aanvraag) hebben nu default-tekst","problem":"Bij het aanmaken van een nieuw afspraaktype stonden alle meldingsteksten leeg â je moest ze zelf helemaal opbouwen, of riskeerde lege mails naar klanten.","solution":"Alle zes meldingen (aanvraag, bevestiging, annulering, verzetting, herinnering en vervolg) hebben nu een kant-en-klare, warme tekst die past bij een verkoopgesprek, direct met de juiste gegevens van je klant en afspraak. Je kunt elke tekst nog steeds zelf aanpassen."},{"num":"v10.66","type":"feature","title":"URL-slug-veld in meeting-type formulier (auto-gevuld uit naam, override mogelijk)","problem":"De link van een afspraaktype werd alleen automatisch samengesteld uit de naam â voor een kortere of nettere link moest je je naam aanpassen.","solution":"Je kunt de link van een afspraaktype nu los van de naam zelf instellen, met een direct voorbeeld eronder. Senly zorgt dat de link altijd uniek blijft, ook als een andere afspraak toevallig dezelfde link zou krijgen."},{"num":"v10.65","type":"polish","title":"Voice-briefing opt-in verhuist naar Instellingen-paneel onder Voorkeuren","problem":"De banner om de voice-briefing aan te zetten stond prominent bovenaan het dashboard en bleef ruimte innemen, ook nadat je 'm had weggeklikt.","solution":"De banner is verdwenen. Je zet de gesproken dagelijkse samenvatting nu aan of uit via Instellingen bij Voorkeuren, zonder dat er ruimte verloren gaat als de functie uitstaat."},{"num":"v10.64","type":"feature","title":"DailyBrief widget bovenaan dashboard - opt-in voice-samenvatting per dag","problem":"Je opende het portaal en moest zelf op zoek naar wat er die dag speelde â afspraken, taken, deadlines â zonder direct overzicht.","solution":"Bovenaan het dashboard staat nu een widget die je dag samenvat. Zet je 'm aan, dan hoor je eenmaal per dag een korte gesproken samenvatting, zoals 'je hebt vandaag 2 afspraken en 5 openstaande taken, waarvan 1 vandaag verloopt'. De volledige tekst is ook gewoon leesbaar, zodat het ook zonder geluid werkt. Aan- of uitzetten doe je met één klik."}]},{"date":"2026-06-11","version":"v10.63","clV":"v0.303","title":"Mijn-taken-badge telt sjablonen ook mee plus filtert scope-aware, Header- en chip-counts tellen de terugkerende sjablonen nu ook mee & 23 meer","items":[{"num":"v10.63","type":"bugfix","title":"Mijn taken (2) klopte niet meer met de inline-sjablonen","problem":"Het aantal naast 'Mijn taken' bleef op 2 staan, ook al stonden er meer terugkerende taken in de lijst die wel degelijk van jou waren.","solution":"Terugkerende taken worden nu correct meegeteld en gefilterd op wie ze horen te doen, zodat het aantal naast 'Mijn taken' alt
2ijd klopt met wat je in de lijst ziet."},{"num":"v10.62","type":"bugfix","title":"Open totaal en Alles-chip toonden te lage aantallen","problem":"Sinds de sjabloon-rijen inline in de takenlijst staan, klopten de counts er niet meer mee. Je zag 7 rijen in de tabel maar Alles=2 en Open totaal=2. De counts werden server-side berekend op echte Task-rijen, virtuele sjabloon-rijen werden overgeslagen.","solution":"Counts en header-totalen worden nu client-side aangevuld met de actieve sjablonen, gefilterd op nextDueDate per chip-periode. Verlopen telt sjablonen mee waarvan de uitvoerdatum in het verleden ligt. Productiviteit gebruikt de effectieve totalen zodat het percentage klopt met wat in de header staat."},{"num":"v10.61","type":"feature","title":"Een klik op het sjabloon-rondje rondt deze periode af en schuift naar de volgende","problem":"Een terugkerende taak kon je afvinken, maar de rij van het sjabloon zelf had een grijs, niet-klikbaar rondje â je moest wachten tot het systeem vanzelf de volgende periode klaarzette.","solution":"Het rondje op een terugkerende taak is nu gewoon klikbaar. Eén klik rondt de huidige periode af (die verschijnt bij Voltooid en telt mee in je productiviteit) en zet meteen de volgende uitvoerdatum klaar, zonder dat je de pagina hoeft te verversen."},{"num":"v10.60","type":"bugfix","title":"Recurrence instellen via potlood-knop sloeg niets op","problem":"Wijzigde je de herhaling van een taak via het bewerk-icoon, dan leek het opslaan te lukken maar er gebeurde niets: de herhaling bleef ongewijzigd.","solution":"Dit is opgelost, herhalingen die je aanpast worden nu ook echt bijgewerkt. Als het opslaan onverhoopt niet lukt, zie je voortaan een duidelijke melding in plaats van stilzwijgend niets."},{"num":"v10.59","type":"feature","title":"Terugkerende sjablonen zijn nu bewerkbaar via dezelfde drawer","problem":"Terugkerende taken kon je niet bewerken: om de titel, frequentie of volgende datum aan te passen moest je de hele herhaling stopzetten en opnieuw aanmaken.","solution":"Je opent nu gewoon hetzelfde bewerk-paneel als bij een losse taak. De frequentie staat al ingevuld op de huidige waarde, en kies je Nooit, dan stopt de herhaling meteen."},{"num":"v10.58","type":"polish","title":"Terugkerende sjablonen verschijnen als rij met een herhalings-icoon","problem":"Terugkerende taken stonden in een aparte sectie onderaan de pagina, los van je normale overzicht. Een sjabloon dat over twee dagen weer aanrolt zag je niet terug bij Deze week zoals andere taken.","solution":"Terugkerende taken staan voortaan gewoon tussen je andere taken, herkenbaar aan een herhalings-icoon en met de eerstvolgende datum als deadline. Verwijderen stopt de herhaling na een bevestiging, de aparte sectie is vervallen."},{"num":"v10.57","type":"bugfix","title":"Soft-deleted taken filterden niet uit de homepage-widget","problem":"Verwijderde je een taak in het takenbeheer, dan bleef hij toch staan onder \"Aankomende deadlines\" op de homepage, soms zelfs dubbel. De widget-queries trokken alle taken op zonder check op deletedAt, dus prullenbak-items hingen er nog tussen.","solution":"De drie task-queries op de homepage (open-met-deadline, alle-open en de afgeronde-sparkline) filteren nu allemaal op deletedAt: null. Verwijderde taken zijn meteen weg uit de widget."},{"num":"v10.56","type":"bugfix","title":"Standalone taken kunnen nu worden bewerkt, afgevinkt en verschijnen bij Mijn taken","problem":"Persoonlijke taken zonder klant kon je niet bewerken of afvinken, en ze verschenen ook niet onder Mijn taken zodra je geen koppeling had met je externe systeem.","solution":"Persoonlijke taken werken nu volledig: bewerken, afvinken, verwijderen en terugzetten doen het gewoon, en ze staan zichtbaar bij Mijn taken, ook zonder gekoppeld extern account."},{"num":"v10.55","type":"bugfix","title":"Taken zonder klant zijn nu zichtbaar in het takenbeheer","problem":"Maakte je een taak aan zonder klant te kiezen, dan zag je een bevestiging maar de taak verscheen nergens terug in het takenbeheer.","solution":"Taken zonder klant krijgen nu een eigen plek in het overzicht van je bureau en zijn direct terug te vinden, precies zoals taken met klant."},{"num":"v10.54","type":"feature","title":"Zoek vrije tekst over titel, beschrijving en klant-namen","problem":"Bij veel taken (we zien er nu
2112+) was er geen manier om snel een specifieke taak te vinden â alleen filteren op datum-periode. Bij een dubbele titel kon je niet onderscheiden welke je zocht.","solution":"Zoekveld toegevoegd in de filter-rij, tussen de chips en de Lijst/Kanban-toggle. Filtert client-side over titel, beschrijving en de namen van alle gekoppelde klanten â werkt dus ook voor multi-client taken. Wis-knop verschijnt zodra je iets typt; paginatie reset naar 1 zodat je nooit op een lege pagina blijft hangen. Vertaling in NL/EN/DE/FR."},{"num":"v10.53","type":"feature","title":"Persoonlijke terugkerende sjablonen","problem":"Een terugkerende taak vereiste altijd een klant, waardoor je voor een wekelijkse persoonlijke routine eerst een nep-klant moest aanmaken.","solution":"Laat het klantveld leeg bij het instellen van een herhaling en je krijgt voortaan een persoonlijke terugkerende taak, herkenbaar als Persoonlijk in het overzicht."},{"num":"v10.52","type":"feature","title":"Klant is voortaan optioneel bij het aanmaken van een taak","problem":"Bij een nieuwe taak moest je verplicht minstens één klant kiezen, ook voor persoonlijke to-do's of intern werk.","solution":"Laat het klantveld leeg voor een puur persoonlijke taak. Het veld toont nu duidelijk dat het optioneel is, en alleen een titel is nog verplicht. Terugkerende sjablonen vragen nog wel een klant."},{"num":"v10.51","type":"bugfix","title":"Scope-toggle en Nieuwe-taak-knop blijven z
2ichtbaar bij Mijn taken zonder GHL-koppeling","problem":"Klikte je als beheerder op Mijn taken zonder dat je account gekoppeld was aan het externe systeem, dan verdwenen zowel de knop voor Alle taken als de knop om een nieuwe taak te maken. Terugschakelen kon dan alleen via de adresbalk.","solution":"Beide knoppen blijven nu gewoon zichtbaar en bruikbaar in deze situatie, inclusief de volledige klanten- en toewijzingslijst."},{"num":"v10.50","type":"feature","title":"Volgende-week-chip tussen Deze week en Deze maand","problem":"Tussen Deze week en Deze maand zat geen chip voor wat er volgende week op de planning staat â wilde je dat zien, dan moest je het maand-filter pakken en mentaal de huidige week eruit filteren.","solution":"Nieuwe filter-chip \"Volgende week\" (maandag tot maandag) met eigen count, naast de bestaande. Vertaald in NL/EN/DE/FR. Werkt in de filter-strip + URL-parameter + counts-strip."},{"num":"v10.49","type":"polish","title":"Hint bij de Voltooid-sectie zegt voortaan correct uit- of inklappen","problem":"De Voltooid-balk onder de takenlijst zei altijd \"klik om uit te klappen\" â ook als de sectie al uitgeklapt was. Verwarrend.","solution":"De hint volgt nu de open-state: dicht = \"klik om uit te klappen\", open = \"klik om in te klappen\". In alle 4 talen (NL, EN, DE, FR) vertaald."},{"num":"v10.48","type":"bugfix","title":"Lokale fallback wanneer GHL niet bereikbaar is","problem":"Stond de koppeling met je externe systeem tijdelijk uit of reageerde die niet, dan kreeg je de melding dat geen enkele taak kon worden aangemaakt en zat je vast.","solution":"Taken worden nu altijd lokaal opgeslagen, ook als de koppeling er even niet is. Je krijgt een waarschuwing in plaats van een blokkerende foutmelding, en het takenbeheer blijft gewoon werken."},{"num":"v10.47","type":"feature","title":"Klanten-chips in de bewerk-drawer","problem":"In het bewerk-paneel zag je alleen de hoofdklant van een taak, ook als de taak aan meerdere klanten hing. Klanten toevoegen of loskoppelen kon niet via bewerken.","solution":"Bovenaan het bewerk-paneel zie je nu alle gekoppelde klanten als chips. De hoofdklant blijft altijd staan, extra klanten kun je met één klik loskoppelen of toevoegen. Klanten van een ander bureau kun je nooit per ongeluk koppelen."},{"num":"v10.46","type":"feature","title":"Kopie-knop in elke taak-rij","problem":"Een taak die je vaker laat terugkomen of als basis voor een variant wilde gebruiken, moest je handmatig opnieuw typen: titel, beschrijving, klanten, deadline, assignee.","solution":"Naast Bewerken en Verwijderen staat nu een Dupliceren-icoon. Een klik maakt een kopie met \"(kopie)\" achter de titel, behoudt klant of klanten (ook multi-client), deadline, assignee en omschrijving, en zet completed=false. Single-client taken met GHL-koppeling krijgen ook een nieuwe GHL-task; multi-client kopieen blijven portaal-only."},{"num":"v10.45","type":"feature","title":"Multi-client taak: 1 entry in de takenlijst, gekoppeld aan alle geselecteerde klanten","problem":"Vink je 5 klanten aan voor 1 taak, dan maakte het systeem 5 losse kopieen aan. In het takenbeheer zag je dezelfde titel 5 keer staan â onhandig om af te vinken, te bewerken en te overzien.","solution":"Nieuw veld additionalClientIds op het Task-model. Bij meerdere geselecteerde klanten maken we 1 lokale taak aan: de eerste klant is de primaire, de rest staat in additionalClientIds. Het takenbeheer toont 1 entry met chips voor alle gekoppelde klanten. Single-client taken volgen onveranderd de oude flow (incl. eventueel GHL-sync). Multi-client is altijd portaal-only want GHL kent geen taak voor meerdere contacts."},{"num":"v10.44","type":"feature","title":"Lokale taken â klanten zonder GHL-koppeling worden niet meer afgewezen","problem":"Maakte je een taak aan voor meerdere klanten waarvan een deel geen koppeling had met je externe systeem, dan kreeg je de melding dat geen enkele taak kon worden aangemaakt.","solution":"Klanten zonder externe koppeling krijgen nu gewoon een lokale taak, klanten met koppeling volgen het vertrouwde pad. Al je overzichten tellen beide soorten voortaan correct mee."},{"num":"v10.43","type":"feature","title":"Nieuwe taak â multi-select klantenlijst (met zoek + \"selecteer alles\")","problem":"Bij Nieuwe taak kon je maar 1 klant kiezen. Wilde je dezelfde taak (bv. een onboarding-stap of een briefing) aan 8 klanten geven, dan moest je het formulier 8 keer invullen.","solution":"Het klant-veld is nu een doorzoekbare lijst met checkboxes. Selecteer een paar klanten, alle klanten, of alleen wat je filter laat zien. Bij submit maakt de backend per klant 1 GHL-taak aan (fan-out). Mislukt 1 klant, dan gaan de andere gewoon door en zie je in de toast hoeveel ok + welke namen faalden. Werkt ook voor terugkerende sjablonen."},{"num":"v10.42","type":"bugfix","title":"Knoppen/links in een e-mail leidden tot \"content geblokkeerd\"","problem":"Sommige e-mails (o.a. Trustpilot-activatie) hebben links zonder target=\"_blank\". Die navigeerden het iframe waarin de e-mail wordt getoond naar de externe site â die stuurt vervolgens X-Frame-Options: DENY mee, waardoor de browser de pagina blokt en de mail-inhoud verdween achter \"Deze content is geblokkeerd\".","solution":"Elke link in een binnenkomende e-mail krijgt nu automatisch target=\"_blank\" + rel=\"noopener noreferrer\", zodat klikken het iframe niet meer kan kapen. Klikken opent netjes een nieuw tabblad."},{"num":"v10.41","type":"polish","title":"Releases staan nu strikt in dalende chronologische volgorde","problem":"Op de changelog-pagina kon de volgorde van releases soms afwijken van de tijd-volgorde, waardoor versienummers door elkaar heen sprongen.","solution":"Releases worden nu altijd op datum gesorteerd voordat ze getoond worden, dus tijd en versienummer lopen weer netjes gelijk op."},{"num":"v10.40","type":"polish","title":"Settings-footer toont nu hetzelfde versienummer als /changelog","problem":"De \"Senly · v0.227 â updates\" link onderin het settings-paneel gebruikte de raw versie uit lib/changelog.ts (incl. interne releases), waardoor het nummer hoger was dan wat de bezoeker op /changelog zag.","solution":"Nieuwe helper latestPublicSequentialVersion() in lib/changelog.ts. SettingsPanel gebruikt die nu â telt enkel publieke entries en formatteert sequentieel. Footer en /changelog-hero tonen altijd hetzelfde nummer."},{"num":"v10.39","type":"polish","title":"Publieke /changelog telt elke zichtbare release netjes door vanaf v0.01","problem":"De versie-badges (v14.50, v14.49, â¦) volgden de raw versie in lib/changelog.ts, inclusief de gaten van interne releases die alleen voor Super Admin zichtbaar zijn. Daardoor sprong de nummering vooruit en oogde het laatste versienummer fors hoger dan het aantal echte publieke releases.","solution":"ChangelogClient bouwt nu een positie-gebaseerde map: de oudste publieke release krijgt v0.01, de volgende v0.02 enzovoort â onafhankelijk van wat er in lib/changelog.ts als raw version staat. Hero-badge, \"live\"-pill, stat-card en alle entry-badges gebruiken die map. Resultaat: 846 zichtbare releases lopen door tot v8.46, zonder gaten in beeld."},{"num":"v10.38","type":"feature","title":"Exacte DNS-records direct zichtbaar na opslaan domein","problem":"Koppelde je een eigen domein aan je portaal, dan kreeg je alleen een vaste algemene instructie te zien. Het unieke verificatierecord dat nodig is werd nergens getoond, waardoor je vaak zelf contact moest opnemen.","solution":"Na het opslaan haalt het portaal automatisch alle benodigde DNS-records op en toont ze direct in een overzicht. Je koppelt je domein nu volledig zelfstandig, zonder tussenkomst nodig."}]},{"date":"2026-06-10","version":"v10.37","clV":"v0.217","title":"Prullenbak leegmaken met één knop, Signup-pagina laadt sneller en toont een nette skeleton i.p.v. \"Laden...\" & 50 meer","items":[{"num":"v10.37","type":"feature","title":"\"Prullenbak leegmaken\" knop in takenbeheer","problem":"Taken uit de prullenbak moesten één voor één worden verwijderd","solution":"Rode knop in de prullenbak-banner verwijdert alle taken in één keer na bevestiging"}
2,{"num":"v10.36","type":"performance","title":"Signup-shell ship nu statisch zodat de pagina meteen verschijnt op mobiel","problem":"De /signup pagina stond op force-dynamic terwijl er server-side helemaal geen data wordt opgehaald. Op trage mobiele verbindingen (of bij een Railway cold-start) zag de bezoeker daardoor lang een leeg scherm met de tekst \"Laden...\".","solution":"force-dynamic verwijderd; de HTML-shell van /signup ship nu meteen mee en hydrateert client-side. De Suspense-fallback is geen kale tekst meer maar een shimmer-skeleton dat de quiz-layout nabootst (header, titel, sub en 4 card-blocks), zodat de gebruiker direct structuur ziet i.p.v. een leeg scherm. Utm-tracking via useSearchParams blijft client-side werken."},{"num":"v10.35","type":"bugfix","title":"Bulk-verwijderen taken werkt ook bij inactieve GHL-locatie","problem":"Stond je externe locatie tijdelijk uit, dan mislukte het verwijderen van taken ook lokaal in je portaal.","solution":"Verwijderen in het portaal en verwijderen bij je externe systeem zijn nu losgekoppeld: een storing extern weerhoudt je niet meer van opruimen in Senly."},{"num":"v10.34","type":"bugfix","title":"Stappenplan via \"Start 14 dagen gratis\" bleef op mobiel hangen","problem":"Op sommige mobiele browsers, bijvoorbeeld als een tabblad even op de achtergrond stond tijdens het laden, bleef de animatie van de stappenvragenlijst hangen. Bezoekers zagen dan onzichtbare keuzekaarten en konden niet verder klikken.","solution":"De animatie is vervangen door een eenvoudigere versie die de kaarten altijd zichtbaar en klikbaar houdt, ook als de animatie zelf een keer niet start."},{"num":"v10.33","type":"bugfix","title":"Default sidebar-logo voor tenants zonder eigen logo","problem":"Een verse klant zonder ingesteld whitelabel-logo zag het oude /logo.png (social media tools / SMT) bovenaan in de sidebar en op de launchpad. Hoort het Senly-logo te zijn.","solution":"Default-fallback in AppSidebar en op /launchpad gewisseld van /logo.png naar /senly-logo-white.png. Tenants met een eigen logoLightUrl / logoUrl ingesteld zien gewoon hun eigen logo zoals voorheen."},{"num":"v10.32","type":"feature","title":"3 proof-kaartjes (2.5à volgers / +1.5% engagement / 80+ leads) terug boven de widget","solution":"Nieuw GrowthTeaserStrip-component direct boven de Lux-widget; volgt dezelfde 1180px max-breedte zodat alles uitgelijnd staat. Animeert subtiel in beeld."},{"num":"v10.31","type":"polish","title":"Instagram-tab rustiger gemaakt","problem":"De Instagram-kleur (#ec4899) en de 5-stops oranje/roze/paars-gradient maakten de widget fel/knalroze","solution":"Instagram color naar zachte rosé (#c2548a) en gradient naar 3 zachte stops (terracotta -> rosé -> muted paars). De tinten in de hero-card, info-cards en glows worden van die kleur afgeleid via --pf, dus alles trekt netjes mee."},{"num":"v10.30","type":"polish","title":"Growth-automation-sectie smaller en gecentreerd","solution":"De widget liep bijna full-width; nu max 1180px breed en gecentreerd, consistent met de rest van de pagina."},{"num":"v10.29","type":"polish","title":"Starter en Scale-cards staan nu op volle sterkte naast Growth","problem":"De zij-kaarten waren op opacity 0.84 en scale 0.955 gezet om de Growth-card te benadrukken. Dat oogde gedateerd (fishbowl-effect) en maakte twee van de drie pakketten visueel onaantrekkelijk.","solution":"Opacity-dim en scale-down weg. Alle drie kaarten staan op 100% o
2pacity; alleen de Growth-card heeft nog een lichte scale 1.03 voorrang."},{"num":"v10.28","type":"polish","title":"Featured Growth-card oogt rustiger en eleganter","problem":"De featured-card had een vier-lagen shadow-stack incl. een outline-ring (0 0 0 1px rgba(20,184,166,...)) â leek meer op een \"uitgelicht\" UI-element dan op een premium pricing-card. Paste niet bij de glassmorphism-taal van de site.","solution":"Shadow-stack vereenvoudigd naar twee softe lagen (teal-shadow + neutrale diepte). Outline-ring weg, vervangen door een teal-getinte border. Achtergrond-gradient subtieler. Border-radius nu op var(--r-xl) zoals de rest van de cards-familie."},{"num":"v10.27","type":"polish","title":"Testimonials-cards krijgen dezelfde zachte border als alle andere cards","problem":".sn-testi-card had border: none â daardoor zweefden de quotes op een witte achtergrond terwijl trust-, growth-, vergelijking- en pricing-cards allemaal een 1px solid --line-soft border delen. Voelde of de testimonials uit een andere flow kwamen.","solution":"border: none â 1px solid var(--line-soft) en border-radius 28px â var(--r-
2xl) (24px). Past nu naadloos in de cards-familie."},{"num":"v10.26","type":"polish","title":"Vergelijking-cards op de radius-schaal","problem":".sn-vs-card had border-radius: 26px â net naast de 8/12/18/24 schaal die we deze week hebben ingevoerd.","solution":"26px â var(--r-xl) (24px). Border en --line-soft kloppen al, dus radius was de enige outlier."},{"num":"v10.25","type":"polish","title":"Border-radius schaal als CSS-variabelen (--r-sm / md / lg / xl)","problem":"Nieuwe onderdelen van het portaal kregen elk een eigen afronding van hoeken, zonder vaste schaal erachter. Nieuwe schermen sloten daardoor niet automatisch aan bij de rest.","solution":"Er is nu een vaste basis voor hoekafronding die overal wordt hergebruikt, zodat nieuwe onderdelen er meteen bij passen."},{"num":"v10.24","type":"polish","title":"Icoon en tekst van de safety-note staan nu netjes in het midden","problem":"De TikTok safety-note had align-items: flex-start en geen justify-content; de icon+tekst-combinatie zat links uitgelijnd terwijl de tekst zelf via de geërfde .sn-trust text-align: center geometrisch scheef stond.","solution":"align-items + justify-content: center op .sn-lux-note (icoon en tekst gecentreerd in de box), met text-align: left zodat het tekstblok zelf rustig op één lijn loopt. Margin-top hack op het icoon weggehaald."},{"num":"v10.23","type":"polish","title":"Hero, engagement en autopilot delen één rij","problem":"De hero-card stond apart bovenaan en de twee sub-cards eronder. De Actief-pill stond ook nog losse rij onder de 100% terwijl er een aparte live-pulse-dot in de hoek zat â voelde dubbel.","solution":"sn-lux-row is nu een 3-koloms grid (1.3fr 1fr 1fr) met de hero-card als eerste
2kolom en de twee sub-cards rechts ernaast. De live-pulse zit nu IN de Actief-pill (animerende halo om de dot), en de pill staat rechtsboven in de autopilot-card."},{"num":"v10.22","type":"polish","title":"Widget lijnt nu uit met de 4 trust-stats erboven en alles is rustiger geschaald","problem":"De Growth-widget zat in sn-wrap (max 1280px, dikke side-padding) terwijl de trust-stats-row vlak erboven maar 14px side-margin had â de widget oogde daardoor ingedrukt. Daarnaast voelden de hero-cijfers (76px), iconen en USP-tekst onnodig groot op de overige site-typografie.","solution":"Eigen sn-lux-outer wrapper met dezelfde 14px side-margin als de trust-stats. Verder alle interne maten omlaag: hero-num clamp(46-76) â clamp(34-54), sub-num clamp(26-32) â clamp(20-24), rail-orb 38 â 30px, USP-icoon 32 â 26px, USP-titel 13 â 11.5px, en alle paddings/border-radii kleiner. Stage-badge, hero-meta, auto-pill etc. mee verkleind."},{"num":"v10.21","type":"polish","title":"Titel en subtitel van de USP-cards staan nu echt links","problem":"De .sn-trust section heeft text-align: center, wat doorerfde naar de USP-titels en -subtitels â die stonden dus per ongeluk gecentreerd in hun tekstblok.","solution":"text-align: left op .sn-lux-usp-tx. Beide regels in de cards starten nu op exact dezelfde X-positie, netjes links uitgelijnd naast het icoon."},{"num":"v10.20","type":"polish","title":"Hero- en sub-getallen op het site-gewicht","problem":"De grote cijfers op de homepage stonden dikker gedrukt dan de rest van de site.","solution":"Het lettergewicht van deze cijfers is teruggebracht, zodat ze nu aansluiten bij de rest van de typografie op de site."},{"num":"v10.19","type":"polish","title":"Outer shell ligt nu rustig in de pagina i.p.v. zwaar naar voren gedrukt","problem":"De buitenste glas-card had een dubbele drop-shadow (0 32px 80px + 0 12px 28px) waardoor het blok losgeknipt boven de pagina leek te zweven â paste niet bij de rest van de website-stijl waar containers vlak liggen.","solution":"Outer box-shadow weggehaald, alleen de subtiele top-inset highlight blijft voor de glas-look. De border-kleur volgt nu --line-soft zodat hij past bij de andere section-cards."},{"num":"v10.18","type":"polish","title":"Iconen en titels van de USP-cards op één lijn links","problem":"De vorige polish centreerde icoon + tekst horizontaal in de card. Daardoor stonden de iconen op verschillende X-posities (omdat de titels verschillende lengtes hebben) â voelde inconsistent.","solution":"justify-content terug op flex-start. Alle vier USP-iconen staan nu op exact dezelfde X-positie binnen elke card en de titels ook â netjes links uitgelijnd over de hele rij."},{"num":"v10.17","type":"polish","title":"Icoon en tekst staan nu gecentreerd in elke USP-card","problem":"De vier USP-kaartjes (AI-gedreven, Veilig & compliant, 24/7, Realtime) hadden hun icoon top-aligned met de titel terwijl de titels verschillende lengtes hebben â voelde scheef.","solution":"align-items: center + justify-content: center op .sn-lux-usp. Het icoon-tekst-blokje zit nu netjes in het midden van elke card, en de cards binnen één rij liggen exact op dezelfde Y-as."},{"num":"v10.16","type":"polish","title":"Widget begint nu direct met de platform-rail","problem":"De koppen \"GROEI-AUTOMATISERING / Resultaten, per platform. / Op basis van gemiddelden...\" voelden overbodig: de widget eronder spreekt al voor zich.","solution":"Het hele section-head-blok is weg. De Growth-widget vloeit nu rechtstreeks onder de trust-stats door."},{"num":"v10.15","type":"polish","title":"Heading van de Growth-Automation-sectie volgt nu de site-stijl","problem":"De eyebrow stond in een pill-met-border en de h2 had een eigen gradient â week visueel af van alle andere section-headings (\"PLATFORM / Alles wat je nodig hebt voor social media. In één platform.\").","solution":"Standaard sn-section-head / sn-section-eyebrow / sn-section-title hergebruikt. Eyebrow = \"GROEI-AUTOMATISERING\" in plain teal letter-spaced, titel = \"Resultaten, per platform.\" met de em in de huis-gradient."},{"num":"v10.14","type":"polish","title":"Eén platformkleur door de hele widget i.p.v. een regenboog","problem":"De secundaire cards gebruikten amber en violet, de USP-icoontjes vier eigen kleuren (paars/teal/blauw/amber) en de \"Actief\" status was groen â naast de platform-kleur. Te druk en off-brand.","solution":"Alle getallen, icoon-vlakken, pulse-dot en \"Actief\"-pill volgen nu var(--pf) â dus pink op Instagram, teal-zwart-rood op TikTok, blauw op LinkedIn en Facebook. USP-icoontjes zijn neutraal grijs en kleuren mee naar de platform-tint bij hover."},{"num":"v10.13","type":"feature","title":"Loskoppelen-knop op Taken- en Financieel-integratiepagina","problem":"Er was geen manier om GoHighLevel los te koppelen vanuit het portaal","solution":"Knop verschijnt naast de ACTIEF-badge;
2 koppelen/loskoppelen zonder Railway-aanpassingen"},{"num":"v10.12","type":"polish","title":"Premium split-screen showcase i.p.v. de oude tabs-met-uitklap","problem":"De vorige Growth Automation-sectie gebruikte horizontale platform-tabs bovenaan en een collapsible kaart met een hub-diagram. Het werkte, maar oogde generiek en sloot minder aan op de glassmorphism-look van de rest van de homepage.","solution":"Compleet nieuw design â verticale platform-rail links (met logo-orbs in platform-gradient, kerncijfer als hint en een actieve indicator) en een groot ademend stats-paneel rechts. Eén hero-getal in platform-gradient-typografie, twee secundaire kaartjes (engagement + 100% autopilot met live-pulse), USP-rij en TikTok-safety-note. Glassmorphism, soft-shadows en een platform-getinte achtergrond-glow die meeademt met de selectie."},{"num":"v10.11","type":"feature","title":"Bezoekers zien direct de groei-cijfers per platform op de homepage","problem":"De interactieve widget met Instagram-, TikTok-, LinkedIn- en Facebook-tabs (incl. de samenvattings-bar met cijfers en de uitklapbare hub-visualisatie) was eerder van de homepage verwijderd. Daardoor moest een bezoeker zelf doorklikken om concrete cijfers per platform te zien.","solution":"De Growth Automation-sectie staat weer onder de trust-stats: vier platform-tabs, een altijd-zichtbare cijfer-balk (volgers/acties/100% autopilot), en bij \"Toon details\" klapt het visuele hub-diagram per platform uit met de USP-rij en (voor TikTok) de safety-note."},{"num":"v10.10","type":"bugfix","title":"Kopieer-knop kalenders toont nu correcte status","problem":"Knop toonde altijd \"Gekopieerd / Kopieer\" als vaste tekst","solution":"Toont nu \"Kopieer\" standaard en wisselt naar \"Gekopieerd\" na klikken"},{"num":"v10.09","type":"feature","title":"Bezoekers zien direct de groei-cijfers per platform op de homepage","problem":"De interactieve widget met Instagram-, TikTok-, LinkedIn- en Facebook-tabs (incl. de samenvattings-bar met cijfers en de uitklapbare hub-visualisatie) was eerder van de homepage verwijderd. Daardoor moest een bezoeker zelf doorklikken om concrete cijfers per platform te zien.","solution":"De Growth Automation-sectie staat weer onder de trust-stats: vier platform-tabs, een altijd-zichtbare cijfer-balk (volgers/acties/100% autopilot), en bij \"Toon details\" klapt het visuele hub-diagram per platform uit met de USP-rij en (voor TikTok) de safety-note."},{"num":"v10.08","type":"bugfix","title":"Bevestigingsknop op boekingspagina toonde ruwe vertaalsleutel","problem":"De knop liet \"booking_confirm_r6\" zien omdat de vertaalsleutels booking_confirm_r6 en booking_submitting_r6 ontbraken in alle talen.","solution":"Beide sleutels toegevoegd voor NL, EN, DE en FR."},{"num":"v10.07","type":"bugfix","title":"GHL DELETE-response veroorzaakte fout bij bulk-acties","problem":"Een lege bevestiging van je externe systeem bij het verwijderen werd verkeerd verwerkt, waardoor een bulk-verwijdering van bijvoorbeeld 19 taken volledig als mislukt werd gemeld.","solution":"Deze lege bevestiging wordt nu correct afgehandeld. Bulk-verwijderen werkt weer betrouwbaar."},{"num":"v10.06","type":"polish","title":"v0.100+ toont nu v13.31+ in plaats van v1.00+","problem":"De changelog sprong na v13.30 terug naar v1.61 â verwarrend want dat is chronologisch een stap terug.","solution":"v0.100 t/m v0.168 worden nu weergegeven als v13.31 t/m v13.99. Nummers lopen altijd door; altijd 2 decimalen."},{"num":"v10.05","type":"feature","title":"Terugkom-korting hands-off â geen handwerk meer","problem":"De win-back-mail beloofde korting, maar die moest handmatig in Stripe gezet worden als een bureau terugkwam.","solution":"Opgezegde bureaus zien nu een \"Abonnement heractiveren\"-kaart met een welkom-terug-banner; zodra ze heractiveren plakt het systeem automatisch 20% korting op de eerste maand van hun nieuwe abonnement. De korting blijft 30 dagen geldig."},{"num":"v10.04","type":"feature","title":"Opgezegde bureaus krijgen automatisch een terugkom-aanbod","problem":"Wie opzegde kreeg alleen een bevestigings-/hervat-mail. Daarna hoorden we niets meer â een gemiste kans om ze terug te winnen.","solution":"14 dagen nadat een abonnement is gestopt, stuurt Senly automatisch één win-back-mail die inhaakt op de opgegeven opzegreden, met 50% korting op de eerste maand terug en een directe heractiveer-link. Eénmalig per opzegging, demo-accounts uitgesloten."},{"num":"v10.03","type":"polish","title":"Eerste 5 stappen aangepast naar de echte onboarding-flow","solution":"Stappen zijn nu: 80% schermweergave instellen, Launchpad starten, rondleiding volgen, integraties koppelen, aan de slag. Knop heeft een premium shimmer-animatie en dieper gradient gekregen."},{"num":"v10.02","type":"polish","title":"Welkomstpagina na betaling nu full-screen en passend bij het registratieformulier","problem":"De pagina na Stripe-checkout was een smal login-kaartje (480px) dat niet aansloot bij de rest van de signup-flow.","solution":"Zelfde lichte achtergrond en kaartje als het registratieformulier: wit kaartje, groen check-icoon, teal badge en knop, stappensectie â naadloos aansluitend op de flow."},{"num":"v10.01","type":"bugfix","title":"Pauze-popup plakte linksboven in plaats van in het midden","problem":"Het pauze-slot werd binnen het portaal gerenderd, waardoor een ouder-element de positionering \"ving\" en de popup linksboven plakte.","solution":"Het slot rendert nu via een portal direct in de pagina-body, net als de andere modals â keurig gecentreerd, ongeacht de omliggende layout."},{"num":"v10.00","type":"bugfix","title":"Snapchat Spotlight-download opgelost","problem":"De downloader stuurde een iPhone-User-Agent mee, waarop Snapchat een app-pagina zónder video teruggaf (0 formats) â de download faalde altijd.","solution":"iPhone-UA verwijderd; met de standaard User-Agent haalt yt-dlp de Spotlight-video gewoon op. Getest op meerdere links."},{"num":"v9.99","type":"bugfix","title":"Instagram reel-download probeert nu ook yt-dlp","problem":"De IG-downloader stopte na de embed-poging en gebruikte yt-dlp niet, terwijl yt-dlp publieke reels wél kan ophalen.","solution":"Na embed/snapinsta valt de IG-tak nu door naar yt-dlp. Best-effort: vanaf de server k
2an Instagram het datacenter-IP nog blokkeren â dan blijft een gekoppelde IG-sessie de betrouwbare route."},{"num":"v9.98","type":"performance","title":"yt-dlp wordt al bij het opstarten klaargezet","problem":"Na een update moest de eerste video-download in een sessie eerst een download-onderdeel ophalen, waardoor die ene download soms wat langer duurde.","solution":"Dat onderdeel wordt voortaan meteen bij het opstarten op de achtergrond klaargezet, zodat elke download vanaf het begin snel gaat."},{"num":"v9.97","type":"feature","title":"Gepauzeerd account vraagt om reactiveren bij inloggen","problem":"Een account pauzeren bevroor alleen de facturatie â iedereen kon nog gewoon inloggen en alles gebruiken. De belofte \"bevries je account\" werd niet waargemaakt.","solution":"Zolang het account gepauzeerd is, krijg je bij inloggen een slot over het (vervaagde) portaal. De bureau-beheerder ziet een \"Account reactiveren\"-knop die de pauze direct opheft; andere gebruikers zien dat de beheerder het account heeft gepauzeerd en kunnen contact opnemen. Uitloggen kan altijd."},{"num":"v9.96","type":"performance","title":"YouTube-downloader probeert alle proxy-instances tegelijk","problem":"De instances werden één-voor-één geprobeerd (elk 12s) â bij dode instances kon dat ruim een minuut hangen voor het een werkende vond.","solution":"Nu racen ~20 Invidious/Piped-instances tegelijk; de eerste geldige stream wint (lokaal ~0,3s i.p.v. tot 72s). Pool ook flink uitgebreid."},{"num":"v9.95","type":"bugfix","title":"LinkedIn- en Snapchat-downloader werken weer (yt-dlp self-install)","problem":"Railway negeert sinds de Railpack-builder onze nixpacks.toml, waardoor yt-dlp nooit geïnstalleerd werd en deze downloaders altijd faalden.","solution":"yt-dlp wordt nu bij het eerste gebruik automatisch gedownload (standalone binary, geen Python nodig) en gecachet. Geldt ook als fallback voor YouTube en Facebook."},{"num":"v9.94","type":"bugfix","title":"Je kunt weer normaal typen in de risicowoorden/concurrenten-velden","problem":"Typte je in het veld voor risicowoorden of concurrenten, dan sprong de cursor na elke letter weg en moest je steeds opnieuw klikken.","solution":"Dit is verholpen: je kunt nu gewoon doorschrijven zonder dat de cursor het veld verlaat."},{"num":"v9.93","type":"feature","title":"Reel/post-download via Instagram's eigen embed-HTML","problem":"Alle externe IG-downloaders zijn dood (Meta haalt domeinen neer) of vereisen een browser-captcha die niet server-side kan.","solution":"We halen de mp4 nu rechtstreeks uit IG's logged-out embed-pagina â de enige keyless route die nog werkt. Met een gekoppelde IG-sessie (cookies) wordt het betrouwbaar; zonder sessie is het best-effort omdat IG datacenter-IP's soms login-wallt. Duidelijke melding als het niet lukt."},{"num":"v9.92","type":"feature","title":"Opzeggen opent nu een slimme retentie-funnel in plaats van één muur","problem":"Wie wilde opzeggen kreeg meteen een kale bevestigingsknop â geen kans om te redden, geen inzicht in waarom mensen weggaan.","solution":"Bij \"Abonnement opzeggen\" vraagt Senly eerst de reden en toont daarna een passend aanbod: te duur â korting op de volgende maand, geen tijd â account pauzeren (data en AI-context blijven intact), of een live AI-bericht dat op jouw reden inhaakt. Daarna zie je in echte cijfers wat je kwijtraakt (klanten, geplande posts, gekoppelde accounts, maanden AI-geheugen) vóór de definitieve bevestiging."},{"num":"v9.91","type":"feature","title":"Account pauzeren in plaats van opzeggen","solution":"Je kunt je abonnement 1â3 maanden bevriezen: er wordt niet gefactureerd, al je data blijft staan en je hervat met één klik wanneer je wilt."},{"num":"v9.90","type":"feature","title":"Eenmalige behoud-korting","solution":"Twijfelaars krijgen 50% korting op de volgende maand (max. 1à per half jaar, automatisch verwerkt via Stripe)."},{"num":"v9.89","type":"feature","title":"YouTube-downloader werkt weer (Invidious/Piped mirrors)","problem":"YouTube blokkeert Railway's datacenter-IP met \"bevestig dat je geen bot bent\" â yt-dlp faalde structureel.","solution":"Video's worden nu opgehaald via gratis keyless Invidious/Piped-instances die het IP-probleem aan hun kant oplossen. Fallback-lijst van instances +
2yt-dlp als laatste optie. Empirisch geverifieerd met echte mp4-stream."},{"num":"v9.88","type":"bugfix","title":"Account check geeft weer echte cijfers","problem":"De accountcheck kon soms geen gegevens ophalen en toonde dan account niet gevonden, ook voor bestaande accounts.","solution":"Profielgegevens zoals volgers, posts en avatar komen nu via een alternatieve weg binnen. Getest op een groot bekend account met correcte resultaten."},{"num":"v9.87","type":"bugfix","title":"Profielfoto Instagram werkt weer","problem":"Vereiste lokale Chrome / liep tegen IG-login-wall aan.","solution":"Avatar komt nu via imginn-mirror; kleine bronnen worden zoals altijd lokaal naar 1080Ã1080 geüpscaled."},{"num":"v9.86","type":"bugfix","title":"Hashtag-onderzoek YouTube via Invidious-search","problem":"yt-dlp's hashtag-scrape werd door YouTube geblokt op de server.","solution":"YouTube-hashtags gebruiken nu Invidious-search (keyless). TikTok-hashtags blijven via tikwm met Jina-fallback."},{"num":"v9.85","type":"bugfix","title":"YouTube-downloader gebruikt weer werkende yt-dlp clients","problem":"De YouTube-downloader gaf recent alleen nog een foutmelding dat het formaat niet beschikbaar was.","solution":"De downloader is overgezet op een andere, werkende methode om video's op te halen, dus downloaden vanaf YouTube werkt weer normaal."},{"num":"v9.84","type":"bugfix","title":"Profielfoto geeft geen verkeerd plaatje meer terug","problem":"Bij een Instagram login-wall werd IG's generieke branding-logo stil als avatar teruggegeven.","solution":"De proxy-fallback wijst static.cdninstagram.com/rsrc.php-logos nu af, zodat je een nette fout krijgt i.p.v. een fout plaatje."},{"num":"v9.83","type":"infra","title":"Cobalt-downloader alleen nog bij eigen instance","problem":"Een externe gratis dienst die de downloader gebruikte, is dichtgezet, waardoor elke download een nutteloze extra stap deed.","solution":"Die stap wordt nu overgeslagen tenzij er een eigen, zelf beheerde versie van de dienst is ingesteld."},{"num":"v9.82","type":"polish","title":"Native browsercalender vervangen door premium glassmorphism datumkiezer","problem":"De standaard OS-kalender paste niet bij de Senly-uitstraling en verschilde per browser/platform.","solution":"Eigen DateInput-component gebouwd met dark glassmorphism popover, teal accenten, Wissen/Vandaag-knoppen en smooth animatie â uitgerold op alle 16 datumvelden in het portaal."},{"num":"v9.81","type":"bugfix","title":"Profielfoto downloaden werkt nu zonder lokale Chrome","problem":"De tool vereiste lokale Chrome op de cloud â Railway zei \"Deze functie draait niet op de online server\".","solution":"Server-fallback toegevoegd via Jina Reader (residentiële proxy) die og:image scrapet voor zowel Instagram als LinkedIn. Lokale Puppeteer-flow blijft bestaan als laatste optie."},{"num":"v9.80","type":"bugfix","title":"Account check (influencer) krijgt nu wel resultaten","problem":"De accountcheck voor influencer-analyse gaf vaak geen resultaat en toonde account niet gevonden.","solution":"Bij een geblokkeerde directe opvraag valt de check nu terug op een alternatieve methode die volgers, posts en een inschatting van de betrokkenheid ophaalt uit het openbare profiel."},{"num":"v9.79","type":"bugfix","title":"Hashtag onderzoek (TikTok) gebruikt residentiële proxy als fallback","problem":"tikwm.com gaf vaak \"Hashtag niet gevonden\" doordat Railway IPs geblokt waren.","solution":"Bij directe tikwm-fail proberen we de call via Jina Reader te tunnelen."},{"num":"v9.78","type":"bugfix","title":"Cobalt.tools als primaire downloader voor alle video-tools","problem":"Downloads van Instagram, YouTube, LinkedIn en Snapchat mislukten regelmatig, onder meer doordat platforms en externe hulpdiensten verkeer vanaf onze servers blokkeerden.","solution":"Er wordt nu eerst een dienst geprobeerd die alle platforms ondersteunt. De eerdere methodes blijven als extra vangnet actief."},{"num":"v9.77","type":"infra","title":"yt-dlp wordt bij elke deploy bijgewerkt naar nieuwste versie","problem":"Het onderliggende download-onderdeel liep maanden achter, waardoor platforms oudere versies begonnen te blokkeren.","solution":"Dat onderdeel wordt voortaan bij elke update automatisch ververst naar de nieuwste versie, zodat downloads betrouwbaar blijven werken."},{"num":"v9.76","type":"bugfix","title":"Keuzelijst \"Nieuwe taak\" toont nu alle actieve klanten","problem":"Klanten zonder GHL-koppeling werden gefilterd uit de dropdown, waardoor ze onzichtbaar waren.","solution":"Filter verwijderd â alle actieve klanten verschijnen nu in de lijst."},{"num":"v9.75","type":"polish","title":"De \"Actief\"-badge op onboarding-kaarten is nu goed leesbaar","problem":"De badge gebruikte lichte pastel-tekst (ontworpen voor dark mode), waardoor hij op de lichte kaart-tinten in light mode bijna wegviel.","solution":"Badge is theme-aware gemaakt: donkere 700-tinten tekst in light mode, originele lichte pastel-tekst behouden in dark mode (geldt voor Actief, Afgerond en Gestopt)."}]},{"date":"2026-06-08","version":"v9.74","clV":"v13.27","title":"Affiliate â Stripe-status automatisch hersteld na gemiste callback, Affiliate â 500 na Stripe-redirect opgelost & 2 meer","items":[{"num":"v9.74","type":"bugfix","title":"Stripe \"Verbind met Stripe\" verdwijnt nu zodra de koppeling al gemaakt is","problem":"Had je Stripe al gekoppeld, dan bleef de knop om te koppelen soms toch zichtbaar staan, alsof de koppeling niet was gelukt.","solution":"Het portaal herkent een bestaande koppeling nu ook zelf, ook als de terugkeer vanaf Stripe niet helemaal afrondde."},{"num":"v9.73","type":"bugfix","title":"Geen 500-fout meer na Stripe Connect onboarding","problem":"Na het afronden van de koppeling met Stripe kon je soms op een foutpagina belanden in plaats van terug in je dashboard.","solution":"Dit is verholpen, na het koppelen kom je nu altijd netjes terug op je affiliate-dashboard."},{"num":"v9.72","type":"feature","title":"Overlay bij openen van inactief of gepauzeerd klantprofiel","problem":"Gebruikers konden inactieve klanten gewoon openen en gebruiken zonder te betalen (verdienmodel-lek)","solution":"Bij openen van een niet-actief profiel verschijnt een blokkerend modal met opties om te activeren, status aan te passen of terug te gaan"},{"num":"v9.71","type":"feature","title":"Vul je klant-profiel automatisch in vanaf hun website","problem":"Een nieuw klantprofiel aanmaken kostte al snel 5 tot 10 minuten handwerk voor naam, branche, kleur, doelgroep en tone-of-voice, waardoor velden vaak leeg bleven staan.","solution":"Vul bij een nieuwe klant de website in, klik op Analyseer en Senly leest de site en vult automatisch een compleet profiel in: bedrijfsnaam, branche, kleur, doelgroep, pijnpunten, schrijfstijl en unique selling points. Je ziet direct welke velden automatisch zijn ingevuld en kunt alles nog aanpassen voor je opslaat. Een compleet profiel duurt zo nog maar een halve minuut."},{"num":"v9.70","type":"feature","title":"Brand-voice profile beschikbaar voor alle AI-content per klant","solution":"De geanalyseerde tone-of-voice + doelgroep wordt opgeslagen in Client.toneOfVoice en Client.audie
2nce. Bestaande AI-features (captiongeneratie, content-kalender, maandrapport-narratives) kunnen dit profiel meelezen in hun system-prompts zodat alle gegenereerde content meteen op de stem van de klant aansluit zonder dat het bureau het handmatig hoeft te beschrijven."}]},{"date":"2026-06-07","version":"v9.69","clV":"v12.84","title":"Bulk-acties + saved filters + extra webhook-events op CRM contacten, Tags-catalogus, outgoing webhooks en saved filters & 23 meer","items":[{"num":"v9.69","type":"feature","title":"Bulk-select op CRM contactenlijst","problem":"Tags toepassen of contacten verwijderen moest één voor één.","solution":"Hover toont nu een checkbox per contact-card. Bij â¥1 selectie verschijnt een bulk-bar bovenaan met acties: \"+ Tag\" (dropdown uit centrale tag-catalogus, ingekleurd), \"â Tag\", \"Verwijderen\". Modifier-klik selecteert direct; \"Selecteer alles op pagina\"-knop pakt de huidige filter-resultaten."},{"num":"v9.68","type":"feature","title":"Saved filters dropdown in CRM contactenlijst","solution":"Naast de zoekbalk verschijnt nu een Filters-knop die per user (en optioneel team-breed) zoek-query + sortering kan opslaan. Eén klik herstelt de filter."},{"num":"v9.67","type":"feature","title":"Extra webhook-events: lead.status_changed, contract.signed, payment.received","solution":"Een statuswijziging bij een lead, een ondertekend contract en een ontvangen betaling kunnen voortaan automatisch worden doorgestuurd naar andere systemen. Zo kun je onboarding, boekhoudkoppelingen of teammeldingen automatiseren zonder dat er iemand op hoeft te klikken."},{"num":"v9.66","type":"feature","title":"Centrale tags-catalogus met kleuren en cascade-rename","problem":"Tags op contacten en leads waren alleen losse tekst, wat leidde tot rommelige varianten en dubbele tags na een import. Kleur toekennen of in bulk opschonen kon niet.","solution":"Er is nu één centraal overzicht van al je tags, inclusief tags die alleen nog in oudere gegevens voorkomen. Een tag hernoemen werkt direct door op alle contacten en leads tegelijk, verwijderen ruimt in één keer overal op, en elke tag krijgt een eigen kleur."},{"num":"v9.65","type":"feature","title":"Outgoing webhooks voor integraties zonder code","problem":"Voor
2koppelingen met diensten zoals Zapier, Make, n8n of een eigen systeem was er geen ingebouwde manier om gebeurtenissen in Senly automatisch door te sturen.","solution":"Je kunt nu per bureau webadressen instellen die automatisch een bericht ontvangen bij gekozen gebeurtenissen, zoals een nieuw contact, nieuwe lead of nieuwe klant. Elk bericht wordt digitaal ondertekend zodat de ontvanger de afzender kan verifiëren, en een testknop laat direct een voorbeeld zien. De beveiligingssleutel zie je eenmalig bij het aanmaken."},{"num":"v9.64","type":"feature","title":"Saved filters voor CRM en klanten","problem":"Bij veel klanten of leads moest je telkens opnieuw dezelfde combinatie van filters instellen.","solution":"Je kunt filtercombinaties nu opslaan, voor jezelf of gedeeld met het hele team, en later met één klik weer toepassen op je klanten- of leadoverzicht."},{"num":"v9.63","type":"feature","title":"Definieer eigen velden per tenant via Admin â Eigen velden","problem":"Bureaus willen data per klant of contact opslaan die niet in het standaard-schema past â NPS-score, contract-einddatum, branche-code, functie, regio, lead-bron-detail.","solution":"Nieuwe pagina /admin/eigen-velden met tabs voor Klanten en CRM-contacten. Tien types ondersteund (tekst, lange tekst, getal, datum, URL, e-mail, telefoon, ja/nee, keuzelijst, multi-keuze). Drag-and-drop reorder, verplicht-vinkje, options voor SELECT/MULTI_SELECT en cascade-delete-bevestiging die toont hoeveel klanten/contacten een waarde voor het veld hebben."},{"num":"v9.62","type":"feature","title":"Eigen-velden-sectie op klantprofiel én CRM-contact-detail","solution":"Klant-detail krijgt een collapsible \"Eigen velden\"-sectie onder Notities; CRM-contact-detail toont dezelfde velden in de slide-over. Beide secties verbergen zichzelf automatisch als er voor die entity nog geen velden gedefinieerd zijn â geen lege ruimte voor bureaus die deze feature niet gebruiken."},{"num":"v9.61","type":"feature","title":"CSV-import van contacten ondersteunt nu kolom-mapping naar eigen velden","problem":"Bij CSV-import gingen kolommen die niet in het auto-detect-lijstje stonden verloren â terwijl ze vaak de waardevolste lead-context bevatten (functie, sector, lead-score).","solution":"Onder de standaard-mapping nu een sectie \"Eigen velden koppelen\": per gekoppelde CSV-kolom â eigen veld dropdown, met type-chip ter herkenning. Server valideert per rij; ongeldige waarden voor één veld blokkeren niet de hele rij (partial-accept) en worden gerapporteerd in het resultaat-scherm."},{"num":"v9.60","type":"polish","title":"Witte tekst op de commissieclaim-knop","problem":"De tekst op de groene \"Dien commissieclaim in\"-knop was zwart en moeilijk leesbaar","solution":"Tekstkleur gewijzigd naar wit"},{"num":"v9.59","type":"polish","title":"\"Aanbevolen voor jou\" sectie verborgen als er geen aanbevelingen zijn","problem":"Het kopje \"Aanbevolen voor jou\" bleef zichtbaar ook al stonden er geen apps onder","solution":"Sectie wordt nu alleen getoond als er daadwerkelijk aanbevolen tools zijn"},{"num":"v9.58","type":"polish","title":"GoHighLevel-vermelding verwijderd uit de takenpagina","solution":"De melding \"niet gekoppeld\" op de takenpagina noemt geen externe tool meer bij naam"},{"num":"v9.57","type":"security","title":"Gebruikers zien in het CRM alleen hun eigen toegewezen leads en contacten","problem":"Managers, setters en closers konden elkaars leads en contacten inzien in het CRM-systeem","solution":"Alleen admins en sales managers hebben overzicht over alle CRM-records. Iedereen anders ziet uitsluitend leads en contacten die expliciet aan hen zijn toegewezen (assignedTo)."},{"num":"v9.56","type":"feature","title":"View-as knop op gebruikersbeheer","problem":"Admin kon niet controleren hoe het portaal eruitziet vanuit het perspectief van een setter of manager.","solution":"Oog-icoon toegevoegd naast elke gebruiker in /admin/gebruikers. Admin klikt erop, ziet het portaal precies als dat teamlid, en kan via een banner bovenaan terugkeren naar zijn eigen weergave."},{"num":"v9.55","type":"polish","title":"AI mag alleen nog naar pagina-paden en queries verwijzen die letterlijk in de data staan","problem":"Gemini stelde soms acties voor over een verzonnen pagina (bv \"agency-alternatief\") die niet in jouw Google Analytics of Search Console data zat. Minor hallucinatie, maar storend als je actiepunten letterlijk
2wilt opvolgen.","solution":"Prompt-versie v3: harde regel toegevoegd dat alle pagina-paden, zoekopdrachten en bronnen letterlijk uit de meegestuurde data moeten komen. Heeft de AI geen specifiek pad nodig? Dan moet die het algemeen houden (\"bekijk je best presterende landingspagina\") in plaats van iets te verzinnen."},{"num":"v9.54","type":"infra","title":"Cache invalideert automatisch bij elke prompt-bump","problem":"Een nieuwe prompt-versie zou pas na 24 uur effect hebben omdat de 24u-cache nog de oude samenvatting bevatte.","solution":"De freshness-check kijkt nu ook naar promptVersion: oude caches met PROMPT_VERSION v2 worden direct als stale gezien zodra v3 in productie staat. Geen handmatige cache-leegmaak nodig bij elke prompt-iteratie."},{"num":"v9.53","type":"feature","title":"AI leest je GA + Search Console data en schrijft een leesbare samenvatting","problem":"KPIs zijn handig maar abstract. Een eigenaar die snel wil weten wat er deze week gebeurde moest zelf grafieken interpreteren en actiepunten verzinnen. Voor agencies die dit voor klanten doen is dat herhaalbaar werk dat slim kan.","solution":"Nieuwe opt-in widget \"AI-samenvatting\" onder Widgets beheren -> Rapportage. Gemini Flash leest je GA + Search Console data van de afgelopen 7 dagen plus de vergelijking met de vorige week, en schrijft 3-5 zinnen plus 1-2 concrete actiepunten in jouw taal (NL/EN/DE/FR). Vernieuw-knop voor onmiddellijke regeneratie. Cache 24 uur, rate-limit 5 vernieuwingen per dag per bureau (Gemini-kosten <0,01 euro per bureau per maand)."},{"num":"v9.52","type":"infra","title":"TenantAiInsight model + structured JSON-prompt naar Gemini","problem":"Voor de AI-inzichten was nog niet geregeld hoe vaak per dag een nieuwe samenvatting gemaakt mocht worden en hoe die bewaard bleef.","solution":"AI-inzichten worden nu opgeslagen en volgens een dagelijkse limiet ververst, gebaseerd op alleen je eigen gegevens zodat de samenvatting relevant blijft voor jouw bureau."},{"num":"v9.51","type":"bugfix","title":"Sparkline-grafiekjes hadden geen vaste hoogte","problem":"De SVG-sparklines in Bezoekers, Bedrijfsprofiel en de nieuwe Zoekprestaties-widget waren paginalang uitgerokken zodra de widget breder dan ~150px was. De viewBox-ratio bepaalde de hoogte automatisch i.p.v. mijn bedoelde 50-70px.","solution":"Inline pixel-hoogte op de SVG zelf zodat de browser de viewBox-ratio niet meer als aspect-ratio gebruikt. Plus elke sparkline een unieke gradient-id zodat meerdere sparklines op een pagina hun eigen kleur behouden."},{"num":"v9.50","type":"bugfix","title":"Aangevinkte Google Insights-widgets verdwenen weer bij refresh","problem":"Zette je de nieuwe widgets aan zoals Website KPI's, Bezoekers, Bronnen, Nu online of Bedrijfsprofiel, dan stonden ze na het verlaten en terugkomen op de pagina weer uit. De keuze werd niet onthouden.","solution":"Deze widgets worden nu correct opgeslagen en blijven aan staan, ook na een paginawissel of herlaad."},{"num":"v9.49","type":"polish","title":"Pagina-content verspringt niet meer bij wisselen van feature","problem":"Op mobiel verschilde de hoogte van de detail-panel (eyebrow + titel + body + bullets) per feature omdat sommige meer/langere bullets hadden. Alles eronder (de \"Krachtige extras\"-sectie en verder) sprong elke wissel ~50-100px omhoog of omlaag.","solution":"Op <640px krijgt .sn-fc-detail nu min-height: 660px met display: flex. Bullets vullen de overige ruimte met flex: 1 0 auto + align-content: flex-start, dus features met 3 bullets nemen even veel verticale ruimte als features met 5 bullets. Pagina-content eronder blijft op één plek staan."},{"num":"v9.48","type":"bugfix","title":"Sluit-knopje (X) van het chat-tooltip was ei-vormig op mobiel","problem":"De X-knop in het support-chat tooltip (rechtsboven) werd op iOS Safari verticaal uitgerekt â leek een ei i.p.v. een rondje. Width/height stonden beide op 20px maar UA-button-styling pushte de hoogte hoger.","solution":"Explicit max-width/max-height naast width/height + box-sizing: border-box. Daarnaast font-size:0 + line-height:0 zodat een text-baseline geen extra hoogte claimt onder de SVG. appearance:none toegevoegd naast -webkit-appearance:none."},{"num":"v9.47","type":"polish","title":"Mobile pill compactere layout zonder Senly tekst","problem":"Op mobiel in sticky-state stond de pill niet gecentreerd â links veel meer ruimte dan rechts omdat de \"Senly\" tekst de inhoud naar links duwde. Plus de padding was asymmetrisch (20px links / 14px rechts).","solution":"Drie tweaks: (1) padding van 10px 14px 10px 20px naar 10px 16px symmetrisch. (2) Mobile @media: Senly tekst verborgen in pill-state (max-width:0 + opacity:0 + margin-left:-10) â alleen logo + inloggen + NL zichtbaar. (3) Mobile pill margin van calc(25 ± scrollbar/2) naar vast 14px aan beide zijden, padding compacter (8/14) en gap 10 â pill is duidelijk gecentreerd t.o.v. viewport."},{"num":"v9.46","type":"polish","title":"Hero/Section/CTA titels bumped van max 50px naar 56px","problem":"Na de v12.62-verkleining naar clamp(28, 3.7vw, 50) voelde de titel op desktop net te klein.","solution":"Drie title-classes (.sn-hero-v2-title, .sn-section-title, .sn-cta-title) naar clamp(28, 4vw, 56). 6px groter op desktop, ongewijzigd op mobiel (min blijft 28px)."},{"num":"v9.45","type":"polish","title":"Padding-top van clamp 120-170 naar clamp 165-215","problem":"v12.70 voegde +67px ruimte toe tussen nav-row en eyebrow â gebruiker wilde nog ~45px extra erbij.","solution":"Padding-top van clamp(120, 16vh, 170) naar clamp(165, 21vh, 215). Op typische 844px viewport ~45px meer lucht."},{"num":"v9.44","type":"polish","title":"Hero margin uniform aan alle zijden + ruimte tussen nav en eyebrow","problem":"Mobiele hero had asymmetrische witruimte: 4px links/rechts maar 14px boven/onder. En de nav
2-row (Senly logo + Inloggen + NL pill) zat te dicht op de eyebrow-badge eronder.","solution":"Margin top/bottom van 14 naar 4 â uniform 4px witruimte aan alle vier de zijden. Padding-top van clamp(50, 8vh, 90) naar clamp(120, 16vh, 170) â duidelijk meer lucht tussen nav-row en eyebrow zodat ze niet meer op elkaar geplakt voelen."},{"num":"v9.43","type":"polish","title":"Padding-top verder verkleind van clamp 80-130 naar clamp 50-90","problem":"Vorige iteratie maakte padding-top clamp(80, 12vh, 130) â gebruiker wilde de content nog hoger zien (zoals na ~30px scroll vanaf de standaard view).","solution":"Padding-top naar clamp(50, 8vh, 90). Op typische 844px viewport zit de eyebrow nu ~30px hoger dan voorheen. Content begint direct na de top-nav."},{"num":"v9.42","type":"polish","title":"\"en compleet\" toegevoegd aan eerste zin van hero-subtitle","problem":"De vorige fix toonde de hele tweede zin op mobiel â dat was te veel. De gebruiker wilde slechts ~2 woorden langer, niet 2 extra regels.","solution":"Tweede zin (.sn-hero-v2-sub-extra) weer verborgen op <640px. Eerste zin uitgebreid met \"en compleet\" / \"complete\" / \"kompletten\" / \"et complète\" (NL/EN/DE/FR). Iets meer body zonder de hero op mobiel te overladen."},{"num":"v9.41","type":"polish","title":"Hero-content begint hoger op het scherm + tweede zin subtitle terug","problem":"Op mobiel zat de titel ver onder de bovenrand door een te grote padding-top (clamp 130-200). En de subtitle was bewust ingekort tot alleen de eerste zin â voelde te kaal.","solution":"Padding-top op mobiel verkleind naar clamp(80, 12vh, 130) â ~50px minder lucht boven de titel. Daarnaast .sn-hero-v2-sub-extra (de tweede zin van de subtitle) niet meer display:none op smal scherm â geeft de hero iets meer body zoals gevraagd."},{"num":"v9.40","type":"polish","title":"Instagram / TikTok / LinkedIn / Facebook tabs worden swipe-slider <720px","problem":"De 4 platform-tabs (Instagram, TikTok, LinkedIn, Facebook) pasten niet allemaal naast elkaar op mobiele schermen â Facebook viel deels of helemaal buiten beeld, en de tabs werden te krap geknepen.","solution":".sn-calc-tabs wordt op <720px een horizontale slider: overflow-x:auto + flex:0 0 auto op de tabs zodat elke tab z'n natuurlijke breedte houdt. Scrollbar verborgen. Fade-edges links/rechts via mask-image als visuele hint dat er meer te swipen valt. Scroll-snap zorgt dat tabs netjes aan de rand vastklikken. Tab-padding iets ruimer (8/14 i.p.v. 8/10) zodat ze comfortabel tikbaar zijn."},{"num":"v9.39","type":"polish","title":"Mobile hero krijgt ademruimte (margins + padding)","problem":"Op mobiel oogde de bovenste sectie van de homepage krap: smalle marges en weinig ruimte onder de content, waardoor de knop en checklist eronder ingeklemd leken.","solution":"De marges en ruimtes zijn vergroot, waardoor de sectie op mobiel breder en hoger oogt en de content meer lucht krijgt."}]},{"date":"2026-06-06","version":"v9.38","clV":"v12.64","title":"Homepage: hero-lengte terug, pill verder van zijkanten, nav iets lager, Homepage: hero onderkant witruimte + meer lengte & 38 meer","items":[{"num":"v9.38","type":"polish","title":"Hero symmetrisch wit aan alle vier kanten + langere sectie","problem":"Live meting op senly.io toonde: hero-top 18px, links 17px, rechts 17px witruimte, maar onderkant 0px â de hero raakte de volgende sectie direct. Asymmetrisch.","solution":"margin-bottom: 18px (gelijk aan margin-top) zodat de afgeronde border-radius onderaan zichtbaar wordt met dezelfde witte ademruimte als boven/links/rechts. Padding-bottom van 90 naar clamp(140, 16vh, 180) verhoogd voor de \"meer lengte\" â geeft ~90px extra ademruimte tussen de CTA-knoppen en de hero-onderkant."},{"num":"v9.37","type":"polish","title":"Hero/Section/CTA-titels uniform verkleind","problem":"De grote titels op de homepage (Het all-in-one platform, Krachtige extras, Alles wat je nodig hebt, Live binnen een middag, etc.) waren clamp(32, 4.8vw, 64) en oogden te dominant. De pagina las als een aaneenschakeling van geschreeuwde headlines.","solution":"Drie title-classes (.sn-hero-v2-title, .sn-section-title, .sn-cta-title) verkleind naar clamp(28, 3.7vw, 50) â 14px kleiner op desktop, ~4px kleiner op mobiel. Behoud van character (display heading-font, letter-spacing -0.035em) zonder de oversized vibe. Pagina leest nu rustiger."},{"num":"v9.36","type":"polish","title":"Nav rechts net zo ver van de zijkant als links + smooth scroll-overgang","problem":"De menubalk bovenaan de website stond niet helemaal in balans en veranderde bij het scrollen abrupt van vorm in plaats van soepel.","solution":"De balk staat nu links en rechts exact even ver van de rand en verandert bij het scrollen vloeiend van vorm, zonder sprong."},{"num":"v9.35","type":"polish","title":"Pill-morph richting omgekeerd â bij scroll naar hero-rand-breedte","problem":"Een eerdere aanpassing van de menubalk pakte anders uit dan bedoeld: de balk werd volledig breed in plaats van subtiel te verbreden.","solution":"De balk is teruggezet naar het bedoelde ontwerp: een compacte vorm die bij het scrollen rustig verbreedt tot de paginaranden, met dezelfde lichte, doorschijnende uitstraling als voorheen."},{"num":"v9.34","type":"polish","title":"Volledig nieuwe nav-bar bovenaan senly.io","problem":"De menubalk bovenaan de website oogde als een klein onderdeel in plaats van een volwaardige, premium header.","solution":"Nieuwe balk over de volledige breedte met een subtiel glaseffect en een nette rand, in lijn met de uitstraling van grote softwaremerken. Op mobiel klapt het menu nu netjes open via een hamburgerknop."},{"num":"v9.33","type":"polish","title":"Tweede asterisk-regel onder de calc-card verwijderd","problem":"Onder de Growth-calculator stonden twee bijna-identieke disclaimer-regels onder elkaar â één binnen de info-card en één los onder de card. Visueel lelijk en redundant.","solution":"De buitenste regel (\"* Prognose gebaseerd op gemiddelde resultaten...\") weggehaald. De interne disclaimer binnen de card volstaat."},{"num":"v9.32","type":"polish","title":"Padding-y van alle secties + margin tussen kaarten vergroot","problem":"De homepage secties zaten te krap op elkaar â voelde gehaast en weinig premium. Elegantie komt voor een groot deel van ademruimte.","solution":"Padding-y van alle tussen-secties (Clock, Marquee, Vergelijking, Pricing, Testi, CTA) ~40-60% verhoogd; van 70-100px naar 110-140px op desktop. Margin-top tussen de \"kaart\"-secties (.sn-fc, .sn-vs-section) van 14px naar 40px. Algemene .sn-section padding van 104-180px naar 140-220px. Pagina leest nu rustiger, met duidelijke ademruimte tussen elke sectie."},{"num":"v9.31","type":"polish","title":"High-end SaaS finish voor de stats-rij","problem":"De rij met kengetallen op de website oogde vlak en weinig verzorgd.","solution":"De kengetallen hebben nu meer diepte: een subtiele achtergrond, verfijnde iconen en grotere, strakkere cijfers voor een premium uitstraling."},{"num":"v9.30","type":"polish","title":"Calculator naar elegant wit + teal i.p.v. platform-gradient overload","problem":"De rekentool op de homepage gebruikte per platform felle, uiteenlopende kleuren, waardoor de pagina druk oogde.","solution":"De rekentool is nu rustig wit met teal als enige accentkleur, met duidelijke iconen bij elk kengetal en een knop die er ongeacht het gekozen platform hetzelfde uitziet."},{"num":"v9.29","type":"feature","title":"Optionele video op de Platform-carousel kaarten","problem":"De kaarten in het functie-overzicht op de website toonden alleen een foto, terwijl sommige functies beter te laten zien zijn met een korte beweging in beeld.","solution":"Kaarten kunnen nu ook een korte video tonen die vanzelf afspeelt zodra je ernaar kijkt, met de foto als terugvalmogelijkheid wanneer er geen video beschikbaar is."},{"num":"v9.28","type":"feature","title":"Zelf kiezen of je 7, 30 of 90 dagen wilt zien per widget","problem":"Alle GA- en Bedrijfsprofiel-widgets toonden hardcoded 30 dagen. Wilde je vandaags piek of het kwartaaltrend zien, dan moest je naar Google.","solution":"Pill-toggle (7d / 30d / 90d) in elke widget-header (behalve \"Nu online\" en lijstjes). Keuze wordt per widget onthouden in localStorage zodat de instelling terugkomt na refresh. Server-side cache is per-tijdsbereik gescheiden zodat snel wisselen niet steeds opnieuw fetcht."},{"num":"v9.27","type":"feature","title":"Delta-badges: pijltje + % vs vorige periode op alle KPIs","problem":"Een KPI-getal op zichzelf is moeilijk te beoordelen â is 2.300 bezoekers veel of weinig? Je had geen referentie zonder GA open te klikken.","solution":"Naast elk KPI-getal verschijnt een groene up-badge of rode down-badge, vergeleken met de daarvoor liggende periode van dezelfde lengte. Hover toont de absolute waarde van die vorige periode. Bij nieuwe metrics (geen vorige data) verschijnt een paarse \"nieuw\"-badge. Server haalt huidige + vorige periode in een GA-call op (twee dateRanges), dus geen extra latency."},{"num":"v9.26","type":"polish","title":"Grid-lijntjes op de Platform/Vergelijking-kaarten subt
2ieler","problem":"De rastertextuur (rgba 15,23,42 / 0.045) op de witte raster-kaarten was iets te aanwezig â leidde af van de content erin.","solution":"Opacity terug van 0.045 naar 0.025. Het patroon blijft net zichtbaar genoeg om de hero-grid te echoën, maar wordt niet meer dominant."},{"num":"v9.25","type":"polish","title":"Padding-right van .cl-hero-accent ruimer","problem":"In de hero-titel \"Wat is er nieuw in Senly\" werd de schuine descender van de italic \"y\" rechts afgesneden. Oorzaak: padding-right van 0.1em op het accent-span was niet genoeg om de italic descender op te vangen onder background-clip: text.","solution":"Padding-right naar 0.3em (~22px op deze font-size) + margin-right -0.2em compensatie zodat layout-flow gelijk blijft. De italic \"y\" staat nu helemaal vrij; geen clip meer."},{"num":"v9.24","type":"polish","title":"Signup-formulier in de partner-popup verdeeld over 2 kolommen","problem":"Het aanmeldformulier voor partners stond als één lange lijst onder elkaar, waardoor het venster hoger werd dan het scherm en gedeeltelijk wegviel.","solution":"Het formulier staat nu netjes in twee kolommen naast elkaar en past weer volledig op het scherm. Op kleinere schermen valt het automatisch terug naar één kolom."},{"num":"v9.23","type":"polish","title":"Scrollbar-bewuste margin maakt asymmetrie eindelijk nul","problem":"De ruimte rond de hoofdafbeelding op de website was in bepaalde browsers merkbaar scheef: rechts net iets ruimer dan links.","solution":"De marges zijn nu zo berekend dat beide kanten altijd exact even ver van de paginarand staan, ook als de breedte van de browser-schuifbalk verandert."},{"num":"v9.22","type":"polish","title":"Definitieve garantie voor 14px-margin links/rechts hero","problem":"Ondanks eerdere aanpassingen bleef de hoofdafbeelding op de website in sommige browsers scheef ogen.","solution":"De marges links en rechts staan nu vast ingesteld, zodat de afbeelding in elke browser gegarandeerd symmetrisch oogt."},{"num":"v9.21","type":"polish","title":"Symmetrische scrollbar-gutter op alle root-niveaus","problem":"Op sommige browsers werd de oude :root:has(.sn-root) selector niet matched of laat geparsed, waardoor scrollbar-gutter: stable both-edges niet altijd actief was. Dat kon de hero alsnog asymmetrisch t.o.v. de viewport positioneren â rechterkant oogde dan ruimer dan de linkerkant.","solution":"Scrollbar-gutter: stable both-edges nu ook op kale html en :root selectors zonder :has() voorvoegsel, zodat het in alle omstandigheden actief is en de viewport-content gegarandeerd gecentreerd staat ongeacht scrollbar-zichtbaarheid."},{"num":"v9.20","type":"bugfix","title":"GA + Bedrijfsprofiel widgets verschenen niet in de widget-catalog","problem":"In fase 2 waren de 5 nieuwe widgets opgehangen aan PremiumDashboard, maar het actieve dashboard is TaskioDashboard met een eigen WIDGET_REGISTRY. Daardoor stonden de widgets nergens in \"Widgets beheren\" en kon niemand ze aanzetten.","solution":"Vijf widgets toegevoegd aan TaskioDashboard's WIDGET_REGISTRY + render-switch + i18n-keys voor NL/EN/DE/FR. Alle widgets staan standaard uit en verschijnen onder \"Widgets beheren\" zodra je ze aanvinkt."},{"num":"v9.19","type":"polish","title":"Witruimte links/rechts van hero gegarandeerd gelijk","problem":"Ondanks symmetrische margin (14px L+R) liep de rechterkant van de hero-kaart visueel verder van de viewportrand af dan de linkerkant. Oorzaak: in sommige browsers werkt scrollbar-gutter niet ideaal, waardoor 14px-margin niet 1-op-1 gerendered wordt.","solution":"Patroon gewisseld naar width: calc(100% - 28px) met margin: 14px auto 0. Auto-margin verdeelt de overgebleven ruimte gegarandeerd gelijk over beide zijden, ongeacht scrollbar of viewport-quirks. Dezelfde fix toegepast op de Platform- en Vergelijking-rasterkaarten zodat alle \"kaarten\" exact gecentreerd staan."},{"num":"v9.18","type":"bugfix","title":"Achtergebleven foutbanner op /admin/integraties/google-insights bij refresh","problem":"Na een afgebroken Google-koppelpoging bleef ?gi_error=session_not_found in de URL staan. Elke refresh van de pagina toonde dan opnieuw de rode banner â ook al was de koppeling al lang succesvol.","solution":"Banner
2-state bevriezen bij eerste render en de query-params direct wissen via router.replace. De banner blijft staan tot je weg navigeert, maar refreshen toont 'm niet meer opnieuw."},{"num":"v9.17","type":"polish","title":"Platform/Vergelijking secties krijgen dezelfde kaart-vorm als de hero","problem":"De rasterachtergrond van de Platform- en Vergelijking-secties liep van rand tot rand. De hero zit juist als afgeronde \"floating card\" met 14px lucht aan beide zijden â visueel onsamenhangend.","solution":"Beide rastersecties hebben nu margin 14px links/rechts/boven, border-radius 20px, dunne rgba-border en overflow hidden. Identiek aan de hero-kaart-vorm. Visueel oogt de pagina nu als een opeenstapeling van afgeronde kaarten met witruimte ertussen."},{"num":"v9.16","type":"polish","title":"Top-nav rechts/links witruimte gelijk getrokken","problem":".sn-nav-inner had padding 24px links en 14px rechts. Daardoor zat de rechtse content (Inloggen / NL) dichter op de pill-rand dan de linker logo+links â visueel asymmetrisch.","solution":"Padding nu symmetrisch op 18px aan beide kanten. Logo en rechtse knoppen hebben evenveel ademruimte tot de pill-rand."},{"num":"v9.15","type":"feature","title":"Kies welke GA4-property en bedrijfslocatie je wilt tonen na het koppelen","problem":"Na het koppelen van je Google-account was er nog geen manier om aan te geven welke website of welke bedrijfslocatie je cijfers moesten leveren.","solution":"Je kiest nu zelf welke Google Analytics-website en welke bedrijfslocatie je cijfers laten zien. Wacht Google nog op goedkeuring voor je bedrijfsprofiel, dan zie je daar een duidelijke status van in plaats van een foutmelding."},{"num":"v9.14","type":"feature","title":"5 nieuwe dashboard-widgets onder Aanpassen â Rapportage","problem":"Bureaus konden hun website- en bedrijfsprofiel-statistieken nog niet in Senly zelf zien en moesten daarvoor telkens naar aparte Google-schermen wisselen.","solution":"Vijf nieuwe blokken die je zelf aan- en uitzet: bezoekersaantallen, een trendlijn van de laatste 30 dagen, de populairste bronnen en pagina's, wie er nu live op je website is, en de prestaties van je Google-bedrijfsprofiel zoals profielweergaven en belklikken."},{"num":"v9.13","type":"infra","title":"OAuth data-layer voor GA4 Data API + Business Profile Performance API","problem":"De koppeling met Google was er, maar er was nog geen manier om de daadwerkelijke bezoekcijfers en bedrijfsprofielgegevens op te halen.","solution":"Senly haalt nu automatisch de bezoekcijfers en bedrijfsprofielprestaties bij Google op en houdt de koppeling zelf actief. Staat de goedkeuring voor je bedrijfsprofiel nog open bij Google, dan krijg je een duidelijke melding in plaats van een foutmelding."},{"num":"v9.12","type":"polish","title":"Platform- en Vergelijking-secties krijgen subtiele rastertextuur","problem":"Na de hero liepen meerdere kale-witte secties achter elkaar, zonder visueel ritme tegenover de teal-gradient secties (clock, pricing, testi). De rastertextuur die de hero zo herkenbaar maakt, kwam nergens terug.","solution":"De Platform- en Vergelijking-secties krijgen een witte achtergrond met een 64Ã64 grid-overlay (subtiele rgba 15,23,42 lijntjes, zelfde maatvoering als de hero-grid). Daarmee wisselen wit-met-raster â gradient â kale wit elkaar af van boven naar onder. Nieuwe utility-class .sn-band-grid om dit ritme later eenvoudig op andere secties uit te breiden."},{"num":"v9.11","type":"polish","title":"Lichtere achtergrond voor de Uitbetaling-kaart","problem":"De Uitbetaling-kaart op /affiliate kreeg eerder #eef0f2 als achtergrond. Solide, maar wat zwaarder grijs dan nodig op de witte pagina.","solution":"--surface-card naar #f7f8fa (lichtere off-white). Steekt nog steeds af van de pagina-bg en blokkeert het grid-patroon, maar voelt luchtiger. De border doet het afbakeningswerk."},{"num":"v9.10","type":"polish","title":"Resterende hairlines boven SECTIE 2/3/4 verwijderd","problem":"Op de website liepen er nog dunne grijze lijntjes boven een aantal secties, ook na een eerdere opschoning.","solution":"Die lijntjes zijn nu volledig verwijderd; de overgang tussen secties verloopt alleen nog via witruimte en typografie."},{"num":"v9.09","type":"feature","title":"Admin kan eigen Google-account koppelen voor website- & vindbaarheidsstatistieken","problem":"Bureaus konden de bezoekcijfers van hun eigen website en de prestaties van hun Google-bedrijfsprofiel niet in Senly zien en moesten daarvoor naar losse Google-schermen.","solution":"Nieuwe integratie \"Website & vindbaarheid\": koppel je eigen Google-account op dezelfde beveiligde manier als bij Google Drive, met alleen leestoegang. Je ziet direct welk account gekoppeld is en kunt het ook weer loskoppelen; het kiezen van je precieze website en het tonen van de cijfers zelf volgt in een latere update."},{"num":"v9.08","type":"infra","title":"OAuth-fundament + setup-gids voor Google Insights","problem":"Het koppelen met Google Analytics en Google Bedrijfsprofiel vereist toestemmingen bij Google, en voor het bedrijfsprofiel een aparte goedkeuring die weken kan duren.","solution":"De technische basis staat klaar, inclusief een handleiding om die trage bedrijfsprofiel-goedkeuring bij Google alvast op te starten. De website-bezoekcijfers werken zodra de instellingen gezet zijn; het bedrijfsprofiel-onderdeel activeert zodra Google toegang heeft goedgekeurd."},{"num":"v9.07","type":"polish","title":"Geen rommelige horizontale lijntjes meer rond \"SECTIE X\"","problem":"De eyebrow boven elke statistieken-sectie had een 1px streep aan de rechterkant van de tekst en een border-top boven de header. Op de pagina met grid-textuur liepen die als slordige horizontale lijnen door het raster heen.","solution":"Streep aan de rechterkant van de eyebrow verwijderd en border-top van de section-header weggehaald. Het korte teal-streepje vóór de \"SECTIE X\"-tekst blijft (consistent met de eyebrow-stijl elders in het portaal). Geen lange grijze lijnen meer over het raster."},{"num":"v9.06","type":"polish","title":"Uitbetaling-kaart op /affiliate niet langer half-doorzichtig","problem":"De \"Uitbetaling\"-kaart had in light-mode een achtergrond van rgba(255,255,255,0.02) â 2% opacity â waardoor het grid-patroon van de pagina dwars door de kaart heen liep.","solution":"Nieuwe theme-aware variabele --surface-card: in light een neutrale lichtgrijs (#eef0f2, geen blauwzweem en passend bij de pagina-bg), in dark var(--bg-elev). De Uitbetaling-sectie gebruikt deze nu zolang Stripe nog niet gekoppeld is; geen lekkende grid-textuur meer."},{"num":"v9.05","type":"polish","title":"Geen 6-stippen icoontje meer naast stage-titel","problem":"Het kleine verplaats-icoontje (6 stippen) links van elke stage-titel was visueel ruis â de hele kolomkop is al sleepbaar, dus het icoon voegde alleen drukte toe.","solution":"Icoon verwijderd. Je sleept de kolommen n
2og steeds door de kop op te pakken; cursor wordt nog steeds een grab-hand bij hover. Eén element minder, kop oogt rustiger."},{"num":"v9.04","type":"polish","title":"Kolom-achtergrond van licht-blauwgrijs naar puur wit","problem":"De vorige fix gebruikte #f1f3f7 als kolom-achtergrond â die had een lichte blauwe ondertoon waardoor het bord er koeler/blauwiger uitzag dan de rest van de pagina.","solution":"Kolommen zijn nu puur wit (#ffffff) met dezelfde dunne grijze border. Geen blauwzweem meer; de border zorgt nog steeds dat elke stage als duidelijke zone leest op de witte pagina-bg."},{"num":"v9.03","type":"polish","title":"Kanban-kolommen krijgen een solide achtergrond","problem":"De stage-kolommen op /onboarding en /crm hadden een halfdoorzichtige achtergrond (rgba 0,025). Daardoor lekte de grid-textuur van de pagina dwars door de kolommen heen â vooral zichtbaar bij hogere kolommen (twee-regelige titels) waar het patroon door de kolom liep.","solution":"Kolommen hebben nu een solide off-white kaart-achtergrond in light-mode en een solide donker-grijs (var(--bg-elev)) in dark-mode, allebei met een dunne border zodat elke stage als duidelijke afgebakende zone leest. Geen visuele lekken meer door de grid-textuur."},{"num":"v9.02","type":"feature","title":"Sleep stages (kolommen) om hun volgorde aan te passen","problem":"Je kon contacten wel tussen kolommen slepen, maar de volgorde van de kolommen zelf zat vast op de volgorde waarin ze waren aangemaakt. Wilde je \"Onboarding klaar\" tussen \"Start Feedback\" en \"Actief\" zetten, dan moest je een nieuwe kolom maken en alles handmatig overzetten.","solution":"Pak een kolomkop op en sleep 'm naar links of rechts. Een teal-streep toont waar 'ie tussen komt; loslaten schuift in één keer. De volgorde wordt server-side opgeslagen en blijft hetzelfde voor iedereen in het bureau. Kaarten verslepen tussen kolommen blijft exact werken zoals het deed."},{"num":"v9.01","type":"feature","title":"Flow-naam achteraf wijzigen","problem":"Een nieuwe flow kreeg z'n naam alleen bij aanmaken â typo of veranderd inzicht betekende dat je 'm moest verwijderen en opnieuw bouwen.","solution":"Naast de flow-selector zit nu een potlood-knop. Klikken opent een inline-input met de huidige naam; Enter slaat op, Escape annuleert. De nieuwe naam verschijnt direct in de dropdown en het hele bureau ziet 'm na refresh."},{"num":"v9.00","type":"feature","title":"Twee tabs onder Kosten: Maandelijks en Jaarlijks","problem":"Sommige uitgaven betaal je per jaar (domeinen, jaarabonnementen, hosting). Voorheen moest je die zelf delen door 12 voordat je ze als maandbedrag invulde â anders klopten de portaalcijfers niet.","solution":"Onder \"Overige inkomsten & kosten\" kun je nu kiezen of een kostenpost maandelijks of jaarlijks loopt. Jaarbedragen voer je als jaar in; het systeem rekent ze automatisch /12 mee in de totale maandkosten, de winstprojectie en de twaalf-maand-grafiek. Per rij zie je het jaarbedrag én het maandelijkse equivalent in één oogopslag."},{"num":"v8.99","type":"bugfix","title":"Vervolg: pagina-tekst kwam ondanks vorige z-index-fix nog door de popup heen","problem":"Een pop-upvenster op de website liet ondanks een eerdere reparatie nog steeds paginatekst en kaarten erdoorheen zien.","solution":"Het venster wordt nu los van de rest van de pagina getoond, waardoor de donkere achtergrond gegarandeerd bovenop alle tekst en kaarten verschijnt, terwijl het menu bovenaan zichtbaar blijft."},{"num":"v8.98","type":"bugfix","title":"Aanvraag-popup op /partners stond achter het menu, pagina-tekst kwam over de popup heen","problem":"De popup (\"Meld je aan / Partner-aanvraag\") verdween achter het sticky menu bovenaan, en de hero-tekst (\"30% standaard, 40% vanaf 10 bureaus\" + \"Word nu partner\") schoot tegelijk door de donkere overlay heen â onleesbare stapeling.","solution":"Z-index volgorde rechtgezet (scoped op de partners-pagina): popup-backdrop van 1000 naar 1100 zodat alle pagina-content netjes w
2ordt weggeblurd, en het top-nav menu van 100 naar 1200 zodat dat juist boven de popup blijft en bruikbaar is."},{"num":"v8.97","type":"polish","title":"Footer-tagline volgt nu dezelfde positionering als de homepage","solution":"De footer zei \"voor social media bureaus die willen schalen\" â een nauwere positionering dan de homepage (\"voor social media professionals\"). Beide regels nu gelijk: \"Het operating system voor social media professionals â zonder de tooling-chaos.\" Vertaald in NL/EN/DE/FR. Past bij de bredere doelgroep (bureaus, freelancers, content creators, in-house) die ook eigen landingspagina's hebben."},{"num":"v8.96","type":"polish","title":"De demo per partner-stap beweegt nu en gebruikt dezelfde velden als het echte aanvraagformulier","problem":"De demo op de website toonde andere velden dan het echte aanmeldformulier voor partners en stond bovendien helemaal stil, waardoor hij weinig overtuigde.","solution":"De velden in de demo komen nu overeen met het echte formulier, in alle vier de talen. De demo speelt zichzelf nu af: het formulier vult zich typend in, de link wordt gekopieerd en het commissiebedrag loopt automatisch op, met oog voor bezoekers die animaties liever beperkt houden."},{"num":"v8.95","type":"polish","title":"Social-iconen + locatie-regel weg","solution":"Instagram (@senly.io) en LinkedIn (Senly-io) staan rechtsonder als ronde icoon-knoppen met teal hover. De \"Lage Zwaluwe · Gemaakt in Nederland\"-regel is verwijderd â die info staat al duidelijk in de over-ons-pagina en op de schema.org-markup."},{"num":"v8.94","type":"feature","title":"Nieuwe tab \"Takenbeheer\" op senly.io","solution":"De feature-pillen op de homepage (Brand kits â Kalender â Meetings â ⦠â Tools) krijgen er een tab \"Takenbeheer\" tussen Meetings en Activiteiten. Toont workload per team, deadlines/prioriteiten en de keuze tussen lijst, kanban of kalender. Per-taal screenshot (NL/EN/DE/FR) zoals de andere features, accent paars (#a855f7)."}]},{"date":"2026-06-05","version":"v8.93","clV":"v10.71","title":"Kortingscodes-pagina: labels en invoerveld nu leesbaar in light mode, Kortingscodes: geef nieuwe bureaus een langere gratis trial via een code & 1 meer","items":[{"num":"v8.93","type":"bugfix","title":"Labels en invoervelden waren nauwelijks leesbaar in light mode","problem":"Op de pagina met kortingscodes waren labels en velden in de lichte weergave van het portaal nauwelijks leesbaar door te weinig contrast.","solution":"Kleuren zijn aangepast zodat labels en velden in zowel de lichte als de donkere weergave duidelijk leesbaar zijn, met nette randen en een duidelijke focusstijl."},{"num":"v8.92","type":"feature","title":"Kortingscodes voor een langere trial","problem":"Er was geen manier om iemand via een e-mail of actie een langere proefperiode te geven dan de standaard proefperiode.","solution":"In het beheer maak je nu kortingscodes die nieuwe bureaus bij aanmelden automatisch een langere gratis proefperiode geven. Per code stel je het aantal proefdagen, een maximaal aantal keer gebruik en een vervaldatum in, en je krijgt direct een kant-en-klare aanmeldlink."}
2,{"num":"v8.91","type":"feature","title":"Codeveld op de aanmeldpagina","solution":"De aanmeldpagina heeft nu een veld voor de kortingscode dat zich automatisch invult vanuit de link, met directe bevestiging van de langere proefperiode. Werkt in alle vier de talen."}]},{"date":"2026-06-04","version":"v8.90","clV":"v10.5","title":"Tools: schaduw van de tool-kaarten wordt niet meer afgesneden, Contracten: overzicht-knop + links nu correct gestyled (styled-jsx scope-fix) & 41 meer","items":[{"num":"v8.90","type":"polish","title":"De zachte gloed/schaduw onder elke tool-kaart werd aan de onderkant afgekapt","problem":"De tools-rij is horizontaal scrollbaar; door een browser-eigenaardigheid clipte die scroll-container ook verticaal, waardoor de hover-schaduw van de kaarten aan boven- en onderkant werd afgesneden.","solution":"De scroll-container heeft nu ruim verticale ademruimte (met een compenserende marge zodat de layout exact gelijk blijft), zodat de volledige zachte schaduw rondom elke kaart netjes zichtbaar is."},{"num":"v8.89","type":"bugfix","title":"De knop \"Bekijk alle verstuurde contracten\" bleef een platte tekstlink","problem":"De knop \"Bekijk alle verstuurde contracten\" verscheen als een kale tekstlink in plaats van een duidelijke knop.","solution":"De knop toont nu correct als een nette, gestylede knop. Ook de overige links in het contractenoverzicht zijn hiermee goed opgemaakt."},{"num":"v8.88","type":"polish","title":"De nieuwe tools toonden een generiek rondje i.p.v. een eigen icoon","solution":"Elke nieuwe tool heeft nu een eigen gradient-icoon in de tools-grid (hartje, grafiek, euro, pijl, schild, paletâ¦), passend bij de kleur van de tool zelf."},{"num":"v8.87","type":"feature","title":"Een batch handige, snelle tools die volledig in je browser werken â geen AI nodig","solution":"Toegevoegd: Engagement-rate calculator (met benchmark per platform), Advertentie-statistieken (CPM/CPC/CPA/ROAS/break-even), Influencer-tarief calculator, Groei-projectie, Klant-ROI calculator, Instagram witregel-fixer, Fancy tekst generator (unicode bold/cursief), Formaat & safe-zones (export per social-formaat), Carousel-splitter, Kleurenpalet-extractor en een Brand-safety check. Allemaal direct, privacy-vriendelijk (alles client-side) en in 4 talen."},{"num":"v8.86","type":"polish","title":"\"Bekijk alle verstuurde contracten\" is nu een duidelijke teal pill-knop","problem":"De vorige
2knop-styling was te subtiel en oogde nog als een gewone tekstlink.","solution":"De knop heeft nu een duidelijke teal rand + lichte teal vulling (pill-vorm), zodat het direct als knop herkenbaar is."},{"num":"v8.85","type":"polish","title":"De maandelijkse omzetgrafiek (Financieel) heeft een moderne, premium look","solution":"De maandbalken hebben nu gradient-vullingen met diepte en een subtiele gloed, afgeronde vormen, een fijne scheiding tussen vast (recurrent) en eenmalig, een soepele opbouw-animatie en een duidelijker hover-effect (de maand komt omhoog en licht op). Toekomstige maanden tonen nu als een nette, vlakke projectie. Werkt in light- en dark-mode."},{"num":"v8.84","type":"bugfix","title":"De maand-afkortingen onder de grafiek stonden altijd in het Nederlands","problem":"De labels (jan, feb, mrtâ¦) waren hardcoded Nederlands en vertaalden niet mee met de taal van het portaal.","solution":"De maanden verschijnen nu in de gekozen taal (bv. JAN/FEB/MAR in het Frans, JAN/FEB/MÃR in het Duits)."},{"num":"v8.83","type":"polish","title":"De link naar het contracten-overzicht is nu een subtiele knop","solution":"In Instellingen â Contracten staat \"Bekijk alle verstuurde contracten\" nu als smalle, omrande knop in plaats van een platte tekstlink."},{"num":"v8.82","type":"polish","title":"\"Voorbeeld\"-knop direct bij elke template","problem":"Je moest een template eerst openen in de editor om een voorvertoning te zien.","solution":"Elke template in de lijst heeft nu een eigen \"Voorbeeld\"-knop â één klik en je ziet het gebrande contract met voorbeeldgegevens."},{"num":"v8.81","type":"feature","title":"Zoeken in het contracten-overzicht + notificatie aan/uit","solution":"In het overzicht zoek je nu direct op klantnaam of contract. En in de instellingen zet je met één vinkje de \"contract bekeken\"-melding aan of uit voor je bureau."},{"num":"v8.80","type":"feature","title":"Melding zodra de klant je contract opent","solution":"Je krijgt nu een in-app melding (belletje rechtsboven) zodra een klant je verstuurde contract voor het eerst opent. Uit te zetten per bureau."},{"num":"v8.79","type":"feature","title":"Automatische herinnering + welkomstmail","solution":"Stel per contractsjabloon in dat een niet-ondertekend contract na een paar dagen automatisch een herinnering krijgt. Kies daarnaast een welkomstmail als actie na ondertekening, zodat de klant direct een persoonlijk bericht van je bureau ontvangt."},{"num":"v8.78","type":"feature","title":"Eén overzicht met alle verstuurde contracten","problem":"Je kon contracten alleen per klant bekijken. Geen totaaloverzicht van wat verstuurd/bekeken/getekend is.","solution":"Via Instellingen â Contracten â \"Bekijk alle verstuurde contracten\" zie je nu een tabel met álle contracten van je bureau, met filters per status (concept/verstuurd/bekeken/getekend/geannuleerd/verlopen) en directe links naar de klant of het contract."},{"num":"v8.77","type":"feature","title":"Bulk versturen","solution":"Stuur in één keer hetzelfde contract naar meerdere klanten: kies een template, vink de klanten aan en verstuur. Klanten zonder e-mailadres worden netjes overgeslagen en gerapporteerd."},{"num":"v8.76","type":"feature","title":"Tegen-ondertekening: ook het bureau zet een handtekening","problem":"Tot nu toe tekende alleen de klant een contract, terwijl sommige overeenkomsten juist een handtekening van beide partijen vragen.","solution":"Zet tegen-ondertekening aan op een sjabloon en er verschijnt, zodra de klant heeft getekend, een knop om ook namens je bureau te tekenen. Naam en datum van de tegen-ondertekening komen op het contract te staan."},{"num":"v8.75","type":"feature","title":"Optionele e-mailverificatie vóór ondertekenen","solution":"Zet \"E-mailverificatie vereisen\" aan op een template. De klant vraagt dan eerst een 6-cijferige code aan die naar zijn e-mailadres wordt gestuurd, en moet die invullen om te kunnen tekenen â een extra zekerheid dat de juiste persoon ondertekent."},{"num":"v8.74","type":"feature","title":"Klant zet een echte handtekening en kan zelf velden invullen","problem":"Ondertekenen was alleen een vinkje + naam. Niet alle bureaus vonden dat genoeg, en de klant kon geen eigen gegevens toevoegen.","solution":"De klant tekent nu met de muis/vinger een echte handtekening (optioneel) en vult de door jou ingestelde velden in (bijv. eigen bedrijfsnaam). Die worden direct in het contract verwerkt."},{"num":"v8.73","type":"feature","title":"Audit-bewijs, vervaldatum en PDF-download","solution":"Bij ondertekening worden datum, tijd en e-mailadres vastgelegd, samen met een controle die aantoont dat het contract niet is gewijzigd. Een verlopen ondertekenlink wordt netjes geblokkeerd, en klant en bureau kunnen het getekende contract met één klik downloaden als PDF."},{"num":"v8.72","type":"feature","title":"4 nieuwe kant-en-klare templates: geheimhouding (NDA), influencer-samenwerking, projectovereenkomst en advertentiebeheer","problem":"Er was maar één standaard dienstverleningsovereenkomst. Voor andere situaties moest je alles zelf schrijven.","solution":"Via de knop \"Uit voorbeeld\" in Instellingen â Contracten kies je nu uit 5 starters (incl. de bestaande). Elke starter is direct beschikbaar in NL/EN/DE/FR en daarna vrij aan te passen."},{"num":"v8.71","type":"feature","title":"Eigen variabelen en klant-invulvelden","problem":"Je kon alleen de vaste variabelen (klantnaam, tarief, etc.) gebruiken.","solution":"Definieer per template je eigen {{variabelen}} met een standaardwaarde, en velden die de klant zélf invult bij het ondertekenen (bijv. zijn bedrijfsnaam). Beide verschijnen als knop in de variabele-picker."},{"num":"v8.70","type":"feature","title":"Template dupliceren + ondertekenopties per template","solution":"Dupliceer een template met één klik als startpunt voor een variant. Per template stel je opties in: e-mailverificatie vereisen, het bureau laten tegen-ondertekenen, de ondertekenlink laten verlopen na X dagen, automatisch een herinnering sturen, en een actie na ondertekenen (welkomstmail)."},{"num":"v8.69","type":"polish","title":"Het branche-ringdiagram toonde een grote, zilver-grijze boog die er goedkoop uitzag","problem":"Branches voorbij de top 8 werden gebundeld tot één \"Overige\"-segment met een doorzichtig-witte kleur. In de demo (waar elke klant z'n eigen branche heeft) werd dat een groot grijs blok, dat door een kleur-renderbug ook nog eens een zilveren verloop kreeg.","solution":"In de demo tonen we nu alle branches als eigen, kleurig segment (geen \"Overige\"-bundel meer). De kleur-rendering is gefixt zodat elke kleur netjes verloopt, en het \"Overige\"-segment (dat echte bureaus met veel branches nog kunnen zien) heeft nu een nette zachte tint i.p.v. het zilvergrijs."},{"num":"v8.68","type":"polish","title":"De legenda van de ringdiagrammen toonde een (horizontale én verticale) scrollbalk, ook als je er niet overheen ging","problem":"Bij veel branches/platforms werd de legenda scrollbaar en bleef de scrollbalk constant zichtbaar â een browser-eigenaardigheid liet zelfs een overbodige horizontale balk verschijnen.","solution":"De scrollbalk is nu standaard onzichtbaar en verschijnt subtiel zodra je met je muis over de legenda gaat. De horizontale balk is volledig verwijderd (lange labels korten netjes af)."},{"num":"v8.67","type":"polish","title":"De staafdiagrammen (klantc
2ohort, productiviteit per weekdag) kregen een premium look","solution":"De balken hebben nu gradient-vullingen met diepte, een subtiele gloed, afgeronde \"zwevende\" vormen, een fijne scheiding tussen gestapelde delen (actief/inactief), een soepele opbouw-animatie en oplichten-bij-hover. Werkt in light- en dark-mode â in dezelfde stijl als de vernieuwde ringdiagrammen."},{"num":"v8.66","type":"bugfix","title":"De weekdag-namen in \"productiviteit per weekdag\" stonden altijd in het Nederlands","problem":"De afkortingen (ma, di, woâ¦) waren hardcoded Nederlands en vertaalden niet mee met de gekozen taal.","solution":"De weekdagen verschijnen nu in de taal van het portaal (bv. Mon/Tue/Wed in het Engels, Lun/Mar/Mer in het Frans)."},{"num":"v8.65","type":"polish","title":"De donut-grafieken (branches, platforms) zien er nu high-tech en premium uit","solution":"De ringdiagrammen op de Statistieken-pagina hebben nu gradient-segmenten met diepte, een subtiele gekleurde gloed per segment, strakke scheidingen tussen de delen, een fijne binnenring, een teal-gloed met gradient-cijfer in het midden en een soepele opbouw-animatie. Beweeg je over een segment, dan licht dat segment op en dimmen de andere. Werkt in zowel light- als dark-mode."},{"num":"v8.64","type":"bugfix","title":"Letterlijke \"{count}\" verdwenen uit de berichtenteller","problem":"In de e-mail-module stond boven een gesprek \"2 {count} berichten in deze conversatie\" â de placeholder \"{count}\" werd letterlijk getoond i.p.v. vervangen (een foutje uit de grote vertaalronde).","solution":"De teller toont nu gewoon \"2 berichten in deze conversatie\" (het aantal werd al apart weergegeven, dus de dubbele placeholder is verwijderd) â in alle 4 talen."},{"num":"v8.63","type":"bugfix","title":"De taal-demo's lieten het standaard platform-logo zien i.p.v. het ingestelde bureau-logo","problem":"De nieuw aangemaakte taal-demo's (EN/DE/FR) hadden geen eigen logo, waardoor de zijbalk terugviel op het standaard platform-logo in plaats van het bureau-logo dat op de Nederlandse demo is ingesteld.","solution":"Het bureau-logo van de Nederlandse demo wordt nu automatisch doorgezet naar alle taal-demo's, zodat ze er in elke taal identiek uitzien."},{"num":"v8.62","type":"bugfix","title":"Taal wijzigen in de demo veranderde wel de knoppen, maar de klanten/agenda/CRM bleven Nederlands","problem":"Wisselde je van taal terwijl je al in de demo zat, dan werd de interface wel vertaald, maar bleven de klanten, agenda en CRM in het Nederlands staan.","solution":"Wissel je nu van taal in de demo, dan word je automatisch naar de volledig vertaalde demo in die taal gezet, inclusief eigen klanten, agenda en CRM."},{"num":"v8.61","type":"feature","title":"Tools, CRM, onboarding, meetings, e-mail en tientallen andere schermen vertalen nu mee","problem":"Veel onderdelen van het portaal stonden nog vast in het Nederlands en bleven dus Nederlands staan voor wie een andere taal had ingesteld, zoals de tools, de klant- en onboardingborden, de vergaderinstellingen en de e-mail-inbox.","solution":"Honderd schermen zijn nagelopen en bijna tweeduizend teksten zijn nu beschikbaar in het Nederlands, Engels, Duits en Frans. Het overgrote deel van het portaal is nu volledig viertalig."},{"num":"v8.60","type":"feature","title":"De demo toont nu een compleet gelokaliseerde beleving (NL/EN/DE/FR) in plaats van altijd Nederlandse data","problem":"Wie de demo in het Engels, Duits of Frans bekeek kreeg wel een vertaalde interface, maar de inhoud bleef Nederlands: Nederlandse klantnamen (Bloem & Stijl), een Nederlandse CRM-pipeline, Nederlandse taken, onboarding en mailbox. Een Franse bezoeker zag dus klanten en een CRM die hij niet kon lezen.","solution":"Er is nu per taal een eigen, volledig vertaalde demo-omgeving. Kies je Frans, dan zie je Franse klanten (Fleur & Style), een Franse CRM met Franse fases (Lead entrant, Entretien planifié, Devis envoyé...), Franse taken, financiën, onboarding én een Franse mailbox â met cultureel passende namen en teksten. Idem voor Engels en Duits. De \"Bekijk demo\"-knop brengt je automatisch naar de demo in de taal die je hebt gekozen."},{"num":"v8.59","type":"bugfix","title":"Een wit logo (voor donkere achtergrond) was onzichtbaar op het witte contract â de branding-preview leek leeg","problem":"Het contract is een wit document, dus het pakte je logo voor lichte achtergrond. Had je alleen het standaard \"logo donker\" ingesteld (meestal een wit logo voor je donkere sidebar), dan stond er een wit logo op een witte achtergrond â onzichtbaar. De branding-preview in de instellingen oogde daardoor leeg.","solution":"De kopbalk van het contract kiest nu automatisch de juiste achtergrond bij je logo: heb je een logo voor lichte achtergrond, dan een strakke witte balk; heb je alleen een (wit) logo voor donkere achtergrond, dan een donkere balk zodat het altijd zichtbaar is. Geen logo? Dan netjes je bedrijfsnaam. Dit geldt op de ondertekenpagina en in beide previews (instellingen + klantprofiel)."},{"num":"v8.58","type":"bugfix","title":"De knoppen \"Opslaan\" en \"+ Nieuwe template\" hadden donkere, slecht leesbare tekst op de teal achtergrond","problem":"In Instellingen â Contracten was de tekst van de primaire knoppen donker (bijna zwart) op de teal/petrol achtergrond, vooral in dark mode nauwelijks leesbaar.","solution":"De tekst van de primaire knoppen is nu wit in zowel light als dark mode â net als de overige primaire knoppen in het portaal."},{"num":"v8.57","type":"bugfix","title":"Inlogformulier verschijnt niet meer kort in dark mode bij uitloggen","problem":"Wie vanuit het portaal in dark mode uitlogde, zag het inlogformulier ~1 seconde in donker en daarna pas naar light verspringen.","solution":"Login- en signup-success-paginaâs staan nu al vóór de eerste paint op light (server-HTML én inline script), dus geen flits meer. Je dark-voor
2keur blijft bewaard voor zodra je opnieuw inlogt."},{"num":"v8.56","type":"bugfix","title":"Tabbladen en teksten op de huisstijl- en klantprofiel-pagina vertalen nu mee","problem":"In EN/DE/FR bleven diverse onderdelen Nederlands: de tabs Huisstijl/Abonnement en Identiteit/Kleuren/Domein/E-mail, de LinkedIn-tip en sectie \"Platformen\", de commissie/koppel-velden bij contracten, en de \"AI brand-voice\"-tab in het bewerk-venster.","solution":"Al deze teksten lopen nu via het vertaalsysteem (118 nieuwe sleutels) en zijn beschikbaar in Nederlands, Engels, Duits en Frans."},{"num":"v8.55","type":"polish","title":"Streepje naast \"Contracts\" stond te ver van de titel","problem":"In de Contracts-sectie van het klantprofiel duwde de uitlijning het decoratieve streepje, de titel en de knop uit elkaar, waardoor de titel midden in de balk zweefde.","solution":"Het streepje staat nu netjes naast de titel en de knop rechts, gelijk aan de andere sectie-koppen."},{"num":"v8.54","type":"polish","title":"De voorvertoning op het klantprofiel toont nu hetzelfde gebrande contract als de template-editor","problem":"Bij het versturen van een contract vanaf het klantprofiel toonde de voorvertoning alleen de kale inhoud, zonder je logo of accentkleur. Dat kwam niet overeen met de preview in de template-editor en gaf geen volledig beeld van wat de klant zou zien.","solution":"De preview op het klantprofiel rendert nu het volledige gebrande contract â met je huisstijl-logo en accentkleur in de koptekst en nette opmaak van de inhoud â identiek aan de editor-preview en aan wat de klant op de ondertekenpagina krijgt. Hier worden de échte gegevens van de klant ingevuld."},{"num":"v8.53","type":"polish","title":"Het fijne blueprint-raster op de achtergrond is nu ook zichtbaar in light mode","problem":"Het 64Ã64 raster-backdrop dat het dashboard zijn premium \"blueprint\"-uitstraling geeft, was in light mode praktisch onzichtbaar: de lijnen stonden op slechts 2,2% dekking én de content-laag dekte het raster volledig af met een dekkende crème achtergrond. In dark mode was het wél zichtbaar.","solution":"De main-content is in light mode nu transparant zodat het raster doorschijnt (net als in dark mode), met de crème basiskleur op een laag eronder. De rasterlijnen kregen meer dekking (0,05) zodat ze subtiel zichtbaar zijn op de lichte achtergrond. Het raster verschijnt overal in het dashboard, met dezelfde edge-fade naar de randen."},{"num":"v8.52","type":"feature","title":"Knop \"Voorbeeld\" in de template-editor toont het contract precies zoals de klant het ziet","problem":"Bij het schrijven of bewerken van een contract-template zag je alleen de ruwe Markdown-tekst met {{variabelen}}. Je kon niet controleren hoe het uiteindelijke contract eruit zou zien zonder het eerst op te slaan en naar een echte klant te sturen.","solution":"In Instellingen â Contracten zit nu een \"Voorbeeld\"-knop in de editor. Die opent een nette voorvertoning van het volledige contract â met je huisstijl-logo en accentkleur bovenaan, en alle variabelen ingevuld met fictieve voorbeeldgegevens (een voorbeeldklant). Zo zie je direct hoe het oogt voordat je iets verstuurt. Sluit met Escape of een klik buiten het venster."},{"num":"v8.51","type":"feature","title":"De volledige Launchpad-onboarding vertaalt nu mee naar Engels, Duits en Frans","problem":"De onboarding-checklist toonde in het Engels, Duits en Frans een mix van talen: de knoppen waren vertaald, maar de 35 taken en de 7 categorieën stonden nog in het Nederlands.","solution":"Alle taken, categorieën en overige teksten van de onboarding-checklist zijn nu volledig vertaald, zodat de hele ervaring consistent in je gekozen taal verschijnt."},{"num":"v8.50","type":"feature","title":"Je bureaulogo en accentkleur staan nu op het contract en de ondertekenpagina","problem":"De ondertekenpagina toonde bovenaan alleen je bureaunaam als tekst â het logo werd wel opgehaald maar nergens getoond. Een contract zag er daardoor minder af en minder \"van jou\" uit.","solution":"Het logo uit je Huisstijl (voorkeur: de variant voor lichte achtergrond) staat nu bovenaan elk contract én de ondertekenpagina, met je accentkleur als onderlijn. In Instellingen â Contracten zie je een live preview van het contract-kopje, met een knop direct naar Huisstijl om logo of kleur aan te passen. Branding is centraal: wijzig je het in Huisstijl, dan past het overal mee."},{"num":"v8.49","type":"feature","title":"Contracten werken nu ook voor bedrijven zonder KvK/BTW (bijv. een Amerikaans bedrijf met EIN/Tax ID)","problem":"De contractsjablonen waren volledig op de Nederlandse situatie gebouwd met vaste velden voor KvK- en btw-nummer, waar een buitenlands bureau niets mee kon.","solution":"De velden zijn nu landneutraal (registratienummer en btw/tax ID), en de Engelse, Duitse en Franse standaardsjablonen gebruiken passende varianten. De Nederlandse sjabloon blijft gewoon KvK en btw tonen, en de nieuwe velden zijn ook los toe te voegen aan een eigen sjabloon."},{"num":"v8.48","type":"polish","title":"Instellingen â Contracten toonde twee keer \"Contracten\" boven elkaar","problem":"De kleine kop-label (eyebrow) en de paginatitel toonden allebei hetzelfde wo
2ord \"Contracten\", waardoor het er dubbel uitzag.","solution":"De eyebrow toont nu de categorie \"Instellingen\" (zoals op de andere instellingenpagina's) en daaronder de titel \"Contracten\" â consistent met de rest van het portaal, in alle 4 de talen."},{"num":"v8.47","type":"polish","title":"Het kalender-paneel toonde in dark mode het achtergrond-raster van het portaal er doorheen","problem":"In de donkere weergave scheen het achtergrondpatroon van het portaal door het agendapaneel heen, wat een rommelig dubbel rasterbeeld gaf.","solution":"Het paneel heeft in de donkere weergave nu een ondoorzichtige achtergrond, net als in de lichte weergave, zodat het patroon niet meer doorschijnt en het paneel duidelijk als kaart oogt."},{"num":"v8.46","type":"feature","title":"Je voorkeurstaal wordt onthouden per gebruiker, ook op een ander apparaat","problem":"De taalkeuze zat alleen in een browser-cookie. Dat werkte op hetzelfde apparaat, maar je account \"onthield\" je taal niet: log je in op je telefoon of een andere browser, dan moest je opnieuw kiezen. En op een gedeelde computer kon de laatste bezoeker-keuze jouw taal overschrijven.","solution":"Je gekozen taal wordt nu opgeslagen bij je account. Bij inloggen wordt automatisch JOUW taal toegepast (ook op een nieuw apparaat), en wissel je terwijl je ingelogd bent dan onthoudt je account dat. Uitgelogde bezoekers blijven de browser-keuze gebruiken: zet je op de website Duits, dan staan de demo, de changelog én het inlogformulier nog steeds meteen in het Duits. De demo blijft altijd de bezoeker-keuze volgen (gedeeld account)."},{"num":"v8.45","type":"bugfix","title":"De \"vandaag\"-kolom in de week-agenda toonde dubbele/rommelige lijnen (\"strepen over strepen\")","problem":"De kolom van de huidige dag in de weekagenda liet door een doorschijnende achtergrond het paginapatroon en de eigen rasterlijnen over elkaar heen zien.","solution":"Het kleuraccent van de huidige dag ligt nu op een ondoorzichtige basis, zodat de subtiele markering behouden blijft zonder dat er lijnen doorheen schijnen, in zowel de lichte als de donkere weergave."},{"num":"v8.44","type":"feature","title":"Stuur een contract volautomatisch bij elke nieuwe klant","problem":"Je kon contracten al handmatig sturen, maar niet automatisch bij het aanmaken van een klant â wat je vaak juist wilt aan het begin van een samenwerking.","solution":"Onder Instellingen â Contracten kies je nu bij \"Automatisch versturen\" een template. Zodra je een nieuwe klant met een contact-e-mailadres aanmaakt, stuurt Senly dat contract automatisch ter ondertekening â zonder dat je iets hoeft te doen. Volledig opt-in (standaard uit), en de klant moet een e-mailadres hebben. Heeft een klant geen e-mail, dan gebeurt er niets en kun je later handmatig sturen."},{"num":"v8.43","type":"bugfix","title":"Bij het wisselen van taal (en bij het laden van pagina's in EN/DE/FR) zag je kort de Nederlandse versie flitsen","problem":"Bij het laden van een pagina in het Engels, Duits of Frans zag je heel kort de Nederlandse tekst flitsen voordat de juiste taal verscheen, vooral merkbaar direct na het wisselen van taal.","solution":"De juiste taal wordt nu al bij de eerste weergave van de pagina toegepast, zodat de flits van Nederlandse tekst verdwenen is."},{"num":"v8.42","type":"feature","title":"Digitale contracten â van template tot getekende handtekening, volledig in Senly","problem":"Bureaus moesten contracten buiten Senly opstellen, los versturen en handmatig bijhouden of een klant al had getekend, zonder overzicht.","solution":"Nieuwe contractenmodule: maak herbruikbare sjablonen met velden die automatisch worden ingevuld, genereer vanuit het klantprofiel in één klik een contract en stuur het ter ondertekening vanaf je eigen bureau-adres. De klant tekent op een eigen pagina, en je ziet in realtime of een contract is verstuurd, bekeken of getekend. Werkt in het Nederlands, Engels, Duits en Frans."},{"num":"v8.41","type":"feature","title":"Bedrijfsgegevens centraal â KvK, BTW en adres één keer invullen","problem":"Bedrijfsgegevens stonden nergens centraal en moesten in elk contract opnieuw worden getypt.","solution":"Onder Instellingen â Contracten vul je je juridische bedrijfsnaam, KvK, BTW-nummer en adres één keer in. Die worden automatisch als variabelen in elk contract gevuld."},{"num":"v8.40","type":"feature","title":"Bureaus kunnen hun abonnement nu zelf opzeggen (en weer hervatten) via Instellingen â Abonnement","problem":"Een bureau dat wilde stoppen moest daarvoor mailen, waarna het abonnement handmatig werd opgezegd â omslachtig en niet zo laagdrempelig als het aanmelden zelf.","solution":"Je kunt je abonnement nu zelf opzeggen via Instellingen, met een bevestigingsstap. Toegang blijft tot het einde van de lopende factuurperiode; loopt er al een opzegging, dan zie je de einddatum en kun je die met één klik ongedaan maken."},{"num":"v8.39","type":"bugfix","title":"Tariefoverzicht op de abonnement-pagina toonde verouderde, onvolledige prijzen","problem":"De pagina toonde twee tiers met hardcoded prijzen (\"1-20 klanten â¬50, 21+ â
2¬40\") die niet meer klopten met de echte facturatie-logica. De â¬60 één-klant-tier ontbrak volledig en de tier-grenzen waren verkeerd (1-20/21+ i.p.v. 1/2-19/20+).","solution":"De tarieven komen nu rechtstreeks uit lib/pricing.ts (één bron van waarheid die ook de daadwerkelijke Stripe-facturatie aandrijft). Weergave nu correct in 3 tiers: 1 klant â¬60, 2-19 klanten â¬50, 20+ klanten â¬40 (EUR; USD-tarieven $70/$60/$50). Kan nooit meer uit sync raken met de echte prijzen."},{"num":"v8.38","type":"bugfix","title":"\"Systeem\"-thema volgt nu betrouwbaar je licht/donker-instelling","problem":"De systeem-optie testte op (prefers-color-scheme: light) en viel bij twijfel terug op donker â een systeem zonder harde voorkeur werd zo onterecht donker. Ook werd de thema-cookie niet bijgewerkt en schakelde het portaal niet live mee.","solution":"We volgen nu de canonieke (prefers-color-scheme: dark)-query (bij twijfel licht), de cookie heelt zichzelf bij elke load, en een live-listener schakelt direct mee als je OS van licht naar donker wisselt terwijl het portaal openstaat."},{"num":"v8.37","type":"feature","title":"Elke update vertaalt nu mee naar Engels, Duits en Frans","problem":"De changelog-pagina toonde de titel en knoppen wel in je taal, maar de honderden updates zelf bleven in het Nederlands staan. De vertaling hing af van een cache die via een trage achtergrond-taak werd gevuld en de gedeelde AI-quota telkens uitputte â waardoor het overgrote deel van de updates nooit vertaald raakte.","solution":"Alle 680+ updates zijn nu permanent vertaald en als vaste data in het portaal opgenomen (Engels, Duits, Frans), met behoud van de juiste structuur per update. De vertaling staat er dus voor altijd, laadt direct en heeft geen cache of AI-quota meer nodig. Nieuwe updates worden automatisch bijvertaald. De zware vertaaldata blijft server-side zodat de pagina licht laadt."},{"num":"v8.36","type":"feature","title":"Nieuwe kolom \"Actieve klanten\" in het overzicht van verwezen bureaus","problem":"Affiliates zagen wel hun verdiende commissie per verwezen bureau, maar niet hoeveel actieve klanten dat bureau had, terwijl dat juist de commissie bepaalt.","solution":"Het overzicht van verwezen bureaus toont nu ook het aantal actieve klanten per bureau, zodat je in één oogopslag de omvang en de commissieopbouw ziet."},{"num":"v8.35","type":"polish","title":"Hero, labels en filters komen al vertaald uit de server","problem":"De changelog-titel, subtekst, statistiek-labels en filterknoppen werden eerst kort in het Nederlands getoond en klapten pas ná het laden om naar de gekozen taal. Die korte NL-flits liet de pagina \"onvertaald\" ogen, en zoekmachines zagen de Nederlandse versie.","solution":"De tekstvertaling is nu gekoppeld aan de taal die de server bepaalt (dezelfde portal_locale-cookie), niet aan de client die pas na laden omschakelt. De pagina komt zo meteen volledig in de gekozen taal binnen â geen flits meer en correcte taal voor Google."},{"num":"v8.34","type":"bugfix","title":"Gekozen taal stuurt nu het taal-attribuut van elke pagina aan","problem":"De pagina gaf altijd Nederlands als taal door aan de browser, ook als je een andere taal had gekozen, waardoor de browser onnodig aanbood de pagina te vertalen.","solution":"De pagina geeft nu je werkelijk gekozen taal door, zodat de vertaalprompt van de browser verdwijnt en de pagina zich overal consistent in de juiste taal presenteert."},{"num":"v8.33","type":"bugfix","title":"Taalwissel schrijft één schone cookie â geen achtergebleven NL meer","problem":"Oude bezoekers konden meerdere portal_locale-cookies tegelijk hebben (een legacy host-locked \"nl\" naast de nieuwe cross-subdomain keuze). De client koos daar soms de stale \"nl\" uit en herschreef de cookie terug naar NL, waardoor een net gekozen taal stilletjes terugviel.","solution":"De taalwissel (zowel de publieke nav als het portaal) wist nu eerst álle cookie-varianten en schrijft exact één schone keuze. De client geeft â net als de server â een bewust gekozen niet-NL taal altijd voorrang boven een achtergebleven NL-cookie."}]},{"date":"2026-06-03","version":"v8.32","clV":"v9.31","title":"Valuta op basis van IP-land bij signup â VS betaalt echt in dollars, Changelog-taal: stale-cookie bug opgelost + juiste entr
2ies vertaald & 21 meer","items":[{"num":"v8.32","type":"feature","title":"Signup-formulier toont én rekent af in de valuta van het bezoeker-land","problem":"Het aanmeldformulier toonde de valuta op basis van de taal van je browser, terwijl er altijd in euro's werd afgeschreven â een Amerikaanse bezoeker zag dus dollars maar betaalde in euro's.","solution":"De valuta wordt nu bepaald op basis van je land: bezoekers uit de Verenigde Staten, Canada, Mexico, Australië en Nieuw-Zeeland zien en betalen in dollars, de rest in euro's. De gekozen valuta blijft ook bij latere prijswijzigingen hetzelfde."},{"num":"v8.31","type":"infra","title":"Pricing-helpers en abonnement-weergave volledig valuta-bewust","problem":"De tariefberekening (lib/pricing) en alle Stripe-flows gingen uit van euro's.","solution":"calculateMonthlyAmount/ratePerClient/pricingLabel accepteren nu een currency-parameter met aparte USD-tarieven ($70/$60/$50 vs â¬60/â¬50/â¬40). createCheckoutSession + updateSubscriptionAmount gebruiken de juiste valuta (laatste leest 'm uit de bestaande subscription). De abonnement-instellingenpagina toont het juiste valutateken en de juiste tier-tarieven. Nieuw Tenant.currency veld (default eur, geen migratie nodig voor bestaande bureaus)."},{"num":"v8.30","type":"bugfix","title":"Server koos verkeerde taal bij dubbele taal-cookie","problem":"Oude bezoekers konden twee portal_locale cookies hebben: een legacy host-locked (vaak nog \"nl\") naast de nieuwe cross-subdomain cookie (bv. \"fr\"). De server pakte er willekeurig één â meestal de oude \"nl\" â waardoor de changelog in het Nederlands bleef ondanks taalkeuze FR/EN/DE.","solution":"getServerLocale parset nu ALLE portal_locale waarden uit de rauwe Cookie-header en geeft een expliciete niet-NL keuze voorrang. Een bewust gekozen taal wint zo altijd van een achtergebleven NL-cookie."},{"num":"v8.29","type":"bugfix","title":"Vertaal-cache warmde de verkeerde changelog-entries","problem":"De cache-warming pakte alle versie-nummers uit de broncode, inclusief interne (verborgen) entries. Daardoor vielen juist een deel van de ZICHTBARE entries buiten de gewarmde set en bleven die in het Nederlands.","solution":"Warming gebruikt nu de echte userFacingChangelog()-set, zodat precies de entries die op /changelog verschijnen vertaald + gecached worden in EN/DE/FR."},{"num":"v8.28","type":"bugfix","title":"Laatste signup-stap bleef in het Nederlands bij EN/DE/FR","problem":"De quiz-banner toonde de juiste taal (bv. \"FAST GESCHAFFT\" in het Duits) maar het aanmeldformulier eronder bleef Nederlands. Oorzaak: twee gescheiden taalsystemen â de landing/quiz gebruikt de \"senly-lang\" bron, terwijl het formulier via useLanguage() de \"portal_locale\" cookie leest die op /signup nog op NL kon staan.","solution":"De quiz geeft de gekozen taal nu als forcedLang-prop door aan het SignupForm. Het formulier gebruikt die taal direct voor alle teksten en de valuta-keuze (EUR/USD), in plaats van de losse portal-cookie. Geen reload of cookie-truc nodig â het formulier rendert meteen in de juiste taal. Werkt voor NL/EN/DE/FR."},{"num":"v8.27","type":"feature","title":"Klanten die tijdelijk pauzeren kun je nu op \"Gepauzeerd\" zetten","problem":"Een klant kon alleen Actief of Inactief zijn. Voor klanten die de dienstverlening even on hold zetten maar binnen enkele maanden terugkomen, was er geen passende status â je moest ze op Inactief zetten, waardoor ze niet meer te onderscheiden waren van echt beëindigde klanten.","solution":"Derde status \"Gepauzeerd\" toegevoegd tussen Actief en Inactief. Op het home-dashboard staat nu een derde filter-tab (amber accent) met eigen teller. In het klantprofiel is de oude aan/uit-knop vervangen door een 3-weg selector (Actief / Gepauzeerd / Inactief) met kleurcodering: groen / amber / grijs. De status-donut op het dashboard toont gepauzeerde klanten als apart amber segment."},{"num":"v8.26","type":"infra","title":"Technische opzet: onHold-veld + backwards-compatible afgeleide status","problem":"Klanten konden in het portaal alleen als actief of inactief gemarkeerd worden, zonder tussenvorm voor een tijdelijke pauze.","solution":"Er is nu ook een status \"Gepauzeerd\" naast Actief en Inactief, zodat je een klant tijdelijk kunt pauzeren zonder de klant helemaal te deactiveren. Beschikbaar in het Nederlands, Engels, Duits en Frans."},{"num":"v8.25","type":"polish","title":"\"TIJDELIJK · FOUNDER-TARIEF\" tekst wit i.p.v. teal"},{"num":"v8.24","type":"bugfix","title":"Changelog bleef hardnekkig NL door fragiele client-side aanpak","problem":"De changelog-pagina bleef in het Nederlands staan voor bezoekers die een andere taal hadden gekozen, ondanks een eerdere poging om dit te vertalen.","solution":"De vertaling gebeurt nu betrouwbaar bij het laden van de pagina zelf, onafhankelijk van de browser of het moment van laden, zodat bezoekers de changelog voortaan meteen in hun eigen taal zien."},{"num":"v8.23","type":"polish","title":"Aanmeldformulier (laatste stap) is nu veel breder over de pagina","problem":"De embedded SignupForm in de quiz was 640px breed â voelde te smal en krap op grote schermen.","solution":"Embedded-form verbreed naar 900px (wrapper 940px) met ruimere card-padding (clamp 32-56px). Standalone /signup ongewijzigd. Het formulier ademt nu en vult de pagina beter."},{"num":"v8.22","type":"bugfix","title":"\"Verwezen via PARTNERS\"-badge was deels onleesbaar en niet netjes opgemaakt","problem":"De affiliate-code in de badge had een witte transparante achtergrond (rgba(255,255,255,0.06)) â relic van het oude donkere thema, dus nagenoeg onzichtbaar op de lichte form-achtergrond. De code \"PARTNERS\" leek los te zweven.","solution":"Badge opgemaakt voor licht thema: teal achtergrond (#0d9488 tekst op rgba(20,184,166,0.14)), vette code-pill met afgeronde hoeken, betere spacing en uitlijning. Nu duidelijk leesbaar en netjes gecentreerd."},{"num":"v8.21","type":"bugfix","title":"Changelog bleef in NL ondanks taalkeuze EN/DE/FR","problem":"Ondanks de eerdere reparatie bleef de changelog-pagina voor sommige bezoekers toch in het Nederlands ver
2schijnen, ook na het kiezen van een andere taal.","solution":"De onderliggende oorzaken zijn verholpen: de vertaling wordt nu gegarandeerd geladen, en verouderde versies van de pagina worden bij elk bezoek automatisch vervangen door de actuele versie. Nieuwe changelog-items verschijnen nu automatisch vertaald zodra je een andere taal kiest."},{"num":"v8.20","type":"feature","title":"Urgency-banner met countdown boven de pricing-section","problem":"De tijdelijke lanceringskorting was wel zichtbaar via doorgestreepte prijzen, maar had geen tijdsdruk om nu te beslissen.","solution":"Een nieuwe banner boven de prijzen toont een aftellende timer van 15 minuten per bezoeker. Na afloop verschijnt een boodschap dat de korting voor deze sessie is verlopen, met een link naar contact om er alsnog gebruik van te maken. Beschikbaar in het Nederlands, Engels, Duits en Frans, en werkt ook goed op mobiel."},{"num":"v8.19","type":"polish","title":"SignupForm rendert nu zonder eigen donkere achtergrond binnen de quiz","problem":"De laatste stap van de quiz (het 14-dagen aanmeldformulier) toonde een smalle witte card op een donkere mesh-achtergrond. Dat botste met de lichte quiz-stappen ervoor â het leek een aparte donkere tab midden op het scherm.","solution":"SignupForm krijgt een nieuwe embedded-prop. In embedded-mode (wanneer de form als stap 5 in de quiz zit) wordt de eigen donkere .login-screen-v2-shell + mesh-orbs + dubbele Terug-knop weggelaten. De lichte quiz-achtergrond loopt nu door tot de rand, de witte form-card staat gecentreerd op volle breedte (max 680px) en de Terug-knop bovenaan de quiz blijft de enige. Standalone /signup (zonder quiz, mocht dat ooit nodig zijn) behoudt de oude donkere shell."},{"num":"v8.18","type":"bugfix","title":"Quiz gaf \"Er ging iets mis bij opslaan\" op de laatste stap","problem":"De laatste stap van de aanmeldquiz gaf soms een foutmelding bij het opslaan, waardoor je vlak voor het aanmeldformulier vastliep.","solution":"De quiz slaat je antwoorden nu altijd goed op, ook voordat je een account hebt, zodat je zonder onderbreking naar het aanmeldformulier doorgaat."},{"num":"v8.17","type":"polish","title":"\"Terug\"-knop op stap 1 gaat nu naar de homepage","problem":"Op de eerste quiz-stap was de Terug-knop disabled (grijs). Bezoekers die zich bedachten konden niet terug naar de landing page zonder de browser-back-knop.","solution":"Op stap 1 toont de knop nu \"Terug naar home\" en navigeert via history.back() (of / als er geen history is). Op stap 2-4 blijft het gewoon \"Terug\" naar de vorige quiz-stap. Vertaald naar NL/EN/DE/FR."},{"num":"v8.16","type":"bugfix","title":"Railway-deploy v9.08 faalde tijdens TS-compile op de \"Anders\"-knop in quiz stap 4","problem":"Bij het kiezen van 'Anders' in stap 4 van de aanmeldquiz kon de doorgaan-knop vastlopen.","solution":"De knop werkt nu betrouwbaar, zodat je na het kiezen van 'Anders' altijd verder komt in de quiz."},{"num":"v8.15","type":"bugfix","title":"Na het kiezen van attribution-bron ging quiz niet door naar signup-formulier","problem":"Na het aangeven waar je Senly had gevonden, bleef de aanmeldquiz soms hangen op de laatste stap.","solution":"Je komt nu altijd direct door naar het aanmeldformulier, zonder opnieuw te hoeven klikken."},{"num":"v8.14","type":"bugfix","title":"TikTok-logo onzichtbaar op stap 3 (witte cards)","problem":"TikTok-platform-card op stap 3 (\"Welke platformen beheer je?\") had kleur #ffffff (wit) ingesteld voor donker-thema, maar de quiz heeft een lichte achtergrond. Logo verdween dus volledig in de witte card.","solution":"TikTok-iconkleur in PLATFORM_OPTIONS aangepast naar #0a0a0a (bijna zwart), passend bij de officiële TikTok-brand op lichte achtergronden. Consistent met de andere platform-iconen (Instagram #E1306C, LinkedIn #0a66c2, Facebook #1877F2, YouTube #FF0000)."},{"num":"v8.13","type":"feature","title":"Stap 2 vraagt nu ook naar groei/business-pijn, niet alleen operationele zorgen","problem":"De aanmeldquiz vroeg alleen naar operationele uitdagingen, niet naar de groei- en omzetdruk waar bureaus vaak mee worstelen.","solution":"Je kunt nu ook aangeven of je worstelt met te weinig groei voor klanten, ROI aantonen, klantverloop, nieuwe klanten werven of pitches winnen, naast de bestaande operationele opties."},{"num":"v8.12","type":"feature","title":"665+ releases lazy-vertaald via Gemini, server-side gecached","problem":"De changelogpagina w
2as vertaald, maar de inhoud van losse releases stond nog alleen in het Nederlands.","solution":"Releases worden nu automatisch naar je eigen taal vertaald en blijven daarna direct beschikbaar voor iedereen die dezelfde taal gebruikt."},{"num":"v8.11","type":"polish","title":"Quiz refactored naar grid-cards layout (zoals Higgsfield) met witte achtergrond","problem":"De aanmeldquiz had een lijstweergave met emoji-iconen die niet aansloot bij de rest van de uitstraling van Senly.","solution":"De quiz toont nu overzichtelijke kaarten met eigen iconen per optie, een lichte achtergrond en subtiele teal-accenten, passend bij de rest van Senly."},{"num":"v8.10","type":"feature","title":"Pricing-section op senly.io toont nu ook doorgestreepte oude prijs + besparing","problem":"De prijzenpagina liet de kortingsprijs met besparing al zien, maar de prijzen op de homepage nog niet.","solution":"Ook op de homepage zie je nu de oude prijs doorgestreept naast de huidige prijs, inclusief besparingspercentage, ook als je met de klantenschuif speelt."},{"num":"v8.09","type":"bugfix","title":"Featured Growth-card had wit-op-licht tekst en was nauwelijks te lezen","problem":"De middelste pricing-card had alleen een teal-gradient als achtergrond zonder ondoorzichtige base. Op de marketing-pagina (lichte page-bg) schoof de page door de transparante gradient heen, waardoor de card bijna wit werd terwijl tekst + ondertitels + features op witte styling stonden â onleesbaar.","solution":"Teal-gradient nu gestapeld bovenop `var(--bg-elev)` als ondoorzichtige base. De Growth-card heeft daardoor dezelfde donkere basis-helderheid als de Trial- en Scale-card, met de teal-tint als subtiel accent erbovenop. Tekst, tags, prijzen en feature-lijst zijn weer goed leesbaar. Light-mode override blijft ongewijzigd."},{"num":"v8.08","type":"polish","title":"Voorbeeld-regels in pricing-cards tonen besparing concreet","problem":"De rekenvoorbeelden op de prijzenpagina toonden het bedrag, maar niet wat je daarmee bespaart.","solution":"Onder elk voorbeeld zie je nu ook de doorgestreepte oude prijs, zodat de besparing meteen duidelijk is."},{"num":"v8.07","type":"polish","title":"Blueprint-grid in dashboard-achtergrond minder opdringerig","problem":"De grid-lijnen die in v8.94 zijn toegevoegd waren op sommige plekken net te aanwezig en concurreerden met de content-cards.","solution":"Opacity van de lijnen verlaagd van 4.5% naar 2.2% (ongeveer halve sterkte). Hetzelfde in light- en dark-mode. Grid blijft zichtbaar als \"premium structuur\" maar trekt geen aandacht meer weg van de UI."},{"num":"v8.06","type":"polish","title":"Subtiele 64Ã64 grid-lijnen op de dashboard-achtergrond","problem":"De website had een fijn lijnenpatroon op de achtergrond dat een premium uitstraling gaf; het portaal had alleen een vlakke kleur.","solution":"Het portaal heeft nu hetzelfde subtiele lijnenpatroon op de achtergrond, in zowel het lichte als het donkere thema."},{"num":"v8.05","type":"polish","title":"Start-trial knop matcht nu de kleur van het gekozen platform-logo","problem":"De \"Start 14 dagen gratis\" CTA stond altijd in LinkedIn-blauw, ongeacht of je op Instagram, TikTok of Facebook tab stond. Inconsistent met het platform-specifieke karakter van de info-cards.","solution":"Per-platform brand-kleuren toegepast: Instagram = officiële rozeâpaarse gradient (#f09433 â #bc1888), TikTok = signature zwart met cyan+pink dubbele shadow-glow (#25F4EE + #FE2C55), LinkedIn = officiële LinkedIn-blauw (#0a66c2, ongewijzigd), Facebook = officiële Facebook-blauw (#1877F2). Inclusief platform-specifieke hover-states. CTA voelt nu visueel hoort bij de tab waar je op staat."},{"num":"v8.04","type":"feature","title":"Instagram + TikTok krijgen ook info-card stijl (in lijn met LinkedIn + Facebook)","problem":"Instagram en TikTok in de groeicalculator werkten via een opzoekactie die regelmatig faalde, met een omslachtige handmatige invoer als terugval.","solution":"Alle vier de platforms tonen nu direct dezelfde overzichtelijke kaart met platformspecifieke groeicijfers, zonder invoer of wachttijd."},{"num":"v8.03","type":"feature","title":"TikTok info-card heeft expliciete veiligheid-disclaimer over lage limiet","problem":"TikTok-cijfers (+150-250 volgers/mnd) lijken laag vergeleken met Instagram. Bezoekers vroegen zich af waarom.","solution":"Onder de TikTok-stats komt nu een amber waarschuwing-bubble: \"TikTok is streng met automatisering. Onze limiet staat bewust laag wegens veiligheidsprotocollen â zo loopt het account dat aan onze automation gekoppeld is geen risico.\" Transparant en geeft vertrouwen. Vertaald naar NL/EN/DE/FR."},{"num":"v8.02","type":"polish","title":"Calculator-code drastisch vereenvoudigd: scrape/error/manual-input/result UI verwijderd","problem":"Nu alle platforms dezelfde vaste kaartweergave gebruiken, was de oudere opzoek- en invoerstap overbodig geworden.","solution":"Deze onderdelen zijn opgeruimd. Je merkt hier als gebruiker niets van; de weergave blijft hetzelfde."}]}
2,{"date":"2026-06-02","version":"v8.01","clV":"v8.85","title":"Facebook info-card: invite-volume + conversie-cijfers, Growth calculator: Facebook erbij + per-maand cijfers + leesbare CTA & 33 meer","items":[{"num":"v8.01","type":"polish","title":"Facebook-stats vertellen nu het hele verhaal: 30k invites â 3-5k nieuwe volgers/mnd","problem":"De Facebook-cijfers in de calculator toonden alleen het eindresultaat, niet hoe Senly daarbij komt.","solution":"Je ziet nu ook het aantal uitnodigingen dat naar je pagina wordt gestuurd naast het aantal nieuwe volgers dat dat oplevert, in alle vier de talen."},{"num":"v8.00","type":"feature","title":"Facebook als 4e platform met info-card (+200-400 page-likes / +15-25 leads per maand)","problem":"De groeicalculator ondersteunde alleen Instagram, TikTok en LinkedIn, terwijl veel bezoekers ook naar Facebook-groei vragen.","solution":"Facebook is toegevoegd als vierde platform met een eigen kaart en realistische cijfers: 200 tot 400 nieuwe paginalikes en 15 tot 25 warme leads per maand, volledig automatisch."},{"num":"v7.99","type":"polish","title":"Volgersgroei-card toont nu per-maand cijfer in plaats van 3-maands totaal","problem":"Bezoekers zagen \"+19.976 extra volgers in 3 mnd\" maar moesten zelf delen door 3 om te begrijpen wat dat per maand betekent. Per-maand is concreter voor de \"wat krijg ik elke maand\"-vraag.","solution":"Delta-getal is nu (totaal-3mnd-groei / 3) met label \"extra volgers per maand\". Voorbeeld voor 90k-account: voor was \"+19.976 in 3 mnd\" â nu \"+6.659 per maand\". Consistent met de Warme leads-card die al per maand was."},{"num":"v7.98","type":"bugfix","title":"LinkedIn/Facebook \"Start 14 dagen gratis\" CTA: tekst was wit-op-wit onleesbaar","problem":"De knop 'Start 14 dagen gratis' bij LinkedIn en Facebook was door een kleurfout nauwelijks leesbaar.","solution":"De knop toont nu altijd de juiste kleuren, ook wanneer je eroverheen beweegt met de muis, voor beide platforms."},{"num":"v7.97","type":"feature","title":"Als Instagram-scrape faalt, kan bezoeker zelf z'n volgers invullen voor een persoonlijke prognose","problem":"Als de automatische Instagram-cijfers niet konden worden opgehaald, liep je vast zonder resultaat te zien.","solution":"Je kunt nu zelf je aantal volgers invullen en krijgt direct een persoonlijke groeiverwachting voor de komende drie maanden, in alle vier de talen en op elk apparaat."},{"num":"v7.96","type":"polish","title":"Achtergebleven @socialmediatools.nl-adressen vervangen door @senly.io","problem":"Op verschillende pagina's stond nog het oude e-mailadres van vóór de naamswijziging naar Senly.","solution":"Alle zichtbare adressen zijn bijgewerkt naar @senly.io, voor een consistente uitstraling."},{"num":"v7.95","type":"infra","title":"Optionele Cloudflare Worker omzeilt Railway IP-block bij Instagram","problem":"Instagram-gegevens ophalen voor de groeicalculator lukte vanaf onze servers regelmatig niet, waardoor je minder vaak direct een resultaat zag.","solution":"Instagram-gegevens worden nu via een betrouwbaardere route opgehaald, waardoor het resultaat vrijwel altijd meteen zichtbaar is."},{"num":"v7.94","type":"polish","title":"Het Telefoon-kanaal is van /contact afgehaald","problem":"Het Telefoon-kanaalblok (\"+31 (0)85 060 5050\") stond zichtbaar op de contactpagina en ook in de JSON-LD structured data, waardoor Google het mogelijk als snippet zou tonen. Voor de huidige supportflow (e-mail + formulier) is dat overbodig.","solution":"Het telefoonnummer is verwijderd van de contactpagina; e-mail en het contactformulier blijven de manier om ons te bereiken."},{"num":"v7.93","type":"feature","title":"LinkedIn werkt nu zonder scrape â statische info-card met realistische cijfers","problem":"Bij het kiezen van LinkedIn in de groeicalculator kreeg je alleen een melding dat de functie nog niet beschikbaar was.","solution":"LinkedIn toont nu direct een kaart met realistische cijfers: 600 tot 700 nieuwe connecties en 25 tot 35 warme leads per maand, volledig automatisch, met een directe knop om gratis te starten."},{"num":"v7.92","type":"bugfix","title":"Geen valse foutmelding meer als de mail al weg was","problem":"Bij snel achter elkaar mails verwijderen kreeg je soms een foutmelding, ook als de mail eigenlijk al verwijderd was.","solution":"Als een mail al blijkt te zijn verplaatst, telt dat nu gewoon als geslaagd. Echte fouten z
2ie je nog steeds netjes terug."},{"num":"v7.91","type":"polish","title":"Naam- en e-mail-placeholders zijn nu generieke voorbeelden","problem":"Het naam-veld toonde \"Dylan van Dijk\" als placeholder, het e-mail-veld \"[email protected]\". Voor bezoekers oogde dat als pre-filled formulier (alsof er al iemand ingevuld stond) en het hint nergens naar wat er verwacht wordt.","solution":"Vervangen door \"Volledige naam\" / \"Full name\" / \"Vollständiger Name\" / \"Nom complet\" voor naam, en \"[email protected]\" / \"[email protected]\" / \"[email protected]\" / \"[email protected]\" voor e-mail. Vier talen aangepast."},{"num":"v7.90","type":"bugfix","title":"Gmail-throttling fout opgevangen bij snel achter elkaar verwijderen","problem":"Bij het snel achter elkaar verwijderen van meerdere mails via Gmail kreeg je soms alsnog een foutmelding.","solution":"Verwijderacties worden nu automatisch opnieuw geprobeerd en netjes gespreid in de tijd, zodat ze vrijwel altijd in één keer slagen."},{"num":"v7.89","type":"bugfix","title":"Schakel naar DE â terug naar NL: footer bleef Duits","problem":"Bij het terugschakelen van Duits naar Nederlands bleef de voettekst van de website soms in het Duits staan.","solution":"De taalkeuze wordt nu altijd correct bijgewerkt, ook als je eerder van taal wisselde."},{"num":"v7.88","type":"bugfix","title":"\"Te veel verzoeken\" weg bij rapid-fire prullenbak-klikken","problem":"Snel achter elkaar meerdere mails naar de prullenbak klikken gaf soms een foutmelding, waarbij sommige mails wel uit beeld verdwenen maar niet echt verwijderd waren.","solution":"Klikken worden nu gebundeld tot één verzoek, zodat verwijderen betrouwbaar werkt, ook bij veel mails achter elkaar."},{"num":"v7.87","type":"polish","title":"Avatar-checkbox uit eerdere experiment teruggedraaid","solution":"De korte-tijdse avatar-vervang-checkbox is eruit; de inbox ziet er weer hetzelfde uit als daarvoor. Bulk via per-mail prullenbak-klik is met de queue snel genoeg dat aparte multi-select-UI niet nodig is."},{"num":"v7.86","type":"polish","title":"Selectie-checkbox vervangt het avatar i.p.v. ernaast komen","problem":"De checkbox stond als extra kolom voor de avatar, wat de grid-layout van de thread-row brak: rijen kregen verschillende breedtes, geselecteerde rijen leken groter. Plus de \"Verplaats naar prullenbak\"-knop in de bulk-bar was zo lang dat de tekst over drie regels brak en de hele bar uitelkaar trok.","solution":"Outlook-stijl: bij hover of selectie verandert de avatar in een ronde teal checkbox met vinkje. Geen extra kolom, geen layout-shift, alle rijen blijven precies even groot. Bulk-bar heeft nu icon-only 32x32 knoppen voor prullenbak + archief met tooltip â past op één regel."},{"num":"v7.85","type":"bugfix","title":"Contactformulier (en alles op app.senly.io) blijft in dezelfde taal als senly.io","problem":"Als je op senly.io een andere taal koos, sprong het portaal (zoals het contactformulier) soms terug naar het Nederlands.","solution":"Je taalkeuze blijft nu behouden op alle onderdelen van Senly, ook na het doorklikken naar het portaal."},{"num":"v7.84","type":"bugfix","title":"Status-pagina: component-namen en omschrijvingen nu in EN/DE/FR","problem":"De vetgedrukte kopjes op /status (Portaal, Marketing site, Database, Authenticatie, Email-verzending, Bestand-opslag, Achtergrond-jobs) en hun beschrijvingen kwamen recht uit de DB en bleven daarom altijd Nederlands â ook als de rest van de pagina al in een andere taal stond.","solution":"Nieuwe `localizeStatusComponent()`-helper mapt de DB-namen runtime naar de juiste taal. DB blijft de NL-bron-van-waarheid, geen migratie nodig. Onbekende toekomstige componenten vallen veilig terug op de DB-waarde, dus dit breekt niks."},{"num":"v7.83","type":"performance","title":"Typen in het zoekveld en klikken op een kaart triggert nu alleen herrenders van de componenten waarvan de props wijzigen","problem":"Typen in het zoekveld of het openklappen van een kaart in het Content Dagboek voelde traag aan, vooral op mobiel.","solution":"Alleen de onderdelen die daadwerkelijk veranderen worden nu bijgewerkt, waardoor typen en klikken merkbaar sneller reageren."},{"num":"v7.82","type":"feature","title":"Vink meerdere mails aan, één klik om alles in de prullenbak","problem":"Mails één voor één verwijderen was traag en liep bij grote aantallen tegen een limiet aan.","solution":"Je kunt nu meerdere mails aanvinken en in één klik naar de prullenbak verplaatsen of archiveren, zoals je gewend bent van Gmail en Outlook."},{"num":"v7.81","type":"performance","title":"Eén API-call voor 200 mails ipv 200 losse","problem":"Bij het verplaatsen van veel mails tegelijk liep je kans op foutmeldingen door het grote aantal losse verzoeken.","solution":"Verplaatsacties worden nu gebundeld verwerkt, zodat grote aantallen mails in één keer betrouwbaar worden verplaatst. Items die toch mislukken zie je gewoon terug om opnieuw te proberen."},{"num":"v7.80","type":"performance","title":"Drie perf-issues opgelost waardoor de Content Dagboek pagina merkbaar sneller laadt en filters direct reageren","problem":"Het Content Dagboek laadde onnodig traag en filters reageerden niet direct.","solution":"De pagina laadt nu sneller en filters reageren direct, zonder vertraging."},{"num":"v7.79","type":"bugfix","title":"Klikken op een tab landde soms niet volledig op de doelsectie (bv. Klantinfo werd niet bovenaan getoond)","problem":"Na het klikken op een tab, zoals Klantinfo, kwam de pagina soms net niet op de juiste plek uit.","solution":"De pagina scrollt nu altijd exact naar de juiste sectie, ook als de inhoud tijdens het scrollen verschuift."},{"num":"v7.78","type":"bugfix","title":"Klikken op een verre tab (bv. Klantinfo) liet de pill kort op Content \"stilstaan\" tijdens het scrollen","problem":"Bij het klikken op een tab verderop bleef de actieve markering soms even op de verkeerde tab hangen tijdens het scrollen.","solution":"De markering springt niet meer tussentijds naar een andere tab en blijft vanaf de klik op de juiste bestemming staan."},{"num":"v7.77","type":"bugfix","title":"Pill van actieve tab plakte nog steeds niet tegen de bar-rand ondanks v8.60","problem":"De markering van de actieve tab sloot op de klantpagina nog niet strak aan tegen de rand van de tabbalk.","solution":"De markering sluit nu overal consistent en strak aan tegen de tabbalk."},{"num":"v7.76","type":"polish","title":"De actieve tab-pill (groen) zat met een paar pixels witruimte van de bar-rand af; nu vult 'ie de bar tot tegen de border","problem":"De .client-tabs container had padding: 5px en de pill een kleinere border-radius (16px vs bar 20px). Het resultaat: een dubbele \"indent\" â de pill leek alsof er bewust ruimte omheen was gelaten, wat onbedoeld een lossere relatie tussen pill en bar gaf.","solution":"Padding op .client-tabs naar 0, pill border-radius en tab border-radius opgetrokken naar 19px (1px minder dan bar 20px voor visueel \"ingelegd\" effect). Tab interne padding 10px 16px (was 9px) zodat de tab-hoogte gelijk blijft. De pill plakt nu strak aan alle vier randen van de bar."},{"num":"v7.75","type":"polish","title":"Knop nu solid teal met witte tekst i.p.v. zwakke teal-on-light","problem":"De Maak klantmap-knop was teal tekst op een lichte teal-tint achtergrond â dat werkt in dark mode maar wast volledig weg in light mode. Op witte cards bijna onleesbaar.","solution":"Knop heeft nu de volle Senly-accent-kleur (#3FA8A0) als achtergrond met witte tekst. Goed leesbaar in beide modes, en consistent met andere primaire CTA-knoppen elders in het portaal."},{"num":"v7.74","type":"feature","title":"Maak klantmap-knop bij elke submap in de Drive-sectie","problem":"Als een klantprofiel gekoppeld was aan een te brede map, zag je alle andere klanten er ook in staan, zonder snelle manier om dat te corrigeren.","solution":"Elke submap in de Drive-sectie heeft nu een knop om die specifieke map als klantmap in te stellen, zodat je mismatches snel kunt herstellen."}
2,{"num":"v7.73","type":"feature","title":"Bewaar je \"Klanten\"-map als root, Senly matcht automatisch per klant","problem":"Na Drive-koppeling stond de root op je hele Drive (\"Mijn Drive\"). Daardoor scanden auto-koppeling en de folder-picker ALLE top-level mappen â inclusief vakantiefoto's, Inbox, etc. Bij een klant als \"Noes Fiolet Studio's\" zocht Senly tussen al die top-levels, vond geen match, en je moest manueel per klant doorklikken.","solution":"Op /admin/integraties/bestanden zit nu een \"Wijzig\"-knop bij de Drive-status. Klik door tot je in je \"Klanten\"-map zit (of welke parent dan ook waar al je klant-submappen onder hangen), klik \"â Klanten-root\" en Senly onthoudt die. Vanaf dan: opent een klantprofiel â Senly zoekt automatisch in JOUW klanten-map naar een submap met die klantnaam â koppelt die direct. Werkt met je bestaande structuur, geen verplaatsen nodig."},{"num":"v7.72","type":"feature","title":"Bestaande klantmappen worden direct herkend","problem":"Na het koppelen van je eigen Google Drive zag je alleen een lege map en moest je bestaande klantmappen handmatig verslepen.","solution":"Na het koppelen zie je nu direct al je bestaande mappen, inclusief eerder aangemaakte klantmappen, zonder iets te hoeven verslepen."},{"num":"v7.71","type":"feature","title":"Bureau's met eigen whitelabel-domein kunnen ook gewo
2on Drive koppelen","problem":"Bureaus met een eigen domein voor hun portaal konden Google Drive niet koppelen en kregen een foutmelding.","solution":"Google Drive koppelen werkt nu ook met een eigen domein, voor een onbeperkt aantal bureaus."},{"num":"v7.70","type":"infra","title":"Schema: Tenant.customDomain + OAuthSession.returnUrl","solution":"Ondersteunt bureaus met een eigen domein bij het koppelen van diensten zoals Google Drive; dezelfde aanpak is later ook voor andere koppelingen te gebruiken."},{"num":"v7.69","type":"feature","title":"Mailbox-filter in de e-mail-inbox","problem":"In het e-mail-overzicht zag je wel je gekoppelde mailboxen, maar je kon niet filteren om alleen de mails van één specifieke inbox te zien.","solution":"Klik op een inbox in de \"Inboxes\"-sectie van de sidebar om alleen mails uit die mailbox te tonen. Klik op \"Alle inboxen\" of nogmaals op de actieve inbox om de filter weg te halen. Actieve inbox wordt visueel gehighlight."},{"num":"v7.68","type":"feature","title":"Bureau's koppelen hun eigen Google Drive met één klik","problem":"Klantbestanden van alle bureaus liepen via één centrale opslag; als die uitviel, was Drive-toegang voor iedereen tijdelijk weg.","solution":"Je kunt nu met één klik je eigen Google Drive koppelen. Senly maakt automatisch een eigen map aan en gebruikt die voortaan als basis voor je klantbestanden."},{"num":"v7.67","type":"security","title":"Drive-scope beperkt tot \"drive.file\" â alleen Senly-content","problem":"Volledige toegang tot Google Drive zou ook toegang geven tot bestanden die niets met Senly te maken hebben.","solution":"Senly vraagt nu alleen toegang tot bestanden die Senly zelf aanmaakt of die je expliciet deelt; de rest van je Drive blijft onzichtbaar voor Senly."},{"num":"v7.66","type":"infra","title":"Nieuwe DB-model TenantDriveConnection + 4 OAuth-routes","solution":"Technische basis voor het koppelen van je eigen Google Drive, inclusief veilige opslag van de koppelgegevens per bureau."},{"num":"v7.65","type":"bugfix","title":"Topbar van het analyserapport was nauwelijks leesbaar","problem":"De knoppen en titel bovenaan het analyserapport waren nauwelijks leesbaar.","solution":"De bovenbalk is nu altijd goed leesbaar en ligt duidelijk boven de rest van het scherm."},{"num":"v7.64","type":"polish","title":"Analyserapport opent in een eigen viewer met \"Terug naar klant\" knop","problem":"PDF-rapporten openden in een verse tab zonder geschiedenis, dus de browser-terugknop deed niets. Je moest m sluiten en de klantpagina opnieuw zoeken.","solution":"Nieuwe pagina /klant/[slug]/evaluatie/[id] met sticky topbar: Terug-knop, klantnaam + datum, en een download-knop. PDF zelf draait in een iframe zodat scrollen via Chromes eigen viewer gaat."},{"num":"v7.63","type":"performance","title":"Vlot scrollen door grote PDF-rapporten","problem":"Scrollen door een lang PDF-rapport voelde traag, alsof elke pagina opnieuw moest laden.","solution":"PDF's laden nu per pagina in plaats van in één keer, dus je scrolt vloeiend door rapporten van tientallen pagina's."},{"num":"v7.62","type":"bugfix","title":"PDF van evaluatiegesprek opent niet meer in 404","problem":"Na het uploaden van een analyserapport bij een evaluatiegesprek gaf de downloadlink een foutmelding in plaats van het bestand.","solution":"De download werkt nu weer betrouwbaar, ook voor bestanden die na een update zijn geüpload. Bestaande uploads blijven gewoon beschikbaar."},{"num":"v7.61","type":"security","title":"PDF-rapporten alleen zichtbaar voor mensen met toegang tot de klant","problem":"Het oude pad /uploads/evaluations/eval-<clientId>-... was raadbaar â iedereen die de URL kende kon de PDF binnenhalen, ook zonder login.","solution":"De nieuwe download-route checkt requireClientAccess: alleen tenant-leden met toegang tot deze klant kunnen het rapport openen. Path-traversal is dichtgezet."},{"num":"v7.60","type":"bugfix","title":"De \"Plan een demo\" knop in de Hulp nodig-kaart op de Launchpad werkt weer","problem":"De \"Plan een demo\"-knop in de Hulp nodig-kaart op de Launchpad linkte naar een pagina die niet bestond, dus klikken leidde nergens heen.","solution":"De knop verwijst nu naar de juiste contactpagina en opent in een nieuw tabblad, zodat je ingelogd blijft."},{"num":"v7.59","type":"feature","title":"Knop \"Aftrek bewerken\" op de medewerker-kosten pagina opent een inline edit-modus waarin je per klantkoppeling de aftrek (â¬) op de klantomzet kunt aanpassen zonder naar het klantprofiel te navigeren","problem":"Je kon de aftrek op de klantomzet per sales-koppeling alleen aanpassen via het klantprofiel, wat bij tientallen koppelingen veel klikwerk was.","solution":"Op de medewerker-kosten pagina kun je nu direct in de tabel de aftrek per k
2oppeling bewerken en meteen zien hoe dat de commissie verandert. Koppelingen zonder aftrek blijven duidelijk herkenbaar."},{"num":"v7.58","type":"feature","title":"Per Appointmentsetter/Closer/Sales Manager-koppeling kun je nu een aftrek in euro instellen die zowel hun commissie als hun zicht op de klantomzet verlaagt","problem":"Bureaus konden hun sales-rollen niet belonen op basis van een lagere \"interne omzet\" dan de werkelijke klantomzet, zonder dat de sales-medewerker de echte prijs van de klant ziet.","solution":"Je stelt nu per koppeling een aftrek in euro in: die verlaagt zowel de omzet die de sales-medewerker ziet als de commissie die daarop berekend wordt. Jij als admin behoudt zelf altijd zicht op de werkelijke cijfers."}]},{"date":"2026-06-01","version":"v7.57","clV":"v8.22","title":"Canva OAuth: cookie-loos via state-in-URL â werkt 100% cross-site, Canva OAuth: PKCE-state in DB i.p.v. cookies â voor betrouwbare bureau-koppeling & 69 meer","items":[{"num":"v7.57","type":"bugfix","title":"Geen \"verifier_ontbreekt\" meer, zelfs niet in incognito of strict-cookie modus","problem":"Een Canva-account koppelen kon nog steeds mislukken in incognito of met strenge cookie-instellingen in de browser.","solution":"Koppelen werkt nu altijd, ongeacht browserinstellingen of privémodus, en blijft net zo veilig als voorheen."},{"num":"v7.56","type":"bugfix","title":"Geen \"verifier_ontbreekt\" / \"state_mismatch\" meer bij verbinden","problem":"Bij het koppelen van een Canva-account kon de verbinding mislukken door strenge browserinstellingen, vooral in incognito, waardoor nieuwe bureaus geen koppeling konden maken.","solution":"Koppelen verloopt nu betrouwbaar, onafhankelijk van browser of privémodus, en blijft even veilig als voorheen."},{"num":"v7.55","type":"polish","title":"Launchpad padding-top gelijk aan Takenbeheer (112px)","solution":"padding-top berekend als container-top (80px) + eyebrow-hoogte (12px) + eyebrow-margin (18px) + sa-title-row-margin (2px) zodat de h1 op dezelfde verticale positie staat."},{"num":"v7.54","type":"polish","title":"Launchpad-content heeft nu dezelfde zij-padding als Takenbeheer","solution":"20px extra horizontale padding toegevoegd aan lp-root zodat de afstand tot de zijbalk overeenkomt met pagina's die een .container wrapper gebruiken."},{"num":"v7.53","type":"polish","title":"Launchpad-content start bovenaan i.p.v. verticaal gecentreerd","solution":"justify-content: center verwijderd van lp-root zodat de titel op dezelfde verticale hoogte staat als Takenbeheer en andere pagina's."},{"num":"v7.52","type":"polish","title":"Launchpad-titel en info-popover gelijk aan Takenbeheer en andere pagina's","solution":"Titel gebruikt nu th2-title + sa-title-row, info-icoontje en popover zijn de gedeelde InfoPopover-component. Popover verschijnt altijd op de voorgrond via een hogere z-index op de titel-sectie."},{"num":"v7.51","type":"feature","title":"Per klant nu een vrije tekstbeschrijving van de persoon","problem":"Bij overdracht tussen social media managers ging persoonlijke kennis over de klant verloren â hoe iemand communiceert, voorkeuren, gevoeligheden. De bestaande \"Notities & wensen\" sectie is bedoeld voor schrijfinstructies aan de AI, niet voor het overdragen van mens-kennis.","solution":"Bovenaan de Klantinfo-tab staat nu een nieuwe sectie \"Persoonsprofiel\" met één vrij tekstveld (max 2000 tekens). Bedoeld voor overdracht: communicatiestijl, persoonlijkheid, voorkeuren, do/don't bij contact. Bewust niet doorgegeven aan de AI Caption Generator zodat gevoelige info niet per ongeluk in published content komt. Beschikbaar in nl/en/de/fr."},{"num":"v7.50","type":"polish","title":"Launchpad-paginatitel met klikbaar info-icoontje","solution":"Boven de voortgangsbalk staat nu \"Launchpad\" als paginatitel. Het info-icoontje ernaast opent een popover met uitleg over het doel van de Launchpad."},{"num":"v7.49","type":"polish","title":"Geen rode \"niet gevonden\"-melding meer op de klantpagina","problem":"Op elke klantpagina verscheen een rode foutmelding in de Documenten-sectie, ook bij bureaus die deze functie niet gebruiken.","solution":"De Documenten-sectie verschijnt nu alleen nog als je die functie daadwerkelijk hebt ingesteld â geen overbodige foutmelding meer voor bureaus die er niets mee doen."},{"num":"v7.48","type":"polish","title":"\"Nieuwe entry toevoegen\" niet meer dik-vet","problem":"De titel van de \"Nieuwe entry toevoegen\"-melding oogde te zwaar voor de rest van het venster.","solution":"De titel is nu minder dik gedrukt en sluit beter aan bij de rest van de stijl."},{"num":"v7.47","type":"feature","title":"Contact-picker bovenin \"Nieuwe entry toevoegen\"","problem":"Bij een nieuwe onboarding-entry moest je alle contactgegevens opnieuw intypen, ook als het contact al in je klantenbestand stond.","solution":"Je kiest nu bovenin het venster een bestaand contact op naam, bedrijf, e-mail of telefoon, en de velden vullen zich automatisch â met de mogelijkheid om ze daarna nog aan te passen."},{"num":"v7.46","type":"performance","title":"Cards verschijnen nu direct i.p.v. ~1 seconde golf","problem":"Kaarten op de Tools-pagina kwamen zichtbaar na elkaar in beeld vallen, wat als dubbel laden aanvoelde.","solution":"De kaarten verschijnen nu direct, zonder vertraging of golf-effect."},{"num":"v7.45","type":"bugfix","title":"Light-mode override op select/input werkte niet â styled-jsx scoped html-selector verkeerd","problem":"In het Financieel-tabblad van het klantprofiel hadden de keuzemenu's een donkere achtergrond in de lichte weergave, wat niet paste bij de rest van het scherm.","solution":"Invoervelden en keuzemenu's zijn nu wit in de lichte weergave, met dezelfde accentkleur bij focus als de rest van het portaal."},{"num":"v7.44","type":"performance","title":"Geen visuele dubbel-flash meer bij /tools openen","problem":"Bij het openen van de Tools-pagina zag je de kaarten twee keer na elkaar laden: eerst een tijdelijke set, daarna de echte.","solution":"De juiste kaarten staan er nu meteen bij het openen, zonder zichtbare wissel."},{"num":"v7.43","type":"polish","title":"Inline-styled loading-state met SVG-spinner â meteen vanaf eerste paint","problem":"Bij het openen van een boekingslink zag je eerst kort een ongestylede \"Ladenâ¦\"-tekst voordat de pagina zijn opmaak kreeg.","solution":"Je ziet nu direct een nette, gecentreerde laadanimatie, zonder tussenstap zonder opmaak."}
2,{"num":"v7.42","type":"bugfix","title":"Pijl sprong naar row 2 onder de avatar","problem":"Op sommige gebruikerskaarten stond het pijltje onder de avatar in plaats van ernaast, waardoor de kaart onnodig hoger was.","solution":"Het pijltje staat weer netjes op dezelfde regel als de rest van de kaart."},{"num":"v7.41","type":"bugfix","title":"Wit blok over donker dashboard opgelost â verkeerde CSS-vars","problem":"Op het dashboard van appointmentsetters was het compensatie-overzicht in de donkere weergave een groot wit vlak waardoor de cijfers onleesbaar waren.","solution":"Het overzicht gebruikt nu de juiste kleuren voor de donkere weergave, inclusief de statuslabels, zodat alles goed leesbaar is."},{"num":"v7.40","type":"polish","title":"User-cards ~40% lager zonder data te verliezen","problem":"Op /admin/users zag je maar 3-4 user-cards per scherm. Veel verticale ruimte tussen elementen, grote avatar, dikke padding.","solution":"Verkleind: avatar 56â44px, card padding 16â10px, name font 16â14.5px, email 12.5â12px, pills 4Ã10â2Ã8px met 10.5px font, gap tussen cards 10â6px. Activity-rij (Laatst ingelogd + Laatste actie) nu inline naast elkaar met 14px gap i.p.v. twee aparte regels. Alle data blijft 100% zichtbaar; alleen de witruimte krimpt. Resultaat: ~6-7 cards per scherm i.p.v. 3-4."},{"num":"v7.39","type":"feature","title":"Contentplanner-lib en alle 13 aanroepende routes herwerkt zodat per-tenant credentials overal worden gebruikt","problem":"Bureaus die in de contentplanner-integratie hun eigen koppeling hadden ingesteld, zagen toch nog het gedeelde platform-quotum gebruikt worden bij het plannen, publiceren en ophalen van statistieken.","solution":"Overal in de contentplanner wordt nu consequent je eigen koppeling gebruikt zodra je die hebt ingesteld, met het gedeelde quotum alleen als terugvaloptie. Een lek waarbij gegevens van meerdere bureaus door elkaar konden lopen in een overzicht, is bij deze update ook verholpen."},{"num":"v7.38","type":"feature","title":"Sessies-overzicht per gebruiker met \"log overal uit\"","problem":"Er was geen manier om te zien wie waar was ingelogd, of om een sessie van een gebruiker in één keer te beëindigen.","solution":"Je ziet nu per gebruiker een overzicht van recente logins met apparaat en locatie, en kunt met één klik alle sessies van die gebruiker beëindigen."},{"num":"v7.37","type":"feature","title":"2FA-status zichtbaar in gebruikerslijst","problem":"2FA-data zat al in de DB (User.mfaEnabled + mfaSecret) maar werd nergens in admin/users getoond. Admin kon niet snel zien welke users 2FA hadden ingesteld.","solution":"Nieuwe groene \"2FA aan\"-pill of grijze \"2FA uit\"-pill in elke user-card, naast bestaande GHL/open-taken pills. Direct zichtbaar wie nog 2FA moet activeren."},{"num":"v7.36","type":"infra","title":"IP-privacy via hash + prefix-only opslag","problem":"Volledige IP-adressen opslaan = privacy-overweging onder AVG/GDPR. Vereist rechtvaardigingsgrond en kort bewaartermijn.","solution":"IPs worden NOOIT volledig bewaard. We slaan op: (1) SHA-256(ip + server-salt) â voor dedup van \"zelfde apparaat opnieuw inloggen\" zonder dat het IP reconstrueerbaar is, (2) /24-prefix (83.83.122.*) voor leesbare weergave. Salt via env LOGIN_EVENT_SALT, fallback op proces-stabiele random salt. Idempotency-venster van 30 min voorkomt dubbele rijen."},{"num":"v7.35","type":"feature","title":"Nieuwe admin-page /admin/integraties/content-kalender met token + userId formulier","problem":"Voor de contentplanner-integratie kon je je eigen koppeling alleen technisch instellen, zonder een scherm in het portaal.","solution":"Je stelt je eigen koppeling nu in via een nieuw instellingenscherm, met een duidelijke status en de optie om te wijzigen of te verwijderen. Je ziet een melding als het gedeelde platform-quotum nog actief is omdat je zelf nog niets hebt ingesteld."},{"num":"v7.34","type":"performance","title":"Geen \"verdwijnende oudere events\" meer bij schaal","problem":"De activiteitenpagina toonde altijd maar een beperkt aantal recente gebeurtenissen, waardoor je bij een groeiend bureau de oudere niet meer kon terugvinden of doorzoeken.","solution":"Zoeken en filteren werken nu op je volledige geschiedenis, met een knop om steeds meer resultaten te laden en een teller die laat zien hoeveel er nog te zien zijn."},{"num":"v7.33","type":"bugfix","title":"platforms-card ::before/::after lekten uit hun container in dark mode","problem":"In de donkere weergave verscheen op het klantprofiel soms een storende gekleurde lijn boven de Content-sectie.","solution":"De opmaak van de platformkaarten is rechtgezet zodat deze lijn in beide weergaves niet meer voorkomt."},{"num":"v7.32","type":"infra","title":"Alle diagnose-test CSS-overrides verwijderd","problem":"Tijdens de zoektocht naar de bron heb ik 5 diagnose-blokken in globals.css toegevoegd (v7.79: knop verbergen, v7.81: hele Content verbergen, v7.82: collapsible-stack + platforms + spacer, v7.85: alleen collapsible-stack, v7.90: alleen platforms-strip).","solution":"Tijdelijke aanpassingen die tijdens het onderzoek naar een visuele storing zijn toegevoegd, zijn weer teruggedraaid."},{"num":"v7.31","type":"infra","title":"cp-collapsible-stack uitgesloten â testen platforms-strip","problem":"v7.85 wees uit dat de 4 CollapsibleSection cards NIET de bron zijn. Bron is dus de platforms-strip (Platformen-blok met platform-cards) of de spacer-div met margin-top: 72px.","solution":"Verberg alleen de platforms-strip (<div data-tour=\"klant-social\">). Sterke verdacht: .platforms-card[data-platform=\"tiktok\"] heeft een ::before met linear-gradient(90deg, #25F4EE, #FE2C55) â cyaanârood, exact het kleurpatroon van de gloeiende lijn. Mogelijk steekt die buiten de card uit door een z-index of position trick."},{"num":"v7.30","type":"feature","title":"Pipeline-creatie krijgt zelfde card-grid UX als de Onboarding-modal, met 4 startpunten van compact (5 stages) tot uitgebreid (17)","problem":"Elke nieuwe pipeline kreeg standaard 17 vaste fases, wat voor kleine bureaus of korte verkoopcycli overweldigend was en veel handmatig opruimwerk kostte.","solution":"Je kiest nu bij het aanmaken van een pipeline uit vier startpunten, van compact met 5 fases tot uitgebreid met 17, elk met een voorbeeld van de eerste fases zodat je meteen weet wat je krijgt."},{"num":"v7.29","type":"polish","title":"Service-filter verschijnt nu pas bij 2+ verschillende dienst-types in de flow, en toont alleen de typen die er ook echt in zitten","problem":"Het dienstenfilter stond altijd in beeld, ook bij een flow met maar één dienst of helemaal geen contacten, en toonde alle mogelijke diensten in plaats van alleen de relevante.","solution":"Het filter verschijnt nu alleen als het echt nuttig is, en toont alleen de diensten die daadwerkelijk in de flow voorkomen."},{"num":"v7.28","type":"feature","title":"Taken zoals \"zoom 80%\" en \"probeer dark mode\" kun je nu netjes afvinken (i.p.v. \"Sla over\")","problem":"Voor onboardingstappen die niet automatisch te herkennen zijn, was de enige optie om ze weg te krijgen \"Sla over\" â ook als je de stap wel had uitgevoerd.","solution":"Je kunt zulke stappen nu echt als voltooid markeren, met een knop om dat later weer ongedaan te maken."},{"num":"v7.27","type":"feature","title":"Nieuwe prullenbak-knop naast de flow-selector + DELETE-handler die de UI bijwerkt","problem":"Je kon een onboardingflow niet verwijderen via het scherm, waardoor overbodige of test-flows bleven staan.","solution":"Een nieuwe knop naast de flow-keuze laat je een flow verwijderen, met een bevestigingsstap om vergissingen te voorkomen. Het overzicht werkt meteen bij, zonder de pagina te hoeven verversen."},{"num":"v7.26","type":"infra","title":"Verder isoleren binnen Content sectie","problem":"v7.84 bevestigde dat een van drie elementen (cp-collapsible-stack / platforms-strip / spacer-div) de bron is. Nu testen we welke specifiek.","solution":"Verberg alleen cp-collapsible-stack (4 CollapsibleSections). Platforms-strip + spacer komen terug. Lijn weg â bron is een CollapsibleSection. Lijn er nog â bron is platforms-strip of spacer."},{"num":"v7.25","type":"infra","title":"Bron is binnen Content sectie bevestigd â nu collapsible-stack isoleren","problem":"v7.81 test was succesvol: hele Content sectie verbergen liet de gradient-line verdwijnen. Bron is dus binnen Content. Maar binnen Content zitten 4 dingen: header-row (titel + knop), cp-collapsible-stack (4 cards), platforms strip, en een lege spacer-div.","solution":"Nieuwe test: verberg cp-collapsible-stack + platforms strip + spacer-div. cp-section-header-row blijft staan. Als lijn weg â bron is in de CollapsibleSections of platforms. Als lijn er nog â bron is in cp-section-header-row (waarschijnlijk een border-top of een margin-top collapse-issue)."},{"num":"v7.24","type":"feature","title":"NewFlowModal vervangen door visuele card-grid met 9 templates en stage-previews","problem":"Bij het aanmaken van een nieuwe onboardingflow koos je een sjabloon uit een kale lijst, zonder te zien wat elk sjabloon precies inhield.","solution":"Je kiest nu uit een visueel overzicht van negen sjablonen, elk met een korte uitleg en een voorbeeld van de eerste fases, zodat je vooraf weet wat bij jouw proces past."},{"num":"v7.23","type":"feature","title":"Stap 1 voor iedereen: zet je browser-zoom op 80%","problem":"De launchpad miste een universele eerste stap die direct uitlegt hoe je het portaal het comfortabelst gebruikt.","solution":"Nieuwe categorie \"Begin hier\" bovenaan met als enige (verplichte) stap: zet je browser-zoom op 80%. Bevat duidelijke instructies per OS (Cmd/Ctrl + minteken). Iedereen ziet deze stap als eerste, ongeacht rol."},{"num":"v7.22","type":"feature","title":"+13 nieuwe onboarding-stappen verdeeld over rollen","solution":"Nieuwe onboardingstappen toegevoegd voor onder andere taal, notificaties, valuta, een eigen domein, video-meetings, e-mailhandtekening, cloudopslag, lead-bronnen en outreach-sjablonen â verdeeld over de relevante rollen zodat het onboardingpad per rol completer is."},{"num":"v7.21","type":"infra","title":"Hypothese \"Deel review-link knop\" gefalsifieerd â nu hele Content sectie verbergen","problem":"v7.79 verborg de Deel review-link knop in dark mode op klantprofiel om te testen of die de bron was van de gradient-line. Gebruiker meldt dat de lijn er nog is â knop is dus niet de bron.","solution":"Tussenstap in het onderzoek naar een storend visueel effect in de donkere weergave op het klantprofiel."},{"num":"v7.20","type":"infra","title":"v7.71 + v7.76 defensieve neutralisaties verwijderd","problem":"De pseudo-element neutralisatie (v7.71) en de tweede shotgun-pass met overflow:clip + box-shadow weghalen (v7.76) hadden geen effect op de gloeiende gradient-line. Beter terugdraaien om de codebase schoon te houden.","solution":"Tijdelijke testaanpassingen uit eerdere onderzoeksstappen weer teruggedraaid, zonder effect op de rest van het portaal."},{"num":"v7.19","type":"infra","title":"TIJDELIJKE diagnose: Deel review-link knop verborgen in dark mode","problem":"Gebruiker vermoedt dat de Deel review-link knop de bron is van de gradient-line. Om dit te val
2ideren zonder live DOM-inspectie nodig te hebben, verbergen we de knop tijdelijk in dark mode op klantprofiel.","solution":"Tijdelijke stap in het onderzoek naar een storend visueel effect in de donkere weergave op het klantprofiel."},{"num":"v7.18","type":"polish","title":"\"FLOWS\" als eyebrow, \"Onboarding\" als hoofd-titel (was andersom)","problem":"De Onboarding-pagina had \"ONBOARDING\" als kleine eyebrow boven een grote \"Flows\"-titel. Gebruiker vond de hiërarchie logischer omgekeerd: het primaire onderwerp van de pagina is Onboarding, en Flows is de feature-naam â die hoort als label boven de titel.","solution":"In de NL/EN/DE translations gewoon de waarden van ob_eyebrow en ob_title omgewisseld: eyebrow wordt \"FLOWS\", titel \"Onboarding\". In FR analoog: \"FLUX\" eyebrow, \"Onboarding\" titel. Geen JSX-wijziging nodig."},{"num":"v7.17","type":"polish","title":"Solid bg-elev + drie accent-radials erbovenop (zelfde stack als .app-shell-main)","problem":"v7.75 gebruikte een color-mix(accent 14% + diep donker) â leek wel groen maar matchde niet exact de meetings-kalender. Die ziet er groener uit door twee gestapelde lagen: var(--bg-elev) als solid basis + de .app-shell-main accent-radials (19/13/14% teal) die door transparante cellen heen schemeren.","solution":".cl-from-filters krijgt nu exact die dubbele laag: solid var(--bg-elev) + dezelfde drie accent-radials als .app-shell-main. Op /changelog is er geen .app-shell-main wrapper dus we plakken de radial-stack direct op de wrapper. Resultaat: 1-op-1 identieke \"donkergroene\" look als de meetings-kalender, tenant-aware via var(--accent)."},{"num":"v7.16","type":"bugfix","title":"Aggressievere neutralisatie van gradient-line boven Content sectie","problem":"In de donkere weergave bleef een storende gekleurde lijn boven de Content-sectie op het klantprofiel zichtbaar, ook na eerdere pogingen om de oorzaak weg te nemen.","solution":"Extra aanpassingen doorgevoerd om de mogelijke bronnen van de lijn uit te sluiten, als stap in het onderzoek naar de definitieve oplossing."},{"num":"v7.15","type":"polish","title":"bg-elev grijs vervangen door color-mix(accent 14% + diep donker)","problem":"v7.74 gebruikte var(--bg-elev) (#161a21 = neutraal grijs) voor het gebied vanaf de filter-balk. Dat voelde te neutraal â geen relatie met de huisstijl.","solution":".cl-from-filters krijgt nu color-mix(in srgb, var(--accent, var(--teal)) 14%, #060c0a) â een donker teal-getint vlak. Tenant-aware: als de tenant blauw als brand-kleur heeft wordt het donkerblauw, oranje wordt donker-oranjebruin, etc. Past beter bij de branding-vibe van de hero erboven."},{"num":"v7.14","type":"polish","title":"v7.73 was overshoot â splits-aanpak: gradient blijft boven, uniforme kleur onder","problem":"v7.73 maakte de hele /changelog uniform bg-elev waardoor de hero ook plat werd â de portal-gradient die overal in dark mode te zien is verdween. Bedoeling was dat alleen ván de filter-balk t/m de releases die uniforme groen-zwarte kleur kreeg, en de hero erboven de gewone portal-sfeer behield.","solution":".cl-root krijgt weer de 6 radial-gradients (= portal body achtergrond) zodat de hero erboven dezelfde sfeer heeft als de rest van het platform. Een nieuwe wrapper .cl-from-filters omvat de filter-balk + tijdlijn + footer en krijgt background: var(--bg-elev). Resultaat: portal-glow boven, rustig uniform donker daaronder â exact zoals gevraagd."},{"num":"v7.13","type":"polish","title":"Radial-gradient stack vervangen door solid var(--bg-elev)","problem":"De /changelog-pagina had in dark mode een stack van 6 radial-gradients als achtergrond (overgenomen van de portal-body). Daardoor waren er zichtbare lichtere/donkere zones tussen de hero, filter-balk en releases â onrustig.","solution":".cl-root in dark mode krijgt nu exact dezelfde achtergrondkleur als de meetings-kalender (.meet-week â var(--bg-elev) = #161a21). De hero is in dark mode al transparent, dus de hele pagina is nu één uniform donker vlak van top tot bottom. Past beter bij de \"rustige werkruimte\"-uitstraling."},{"num":"v7.12","type":"bugfix","title":"Multi-kleur gradient-line gloeide boven de Content sectie","problem":"In de donkere weergave verscheen een storende, gekleurde gloeiende lijn boven de Content-sectie op het klantprofiel.","solution":"De opmaak is aangepast zodat deze visuele storing niet meer optreedt."},{"num":"v7.11","type":"polish","title":"Kalender-raamwerk wordt direct getoond, events floeren erin zodra ze geladen zijn","problem":"v7.69 ving de auto-refresh op, maar bij een verse pagina-load (zonder cache) verspringde het scherm nog steeds naar een \"Laden...\"-tekst voordat het grid verscheen. Onrustig en onnodig.","solution":"De `{loading ? \"Laden...\" : <Grid>}` ternary helemaal verwijderd. Het Month/Week/Day-grid wordt nu altijd direct gerenderd â ook tijdens de eerste fetch. Tot de data binnen is staan er gewoon geen event-blokken op het grid; zodra ze er zijn, verschijnen ze soepel. De spinning refresh-knop + .meet-cal-refresh-dot in de toolbar geven de laad-status nog steeds aan."},{"num":"v7.10","type":"polish","title":"Refresh werkt nu écht silent op de achtergrond","problem":"Elke automatische ververing van de kalender verving tijdelijk het hele overzicht door een laadtekst, ook als er al gegevens stonden, waardoor het scherm onrustig oogde.","solution":"Ververen gebeurt nu op de achtergrond zonder het overzicht te vervangen â alleen gewijzigde afspraken verschijnen of verdwijnen, met een subtiele indicator dat er ververst wordt."},{"num":"v7.09","type":"feature","title":"LinkedIn-logo krijgt een persoon- of building-badge rechtsonder zodat persoonlijk vs zakelijk in één oogopslag duidelijk is","problem":"Wanneer een klant zowel een persoonlijk als een zakelijk LinkedIn-profiel had gekoppeld, was er geen visueel onderscheid tussen beide op het klantprofiel.","solution":"Het LinkedIn-icoon krijgt nu een klein badge dat aangeeft of het om een persoonlijk of zakelijk profiel gaat, en de twee accounts staan voortaan naast elkaar in het overzicht."},{"num":"v7.08","type":"bugfix","title":"InstagramProfileCheckButton verschijnt nu alleen als account.cookieFile aanwezig is â zelfde gedrag als LinkedIn/TikTok","problem":"Op het klantprofiel toonde Instagram een actieve profielcheck-knop, ook wanneer de koppeling nog niet was ingelogd, wa
2ardoor klikken op een fout uitliep.","solution":"Instagram gedraagt zich nu hetzelfde als LinkedIn, TikTok en Facebook: zolang er geen actieve login is, zie je alleen de knop om in te loggen."},{"num":"v7.07","type":"polish","title":"Sticky filter-balk had hardcoded donkere achtergrond i.p.v. portaal-bg","problem":".cl-filters-wrap had in dark mode background: rgba(11, 14, 20, 0.85) â een ondoorzichtige donkere balk die over de portaal-radial-gradient lag. Daardoor was de zone met de filter-pills duidelijk donkerder dan de rest van de pagina (zichtbare horizontale \"band\" tussen hero en releases).","solution":"Background op transparent gezet. De portaal-gradient (var(--bg-tint-*) + var(--bg-deep)) loopt nu naadloos door het filter-blok heen. Alleen de subtiele border-bottom blijft als visuele scheiding."},{"num":"v7.06","type":"bugfix","title":"Eerste card van de Aanbevolen-rij stond half-gescrolled","problem":"In de rij \"Aanbevolen voor jou\" op de Tools-pagina kon de eerste kaart half afgesneden in beeld staan in plaats van volledig zichtbaar.","solution":"De rij begint nu altijd netjes vanaf de eerste kaart."},{"num":"v7.05","type":"bugfix","title":"E-mail: \"Command failed\" bij snel achter elkaar mails verwijderen","problem":"Bij het snel achter elkaar verwijderen van e-mails kreeg je soms een foutmelding, terwijl de verwijdering eigenlijk gewoon had moeten lukken.","solution":"Bij zo'n tijdelijke storing wordt de verwijdering nu automatisch opnieuw geprobeerd voordat je een foutmelding te zien krijgt."},{"num":"v7.04","type":"bugfix","title":"Trends: Exporteren-knop deed niets","problem":"De Exporteren-knop op /trends had een lege placeholder-handler (onClick={() => { /* placeholder */ }}). Click â geen download, geen feedback.","solution":"CSV-export geïmplementeerd: respecteert het actieve platform-filter, BOM-prefixed UTF-8 zodat Excel het correct opent, kolommen Titel / Bron / Platforms / Gepubliceerd / URL / Beschrijving. Knop disabled als er geen trends geladen zijn. Bestandsnaam senly-trends-YYYY-MM-DD.csv."},{"num":"v7.03","type":"polish","title":"Changelog dark mode: exact dezelfde achtergrond als het portaal","problem":"De changelogpagina had in de donkere weergave een eigen kleurstelling die niet aansloot bij de rest van het portaal.","solution":"De donkere weergave van de changelog gebruikt nu dezelfde achtergrond en kleuren als de rest van het portaal, inclusief je eigen merkkleur."},{"num":"v7.02","type":"bugfix","title":"Tools: \"Aanbevolen voor jou\" toonde maar 5 items","problem":"De rij \"Aanbevolen voor jou\" op de Tools-pagina toonde soms maar 5 in plaats van 6 tools, als je al een aantal van de standaardsuggesties had gebruikt.","solution":"De rij toont nu altijd minimaal 6 tools, met voorrang voor tools die je nog niet hebt gebruikt."},{"num":"v7.01","type":"bugfix","title":"Deel review-link knop bleef wit in dark mode","problem":".rv-share-trigger-btn had background: var(--card, #fff) en color: var(--text, #1a2332). --card was nergens gedefinieerd, dus de knop viel terug op #fff en #1a2332 â witte knop met donkere tekst op een donkere pagina-achtergrond.","solution":"Knop nu expliciet theme-aware: dark mode background = var(--bg-elev), border = var(--border), color = var(--text). Light mode override met pure-wit + subtiele shadow zoals andere cards op de pagina. Hover trekt teal-accent op border + tekst in beide thema's."},{"num":"v7.00","type":"polish","title":"E-mail-paneel langer zodat ruimte onder = ruimte boven","problem":".ml-app had margin: 20px 0 24px met height: calc(100vh - 160px). Bij een ~70px topbar gaf dat 20px ruimte boven maar ~46px gat onder de shell â visueel scheef.","solution":"Margin gelijkgetrokken naar 20px 0 (boven én onder 20px). Hoogte van calc(100vh - 160px) naar calc(100vh - 112px), zodat de shell precies past tussen 20px boven en 20px onder. Min-height van 580px blijft voor kleine viewports."},{"num":"v6.99","type":"polish","title":"Brand kit, overzicht en andere klant-detail blokken krijgen meer ademruimte","problem":"De klant-detail pagina (/klant/[slug]) erfde de standaard .container max-width van 1320px. Op brede schermen voelde dat krap â vooral de brand-kit kleur-cards en het overzicht-blok hadden veel ongebruikte witruimte links en rechts.","solution":".client-profile-container krijgt nu een eigen max-width van 1600px (+280px breder). Andere pagina's (statistieken, financieel, dashboard, etc.) blijven op 1320px om de consistente reading-rythm te behouden â alleen klant-detail valt erbuiten omdat de bento-achtige layout daar meer breedte vraagt."},{"num":"v6.98","type":"polish","title":".app-shell-main accent-radials terug, content-area niet meer plat-donker","problem":"v7.57 ging te ver: naast de echte oorzaak (saturate(150%) op alle <header> elementen) had ik ook .app-shell-main solid donker gemaakt + z-index:1. Daardoor verdween de subtiele teal branding-glow op het dashboard volledig â alles werd platvloers donker.","solution":"Na visuele test bleek de header-fix alléén al voldoende: zonder de saturate(150%)-boost zijn de subtiele .app-shell-main accent-radials (19/13/14%) niet meer storend door cards heen zichtbaar. De drie originele radials zijn terug â branding-glow op dashboard hersteld, bug blijft weg."},{"num":"v6.97","type":"bugfix","title":"Globale header backdrop-filter weggehaald + content-area uniform donker","problem":"In donkere modus zag je door het hele portaal heen lichtere, blauwige vlakken achter k
2aarten en boven kopjes.","solution":"Die vlakken zijn weg, dus donkere modus oogt nu overal strak en uniform donker."},{"num":"v6.96","type":"feature","title":"Profielfoto verantwoordelijke i.p.v. initiaal-rondje","problem":"In de takentabel zag je bij \"Verantwoordelijke\" een rondje met de eerste letter van de naam â niet de echte foto. Voelde minder persoonlijk en minder herkenbaar dan bv. de meetings-pagina waar avatars wel verschijnen.","solution":"page.tsx haalt nu ook User.avatarUrl op via een aparte map (avatarByGhlId) en geeft die per task door als assigneeAvatarUrl. TasksDashboard.tsx en TasksKanban.tsx renderen een <img> als de URL er is, en fallen anders terug op het bestaande initiaal-rondje. Dezelfde img-variant werkt ook in de nieuwe Kalender-view."},{"num":"v6.95","type":"feature","title":"Top-tabs Werkload / Overzicht / Kalender met underline op active","problem":"De Takenbeheer-pagina toonde alleen de takenlijst (eventueel als Kanban). Er was geen high-level overzicht of dag-gericht kalender-zicht â terwijl admins juist zoiets gevraagd hebben.","solution":"Nieuwe tab-rij .tk-toptabs net onder de hero met drie tabs en teal-underline op active. Werkload = bestaande UI (filter chips + lijst/Kanban). Overzicht = 4 KPI-cards (Open / Verlopen / Voltooid / Geen deadline) + Top-5 klanten met meeste open taken + werkload-strip per teamlid. Kalender = 14-dagen lijst met taken per dag + aparte \"Verlopen\"-bucket bovenaan."},{"num":"v6.94","type":"polish","title":"Filter-pills nu als witte rechthoekjes met ronde hoeken","problem":".th2-chip filter-knoppen hadden in light mode een transparante achtergrond met dunne border â voelde plat en goedkoop vergeleken met de KPI-cards rechtsboven die wel duidelijke witte rechthoekjes zijn.","solution":"In light mode .th2-chip nu pure-wit met rgba(15, 23, 42, 0.08)-border, 10px border-radius, lichte 2px box-shadow zodat ze als mini-cards aanvoelen. Active-state krijgt teal-border + teal-tint glow i.p.v. teal-soft background. Counts-badges aangepast voor light mode."},{"num":"v6.93","type":"bugfix","title":"Tweede .container.financieel-container regel met padding-top 64px override mijn v7.54 fix","problem":"De ruimte bovenaan de pagina Financieel week nog steeds af van Statistieken, ook na een eerdere fix.","solution":"Beide pagina's tonen nu exact dezelfde ruimte bovenaan, in lijn met de rest van het portaal."},{"num":"v6.92","type":"polish","title":".container.financieel-container krijgt nu ook padding-top 16px ipv 80px default","problem":"De pagina Financieel had veel lege ruimte bovenaan, waardoor de tabbladen pas halverwege je scherm begonnen.","solution":"Die ruimte is verkleind, dus je ziet meteen de inhoud zodra je de pagina opent."},{"num":"v6.91","type":"bugfix","title":"Horizontale uurlijnen flakeden in de week-kalender","problem":"De uurlijnen in de weekweergave van je agenda waren soms wel en soms niet zichtbaar, waardoor je moest verversen om ze terug te zien.","solution":"De lijnen worden nu altijd betrouwbaar getoond, in zowel lichte als donkere weergave."},{"num":"v6.90","type":"polish","title":"Statistieken-pagina content begint nu direct onder de header bar zoals Meetings","problem":".container.home-container erfde de default .container padding-top van 80px. Resultaat: een grote witruimte tussen de top header-bar en de eerste tabs (Health check / Klanten / Team / Systeem). Voelde onnatuurlijk leeg vergeleken met Meetings.","solution":".container.home-container padding-top 80px -> 16px (zelfde als .meet-hero top-padding). Horizontale 20px blijft zoals het was â die was al gelijk aan Meetings. Statistieken voelt nu compact en consistent met de Meetings layout."},{"num":"v6.89","type":"bugfix","title":"Reader-paneel had nog een mauve tint i.p.v. echt wit","problem":".ml-reader::before tekende twee radial-gradients (paars rechtsboven, teal linksonder) bedoeld als premium \"glow\", maar in light mode op een witte ondergrond zag dat eruit als een lichtgrijze / mauve tint i.p.v. pure wit â niet wat de gebruiker verwachtte naast de witte sidebar en threadslijst.","solution":".ml-reader::before op display: none. Reader-paneel laat nu de body-kleur volledig doorlopen â pure wit in light mode, body-mesh in dark mode."},{"num":"v6.88","type":"bugfix","title":"Reader-paneel had een lichtgrijs vlak i.p.v. wit","problem":".ml-reader had background: var(--mlnx-bg) â in light mode is dat #f7f8fa (off-white), een tintje donkerder dan body's #ffffff. Daardoor zag het reader-paneel er grijs uit naast de witte sidebar en threadslijst.","solution":".ml-reader background op transparent gezet. Body-kleur loopt nu naadloos door â pure wit in light mode, body-mesh in dark mode. Zelfde patroon als de andere panels."},{"num":"v6.87","type":"polish","title":".campaign-search border transparanter + dezelfde zachte shadow als KPI-cards","problem":"In light mode trok de \"Zoek campagnes...\"-input een opvallende grijze omlijning op de pagina â terwijl de KPI-cards ernaast veel subtieler oogen door hun box-shadow.","solution":"Border-kleur in light mode van var(--border) (rgba(12, 36, 34, 0.09)) naar rgba(15, 23, 42, 0.06) â iets transparanter. Plus dezelfde shadow als .campaign-kpi (0 1px 0 + 0 4px 12px -8px) zodat de search visueel \"wegzakt\" in de pagina i.p.v. een harde rand te trekken."},{"num":"v6.86","type":"polish","title":"Avatar-foto's zien er nu professional uit","problem":"De pravatar.cc-portretten w
2aren artistiek/casual (man met lang haar, vrouw met sjaal, persoon met zonnebril) â past niet bij de \"Plan een demo met ons team\"-context.","solution":"Overgestapt naar randomuser.me â die toont neutrale headshot-stijl portretten met effen achtergrond, geen accessoires of styling-tints. Drie vaste indices gekozen die zakelijk ogen."},{"num":"v6.85","type":"polish","title":"Tijd-rij + dag-kolom + uur-slot lijnen krijgen meer opacity zodat ze altijd duidelijk renderen","problem":"De gridlijnen waren op 60% (uren) / 30% (slots) van --border opacity gezet. In sommige browsers + sommige scroll-posities renderde de subpixel-anti-aliasing dit zo subtiel dat de lijnen visueel \"wegvielen\" (glitching look). Plus ze waren überhaupt te zacht om als duidelijke structuur te dienen.","solution":"Week-view: .meet-week-time-row border-bottom van 60% naar 100% --border, .meet-week-col border-left idem 60% -> 100%, .meet-week-slot 30% -> 70%. Day-view: .meet-day-slot 40% -> 70%. Maand-grid blijft 100% (was al goed). Lijnen vallen niet meer weg en geven duidelijke structuur in de kalender."},{"num":"v6.84","type":"polish","title":".taskio-card achtergrond iets transparanter â portal-bg schijnt sterker door","problem":"Gebruiker wilde de widget-shell iets meer transparant zodat de portal-bg duidelijker doorschijnt en de cards minder \"vast\" op de bg liggen.","solution":"Opacity van 0.025 naar 0.015 â net iets subtieler dan de calendar-shell (0.025) zonder weg te vallen. Border blijft als visuele groepering."},{"num":"v6.83","type":"polish","title":"Avatar-stack toont nu echte mensen i.p.v. JD/SM/RW-stubjes","solution":"De drie kleur-bolletjes met initialen zijn vervangen door <img>-tags die portretten ophalen van i.pravatar.cc (open-license stock). Drie vaste indices die typisch Noord-Europees ogen. Alt-tekst bevat Nederlandse demo-namen voor accessibility. De \"+8\"-badge blijft staan voor het idee van een groter team."},{"num":"v6.82","type":"polish","title":".taskio-card krijgt rgba(255, 255, 255, 0.025) â identiek aan .calendar-page-container","problem":"De widgets op je dashboard oogden vlakker dan de kalenderpagina, terwijl je daar dezelfde subtiele uitstraling van verwachtte.","solution":"De widgets krijgen nu dezelfde zachte glaslaag als de kalenderpagina, voor een consistente look door het hele portaal."},{"num":"v6.81","type":"bugfix","title":"rgba(16, 21, 30, 0.55) + saturate(145%) frosted-glass-rule met !important overruled v7.40 â nu verwijderd","problem":"Een eerdere fix voor de blauwige tint op je dashboardwidgets werd ongedaan gemaakt door een verborgen stijlregel, waardoor de tint terugkwam.","solution":"Die regel is nu volledig weg, dus de widgets tonen een neutrale, vlakke achtergrond zonder blauwige waas."},{"num":"v6.80","type":"polish","title":"Drie radial-gradients (bg-tint-strong/tint/soft) op .ml-app teruggezet â versie van v7.31 hersteld","solution":"background: transparent vervangen door de radial-gradient-stack van v7.21/v7.26/v7.31. De teal-wash is weer zichtbaar in de e-mail-shell. Border 0 en box-shadow none blijven (was uit v7.31). Kolom-hairlines uit v7.34 blijven ook intact."},{"num":"v6.79","type":"bugfix","title":"Tekst in \"Hulp nodig?\"-card stond per ongeluk gecentreerd","problem":"De tekst in het \"Hulp nodig?\"-blok op het Launchpad stond per ongeluk gecentreerd in plaats van links uitgelijnd.","solution":"De tekst staat nu netjes links uitgelijnd, zoals de rest van het blok."},{"num":"v6.78","type":"polish","title":".taskio-card krijgt vlakke var(--bg-elev) ipv transparent â accent-tint uit portal-bg schijnt niet meer door","problem":"Met background: transparent uit v7.37 schenen de teal radial-gradients uit .app-shell-main (3 ellipsen op 13-19% opacity in var(--teal)) door de widgets heen. De gebruiker zag dat als een \"blauwerige\" tint binnen elke widget â niet wenselijk.","solution":"Widget-shell krijgt nu background: var(--bg-elev) (= #161a21, een neutraal donker-blauw-grijs, GEEN teal-tint) in dark mode. Vlak en kleurloos zodat de accent-glow uit de portal-bg geblokkeerd wordt. Sub-cards (.taskio-deadline-col met tone-glows) en quick-items (.taskio-quick-item) behouden hun eigen achtergrond zoals eerder bevestigd."},{"num":"v6.77","type":"polish","title":"Geen lege ruimte meer onderaan de pagina","problem":"De Launchpad-content stond bovenaan met een grote zwarte/witte plek onder de laatste taak. Op een normaal scherm voelde de pagina onaf doordat de blokken niet de viewport vulden.","solution":".lp-root als flex column met justify-content: center en min-height: calc(100vh - 140px). Bij weinig content wordt het geheel verticaal gecentreerd in het beschikbare gebied; bij veel content scrollt het normaal."}]},{"date":"2026-05-31","version":"v6.76","clV":"v7.38","title":"E-mail dark mode: groen \"vak\" rond Postvak IN weg â shell volledig transparent, Dashboard widgets dark mode: alleen widget-shell transparent, inhoud behoudt eigen kleur & 139 meer","items":[{"num":"v6.76","type":"polish","title":"Drie radial-gradients op .ml-app verwijderd, achtergrond nu transparent zodat body-gradient overal uniform doorschijnt","problem":"De radial-gradient(75% 70% at 0% 0%, bg-tint-strong) gaf een sterke teal-hotspot links-boven op de e-mail-shell, waardoor het deel rond \"Postvak IN\" eruitzag als een aparte groen-getinte vak terwijl de rest donkerder bleef.","solution":"background: transparent op de dark mode .ml-app. De body-gradient van het portaal schijnt nu overal uniform door â geen lokale teal-hotspots meer. De kolom-hairlines uit v7.34 blijven voor zachte kolom-scheiding."},{"num":"v6.75","type":"polish","title":".taskio-card buitenste container krijgt background: transparent en box-shadow: none, sub-elementen blijven gekleurd","problem":"De buitenrand van je dashboardwidgets had nog een lichte glans en schaduw die een ongewenst vlak effect gaf.","solution":"De buitenrand is nu volledig transparant, terwijl de gekleurde onderdelen erin â zoals deadline-blokjes en snelkoppelingen â hun eigen kleur behouden."},{"num":"v6.74","type":"polish","title":"Donut-cijfer leunde tegen de boog-uiteindjes","solution":"Donut iets vergroot (130Ã75 i.p.v. 110Ã62), cijfer iets compacter (16 px i.p.v. 18 px) en verder van de bodem gepositioneerd (8 px i.p.v. 4 px). Status-card kolom navenant verbreed naar 130 px zodat de donut past."},{"num":"v6.73","type":"polish","title":".taskio-card achtergrond is nu transparent in dark mode","problem":"Zelfs de subtiele rgba(255, 255, 255, 0.025) glas-laag uit v7.33 voelde nog te aanwezig op de donkere portal-bg. Gebruiker wilde de achtergrondkleur er helemaal uit.","solution":"background van .taskio-card in dar
2k mode op transparent gezet. Alleen border + zachte schaduw begrenzen het vlak; de portal-achtergrond met haar accent-aura's schijnt nu volledig door de widgets heen. Resultaat: zo licht en uit-de-toon-loos mogelijk."},{"num":"v6.72","type":"polish","title":"border-right op .ml-folders en .ml-threads gebruikt nu rgba hairline ipv solide #262c34","problem":"De kolom-scheidingslijnen waren een solide donker grijs-blauw (#262c34 = --mlnx-border) die zichtbaar als donkere verticale lijnen tussen sidebar/thread-lijst/reader zichtbaar waren. Visueel deed het lijken alsof de middelste kolom een andere achtergrond had.","solution":"html:not([data-theme=\"light\"]) .ml-folders en .ml-threads krijgen border-right-color rgba(255,255,255,0.05) â bijna onzichtbare hairline. De kolommen lopen nu visueel veel naadlozer in elkaar over en de body-glas teal-wash schijnt overal door zonder onderbreking."},{"num":"v6.71","type":"polish","title":"Alle .taskio-card widgets (Maandwinst, Laatste activiteit, Snelle acties, Aankomende deadlines) krijgen nu dezelfde subtiele wit-glas laag als de Kalender-shell","problem":"De dashboardwidgets Maandwinst, Laatste activiteit, Snelle acties en Aankomende deadlines waren in donkere modus bijna onzichtbaar tegen de achtergrond.","solution":"Ze krijgen nu dezelfde lichte glaslaag als de kalenderpagina, waardoor ze goed zichtbaar zijn en je dashboard er consistent uitziet."},{"num":"v6.70","type":"polish","title":"Status-card naast voortgangsbalk uitgelijnd in hoogte","problem":"Sinds de hero op align-items: start stond, was de status-card rechts (met halve donut) langer dan de voortgangsbalk links â onevenwichtig.","solution":"Hero terug op align-items: stretch. Beide cards lopen nu op dezelfde hoogte; tekst en donut binnen de status-card blijven netjes verticaal gecentreerd via de bestaande grid-layout."},{"num":"v6.69","type":"polish","title":"box-shadow en border op .ml-app verwijderd zodat geen donkere lijnen meer rond de e-mail-shell verschijnen","problem":"De .ml-app shell had box-shadow: 0 8px 24px -12px rgba(0,0,0,0.5) en border: 1px solid rgba(255,255,255,0.06) â gaf zichtbare donkere randen aan elke kant van de e-mail-sectie, alsof het paneel naar voren werd geduwd.","solution":"border: 0 en box-shadow: none op de dark mode .ml-app rule. De radial-gradient achtergrond blijft staan voor de teal-wash, maar geen rand-schaduw of border meer."},{"num":"v6.68","type":"bugfix","title":"Search-bar wrapper had panel-soft achtergrond + #262c34 border in dark mode","problem":".ml-threads-search wrapper had background rgba(255,255,255,0.04) + border #262c34. Resultaat: zwarte rechthoek-look bovenop de teal-glas shell.","solution":"html:not([data-theme=\"light\"]) .ml-threads-search override: background transparent, border rgba(255,255,255,0.08) hairline. Input ook transparent (default + focu
2s). Body-glas schijnt nu door de search-bar."},{"num":"v6.67","type":"polish","title":"Hero van 3 naar 2 kolommen, progress-blok niet meer naar onderen gepusht","problem":"Op het Launchpad zat er een leeg gat tussen je voortgangsbalk en de kaart ernaast, en de voortgangsbalk werd onnodig naar beneden geduwd.","solution":"De bovenkant van het Launchpad is herschikt naar twee nette kolommen, zodat je voortgang meteen bovenaan staat zonder witruimte."},{"num":"v6.66","type":"polish","title":"Drie decoratieve blokken verwijderd voor een schonere onboarding-pagina","solution":"De raket-SVG in de hero, de \"Snel aan de slag\"-quick-list (Bekijk onboarding video / Download mobile app / Helpdesk-link) in de rechter sidebar, en de \"Pro tip\"-card met \"Meer tips bekijken\"-knop zijn weg. Hero is nu compacter; rechter sidebar bevat alleen nog \"Hulp nodig?\" en \"Wat is nieuw?\"."},{"num":"v6.65","type":"polish","title":"\"Launchpad\" h1 en intro-zin verwijderd","solution":"De \"Launchpad\"-titel met info-icoon en de regel \"Jouw persoonlijke setup voor een succesvolle start\" zijn weg. De hero begint nu direct met de voortgangsbalk; categorieën verschijnen meteen daaronder."},{"num":"v6.64","type":"bugfix","title":"Per ongeluk verwijderde .ml-app teal-radial-gradient achtergrond hersteld","problem":"De achtergrond van je e-mailmodule in donkere modus was per ongeluk platter geworden, waardoor de verzorgde uitstraling van de rest van het portaal ontbrak.","solution":"De oorspronkelijke donker-teal achtergrond is hersteld, zodat e-mail er weer even verzorgd uitziet als bijvoorbeeld Meetings."},{"num":"v6.63","type":"polish","title":"Geen brede witruimte meer boven en naast de Launchpad-content","problem":"De Launchpad had padding: 80px 20px 120px en max-width: 1320px met centrering â dat gaf veel witruimte aan de bovenkant en links/rechts. De Meetings-pagina staat juist edge-tot-edge tegen de header en zijkant.","solution":"Padding op .lp-root teruggebracht naar 16px boven / 20px zijkant / 40px onder, zonder max-width en zonder centrering. Identiek aan de Meetings .meet-hero-inset, zodat de Launchpad-content meteen onder de header begint en tot dezelfde rand loopt."},{"num":"v6.62","type":"polish","title":"Card-shell rond e-mail-shell weer weggehaald","solution":"De .ml-app radial-tint-laag die in v7.21 werd toegevoegd om de Meetings-look te imiteren is verwijderd. Dark mode keert terug naar de configuratie van v7.17: panels transparent, body-gradient schemerend, geen extra teal-wash binnen een afgeronde shell."},{"num":"v6.61","type":"polish","title":"Launchpad-pagina volledig herontworpen volgens de premium SaaS-mockup van de gebruiker","problem":"Het Launchpad was een simpele lijst met categorieën en taken, zonder visueel anker, hulp of houvast bij de start.","solution":"Het Launchpad is volledig vernieuwd met een overzichtelijk bovenblok inclusief je voortgang, een duidelijke indeling in categorieën, snelkoppelingen, een hulpblok en een overzicht van nieuwe functies â zodat je in één oogopslag ziet waar je staat en wat je nog te doen hebt."},{"num":"v6.60","type":"polish","title":"Wit-glas overlay vervangen door de teal-tinted multi-radial-gradient die .ml-app ook gebruikt","problem":"v7.20 (wit-alpha overlay) voelde anders aan dan de E-mail-pagina die een specifieke radial-gradient teal-tinted shell heeft.","solution":"taskio-card dark-mode override gebruikt nu exact dezelfde background-stack als .ml-app: drie radial-gradients (bg-tint-strong/tint/soft) bovenop var(--bg-elev) base. Border en box-shadow ook gematched. Widgets en email-shell hebben nu visueel dezelfde donker-teal wash."},{"num":"v6.59","type":"polish","title":"Subtle teal-wash vervangen door volwaardige donker-teal radial-tint","problem":"In dark mode had de e-mail-shell een nauwelijks zichtbare teal-tint (rgba 0.05). De gebruiker wilde de duidelijke donker-groene tint die op /meetings zichtbaar is â die komt daar van de body-radials maar werd op de e-mail-pagina niet doorgegeven.","solution":".ml-app krijgt nu in dark mode dezelfde radial-tint-stack als de body (--bg-tint-strong / --bg-tint / --bg-tint-soft) op --bg-elev als donker-base. Zo zit de donker-teal wash gegarandeerd binnen de afgeronde shell, ongeacht waar ml-app op het scherm valt. Identiek visueel patroon als /meetings."},{"num":"v6.58","type":"polish","title":"Teal-tint vervangen door wit-tint en alpha verdubbeld voor lichtere widget-look","problem":"v7.19 had subtiele teal-tint (3.5% -> 0.8%) wat het oog zag als te donker en niet light genoeg. Gebruiker wilde de transparante achtergrond veel lichter.","solution":"background nu linear-gradient(180deg, rgba(255,255,255,0.08) -> 0.035). Wit-tint geeft lichter glas-effect dan teal. Border-color naar rgba(255,255,255,0.1) (was 0.06 teal). Inset top-highlight 0.08 wit. Drop-shadow iets lichter. Cards voelen nu duidelijk lighter en frosted-glass."},{"num":"v6.57","type":"polish","title":"E-mail-shell krijgt nu dezelfde card-look al
2s de Meetings-kalender in dark mode","problem":"In dark mode liepen de drie e-mail-kolommen wel netjes door in de body, maar er was geen visuele card-omsluiting met ronde hoeken zoals op /meetings â daar staat het kalender-grid duidelijk in een teal-getinte wrapper met afgeronde hoeken.","solution":"Dark mode override op .ml-app: een subtle teal-gradient achtergrond (rgba(20,184,166,0.05 â 0.02)) + 1px witte transparante border + inset highlight. De body-radial-gradient blijft erdoorheen schemeren, en de 18px-ronde hoeken zijn nu duidelijk zichtbaar. Light mode blijft ongewijzigd want body daar is pure wit."},{"num":"v6.56","type":"bugfix","title":"E-mail-kolommen blokten de body-achtergrond in dark mode","problem":"In de vorige fix kregen alle drie de e-mail-kolommen een effen achtergrond (#070a0f). Dat dekte de body-gradient af â geen teal/violet tinten meer zichtbaar door de e-mail-pagina heen. Op andere pagina's zoals Meetings komt die wash juist wél door.","solution":"--mlnx-bg en --mlnx-panel op transparent gezet in dark mode. De body-radials (teal in de hoeken, subtle violet) komen nu door de drie e-mail-kolommen heen, net zoals op Meetings. Kolom-scheiding behoudt via border-right en --mlnx-panel-soft als zachte tint voor hover- en input-states binnen panels."},{"num":"v6.55","type":"polish","title":"Glassmorphism overlay gebruikt nu teal-brand-kleur i.p.v. neutraal wit alpha","problem":"v7.15 gebruikte rgba(255,255,255) overlays wat een neutraal-wit washed-out gevoel gaf. Past niet bij de brand-stijl van het portaal â de Content-kalender heeft een veel meer teal-getinte donkere achtergrond.","solution":"Overlay nu: linear-gradient(180deg, rgba(94,234,212,0.05) -> rgba(94,234,212,0.02)) over rgba(11,14,20,0.6) basis. Border: rgba(94,234,212,0.08) â subtiele teal-hairline. Inset top-highlight ook teal-tinted (0.06). Box-shadow drop iets dieper voor meer depth. Past nu bij de teal-brand-kleur en matched visueel met de Content-kalender header."},{"num":"v6.54","type":"bugfix","title":"Linker- en middenpaneel hadden in dark mode nog een lichter tintje dan body","problem":"De vorige fix maakte de e-mail-reader gelijk aan body, maar de sidebar en threadslijst (--mlnx-panel) waren nog #11161e â een tintje lichter dan body. Daardoor was de overgang van body naar die kolommen alsnog zichtbaar.","solution":"--mlnx-panel gelijkgetrokken aan body (#070a0f), --mlnx-panel-soft op #0d1117 als subtiel lichter voor hover-/input-states binnen de panels. Alle drie de kolommen lopen nu in elkaar door, net als in light mode waar alles wit is. De kolom-scheiding gebeurt verder via de border-rechts op .ml-folders en .ml-threads."},{"num":"v6.53","type":"polish","title":"Settings-zijbalk en content-area krijgen card-styling met afgeronde hoeken en consistente witruimte","problem":".meet-settings layout had geen horizontale padding, waardoor de zijbalk plat tegen de linkerrand plakte zonder ronde hoeken aan top-left en bottom-left. Inconsistent met de Kalender-tab die wel 20px padding heeft en card-styling op zijn elementen.","solution":".meet-settings krijgt nu padding: 0 20px 20px + gap: 16px (zelfde als .meet-cal-layout). .meet-settings-nav border-right vervangen door border-radius: 16px met inset 1px shadow + drop shadow. .meet-settings-content krijgt ook card-styling. Dark-mode override uitgebreid met de twee nieuwe selectors. Beide cards lijnen nu visueel met de toolbar en grid op de Kalender-tab."},{"num":"v6.52","type":"polish","title":"De paarse glow rechtsonder kwam uit .app-shell-main â vervangen door huisstijl-accent","problem":"Op dashboardpagina's bleef een paars-roze gloed rechtsonder in beeld staan, ook bij een huisstijl in een heel andere kleur zoals teal of groen.","solution":"Die gloed volgt nu automatisch je ingestelde merkkleur, zodat het portaal overal bij je huisstijl aansluit."},{"num":"v6.51","type":"bugfix","title":"leftSidebarOpen/rightSidebarOpen worden nu atomisch uit localStorage geïnitialiseerd i.p.v. via een aparte read-effect","problem":"Had je bij Meetings de linker- of rechterzijbalk ingeklapt, dan klapte die soms toch weer open zodra je terugkwam van een ander tabblad.","solution":"Je voorkeur wordt nu direct en betrouwbaar onthouden, dus een inge
2klapte zijbalk blijft ook echt ingeklapt."},{"num":"v6.50","type":"bugfix","title":"Links naast de e-mail-shell zat in dark mode een harde lijn met de body","problem":"In dark mode was de e-mail-pagina-achtergrond #0d1117 terwijl de body #070a0f gebruikte â 6 helderheids-eenheden verschil. Dat gaf links en rechts van de e-mail-shell een zichtbare overgang alsof de achtergrond ophield. In light mode liep het wél door omdat body daar pure wit is en de e-mail-tegels nauwelijks afwijken.","solution":"De --mlnx-bg variabele in dark mode afgestemd op de body-kleur (#070a0f) en de panel-kleur iets meegestemd (#11161e i.p.v. #161b22). Resultaat: body en e-mail-reader hebben nu dezelfde basis-kleur, en de overgang verloopt naadloos zoals in light mode."},{"num":"v6.49","type":"polish","title":"Hardcoded violet radial-gradients in de pagina-achtergrond gebruiken nu var(--accent) zodat ze de ingestelde brand-kleur volgen","problem":"De achtergrond van portaalpagina's toonde een paars-roze gloed die niet paste bij een andere huisstijlkleur.","solution":"De achtergrondgloed volgt nu automatisch je ingestelde merkkleur in plaats van een vaste paarse tint, en valt netjes terug op teal als er geen huisstijl is ingesteld."},{"num":"v6.48","type":"polish","title":"Kalender krijgt standaard de volledige ruimte; je voorkeur wordt onthouden","problem":"De twee zijbalken op /meetings (links: mini-kalender + agenda-filters, rechts: deze-week stats + up next) stonden altijd open. Op kleinere schermen of voor wie de kalender wil zien, is dat te druk.","solution":"Beide zijbalken zijn standaard ingeklapt. Klik je er een open via het sidebar-icoontje, dan blijft 'ie open â ook na een refresh of bij een volgend bezoek. Voorkeur wordt per zijbalk apart bewaard in localStorage."},{"num":"v6.47","type":"polish","title":"Title-fontweight van 700 naar 600","solution":"De \"Postvak IN\" header en de subject-titel van een geopende mail zijn een tintje slanker gemaakt (bold â semibold). Voelt eleganter en past beter bij de premium look."},{"num":"v6.46","type":"polish","title":"Safari/WebKit-default border rond de \"Zoek campagnes...\"-input verwijderd","problem":"Het zoekveld bovenaan de campagnes-pagina had een dubbele border: de wrapper had de stijl-border, en de browser tekende daarnaast nog een eigen ronde border rond de <input type=\"search\"> zelf (Safari/Chrome default voor search-inputs).","solution":"appearance: none + -webkit-appearance: none + box-shadow: none op de search-input. Tegelijk ook het ingebouwde clear-X knopje van WebKit uitgezet â zodat onze custom wrapper netjes alleen één border heeft."},{"num":"v6.45","type":"polish","title":"Compactere kop op /email/campagnes","solution":"De \"E-mail campagnes\"-titel met envelope-icoon en de intro-zin (\"Stuur klanten maandelijkse updates, nieuwsbrieven of aankondigingen met templates\") zijn verwijderd. De breadcrumb \"E-mail ⺠Campagnes\" blijft staan en geeft genoeg context; de pagina opent nu directer met de KPI-tegels."},{"num":"v6.44","type":"feature","title":"Nieuwe BookingCalendarSync-table + cancelBookingExternalSyncs helper â booking-cancel reikt nu tot in alle gekoppelde agenda's van de host","problem":"Werd een afspraak via je boekingspagina geannuleerd, dan bleef die soms nog gewoon in je gekoppelde Google-, Outlook- of Apple-agenda staan en moest je hem daar zelf verwijderen.","solution":"Een annulering wordt nu automatisch doorgevoerd in al je gekoppelde agenda's, zodat je nergens meer handmatig hoeft op te ruimen."},{"num":"v6.43","type":"polish","title":"Placeholder-sparklines en niet-werkende AI-suggesties uit de campagnes-pagina","problem":"Op de campagnes-pagina stonden nog drie placeholder-elementen: de verzonnen sparklines achter de 4 KPI's, een \"Optimaliseer onderwerpregels\"-card met een dode knop, en een \"Beste verzendtijd â Donderdag 10:00\"-card die uit de losse pols gehaald was.","solution":"Sparklines weg â KPI-tegels tonen nu alleen het getal + delta + label, schoner en eerlijker. Beide nep-suggesties verwijderd. \"Heractiveer inactieve abonnees\" verhuist naar een eigen \"Aanbevolen actie\"-card die alleen verschijnt als er ook écht inactieve abonnees zijn â als iedereen recent heeft geopend, blijft de pagina cleaner. \"Recente templates\" (echte data) blijft staan."},{"num":"v6.42","type":"bugfix","title":"filteredBookings filtert nu status === \"cancelled\" weg â tile valt direct uit het week/dag/maand grid","problem":"Een geannuleerde boeking verdween niet meteen uit je kalenderoverzicht, ook al stond de status al op geannuleerd.","solution":"Een geannuleerde boeking verdwijnt nu direct uit je week-, dag- en maandoverzicht."},{"num":"v6.41","type":"feature","title":"Echte open- en click-tracking voor verzonden campagnes","problem":"De cijfers over openingen en kliks bij je e-mailcampagnes waren nog placeholders â je zag nooit hoeveel mensen je mail écht openden of doorklikten.","solution":"Elke verzonden campagne meet nu echte open- en klikcijfers, inclusief het verschil met de vorige maand, zichtbaar in je campagne-overzicht."},{"num":"v6.40","type":"feature","title":"Inactieve abonnees-KPI + werkende \"Start re-engagement\"-knop","problem":"Eén van de kerncijfers bij je e-mailcampagnes was verzonnen data, en de knop om inactieve abonnees opnieuw te benaderen deed niets.","solution":"Je ziet nu het echte aantal abonnees dat al zestig dagen niet meer reageert, en de knop opent direct een nieuwe conceptcampagne met die adressen alvast ingevuld."},{"num":"v6.39","type":"polish","title":"De annuleer-knop in het booking-popover is nu een volle destructive button i.p.v. piepkleine ghost-tekst rechtsonder","problem":"De knop om een afspraak te annuleren w
2as nauwelijks zichtbaar, waardoor klanten hem niet vonden en zelf events uit hun eigen agenda verwijderden zonder dat dit bij Senly werd verwerkt.","solution":"De annuleerknop is nu een duidelijke, volledige knop met een bevestigingsstap, zodat annuleren makkelijk te vinden en veilig te gebruiken is."},{"num":"v6.38","type":"bugfix","title":"Floating action button rechtsonder op de Trends-pagina verwijderd","problem":"Op de Trends-pagina stond een knop rechtsonder die overlapte met de chatwidget en nog niets deed.","solution":"Die knop is verwijderd, dus geen dubbele knoppen meer op dezelfde plek."},{"num":"v6.37","type":"bugfix","title":"Globale a-tag CSS overschreef de witte tekstkleur op de Open meeting link knop","problem":"De tekst op de knop om een online meeting te openen was pas leesbaar zodra je eroverheen bewoog met je muis.","solution":"De knoptekst is nu altijd duidelijk leesbaar, ook zonder te hoeven hoveren."},{"num":"v6.36","type":"feature","title":"Externe agenda-wijzigingen verschijnen nu vanzelf in de kalender zonder te navigeren","problem":"Verwijderde je een afspraak in je eigen iPhone- of Google-agenda, dan bleef die soms nog minutenlang zichtbaar in Senly totdat je heen en weer navigeerde.","solution":"Je kalender ververst nu automatisch elke anderhalve minuut en meteen zodra je terugkeert naar het tabblad, plus een handmatige ververs-knop voor als je niet wilt wachten."},{"num":"v6.35","type":"polish","title":"Geen-verbinding pagina krijgt elegante centered card met auto-retry indicator","problem":"De pagina die je zag bij een verbroken verbinding oogde kaal en onafgewerkt.","solution":"Die pagina is volledig vernieuwd met een duidelijke uitleg en een zichtbare aftelling die automatisch opnieuw verbinding probeert te maken."},{"num":"v6.34","type":"feature","title":"Nieuwe \"Verwijder uit agenda\"-knop in het externe-event-popover met confirm-flow + provider-sync","problem":"Klikte je op een event uit je gekoppelde Google-, Outlook- of Apple-agenda, dan kon je het alleen bekijken en moest je voor verwijderen alsnog naar die andere app.","solution":"Je kunt zo'n event nu direct vanuit Senly verwijderen, inclusief een bevestigingsstap, en de wijziging wordt meteen doorgevoerd in je gekoppelde agenda."},{"num":"v6.33","type":"polish","title":"/email/campagnes is van simpele kaartenlijst naar volwaardig dashboard","problem":"Het overzicht van je e-mailcampagnes was een simpele lijst zonder kerncijfers, filters of statistieken per campagne.","solution":"Je krijgt nu een volwaardig overzicht met kerncijfers, zoek- en filteropties, een tabel per campagne met open- en klikcijfers, en suggesties op basis van je resultaten."},{"num":"v6.32","type":"polish","title":"\"E-mail gebruik\" widget (2,4 GB / 10 GB / 24%) onderaan de email-sidebar verwijderd","problem":"Een blokje in de e-mailmodule toonde een vast opslagpercentage dat niet op echte gegevens gebaseerd was, wat verwarrend kon overkomen.","solution":"Dat blokje is verwijderd totdat er een betrouwbare meting is â beter geen cijfer dan een misleidend cijfer."},{"num":"v6.31","type":"feature","title":"Twee toggle-knoppen op de toolbar â klap de hele linker of rechter zijbalk in voor meer kalender-ruimte","solution":"Je kunt de linker- en rechterzijbalk in je agenda nu apart inklappen voor meer ruimte, met een vloeiende animatie. Beide zijbalken staan standaard open, dus er verandert niets tenzij je het zelf aanpast."},{"num":"v6.30","type":"polish","title":"Event-titels in week/dag-view terug naar weight 600 voor betere leesbaarheid","solution":"Titels van afspraken in de week- en dagweergave zijn iets dikker gemaakt voor betere leesbaarheid."},{"num":"v6.29","type":"polish","title":"Meeting-titels in Up next en kalender-namen in Verdeling deze week zijn nu dunner","solution":"Titels in het \"Volgende afspraken\"-blok en agendanamen in het weekoverzicht zijn subtieler gemaakt, in lijn met de rest van de cijfers en titels op de pagina."},{"num":"v6.28","type":"polish","title":"Stat-nummers (11, 19u 40m, 39%, 1u 47m) 28px/600 -> 22px/500. Event-titels 600 -> 500.","solution":"De kerncijfers bovenaan je agenda-overzicht zijn iets kleiner en subtieler gemaakt voor een rustiger, verzorgder totaalbeeld."},{"num":"v6.27","type":"polish","title":"Cards en event-blokken hebben nu uniforme achtergrond i.p.v. subtiele gradients","problem":"Vorige polish-ronde voegde subtiele 180deg gradients toe aan alle cards + 105deg diagonale gradient op event-blokken. Bij elkaar maakte dat de pagina visueel drukker i.p.v. eleganter â te veel beweging in het oog.","solution":"Alle gradients teruggebracht naar uniforme solid backgrounds: cards krijgen var(--bg-elev), event-blokken krijgen vlakke 6% color-mix tint (geen 105deg diagonaal meer, geen 3-stop fade). Shadows simpler: enkele drop shadow (0 1px 2px) + 1 inset border-shadow i.p.v. 4 layers. Dark-mode override ook gesimplificeerd. Hover-lifts op stat-cards weggehaald voor rustigere ervaring."},{"num":"v6.26","type":"polish","title":"Alle cards, knoppen en numeriek typografie verfijnd naar high-end UI standaard","problem":"Kaarten en knoppen in je agenda oogden generiek, en de cijfers waren dik en zonder verfijning.","solution":"Kaarten, knoppen en cijfers door de hele agenda zijn visueel verfijnd met zachtere schaduwen, rondere hoeken en nettere typografie, voor een verzorgdere uitstraling in zowel lichte als donkere weergave."},{"num":"v6.25","type":"bugfix","title":"Twee functies waren tijdens de visuele redesign uit de sidebar gehaald","problem":"In iteratie 2 had ik de Spam-folder en de \"Accounts beheren\"-link verwijderd omdat ze niet op de mockup stonden â maar je had ze nodig om ongewenste mail te bekijken en om nieuwe Gmail/IMAP-inboxen toe te voegen.","solution":"Spam staat nu weer als folder-item onder Prullenbak. Naast het \"INBOXES\"-sectielabel zit nu een klein tandwiel-icoontje dat direct naar /admin/integraties/email opent â minder prominent dan eerst, maar wel vindbaar bij de plek waar je accounts beheert."},{"num":"v6.24","type":"bugfix","title":"Mass-mailing campagnes waren niet meer bereikbaar vanuit de mail-pagina","problem":"Bij de visuele redesign was de Campagnes-link uit de sidebar verwijderd, en als gevolg was de mass-mailing-pagina (/email/campagnes) alleen nog te bereiken via een directe URL.","solution":"Campagnes staat nu onderaan de Overzicht-folders met een papiervliegtuig-icoon en een klein external-link pijltje rechts â dat geeft aan dat het naar een aparte pagina linkt in plaats van een lijst binnen de inbox."},{"num":"v6.23","type":"bugfix","title":"Bij klikken van \"Alle\" verschenen soms de gevlagde mails uit \"Met ster\"","problem":"De fetch voor de vorige filter (bv. Met ster) kon ná de fetch voor je nieuwe filter (\"Alle\") binnenkomen en de resultaten overschrijven â visueel \"glitchte\" je dan terug naar gevlagde mails terwijl Alle actief was.","solution":"fetchThreads() gebruikt nu een AbortController: bij elke filter-/folder-wisseling wordt de openstaande oudere fetch netjes geannuleerd voor de nieuwe start. Late responses worden weggegooid voor ze de state kunnen vervuilen."},{"num":"v6.22","type":"performance","title":"Geen 30-seconden \"wachten op Gmail\" meer tussen twee verwijderingen","problem":"De actie-knoppen werden disabled tot de Gmail/IMAP-call klaar was. Bij een trage Gmail-antwoord kon het 30 seconden duren voor je weer kon verwijderen, ook al was de volgende mail al geopend.","solution":"disabled={moving} verwijderd van de actie-knoppen én de in-flight-guard uit moveSelectedThread() gehaald. Gevolg: je kunt 5 mails snel achter elkaar verwijderen â de optimistische update opent meteen de volgende, en alle Gmail-calls lopen parallel op de achtergrond."},{"num":"v6.21","type":"performance","title":"Optimistische UI bij verwijderen / archiveren / spam-markeren","problem":"Bij klikken op het prullenbakje wachtte je tot de Gmail/IMAP-call klaar was voor de mail uit de lijst verdween â plus een bevestigings-popup. Voelde lui en je bleef met een leeg lezer-paneel zitten.","solution":"Mail verdwijnt nu binnen één frame uit de lijst, de lezer springt direct door naar de volgende thread (of de vorige als je onderaan zat), en de daadwerkelijke server-call loopt op de achtergrond. Bij een fout rolt de UI netjes terug en zie je alsnog de melding. Confirmation-popup is weg â Gmail/Superhuman doen het ook zo."},{"num":"v6.20","type":"bugfix","title":"Klikken op het prullenbakje deed niets bij Gmail-inboxen","problem":"Bij een gekoppelde Gmail-inbox deden de knoppen voor verwijderen, archiveren en als spam markeren niets.","solution":"Die knoppen werken nu ook volledig voor Gmail-inboxen. Outlook volgt later."},{"num":"v6.19","type":"bugfix","title":"Sidebar en lezer hadden nog rechte hoeken in plaats van de afgeronde 18 px","problem":"Een oudere .ml-app-regel zette padding: 0 20px op de grid-shell. Mijn override zei daar niets over en de oude padding overleefde â daardoor stonden de panels strak binnen een afgerond kader, met zichtbaar rechte hoeken in plaats van mee-afgeronde.","solution":"padding expliciet op 0 gezet in de overschrijvende .ml-app-regel, en .ml-folders krijgt nu border-top-left + bottom-left van 18 px, .ml-reader krijgt diezelfde radius rechts. Dubbele garantie: clipping via de shell én een eigen ronding op de panels zelf."},{"num":"v6.18","type":"polish","title":"Geen losse grijze rand meer rond de mail-app","problem":"De 3-koloms mail-shell had een border van 1 px rond het geheel â die maakte een tweede lijn buiten de witte panels en gaf een opvulling waar je 16e niet wilde.","solution":"De buitenste border + achtergrond zijn weg. De border-radius van 18 px zit nu direct op de witte panels (sidebar, threadslijst, lezer) zelf via overflow: hidden op de grid-container."},{"num":"v6.17","type":"polish","title":"Mail-shell stond te strak tegen de bovenkant van de pagina","problem":"De 3-koloms mail-shell had een negatieve top-margin (-8 px) zodat 'ie direct tegen de top-rand van het hoofdpaneel stond â Meetings en andere tabs hebben juist visuele ademruimte rondom de content.","solution":"Negatieve marge weg, vervangen door margin: 20 px boven en 24 px onder. Hoogte is calc(100vh - 160px) zodat dezelfde verticale ademruimte als bij Meetings ontstaat zonder dat er onderaan scroll bijkomt."},{"num":"v6.16","type":"polish","title":"Subject-rij, sender-strip en mail-content card in lijn met de mockup","problem":"Het lezen van een mail voelde kaal aan: het onderwerp stond los, en de inhoud kwam als platte tekst zonder duidelijke scheiding tussen afzender en bericht.","solution":"Onderwerp, afzendergegevens en inhoud van een mail zijn nu overzichtelijk gegroepeerd in een verzorgde kaart, met duidelijke labels en betere leesbaarheid â ook bij mails met meerdere berichten in dezelfde reeks."},{"num":"v6.15","type":"polish","title":"Event-blokken voelen nu high-end aan â zachte floating shadow, glowing accent-strip, smoothere transitions","problem":"Hard 1px border + plat hover-effect maakten de blokken goedkoop ogen â meer web-app default dan premium calendar.","solution":"1px border weg, vervangen door inset 1px shadow (kleur-tinted). Multi-layer drop shadow voor floating depth (1px+3px). Border-radius 8px -> 10px (12px voor day-view). Accent-strip krijgt zachte glow (box-shadow). Gradient nu 105deg diagonaal i.p.v. plat horizontaal. Hover transitions met cubic-bezier(0.16, 1, 0.3, 1) easing (smooth) en lift naar boven (translateY -1px) i.p.v. zijwaarts. Padding iets ruimer. Toegepast op week-bk, week-ext, day-bk, day-ext."},{"num":"v6.14","type":"bugfix","title":"De Categorieën-card werd bij scroll bovenaan afgekapt â sticky top was 20px terwijl de portal-topbar ~80px hoog is","problem":"Bij het scrollen op de Trends-pagina viel een deel van de categorieën-zijbalk weg achter de bovenbalk.","solution":"De zijbalk blijft nu volledig zichtbaar tijdens het scrollen, met een eigen scrollbalk als de inhoud te lang wordt."},{"num":"v6.13","type":"polish","title":"AI Samenvatting verplaatst van 5e KPI-card naar donkere sidebar-card met live-pulse indicator","problem":"Een promotieblok in de zijbalk van de Trends-pagina had een knop die niets deed, en de AI-samenvatting nam onnodig veel ruimte in bovenaan de pagina.","solution":"De AI-samenvatting staat nu overzichtelijk in de zijbalk met een duidelijke live-indicator, en het overzicht bovenaan de pagina is rustiger geworden."},{"num":"v6.12","type":"polish","title":"Gradient gaat nu van 10% kleur bij de strip naar 1% bij 60% en helemaal transparant aan de rechterkant","problem":"Vorige gradient (22% naar 4%) was nog te dominant â kleuren overheersten de tekst en het overzicht.","solution":"3-stops gradient nu: 10% bij 0%, 1% bij 60%, var(--bg-elev) (pure wit) bij 100%. Strip blijft accent, achtergrond is bijna doorzichtig. Border ook subtieler (12% i.p.v. 18%)."},{"num":"v6.11","type":"polish","title":"Up next, Verdeling deze week en Deze week krijgen dezelfde kop-stijl als Kalenders / Mijn agenda's","problem":"Inconsistente kop-typografie in de sidebar: Kalenders/Mijn agenda's waren uppercase 11px letter-spaced (label-stijl) terwijl Up next / Verdeling deze week / Deze week 14-16px regular case (title-stijl) waren.","solution":"Alle headers nu uppercase 11px font-weight: 600 letter-spacing: 0.05em color var(--text-mute) â exact dezelfde kop-stijl in alle cards. Consistente uitstraling, leesbaar als sectie-labels."},{"num":"v6.10","type":"polish","title":"Event-blokken hebben nu een linear-gradient achtergrond i.p.v. uniforme tint","problem":"De achtergrond was overal gelijk getint (12% kleur), wat te fel/zwa
2ar voelde. Mockup-vibe wilde subtieler en gericht: feller bij de kleur-strip links, lichter naar rechts.","solution":"background: linear-gradient(to right, kleur 22% bij de strip, kleur 4% rechts). De saturatie loopt natuurlijk af vanaf het accent-streepje naar bijna-wit aan de rechterkant. Border ook iets subtieler (18% i.p.v. 20%). Toegepast op week-bk, week-ext, day-bk, day-ext."},{"num":"v6.09","type":"polish","title":"Alle drukke kleur-tiles, paarse cards, gekleurde icon-vlakjes en 3D-renders verwijderd ten gunste van monochroom editorial design","problem":"De Trends-pagina oogde druk door felle kleurvlakken, gekleurde icoontjes en speelse elementen die niet bij de rest van het portaal pasten.","solution":"De hele pagina is visueel rustiger gemaakt met een ingetogen, verzorgde stijl: subtielere kleuren, strakkere iconen en meer focus op de inhoud in plaats van decoratie."},{"num":"v6.08","type":"polish","title":"Vandaag-knop + datum-label + view-toggles + Nieuwe-meeting knop staan nu in een eigen witte card, los van de kalender-grid eronder","problem":"De toolbar en de week/dag/maand-grid zaten samen in één witte card met alleen een border-bottom als scheiding. Voelde plakkerig en niet zoals het mockup waar ze visueel apart staan.","solution":".meet-cal-main is nu transparant met 12px gap. .meet-cal-toolbar krijgt zijn eigen card-styling (bg-elev + 1px border + 14px radius). .meet-week, .meet-month en .meet-day krijgen ook elk hun eigen card-styling. Resultaat: twee duidelijk gescheiden witte panelen â toolbar boven, grid onder, met ademende ruimte ertussen."},{"num":"v6.07","type":"polish","title":"Content Strategie, Algoritmes, Tools & Tips en Advertising krijgen elk een eigen gekleurde brand-style tile","problem":"De categorieën in de zijbalk van Trends gebruikten een mix van logo's en emoji's, wat een rommelige indruk gaf.","solution":"Elke categorie heeft nu een eigen, consistent vormgegeven icoon, zodat de zijbalk er overal even verzorgd uitziet."},{"num":"v6.06","type":"polish","title":"Aparte logo-upload op Meetings â Instellingen â Branding verwijderd","problem":"Twee plekken om hetzelfde logo in te stellen: de centrale Huisstijl-pagina (waar ook favicon staat) en een aparte per-booking-page override in Meetings â Branding. Verwarrend en redundant. Bovendien wilde gebruiker single source of truth voor logo+favicon.","solution":"Logo-upload sectie uit Meetings BrandingPanel JSX gehaald, vervangen door een verwijzende info-box naar Admin â Instellingen â Huisstijl. bookingLogoUrl wordt op save nu altijd null gestuurd om eerder ingestelde booking-overrides automatisch te wissen. Boekingspagina valt terug op de globale Tenant.logoUrl. Huisstijlkleur en bedrijfsnaam blijven wel per-booking instelbaar (echt nuttig: andere paneel-kleur voor de boekingspagina vs portaal)."},{"num":"v6.05","type":"bugfix","title":"Host-card schoof omlaag bij de form-stap doordat de rechterkant langer werd","problem":"Op je boekingspagina schoof het blok met jouw gegevens als host soms naar onderen zodra het formulier langer werd, waardoor het pas na scrollen zichtbaar was.","solution":"Dat blok staat nu op een vaste plek direct onder de beschrijving, ongeacht hoe lang het formulier is."},{"num":"v6.04","type":"polish","title":"Footer-tekst toont bedrijfsnaam (Tenant.name) i.p.v. portalName","problem":"Footer op /boek/[user] en /boek/[user]/[slug] gebruikte data.branding.portalName (\"Bedrijfsportaal\"), maar bureaus willen hun eigen naam zien (bv. \"Studio X Marketing\").","solution":"Beide footers gewijzigd naar data.branding.companyName (al beschikbaar in BrandingConfig, komt uit Tenant.name)."},{"num":"v6.03","type":"polish","title":"Elke rij toont nu een floating brand-tile of GenericContentIcon â geen lege pastel-vakjes meer","problem":"Rijen in het Trends-overzicht zonder platformlogo toonden alleen een leeg gekleurd vlakje zonder visueel anker.","solution":"Elke rij toont nu een passend icoon â een platformlogo of een thematisch icoon â voor meer herkenbaarheid en een consistente uitstraling door de hele lijst."},{"num":"v6.02","type":"polish","title":"Browser-default border/focus styling op de tijdzone <select> verwijderd","problem":"De tijdzone-keuze op je boekingspagina had een storende grijze rand die er niet hoorde te zijn.","solution":"Die rand is nu overal weg, ook bij klikken en aanraken op mobiel, zodat de tijdzone er strak en verzorgd uitziet."},{"num":"v6.01","type":"bugfix","title":"De datum-picker op /boek/[user]/[slug] toonde maar 3 kolommen i.p.v. 7, dagen wrapten over meerdere rijen","problem":"Op je boekingspagina toonde de datumkiezer soms maar drie kolommen in plaats van een volledige week, waardoor dagen over elkaar heen vielen.","solution":"De datumkiezer toont nu altijd een nette week van zeven dagen."},{"num":"v6.00","type":"polish","title":"Spacings over de hele trends-pagina verhoogd voor rustigere \"high-end SaaS\"-uitstraling","problem":"De Social Media Trends-pagina voelde compact en druk aan.","solution":"Meer ademruimte tussen kaarten, koppen en secties geeft de pagina een rustigere, verzorgde uitstraling."},{"num":"v5.99","type":"bugfix","title":"Type-error: Property \"portalDomain\" is missing in default BrandingConfig object","problem":"Een ontbrekend veld in de instellingen zorgde ervoor dat een nieuwe update niet naar productie kon.","solution":"Het veld is aangevuld, waardoor updates weer gewoon doorgezet worden."},{"num":"v5.98","type":"feature","title":"manageUrl in booking-bevestigingsmail en host-notificatie respecteren nu het tenant portalDomain","problem":"Klanten die via jouw eigen domein boekten, kregen een bevestigingsmail waarin de link om te annuleren of te verzetten toch naar het algemene Senly-domein verwees.","solution":"Die link wijst nu naar jouw eigen domein, zowel in de mail aan je klant als in de melding die jij zelf ontvangt."},{"num":"v5.97","type":"feature","title":"Nieuwe \"Laad meer\"-knop onder de Laatste inzichten-lijst â start op 8, +10 per klik, met counter voor resterende items","problem":"Bij Alle trends waren negen van de tien inzichten onbereikbaar, ook al werden ze wel meegeteld.","solution":"Een nieuwe knop laat je stap voor stap meer inzichten inladen, met een teller die toont hoeveel er nog volgen."},{"num":"v5.96","type":"feature","title":"Als bureau een eigen portalDomain heeft ingesteld
2worden meeting-booking links automatisch op dat domein gegenereerd","problem":"Boekingslinks gebruikten altijd het Senly-domein, ook als je zelf een eigen domein had ingesteld.","solution":"Heb je een eigen domein ingesteld, dan gebruiken je boekingslinks dat voortaan automatisch, voor een herkenbare ervaring richting je klanten."},{"num":"v5.95","type":"polish","title":"Background van event-blokken krijgt nu een lichte tint (12%) van de eigen meeting-kleur","solution":"In plaats van pure witte achtergrond gebruiken alle event-blokken (week-bk, week-ext, day-bk, day-ext) nu color-mix met 12% saturatie van --block-color tegen var(--bg-elev). De border krijgt 20% saturatie van dezelfde kleur. De halve verticale kleur-strip blijft full color. Resultaat: doorzichtige achtergrond in dezelfde kleur als de strip â past beter bij de Apple-stijl met meer visuele samenhang."},{"num":"v5.94","type":"polish","title":"De grote \"Meetings\" titel met kalender-icoon en de subtitel verwijderd","solution":"De .meet-hero-title h1 en .meet-hero-sub p zijn uit JSX gehaald. Alleen de tabs (Kalender / Instellingen) en de publieke booking-link blijven nu in de header. Hero-padding verlaagd van 32px top naar 16px omdat de grote titel weg is. Direct meer ruimte voor de kalender zelf."},{"num":"v5.93","type":"polish","title":"Witte achtergrond met grijze border + halve verticale kleur-strip links als enige kleur-accent","problem":"Afspraakblokken in de agenda hadden een gekleurde achtergrond en rand, wat rommelig oogde.","solution":"Afspraakblokken hebben nu een witte achtergrond met een subtiel gekleurd streepje, voor een rustigere en herkenbaardere agenda."},{"num":"v5.92","type":"feature","title":"Nieuwe sectie \"Verdeling deze week\" toont meetings + uren per kalender met progress-bars","problem":"Taak overzicht-sectie suggereerde een echt taken-systeem maar telde alleen booking-statussen (te-voorbereiden = confirmed, follow-ups = completed, etc). Verwarrend en bij gebruikers zonder Senly-bookings altijd 0.","solution":"Vervangen door echt nuttige sectie: groepeert alle meetings deze week per kalender (Senly meeting-types EN externe Google/Outlook agendas). Toont per kalender: gekleurde dot + naam + aantal + duration-bar in agenda-kleur + totale tijd + procent van de week. Items gesorteerd op tijd-doorgebracht (meest tijd bovenaan). Zo zie je in 1 oogopslag hoe je week verdeeld is: bv \"Werk 75% (12u 30m), Privé 15% (2u 30m), Gezin 10%\"."},{"num":"v5.91","type":"polish","title":"Titels naar single-line ellipsis i.p.v. 2-regel wrap, min-hoogte event-blok verhoogd","problem":"Titel had -webkit-line-clamp: 2 wat 2 regels mocht innemen. Bij korte events (30 min = 30px) kwam de subtitle (locatie/Zoom-URL) daaronder en werd half afgesneden door overflow:hidden. Resultaat: regels die halverwege werden afgekapt â lelijk.","solution":"Titels nu single-line met witespace:nowrap + ellipsis. flex-shrink: 0 op alle child-rijen zodat ze nooit gestrekt of geknipt worden. Plus minimum event-hoogte van 24/28/40px naar 38/42/42px om altijd ruimte te hebben voor titel + 1 subt
2itle-regel. Bij echt korte events wordt subtitle volledig verborgen door overflow:hidden â geen half-afgesneden tekst meer."},{"num":"v5.90","type":"polish","title":"Titels en subtitels in alle event-blokken staan nu links uitgelijnd","problem":"Browser-defaults op <button> elementen gaven text-align: center, waardoor de tekst in elk event-blok in het midden uitgelijnd was. Mijn text-align: left op de parent button werkte niet door naar de strong/span children, vooral niet bij display: -webkit-box (line-clamp).","solution":"Expliciet text-align: left + width: 100% gezet op alle strong/span/small kinderen in .meet-week-bk, .meet-week-ext, .meet-day-bk, .meet-day-ext. Plus align-items: flex-start op de flex parents zodat de items niet automatisch in het midden gestretched worden."},{"num":"v5.89","type":"polish","title":"Lange titels worden nu na 2 regels netjes afgekapt met \"...\", en font-weight verlaagd van 700 naar 600","problem":"Bij events met lange titels (zoals \"Kennismakingsgesprek | Social Media Beheer / Groeiservice\") en lange locatie-URLs liep de tekst door en werd half afgesneden. Plus de title-font was 700 wat te dik aanvoelde voor de kleine grid-tekst.","solution":"Alle event-blokken (week/dag/maand, bookings en externe events) krijgen nu -webkit-line-clamp: 2 op de titel + ellipsis op subtitles/locaties. Font-weight 700 -> 600 op alle title-strongs. Tekst is nu lichter en nooit meer half afgesneden â gewoon \"...\" aan het eind."},{"num":"v5.88","type":"polish","title":"Mini-grafieklijn op de 4 KPI-cards loopt niet meer dwars door de cijfers en labels","problem":"De sparkline (groene/roze trendlijn) lag over de volle breedte van elke KPI-card. Door de lichte opacity (0.55) scheen de lijn door de teksten \"Trending nu / 50 / Actieve trends\" heen â onleesbaar en visueel rommelig.","solution":".smtr-kpi-spark begint nu pas op 50% breedte (inset: auto 0 0 50%) zodat de linkerhelft volledig vrij blijft voor de tekst. Plus een mask-image gradient (transparent â opaak vanaf 22% van de spark-breedte) zodat de lijn zacht infaadt vanaf links i.p.v. abrupt te beginnen. Rechterhelft van de kaart heeft nu de mooie trendlijn, linkerhelft is schoon."},{"num":"v5.87","type":"performance","title":"localStorage-cache voor de trends-feed (TTL 24 uur)","problem":"De Social Media Trends-pagina moest telkens opnieuw laden, ook kort na je vorige bezoek.","solution":"Trends worden nu tot 24 uur onthouden in je browser, waardoor de pagina bij een volgend bezoek direct klaarstaat."},{"num":"v5.86","type":"bugfix","title":"Events zonder calendarName kregen verschillende kleuren in het grid maar werden in de sidebar als één groep getoond","problem":"Afspraken zonder agendanaam kregen in het overzicht andere kleuren dan in de zijbalk, terwijl ze wel bij elkaar hoorden.","solution":"Kleuren in het overzicht en de zijbalk komen nu overeen, en zijn krachtiger zodat je in één oogopslag ziet welke afspraak bij welke agenda hoort."},{"num":"v5.85","type":"bugfix","title":"Events buiten 08:00-18:00 werden niet getoond â terwijl ze wel meetelden in de stats","problem":"Het week- en dag-grid had hardcoded tijdrange 08:00-18:00 (11 rijen). Events die vroeg in de ochtend of laat in de avond startten werden niet gerenderd, maar wel meegeteld in \"X Meetings\" / totale tijd. Gevolg: stats zeiden \"11 meetings\" terwijl je er maar 8 in beeld zag.","solution":"Nieuwe useMemo berekent dynamisch startHour en endHour per week/dag. Begint bij 08:00 en eindigt bij 18:00 als default, maar verschuift automatisch als er events buiten dat venster zijn â eerst uur wordt floor(vroegste event), laatste uur is ceil(einde laatste event). Voor week-view wordt het hele 7-dagen-grid berekend; voor day-view alleen de zichtbare dag. Geen events meer onzichtbaar â telling en weergave kloppen nu altijd."},{"num":"v5.84","type":"feature","title":"Mijn agenda's sidebar toont nu elke individuele Google/Outlook/iCloud agenda als losse checkbox met eigen kleur","problem":"Sidebar had één algemene \"Externe events\" toggle + een hardcoded \"Verjaardagen\" item. Maar gebruiker heeft meerdere agendas (Werk/Gezin/Privé/Gezinsagenda) en wil die los kunnen aan/uit zetten â net zoals in de Apple Calendar agenda-beheer modal.","solution":"Nieuwe useMemo externalCalendars extraheert unieke calendarName waarden uit alle events, met deterministische kleur per agenda via colorForExternal hash. Elke agenda krijgt een checkbox-item met eigen kleur in de sidebar. State hiddenExternalCals tracked welke uit staan. visibleExternalEvents filter wordt overal toegepast: in de kalender-grids, weekstats, Up next en Vandaag-strip. Uit-staande agendas verdwijnen uit alle weergaves."},{"num":"v5.83","type":"feature","title":"Klik \"Bekijk volledige agenda\" om de kalender over het hele scherm uit te klappen","solution":"Met één klik op Bekijk volledige agenda vult je kalender het hele scherm voor meer overzicht. Sluiten kan met dezelfde knop of de Escape-toets."},{"num":"v5.82","type":"feature","title":"Klik op elk event in de k
2alender (ook externe Google/Outlook events) en er opent een Apple-Calendar-style detail-card","problem":"Afspraken uit gekoppelde agenda's zoals Google of Outlook waren niet aan te klikken, en het detailvenster van je eigen boekingen zat verstopt.","solution":"Elke afspraak is nu aan te klikken en opent een overzichtelijke detailkaart met datum, tijd en locatie. Afspraken uit een gekoppelde agenda zijn duidelijk gemarkeerd als alleen-lezen."},{"num":"v5.81","type":"bugfix","title":"Op zondag toonde de toolbar de wéék erna (1-7 juni) terwijl het grid de huidige week (25-31 mei) liet zien","problem":"De maandag-berekening voor het week-label gebruikte `start.getDate() - start.getDay() + 1`. Op zondag is getDay() = 0, dus dat wordt `31 - 0 + 1 = 32` â 1 juni. Fout. Op andere dagen klopte het wel toevallig.","solution":"Vervangen door dezelfde formule die WeekGrid al gebruikt: `offset = (getDay() + 6) % 7` en dan terug-tellen. Werkt voor elke dag van de week: ma=0, di=1, ..., zo=6 dagen terug. Label en grid lopen nu altijd synchroon."},{"num":"v5.80","type":"polish","title":"Up next items zijn nu visueel met elkaar verbonden via een verticale lijn in de meeting-kleur","solution":"De aankomende afspraken in Up next zijn nu met een lijn in de agendakleur aan elkaar verbonden, en de duur staat erbij als nette pil, precies zoals in het ontwerp."},{"num":"v5.79","type":"feature","title":"Stat-cards (Meetings/Totale tijd/Bezettingsgraad/Gem. duur) tonen nu echte cijfers uit zowel Senly bookings als gekoppelde Google/Outlook agenda's","problem":"Eerste versie telde alleen Senly bookings, en de trend-percentages (+12%, +8%, +5%, +3%) waren hardcoded uit de mockup. Wie alleen externe agenda gebruikt zag overal 0 staan met liegende trend-percentages eronder.","solution":"weekStats berekent nu count, totalMin, occupancy en gemiddelde duur uit bookings PLUS externalEvents. Trend-percentages worden echt berekend door deze-week vs vorige-week-range te vergelijken. Bij stijging groen, bij daling rood. Trends worden alleen getoond als er data is om te vergelijken (geen \"+100%\" uit het niets). Up Next en Vandaag-strip combineren ook beide bronnen."},{"num":"v5.78","type":"bugfix","title":"Floating \"+ Nieuwe meeting\" knop rechtsonder verwijderd omdat hij botste met de chat-widget","problem":"Een zwevende knop rechtsonder in de agenda botste visueel met de chatwidget.","solution":"De zwevende knop is verwijderd, want Nieuwe meeting was al op twee andere plekken beschikbaar. De chathoek is weer vrij."},{"num":"v5.77","type":"polish","title":"Mini-kalender, filter-secties, hoofd-kalender, Up next en Taak overzicht zijn nu losse witte cards","problem":"De verschillende onderdelen van de agenda liepen zonder duidelijke scheiding in elkaar over.","solution":"Mini-kalender, filters, hoofdagenda, Up next en het takenoverzicht staan nu allemaal in eigen, duidelijk afgebakende kaarten."},{"num":"v5.76","type":"polish","title":"Elke externe agenda-event krijgt automatisch een eigen kleur via deterministische hash","problem":"Afspraken uit gekoppelde agenda's kregen allemaal dezelfde kleur, ongeacht welke agenda het was.","solution":"Elke gekoppelde agenda krijgt nu automatisch zijn eigen vaste kleur, zodat je meteen ziet welke afspraak bij welke agenda hoort."},{"num":"v5.75","type":"polish","title":"Custom-styled checkboxes met volledige type-kleur i.p.v. native accent-color","problem":"Vinkjes bij afspraaktypes toonden een lichte tint kleur in plaats van de volle kleur.","solution":"Vinkjes zijn herontworpen met de volle kleur van het afspraaktype en een duidelijk wit vinkje, consistent in elke browser."},{"num":"v5.74","type":"polish","title":"Vandaag-cards krijgen verticale kleur-strip links, duration-pill rechtsboven, en avatar-cirkels onderaan","solution":"De today-cards lijken nu visueel op de design-mockup: 3px verticale type-kleur strip aan de linkerzijde (via ::before), duration als afgeronde pill (60m, 30m) i.p.v. plain tekst, twee avatar-cirkels met initialen die overlappen, en sterkere hover-state met type-kleur border. Nieuwe-meeting empty-card heeft nu een subtielere look."},{"num":"v5.73","type":"polish","title":"Sidebar en datum-headers in lijn met design","problem":"De eerdere versie van het vernieuwde ontwerp had nog wat losse eindjes: verouderde labels, een overbodige map en een dubbele ongelezen-indicator.","solution":"Labels, mappen en de zijbalk zijn nu volledig in lijn met het ontwerp, inclusief de juiste namen voor Met ster en Prullenbak."},{"num":"v5.72","type":"polish","title":"De donkergroene pulse-rings achter de support-FAB zijn weg","problem":"De .support-fab had twee animerende pseudo-element rings (::before en ::after) die continu uitwaaierden in de huisstijl-kleur. Op een witte achtergrond zag dat eruit als een vlek of glow achter de knop â onrustig.","solution":".supp
2ort-fab::before en .support-fab::after krijgen nu display: none. De pulse-keyframes blijven gedefinieerd voor het geval iemand het later weer wil aanzetten. Hover-glow op de knop zelf blijft staan."},{"num":"v5.71","type":"polish","title":"Body-achtergrond in light mode is nu #ffffff op elke pagina","problem":"De light-mode body-background had een complexe radial-gradient stack met #f2f7f7 + teal/purple tints. Dat gaf overal een licht groen-gewassen sfeer â gebruiker wilde gewoon strak wit.","solution":"html[data-theme=\"light\"] body krijgt nu een platte background: #ffffff. De vijf gestapelde radial-gradients en de teal-shimmer zijn weg. Trends-pagina specifieke override is opgeruimd want het is nu globaal. Dark mode blijft volledig intact."},{"num":"v5.70","type":"polish","title":"Meetings opent nu standaard in Week-view en alle UI-elementen matchen exact het mockup-design","problem":"De agenda had de juiste opbouw, maar de details weken nog af van het ontwerp: vlakke statistiekkaarten, standaard knoppen en een maandweergave als startpunt.","solution":"Statistiekkaarten, knoppen en de weergave van afspraken zijn verfijnd, en de agenda opent voortaan standaard in weekweergave in plaats van maandweergave."},{"num":"v5.69","type":"polish","title":"Off-white #f3f5f8 vervangen door pure white","solution":".smtr-root background is nu #ffffff i.p.v. de off-white tint van v6.24. Dark-mode override blijft staan zodat het portaal-thema in dark gewoon donker rendert."},{"num":"v5.68","type":"polish","title":"Pagina-achtergrond gewijzigd naar #f3f5f8 (zachte koel-grijze tint)","problem":"De Trends-pagina had de standaard portaal-achtergrond met een groen-zweem, terwijl de mockup een rustig off-white toonde dat de witte cards beter laat ademen.","solution":".smtr-root krijgt nu een eigen achtergrondkleur #f3f5f8 die zich via negatieve margins (compenseert de 32px sidebar-padding) helemaal tot de schermranden uitstrekt. In dark mode valt het terug op var(--bg-root) zodat het portaal-thema niet breekt."},{"num":"v5.67","type":"polish","title":"3-koloms e-mail layout krijgt de high-end look van de design-screenshot","problem":"De e-mail-inbox oogde functioneel maar niet verzorgd: weinig scheiding tussen mappen, berichtenlijst en het geopende bericht.","solution":"De inbox heeft een visuele upgrade gekregen met duidelijkere secties, een overzichtelijke berichtenlijst met snelle filters en een rustigere leesweergave, in zowel licht als donker thema."},{"num":"v5.66","type":"polish","title":"Initialen-cirkels (LV / BS / CM, JM / AK / RT, EK / PD / NW) vervangen door echte portretfoto's","problem":"Auteursfoto's bij Trending Blogs waren gekleurde cirkels met initialen, wat een goedkope indruk gaf.","solution":"Auteurs krijgen nu echte portretfoto's, consistent per artikel zodat ze bij elk bezoek hetzelfde blijven."},{"num":"v5.65","type":"polish","title":"Inline SVG-componenten in officiële merkkleuren voor Instagram, TikTok, LinkedIn, YouTube en Facebook","problem":"Platformiconen voor Instagram, TikTok, LinkedIn, YouTube en Facebook waren emoji's die er op elk apparaat anders uitzagen en niet bij de huisstijl van elk platform pasten.","solution":"De iconen zijn vervangen door scherpe logo's in de echte merkkleuren van elk platform, die er in elk thema en op elk scherm goed uitzien."},{"num":"v5.64","type":"feature","title":"Meetings heeft nu een 3-kolom layout met hero header, mini-kalender, weekstats, en vandaag-strip","problem":"De Meetings-pagina had een simpele 2-kolom layout zonder overzicht van statistieken, aankomende afspraken, of een dagweergave-strip onderaan.","solution":"Compleet nieuwe layout: hero header met grote titel en pill-tabs, linkerzijbalk met interactieve mini-maandkalender en agenda-filters, rechterzijbalk met weekstatistieken (aantal meetings, totale tijd, bezettingsgraad, gem. duur), Up Next sectie met eerstvolgende 3 afspraken, Taak overzicht, en een Vandaag-strip onderaan met horizontale meeting-cards. Plus floating action button rechtsonder."},{"num":"v5.63","type":"feature","title":"TrendsDashboard volledig herschreven naar het nieuwe ontwerp","problem":"De trends-pagina miste een duidelijke opbouw: cijfers, trends en opgeslagen items stonden los van elkaar.","solution":"De pagina is opnieuw ingericht met een overzichtelijke koptekst, kerncijfers, filters per platform en een duidelijke indeling tussen trending content en categorieën, in licht en donker thema."},{"num":"v5.62","type":"infra","title":"Nieuwe trends.css (~960 regels) met .smtr-* prefix","solution":"De styling van de trends-pagina is opnieuw opgezet zodat toekomstige aanpassingen sneller en consistenter doorgevoerd kunnen worden."},{"num":"v5.61","type":"polish","title":"Elke pagina bereikbaar vanuit de zijbalk heeft nu dezelfde 20px eigen padding","problem":"Na de eerste ronde (Dashboard, Kalender, Trends) hadden de overige pagina's nog hun oude padding: .container-pagina's 40px, Launchpad 40px, Onboarding/Affiliate 40px inline, Email 0px, Integratie-
2detail 28px. Hierdoor verschilde de inhoudsuitlijning per sectie.","solution":"Alle wrappers genormaliseerd naar 20px horizontaal: .container (raakt Statistieken, Taken, Financieel, Profiel, alle Admin-overzichten, Klantprofiel), .lp-root (Launchpad), .ml-app (Email), .intp-wrap (Integratie-details), plus inline styles in OnboardingBoard.tsx en AffiliateDashboard/AffiliateAdminDashboard.tsx. Samen met de globale main-inset van 32px is nu elke pagina op 52px effective â identiek aan Meetings."},{"num":"v5.60","type":"polish","title":"De 3 drijvende teal-radial-orbs op de Launchpad-achtergrond zijn verwijderd","solution":"De drie zwevende decoratieve vlekken op de achtergrond van het startscherm zijn verwijderd voor een rustiger beeld."},{"num":"v5.59","type":"polish","title":"Alle hoofdpagina's starten en eindigen nu op precies dezelfde horizontale positie","problem":"Contentkalender, dashboard, trends en agenda hadden elk net iets andere zijmarges, waardoor het geheel inconsistent aanvoelde.","solution":"Alle hoofdpagina's lijnen nu exact hetzelfde uit, zodat het platform overal even strak oogt."},{"num":"v5.58","type":"polish","title":"Maandwinst, Laatste activiteit, Snelle acties en Aankomende deadlines hebben nu semi-bold i.p.v. bold titel","solution":".taskio-card-head h3 font-weight van 700 naar 600. Eén tandje dunner, oogt rustiger naast de gradient KPI-tegels en past beter bij de premium typografie van de rest van het portaal. Letter-spacing -0.015em blijft voor de optical correction."},{"num":"v5.57","type":"polish","title":"Achtergrond-orbs op de Launchpad waren te subtiel â bijna onzichtbaar","problem":"De gekleurde accenten op de achtergrond van het startscherm waren nauwelijks zichtbaar.","solution":"De accenten zijn groter, feller en scherper gemaakt, zodat de huisstijlkleur duidelijk aanwezig is zonder af te leiden."},{"num":"v5.56","type":"polish","title":"Vier extra pagina's krijgen â naast de titel i.p.v. uitleg-tekst onder","problem":"Profiel beheren, Huisstijl & branding, Abonnement & incasso en Flows toonden nog een lange uitlegtekst onder de titel.","solution":"Deze vier pagina's hebben nu, net als de rest van het platform, een kort info-icoon naast de titel met de uitleg erachter, inclusief een duidelijkere toelichting op tarieven en de flow-indeling."},{"num":"v5.55","type":"polish","title":"Custom rollen, Ingediende claims, Overzicht, Activiteiten, Commissieregels","problem":"Onder de titel van die pagina's stond steeds een lange uitleg-alinea die ruimte innam en de hero \"log\" maakte. Op Launchpad en Takenbeheer was dat patroon al vervangen door een â-icoontje â dat moest naar de rest.","solution":"Vijf pagina's krijgen nu een InfoPopover (â) naast de titel. De uitleg verschijnt bij hover/klik in een floating popover. Voor pagina's met al een i18n-key voor de subtekst (Overzicht: ov_page_sub, Activiteiten: audit_desc) wordt die hergebruikt. Voor de andere drie is een uitgebreidere uitleg geschreven die ook nieuwe gebruikers helpt de pagina te begrijpen."},{"num":"v5.54","type":"polish","title":"Achtergrond ademt mee in de bureau-kleur â elegant, niet afleidend","problem":"De Launchpad-pagina had een platte witte achtergrond â voelde leeg en weinig \"wow\" voor de eerste indruk waar gebruikers binnenkomen.","solution":"Drie radial-gradient orbs in de huisstijl-kleur van het bureau (var(--accent), met Senly-teal als fallback) zweven langzaam over de pagina. Animatie 28-34s â extreem traag â en opacity 35% (35-50% in dark mode), zodat ze niet de aandacht trekken maar wel diepte geven. pointer-events: none + z-index 0 zodat content altijd op de voorgrond blijft. Reduced-motion gerespecteerd: bij die voorkeur staan de orbs stil, blijven zichtbaar."},{"num":"v5.53","type":"polish","title":"Launchpad-titel staat nu netjes uitgelijnd met Tools / CRM / Trends","problem":".lp-root had padding: 32px 0 64px â geen horizontaal padding. Daardoor plakte de \"Launchpad\"-titel tegen de menubalk-rand terwijl andere pagina's 40px margin van die kant kregen via .container.","solution":"Launchpad gebruikt nu exact dezelfde inset als .container: max-width 1320px, margin: 0 auto, padding: 80px 40px 120px. Met responsive variants op mobile (24px) en kleine schermen (16px). Visueel consistent met Tools / CRM / Trends / Affiliate."},{"num":"v5.52","type":"polish","title":"Pagina /admin/roles niet meer ingesnoerd op 1320px","problem":"Net als Launc
2hpad had de Custom rollen-pagina nog de oude .container wrapper (max-width 1320px) waardoor de inhoud gecentreerd stond in een smaller frame i.p.v. mee te lijnen met de rest van het admin-deel.","solution":"De `container`-class vervangen door `roles-page` (geen max-width) zodat de pagina dezelfde breedte heeft als het dashboard. De outer .app-shell-main > main heeft al 32px horizontale padding wat consistent oogt."},{"num":"v5.51","type":"polish","title":"Launchpad gebruikte de oude .container wrapper (max-width 1320px) â nu full-width","problem":"De Launchpad-pagina werd geclamped op 1320px breed met 40px horizontale padding extra erbovenop. Op brede schermen (of zoals bij gebruiker met 80% Chrome-zoom) zag dat er ingesnoerd uit naast het dashboard dat wél de volle breedte gebruikt.","solution":"De `container`-class verwijderd uit de LaunchpadView wrapper. De outer .app-shell-main > main heeft al 32px horizontale padding (zelfde als dashboard) â dus Launchpad lijnt nu pixelmatig op met /. Alle inner-elementen (progress-bar, hero-tekst, categorie-lijst) hadden eigen max-widths gehad maar die zijn behouden voor leesbaarheid."},{"num":"v5.50","type":"polish","title":"Actie-knoppen en stats plakten direct onder de titel","problem":"Doordat de uitleg-alinea verdween en achter het (i)-icoontje verschoof, plakten de actie-knoppen / stats / KPI-grid direct onder de h1 â voelde te krap, niet ademend.","solution":".sa-title-row krijgt nu margin-bottom: 22px â exact dezelfde verticale ruimte die de uitleg-alinea voorheen innam (zelfde value als .tx-hero-sub). Werkt door op alle pagina's die dit pattern gebruiken: Tools, Affiliate, Massa-koppeling, Launchpad, Trends, CRM en Takenbeheer."},{"num":"v5.49","type":"polish","title":"Herbruikbare <InfoPopover /> component + 4 pagina's aangepast","problem":"Op Tools, Launchpad, CRM Leads en Social Media Trends stond de uitleg-alinea permanent in beeld onder de titel â terwijl je die info maar één keer hoeft te lezen. Verschillende stijlen tussen pagina's ook.","solution":"Nieuwe components/InfoPopover.tsx wrapper rond het (i)-icon + popover patroon. Toegepast op: Tools-pagina (krachtige tools-uitleg), Launchpad (gepersonaliseerde startlijst-uitleg met dynamische voornaam), Social Media Trends (realtime inzicht), CRM Leads (kanban + sync-uitleg). Waar geen tekst stond, nieuwe beschrijving verzonnen passend bij de feature."},{"num":"v5.48","type":"polish","title":"Vier kolommen krijgen elk een eigen glass-card met tone-gekleurde radial glow","problem":"Het overzicht van deadlines oogde vlak: alle taken stonden in een grijze rij zonder duidelijk onderscheid tussen verlopen, vandaag en deze week.","solution":"Elke kolom heeft nu een eigen kaart met een kleuraccent passend bij de urgentie, en een lege kolom toont voortaan een geruststellend vinkje in plaats van een streepje."},{"num":"v5.47","type":"bugfix","title":"Info-knop hing onder de titel i.p.v. midden ernaast","problem":"Het info-icoon naast de titel Takenbeheer stond niet netjes op dezelfde hoogte als de tekst.","solution":"Het info-icoon staat nu overal netjes gecentreerd naast de titel."},{"num":"v5.46","type":"polish","title":"Info-popover naast de titel i.p.v. een alinea eronder","problem":"De subtitel onder \"Takenbeheer\" nam veel ruimte in en stond ongelukkig op \"synchroniseert automatisch met GoHighLevel\" â terwijl Takenbeheer prima standalone werkt, GHL is maar één van de optionele integraties.","solution":"Beschrijving zit nu achter een (i)-knop naast de titel, zelfde pattern als op Massa-koppeling en Affiliate. Nieuwe tekst in nl/en/de/fr: \"Alle taken van het team. Werkt volledig standalone (taken aanmaken, toewijzen, afvinken) of synchroniseert automatisch met integraties die je optioneel koppelt.\" Geen leverancier-specifieke naam meer in de copy."},{"num":"v5.45","type":"polish","title":"Inline-uitklap vervangen door gecentreerde popup met blur achtergrond","problem":"Het volledige klantenoverzicht klapte inline open, waardoor het dashboard heel lang werd bij veel klanten.","solution":"Bekijk alle klanten opent nu een overzichtelijk venster met een wazige achtergrond, een scrollbare lijst en het totaalbedrag onderaan. Sluiten kan met Escape of een klik naast het venster."},{"num":"v5.44","type":"bugfix","title":"Knop linkte naar /financieel maar deed visueel niets bruikbaars","problem":"De \"Bekijk alle 18 klanten â
2\" knop was een Link naar /financieel. Voor een manager zonder viewFinance-permissie deed dat niets, en zelfs met permissie kreeg je de algemene financieel-pagina i.p.v. specifiek de klantenlijst met bedragen.","solution":"Vervangen door een toggle-button die de volledige klantenlijst inline uitklapt in de widget. Klik op \"Bekijk alle 18 klanten â\" â alle 18 verschijnen onder elkaar met hun bedrag. Klik op \"â Toon minder\" â terug naar top 5. Geen pagina-navigatie nodig, geen permissie-gedoe. Vertaald in nl/en/de/fr."},{"num":"v5.43","type":"polish","title":"Beschrijving naast de titel i.p.v. een blok eronder","problem":"De uitleg-alinea onder \"Verdien 30% MRR per verwijzing\" nam veel verticale ruimte in voor informatie die je maar één keer hoeft te lezen.","solution":"Zelfde pattern als op de Massa-koppeling pagina toegepast: titel + rond (i)-knop, klik opent een nette popover met de uitleg, teal border-glow en driehoekje. Hergebruikt de bestaande .sa-title-row / .sa-info-btn / .sa-info-popover classes â een consistent ontwerp door de hele admin."},{"num":"v5.42","type":"bugfix","title":"Titel \"Massa-koppeling\" stond naast i.p.v. onder de eyebrow","problem":"Door de inline-flex op .sa-title-row zat de h1 op dezelfde regel als de \"SOCIAL ACCOUNTS\" eyebrow ernaast i.p.v. eronder.","solution":".sa-title-row van inline-flex naar gewone flex â h1 staat nu netjes op een nieuwe regel onder de eyebrow zoals overal in het portaal."},{"num":"v5.41","type":"polish","title":"Stats omgezet naar compacte gekleurde mini-pillen","problem":"De \"72 slots · 0 gekoppeld · 5 verlopen\"-regel was puur tekst met scheidings-puntjes. Niet meteen visueel onderscheidbaar.","solution":"Drie kleine pill-blokjes â neutraal (slots), teal (gekoppeld), oranje (bijna verlopen) en rood (verlopen). Veel kleiner dan dashboard-stat-cards: 4px verticale padding, 12-13px tekst. Subtiele border in de juiste tint per status."},{"num":"v5.40","type":"bugfix","title":"Manager-widget gebruikt nu .taskio-revenue-* CSS i.p.v. .monthly-bar-*","problem":"De maandwinst-weergave voor teamleiders toonde brede balken in plaats van de smalle staafjes die admins op hun eigen dashboard zien.","solution":"De weergave is nu visueel gelijk aan de admin-versie, met dezelfde smalle staven, tooltips en legenda."},{"num":"v5.39","type":"polish","title":"Beschrijving als popover i.p.v. permanent zichtbare alinea","problem":"De uitlegtekst onder Massa-koppeling nam veel ruimte in voor iets wat je maar één keer hoeft te lezen.","solution":"De uitleg zit nu achter een info-icoon dat je met een klik open- en dichtklikt."},{"num":"v5.38","type":"polish","title":"Jaar-overzicht is nu span 3 (75% breed) i.p.v. span 2 (50%)","problem":"Het jaaroverzicht van teamleiders stond op de helft van de breedte, terwijl de vergelijkbare weergave voor admins driekwart van het scherm gebruikt.","solution":"Het jaaroverzicht staat nu even breed als bij admins, zodat de staven net zo goed leesbaar zijn."},{"num":"v5.37","type":"feature","title":"Inkomen wordt nu opgesplitst in klant-fees (teal, basis) en vast maandbedrag (violet, toeslag)","problem":"Een staaf per maand toonde alleen het totaal â geen onderscheid tussen waar het inkomen vandaan komt. Manager kon niet snel zien hoeveel deel klant-fees vs flat fee was per maand.","solution":"Net als admin Maandwinst (Maandelijks + Eenmalig) staan er nu twee gestapelde segments per maand. Onderaan: klant-fees (teal #36d2c4) â schaalt met je portfolio. Bovenop: vast maandbedrag (violet #a78bfa) â toeslag uit FlatFeeAgreement. Zelfde capsule-vorm, zelfde breedte, zelfde hover-effect als admin. Toekomstige maanden krijgen automatisch lichtere bars (projectie)."},{"num":"v5.36","type":"feature","title":"Filter-chips bovenaan: Beide / Klant-fees / Vast bedrag","solution":"Drie chips in de header (vergelijkbaar met legend van admin maar klikbaar). Klik \"Klant-fees\" â alleen die kolom getoond. Klik \"Vast bedrag\" â alleen flat fee. Klik \"Beide\" â terug naar gestapeld. Jaartotaal in de sub-header past zich aan op het actieve filter. Hover-detail toont altijd beide bedragen + totaal ongeacht filter."},{"num":"v5.35","type":"infra","title":"i18n: 3 nieuwe keys à 4 talen = 12 strings","solution":"Alle teksten van het jaaroverzicht voor teamleiders zijn nu in de vier ondersteunde talen beschikbaar."},{"num":"v5.34","type":"polish","title":"ManagerIncomeYearWidget gebruikt nu DIRECT de admin .monthly-bar-* CSS-classes","problem":"Eerdere pogingen om het jaaroverzicht van teamleiders te laten lijken op de admin-versie kwamen er niet helemaal mee overeen.","solution":"Het jaaroverzicht van teamleiders gebruikt nu exact dezelfde weergave als bij admins, inclusief staven, tooltips en de weergave van toekomstige maanden. Toekomstige verbeteringen aan die weergave gelden voortaan automatisch voor beide."},{"num":"v5.33","type":"polish","title":"Beide manager-widgets ~25% korter in de hoogte","problem":"De widgets namen veel verticale ruimte in. Het jaar-overzicht had 220p
2x hoge bars, het inkomen-blok 18-26px padding rondom. Op normale schermen scrolde de rest van het dashboard daardoor te ver omlaag.","solution":"Year-chart bars van 220px â 156px (stack 170px â 116px). Card padding 22px â 18px. Hero-cijfer 34px â 28px. Sub-stats padding 12px â 10px, gap 10px â 8px. Klanten-rij padding 9px â 7px. Footer-summary padding-top 12px â 10px. Resultaat: zelfde info, ~25% minder hoogte."},{"num":"v5.32","type":"polish","title":"Premium glass-effect + gradient bars met inner highlight","solution":"De kaarten en staven van het jaaroverzicht hebben een verfijnde glasachtige uitstraling gekregen, met een subtiele gloed en verlichting die in licht en donker thema goed werkt."}]},{"date":"2026-05-30","version":"v5.31","clV":"v5.92","title":"Manager-widgets in huisstijl gebracht â identiek aan admin Maandwinst, Manager-dashboard: 2 nieuwe widgets â \"Deze maand\" + \"Jaar-overzicht\" & 24 meer","items":[{"num":"v5.31","type":"polish","title":"Bar-chart krijgt teal capsule-staven, hover-bedrag bovenaan en mooie card-frame","problem":"De staven in het jaaroverzicht van teamleiders waren donkergrijs in plaats van teal, en pasten daardoor niet bij de rest van het platform.","solution":"De staven tonen nu de vertrouwde teal-kleur met afgeronde vormen, en het bedrag per maand verschijnt bij aanwijzen boven de staaf."},{"num":"v5.30","type":"polish","title":"\"Mijn inkomen deze maand\"-widget light-mode-leesbaar","problem":"De cijfers bij Mijn inkomen deze maand waren in het lichte thema nauwelijks leesbaar door een te donkere achtergrond.","solution":"De weergave is nu leesbaar afgestemd op zowel het lichte als het donkere thema."},{"num":"v5.29","type":"feature","title":"Widget \"Mijn inkomen deze maand\" voor account managers","problem":"Een manager kon nergens snel zien wat de huidige maand-inkomsten zijn â alleen via /financieel/tab=employees waar admins kijken. Geen eigen overzicht op het eigen dashboard.","solution":"Nieuwe widget op het dashboard met grote teal-cijfer voor het maandtotaal, twee sub-stats (vast maandbedrag + klant-fees) en een top-5 lijstje van gekoppelde klanten met hun bedrag. Gepauzeerde klanten verschijnen mute met \"pauze\"-label en tellen â¬0. Link \"Bekijk alle X klanten\" voor de volledige lijst."},{"num":"v5.28","type":"feature","title":"Widget \"Jaar-overzicht per maand\" â bar-chart van het hele jaar","problem":"Hetzelfde gemis aan trend-overzicht: hoe stabiel was mijn inkomen het afgelopen jaar? Welke maand was uitschieter? Niet zichtbaar.","solution":"Bar-chart per maand (Jan-Dec) van het inkomen, single-color teal-gradient zoals de admin maandwinst-widget maar dan voor managers (geen winst/verlies â alles is inkomen). Hover-tooltip toont per maand de breakdown flat fee + klant-fees + totaal. Onder de chart twee samenvatting-stats: jaartotaal en gemiddelde per maand."},{"num":"v5.27","type":"infra","title":"Nieuwe helper lib/manager-income.ts","solution":"De berekening achter het inkomstenoverzicht van teamleiders is efficiënter opgezet, zodat het dashboard sneller met de juiste cijfers klaarstaat."},{"num":"v5.26","type":"bugfix","title":"Invulvelden in Account manager + Sales attributie waren onleesbaar in light mode","problem":"In lichte modus waren invulvelden op sommige klantpagina's moeilijk leesbaar.","solution":"Verholpen: invulvelden zijn nu duidelijk leesbaar, met witte achtergrond en donkere tekst, in zowel het lichte als het donkere thema."},{"num":"v5.25","type":"feature","title":"Nieuwe \"Account manager\"-sectie op klantprofiel (Financieel-tab)","problem":"Voor een manager kon je geen vast maandbedrag per klant instellen. Sales attributie ondersteunt alleen percentages voor setter/closer/sales_manager â geen vast bedrag voor de operationele manager die de klant beheert.","solution":"Boven Sales attributie staat nu een aparte kaart \"Account manager\" met een dropdown (alle MANAGER-rol gebruikers van je bureau) en een â¬/mnd veld. Eén manager per klant. Het bedrag verschijnt automatisch in het Medewerkers-overzicht op /financieel?tab=employees onder de juiste manager â met \"Doorlopend\" als verloopstatus (geen maxMonths zoals bij commissie)."},{"num":"v5.24","type":"feature","title":"Managers zien voortaan alleen klanten die aan hen gekoppeld zijn","problem":"Iedereen met de manager-rol zag alle klanten van het bureau, zonder scheiding tussen wie welke klant beheert.","solution":"Een manager ziet nu alleen de klanten die aan hem of haar gekoppeld zijn. De bureau-eigenaar blijft alles zien. Dit werkt overal in het portaal: dashboard, klantprofiel, kalender, financieel overzicht, statistieken en de tools."},{"num":"v5.23","type":"infra","title":"Prisma-schema: Client.managerId + Client.managerMonthlyFee + index","solution":"Deze koppeling is veilig toegevoegd: bestaande klanten blijven gewoon zichtbaar en werken door zoals voorheen, ook zonder dat er een manager is gekoppeld."},{"num":"v5.22","type":"feature","title":"Tab-structuur op /financieel â Overzicht / Per klant / Medewerkers / Overige & eenmalig","problem":"De pagina w
2as één lange scroll met 7 secties achter elkaar (KPI's, grafiek, maand-override, dienstverlening, per klant, overige, eenmalig). Lastig om snel naar wat je nodig had.","solution":"Vier tabs met URL-sync (?tab=overview/clients/employees/other), zodat refresh + delen blijft werken. Bestaande secties zijn herschikt, niet herschreven."},{"num":"v5.21","type":"feature","title":"Nieuw \"Medewerkers\"-tab: zie hoeveel je per maand kwijt bent + hoe lang elke commissie-koppeling nog loopt","problem":"Er was geen overzicht van vaste vergoedingen, commissies en verloopdatums per medewerker-klant-koppeling, waardoor een afspraak ongemerkt langer kon doorlopen dan bedoeld.","solution":"Een nieuw overzicht toont in één oogopslag de totale kosten per maand, het aantal medewerkers en actieve koppelingen, en welke afspraken binnenkort aflopen of al verlopen zijn. Je filtert per rol, kijkt per maand terug, exporteert de gegevens en klikt direct door naar de commissieregels."},{"num":"v5.20","type":"polish","title":"Oude /financieel/medewerkers URL blijft werken (redirect naar tab)"},{"num":"v5.19","type":"bugfix","title":"De 3 koppel-kaartjes (setter/closer/sales manager) waren wit in dark mode","problem":"In het donkere thema waren de kaartjes voor het koppelen van een setter, closer en sales manager wit, terwijl de rest van de pagina donker was.","solution":"Verholpen: deze kaartjes gebruiken nu dezelfde kleuren als de rest van het portaal, in zowel het lichte als het donkere thema."},{"num":"v5.18","type":"bugfix","title":"Notitie-veld viel buiten de drawer-rand","problem":"Het Flat-fee blok stond als 3-koloms (Rol + Bedrag + Notitie). De drawer is maar ~440px breed, waardoor de Notitie-input over de rechterrand viel en niet meer aanklikbaar was.","solution":"Gewijzigd naar 2-koloms layout (Rol + Bedrag op één regel) met Notitie volle breedte op de regel eronder via grid-column: 1 / -1."},{"num":"v5.17","type":"polish","title":"Pagina krijgt nu dezelfde teal/violet/mint-tinted gradients als de dashboard-bg","problem":"De /changelog dark-mode bg was een platte donkere kleur â terwijl het portaal een zachte meerlagige radial-gradient stack heeft. Visueel voelde de pagina los van de rest van het portaal.","solution":".cl-root krijgt nu exact dezelfde 7-laagse radial-gradient compositie als de body â 5 huisstijl-gekleurde auras (teal-strong, teal, violet, accent, teal-soft), een top-vignet en de diagonale basis. background-attachment: fixed zodat het mooi blijft staan bij scrollen. De .cl-hero gradient is transparant gemaakt zodat de portaal-bg doorschijnt onder de hero, geen plat blok meer eroverheen."},{"num":"v5.16","type":"polish","title":"Bezoekers via de website zien altijd de witte changelog, niet dark mode","problem":"Als een bezoeker dark-mode had ingesteld in zijn browser/cookie, zag hij ook op de publieke senly.io/changelog de donkere variant â terwijl de marketing-site verder altijd in licht is.","solution":"Server-side detecteren we of er een sessie is. Geen sessie = isPublic. Client-side forceren we dan html[data-theme=\"light\"] voor de duur van de pagina (en herstellen het bij weg-navigeren). Logged-in users blijven hun eigen light/dark voorkeur volgen."},{"num":"v5.15","type":"polish","title":"Wit cirkeltje achter het teal Senly-logo, ook in dark mode","problem":"In dark mode kreeg het logo-rondje achter de teal Senly-S een donkere achtergrond â daardoor was het logo nog nauwelijks zichtbaar tegen de bijna-zwarte achtergrond.","solution":"Background van .cl-hero-logo blijft #ffffff in zowel light als dark mode. De rand kleurt nog wel mee met de huisstijl (color-mix met var(--cl-brand)) zodat het bij het rest-design past."},{"num":"v5.14","type":"feature","title":"Ãlk bureau ziet de /changelog in zijn eigen primary + accent kleur","problem":"De updates-pagina toonde altijd de standaard Senly-kleur, ook als je portaal in je eigen huisstijlkleur was ingesteld.","solution":"De updates-pagina past zich nu aan je eigen huisstijlkleuren aan, zodat hij aanvoelt als onderdeel van jouw portaal. Heb je geen eigen huisstijl ingesteld, dan blijft de standaardkleur gewoon werken."},{"num":"v5.13","type":"bugfix","title":"Stat-cards, item-cards en tekst waren in dark mode nog onleesbaar","problem":"In mijn vorige dark-mode passes had ik selectors gebruikt die niet bestaan (.cl-card, .cl-hero-stat, .cl-version-pill...). Daardoor bleef de helft van de pagina wit-met-witte-tekst.","solution":"Alle dark-mode selectors hersteld o
2p basis van de daadwerkelijke class-namen in ChangelogClient: .cl-stat / .cl-stat-value / .cl-stat-label voor de stat-cards, .cl-release-title / .cl-release-date / .cl-release-time voor de release-meta, .cl-item / .cl-item-title / .cl-item-detail / .cl-item-label / .cl-item-row p voor de feature-cards, .cl-version-badge, .cl-filters-wrap, .cl-hero-title / .cl-hero-sub. Page is nu volledig leesbaar in dark mode."},{"num":"v5.12","type":"bugfix","title":"Op de Huisstijl-tab kon je in demo-modus nog gewoon invulvelden aanpassen","problem":"In de demo-omgeving leek het alsof je wijzigingen aan je huisstijl kon opslaan, terwijl dat achter de schermen niet gebeurde.","solution":"Alle invulvelden en knoppen zijn in de demo-omgeving nu duidelijk uitgeschakeld, zodat je meteen ziet dat je in een demo zit. Navigeren door het portaal blijft gewoon mogelijk."},{"num":"v5.11","type":"bugfix","title":"Hero-blok van /changelog bleef wit in dark mode","problem":"Mijn vorige dark-mode pass had het page-canvas en de cards al donker gemaakt, maar de bovenste hero-sectie hield een hardcoded wit-naar-grijs gradient. Daardoor was de titel \"Wat is er nieuw in Senly\" lichte tekst op een witte achtergrond â onleesbaar.","solution":"Eigen dark-mode override op .cl-hero (donkere gradient van #0b0e14 naar #14171f), op de grid-overlay (witte dots i.p.v. donkere) en op de orbs (meer saturatie zodat ze zichtbaar blijven). Brand-tag, brand-name en de v-pill in de hero krijgen ook donkere tinten."},{"num":"v5.10","type":"polish","title":"Flat fee-sectie krijgt premium opmaak in dark mode","problem":"De \"Flat fee instellen\"-rij in de gebruiker-modal had witte tekst op een teal-knop (laag contrast) en de inputs voelden vlak.","solution":"Knop heeft nu dark text (#0a1f1d) op een teal-gradient, met hover-glow en lift-animatie. Labels zijn uppercase + bolder. Inputs krijgen focus-ring in teal. Container heeft een subtiele gradient + soft shadow voor een gedragen look."},{"num":"v5.09","type":"feature","title":"Closer-rol heeft eigen kolom in de bevoegdheden-tabel + correcte default-permissies","problem":"De rol Closer stond niet in het overzicht van rechten per rol, waardoor iemand met deze rol standaard geen rechten kreeg.","solution":"Closer heeft nu een eigen kolom in het rechten-overzicht en krijgt standaard passende rechten: toegang tot eigen leads, meetings, agenda en e-mail."},{"num":"v5.08","type":"bugfix","title":"Flat-fee invoerveld bij gebruiker-bewerken was wit in dark mode","problem":"Het invoerveld voor de vaste vergoeding was in het donkere thema bijna wit, waardoor het nauwelijks leesbaar was.","solution":"Verholpen: het veld gebruikt nu de juiste kleuren en is duidelijk leesbaar in zowel het lichte als het donkere thema."},{"num":"v5.07","type":"bugfix","title":"Achtergrond van Gebruiker-toevoegen / Gebruiker-bewerken was transparant","problem":"Het paneel voor het toevoegen of bewerken van een gebruiker had een doorzichtige achtergrond, waardoor labels en knoppen moeilijk leesbaar waren.","solution":"Het paneel heeft nu een effen achtergrond, dezelfde als bij de instellingen, zodat alles goed leesbaar is."},{"num":"v5.06","type":"polish","title":"\"+1 tags\" en \"Web Dev & Design\" passen nu netjes binnen de card","problem":"De \"+N tags\" pill brak op twee regels (woord viel onder de pill door) en de subject-tag \"Web Dev & Design\" wrap-te ook over twee regels â beide zagen er rommelig uit.","solution":"white-space: nowrap + flex-shrink: 0 op de meta-tag pill â staat altijd op één regel. De subject-tag krijgt max-width 100% + overflow-ellipsis zodat lange tag-namen (Web Dev & Design, SM Advertentiesâ¦) netjes worden afgekapt met \"...\" in plaats van te wrappen."},{"num":"v5.05","type":"bugfix","title":"Rode \"Verwijderen\"-knop in Riskante acties was rood-op-rood","problem":"In de gebruiker-bewerken-drawer was de tekst op de Verwijderen-knop bijna onzichtbaar â rode letters op een rode achtergrond.","solution":"De globale .cta-button.danger stijl (witte tekst op rode gradient) werd overschreven door een CRM-detail-variant die alleen voor het CRM-paneel bedoeld was. Die regel is nu gescoped onder .crm-detail-danger waardoor de user-modal weer de juiste hoge-contrast styling pakt."},{"num":"v5.04","type":"feature","title":"Drag-and-drop op de kolom-headers om stages te herordenen","problem":"Stages in het verkoopbord stonden altijd in de volgorde waarin ze zijn aangemaakt en konden niet zelf herorden
2d worden.","solution":"Sleep een kolom-titel naar de gewenste plek om de volgorde van je stages aan te passen. Het slepen van leads binnen het bord blijft gewoon werken."},{"num":"v5.03","type":"feature","title":"Selectie-modus met meerdere leads aanvinken en in één klap verwijderen","problem":"Leads konden alleen één voor één verwijderd worden, wat bij het opschonen van bijvoorbeeld dubbele leads veel tijd kostte.","solution":"Met de nieuwe selectiemodus vink je meerdere leads tegelijk aan en verwijder je ze in één keer, met een bevestiging vooraf. Verkopers zien en verwijderen daarbij alleen hun eigen toegewezen leads."},{"num":"v5.02","type":"feature","title":"Detecteer en herstel een bulk-batch leads die door stage-delete is verschoven","problem":"Als je per ongeluk een stage verwijdert, worden alle leads in die stage automatisch naar de eerstvolgende stage verplaatst. Daardoor zat ineens een berg \"Lead binnen\"-leads onder \"Gekwalificeerd\" â niet duidelijk welke je terug moest klikken.","solution":"Nieuwe Herstel-knop in de CRM-toolbar opent een modal waar je kiest \"vanuit stage\" en \"naar stage\". Het systeem detecteert de bulk-batch via gedeelde updatedAt-timestamp (alle door updateMany verplaatste leads delen exact dezelfde timestamp op de seconde) en toont eerst een preview-aantal voordat je doorduwt. Een klik en de hele batch staat weer op zijn plek."},{"num":"v5.01","type":"feature","title":"Importeer alleen opportunities uit één GHL-stage i.p.v. alle contacten","problem":"De import vanuit GoHighLevel haalde altijd alle contacten binnen en zette ze in de eerste fase, waardoor contacten uit andere fases zoals gekwalificeerd of klant er ook tussen kwamen.","solution":"Je kiest nu zelf welke pijplijn en welke fase uit GoHighLevel je wilt importeren, en in welke fase ze in Senly terechtkomen. Optioneel maak je de doelfase eerst leeg voordat je importeert. Dubbele contacten worden nog steeds herkend en overgeslagen."},{"num":"v5.00","type":"feature","title":"Naast bellen en mailen ook WhatsApp, notitie en taak vanaf de card","problem":"De quick-action rij onderaan een lead-card had alleen bellen en mailen. WhatsApp is in de praktijk het meest gebruikte kanaal voor sales-follow-up, en je kon niet zien of er al notities of taken zijn zonder de card te openen.","solution":"Vier nieuwe icoontjes naast bellen en mailen: WhatsApp (opent wa.me met het lead-telefoonnummer), Notitie (opent de modal â krijgt een teal-tint + groen puntje als er al notities zijn) en Taak (opent de modal voor taken & follow-ups). E.preventDefault op de icoontjes zodat ze niet per ongeluk de lead-modal opentriggeren."},{"num":"v4.99","type":"polish","title":"Lead-cards tonen bedrijf, bron, waarde + frequentie, laatste contact en quick-actions","problem":"De kanban-cards toonden alleen bedrijf · bron in één regeltje en een waarde-bedrag. Te weinig info om in één oogopslag te scannen.","solution":"Cards hebben nu een 2-koloms detail-grid met labels (Bedrijfsnaam / Bron / Waarde / Laatste contact). Waarde-regel toont frequentie (\"⬠80 / uur\"). Onderaan een quick-action-rij met bel- en mail-icoontjes als die info bekend is â één klik opent telefoon-app of mail-client zonder dat de modal opengaat."},{"num":"v4.98","type":"bugfix","title":"Nieuwe lead op \"Gewonnen\" zetten vloog na opslaan terug naar Open","problem":"Als je bij het aanmaken van een lead meteen de status \"Gewonnen\" of \"Verloren\" koos, werd die keuze genegeerd en stond de lead na opslaan alsnog op open.","solution":"De gekozen status wordt nu correct opgeslagen. Kies je Gewonnen, dan wordt dat vastgelegd; kies je Verloren, dan ook. Is de lead gekoppeld aan een klant, dan blijft de klantstatus daarbij leidend."}]},{"date":"2026-05-29","version":"v4.97","clV":"v5.66","title":"CRM-lead: koppel aan bestaande klant + automatische status-sync, CRM-lead: nieuwe lead opent direct in de aangeklikte stage & 55 meer","items":[{"num":"v4.97","type":"feature","title":"Lead aan bestaande actieve klant koppelen â status volgt klant-status","problem":"Een lead kon alleen omgezet worden naar een nieuwe klant. Voor bestaande klanten moest je de status handmatig bijhouden, en werd zo'n klant later inactief, dan bleef de lead ten onrechte op gewonnen staan.","solution":"Je koppelt een lead nu direct aan een bestaande klant door te zoeken op naam. De status van de lead volgt daarna automatisch: wordt de klant inactief, dan springt de lead naar verloren; wordt hij weer actief, dan naar gewonnen. Elke klant kan aan maximaal één lead gekoppeld worden."},{"num":"v4.96","type":"polish","title":"Klik op \"Lead toevoegen\" onder \"Offerte verstuurd\" opent modal in die stage","problem":"Welke stage-kolom je ook aanklikte, de Nieuwe-lead-modal opende altijd in \"Lead binnen\" (de eerste stage). Daardoor moest je elke keer alsnog handmatig de juiste fase kiezen.","solution":"LeadModal accepteert nu een defaultStageId-prop. CrmBoard houdt al bij in welke kolom je geklikt hebt; die ID gaat nu mee de modal in als initiële stage, met fallback naar de eerste stage als de meegegeven ID niet bestaat."},{"num":"v4.95","type":"feature","title":"Lead handmatig ingevuld? Contact wordt automatisch aangemaakt of gematcht","problem":"Een handmatig ingevulde lead zonder gek
2oppeld contact belandde niet in je contactenlijst, waardoor je later alsnog zelf een contact moest aanmaken.","solution":"Bij het aanmaken van een lead wordt nu automatisch gezocht naar een bestaand contact op e-mail of telefoonnummer. Is er geen match, dan wordt direct een nieuw contact aangemaakt met dezelfde gegevens. Elke lead hoort daardoor voortaan bij één contact in je centrale lijst."},{"num":"v4.94","type":"feature","title":"\"Toegewezen aan\"-dropdown in de lead-modal","problem":"Je kon op het kanban-bord wel zien aan wie een lead toegewezen was (via de avatar rechtsboven), maar je kon de toewijzing niet aanpassen vanuit het lead-formulier zelf.","solution":"Onder \"Bron gelegenheid\" staat nu een dropdown \"Toegewezen aan\" met alle actieve tenant-gebruikers. Wijzigen werkt direct door naar de lead-record en de avatar rechtsboven op de card update automatisch."},{"num":"v4.93","type":"feature","title":"Nieuwe pagina /mijn-commissie voor sales-rollen","problem":"Setters/closers/sales managers hadden geen eigen overzicht van klanten, verdiende commissie en uitbetalingen â alleen een kleine widget op het dashboard. Onmogelijk om snel te zien hoeveel maanden nog open staan per klant of wat al echt is uitbetaald.","solution":"Premium dark pagina met 3 stat-cards (deze maand verdiend, lifetime uitbetaald, status open claim), klanten-tabel met per-klant \"nog te indienen\" + \"totaal uitbetaald\", en de laatste 12 claims als geschiedenis. CTA-knop met confirmation modal om de maandclaim in te dienen."},{"num":"v4.92","type":"feature","title":"Admin Setter-portfolio toont nu ook lifetime uitgekeerde commissie + open-claims badge","solution":"Per setter een extra stat-blok \"Uitbetaald (lifetime)\", oranje badge \"X open claim(s)\" bij pending werk en twee nieuwe kolommen in de klanten-tabel: \"Ingediend / Max\" en \"Uitbetaald\". Zo zien admin én setter precies dezelfde cijfers."},{"num":"v4.91","type":"polish","title":"In één oogopslag zien wie verantwoordelijk is voor welke deal","problem":"Op het verkoopbord zag je de naam en waarde van een lead, maar niet wie ervoor verantwoordelijk was â daarvoor moest je de lead eerst openen.","solution":"Elke lead-kaart toont nu een rond profielicoon van de verantwoordelijke verkoper, met foto als die is ingesteld of anders een initiaal. Zweef eroverheen voor de volledige naam."},{"num":"v4.90","type":"feature","title":"Bij elke deal kun je nu aangeven of de waarde eenmalig, per uur, per maand of per jaar is","problem":"De waarde van een lead was alleen een bedrag, zonder aan te geven of dat eenmalig, per uur of terugkerend was, waardoor het totaaloverzicht van je pijplijn een vertekend beeld gaf.","solution":"Je kiest nu een prijs-frequentie bij elke deal: eenmalig, per uur, per maand of per jaar. Die frequentie wordt direct achter het bedrag getoond op de lead-kaart, bijvoorbeeld \"â¬80 / uur\"."},{"num":"v4.89","type":"polish","title":"Downloader-cards tonen nu het echte merklogo i.p.v. een leeg rondje","problem":"In de rijen Recent gebruikt, Aanbevolen voor jou en Favorieten toonden downloader-tools zoals TikTok en YouTube een grijze cirkel in plaats van hun eigen logo.","solution":"Deze tools tonen nu overal hetzelfde herkenbare merklogo, zoals ook al in de hoofdtabel het geval was."},{"num":"v4.88","type":"polish","title":"Tool-aantal in copy klopt nu weer met het werkelijke aanbod","problem":"De feature-lijst op de login-pagina en in de onboarding-tour zei nog \"15+ tools\" â terwijl het tools-aanbod intussen ruim 30 hulpmiddelen telt.","solution":"Drie plekken bijgewerkt: LoginForm feature-lijst (\"30+ tools voor je workflow\"), OnboardingTour stap voor sidebar-tools en de TOOLS_TOUR hero-stap (\"30+ tools binnen handbereik\")."},{"num":"v4.87","type":"feature","title":"Sorteer je 234+ contacten op nieuwste/oudste, alfabetisch (AâZ / ZâA) of recent contact","problem":"De Contacten-tab toonde alles in de ruwe DB-volgorde â geen manier om snel je nieuwste leads bovenaan te zetten of alfabetisch te bladeren als je een naam zoekt.","solution":"Sorteer-dropdown toegevoegd in de toolbar tussen zoekbalk en \"Importeer CSV\". Vijf opties: Nieuwste eerst (default) · Oudste eerst · Alfabetisch AâZ · Alfabetisch ZâA · Recent contact eerst. Werkt samen met de zoekbalk: filter EN sorteer. Volledig vertaald in nl/en/de/fr."},{"num":"v4.86","type":"polish","title":"Goudgele gradient i.p.v. neon-geel achter het ghost-icoon","problem":"Brand-geel (#FFFC00) is zo licht dat het witte ghost-icoon er nauwelijks van afstak â visueel verdween het spookje.","solution":"Tile-achtergrond vervangen door subtiele gradient van #FFE600 (boven-links) naar #F5BE00 (onder-rechts). Nog steeds duidelijk Snapchat-geel maar diep genoeg om de witte ghost te laten popppen."},{"num":"v4.85","type":"bugfix","title":"Witte initial-letter werd onleesbaar tegen de lichte tile-achtergrond","problem":"De avatar van een CRM-contact had een witte letter (#fff) op een teal gradient. In dark mode prima leesbaar, maar in light mode rendert die gradient veel zachter waardoor de letter visueel verdween.","solution":"Light-mode override toegevoegd op .crm-contact-card-avatar: lichte teal-tint achtergrond (22% accent op wit, gradient naar 12%) met donkere tekst (#0a1f1d) en een subtiele teal border. Letter is nu altijd duidelijk leesbaar in beide modes."},{"num":"v4.84","type":"polish","title":"Snapchat-merklogo nu in juiste brand-stijl","problem":"Het Snapchat-logo gebruikte een z
2wart ghost-icoon op de gele tile. Officieel is het Snapchat-spookje wit, niet zwart. Was zichtbaar in zowel de tool-rij als in de bubbel-view.","solution":"Fill-kleur van het ghost-icoon van #000 naar #fff in PlatformLogo. Brand-correct in alle plekken waar het logo gebruikt wordt."},{"num":"v4.83","type":"polish","title":"Licht-mode kreeg een rijkere, high-end achtergrond","problem":"In licht thema oogde de bubbel-view bijna pure wit met nauwelijks zichtbare kleur â daardoor voelde de tab kaal en niet premium.","solution":"Vier zachte gekleurde \"auras\" toegevoegd in de hoeken (teal linksboven, violet rechtsboven, peach linksonder, mint rechtsonder) met een subtiele wit-tinted hotspot in het centrum. Basis-gradient gaat van crème via koel licht-grijs (#fbfcfa -> #eef2f5 -> #e6ecf1). Net genoeg kleurdiepte voor een Apple/Linear-stijl high-end look zonder de iconen te overschreeuwen."},{"num":"v4.82","type":"polish","title":"Categorie-labels altijd zichtbaar boven hun cluster","problem":"Door de grotere cluster-radius schatting verdween het Sales-label boven de viewport. Tegelijk plakten labels van naast-elkaar liggende clusters bijna tegen de iconen van de buurcluster.","solution":"Label-Y wordt nu geclamped (minimum 28px van top) zodat het altijd binnen viewport blijft. Safe-areas opgehoogd: TOP_SAFE 200 -> 280, BOTTOM_SAFE 180 -> 240, SIDE_SAFE 340 -> 360. Ring-radius daarmee licht ingekort. Cluster-radius schatting iets minder agressief (factor 1.15 -> 1.05) zodat labels niet onnodig hoog opgeschoven worden."},{"num":"v4.81","type":"polish","title":"Labels staan altijd boven hun cluster, ook bij grotere groepen","problem":"Bij clusters met veel tools (Sales, Analyse) dreven bubbels soms over het categorie-label heen, waardoor je de cluster-naam niet meer kon lezen.","solution":"Cluster-radius wordt royaler geschat (avgRadius 50 -> 60 fullscreen, factor 0.85 -> 1.15) en het label krijgt 36px extra clearance boven de bovenste bubbel. Z-index van het label verhoogd van 1 naar 4 zodat het sowieso bovenop de bubbels rendert."},{"num":"v4.80","type":"polish","title":"Schone tool-iconen zonder donker rondje of category-glow erachter","problem":"Achter elk icoon zat nog een zachte category-halo plus een dark drop-shadow van de tile zelf â die combinatie liet visueel een \"zwart rondje\" achter de tile zien.","solution":"Alle box-shadow weggehaald van .tbv-bubble (zowel base als fullscreen) én de dark drop-shadow van .tbv-bubble-logo (alleen subtiele inset-light gehouden voor materiaal). Tile-grootte van 85% naar 67% van de hit-area â icoontjes zijn nu compacter en kleiner zoals gevraagd."},{"num":"v4.79","type":"polish","title":"Geen kleur-bubbel meer om elk icoon â en bubbels schuiven nauwelijks nog","problem":"Iconen zaten in een kleur-bubbel waardoor het tabblad visueel druk werd (icoon in icoon). Bovendien bewogen alle bubbels constant rond â dat voelde onrustig.","solution":"Outer bubble-achtergrond verwijderd. Alleen de tool-tegel (gradient + SVG of platform-logo) blijft over, met een zachte category-halo erachter voor cluster-herkenning. Tile-grootte van 62% naar 85% van de hit-area zodat het icoon dominant is. Idle-amplitude van 0.35 naar 0.04 en stiffness/damping aangescherpt â bubbels vinden hun plek en blijven daar liggen."},{"num":"v4.78","type":"polish","title":"Elke bubbel toont nu het officiële merklogo of gradient-icoon van de tool","problem":"Bubbels lieten alleen een kleine emoji of tekst-glyph zien â daardoor was het lastig om in één oogopslag te herkennen welke tool achter welke bubbel zat.","solution":"Binnen elke bubbel rendert nu hetzelfde icon-tile als op de gewone grid-weergave. Voor downloaders (Instagram, Facebook, TikTok, YouTube, LinkedIn, Snapchat) zie je het echte platform-merklogo via PlatformLogo. Voor alle andere tools de per-tool gradient-tegel met SVG-icoon uit getToolTheme. Tile schaalt mee met de bubble-radius (~62%). Hover-scale 1.05 voor een subtiele micro-interactie."},{"num":"v4.77","type":"bugfix","title":"Logo, favicon en andere uploads bleven 404 op productie","problem":"Een geüpload logo bleef na het opslaan van je huisstijl onzichtbaar op de website, je zag alleen een kapot beeld-icoon.","solution":"Verholpen: uploads worden nu betrouwbaar getoond, met snelle weergave. Eerder geüploade bestanden blijven gewoon werken, zonder dat je iets opnieuw hoeft te uploaden."},{"num":"v4.76","type":"polish","title":"Bubbel-modus sluit visueel aan op de rest van het portaal","problem":"De fullscreen bubbel-view had zijn eigen donkerblauwe radial-gradient achtergrond. Daardoor voelde de tab los van de rest van het portaal â alsof je in een aparte app zat.","solution":".tbv-page--portal gebruikt nu exact dezelfde meerlagige radial-gradient compositie als de normale body-achtergrond (teal/purple tints + diepe gradient). Light en dark mode varianten beide bijgewerkt. Visueel na
2adloos aansluitend bij elke andere pagina in het portaal."},{"num":"v4.75","type":"polish","title":"Tekst onder Google Calendar in de integraties-kaarten ingekort","problem":"De NL-tekst \"Synchroniseer boekingen automatisch met je Google Calendar. Auto Google Meet-links.\" brak naar 3 regels in de kaart, terwijl de andere providers maar 2 regels nodig hadden â visueel onbalans.","solution":"Voor alle 4 talen (nl/en/de/fr) een compactere variant: \"Synchroniseer met Google Calendar. Inclusief Google Meet-links.\" (63 chars). Past nu netjes in 2 regels en blijft semantisch hetzelfde."},{"num":"v4.74","type":"polish","title":"De plat-zwarte achtergrond op /tools is vervangen door de standaard portal-mesh","problem":"/tools dekte de globale teal/violet body-gradient af met een eigen platte linear-gradient â daardoor voelde de pagina los van de rest van het portaal, kaler en zwarter dan bv. Contacten of Takenbeheer.","solution":"De .tools-page achtergrond staat nu op transparent. De body-mesh (radial gradients met zachte teal + violet accenten die ook op alle andere tabs zichtbaar zijn) komt netjes door, en /tools voelt weer onderdeel van hetzelfde geheel."},{"num":"v4.73","type":"polish","title":"Bubbels rakten visueel tegen de schermranden â nu meer marge","problem":"In de fullscreen bubbel-modus zaten de zij-clusters en het bovenste/onderste cluster te dicht op de viewport-rand. Bubbels werden visueel \"afgekapt\" tegen de schermrand.","solution":"Safe-areas opgehoogd: TOP_SAFE 130 -> 200, BOTTOM_SAFE 90 -> 180, SIDE_SAFE 200 -> 340. Max ring-radius daarmee iets ingekort (rx 620, ry 360) zodat alle clusters comfortabel binnen de viewport ademen."},{"num":"v4.72","type":"polish","title":"Outlook-icoon vervangen door het 100% officiële Microsoft Outlook 2018-2024 logo","problem":"De vorige inline SVG-recreatie liet maar de helft van het logo zien en kwam visueel niet overeen met het echte Microsoft-merk.","solution":"Het originele SVG-bestand van Wikimedia Commons (Microsoft Office Outlook 2018-2024) opgeslagen in /public/brands/outlook.svg en geladen via <img> met object-fit: contain. Volledige envelope met origami-strepen + O-tile linksonder zoals het hoort."},{"num":"v4.71","type":"feature","title":"\"Toegewezen aan\"-dropdown ook in het detail-paneel van een contact","problem":"Bij een NIEUW contact kon je vorige update al direct iemand toewijzen, maar bij bestaande contacten (bv. uit de CSV-import) was er geen manier om dat alsnog te regelen via de UI.","solution":"In het detail-paneel staat nu boven \"Laatste contact\" een regel \"Toegewezen aan: [Naam]\" (of \"Niemand\" als er nog niemand gekoppeld is). Klik op \"Bewerken\" en je krijgt dezelfde dropdown als bij het aanmaken â alle bureau-leden uit je tenant. Sla op, klaar. Sales-rollen krijgen zichzelf opgelegd (server-side regel), de rest mag vrij kiezen."},{"num":"v4.70","type":"polish","title":"Outlook-icoon op /meetings â Integraties is nu het officiële logo","problem":"De vorige inline SVG was alleen een blauwe rounded square met een witte \"O\" â herkenbaar maar niet het iconische Outlook 2019+ logo dat mensen verwachten.","solution":"Een gedetailleerde SVG-recreatie opgeslagen in /public/brands/outlook.svg met de drie diagonale blauwe envelope-strepen (lichtblauw â mid â donkerblauw gradient) en de witte O-tile linksonder die deels over de envelope hangt. Geladen via een <img>-tag voor scherpe rendering op elk DPR."},{"num":"v4.69","type":"bugfix","title":"Brand-logo's van Outlook en Zoom werden aan de randen geclipt","problem":"De SVG-content vulde de hele 48x48 viewBox tot aan de randen, waardoor in de integratie-kaart de hoeken en/of bovenkant van de envelope respectievelijk de camera werden afgesneden.","solution":"Beide icons opnieuw getekend met een interne 6px viewBox-marge (content binnen 6-42). Outlook is nu een schone witte \"O\" op een blauwe rounded square; Zoom is een witte camera met lens-driehoek op een blauwe rounded square. Sharp én volledig zichtbaar."},{"num":"v4.68","type":"feature","title":"Eigen meeting-duur instellen (bv. 50 of 75 min) i.p.v. vaste keuzes","problem":"De duur van een meeting kon alleen gekozen worden uit vaste opties zoals 15, 30, 45, 60, 90 of 120 minuten, geen ruimte voor bijvoorbeeld een sessie van 50 of 75 minuten.","solution":"Je vult nu zelf een duur in tussen de 5 en 480 minuten, met de meest gebruikte waardes als snelle suggestie."},{"num":"v4.67","type":"polish","title":"Google / Outlook / Apple iCloud / Zoom hebben nu hun echte logo","problem":"De koppel-opties voor deze diensten toonden emoji al
2s icoon in plaats van hun eigen logo, wat er minder professioneel uitzag.","solution":"Deze diensten tonen nu hun officiële logo, scherp op elk scherm en passend bij zowel het lichte als het donkere thema."},{"num":"v4.66","type":"bugfix","title":"Apple iCloud / Zoom / Outlook koppel-modals hadden geen witruimte rond de inhoud","problem":".meet-modal had geen padding waardoor de header, formulier-velden en knoppen direct tegen de randen van de modal stonden â geen visuele ademruimte.","solution":"24px verticale + 28px horizontale padding op .meet-modal, plus subtiele box-shadow voor diepte. Modals die zelf een .meet-modal-head structuur hebben (met eigen padding) zijn met :has() uitgezonderd zodat ze geen dubbele witruimte krijgen."},{"num":"v4.65","type":"security","title":"Terug-knop op /login kon je in een ander account droppen via document.referrer","problem":"In een browser met meerdere geopende Senly-sessies kon de terug-knop op de inlogpagina je naar het dashboard van een ander account sturen.","solution":"De terug-knop gaat nu altijd naar de hoofdpagina, die je automatisch naar je eigen dashboard stuurt als je bent ingelogd. Verkeerd terechtkomen in een ander account is daarmee uitgesloten."},{"num":"v4.64","type":"feature","title":"Dropdown \"Toegewezen aan\" in de \"+ Nieuw contact\"-modal","problem":"Bij het aanmaken van een nieuw CRM-contact kon je nog niet aangeven wie er binnen het bureau eigenaar van is. Achteraf moest je dat alsnog handmatig instellen â irritant bij grotere teams.","solution":"Onder \"Website\" staat nu een \"Toegewezen aan\"-dropdown met alle actieve bureau-leden uit je tenant. Laat 'm leeg (\"Niet toegewezen\") of kies een collega â diens naam wordt direct op het contact gezet en is zichtbaar in de filter \"Mijn contacten\". Sales-rollen krijgen sowieso zichzelf toegewezen (server overschrijft de keuze) â dat blijft een veiligheidsmaatregel."},{"num":"v4.63","type":"bugfix","title":"Terug-knop op /login vereiste soms meerdere klikken na een logout","problem":"Na het uitloggen kon de terug-knop je terugsturen naar een pagina die meteen weer doorstuurde naar de inlogpagina, waardoor je soms meerdere keren moest klikken.","solution":"De knop herkent nu of je van een interne portaalpagina komt en stuurt je dan direct naar de openbare pagina, zonder omweg."},{"num":"v4.62","type":"feature","title":"Zoekbalk bovenaan de \"Nieuwe lead\"-modal vindt contacten uit je contactenlijst","problem":"Bij het aanmaken van een nieuwe lead moest je naam, bedrijf, e-mail en telefoonnummer steeds opnieuw intypen, ook als het contact al in je contactenlijst stond.","solution":"Typ twee letters in de nieuwe zoekbalk en je krijgt direct passende contacten uit je lijst te zien. Klik een resultaat aan en de lege velden worden automatisch ingevuld, met de lead meteen gekoppeld aan dat contact. Je haalt de koppeling met één klik weer los."},{"num":"v4.61","type":"polish","title":"Bubbels meer verspreid â minder klont, meer cryptobubbles-feel","problem":"In de fullscreen bubbel-modus stonden de zes clusters in een kleine cirkel midden op het scherm. De zijkanten en de bovenste/onderste rand waren leeg, terwijl de bubbels binnen één cluster juist op elkaar geplakt zaten.","solution":"Hexagonale ring is nu elliptisch â horizontaal tot 720px breed (vult de viewport), verticaal max 420px. Zo-clusters zitten echt aan de zijkanten van het scherm. Spring-stiffness verlaagd van 0.010 naar 0.0065 zodat bubbels minder hard naar het centrum getrokken worden. Repulsion 1.1 â 1.8 en min-afstand 22 â 42px: bubbels binnen één cluster raken elkaar bijna niet meer."},{"num":"v4.60","type":"feature","title":"Drie-puntjes menu naast \"+ Nieuw contact\" met \"Exporteer als CSV\"","problem":"Contacten konden wel geïmporteerd worden, maar niet geëxporteerd, wie wilde overstappen naar een andere tool of een backup wilde maken, moest alles handmatig overtypen.","solution":"Met één klik download je al je zichtbare contacten als CSV-bestand, in dezelfde kolomstructuur als een GoHighLevel-export. Verkopers exporteren daarbij alleen hun eigen contacten."},{"num":"v4.59","type":"polish","title":"Bubbel-tab opent als overlay over de hele viewport","problem":"In de bubbel-weergave bleven de zijbalk en bovenbalk van het portaal zichtbaar, waardoor het niet aanvoelde als een eigen, volledig scherm.","solution":"De bubbel-weergave neemt nu het hele scherm in beslag, zonder zijbalk of bovenbalk. Met Escape of de knop in de zwevende bediening schakel je weer terug."},{"num":"v4.58","type":"feature","title":"Hele contactenlijst importeren via een CSV in plaats van rij voor rij invoeren","problem":"Een nieuwe gebruiker, of iemand die overstapt vanuit GoHighLevel, moest tot nu toe elk contact apart handmatig aanmaken.","solution":"Sleep een CSV-bestand naar binnen, een export uit GoHighLevel werkt direct, en zie eerst een voorbeeld van de eerste rijen voordat je bevestigt. Dubbele contacten worden herkend en samengevoegd in plaats van dubbel aangemaakt, en elke import krijgt een herkenbaar label zodat je later kunt filteren of terugdraaien."},{"num":"v4.57","type":"polish","title":"Luxere bubble-stijl met layered highlights en color-glow","problem":"De bubbels in de visuele weergave zagen er vlak uit, en het label van het bovenste cluster botste met de bovenbalk terwijl bubbels binnen een cluster te dicht op elkaar stonden.","solution":"De bubbels hebben nu een verzorgder, glasachtig uiterlijk met een lichtere gloed en dieptewerking, groeien iets bij een hover, en staan met meer ruimte tussen elkaar zodat cluster
2s overzichtelijk blijven."},{"num":"v4.56","type":"feature","title":"Foto-raster en HEIC-preview in de in-portal Drive browser","problem":"Een lijst met foto's was lastig te overzien, je moest elk bestand apart openen om te zien wat erin zat. Bovendien konden foto's in het Apple HEIC-formaat helemaal niet bekeken worden.","solution":"Schakel nu tussen een lijst- en een rasterweergave met grote voorbeelden, zodat je in één oogopslag ziet welke foto je zoekt. HEIC- en RAW-bestanden worden nu ook correct als voorbeeld getoond, zowel in het raster als in volledig scherm."},{"num":"v4.55","type":"polish","title":"Clusters meer ruimte + categorie-naam duidelijk leesbaar boven elke cluster","problem":"Drie issues: (1) bubbles konden naar andere categorie gesleept worden, (2) clusters zaten te dicht op elkaar, (3) categorie-labels stonden achter de bubbles waardoor je niet zag bij welke cluster welke categorie hoorde.","solution":"Drag-and-drop uitgeschakeld; klik opent direct de tool (cursor: pointer). Ring-radius van 32% naar 42% van canvas-min-dimensie (geclamped 200-360 px) â clusters staan nu visueel apart. Labels boven de cluster geplaatst op basis van geschatte cluster-radius (sqrt(#tools) à avg bubble-size). Hint-tekst aangepast naar \"Klik op een bubble om de tool te openen\"."},{"num":"v4.54","type":"bugfix","title":"Drive/Dropbox/OneDrive browser modal stond achter de tab-navigatie","problem":"Bij het bladeren door bestanden verscheen het venster soms achter de tabbladen, waardoor de bovenkant met de mapnavigatie onzichtbaar werd.","solution":"Het venster verschijnt nu altijd bovenop, ruimer en met een steviger achtergrond. Ook het voorbeeld van een pdf, foto of video komt netjes boven het bestandsvenster te liggen."},{"num":"v4.53","type":"polish","title":"Bubbel-canvas vult de hele content-area i.p.v. een kleine doos","problem":"De bubble-view zat opgesloten in een 640px hoge container met witte achtergrond â voelde klein en eilandachtig. Geïnspireerd door cryptobubbles.net hoort hij over het hele tabblad te vallen.","solution":"Wanneer bubble-view actief: complete fullscreen layout met donker-blauwe gradient achtergrond, canvas vult de hele viewport (calc(100vh - 80px)), bubbles 35% groter met diepere glow voor visuele impact. Hero/tabs/sections worden verborgen. Floating control-bar rechtsboven met backdrop-blur â bevat toggle (Grid â Bubbels) + \"Tool aanvragen\" knop. Bubble-kleuren krijgen ringen-glow voor cryptobubbles-feel."},{"num":"v4.52","type":"polish","title":"Gradient-mesh achter de pagina is verwijderd","solution":"De zachte teal/violet/cyan gradient die achter het trends-dashboard zweefde voelde toch te druk. Alleen het mesh is weg â alle andere upgrades (glassmorphism stat-tiles, hero-accent, count-up cijfers, ping-ring op de LIVE-badge, gradient borders op cards) blijven staan."},{"num":"v4.51","type":"polish","title":"Trends-dashboard kreeg een premium \"stil-luxe\" upgrade","problem":"De pagina met trends zag er functioneel maar saai uit, met weinig visueel onderscheid tussen wat nu trending is en de overige cijfers.","solution":"Een verfijndere vormgeving met een zachte kleurverloop-achtergrond, glazige statistiek-kaarten en een uitgelichte \"Trending nu\"-tegel. Cijfers tellen bij het openen soepel op, en zowel het lichte als het donkere thema zijn volledig afgestemd. De weergave houdt rekening met een voorkeur voor minder beweging."},{"num":"v4.50","type":"feature","title":"Nieuwe bubbel-view voor de Tools-pagina","problem":"Het overzicht met witte kaartjes voelde voor sommige gebruikers wat statisch aan.","solution":"Tools zweven nu per categorie rond in een speelse visuele weergave, je sleept ze naar een andere categorie en ziet bij een hover titel en beschrijving. Wissel met één klik tussen raster en bubbels; je keuze wordt onthouden."},{"num":"v4.49","type":"feature","title":"In-portal file browser voor Google Drive, Dropbox en OneDrive submappen","problem":"Het openen van een map stuurde je naar een nieuw tabblad op de website van Google Drive, Dropbox of OneDrive, waardoor je de context van je portaal kwijtraakte.","solution":"Submappen open je nu direct in het portaal, met broodkruimel-navigatie om dieper te bladeren. Een bestand opent als voorbeeld (pdf, foto, video) of wordt gedownload. De link naar de externe dienst blijft beschikbaar als je toch liever daar kijkt."},{"num":"v4.48","type":"polish","title":"Animaties + hover-effects geven de tools-pagina leven","problem":"De kaartjes op de tools-pagina waren identieke, statische rechthoeken zonder enige beweging.","solution":"Een reeks kleine animaties geeft de pagina meer leven: kaartjes verschijnen soepel bij het laden, lichten subtiel op bij een hover, en tekst en knoppen krijgen zachte kleurbewegingen. De weergave houdt rekening met een voorkeur voor minder beweging."},{"num":"v4.47","type":"polish","title":"\"Sync vanuit GHL\" â \"Sync vanuit integratie\"","solution":"De label was technisch en sloot niet aan op hoe bureaus over hun setup praten. De knop heet nu \"Sync vanuit integratie\" â generiek genoeg dat 'ie ook klopt als we straks andere bronnen aansluiten. Vertaalt mee in alle 4 talen (NL/EN/DE/FR
2)."},{"num":"v4.46","type":"polish","title":"Cleaner header zonder decoratieve achtergrond","problem":"De bovenkant van de tools-pagina had een kleurrijke kleurverloop-achtergrond met zwevende icoontjes, wat een rustiger, verzorgder gevoel in de weg stond.","solution":"De bovenkant is nu rustig en overzichtelijk, met alleen de titel en de knop om een tool aan te vragen."},{"num":"v4.45","type":"polish","title":"Strakke grijze rechthoek-rand vervangen door subtiele premium styling","problem":"Het zoekveld in de Bezwaren Library had een harde 1px grijze border die opvallend gesloten aanvoelde â vooral op de zachte gradient-achtergrond van de tool. Niet bij de rest van de premium look.","solution":"Border opacity teruggebracht (55%) met layered box-shadow voor diepte. Hover-state maakt de border iets sterker, focus-within zet em op teal met een 3px glow-ring. Past nu bij de rest van de tool en de Huisstijl-form inputs."},{"num":"v4.44","type":"feature","title":"Per ongeluk een taak verwijderd? Klik op de Prullenbak-tab om 'm terug te halen","problem":"Als je een taak verwijderde via het potlood- of prullenbak-icoontje was 'ie meteen weg â uit GoHighLevel én uit het portaal. Geen weg terug, zelfs niet als je per ongeluk op de verkeerde rij klikte.","solution":"Verwijderde taken belanden nu in een Prullenbak-tab (rechts in de filter-rij). Per taak zie je twee knoppen: Herstellen (maakt de taak opnieuw aan in GoHighLevel en zet 'm terug in je actieve lijst) en Definitief verwijderen (pas dan is 'ie écht voorgoed weg). De counter naast de tab laat zien hoeveel taken in de prullenbak zitten."},{"num":"v4.43","type":"bugfix","title":"Reply Scorer en andere tools gaven 503 omdat gemini-2.5-flash overbelast was","problem":"Bij drukte op het gebruikte AI-model kregen tools soms een onduidelijke foutmelding zonder verdere uitleg.","solution":"Is een model tijdelijk overbelast, dan wordt automatisch een volgend model geprobeerd, tot het lukt. Lukt geen van alle, dan krijg je een duidelijke melding om het over een halve minuut opnieuw te proberen."},{"num":"v4.42","type":"bugfix","title":"Reply Scorer (en alle andere Sales-tools) gaven \"AI niet geconfigureerd\"","problem":"De verkoop-tools, zoals Reply Scorer, DM Opener en Hook Analyzer, gaven in het portaal de melding dat AI niet beschikbaar was.","solution":"Deze tools vallen nu automatisch terug op een alternatief AI-model als het eerste niet beschikbaar is, zodat alle zeven tools weer gewoon werken."},{"num":"v4.41","type":"polish","title":"Cleaner spacing en radio-knoppen op één regel","problem":"Binnen elke rol-card (Setter/Closer/SalesManager) zaten Gebruiker en Commissie/Looptijd te dicht op elkaar. Plus de radio-buttons in Looptijd wrapten boven de \"12 mnd\"/\"Levenslang\" labels in plaats van ernaast â door te smalle 1fr 1fr grid en geen flex-wrap: nowrap op de label-flexbox.","solution":"rs-form gap verhoogd naar 20px (was 10), rs-form-row grid verschoven naar minmax(1fr) minmax(1.4fr) zodat Looptijd extra ruimte krijgt. Radio-labels expliciet inline-flex met flex-wrap: nowrap + white-space: nowrap zodat radio + nummer + \"mnd\" altijd op één rij blijft. Card-padding van 14px naar 18px voor extra ademruimte."},{"num":"v4.40","type":"polish","title":"3 rollen (Setter/Closer/Sales Manager) naast elkaar i.p.v. opgestapeld","problem":"De Sales-attributie sectie deelde de .cp-finance-wrap class met de financiele kaart die op 600 px gemaxed is. De grid (auto-fit, minmax 280px) past binnen 600 px maar 1 kolom â daardoor stonden Appointmentsetter, Closer en Sales Manager onder elkaar in een smalle kolom in plaats van naast elkaar.","solution":"Eigen wrap-class .cp-sales-attr-wrap met max-width: 100%; width: 100%. Het bestaande grid (auto-fit minmax 280px) toont nu automatisch 3 kolommen op desktop en wikkelt netjes terug naar 1-2 op kleinere schermen."},{"num":"v4.39","type":"polish","title":"Subtiele Terug-knop linksboven","problem":"Bezoekers die vanuit een interne link op /status landden konden niet terug naar de vorige pagina â geen navigatie-header op de status-view.","solution":"Pill-style Terug-knop linksboven. Gebruikt router.back() als er browser-history is, anders fallback naar /. Subtiel, past bij de minimalistische status-styling."},{"num":"v4.38","type":"polish","title":"Historische dagen zonder check-data tonen groen i.p.v. grijs","problem":"Voor het overgrote deel van de weergegeven periode was nog geen meetgegeven beschikbaar, waardoor die dagen grijs werden getoond en de indruk van problemen wekten.","solution":"Dagen zonder gegevens worden nu als storingsvrij (groen) getoond in plaats van grijs. Zweef je eroverheen, dan zie je nog steeds dat er geen data is. Echte storingen blijven gewoon zichtbaar."}]}
2,{"date":"2026-05-28","version":"v4.37","clV":"v5.04","title":"Sales tools fundament + eerste tool: DM Opener Generator, i18n finale ronde: TikTok-modal, evaluatie-sectie en alle empty-states vertaald & 57 meer","items":[{"num":"v4.37","type":"feature","title":"DM Opener Generator â referentie voor 8-delige sales-tool reeks","problem":"Sales-rollen (Setter / Closer / Sales Manager) hadden geen eigen tools op /tools â alleen de bestaande content-tools, die voor outreach niet relevant zijn.","solution":"Eerste sales-tool live: plak een bio/profielomschrijving van een prospect â AI genereert 5 openers in verschillende tones (vriendelijk/zakelijk/nieuwsgierig/direct/speels), elk met \"waarom dit werkt\"-uitleg. Werkt voor Instagram/LinkedIn/Facebook/TikTok/X DMs én cold-email (incl. subject line). Aangedreven door Claude Sonnet 4.6."},{"num":"v4.36","type":"feature","title":"Sales-tools categorie en role-gating op /tools","problem":"De tools-pagina toonde alleen content-tools en was voor sales-rollen niet goed vindbaar.","solution":"Setters, closers en sales managers zien nu een eigen Sales-categorie met tools die bij hun rol passen, terwijl beheerders alles blijven z
2ien."},{"num":"v4.35","type":"polish","title":"Gedeeld design-systeem voor alle sales-tools","solution":"Sales-tools hebben nu een consistente, overzichtelijke uitstraling met duidelijke kaarten en een kopieerknop die meteen laat zien dat iets gelukt is. Ook op mobiel prettig te gebruiken."},{"num":"v4.34","type":"polish","title":"Resterende ~60 hardcoded Nederlandse strings vertaald in 4 talen","problem":"Gebruikers met Engels, Duits of Frans als taal zagen op sommige plekken toch nog Nederlandse teksten, bijvoorbeeld bij lege lijsten en in instellingen-vensters.","solution":"Deze teksten zijn nu vertaald, zodat het portaal overal consistent in je eigen taal werkt."},{"num":"v4.33","type":"bugfix","title":"Browsers kozen soms het Senly-icoon i.p.v. het bureau-favicon","problem":"Sommige browsers toonden in het tabblad nog het standaard Senly-icoon in plaats van het eigen logo van je bureau.","solution":"Je bureau-icoon wordt nu altijd correct herkend en getoond, in elke browser."},{"num":"v4.32","type":"polish","title":"Tabs en cards op /admin/instellingen voelen nu écht premium aan","problem":"De eerste versie van de instellingenpagina werkte goed, maar oogde nog niet af.","solution":"Instellingen kregen een verfijndere uitstraling met rustigere kaarten, duidelijkere tabbladen en een prettiger algeheel gevoel."},{"num":"v4.31","type":"polish","title":"Resterende hardcoded Nederlandse strings vertaald","problem":"Na de eerste i18n-pass bleven nog placeholders (\"Bedrijfsnaam\", \"Zoek een dagâ¦\"), editor-tooltips (\"Vetgedrukt\", \"Cursief\", \"Onderlijnd\", \"Voeg link toe\", \"Lijst\", \"Verwijder opmaak\") en aria-labels (\"Vorige\", \"Volgende\", \"Toon/Verberg wachtwoord\", \"Stage verwijderen\") hardcoded staan.","solution":"Nieuwe vertaalsleutels toegevoegd (ph_*, tt_*, aria_*) in nl/en/de/fr en alle resterende plaatsen in CrmBoard, OnboardingBoard, ContentKalender, MarketingTab, EmailIntegrationManager, LeadTasksPanel, TasksDashboard en SignupForm omgezet naar tr() calls."},{"num":"v4.30","type":"polish","title":"Knoplabels in modals/dialogen vertaald in 4 talen","problem":"Knoppen zoals \"Annuleren\" en \"Opslaan\" in diverse pop-ups stonden nog vast in het Nederlands, ook voor gebruikers met een andere taalinstelling.","solution":"Deze knoppen tonen nu overal de juiste vertaling, in het Nederlands, Engels, Duits en Frans."},{"num":"v4.29","type":"polish","title":"Identiteit / Kleuren / Domein / E-mail als aparte sub-tabs binnen Huisstijl","problem":"De Huisstijl & branding pagina was één lange scroll met 7 secties (logo donker, logo licht, favicon, namen, kleur, eigen domein, systeem-mailadres) â overweldigend en weinig premium aanvoelend, vooral nu het aantal opties is gegroeid.","solution":"Alles netjes verdeeld over 4 sub-tabs: Identiteit (logos + favicon + namen), Kleuren, Domein, E-mail. Nieuwe pill-style tab-bar met soft-shadow active state, subtiele icoontjes en smooth fade-in animatie tussen tabs. Verfijnde typografie met eyebrow + pane-title + pane-sub per tab, en de \"Wijzigingen opslaan\" knop verschijnt alleen op tabs die form-velden bevatten (Identiteit/Kleuren) â Domein en E-mail hebben hun eigen save-flow."},{"num":"v4.28","type":"feature","title":"Upload je eigen favicon in Huisstijl â verschijnt in alle klant-tabs","problem":"Het browsertabblad toonde altijd het Senly-logo, ook voor klanten van een bureau met een eigen huisstijl.","solution":"Je kunt nu je eigen favicon uploaden in Huisstijl. Die verschijnt voortaan in browsertabbladen en als bladwijzer-icoon op mobiel, zodat het platform overal als jouw merk oogt."},{"num":"v4.27","type":"feature","title":"Cookie-expiry herinnering komt van bureau-adres i.p.v. noreply@senly","problem":"De dagelijkse herinnering over bijna verlopen social-koppelingen werd altijd verstuurd vanaf een Senly-adres, ook als je zelf een eigen afzender had ingesteld.","solution":"Deze herinnering wordt nu verstuurd vanaf jouw eigen e-mailadres en linkt naar jouw eigen portaal-domein, zodat het overal als jouw bureau oogt."},{"num":"v4.26","type":"feature","title":"Booking-confirmation, reminder, reschedule, cancel én host-notification respecteren tenant-default sender","problem":"Boekingsmails naar prospects vielen soms terug op een algemeen Senly-adres wanneer de collega zelf geen mailbox had gekoppeld, en de melding aan je collega ging altijd via dat algemene adres.","solution":"Alle boekingsmails (bevestiging, herinnering, verzetten, annuleren) én de melding aan je collega worden nu verstuurd vanaf het e-mailadres dat je bureau heeft ingesteld, ook als de collega zelf geen mailbox gekoppeld heeft."},{"num":"v4.25","type":"feature","title":"Toegewezen user krijgt een notificatie zodra een CRM-taak bijna verloopt","problem":"Je kon wel taken met een deadline aan een lead koppelen, maar kreeg geen waarschuwing als die bijna verliep.","solution":"Je krijgt nu automatisch een melding zodra een taak binnen 24 uur moet, met een directe link naar de betreffende lead."},{"num":"v4.24","type":"feature","title":"Kies in Huisstijl welk gekoppeld e-mailadres systeem-mails verstuurt","problem":"Welkomstmails, wachtwoord-resets en beveiligingsmeldingen werden altijd verstuurd vanaf een algemeen Senly-adres, ook voor klanten van een bureau met eigen huisstijl.","solution":"Je kiest nu in Huisstijl welk gekoppeld e-mailadres deze systeemmails verstuurt. Ze gaan voortaan uit jouw naam, met een link die naar jouw eigen portaal-domein wijst."},{"num":"v4.23","type":"bugfix","title":"Domein opnieuw opslaan toonde onterecht \"Railway-koppeling mislukt\"","problem":"Als je een al gekoppeld domein opnieuw opsloeg, verscheen soms onterecht een foutmelding, terwijl de koppeling gewoon in orde was.","solution":"Het systeem herkent nu
2correct dat een domein al gekoppeld is en toont de juiste bevestiging in plaats van een foutmelding."},{"num":"v4.22","type":"bugfix","title":"Railway API gebruikte verkeerde DNS-record veldnaam","problem":"Een technische fout kon de automatische koppeling van een eigen domein laten mislukken.","solution":"Dit is verholpen â een eigen domein koppelen en beveiligen werkt nu betrouwbaar."},{"num":"v4.21","type":"polish","title":"Bureau-tenants behouden originele logo-grootte, partner krijgt grotere variant","problem":"De vorige polish maakte het logo overal 38px, ook voor bureaus die hun eigen logo gekoppeld hadden.","solution":"Partner-only modifier-class rail-brand-logo--partner; bureau-sidebars staan terug op 28px zoals voorheen."},{"num":"v4.20","type":"polish","title":"Logo in de brand-tile beter zichtbaar","problem":"Het sidebar-logo was relatief klein in de 52px tegel waardoor het wat verloren stond.","solution":"Logo-afmeting verhoogd van 28px naar 38px voor betere visuele balans in de tegel."},{"num":"v4.19","type":"feature","title":"Custom domein wordt automatisch in Railway gekoppeld voor TLS-certificaat","problem":"Een eigen domein instellen vroeg voorheen een extra handmatige stap, anders kregen bezoekers een beveiligingswaarschuwing of foutpagina.","solution":"Zodra je je eigen domein opslaat, wordt het automatisch beveiligd met een geldig certificaat, zonder extra handmatige stap."},{"num":"v4.18","type":"feature","title":"Login redirect respecteert nu het whitelabel-domein","problem":"Een klant die inlogde op het eigen domein van je bureau kwam na het inloggen toch op het algemene Senly-domein terecht.","solution":"Klanten blijven nu de hele sessie op jouw eigen domein. Inloggen via Google, Microsoft, LinkedIn of Facebook blijft gewoon werken via je eigen login op senly.io."},{"num":"v4.17","type":"bugfix","title":"Senly-logo in partner-sidebar zonder witte plak eromheen","problem":"Het logo in de zijbalk voor partners toonde een lelijk wit vlak op de donkere achtergrond.","solution":"Het logo toont nu correct transparant, zonder witte rand."},{"num":"v4.16","type":"security","title":"Tweede audit-pass dicht resterende cross-tenant routes","problem":"Een grondige controleronde bracht een aantal plekken aan het licht waar de scheiding tussen bureaus niet overal even sterk was doorgevoerd.","solution":"Deze plekken zijn verstevigd, zodat bureau-data nu overal strikt gescheiden blijft."},{"num":"v4.15","type":"security","title":"Meeting-type PATCH/DELETE alleen voor host of admin","problem":"Een collega kon per ongeluk het meeting-type van een andere collega aanpassen of verwijderen.","solution":"Alleen de eigenaar van een meeting-type of een beheerder kan dit nu nog wijzigen of verwijderen."},{"num":"v4.14","type":"bugfix","title":"Senly-logo werd geblokkeerd door middleware in partner-sidebar","problem":"Het nieuwe logo in de partner-zijbalk werd niet geladen en toonde een gebroken afbeelding.","solution":"Het logo laadt nu weer gewoon correct."},{"num":"v4.13","type":"bugfix","title":"Verificatie-badge sprong terug naar \"Nog niet geverifieerd\" na elke opslag","problem":"Na het verifiëren van je eigen domein sprong de status bij een volgende opslag onterecht terug naar \"nog niet geverifieerd\", ook als er niets was veranderd.","solution":"De verificatiestatus van je domein blijft nu correct staan en wordt bij het laden van de pagina automatisch opnieuw gecontroleerd."},{"num":"v4.12","type":"polish","title":"Wit Senly-logo (originele SVG) in de affiliate-sidebar","problem":"De handgemaakte inline SVG en de eerdere PNG matchten het officiële logo niet exact.","solution":"Partner-accounts gebruiken nu de officiële witte Senly-SVG zodat het logo 1-op-1 identiek is aan de brand-asset."},{"num":"v4.11","type":"bugfix","title":"Eigen domein koppelen voor whitelabel werkte niet voor portaal.socialmediatools.nl","problem":"Een bureau dat specifiek dit domein als eigen domein wilde koppelen, kwam altijd op het algemene Senly-portaal terecht.","solution":"Elk bureau kan nu zijn eigen domein koppelen, ook wanneer dat domein voorheen al een vaste bestemming had."},{"num":"v4.10","type":"security","title":"Cross-tenant lekken in 17 API-routes gedicht","problem":"Een controleronde vond meerdere plekken waar een bureau in theorie gegevens van een ander bureau had kunnen inzien, aanpassen of verwijderen als het bijbehorende ID bekend was.","solution":"Al deze plekken controleren nu eerst of de gegevens echt bij jouw bureau horen, voordat er iets getoond, gewijzigd of verwijderd wordt."},{"num":"v4.09","type":"bugfix","title":"Dubbele tel-bug bij maanden met handmatige override opgelost","problem":"De maandwinst op het dashboard kon hoger uitvallen dan o
2p de financiële pagina, bij maanden waar een bedrag handmatig was aangepast.","solution":"Beide overzichten tonen nu hetzelfde, correcte bedrag."},{"num":"v4.08","type":"bugfix","title":"Eigen domein verdween na \"Wijzigingen opslaan\"","problem":"Na het instellen van je eigen domein was het veld direct daarna weer leeg als je de instellingen opsloeg.","solution":"Je eigen domein blijft nu correct staan, ook na het opslaan van andere instellingen."},{"num":"v4.07","type":"polish","title":"Senly S-logo in partner-sidebar altijd zichtbaar via inline SVG","problem":"Extern PNG-bestand laadde niet altijd correct in de sidebar tile.","solution":"Logo nu als inline SVG gerenderd â geen externe afbeeldingsafhankelijkheid."},{"num":"v4.06","type":"polish","title":"Affiliate-accounts zien het witte Senly-logo in de sidebar","problem":"Partners zagen het SMT-logo in de sidebar.","solution":"Sidebar toont nu het officiële witte Senly-logo voor partner-accounts."},{"num":"v4.05","type":"polish","title":"Instellingen en taalwisselaar rechtsboven in partner-header","problem":"Zonder center-cluster (chat/zoek/bell) belandden deze knoppen in het midden van de header.","solution":"Partner-header forceert fundio-right naar kolom 3 zodat ze altijd rechts blijven."},{"num":"v4.04","type":"polish","title":"Instellingen en taalwisselaar staan links naast het profiel in de partner-header","problem":"Voor partner-accounts stonden het instellingen-icoon en de taalwisselaar niet op hun plek in de header.","solution":"Ze staan nu netjes naast het profiel, zoals bedoeld."},{"num":"v4.03","type":"polish","title":"Header en sidebar voor PARTNER ontdaan van irrelevante features","problem":"Partner-accounts zagen team-chat, zoekbalk en meldingen in de header, terwijl die functies voor hen niet werken.","solution":"Deze onderdelen zijn nu verborgen voor partner-accounts, zodat je alleen ziet wat voor jou relevant is."},{"num":"v4.02","type":"bugfix","title":"TypeScript build-error in /api/clients gefixt","solution":"Het aanmaken van nieuwe klanten met een voorgesteld klantnummer is hersteld en werkt weer correct."},{"num":"v4.01","type":"polish","title":"Affiliate-only accounts hebben nu hetzelfde klantenportaal-gevoel","problem":"Partner-accounts zagen alleen het affiliate-paneel, zonder header of zijbalk â geen uitloggen, geen taalwissel, geen toegang tot hun profiel.","solution":"Partner-accounts hebben nu dezelfde vertrouwde look als de rest van het portaal, met toegang tot profiel, taalwissel en uitloggen."},{"num":"v4.00","type":"bugfix","title":"Ingelogde partners zagen het volledige dashboard op /","problem":"Een ingelogde partner kon via de openbare startpagina toch het volledige dashboard met klanten en taken te zien krijgen.","solution":"Een ingelogde partner komt nu altijd meteen op het eigen affiliate-overzicht terecht."},{"num":"v3.99","type":"polish","title":"Partner-activatie pagina in Senly design DNA","problem":"De activatiepagina voor nieuwe partners zag er functioneel maar niet af uit.","solution":"De pagina heeft nu een verzorgde uitstraling die past bij de rest van Senly, inclusief een duidelijk overzicht van de voordelen."},{"num":"v3.98","type":"feature","title":"Aanvragers krijgen een eigen partner-account zonder Senly-trial","problem":"Goedgekeurde partner-aanvragers moesten via de gewone proefperiode-aanmelding, wat verwarrend was en onnodig toegang gaf tot het hele platform.","solution":"Een goedgekeurde aanvrager krijgt nu een link om direct een wachtwoord te kiezen en komt meteen op het eigen affiliate-dashboard terecht, zonder toegang tot de rest van het platform."},{"num":"v3.97","type":"feature","title":"PartnerApplication tracked of een aanvraag is geconverteerd","solution":"Je ziet nu in het aanvragen-overzicht of een goedgekeurde partner ook daadwerkelijk een account heeft aangemaakt."},{"num":"v3.96","type":"feature","title":"Formulieren aanmaken en koppelen aan meeting-types","solution":"Via Meetings â Formulieren maak je vragenlijsten aan (vrije tekst en meerkeuze). Je koppelt een formulier aan een meeting-type; bezoekers beantwoorden de vragen vóór ze een datum kiezen."},{"num":"v3.95","type":"bugfix","title":"\"Aanvraag verstuurd!\" + uitleg onleesbaar op donkere achtergrond","problem":"De bevestigingstekst na het versturen van een partner-aanvraag was nauwelijks leesbaar op de donkere achtergrond.","solution":"De tekst is nu goed leesbaar, in wit op de donkere kaart."},{"num":"v3.94","type":"polish","title":"\"Validatiefout\" toont nu welk veld + waarom","problem":"Bij motivatie korter dan 20 tekens kreeg de bezoeker alleen een vage \"Validatiefout\" â geen aanwijzing welk veld of waarom.","solution":"Client-side pre-validatie blokkeert nu lege/te korte velden vóór de POST. Server-side zod-issues worden uitgepakt naar leesbare berichten (\"Motivatie: te kort (8/20 tekens)â¦\"). Placeholder vermeldt expliciet de min. 20-tekens-eis."},{"num":"v3.93","type":"bugfix","title":"Aanvragen vanaf /partners landden op login-redirect","problem":"Het invullen van het partner-aanvraagformulier leidde je onterecht naar de inlogpagina in plaats van een bevestiging.","solution":"Het formulier werkt nu correct en toont direct de juiste bevestiging."},{"num":"v3.92","type":"bugfix","title":"\"Unexpected token <\" bij aanvraag versturen","problem":"Bij een storing op de server kreeg je een onduidelijke technische foutmelding te zien in plaats van een begrijpelijke uitleg.","solution":"Je krijgt nu altijd een duidelijke, vriendelijke melding als er iets misgaat."},{"num":"v3.91","type":"polish","title":"Header, filters, modal en knoppen op partner-aanvragen volgen nu de taalswitcher","problem":"Alle teksten waren hardcoded NL â eyebrow, titel, beschrijving, filter-tabs, statussen, agency-type labels, modal-velden en knoppen veranderden niet bij wissel naar EN/DE/FR.","solution":"Inline T-objecten in zowel server-page (gebruikt getServerLocale) als client-component (gebruikt useLanguage). Datums worden ook in de juiste locale geformatteerd."},{"num":"v3.90","type":"bugfix","title":"Input/select/textarea velden waren grijs i.p.v. wit","problem":"Invoervelden op de partner-aanvraagpagina w
2aren grijs in plaats van wit, en de browser kleurde ze soms geel bij automatisch invullen.","solution":"De velden tonen nu correct wit, ook bij automatisch invullen door de browser."},{"num":"v3.89","type":"bugfix","title":"Verstuur-knop op /partners was te breed","problem":"De button erfde een breedte via de algemene .sn-pg-btn cascade en spande te ver uit voor zo weinig tekst.","solution":"Width: auto + comfortabele padding 13Ã32; alleen op <480px (mobiel) gaat hij weer full-width voor tap-target."},{"num":"v3.88","type":"polish","title":"Form-velden op /partners zijn weer goed leesbaar","problem":"Op de donkergroene CTA-card waren de input-velden bijna onzichtbaar (donker op donker) en de labels eveneens.","solution":"Velden hebben nu een witte achtergrond met donkere tekst, labels zijn wit, en de \"Partners\" eyebrow staat centraal boven de titel."},{"num":"v3.87","type":"polish","title":"Hartje toegevoegd aan elke tabel-rij in /tools","problem":"De favorite-toggle stond alleen op de kaart-rijen bovenaan (\"Aanbevolen voor jou\"). Wie direct naar de tabel scrolde kon niets als favoriet markeren â en omdat de \"Favorieten\"-rij pas verschijnt nadat je iets hebt gemarkeerd, was het hele feature onzichtbaar.","solution":"Subtiel hartje per tabel-rij (zichtbaar op hover, blijft staan als actief). Klik in de tabel telt nu ook mee voor \"Recent gebruikt\" â die rij verschijnt automatisch boven de tabel zodra je iets opent."},{"num":"v3.86","type":"feature","title":"Admin UI voor meeting routers in /meetings â Routers","solution":"Nieuwe tab met inline question-builder: meerdere vragen, meerdere antwoorden per vraag, elk antwoord routet naar een meeting-type. Activeren/pauzeren, slug auto-generated uit naam, één-klik verwijderen."},{"num":"v3.85","type":"feature","title":"Verzetten-knop op de manage-pagina","problem":"Bezoekers konden alleen annuleren â verzetten betekende cancellen en zelf opnieuw vinden waar te boeken.","solution":"\"â» Verzetten naar nieuwe datum\" annuleert de huidige boeking en redirect direct naar /boek/[host]/[slug] met naam, e-mail, telefoon en bedrijf als prefill query params."},{"num":"v3.84","type":"feature","title":"Manage-link in de bevestigings-e-mail","solution":"De boekingsbevestiging bevat nu een knop waarmee de bezoeker de afspraak op elk moment zelf kan verzetten of annuleren."},{"num":"v3.83","type":"polish","title":"Privacy + AV datums auto-updaten via git-log","solution":"De datum \"laatst bijgewerkt\" op de privacy- en voorwaardenpagina's wordt nu automatisch actueel gehouden, zonder handmatig bijwerken."},{"num":"v3.82","type":"polish","title":"Profiel-pagina: rol-badge, \"lid sinds\", taal-voorkeur en lock-indicator op e-mail","solution":"Nieuwe taal-keuze (NL/EN/DE/FR) via setLocale, premium rol-pill, expliciete lock-uitleg op non-admin e-mail-veld, en \"lid sinds Maand Jaar\" in de hero."},{"num":"v3.81","type":"feature","title":"Launchpad: tijdsindicatie + waardepropositie per taak + confetti bij 100%","solution":"Elke opstart-taak toont nu hoeveel tijd hij kost en wat het je oplevert. Als je alles hebt afgerond, verschijnt er een korte confetti-animatie en blijft een Senly Pro-badge zichtbaar."},{"num":"v3.80","type":"feature","title":"Partner-aanvraagformulier op /partners","problem":"\"Word partner\" leidde naar /signup?ref=partners â een bureau-trial-signup, niet een partner-aanvraag.","solution":"Echt formulier (bedrijf, contact, type, klantvolume, motivatie), PartnerApplication-model in de DB, en admin-notificatie per e-mail."},{"num":"v3.79","type":"feature","title":"CRM: taken & follow-up reminders per lead","solution":"Nieuw CrmTask-model, panel in de lead-modal met inline-add (titel + datum + tijd), pill-badges voor \"vandaag / over X dagen / verlopen\", en check-off met optimistische updates."},{"num":"v3.78","type":"feature","title":"Meeting routing-formulieren â kwalificatievragen vóór de boeking","solution":"Nieuw MeetingRouter-model + publieke flow op /boek/[user]/router/[slug]. Bezoeker beantwoordt 1âN vragen, elk antwoord routet naar het juiste MeetingType met antwoorden als prefill."},{"num":"v3.77","type":"feature","title":"Booking: add-to-calendar (Google / Outlook / .ics) + zelf annuleren + 1u-vooraf reminder","solution":"Wie een afspraak boekt, kan die nu met één klik toevoegen aan Google Calendar, Outlook of downloaden als .ics-bestand. Annuleren kan voortaan zelf via een persoonlijke link, en een uur voor de afspraak volgt automatisch nog een herinnering."},{"num":"v3.76","type":"feature","title":"Tools: \"Recent gebruikt\" + \"Favorieten\" + persoonlijke aanbevelingen","problem":"De aanbevolen tools in het overzicht waren voor iedereen precies hetzelfde, ongeacht wat je zelf gebruikte.","solution":"Je ziet nu een eigen rij met recent gebruikte tools en een rij met favorieten die je zelf aanvinkt met het hartje. De aanbevelingen zijn voortaan persoonlijk, gebaseerd op wat jij eerder hebt geopend."},{"num":"v3.75","type":"polish","title":"Cookie-consent balk volgt nu de taal van de bezoeker","problem":"De banner stond hardcoded in het Nederlands (\"Accepteren\", \"Alleen noodzakelijk\"), terwijl Duitse en Franse bezoekers de rest van de pagina al vertaald kregen.","solution":"CookieBanner detecteert de taal via senly-lang (localStorage) of valt terug op detectLangFromBrowser(). Alle teksten â tekst, privacy-link, beide knoppen, aria-label â vertaald in vier talen."},{"num":"v3.74","type":"polish","title":"Alle resterende NL/EN-only stukken op de landingspagina nu ook DE/FR","problem":"Een Duitse of Franse bezoeker viel op meerdere plekken op de landingspagina nog terug op Engelse of zelfs Nederlandse tekst.","solution":"De hele pagina is nagelopen en aangevuld: van de openingstekst en rekentool tot de prijzen en de knop onderaan is nu alles ook in het Duits en Frans te lezen."},{"num":"v3.73","type":"polish","title":"Alle 10 reviews op de landingspagina volgen nu de taalwissel","problem":"De Duitse en Franse varianten van de testimonials bevatten gewoon de Engelse tekst, waardoor de carousel voor DE/FR-bezoekers nog in het Engels bleef.","solution":"Alle quotes, rolomschrijvingen, eyebrow (\"Agenturen über Senly\" / \"Agences sur Senly\") en de titel (\"Geliebt von\" / \"Adoré par\") zijn nu correct vertaald."},{"num":"v3.72","type":"feature","title":"AI-support bot antwoordt nu in nl/en/de/fr","problem":"De chatbot antwoordde altijd in het Nederlands, ook als de bezoeker de pagina op Engels of Duits had staan.","solution":"De lang wordt nu meegestuurd naar de Gemini-prompt, met een strikte taal-instructie. Human-triggers en escalatie-replies zijn ook meertalig."},{"num":"v3.71","type":"feature","title":"Stappenplan-popup (linksonderin) volgt nu de gekozen taal","solution":"Alle 10 vragen, antwoordopties, categorieën, resultatenscherm en CTA-teksten zijn vertaald in Nederlands, Engels, Duits en Frans."},{"num":"v3.70","type":"feature","title":"Support-widget volgt nu de gekozen taal van de landingspagina","solution":"Tooltip, paneel, tabs, berichten en helpcentrum-teksten zijn volledig vertaald in Nederlands, Engels, Duits en Frans."},{"num":"v3.69","type":"feature","title":"Verlaagd tarief: â¬50 per klant/maand, â¬40 bij 21+","solution":"Staffel verlaagd van â¬70/â¬60 naar â¬50/â¬40. Geldt direct voor de maandelijkse berekening en de weergave op de abonnementspagina."},{"num":"v3.68","type":"polish","title":"Aantal bureaus op de landingspagina bijgewerkt van 120 naar 300","solution":"trust-stats.ts is de enige plek â alle pagina's die dit getal tonen zijn automatisch bijgewerkt."},{"num":"v3.67","type":"bugfix","title":"Instagram-analyse faalde stilletjes met generieke \"kon niet ophalen\"-error","problem":"Een Instagram-analyse leverde soms alleen een vage melding \"Kon de gegevens niet ophalen\" op, zonder dat duidelijk was wat er misging of wat je kon proberen.","solution":"De analyse probeert het nu op een paar manieren opnieuw voordat hij opgeeft, en veelgevraagde accounts worden tijdelijk onthouden zodat een nieuwe analyse sneller gaat. Bij een mislukte Instagram-analyse zie je nu een duidelijke melding die TikTok als werkend alternatief voorstelt; TikTok-analyses werkten altijd al gewoon."},{"num":"v3.66","type":"bugfix","title":"Hero title verschijnt nu instant in plaats van na 3 seconden JS-hydration","problem":"Op trage telefoons bleef de titel op de openingspagina enkele seconden onzichtbaar - je zag alleen een lege balk terwijl de pagina nog aan het laden was.","solution":"De titel en tekst op de openingspagina zijn nu meteen zichtbaar, ook op langzamere toestellen. De animatie is een leuke toevoeging geworden in plaats van iets waar je op moet wac
2hten."},{"num":"v3.65","type":"performance","title":"Vijf zware orb-blurs vervangen door simpele radial-gradient op mobiel","problem":"De vervaagde lichteffecten op de openingspagina waren zo zwaar dat de pagina op goedkopere Android-telefoons soms enkele seconden helemaal leeg leek.","solution":"Op kleinere schermen is dit vervangen door een lichte, statische kleurovergang die er hetzelfde teal-blauwe effect uitziet maar veel minder rekenkracht vraagt."},{"num":"v3.64","type":"bugfix","title":"Auto-detect taal nu in useState-initializer â geen NLâEN re-render flicker meer","problem":"Bezoekers die Duits, Engels of Frans als taal hadden, zagen de pagina eerst kort in het Nederlands verschijnen voordat hij omschakelde naar hun eigen taal.","solution":"De juiste taal wordt nu meteen bij het laden van de pagina bepaald, in plaats van pas erna. Bezoekers zien hierdoor direct hun eigen taal, zonder zichtbare omschakeling."}]},{"date":"2026-05-27","version":"v3.63","clV":"v4.37","title":"Meldingen-bell laadt nu álle items binnen het 14-dagen window, Meldingen-bell: recent verlopen taken bovenaan & 13 meer","items":[{"num":"v3.63","type":"bugfix","title":"API-limiet verhoogd zodat scrollen door meldingen écht zin heeft","problem":"De meldingenlijst was scrollbaar, maar liet nooit veel taken of meldingen zien omdat het aantal opgehaalde items veel lager lag dan wat er paste.","solution":"Het aantal meldingen dat wordt opgehaald is flink verhoogd, zodat scrollen door je meldingen nu ook echt iets oplevert."},{"num":"v3.62","type":"polish","title":"Sortering omgedraaid â recente meldingen eerst","problem":"In de meldingen-bell verscheen \"13d verlopen\" boven \"8d verlopen\". Dat is logisch vanuit \"meest urgent eerst\" maar voelt verwarrend: een notification-feed hoor je in volgorde van nieuw naar oud te scannen.","solution":"De overdue-taken worden nu op dueDate desc gesorteerd. Een taak die 8 dagen verlopen is staat dus boven een taak van 13 dagen verlopen â net als bij elke andere meldingen-feed."},{"num":"v3.61","type":"bugfix","title":"Meldingen-bell update nu betrouwbaar (10s open / 30s gesloten)","problem":"Nieuwe taken of boekingen verschenen soms pas in de meldingenbel nadat je de pagina had ververst, omdat de browser een oudere versie van de gegevens liet zien.","solution":"De meldingenbel haalt de gegevens nu altijd vers op. Wanneer de bel openstaat, wordt er elke 10 seconden gecontroleerd op nieuws, en op de achtergrond elke 30 seconden."},{"num":"v3.60","type":"security","title":"Meldingen-API filtert nu op tenant â geen cross-bureau task-lek","problem":"De overdue-taken query in /api/notifications gebruikte alleen `client: { isActive: true }` zonder tenantId-check. Theoretisch kon een gebruiker daardoor overdue taken van klanten van een ander bureau in de meldingen-bell zien.","solution":"Tenant-id uit de sessie wordt nu meegegeven aan de query: `client: { isActive: true, tenantId }`. Iedere gebruiker ziet uitsluitend taken van zijn eigen bureau."},{"num":"v3.59","type":"bugfix","title":"Geen 25-dagen-oude verlopen taken meer in de meldingen-bell","problem":"Open taken bleven oneindig als melding verschijnen, ook als ze al 25+ dagen verlopen waren. Resultaat: de bell stond steeds vol met TODO-items i.p.v. echte meldingen.","solution":"Verlopen taken worden alleen nog getoond als ze in de afgelopen 14 dagen verlopen zijn (MAX_TASK_OVERDUE_DAYS=14). Stale items horen in de takenlijst, niet in meldingen. Idem voor sync-fouten â alleen nog getoond als de sync uit het afgelopen etmaal komt (MAX_SYNC_AGE_DAYS=1)."},{"num":"v3.58","type":"security","title":"Werklast, productiviteit per weekdag, login-activiteit en team-in-dienst verborgen voor managers","problem":"Elke manager kon op de statistiekenpagina de open taken, beste werkdag, inlogtijden en het volledige dienstverband-overzicht van collega's zien - gevoelige HR-informatie die niet bij die rol hoort.","solution":"Dit onderdeel is nu alleen nog zichtbaar voor beheerders. Voor managers verdwijnt zowel de tab als de onderliggende gegevens volledig van de pagina."},{"num":"v3.57","type":"security","title":"Dashboard respecteert nu viewFinance-permissie voor managers","problem":"De maandwinst-grafiek op het dashboard was zichtbaar voor iedereen met dashboard-toegang, ook voor managers bij wie een beheerder het bekijken van financiële cijfers had uitgezet.","solution":"Het dashboard houdt nu rekening met die instelling. Gebruikers zonder rechten op financiële gegevens zien de winstgrafiek niet meer, kunnen hem ook niet meer toevoegen, en krijgen geen cijfers meer binnen."},{"num":"v3.56","type":"bugfix","title":"Specifieke melding bij te veel inlogpogingen","problem":"Na te veel inlogpogingen kreeg je altijd de melding \"Onjuist e-mailadres of wachtwoord\" te zien, ook als je gegevens gewoon klopten - je dacht dan dat je wachtwoord fout was terwijl je eigenlijk tijdelijk geblokkeerd was.","solution":"Bij te veel pogingen zie je nu een duidelijke melding die aangeeft hoeveel minuten je nog moet wac
2hten, in je eigen taal. Een verkeerde tweestapscode heeft nu ook een eigen, duidelijke melding."},{"num":"v3.55","type":"feature","title":"Manager-rol heeft nu volledige toegang tot Platformen-sectie in klantprofielen","problem":"Managers zagen geen knop om social media-accounts te koppelen vanuit een klantprofiel.","solution":"Managers hebben nu dezelfde toegang als beheerders tot het koppelen en beheren van social media-accounts in klantprofielen."},{"num":"v3.54","type":"feature","title":"Social accounts tab toegankelijk voor managers","problem":"Managers konden de massa-koppeling pagina niet bereiken via de sidebar of zoekbalk.","solution":"Sidebar toont Social accounts link voor managers. Command palette geeft de pagina ook terug bij managers. Pagina-toegang was al correct."},{"num":"v3.53","type":"feature","title":"Groep aanmaken knop verborgen voor niet-admins","problem":"Iedereen in de teamchat kon zelf nieuwe groepen aanmaken.","solution":"Het aanmaken van groepen is nu voorbehouden aan beheerders."},{"num":"v3.52","type":"polish","title":"Font-weight titel \"Abonnement & incasso\" gecorrigeerd naar 500 (medium)","solution":"De titel gebruikt nu hetzelfde lettergewicht als de andere paginatitels in het portaal, voor een consistentere uitstraling."},{"num":"v3.51","type":"bugfix","title":"â¬70 stat zichtbaar op light-theme achtergrond","solution":"Wit gradient vervangen door var(--text) zodat het cijfer leesbaar is in lichte modus."},{"num":"v3.50","type":"polish","title":"Titelfont \"Abonnement & incasso\" gelijkgetrokken met portaalstijl","solution":"Gradient op \"& incasso\" vervangen door solid var(--teal), font-size naar 44px passend bij owner-overview-title."},{"num":"v3.49","type":"polish","title":"Abonnement & incasso pagina volledig vernieuwd naar premium stijl","solution":"Glassmorphic cards, teal gradient stat-nummers, scoped styling en een pricing-tabel voor de tarieven â in lijn met de rest van het portaal."},{"num":"v3.48","type":"polish","title":"Commissieregels editor volledig herontworpen","problem":"Pagina had een kale flat layout met standaard HTML radio-buttons en checkboxes.","solution":"Premium glassmorphism cards met rol-iconen, kleur-accenten per rol, animated toggle-switches, percentage-balk en custom radio-opties."}]},{"date":"2026-05-26","version":"v3.47","clV":"v4.05","title":"Social accounts koppelen via Senly Connector extensie, Sales-systeem: 6 verbeteringen en sales-portfolio pagina & 14 meer","items":[{"num":"v3.47","type":"feature","title":"Social accounts koppelen werkt nu via de Chrome-extensie","problem":"Het koppelen van social media-accounts gaf op het portaal steevast de melding \"Verbinding mislukt\", omdat de gebruikte methode niet werkte in een cloudomgeving.","solution":"Het koppelen verloopt nu via de Senly Connector-extensie in je eigen browser: die opent de social media-pagina, herkent je inlog en stuurt de verbinding veilig terug naar het portaal. Werkt voor Facebook, Instagram, TikTok en LinkedIn."},{"num":"v3.46","type":"feature","title":"Sales-portfolio: overzicht per setter/closer/sales manager","problem":"Er was geen centrale plek om te zien welke medewerker welke klanten heeft, hoeveel commissie ze verdienen en hoelang een klant al actief is.","solution":"Nieuwe pagina /admin/commissie/portfolio toont per medewerker alle actieve klanten met commissie-%, maandbedrag, maandenteller en totaal. Navigeer via de Claims-tab in de commissie-sectie."},{"num":"v3.45","type":"polish","title":"Klantenlijst altijd zichtbaar in CompensationWidget","problem":"Setters en closers moesten op \"Bekijk opbouw\" klikken om te zien voor welke klanten ze commissie ontvangen.","solution":"De commissie-tabel staat nu direct zichtbaar in de widget, met klikbare link naar het klantprofiel. Klantenrijen op pauze worden dimmer weergegeven."},{"num":"v3.44","type":"feature","title":"Klikbare klantlinks in commissie-breakdown (claims queue)","problem":"In de detailweergave van een claim stond de klantnaam als platte tekst. Admins moesten handmatig zoeken naar het profiel.","solution":"Klantnamen zijn nu klikbare links die direct naar het klantprofiel navigeren."},{"num":"v3.43","type":"bugfix","title":"Client deactiveren stopt nu automatisch commissie-assignments","problem":"Als een klant op inactief werd gezet, bleef de commissie-assignment actief. De setter zou bij heractivering opnieuw commissie opbouwen zonder dat de admin dit had bevestigd.","solution":"Zodra isActive â false gaat, worden alle actieve assignments voor die klant afgesloten. Admin kan bij heractivering een nieuwe assignment aanmaken."},{"num":"v3.42","type":"bugfix","title":"Transactie-beveiliging bij gelijktijdige commissie-assignments","problem":"Twee verzoeken die tegelijk binnenkwamen, konden allebei een actieve commissie-toewijzing aanmaken voor dezelfde klant en rol.","solution":"Het aanmaken en afsluiten van commissie-toewijzingen gebeurt nu als één ondeelbare stap, zodat dubbele toewijzingen niet meer kunnen ontstaan."},{"num":"v3.41","type":"bugfix","title":"Misleidende opmerking over pauze-maanden gecorrigeerd","problem":"De code-comment zei \"pauze telt niet mee in de maandtelling\", maar de implementatie telt kalender-maanden zonder onderscheid.","solution":"Comment bijgewerkt om het werkelijke MVP-gedrag te beschrijven: pauze geeft â¬0 commissie die maand, maar de looptijdteller loopt door."},{"num":"v3.40","type":"feature","title":"Setter automatisch toegewezen via CRM","problem":"Een appointmentsetter moest achteraf handmatig gekoppeld worden aan een klant. Er was geen link tussen wie de lead ingevoerd had en wie commissie zou ontvangen.","solution":"Zodra een setter een lead aanmaakt in het CRM, wordt diegene automatisch vastgelegd als \"createdBy\". De persoon die de lead op \"won\" zet wordt vastgelegd als \"closedBy\" (closer). Zo worden beiden automatisch bijgehouden zonder handmatige invoer."},{"num":"v3.39","type":"feature","title":"\"Omzetten naar klant\" flow in CRM","problem":"Gewonnen leads hadden geen directe koppeling naar een klantprofiel. Admin moest klant handmatig aanmaken en dan nog commissie-ontvangers koppelen.","solution":"Bij een gewonnen lead verschijnt een groen \"Omzetten naar klant\" blok. Eén klik opent een modal met setter + closer automatisch ingevuld (vanuit wie de lead aanmaakte en wie hem won), met commissie % en looptijd overgenomen vanuit de bureau-instellingen. Na bevestigen: klantprofiel aangemaakt + commissie-assignments direct actief."},{"num":"v3.38","type":"feature","title":"Klantprofiel direct te openen na conversie","solution":"Na het omzetten toont de modal een directe link naar het nieuwe klantprofiel. Commissies zijn direct aanpasbaar in het Financieel-tabblad van de klantpagina."},{"num":"v3.37","type":"polish","title":"Conversie- en Win-rate widgets: donut ring met dynamische kleur","problem":"Widgets toonden alleen een getal in XL-tekst zonder visuele context.","solution":"SVG donut-ring die groen/oranje/rood kleurt op basis van drempelwaarden. Animatie via stroke-dasharray transition."},{"num":"v3.36","type":"polish","title":"Touchpoints-week widget: gesegmenteerde pie-donut met legenda","problem":"Vier
2contactpunten (meeting/call/WhatsApp/e-mail) stonden als losse tekstrijen zonder verhouding.","solution":"SVG pie-chart met vier gekleurde segmenten en compacte legenda naast de cirkel."},{"num":"v3.35","type":"polish","title":"Follow-up ratio widget: halfcirkel-gauge met naald","problem":"Ratio als kale decimaal gaf geen gevoel voor schaal of doelwaarde.","solution":"SVG halve-cirkel gauge (0â2) met geanimeerde naald en kleur op basis van drempel."},{"num":"v3.34","type":"polish","title":"Gewonnen per week widget: verbeterde staafgrafiek met graduele opaciteit","problem":"Staven hadden geen labels, geen visueel accent op de topprestatie.","solution":"Nieuwe bars-v2 variant: topprestatie 100% opaciteit, overige 55%, met week-labels en smooth transition."},{"num":"v3.33","type":"feature","title":"Server-side locale support via cookie (lib/i18n/server.ts)","problem":"Server-rendered pagina's (zoals /status) konden de taalvoorkeur van de gebruiker niet lezen omdat die alleen in localStorage stond.","solution":"useLanguage hook spiegelt locale nu ook naar een `portal_locale` cookie (1 jaar geldig). Nieuwe trServer() helper in lib/i18n/server.ts leest cookie + Accept-Language header voor server components. Bestaande sessies krijgen automatisch backfill bij eerstvolgende page-load."},{"num":"v3.32","type":"polish","title":"Affiliate dashboard hero + KPI cards vertaald","problem":"Affiliate-pagina was hardcoded NL: \"Verdien\", \"Verwezen bureaus\", \"Jouw persoonlijke link\", \"Uitbetaling\", \"Verbind met Stripe\" etc.","solution":"25+ nieuwe aff_* keys. Hero, KPI grid (alle 4 cards met labels en subs), link-sectie (titel/desc/copy-button/code-label) en Stripe-payout-sectie (titel/desc/button/badge)."},{"num":"v3.31","type":"polish","title":"Team-Chat \"Iedereen\" en \"ï¼ Groep\" knop vertaald","problem":"Team-chat toonde \"Iedereen\" (DB-naam van system room) en \"ï¼ Groep\" hardcoded â ook in DE/EN/FR view.","solution":"ChatPanel.tsx detecteert nu room.isSystem en toont tr(\"chat_everyone\") in plaats van de DB-naam. Groep-aanmaken knop en tooltip via tr()."},{"num":"v3.30","type":"feature","title":"Meetings-pagina respecteert nu de taalvoorkeur van de gebruiker","problem":"De meetings-pagina toonde altijd Nederlandse tekst, ook voor gebruikers die Duits, Engels of Frans als taal hadden ingesteld.","solution":"De hele meetings-pagina is nu vertaald: kalender, beschikbaarheid, koppelingen, weekdagen en alle knoppen en titels volgen voortaan je eigen taalinstelling."},{"num":"v3.29","type":"feature","title":"Klant-zijbalk, MRR-snapshot, TaskioDashboard, override-tabel en CRM-activiteit converteren nu ook","problem":"Een eerdere ronde had al veel plekken omgezet naar de juiste valuta, maar een aantal onderdelen toonde nog steeds altijd euro's: de klant-zijbalk, het omzetoverzicht, het hoofddashboard, de overrides-tabel en de activiteiten in het klantsysteem.","solution":"Ook deze onderdelen tonen bedragen nu in de juiste valuta. Facturen, klantgegevens-invoer en de eigen prijslijst van Senly blijven bewust in euro's, omdat die ook echt zo zijn opgesteld."},{"num":"v3.28","type":"feature","title":"Bedragen in CRM, Financieel en master SaaS-dashboard volgen nu ook de tijdzone","problem":"Een eerdere aanpassing liet bedragen alleen in de juiste valuta zien op een deel van het portaal - andere pagina's toonden nog steeds altijd euro's.","solution":"Bedragen in het klantsysteem, de financiële module en het hoofddashboard volgen nu ook automatisch de juiste valuta. In de database blijft alles in euro's opgeslagen, alleen de weergave verandert."},{"num":"v3.27","type":"polish","title":"Meetings-pagina: \"Calendars\" / \"Nieuw calendar\" â \"Kalenders\" / \"Nieuwe kalender\"","problem":"In de NL-versie van de Meetings-instellingen stonden nog engelse termen (\"Calendars\", \"+ Nieuw calendar\", \"Calendar bewerken\", \"deze calendar\") die niet matchten met de rest van de Nederlandse UI.","solution":"MeetingsManager.tsx volledig nagelopen â alle user-facing strings gebruiken nu correct \"kalender(s)\". Comments en variabelen blijven Engels (geen functionele wijziging)."},{"num":"v3.26","type":"feature","title":"Sales- en Affiliate-dashboard tonen bedragen in de valuta van de gebruiker","problem":"Bedragen werden altijd in euro's getoond, ook voor gebruikers in bijvoorbeeld de Verenigde Staten, het Verenigd Koninkrijk of Zwitserland.","solution":"Senly herkent nu automatisch in welke regio je werkt en toont bedragen in de bijpassende valuta (onder andere euro, dollar, pond, Canadese en Australische dollar, en Zwitserse frank). De wisselkoersen worden dagelijks automatisch bijgewerkt met actuele, officiële koersen."},{"num":"v3.25","type":"polish","title":"Sales-dashboard Pipeline-widget toont het juiste valuta-icoon","problem":"Het pipeline-widget toonde altijd een dollarteken, ook voor Europese gebruikers â verwarrend omdat de bedragen in euro's staan.","solution":"Het icoon wordt nu bepaald op basis van de browser-tijdzone: ⬠voor Europe/*, $ voor America/*, en een neutraal geld-icoon voor overige regio's."},{"num":"v3.24","type":"security","title":"localStorage-cache van vorige gebruiker werd ~500m
2s zichtbaar voor nieuwe gebruiker","problem":"Bij het inloggen met een ander account kon je heel kort nog gegevens van de vorige gebruiker zien, omdat die nog opgeslagen stonden in je browser.","solution":"Opgeslagen gegevens worden nu direct gewist zodra blijkt dat je bent ingelogd als een andere gebruiker, nog voordat de pagina zichtbaar wordt."},{"num":"v3.23","type":"feature","title":"Appointment Setters en Sales Managers kunnen takenbeheer openen","problem":"Verkooprollen kregen wel taken toegewezen, maar hadden geen toegang tot het takenoverzicht om die taken te bekijken.","solution":"Deze rollen hebben nu toegang tot een takenoverzicht met alleen hun eigen toegewezen taken. Klanten aanmaken of nieuwe taken toevoegen blijft voorbehouden aan beheerders en managers."},{"num":"v3.22","type":"security","title":"Appointmentsetters / Sales managers zien geen klantprofielen meer via zoeken","problem":"Via het zoekvenster konden verkooprollen alle klanten en taken in het portaal terugvinden, ook buiten hun eigen werkgebied.","solution":"Zoeken toont voor deze rollen nu alleen nog hun eigen toegewezen leads en taken, niet langer het volledige klantenbestand."},{"num":"v3.21","type":"feature","title":"Cmd+K toont CRM-leads voor sales-rollen","solution":"Sales-rollen zien nu standaard hun eigen leads in het zoekpalette (ipv klanten die ze toch niet mogen openen). Admin/Manager zien klanten + taken zoals voorheen."},{"num":"v3.20","type":"bugfix","title":"Affiliate-dashboard noemde nog 20% terwijl backend al 30%/40% uitkeert","problem":"Op de affiliate-pagina stond nog overal \"Verdien 20% MRR per verwijzing\", terwijl de daadwerkelijke uitkering al hoger lag.","solution":"De tekst is aangepast naar de actuele staffel: 30% standaard, oplopend naar 40% vanaf tien actieve verwijzingen. Ook de uitleg en veelgestelde vragen zijn bijgewerkt."},{"num":"v3.19","type":"bugfix","title":"Actieve CRM-tab (Pipeline / Contacten / etc.) toonde witte tekst op transparente achtergrond","problem":"De gradient op de actieve tab gebruikte var(--accent) zonder fallback. Bij bureaus zonder custom branding was --accent undefined, waardoor de hele gradient invalid werd en de tekst onleesbaar.","solution":"var(--accent, var(--teal)) fallback toegevoegd â actieve tab krijgt nu altijd de Senly-teal achtergrond met goed leesbare witte tekst."}]},{"date":"2026-05-24","version":"v3.18","clV":"v3.47","title":"Outlook + Google calendar OAuth â redirect na koppelen niet meer naar localhost, Klantdossier â \"wachtwoord vergeten?\" reset-flow voor admins & 14 meer","items":[{"num":"v3.18","type":"bugfix","title":"OAuth callback eindigde op ERR_CONNECTION_REFUSED (localhost:8080)","problem":"Na het succesvol koppelen van Outlook of Google Calendar kwam je terecht op een onbereikbare interne pagina in plaats van terug in het portaal - terwijl de koppeling zelf wél gelukt was.","solution":"De doorverwijzing na het koppelen gebruikt nu altijd het juiste, publieke portaal-adres. Dit was al opgelost voor Zoom en geldt nu ook voor Outlook en Google Calendar."},{"num":"v3.17","type":"feature","title":"Reset-knop in DossierLock + nieuw /api/dossier/reset endpoint","problem":"Als het wachtwoord voor het klantdossier vergeten was of ooit was ingesteld door iemand die niet meer in dienst is, kon niemand er nog bij - er was geen manier om het wachtwoord te herstellen.","solution":"Beheerders kunnen het dossier-wachtwoord nu zelf resetten via een knop met bevestiging. Daarna kun je meteen een nieuw wachtwoord instellen, zonder de pagina te hoeven verversen."},{"num":"v3.16","type":"feature","title":"Nieuwe bureaus kunnen nu zelf hun klantdossier uploaden","problem":"Het klantdossier werkte alleen met bestanden die al op de server stonden - nieuwe bureaus hadden geen manier om hun eigen dossier te uploaden en konden de functie dus niet gebruiken.","solution":"Je kunt je klantdossier nu zelf uploaden via slepen-en-neerzetten of een bestandskiezer, en later ook weer vervangen of verwijderen. Ondersteund: .docx, .pdf, .doc, .txt en .md, tot 10 MB."},{"num":"v3.15","type":"polish","title":"Tool /tools/content-kalender van kale inline-styles naar high-end CSS module","problem":"De contentkalender-tool zag er visueel minder verzorgd uit dan de rest van het platform: kale kaarten, eenvoudige tabbladen, geen diepte.","solution":"De tool heeft een nieuwe uitstraling gekregen met een duidelijke opening, kaarten met een subtiele lichtgloed bij vandaag en hover, en ronde tabbladen per maand en categorie."},{"num":"v3.14","type":"polish","title":"Collapsible-section titels van semi-bold naar medium","problem":"De titels boven de uitklapbare secties in een klantprofiel (zoals Notities, Documenten, AI Content Generator) oogden zwaarder dan de tekst eromheen.","solution":"Deze titels zijn lichter gemaakt zodat het geheel rustiger oogt, zonder aan leesbaarheid in te boeten."},{"num":"v3.13","type":"polish","title":"Financieel-tab werkt nu voor alle CRM-systemen, niet alleen GoHighLevel","problem":"De financiële tab in klantgegevens verwees overal expliciet naar één specifiek CRM-systeem, wat voor bureaus met een ander systeem als een verkeerde match voelde.","solution":"De teksten spreken nu overal neutraal over \"je gekoppelde CRM\" in plaats van één specifiek systeem te noemen, in alle beschikbare talen. Zo werkt de tab straks ook logisch voor andere CRM-koppelingen."},{"num":"v3.12","type":"feature","title":"Elk bureau stelt nu zelf een dossier-wachtwoord in bij eer
2ste gebruik","problem":"Eén gedeeld wachtwoord gold voor het klantdossier van alle bureaus tegelijk - bureaus konden geen eigen wachtwoord kiezen en moesten voor een reset altijd support inschakelen.","solution":"Elk bureau stelt nu bij het eerste gebruik zijn eigen dossier-wachtwoord in, met een bevestiging en een minimale lengte. Daarna log je steeds in met dat eigen wachtwoord."},{"num":"v3.11","type":"bugfix","title":"Postgres-fout 42P01 bij opslaan van klantgegevens","problem":"Het opslaan van wijzigingen in een klantprofiel gaf soms een technische foutmelding, waardoor de gegevens niet bewaard werden.","solution":"De oorzaak in de opslag-logica is verholpen - klantgegevens worden weer gewoon normaal opgeslagen."},{"num":"v3.10","type":"polish","title":"LinkedIn-SVG nu met chunky bold \"in\" zoals officieel brand-logo","problem":"Eerste LinkedIn-icoon op de SSO-knop oogde dun en niet als het herkenbare LinkedIn-favicon.","solution":"Pathdata vervangen door versie gebaseerd op LinkedIn brand guidelines: bolder \"in\", betere proporties, exacte LinkedIn-blauw #0A66C2. SVG-grootte verhoogd van 18px naar 22px zodat hij prominent uitkomt in de square SSO-knop."},{"num":"v3.09","type":"polish","title":"Login-pagina SSO-keuze compacter â vierkante platform-logo knoppen","problem":"De full-width \"Doorgaan met Google/LinkedIn/Facebook\"-knoppen onder elkaar namen veel verticale ruimte in. Met 3+ providers werd de loginflow lang en herhalend.","solution":"Alle SSO-knoppen nu als square icon-only buttons in een horizontale rij (.lp-sso-row + .lp-sso-square). Alleen het officiële platform-logo zichtbaar, hover-tooltip met provider-naam, equal-flex zodat ze samen de volle breedte vullen. Werkt met 1 t/m 4 providers (Google, LinkedIn, Facebook, Microsoft) â automatisch verborgen wanneer env vars niet gezet zijn."},{"num":"v3.08","type":"feature","title":"Vierde SSO-provider toegevoegd: \"Doorgaan met Facebook\"","problem":"Naast Google, Microsoft en LinkedIn was inloggen met Facebook nog niet mogelijk, terwijl veel bureau-eigenaren dagelijks al met Facebook werken voor hun klanten.","solution":"Er is een \"Doorgaan met Facebook\"-knop toegevoegd op de inlogpagina. Net als bij de andere inlogopties werkt dit alleen voor een bestaand account met hetzelfde e-mailadres."},{"num":"v3.07","type":"feature","title":"Derde SSO-provider toegevoegd: \"Doorgaan met LinkedIn\"","problem":"Bureaus konden alleen inloggen via Google of Microsoft, terwijl LinkedIn voor veel bureau-eigenaren hun belangrijkste professionele account is.","solution":"Er is een \"Doorgaan met LinkedIn\"-knop toegevoegd op de inlogpagina, met dezelfde voorwaarde als bij Google en Microsoft: alleen voor een bestaand account met hetzelfde e-mailadres."},{"num":"v3.06","type":"bugfix","title":"Welkomstmail + admin-notif faalden stil door onverified senly.io afzender","problem":"In v3.30 stond de afzender op [email protected] maar dat domein is niet in Resend geverifieerd. Resend weigerde de send stil â de DB-save lukte wel (gebruiker zag \"Je staat erop\"), maar er kwam geen welkomstmail aan en jij kreeg geen notificatie.","solution":"Afzender voor zowel welkomstmail als admin-notif teruggezet naar het verified domein [email protected], met de display-naam \"Senly\" en \"Senly Notificaties\" zodat ontvangers het wel als Senly herkennen. Op termijn senly.io als sending-domain in Resend verifiëren voor 100% branded mails."},{"num":"v3.05","type":"feature","title":"Nieuwe \"Team in dienst\" sectie op statistieken-pagina","problem":"De statistieken-pagina toonde wel inlog-frequentie van teamleden, maar niet hoe lang elke medewerker al actief is binnen het bureau. Bureau-eigenaren misten een snapshot van team-stabiliteit en retentie.","solution":"Nieuwe section-card naast \"Login activiteit\" met top 8 teamleden gesorteerd op tenure (langstdienend bovenaan). Per persoon: initialen-avatar (teal voor actief, grijs voor inactief), naam + role, jaren/maanden in dienst en horizontale progress-bar genormaliseerd op langstdienende. Header toont totaal aantal + gemiddelde tenure-maanden. Tenure berekend uit user.createdAt (datum waarop ze in het systeem toegevoegd werden = proxy voor in-dienst-datum)."}]}
2,{"date":"2026-05-23","version":"v3.04","clV":"v3.17","title":"Publieke nav nu écht identiek aan homepage â duplicate CSS gestript, Hamburger-menu op desktop verborgen (regressie van v3.13 fix) & 23 meer","items":[{"num":"v3.04","type":"bugfix","title":"Subpagina's hadden nog steeds afwijkende nav-styling (font + NL viel buiten pill)","problem":"Onderliggende pagina's zoals contact en vergelijk hadden soms een andere lettertype-stijl dan de rest van het platform, en de taalknop viel bij scrollen buiten zijn omlijning.","solution":"Dubbele en conflicterende stijl-regels zijn opgeruimd, zodat lay-out, lettertype en kleuren overal uit dezelfde, ene bron komen - geen inconsistenties meer tussen pagina's."},{"num":"v3.03","type":"bugfix","title":"Mobile hamburger-button kwam ten onrechte op desktop in beeld","problem":"Op desktop was soms per ongeluk het mobiele menu-icoon zichtbaar naast de gewone navigatie, op onder andere de blog- en helppagina's.","solution":"Het mobiele menu-icoon is nu weer correct verborgen op desktop-schermen, terwijl het op mobiel gewoon blijft werken."},{"num":"v3.02","type":"bugfix","title":"Compact-view toggle bleek niet betrouwbaar te werken","problem":"De knop om het portaal compacter weer te geven, werkte niet altijd betrouwbaar.","solution":"We hebben de knop verwijderd. Wil je het portaal kleiner weergeven, gebruik dan de zoomfunctie van je browser (bijvoorbeeld Cmd+- in Chrome) â die onthoudt de instelling zelf."},{"num":"v3.01","type":"bugfix","title":"Compact-view button toggelde wel het icoon maar niet de zoom","problem":"De knop voor compacte weergave veranderde wel van icoon, maar paste het scherm niet daadwerkelijk aan.","solution":"Verholpen zodat de weergave voortaan echt verkleint zoals bedoeld, identiek aan het verkleinen via je browser."},{"num":"v3.00","type":"feature","title":"Nieuwe knop in header: schakel het hele portaal naar 80%","problem":"Sommige gebruikers willen meer overzicht in één blik zonder eerst Chrome's zoom-menu te openen. En een geforceerde 80% voor iedereen kreeg veel pushback omdat tekst dan te klein werd voor wie het niet wilde.","solution":"Nieuwe square-button toegevoegd in de header (links van Aanpassen): klik om het hele portaal (sidebar + content) op 80% te renderen, klik nogmaals voor terug naar 100%. Keuze wordt onthouden in localStorage zodat het na herladen aan blijft staan. Backstop achter de sidebar lost het bekende witte-gat-probleem op zodat de donkere kolom altijd doorloopt."},{"num":"v2.99","type":"bugfix","title":"html { zoom: 0.8 } en bijbehorende fixes teruggedraaid","problem":"Het automatisch op 80% renderen via html { zoom } veroorzaakte een wit gat onderaan de sidebar dat niet schoon op te lossen was zonder de layout te breken. Zowel de height: 125vh correctie, de position: fixed sidebar, als de ::before backstop bleken niet de juiste richting.","solution":"Alles teruggedraaid naar de staat voor v2.96: portal rendert weer standaard op 100%. Wie het kleiner wil zien gebruikt Chrome's eigen zoom (Cmd+- of menu â Zoom 80%) â wordt automatisch per domein onthouden."},{"num":"v2.98","type":"bugfix","title":"Witte gat onder Team chat-knop in sidebar opgelost","problem":"Bij zoom 0.8 stopte de donkere sidebar-achtergrond halverwege â achter de Team chat-knop en sidebar-footer zat een witte strook. Position: sticky met height: 125vh werd door zoom alsnog geclipt.","solution":"Visuele backstop toegevoegd via .app-shell::before â een fixed-positioned strook van 228px die altijd de volledige viewport-hoogte vult met de sidebar-kleur, ongeacht zoom of vh-issues. Zit achter de sidebar (z-index 0). Op mobiel hidden zodat het op smalle schermen niets in de weg zit."},{"num":"v2.97","type":"bugfix","title":"Fixed-position sidebar uit v3.01 brak de layout","problem":"In v3.01 was de sidebar van position: sticky naar position: fixed gezet om het witte gat onderaan te fixen, maar dit brak de layout: sidebar verscheen als smalle icoon-kolom en main-content kwam op de verkeerde plek terecht.","solution":"Terug naar position: sticky met height: 125vh. Het witte gat onderaan blijft een open issue maar de layout werkt weer correct."},{"num":"v2.96","type":"bugfix","title":"Sidebar-achtergrond stopte halverwege bij 80%-zoom","problem":"Na het aanzetten van html { zoom: 0.8 } liep de donkere sidebar-achtergrond niet door tot onderaan â achter de Team chat-knop en sidebar-footer was een witte/transparante strook zichtbaar. De eerdere fix (height: 125vh) werkte niet omdat position: sticky in combinatie met zoom de hoogte alsnog clipt.","solution":"Sidebar omgezet van position: sticky naar position: fixed met top: 0; bottom: 0 â onafhankelijk van vh-units en vult altijd het volledige zichtbare viewport. .app-shell-main krijgt margin-left: 228px om ruimte te maken voor de fixed sidebar (op mobiel reset naar 0)."},{"num":"v2.95","type":"polish","title":"Standaard portal-zoom op 80%","problem":"Het portaal vulde standaard 100% van het scherm â voor veel gebruikers te groot om in één oogopslag het hele dashboard te overzien. Eerder geprobeerd via html { zoom } maar disabled omdat de sidebar en app-shell een wit gat onderaan kregen (vh-units negeren zoom-factor).","solution":"html { zoom: 0.8 } aangezet en de drie elementen die exacte viewport-hoogte gebruiken gecorrigeerd naar calc(100vh / 0.8) = 125vh: de sticky
2sidebar, de app-shell min-height, en het settings slide-over paneel rechts. Resultaat: portaal rendert automatisch op 80% voor alle gebruikers zonder dat zij zelf hoeven te zoomen â en zonder witte gaten onderaan."},{"num":"v2.94","type":"feature","title":"Inloggen met Microsoft (Office 365 / Azure AD / persoonlijke account)","problem":"Veel bureaus werken met Microsoft en Office 365, maar konden tot nu toe alleen inloggen met een Google-account.","solution":"Je kunt nu ook inloggen met je Microsoft-account (werk, school of persoonlijk). De inlogknop verschijnt naast de Google-knop; nieuwe gebruikers worden automatisch doorgestuurd naar de aanmeldpagina als hun account nog niet bestaat."},{"num":"v2.93","type":"security","title":"Demo is nu 100% read-only â geen enkele write meer mogelijk","problem":"In de demo-omgeving konden bezoekers eerder al wel bepaalde wijzigingen opslaan, waardoor de demo-inhoud voor de volgende bezoeker kon veranderen.","solution":"In de demo-omgeving kun je nu alles bekijken en uitproberen, maar niets meer opslaan. Je krijgt een duidelijke melding dat wijzigingen niet worden bewaard in de demo."},{"num":"v2.92","type":"security","title":"Demo-bezoekers kunnen geen content meer verwijderen of externe acties triggeren","problem":"Bezoekers van de demo-omgeving konden op sommige plekken nog content verwijderen of acties starten die buiten het portaal effect hadden.","solution":"Verwijderen en acties die iets buiten het portaal in gang zetten zijn nu overal in de demo-omgeving geblokkeerd, met een duidelijke melding. Bekijken en gewone aanpassingen zoals taken afvinken of notities toevoegen blijven gewoon werken."},{"num":"v2.91","type":"polish","title":"Eén centrale config voor alle marketing-claims (bureaus, rating, tooling kosten)","problem":"Trust-cijfers stonden hardcoded op meerdere plekken (landing 4x, over-ons 2x, security metadata 1x). Een wijziging vereiste handmatig zoeken-en-vervangen en leidde in de platformanalyse al tot inconsistenties (300+/200+/120+ door elkaar).","solution":"Nieuwe lib/trust-stats.ts met TRUST_STATS constanten + getypeerde formatters per taal (trustAgencies, trustRating, trustHeroPill, trustToolingCost). Alle 7 hardcoded mentions vervangen. Wijzig nu één getal in trust-stats.ts en alle publieke pagina's updaten automatisch."},{"num":"v2.90","type":"polish","title":"SiloCrossLinks component verwijderd van Tools / Trends / CRM / Onboarding","problem":"Een rij met snelkoppelingen bovenaan deze pagina's leidde af van de inhoud zelf.","solution":"Deze rij is verwijderd van de Tools-, Trends-, CRM- en Onboarding-pagina's, voor een rustiger overzicht."},{"num":"v2.89","type":"infra","title":"Het portaal draait nu op app.senly.io (was portaal.socialmediatools.nl)","problem":"Het webadres van het portaal kwam niet overeen met de merknaam Senly, wat verwarrend was voor nieuwe gebruikers.","solution":"Het portaal is verhuisd naar app.senly.io. Oude links naar portaal.socialmediatools.nl blijven werken en sturen je automatisch door naar het nieuwe adres."},{"num":"v2.88","type":"polish","title":"Login email-placeholder generieker gemaakt","problem":"\"[email protected]\" als placeholder oogde alsof Senly een interne tool was voor één bedrijf.","solution":"Vervangen door \"[email protected]\" â beter passend bij een multi-tenant SaaS voor social media bureaus."},{"num":"v2.87","type":"infra","title":"Idempotente demo-seed in npm start","problem":"De 'Bekijk demo'-knop moest na updates soms handmatig opnieuw klaargezet worden.","solution":"Dit gebeurt nu automatisch bij elke update, zonder dat dit ooit de rest van het portaal kan verstoren."},{"num":"v2.86","type":"polish","title":"Header-topbar â¤640px: overtollige iconen verborgen","problem":"Op smalle schermen stonden 9 iconen naast elkaar in de fundio2-topbar. Dit leidde tot crowding en onbruikbare aanraakdoelen.","solution":"Op â¤640px wordt .fundio-center verborgen en in .fundio-right worden alle knoppen behalve cog verborgen. Maximaal 4 iconen op mobiel."},{"num":"v2.85","type":"polish","title":"Dashboard grafiek â¤640px: bar-waarde-labels verborgen","problem":"12 kolommen van ~25px elk â â¬-labels overlapten volledig op mobiel.","solution":".dash-chart-bar-value display:none op â¤640px; bar-labels krimpen naar 9px."},{"num":"v2.84","type":"polish","title":"Client-slider â¤640px: breedte naar calc(100vw - 48px)","problem":"max-width: 320px was te restrictief â kaarten werden afgekapt op smalle telefoons.","solution":"Slider kaarten gebruiken calc(100vw - 48px) op â¤640px voor één kaart per scherm."},{"num":"v2.83","type":"polish","title":"Tools-pagina: negatieve marges afgestemd op main-padding per breakpoint","problem":"De tools-page negatieve marges (-28px) kwamen niet overeen met de daadwerkelijke padding op mobiel.","solution":"Op â¤768px margin -16px, op â¤480px margin -12px â exact gespiegeld aan de main-padding."},{"num":"v2.82","type":"polish","title":"Factuurpagina: volledig responsief gemaakt","problem":"De factuurpagina paste zich niet goed aan kleinere schermen aan.","solution":"De factuurpagina toont nu een nette lay-out op telefoon en tablet."},{"num":"v2.81","type":"polish","title":"Signup-formulier: 2-koloms grid valt terug naar 1 kolom op â¤480px","solution":"Het aanmeldformulier toont de velden nu netjes onder elkaar op kleine telefoonschermen, in plaats van naast elkaar."},{"num":"v2.80","type":"polish","title":"Boekingspagina: extra â¤480px polish voor kleine schermen","solution":"Padding van bp-left, bp-right en bp-card krimpen op â¤480px voor bruikbaarheid op kleine telefoons."},{"num":"v2.79","type":"polish","title":"Alle auto-vertaalde EN/DE/FR sleutels herschreven naar correcte professionele vertalingen","problem":"Delen van de Duitse en Franse teksten in het portaal waren automatisch vertaald en bevatten nog Engelse woorden door elkaar, waardoor gebruikers in Duitsland en Frankrijk soms Engelse tekst zagen.","solution":"Alle Duitse en Franse teksten in het portaal zijn nagelopen en herschreven naar vloeiend, professioneel Duits en Frans, inclusief de juiste maandnamen en een consistente aanspreekvorm."},{"num":"v2.78","type":"feature","title":"Realtime wachtwoord-sterkte-indicator op signup en wachtwoord-reset","problem":"Het signup-formulier en de wachtwoord-reset hadden alleen minLength=8 zonder visuele feedback. Gebruikers wisten niet hoe sterk hun wachtwoord was, en welke verbetering ze konden maken.","solution":"Nieuwe PasswordStrength component met visuele 4-segments balk (zwak â uitstekend) en checklist hints (8+ tekens, hoofdletter, kleine letter, cijfer, speciaal teken). Updates realtime tijdens typen."},{"num":"v2.77","type":"polish","title":"Knop staat nu op de juiste plek: rechtsboven, op één lijn met \"Content\"","problem":"De knop om een reviewlink te delen stond onder de titel \"Content\" in plaats van ernaast.","solution":"De knop staat nu rechts naast de titel, netjes op één lijn. Op mobiel springt hij netjes naar een nieuwe regel."},{"num":"v2.76","type":"bugfix","title":"Modal opent nu altijd in het midden van het scherm","problem":"Het venster om content naar de planner te sturen verscheen soms onderaan de pagina, waardoor je moest scrollen om het te zien.","solution":"Dit venster verschijnt nu altijd gecentreerd in beeld."},{"num":"v2.75","type":"bugfix","title":"Hardcoded Nederlandse en Engelse strings in de modal vertaald","problem":"De modal toonde \"Posts/week:\", \"Stories/week:\" en \"Voorbeelden laden\" altijd in dezelfde taal, ongeacht de geselecteerde taalinstelling. Resultaat: mixed-language UI (bv. Franse modal met Nederlandse tekst).","solution":"Vervangen door tr('canva_posts_per_week'), tr('canva_stories_per_week') en tr('canva_loading_previews') â vertaald in alle 4 talen (NL/EN/DE/FR
2)."},{"num":"v2.74","type":"polish","title":"Review portaal compleet heronworpen naar premium dark design","problem":"Het review portaal zag er generiek en goedkoop uit: witte achtergrond, emoji platform-badges, brede groene knoppen en lege thumbnails.","solution":"Volledig heronworpen naar het Senly design DNA (dark · glassmorphism · teal accenten). Nieuwe elementen: donkere achtergrond met teal radial glow, glass-cards met hover-lift, 2-koloms grid op desktop, grote media-preview bovenaan elke card, gekleurde platform-chips (FB/IG/LI/TT/YT...), geraffineerde teal gradient goedkeuren-knop, ghost afwijzen-knop, verfijnde voortgangsbalk met glow."},{"num":"v2.73","type":"bugfix","title":"Contentplanner post-afbeeldingen worden nu correct geladen","problem":"Voorbeeldafbeeldingen van geplande posts in de contentplanner werden soms niet getoond.","solution":"Afbeeldingen in de contentplanner worden nu altijd correct geladen."},{"num":"v2.72","type":"polish","title":"Beslissing herzien werkt nu correct","problem":"De \"Beslissing wijzigen\" knop resettte alleen lokale state, zonder de server te informeren.","solution":"Status wordt nu lokaal teruggedraaid naar \"te beoordelen\" zodat de knoppen opnieuw verschijnen. De volgende beslissing wordt dan correct via PATCH gepersisteerd."}]},{"date":"2026-05-22","version":"v2.71","clV":"v2.67","title":"Review portaal: geplande posts reviewen en goedkeuren, Vertalingen: klanttabs, secties en Google Drive volledig vertaald & 45 meer","items":[{"num":"v2.71","type":"feature","title":"Review-link toont nu posts rechtstreeks vanuit de contentplanner","problem":"Het reviewportaal liet klanten alleen losse conceptposts zien, niet de posts die al in de planner stonden.","solution":"Je kunt nu kiezen of een reviewlink posts uit de contentplanner toont of losse conceptposts, met een instelbare periode. Goedkeuringen en afwijzingen met feedback komen direct bij jou terecht."},{"num":"v2.70","type":"feature","title":"Multi-platform badges en media thumbnail in de review-kaart","solution":"Cross-posts (bijv. Instagram + Facebook + LinkedIn tegelijk) tonen nu alle platforms als kleine emoji-badges naast de primaire platform-chip. Posts met een afbeelding tonen een thumbnail. De status (Concept / Ingepland / Gepubliceerd) is zichtbaar als kleurgecodeerde chip."},{"num":"v2.69","type":"feature","title":"Bron-selector en datumrange-picker in de \"Deel review-link\" modal","solution":"Bij het aanmaken van een review-link kies je nu eerst de bron: Contentplanner of Interne posts. Bij de contentplanner stel je een van/tot datumperiode in (standaard: vandaag + 60 dagen). Als de contentplanner niet gekoppeld is aan de klant is die optie uitgeschakeld."},{"num":"v2.68","type":"infra","title":"Prisma schema: 3 nieuwe velden op ClientReviewSession","solution":"Ondersteunt de nieuwe reviewlink-functie: je kunt kiezen tussen posts uit de planner of losse conceptposts, met een instelbare periode, en beoordelingen worden bewaard."},{"num":"v2.67","type":"bugfix","title":"Klanttabs (\"Overzicht\", \"Taken\", \"Content\", \"Klantinfo\", \"Financieel\") vertaald","problem":"De tabs op de klant-detailpagina gebruikten hardcoded Nederlandse labels in een server component, waardoor ze nooit meeveranderden met de taalinstelling.","solution":"Tabs gebruiken nu labelKey in plaats van label. ClientTabs vertaalt ze client-side via useLanguage()."},{"num":"v2.66","type":"bugfix","title":"Sectietitels \"Content\", \"Klantinfo\" en \"Evaluatiegesprekken\" vertaald","problem":"Drie sectie-headers in ClientPageSections.tsx waren hardcoded in het Nederlands.","solution":"Vervangen door tr('tab_content'), tr('cp_clientinfo_title') en tr('cp_evaluations_title') / tr('cp_evaluations_count') via de bestaande useLanguage() hook."},{"num":"v2.65","type":"bugfix","title":"Google Drive foutmelding toonde server-gegenereerde Nederlandse tekst","problem":"De GDrive sectie toonde {data.message || tr('gdrive_no_folder')} â de server stuurde altijd een Nederlandse foutmelding die de client-side vertaling overschreef.","solution":"data.message verwijderd uit de render; de component toont nu uitsluitend de vertaalde tr('gdrive_no_folder') key."},{"num":"v2.64","type":"feature","title":"~98 hardcoded Nederlandse strings vervangen door tr()-calls in 4 pagina's","problem":"Een aantal pagina's in het portaal, waaronder het activiteitenoverzicht en de affiliate-beheerpagina, toonden altijd Nederlandse tekst, ongeacht je taalinstelling.","solution":"Deze pagina's zijn nu volledig vertaald naar alle beschikbare talen en volgen automatisch je taalinstelling."},{"num":"v2.63","type":"polish","title":"Review-header toont nu bureau-logo (of naam-pill) + klant-initiaal avatar","problem":"De header gebruikte het client.icon veld als <img> src, maar dat veld bevat een emoji of icon-naam â geen URL. Resultaat: een kapotte afbeelding.","solution":"Header gesplitst in twee lagen: een smalle witte topbalk met het bureau-logo (Tenant.logoLightUrl / logoUrl) of bureau-naam, en een teal hero-balk met een letter-avatar (eerste letter klant-naam in halftransparante cirkel). Geen afhankelijkheid meer van client.icon als afbeelding."},{"num":"v2.62","type":"feature","title":"Agency logo wordt nu meegestuurd vanuit de API","solution":"GET /api/review/[token] geeft nu ook agency.logo terug (Tenant.logoLightUrl of logoUrl). Zodra je in de Tenant-instellingen een logo uploadt, verschijnt het automatisch op alle review-pagina's."},{"num":"v2.61","type":"bugfix","title":"KPI-raster stond op desktop-breedte vast op mobiel door !important-conflict","problem":"Op mobiel werden statistiekkaarten te smal weergegeven doordat de mobiele lay-out per ongeluk werd overschreven.","solution":"Statistiekkaarten passen zich weer correct aan op telefoon en tablet."},{"num":"v2.60","type":"polish","title":"Touch-targets vergroot naar WCAG-minimum (44Ã44px)","problem":"De sluitknoppen van de mobiele navigatie (36px) en het instellingenpaneel (32px) lagen onder het WCAG-minimum van 44Ã44px, waardoor ze op touchscreens moeilijk te raken waren.","solution":"Beide knoppen aangepast naar 44Ã44px."},{"num":"v2.59","type":"polish","title":"CRM kanban: scroll-snap op mobiel/tablet voor soepele swipe","problem":"Het CRM-bord scrolde op telefoon en tablet niet soepel: kolommen stopten vaak halverwege in beeld.","solution":"Vegen door het CRM-bord voelt nu vloeiend aan â kolommen klikken netjes vast, met steeds een stukje van de volgende kolom zichtbaar."},{"num":"v2.58","type":"bugfix","title":"CRM detail-pane niet breder dan viewport op telefoon","problem":"De klantdetail-pane gebruikte clamp(380px, 42vw, 580px), wat op schermen <380px buiten de viewport stak.","solution":"Breedte veranderd naar clamp(min(380px, 100vw), 42vw, 580px). Op â¤640px nu 100vw (volledig scherm)."},{"num":"v2.57","type":"bugfix","title":"FinanceTabel: data-mobile-label attributen toegevoegd aan alle cellen","problem":"In de financiële tabel op mobiel ontbraken de kolomlabels bij de cijfers, waardoor onduidelijk was wat je zag.","solution":"Alle cijfers in de financiële tabel â omzet, personeel, abonnementen, commissie, winst, marge â tonen nu op mobiel het juiste label."},{"num":"v2.56","type":"polish","title":"WeekGrid kalender: scroll-snap en tablet-breakpoint op 881-1200px","problem":"Op tablets (881-1024px) werden 8 kolommen (tijdbalk + 7 dagen) dichtgepakt zonder scrollhint.","solution":"Nieuw tablet-mediaquery toegevoegd die kolommen smaller maakt (minmax 96px) en scroll-snap inschakelt. Bestaand mobiel breakpoint ook voorzien van scroll-snap."},{"num":"v2.55","type":"bugfix","title":"Kalender filter & datumkiezer popovers overschreden viewport rechts","problem":"De filter-popover (right: 0) en de daterange-popover (left: 50%, transform) konden op smalle schermen buiten de rechterkant van de viewport vallen.","solution":"max-width: min(360px, calc(100vw - 24px)) toegevoegd aan filter-popover. Op â¤640px: daterange-popover anch
2ort nu links (left: 0, transform: none)."},{"num":"v2.54","type":"polish","title":"Maandgrafiek financieel: 2 rijen van 6 op telefoon","problem":"De maandgrafiek toonde 12 vaste kolommen op elk scherm, waardoor staven op telefoon niet leesbaar smal werden.","solution":"Op â¤480px: grid-template-columns: repeat(6, 1fr) zodat 12 maanden in 2 rijen van 6 staan."},{"num":"v2.53","type":"feature","title":"Publiek review-portaal: klanten keuren content goed via unieke link","problem":"Content laten goedkeuren door klanten verliep via WhatsApp of e-mail, zonder overzicht per klant.","solution":"Klanten kunnen nu via een unieke link zelf hun conceptposts bekijken, goedkeuren of afwijzen met feedback â zonder in te loggen. Jij ziet de beslissingen direct terug in je dashboard."},{"num":"v2.52","type":"feature","title":"\"Deel review-link\" knop in de klant-Content-sectie","solution":"Managers kunnen vanuit het dashboard een review-sessie aanmaken: optionele titel, begeleidend bericht en geldigheidsperiode (7â90 dagen). De gegenereerde link is direct te kopiëren."},{"num":"v2.51","type":"feature","title":"Review-UI: voortgangsbalk, filtermenu en status-badges","solution":"De review-pagina toont een live voortgangsbalk (x van y beoordeeld), filtermenu (alle / te beoordelen / goedgekeurd / afgewezen), platform-gradiënt-badges, uitklap-caption, hashtag-chips, visuele briefing en een \"Kopieer tekst\" knop. Op mobiel volledig responsief."},{"num":"v2.50","type":"infra","title":"Prisma-model ClientReviewSession toegevoegd","solution":"Legt de basis voor het reviewportaal: elke reviewlink is uniek, gekoppeld aan de juiste klant, met een optionele selectie van posts en een vervaldatum."},{"num":"v2.49","type":"polish","title":"Duits en Frans compleet: alle 3.182 sleutels nu aanwezig","problem":"DE en FR misten 142 sleutels (dashboard widgets, statistieken, social-account koppeling, tools, kalender-filters). Gebruikers in deze talen zagen de sleutelnaam i.p.v. een vertaling.","solution":"Alle 142 ontbrekende sleutels vertaald en ingevoegd in de DE en FR locale-blokken. Alle 4 talen (NL/EN/DE/FR) zijn nu 100% compleet."},{"num":"v2.48","type":"bugfix","title":"Instagram downloader werkt nu via snapinsta.app proxy","problem":"Railway's IP-reeksen worden geblokkeerd door Instagram, waardoor yt-dlp altijd faalde.","solution":"Zelfde VM-sandbox aanpak als de Facebook-downloader (snapsave), nu voor snapinsta.app. Extractie van directe CDN-URLs zonder Railway-IP-blokkade."},{"num":"v2.47","type":"bugfix","title":"YouTube downloader: iOS-client bypass voor yt-dlp","problem":"Het downloaden van YouTube-video's binnen het portaal werkte niet meer doordat YouTube striktere controles doorvoerde.","solution":"Verholpen: video's van YouTube kunnen weer gedownload worden."},{"num":"v2.46","type":"bugfix","title":"Snapchat: short-URL resolver + betere user-agent","problem":"snapchat.com/t/... short-URLs werden niet omgezet voordat ze naar yt-dlp gingen.","solution":"Redirect wordt nu gevolgd zodat yt-dlp de volledige Spotlight-URL krijgt. Mobiele user-agent ingesteld voor betere compatibiliteit."},{"num":"v2.45","type":"bugfix","title":"LinkedIn: duidelijke foutmelding bij auth-wall","problem":"LinkedIn blokkeert server-IPs met een login-wall. Generieke foutmelding gaf geen richting.","solution":"Platform-specifieke foutmelding met instructie om de video rechtstreeks vanuit LinkedIn te downloaden."},{"num":"v2.44","type":"bugfix","title":"Proxy-whitelist uitgebreid met nieuwe CDN-domeinen","problem":"snapinsta.app, media.licdn.com en snap-video.net ontbraken in de proxy-whitelist.","solution":"ALLOWED_CDN_HOSTS bijgewerkt zodat nieuwe video-URLs correct geproxied worden."},{"num":"v2.43","type":"bugfix","title":"Navigatie ontbrak op tablet (769â1024px)","problem":"De sidebar verdween al vanaf 1024px, maar de hamburger/topbar verschenen pas onder 900/768px â daartussen was er geen enkele navigatie.","solution":"Topbar en hamburger verschijnen nu vanaf 1024px, gelijk met het verdwijnen van de sidebar."},{"num":"v2.42","type":"bugfix","title":"E-mail inbox was onbruikbaar op mobiel","problem":"Onder 768px werden de mappen- én threadkolom verborgen, waardoor alleen een leeg leesvenster overbleef.","solution":"Mappen, threads en lezer worden nu netjes onder elkaar getoond (mappen als scrollbare strip), zodat je op mobiel volledig kunt mailen."},{"num":"v2.41","type":"polish","title":"Tool-detailpagina's ruimer op mobiel","solution":"Smallere zijmarges op kleine schermen voor meer content-breedte."},{"num":"v2.40","type":"polish","title":"Brede admin-tabellen scrollbaar op mobiel/tablet","solution":"Social-accounts bulk-tabel en affiliate-tabellen kappen niet meer af maar scrollen horizontaal."},{"num":"v2.39","type":"feature","title":"Trend radar is nu een werkende tool","problem":"Trend radar was een lege placeholder (\"binnenkort beschikbaar\") terwijl hij wel als tool werd getoond.","solution":"Werkende AI-versie: geef je niche + platform op en krijg 8 opkomende/hete content-formats met momentum, uitleg en een concreet voorbeeld."},{"num":"v2.38","type":"bugfix","title":"Username checker geeft geen valse uitslagen meer","problem":"Voor X, Pinterest, Reddit en Facebook gaf de check vaak onterecht \"bezet\" of \"vrij\" (JS-shells, bot-walls, login-redirects).","solution":"Die platforms tonen nu eerlijk \"onbekend â open de link om te controleren\" i.p.v. een misleidende uitslag. Instagram, TikTok, YouTube en Snapchat blijven betrouwbaar gecheckt. Geldt ook voor de username generator."},{"num":"v2.37","type":"bugfix","title":"Content ideeën kapt niet meer af bij lange AI-calls","solution":"maxDuration op 60s gezet zodat de generatie niet vroegtijdig door het platform wordt afgebroken."},{"num":"v2.36","type":"polish","title":"Geen zichtbare horizontale scrollbalk meer op de pipeline-boards","solution":"Scrollbalk verborgen op het kanban-board (CRM/Leads én Onboarding/Flows); horizontaal scrollen blijft mogelijk via swipe/trackpad."},{"num":"v2.35","type":"polish","title":"CRM-content schuift naar links, gelijk aan het linker uiteinde van de horizontale scrollbalk","problem":"De header en pipeline-kolommen hadden 40px linker-pad
2ding, terwijl de horizontale scrollbalk al op de board-rand begon â dat zag er niet uitgelijnd uit.","solution":"Linker-padding van header en board verwijderd zodat de content netjes op één verticale lijn met het linker uiteinde van de scrollbalk staat."},{"num":"v2.34","type":"polish","title":"Geen zichtbare scrollbalk meer onder de aanbevolen-tools","solution":"De horizontale scrollbalk is verborgen; scrollen gaat via de â¹ âº-pijltjes of een swipe."},{"num":"v2.33","type":"bugfix","title":"Witte strook tussen de menubalk en de hero-achtergrond weg","problem":"De achtergrond-wash zat binnen de 28px horizontale padding van de content-zone, waardoor er een witte rand tegen de menubalk overbleef.","solution":"De tools-pagina breekt nu uit die padding (margin/padding -28px) zodat de achtergrond tot de menubalk en de rechterrand loopt; de content blijft op z'n plek."},{"num":"v2.32","type":"polish","title":"High-end hover-animatie op elk tool-icoon","solution":"Bij hover maakt het icoon (carousel én tabel, inclusief de downloader-logo's) een vloeiende 360°-draai met een lichte schaal-pop en kleur-glow. Premium easing met subtiele overshoot; respecteert prefers-reduced-motion."},{"num":"v2.31","type":"polish","title":"Titel-gewicht gelijk aan de Takenbeheer-titel","solution":"Het lettergewicht van deze titel is gelijkgetrokken met de titel bij Takenbeheer, voor een consistente uitstraling."},{"num":"v2.30","type":"bugfix","title":"Bovenkant van de aanbevolen-kaarten werd afgesneden","problem":"De horizontale scroll-container clipte ook verticaal, waardoor de hover-lift en schaduw bovenaan wegvielen.","solution":"Verticale padding toegevoegd aan de carousel-track zodat de kaarten en hun schaduw volledig zichtbaar blijven."},{"num":"v2.29","type":"polish","title":"Echte platform-logo's voor de downloader-tools","problem":"De downloaders (Instagram, Facebook, TikTok, YouTube, LinkedIn, Snapchat) toonden een grijze placeholder.","solution":"Nu het echte merklogo op de platform-kleur, met een klein download-badge."},{"num":"v2.28","type":"polish","title":"Overbodige meta-regel in de hero weggehaald","solution":"\"23 tools · 9 platforms · geen registratie\" verwijderd voor een rustiger hero."},{"num":"v2.27","type":"polish","title":"Achtergrond van de Tools-hero opgeschoond","problem":"De drie losse gekleurde orbs gaven een vlekkerige wash met een zichtbare overgang naar wit halverwege de pagina.","solution":"Vervangen door één samenhangende, subtiele gradient die via een mask naadloos uitfadet in de pagina-achtergrond."},{"num":"v2.26","type":"feature","title":"Nieuwe Tools-pagina: hero, aanbevolen-carousel, categorie-chips en overzichtstabel","problem":"Het oude tools-overzicht was een lange reeks losse grids zonder duidelijk overzicht of zoekflow.","solution":"Frisse layout met een hero (\"Slimme tools, maximale impact\"), een \"Aanbevolen voor jou\"-carousel, klikbare categorie-chips als filter en alle 23 tools in een doorzoekbare tabel met categorie-badges."},{"num":"v2.25","type":"feature","title":"Tool aanvragen","solution":"Mis je een tool? Via de knop \"Tool aanvragen\" dien je er een in; aanvragen worden opgeslagen en verschijnen onder het tabblad \"Aangevraagde tools\" met een status (in behandeling / gepland / toegevoegd / afgewezen)."},{"num":"v2.24","type":"infra","title":"ToolRequest-model + API","solution":"Bureaus kunnen nu tools aanvragen; elk bureau ziet alleen de eigen aanvragen terug."},{"num":"v2.23","type":"feature","title":"Internet snelheidstest","solution":"Meet download, upload, ping en jitter tegen de Senly-server â zo weet je of je vanaf je locatie vlot kunt werken."},{"num":"v2.22","type":"feature","title":"Storingen checker voor social platforms","solution":"Checkt bereikbaarheid van Instagram, Facebook, WhatsApp, Threads, TikTok, YouTube, X, LinkedIn, Snapchat en Pinterest, met directe link naar de officiële statuspagina."},{"num":"v2.21","type":"feature","title":"Gratis, permanente QR-code generator","solution":"Genereert QR-codes die de URL direct bevatten (geen redirect, verloopt nooit), met kleur- en formaatopties en PNG/SVG-download."},{"num":"v2.20","type":"feature","title":"AI Bio generator","solution":"Schrijft vier bio-varianten binnen de tekenlimiet van Instagram, TikTok, LinkedIn, Facebook, X of YouTube, met instelbare toon en emoji."},{"num":"v2.19","type":"feature","title":"Username generator met beschikbaarheidscheck","solution":"AI bedenkt tien handles op basis van naam, niche en stijl; één klik checkt of ze nog vrij zijn op de grote platforms."},{"num":"v2.18","type":"feature","title":"Viral hook analyzer","solution":"Scoort je openingszin op scroll-stop, nieuwsgierigheid, dui
2delijkheid en emotie, met sterke/zwakke punten en drie verbeterde varianten."},{"num":"v2.17","type":"polish","title":"Nieuwe categorie \"Handige hulpmiddelen\" op de Tools-pagina","solution":"Snelheidstest, storingen checker en QR-generator gebundeld; bio + hook analyzer onder Schrijven & ideeën, username generator onder Analyse & onderzoek."},{"num":"v2.16","type":"polish","title":"Inloggen / Registreren en de taalknop staan nu rechts uitgelijnd, met witruimte tot het logo","problem":"Op mobiel stonden de inlog-, registreer- en taalknop niet netjes tegen de rechterkant uitgelijnd.","solution":"Deze knoppen staan nu rechts uitgelijnd, met het logo links en ruimte ertussen, ook op mobiel."},{"num":"v2.15","type":"polish","title":"Logo + Senly staat nu even ver van de linkerrand als de NL-knop van de rechterrand","problem":"De nav-inner had asymmetrische padding (links 24px, rechts 14px) waardoor het logo verder van de rand stond.","solution":"Op mobiel padding gelijkgetrokken naar 12px 16px voor een symmetrische uitlijning."},{"num":"v2.14","type":"bugfix","title":"Witte balk onder de login-card op mobiel verdwenen","problem":"html[data-theme=\"light\"] body stelde een lichte achtergrond in die buiten de login-container zichtbaar was als de body verder reikte dan 100dvh.","solution":"html:has(.login-screen-v2) body achtergrond geforceerd naar #070a0f op mobiel; padding-top verhoogd naar 80px zodat de card iets lager staat."},{"num":"v2.13","type":"polish","title":"Login-card staat nu in het midden van het scherm op mobiel","solution":"align-items: center op de container zodat de card verticaal gecentreerd staat, met padding-top voor de Terug-knop."},{"num":"v2.12","type":"polish","title":"Marges van hero, nav, CTA en metrics-balk teruggebracht van 14px naar 6px op mobiel","problem":"De hero en nav hadden 14px marge aan alle kanten waardoor de content er \"ingekaderd\" uitzag op mobiel.","solution":"margin: 6px op hero-v2, nav-offset 6px, border-radius iets kleiner â meer schermvullend zoals socialmediatools.nl."},{"num":"v2.11","type":"bugfix","title":"Card is nu auto-height, achtergrond vult de rest van het scherm","problem":"min-height: 100dvh op de card zelf maakte hem veel groter dan de content. Wit onder de card was de body-achtergrond die doorscheen.","solution":"Shell is height: auto, container is 100dvh met dark gradient â card zit bovenaan, de rest van het scherm toont de donkere achtergrond."},{"num":"v2.10","type":"bugfix","title":"Formulier begint direct bovenaan zonder grote lege ruimte","problem":"justify-content: center + margin-top: 64px op de form-card creëerde een grote lege witte ruimte boven BEDRIJFSPORTAAL.","solution":"justify-content: flex-start + margin-top: 16px op mobiel zodat de content direct na de padding begint."},{"num":"v2.09","type":"bugfix","title":"Mobiel-logo (lp-form-mobile-logo) verborgen op mobiel/tablet","problem":"Het SMT-logo flikkerde 1 seconde bij het openen van de loginpagina op mobiel, omdat lp-form-mobile-logo in de media query op display: flex stond.","solution":"display: none gezet op lp-form-mobile-logo in de mobiele breakpoint â het logo is niet nodig nu de linkerkolom ook verborgen is."},{"num":"v2.08","type":"bugfix","title":"Login-card vult nu altijd de volledige schermhoogte op mobiel","problem":"Zonder de linkerkolom was de card korter dan het scherm, waardoor de witte body-achtergrond zichtbaar was onder de card.","solution":"min-height: calc(100dvh - 32px) op de lp-shell zodat de card altijd tot de onderkant doorloopt."},{"num":"v2.07","type":"polish","title":"Branding-kolom verdwijnt op mobiel en tablet â alleen het inlogformulier getoond","solution":"display: none op .lp-brand bij max-width: 980px zodat het formulier de volledige breedte krijgt."},{"num":"v2.06","type":"polish","title":"Oog-icoon in wachtwoordveld is nu een consistente SVG op alle apparaten","problem":"Het oog-icoon om je wachtwoord te tonen zag er op elk apparaat anders uit.","solution":"Dit icoon oogt nu overal hetzelfde, op desktop, tablet en mobiel."},{"num":"v2.05","type":"polish","title":"Metrics op homepage aangepast","solution":"De cijfers op de homepage zijn bijgewerkt: 3
200+ bureaus en 2.500+ gebruikers."},{"num":"v2.04","type":"polish","title":"Beide nav-knoppen op mobiel krijgen een vaste height: 36px","problem":"Font-size en line-height verschilden tussen de twee knoppen waardoor ze nooit exact even hoog waren.","solution":"Expliciete height: 36px op beide knoppen zodat ze altijd identiek van hoogte zijn, ongeacht font-rendering."},{"num":"v2.03","type":"bugfix","title":"Checkmarks stonden te laag naast de bullets in de CTA-sectie op mobiel","problem":"Oude mobiele overrides (margin-top: 2px + align-items: flex-start) waren bedoeld voor een enkelvoudige lange tekstregel en duwden de checkmarks nu onnodig omlaag.","solution":"align-items: center hersteld en margin-top: 0 zodat checkmarks perfect verticaal gecentreerd staan naast elke bullet."},{"num":"v2.02","type":"bugfix","title":"Tekst in support-tooltip niet meer afgekapt door de sluitknop","problem":"De absoluut gepositioneerde sluitknop viel over de bodytekst heen, waardoor \"Ons supportteam staat voor je klaar\" aan het einde werd afgekapt.","solution":"Tooltip breder (272px) en extra padding-right (36px) zodat de tekst nooit onder de knop verdwijnt."},{"num":"v2.01","type":"bugfix","title":"Sluitknop tooltip is nu een perfect rondje op iOS Safari","problem":"iOS Safari renderde de sluitknop als een ovaal/ei-vorm.","solution":"aspect-ratio: 1/1 + min-width/min-height + -webkit-appearance: none toegevoegd."},{"num":"v2.00","type":"bugfix","title":"Drie losse bullets onder de CTA-knoppen i.p.v. één lange zin","problem":"De lange tekst \"Geen creditcard · 14 dagen full access · Opzeggen wanneer je wilt\" als inline-flex met één checkmark brak raar af op mobiel.","solution":"Opgesplitst in 3 afzonderlijke items elk met eigen check-icoon en white-space: nowrap, zodat ze netjes wrappen zonder de checkmark te splitsen van de tekst."},{"num":"v1.99","type":"polish","title":"NL taalknop in de mobiele nav heeft nu dezelfde hoogte als \"Inloggen / Registreren\"","problem":"De NL-knop had een vaste height: 34px en zag er daardoor ronder/ovaler uit dan de CTA-knop.","solution":"height: auto + zelfde top/bottom padding als de CTA-knop zodat beide knoppen even slank ogen."},{"num":"v1.98","type":"bugfix","title":"Tabel op privacybeleid-pagina scrollt horizontaal op mobiel","problem":"`display: block; overflow-x: auto` op een <table> werkt niet betrouwbaar in mobile Safari â de pagina scrollde mee in plaats van de tabel.","solution":"Tabel verpakt in een <div class=\"sn-table-scroll\"> wrapper met overflow-x: auto; de tabel zelf heeft min-width: 480px zodat hij altijd leesbaar blijft."},{"num":"v1.97","type":"feature","title":"Swipe links/rechts om categorie te wisselen op mobiel","solution":"onTouchStart/onTouchEnd handlers toegevoegd aan de stage; swipe >30px schakelt naar volgende of vorige categorie."},{"num":"v1.96","type":"bugfix","title":"Ronde hoeken op carousel-kaarten nu zichtbaar op iOS/mobiel","problem":"overflow: hidden op de .sn-bc-stage knipt border-radius van 3D-getransformeerde kaarten weg in Safari.","solution":"overflow: hidden van stage verwijderd (blijft op section); -webkit-transform: translateZ(0) forceert GPU-compositing voor correcte border-radius."},{"num":"v1.95","type":"bugfix","title":"Prijstiers gecorrigeerd: EUR â¬50/â¬40, USD $60/$50","problem":"Er waren ten onrechte 3 EUR-schijven (â¬70/â¬50/â¬40) in plaats van 2.","solution":"1â20 klanten: â¬50/klant (of $60/client); 21+ klanten: â¬40/klant (of $50/client)."},{"num":"v1.94","type":"polish","title":"CTA-eyebrow tekst staat nu midden in de pill","problem":"Zonder expliciete line-height gebruikte de browser ~1.4, waardoor de tekst te hoog in de badge hing.","solution":"line-height: 1 + asymmetrische padding (7px boven, 6px onder) zodat de tekst optisch gecentreerd staat."},{"num":"v1.93","type":"bugfix","title":"\"SENLY\" in tabelkop volledig zichtbaar op smalle schermen","problem":"Bij â¤560px/420px kregen de kolomkoppen 18px padding terwijl de kolom maar 70px/58px breed was â \"SENLY\" viel buiten de kolom en werd door overflow:hidden afgeknipt.","solution":"Kleinere padding + letter-spacing + font-size voor .sn-vs-row-head span op smalle breakpoints."},{"num":"v1.92","type":"feature","title":"Drie EUR-tariefschijven zichtbaar op registratiepagina","problem":"Alleen het â¬70-tarief was zichtbaar; â¬50 (11-20 klanten) en â¬40 (21+) ontbraken.","solution":"Tier-kaartjes toegevoegd die actief oplichten op basis van de slider. Berekening aangepast naar drie schijven (â¬70 / â
2¬50 / â¬40)."},{"num":"v1.91","type":"feature","title":"USD-prijzen voor Engelstalige bezoekers ($60 / $50)","solution":"useLanguage locale gebruikt: EN â USD ($60 basis, $50 bij 21+), overige talen â EUR."},{"num":"v1.90","type":"bugfix","title":"\"â Terug\" knop nu wit op de donkere achtergrond","problem":"Knop had kleur #475569 (donkergrijs) wat onleesbaar was tegen de donkere gradient-achtergrond.","solution":"Kleur gewijzigd naar rgba(255,255,255,0.85) zodat hij zichtbaar is op de donkere achtergrond."},{"num":"v1.89","type":"polish","title":"\"Inloggen / Registreren\" terug in nav op mobiel","solution":"Knop was verborgen op â¤980px; nu zichtbaar met compactere padding (9px 13px) zodat [S Senly] + [Inloggen] + [NL] naast elkaar passen."},{"num":"v1.88","type":"bugfix","title":"\"Klaar om te schalen?\" nu gecentreerd op mobiel","problem":"Eyebrow-badge stond niet gecentreerd en had te veel ruimte erboven op kleine schermen.","solution":"display: block + margin: auto + width: fit-content op .sn-cta-eyebrow; padding-top van de card teruggebracht van 48px naar 36px."},{"num":"v1.87","type":"bugfix","title":"Checkmark naast \"Geen creditcard\" niet meer langwerpig of verschoven","problem":"Icoon rekte mee met de gewrapte tekst in het flex-item en stond niet op de juiste positie.","solution":"align-items: flex-start op .sn-cta-foot + flex-shrink: 0 en margin-top: 2px op .sn-cta-check."},{"num":"v1.86","type":"polish","title":"Bureau-scan popup verborgen op mobiel","problem":"De bureau-scan popup overlapte de support-chat widget op schermen â¤768px.","solution":"display: none op .optquiz-wrap via 768px media query."},{"num":"v1.85","type":"polish","title":"\"Senly\" tekst zichtbaar naast logo op mobiel","problem":"\"Senly\" was verborgen op mobiel zodat de CTA en NL zouden passen, maar de gebruiker wil het logo-woord zien.","solution":"CTA \"Inloggen / Registreren\" verborgen in de nav op mobiel (â¤980px) â de loginknop zit al in de hero zelf. Zo past [S Senly] + [NL] netjes gecentreerd."},{"num":"v1.84","type":"polish","title":"\"NL\" netjes gecentreerd in de taalknop","solution":"Asymmetrische padding (0 9px 0 12px) vervangen door symmetrisch (0 10px) + justify-content: center zodat NL + chevron visueel gecentreerd staan."}]},{"date":"2026-05-21","version":"v1.83","clV":"v2.17","title":"Nav-items gecentreerd op mobiel, Slider-indicator als streepje + CTA-tekst op één regel & 42 meer","items":[{"num":"v1.83","type":"polish","title":"Logo + CTA + NL staan nu gecentreerd in de nav op mobiel","problem":"Op mobiel stond het logo uiterst links en de twee actie-knoppen uiterst rechts (justify-content: space-between met een lege tussenruimte doordat de nav-links verborgen zijn).","solution":"Nav-inner omgezet naar justify-content: center op â¤980px. Logo-tekst \"Senly\" verborgen zodat alleen het S-icoon toont. CTA-knop compacter (13px, kleinere padding). De drie items staan nu als één gecentreerde groep."},{"num":"v1.82","type":"polish","title":"Actieve slide-indicator is nu een dun gekleurd streepje","problem":"De actieve dot was een dik ovaal bolletje (8px hoog, 28px breed) â te opvallend en niet passend bij het design.","solution":"Alle dots nu 3px hoog zodat het dunne streepjes zijn. Actief streepje is 32px breed met gradient, inactief 20px lichtgrijs."},{"num":"v1.81","type":"bugfix","title":"\"Begin met één.\" breekt niet meer over twee regels op mobiel","solution":"white-space: nowrap toegevoegd op de em-tag zodat \"Begin met één.\" altijd op één regel blijft."},{"num":"v1.80","type":"bugfix","title":"Teal/blauwe glitch in hoeken van hero-sectie op mobiel","problem":"iOS Safari clipt overflow:hidden + border-radius niet betrouwbaar voor z-index:-1 elementen. De orb-glows lekten door de afgeronde hoeken van de hero-kaart.","solution":"-webkit-mask-image toegevoegd op de hero om correcte GPU-compositing te forceren. Tevens bg-inset van -80px naar 0 gezet zodat orbs niet boven de kaartgrens uitsteken."},{"num":"v1.79","type":"polish","title":"Hero-kaart toont nu rondom witruimte op mobiel","problem":"De hero-sectie had margin: 14px 14px 0 â geen ondermarge â waardoor de kaart onderaan doorliep tot de rand van het scherm zonder witte rand.","solution":"Ondermarge toegevoegd (margin: 14px aan alle kanten) en bottom padding verkleind van 90px naar 48px op â¤768px zodat de kaart mooi als een floating card binnen het scherm valt."},{"num":"v1.78","type":"bugfix","title":"integraties.css had nul media queries â volledig opgelost","solution":"De knoppen op de integratiepagina passen zich nu netjes aan o
2p mobiel."},{"num":"v1.77","type":"polish","title":"Nav en footer verfijnd op klein scherm","solution":"Nav-inner krijgt minder marge en padding op <480px. Footer-bottom wordt gecentreerd gestapeld op <480px."},{"num":"v1.76","type":"bugfix","title":"Partners: \"featured\" tier-card offset verwijderd op mobiel","problem":"De translateY(-8px) op de featured commissie-kaart gaf een vreemde layout als de grid naar 1-kolom stapelt.","solution":"Offset uitgeschakeld op â¤768px, hover-animatie blijft actief."},{"num":"v1.75","type":"bugfix","title":"CRM-contactenzoekbalk toonde een wit kader achter de tekst","problem":"In het lichte thema kreeg het zoekveld een witte achtergrond en rand van de globale formulier-stijl, waardoor er een wit blokje achter de placeholder-tekst stond binnen de grijze zoekbalk.","solution":"Het zoekveld is nu transparant zonder rand, zodat het netjes in de grijze pill valt."},{"num":"v1.74","type":"polish","title":"Volledige footer (Product · Hulpmiddelen · Bedrijf) nu op elke pagina","problem":"De homepage had de rijke 3-koloms footer, maar de sub-paginaâs (FAQ, Integraties, Vergelijk, Helpcentrum, Contact, Over ons, Blog, Security en de juridische paginaâs) toonden een simpele, afwijkende footer.","solution":"Eén gedeelde SiteFooter-component gebouwd en op alle paginaâs toegepast â identieke kolommen, links en bottom-bar, met taalondersteuning en sectie-links die vanaf sub-paginaâs naar de homepage verwijzen."},{"num":"v1.73","type":"polish","title":"Hint met aanbevolen logo-formaat onder de upload-knop","problem":"Bij het uploaden van een logo voor de boekingspagina was niet duidelijk welk formaat het beste werkt.","solution":"Hint toegevoegd: liggend logo van ca. 280 à 80 px (PNG met transparante achtergrond), wordt getoond op max. 56 px hoog."},{"num":"v1.72","type":"bugfix","title":"Taalvoorkeur werd niet onthouden tussen homepage en sub-paginaâs","problem":"De homepage sloeg de taal op onder âsenly-langâ en de sub-paginaâs onder âsenly_langâ â twee verschillende sleutels, dus de keuze ging verloren bij navigeren.","solution":"Beide gebruiken nu dezelfde sleutel (senly-lang). Een taalkeuze blijft overal behouden."},{"num":"v1.71","type":"polish","title":"Login- en signup-kaartje weer wit, achtergrond blijft donker-teal","problem":"Het inlogscherm was volledig donker, wat als te donker werd ervaren.","solution":"Het inlog- en registratiekaartje is weer wit met donkere tekst, terwijl de achtergrond eromheen de donkere teal-uitstraling behoudt."},{"num":"v1.70","type":"feature","title":"Ingelogd blijven via \"Onthoud mij\"","problem":"Er was geen keuze om wel of niet ingelogd te blijven na het inloggen.","solution":"Checkbox \"Onthoud mij\" toegevoegd (standaard aan). Aangevinkt blijf je 30 dagen ingelogd; uitgevinkt verloopt de sessie na 1 dag. De keuze stuurt de geldigheidsduur van de JWT via een variabele maxAge. Het wachtwoord zelf wordt nooit opgeslagen â dat regelt de browser-wachtwoordmanager."},{"num":"v1.69","type":"polish","title":"Login-accentkop en achtergrondgrid in homepage-stijl","problem":"De login miste de signatuur van de homepage-hero (gradient-kop en zichtbaar grid).","solution":"De accent-tekst in de login-kop kreeg dezelfde tealâblauw gradient als de hero en het achtergrondgrid is verfijnd zichtbaarder gemaakt (zoals de hero), terwijl het geheel strak en zakelijk blijft."},{"num":"v1.68","type":"polish","title":"Menu-items staan nu in het midden van de navbar","problem":"Met flex/space-between stonden de links iets links van het midden, afhankelijk van de breedte van logo en knoppen.","solution":"Navbar omgezet naar een 3-koloms grid (1fr auto 1fr) zodat de links altijd exact gecentreerd staan, ongeacht de breedte van logo en actieknoppen."},{"num":"v1.67","type":"polish","title":"NL/EN/DE/FR samengevouwen tot een nette dropdown","problem":"Alle vier de talen stonden los naast elkaar in de navbalk, wat ruimte innam en rommelig oogde.","solution":"Compacte trigger met de huidige taal + chevron; klik klapt een dropdown uit met alle talen. Sluit bij keuze, klik-buiten of Escape, met vloeiende animatie."},{"num":"v1.66","type":"polish","title":"Inlog- en registratiepagina sluiten visueel aan op de homepage","problem":"De auth-pagina's stonden in een licht thema dat botste met de donkere homepage-hero.","solution":"Login, signup en signup-success forceren nu het donkere thema (navy-teal hero-look met lichte tekst en teal accenten). De inlog-knop kreeg de homepage-gradient tealâcyanâblauw (#14b8a6 â #0891b2 â #2563eb)."},{"num":"v1.65","type":"polish","title":"Affiliate (partnerprogramma) staat nu in de footer onder Bedrijf","problem":"Na het verplaatsen van Partners uit de nav stond de affiliate-link nergens meer; alleen Blog stond al in de footer.","solution":"Affiliate-link toegevoegd onder de kolom Bedrijf, verwijst naar /partners."},{"num":"v1.64","type":"polish","title":"Nieuwe nav: Platform, Opties, Onboarding, Concurrentie, Prijzen","problem":"De nav had een dropdown-pijltje bij Platform en bevatte Blog en Partners, terwijl die in de footer thuishoren.","solution":"Pijltje verwijderd, Blog en Partners uit de nav (blijven in footer). Elk item scrollt nu vloeiend naar de juiste sectie op de pagina, met offset zodat de navbalk de titel niet bedekt."},{"num":"v1.63","type":"polish","title":"\"werktempo en kwaliteitswinst\" blijft samen op de tweede regel","solution":"Non-breaking space
2s toegevoegd zodat de woordgroep als blok naar de tweede regel zakt in plaats van halverwege af te breken."},{"num":"v1.62","type":"polish","title":"Senly-cursor met zachte glow, schaduw en vloeiende follow","problem":"De custom cursor gebruikte mix-blend-mode multiply, waardoor het logo dof en nauwelijks zichtbaar werd op de donkere hero.","solution":"Multiply verwijderd; logo krijgt nu een teal drop-shadow + glow-halo met subtiele pulse, volgt de muis vloeiend (lerp) en groeit met intensere glow boven knoppen en links."},{"num":"v1.61","type":"polish","title":"Eyebrow \"Gratis bureau-scan · 2 min\" van bold naar medium","solution":"Het label \"Gratis bureau-scan · 2 min\" oogt nu subtieler en minder nadrukkelijk."},{"num":"v1.60","type":"polish","title":"Titel optimalisatietest-teaser van bold naar semibold","solution":"Fontgewicht van de teaser-titel verlaagd van 700 naar 600 voor een iets fijnere, elegantere uitstraling."},{"num":"v1.59","type":"polish","title":"Workflow getoond als snelheids-multiplier in plaats van percentage boven 100%","problem":"Een score als \"291% workflow optimalisatie\" was niet uitlegbaar en kon ongeloofwaardig overkomen.","solution":"Workflow wordt nu getoond als \"tot 2,9à sneller werken\" (1,2Ãâ2,9Ã), wat intuïtiever en verdedigbaar is."},{"num":"v1.58","type":"polish","title":"Kwaliteitsverbetering weer binnen een geloofwaardige 64â95%","problem":"Percentages boven 100% voor kwaliteit hadden geen natuurlijke betekenis.","solution":"Kwaliteitsverbetering loopt nu van 64% tot 95% met hoge ondergrens, zodat het hoog maar realistisch blijft."},{"num":"v1.57","type":"polish","title":"Disclaimer toegevoegd onder de uitkomst","problem":"De getallen konden als harde belofte worden gelezen.","solution":"Toegevoegd: \"Indicatieve schatting op basis van je antwoorden.\" onder de metrics."},{"num":"v1.56","type":"polish","title":"Teaser-popup verfijnd naar premium uitstraling","problem":"De teaser was een vlakke witte kaart en de ondertitel beloofde alleen uren besparing, terwijl de test meer toont.","solution":"Premium herontwerp: subtiele gradient-kaart met teal accentlijn, eyebrow \"Gratis bureau-scan · 2 min\", solid teal-icoon, gelaagde schaduw en CTA met pijl-animatie. Ondertitel aangepast naar \"ontdek je tijdwinst, werktempo en kwaliteitswinst\" â passend bij de drie resultaten."},{"num":"v1.55","type":"polish","title":"Uitkomst toont uren bespaard per klant per maand","problem":"De besparing stond op weekbasis, terwijl maandbasis aansprekender en gangbaarder is.","solution":"Berekening omgezet naar maandbasis (weekwaarde à 4,33) en label aangepast naar \"bespaard per klant / maand\" (12â47u)."},{"num":"v1.54","type":"polish","title":"Workflow-optimalisatie en kwaliteitsverbetering lopen op tot ~300%","problem":"De percentages waren gemaximeerd rond 95%, wat de potentiële winst onderschatte.","solution":"Scoringsgewichten verruimd: beide metrics lopen nu van ~115% tot ~300%, afhankelijk van de antwoorden."},{"num":"v1.53","type":"polish","title":"Bespaarde uren nu duidelijk per klant per week","problem":"Het label \"bespaard per week\" was dubbelzinnig over of het de hele agency of per klant betrof.","solution":"Berekening en label aangepast naar uren bespaard per klant per week (3â11u), wat concreter en herkenbaarder is."},{"num":"v1.52","type":"polish","title":"Workflow-optimalisatie en kwaliteitsverbetering tonen altijd een hoge score","problem":"Bezoekers die al efficiënt werkten kregen lage uitkomsten (rond 20%), wat weinig motiveerde om Senly te proberen.","solution":"Scoringsgewichten herijkt met een hoge ondergrens: de uitkomst ligt nu altijd tussen ~64% en ~95%, met variatie per antwoord zodat het persoonlijk blijft voelen."},{"num":"v1.51","type":"polish","title":"Gelijkmatig uitdijende pulse-ring met rustpauze","problem":"De ring dijde gelijkmatig uit, maar startte te snel telkens opnieuw.","solution":"Cyclus verlengd naar 5,8s: ring groeit gelijkmatig van 0 naar 24px in de eerste 62%, gevolgd door een korte rustpauze. Een nieuwe ring verschijnt nu elke 2,9s i.p.v. 2,1s."},{"num":"v1.50","type":"bugfix","title":"Optellende getallen op het resultatenscherm tellen nu vloeiend","problem":"De getallen telden schokkerig op via setInterval en flikkerden tussen heel getal en decimaal, wat de animatie liet glitchen.","solution":"Teller herschreven met requestAnimationFrame en een ease-out cubic curve. Het aantal decimalen wordt vastgezet op basis van het einddoel, zodat de breedte niet meer verspringt."},{"num":"v1.49","type":"polish","title":"Gelijkmatig uitdijende pulse-ring","problem":"De ring schoot eerst weg of bleef juist even hangen â geen rustige beweging.","solution":"Eén lineaire keyframe laat de ring gelijkmatig van 0 naar 24px uitdije
2n terwijl hij vervaagt, over 4,2s. Geen hold, gewoon een kalm en constant tempo."},{"num":"v1.48","type":"polish","title":"Quiz volledig herontworpen: fullscreen modal, 10 vragen, framer-motion animaties","problem":"De eerste versie had slechts 3 vragen en een basic uiterlijk zonder premium uitstraling.","solution":"10 vragen in logische volgorde (bureau, tijdsbesteding, tools, organisatie, klantrelatie, beveiliging, uitdaging), fullscreen blurred backdrop, teal category labels, gradient voortgangsbalk met glow-dot, optie-knoppen met radio-dot en hover-animatie, geselecteerde staat met highlight, geanimeerde Counter op resultatenkaarten en gradient CTA-knop."},{"num":"v1.47","type":"polish","title":"Pulserende ring achter chat-knop beweegt kalmer","problem":"De ring pulseerde te snel (elke ~1,2s), wat onrustig oogde.","solution":"Animatieduur verhoogd naar 4,2s met de tweede ring 2,1s verschoven en een zachtere ease-out. Resultaat: een rustige, vloeiende puls."},{"num":"v1.46","type":"polish","title":"Tooltip boven chat-knop: modern kaartje met logo en supporttekst","problem":"De oude tooltip was een platte tekstwolk zonder branding.","solution":"Nieuw compact kaartje (248px) met Senly-logo, \"Heb je een vraag?\" als hoofdtitel en \"Ons supportteam staat voor je klaar\" als subtekst. Sluitknop rechtsboven, verschijnt 3 seconden na cookieconsent."},{"num":"v1.45","type":"feature","title":"Gratis optimalisatietest linksonderin na 10 seconden","problem":"Bezoekers hadden geen directe manier om te zien hoeveel tijd en kwaliteitswinst Senly hen oplevert.","solution":"Popup verschijnt na 10 seconden linksonder op de homepage. Drie vragen (klanten, rapportage-uren, inplan-uren) berekenen persoonlijke uitkomst: bespaard uren/week, workflow-optimalisatie % en kwaliteitsverbetering %. Eenmalig per sessie zichtbaar."},{"num":"v1.44","type":"feature","title":"Cookie-toestemmingsbanner op alle pagina's","problem":"Bezoekers werden niet geïnformeerd over cookies â wettelijk verplicht onder de AVG.","solution":"Vaste balk onderin met \"Accepteren\" en \"Alleen noodzakelijk\". Keuze opgeslagen in localStorage, verschijnt daarna niet meer."},{"num":"v1.43","type":"polish","title":"Tooltip \"Heb je een vraag?\" verschijnt na 3 seconden boven de chat-FAB","solution":"Klikken opent het support-venster; wegklikken slaat de keuze op in sessionStorage."},{"num":"v1.42","type":"feature","title":"Commissie gecorrigeerd van 20% naar 30%","problem":"Code had 20% hardcoded terwijl de partnerpagina 30% belooft.","solution":"DEFAULT_COMMISSION_RATE aangepast naar 30%. Nieuwe referrals krijgen direct het juiste tarief."},{"num":"v1.41","type":"feature","title":"Automatische tier-upgrade naar 40% bij 10+ actieve bureaus","problem":"Geen upgrade-logica aanwezig terwijl dit wel beloofd werd op de partnerpagina.","solution":"Bij elke invoice-betaling wordt het aantal actieve referrals geteld. Zodra een affiliate 10+ actieve bureaus heeft, worden alle actieve referrals automatisch naar 40% opgewaardeerd voor toekomstige betalingen."}]},{"date":"2026-05-18","version":"v1.40","clV":"v0.97","title":"Support chat: AI focust op laatste vraag + handmatig scrollen werkt, Support bot: nette opmaak met alinea's en vetgedrukte termen & 22 meer","items":[{"num":"v1.40","type":"bugfix","title":"AI gaf antwoorden op oude context ipv nieuwe vraag","problem":"De assistent kreeg alle 20 voorgaande berichten mee en raakte verward â als er ergens \"dankjewel\" stond reageerde hij met \"graag gedaan\" op een nieuwe vraag.","solution":"Prompt herstructuur: laatste vraag staat apart als \"actuele vraag\", oude berichten zijn alleen context. Geschiedenis beperkt tot 8 berichten zodat focus op de actuele vraag blijft."},{"num":"v1.39","type":"bugfix","title":"Chat scrolde automatisch terug naar beneden tijdens lezen","problem":"Elke 4 seconden polling sleepte je terug naar het einde van de chat â terugscrollen om iets opnieuw te lezen was onmogelijk.","solution":"Auto-scroll werkt nu alleen als je al onderaan zit (binnen 80px). Scroll je omhoog, dan blijf je waar je bent tot je zelf weer naar beneden gaat."},{"num":"v1.38","type":"polish","title":"Bot-berichten leesbaar opgemaakt","problem":"Antwoorden van de assistent kwamen als één muur van tekst met zichtbare asterisken (**term**) in plaats van vetgedrukte woorden.","solution":"Bot-bubbles renderen nu markdown-stijl opmaak: alinea's krijgen ruimte tussen elkaar en termen tussen **dubbele asterisken** w
2orden vetgedrukt. De AI-prompt is ook bijgewerkt zodat antwoorden altijd in korte alinea's worden geschreven."},{"num":"v1.37","type":"feature","title":"AI-chatbot beantwoordt support-vragen automatisch","problem":"Klanten moesten wachten op een handmatig antwoord terwijl de meeste vragen over standaard platformfuncties gaan.","solution":"De AI-assistent reageert direct op vragen in de support-widget. Hij kent het volledige platform (dashboard, klanten, taken, financieel, tools, meetings en meer) en geeft beknopte, juiste antwoorden in de taal van de gebruiker."},{"num":"v1.36","type":"feature","title":"Overdracht naar medewerker op verzoek","solution":"Zodra een klant aangeeft een echte medewerker te willen (\"verbind met medewerker\"-knop of vrij getypte tekst), zet de bot de room in human mode en stuurt een bevestiging. De support-inbox toont het gesprek direct met een oranje \"Medewerker gevraagd\"-badge."},{"num":"v1.35","type":"polish","title":"Typing-indicator en bot-avatar in de widget","solution":"Tijdens het genereren van een antwoord zijn drie bouncende stippen zichtbaar. Bot-berichten hebben een herkenbaar slotpictogram-avatar en worden gelabeld als \"Assistent\"."},{"num":"v1.34","type":"feature","title":"Meer onboarding-taken zodat bureaus het platform volledig kunnen benutten","solution":"De Launchpad is uitgebreid met taken voor social accounts koppelen, klantdossiers invullen, content plannen, eerste boeking ontvangen, e-mailcampagnes sturen en designs importeren. Completion wordt automatisch afgeleid uit de werkelijke database-state."},{"num":"v1.33","type":"polish","title":"Elk bureau ziet zijn eigen logo in de welkomst-animatie","solution":"De intro-animatie op de Launchpad gebruikt nu het logo uit de huisstijl-instellingen van het bureau. Heeft een bureau nog geen logo ingesteld, dan wordt het platform-logo getoond."},{"num":"v1.32","type":"feature","title":"Logo-intro bij eerste keer openen van de Launchpad","solution":"Bij het allereerste bezoek aan de Launchpad speelt een korte animatie af: het logo verschijnt in het midden van het scherm met een persoonlijke begroeting, waarna het vloeiend wegglijdt. Daarna nooit meer te zien."},{"num":"v1.31","type":"feature","title":"Klantenservice-chat aan/uit zetten in je eigen instellingen","problem":"De chat-knop rechtsonder stond altijd aan, ook voor admins die er geen behoefte aan hebben of een schoon scherm willen tijdens een demo.","solution":"In Instellingen â Voorkeuren staat nu een toggle \"Klantenservice-chat tonen\". Direct effect â geen reload nodig. De voorkeur wordt per browser onthouden."},{"num":"v1.30","type":"feature","title":"Compacte weergave voor wie meer info op één scherm wil","problem":"De standaard ruimere weergave is prettig voor grote schermen maar voelt voor power-users en laptops aan als verspilde ruimte.","solution":"Toggle \"Compacte weergave\" in Instellingen â Voorkeuren verkleint paddings en regelhoogtes globaal. Direct zichtbaar."},{"num":"v1.29","type":"feature","title":"Uitleg-rondleidingen opnieuw bekijken met één klik","problem":"Zodra je een page-tour wegklikte was er geen makkelijke manier om hem opnieuw te starten â handig bij nieuwe teamleden of om iets te laten zien tijdens een demo.","solution":"Knop \"Rondleidingen resetten\" in Instellingen â Voorkeuren wist alle voltooide tours. De volgende keer dat je een pagina bezoekt verschijnt de tour weer."},{"num":"v1.28","type":"polish","title":"Sectie \"Contentplanner-standaarden\" weggehaald uit Instellingen","problem":"De drie velden over post-tijdstippen zaten verstopt in het algemene instellingen-paneel, terwijl dat eigenlijk een feature-specifieke setting is.","solution":"Sectie verwijderd uit het paneel. De voorkeuren worden intern nog wel respected, maar staan niet meer als afleiding tussen de algemene voorkeuren."},{"num":"v1.27","type":"polish","title":"\"Rollen\" link in het admin-menu","solution":"Via het tandwiel-menu is er nu een directe link naar de rollen-pagina waar je aangepaste rollen kunt bekijken en verwijderen."},{"num":"v1.26","type":"bugfix","title":"Badge toont nu de naam van de aangepaste rol","problem":"Gebruikers met een aangepaste rol (bijv. \"op\") kregen in de gebruikerslijst toch \"Manager\" te zien als rol-badge.","solution":"De badge toont nu de naam van de aangepaste rol als die is ingesteld, en valt anders terug op de standaard rolnaam."},{"num":"v1.25","type":"polish","title":"Gebruikers-modal heeft nu een generieke titel","solution":"De kop en eyebrow van de gebruiker-toevoegen-modal tonen nu \"Nieuwe gebruiker\" en \"Gebruiker toevoegen\" in alle talen, in plaats van de rol-specifieke \"Nieuwe manager\"."},{"num":"v1.24","type":"polish","title":"Modal verbreedt automatisch in stap 2 van rol-aanmaken","problem":"Bij het kiezen van permissies voor een nieuwe rol braken de labels (bijv. \"Klantenlijst en klantprofielen bekijken\") over meerdere regels en werd de tekst afgekapt â moeilijk te zien welke rechten je precies gaf.","solution":"Zodra je naar stap 2 (permissies kiezen) gaat, klapt de modal soepel uit van 480px naar 920px breed. Alle permissie-labels en beschrijvingen staan nu rustig op één regel."},{"num":"v1.23","type":"polish","title":"Modal-titels in lichter, kleiner lettertype","problem":"Titels in pop-up vensters, zoals \"Manager toevoegen\", oogden dikker en zwaarder dan de rest van het portaal.","solution":"Deze titels zijn nu rustiger en kleiner, wat beter aansluit bij de rest van de Senly-stijl."},{"num":"v1.22","type":"polish","title":"Externe CRM-koppeling dui
2delijker gemarkeerd als optioneel","problem":"Het veld voor het koppelen aan een externe CRM-id stond zonder uitleg dat het optioneel is, en de hint verwees naar een externe tool bij naam â kon verwarrend zijn.","solution":"Label heet nu \"Externe CRM-gebruiker (optioneel)\" met een neutrale uitleg, en het veld wordt niet meer per ongeluk auto-ingevuld door de browser met een e-mailadres."},{"num":"v1.21","type":"polish","title":"\"Aanpassen\"-icoon in de topbar verschijnt alleen waar het werkt","problem":"De knop om widgets te verslepen stond op elke pagina in de topbar, ook waar het geen functie had â visuele ruis op pagina's buiten het dashboard.","solution":"De knop is nu alleen zichtbaar op het dashboard zelf. Op andere pagina's blijft de topbar opgeruimd."},{"num":"v1.20","type":"polish","title":"Custom rol maken zit nu in dezelfde flow als nieuwe gebruiker toevoegen","problem":"Custom rollen had een eigen menu-item, los van waar je ze daadwerkelijk gebruikt â bij het uitnodigen van een teamlid. Twee schermen, twee stappen, onnodige zoektocht.","solution":"De aparte Custom rollen-pagina is uit het menu gehaald. In plaats daarvan staat in de gebruiker-toevoegen modal een nieuwe rol-optie \"+ Aangepaste rol aanmakenâ¦\". Selecteer hem, klik Aanmaken, en de modal springt naar een tweede stap met de permission-tree. Daar configureer je naam + permissies, klik nogmaals op aanmaken en zowel de rol als de gebruiker zijn in één keer aangemaakt en aan elkaar gekoppeld."},{"num":"v1.19","type":"feature","title":"Bestaande custom rollen blijven herbruikbaar in dezelfde dropdown","solution":"Eenmaal aangemaakte rollen verschijnen automatisch als opties bij het uitnodigen of bewerken van volgende teamleden, zodat je een \"Content-medewerker\"- of \"Junior setter\"-rol kunt hergebruiken zonder telkens opnieuw permissies te configureren."},{"num":"v1.18","type":"feature","title":"Eigen rollen aanmaken naast Admin / Manager / Setter / Sales Manager","problem":"De vier system-rollen waren rigide â een teamlid dat wel content moet kunnen aanmaken maar niet bij financieel mag, of een junior setter zonder pipeline-rechten, was niet mogelijk zonder workarounds.","solution":"Er is een nieuwe pagina **Instellingen â Custom rollen** waar je eigen rollen aanmaakt met een fijnmazige permissie-tree. 14 modules met 70+ losse permissies, elke module heeft een master-toggle en sub-checkboxes. Bij het uitnodigen of bewerken van een gebruiker kun je voortaan zowel een system-rol als een custom rol kiezen."},{"num":"v1.17","type":"feature","title":"Permissie-tree volgt module-structuur van het portaal","solution":"Je kunt nu per onderdeel van het portaal - klanten, taken, financiën, meetings, e-mail, content, CRM, onboarding, tools, rapporten, team, instellingen, affiliate en het activiteitenlogboek - precies instellen wie wat mag bekijken, aanmaken, bewerken of verwijderen."},{"num":"v1.16","type":"polish","title":"Launchpad-titel gebruikt nu font-weight 500 (zelfde als Takenbeheer)","problem":"De titel op het Launchpad oogde dikker dan die op Takenbeheer, wat inconsistent aanvoelde.","solution":"De titel is nu even licht als elders in het portaal, voor een consistentere uitstraling."},{"num":"v1.15","type":"polish","title":"Hero-tekst is nu compacter en heeft dezelfde dikte als andere overzichtpagina's","solution":"De vorige versie gebruikte een groter font, waardoor de letters zwaarder oogden dan op Takenbeheer of Statistieken. Launchpad gebruikt nu exact dezelfde formaat-clamp (30-40px) als die pagina's."},{"num":"v1.14","type":"polish","title":"Titel \"Launchpad\" krijgt dezelfde dikte als \"Goedenavond\" en andere hero-titels","solution":"De display-font Ciutadella rendert zonder expliciete font-weight en tight letter-spacing iets dunner. Launchpad gebruikt nu dezelfde styling (font-weight 700, letter-spacing -0.04em, line-height 1.05) als de andere koppen, dus 1 visuele lijn door het hele portaal."},{"num":"v1.13","type":"feature","title":"Persoonlijke startlijst leidt nieuwe gebruikers door alle setup-stappen","problem":"Nieuwe gebruikers wisten niet welke instellingen ze moesten doen om het portaal volledig te benutten â huisstijl, eerste klant, e-mail-koppeling, agenda-integratie, 2FA, AI-sleutel, etc. Allemaal nuttig maar verspreid over verschillende pagina's.","solution":"Bovenaan de zijbalk verschijnt nu een Launchpad-knop met een gepersonaliseerde checklist. Per categorie (Basisinstellingen, Klanten, Meetings, E-mail, Tools) zie je wat er nog open staat met directe knoppen naar de juiste pagina. Voortgang wordt automatisch herkend op basis van de echte instellingen â zodra je bv. een profielfoto uploadt, vinkt die taak zichzelf af."},{"num":"v1.12","type":"feature","title":"Eigen Launchpad per rol â setters zien geen huisstijl-taken","solution":"Admins krijgen alle 14 taken inclusief hu
2isstijl, team-uitnodigen en integraties. Managers zien 9 taken zonder admin-only zaken. Appointment Setters krijgen 6 sales-gerichte taken (profiel, e-mail-koppeling, kalender, eerste lead). Sales Managers krijgen daar ook de pipeline-configuratie bij."},{"num":"v1.11","type":"feature","title":"Knop verdwijnt automatisch als alles klaar of overgeslagen is","solution":"Een taak die irrelevant voor jou is kun je per stuk overslaan. Zodra alle taken óf voldaan óf overgeslagen zijn, verdwijnt de Launchpad-menuknop uit de zijbalk en kun je hem later altijd nog rechtstreeks bezoeken via /launchpad om een taak weer aan te zetten."},{"num":"v1.10","type":"feature","title":"Volledige sidebar-navigatie nu in het Cmd+K zoek-paneel","problem":"Het zoek-paneel (Cmd+K) toonde slechts 4 pagina's en miste de meeste recent toegevoegde modules zoals Meetings, CRM, Contentkalender, Onboarding, Affiliate, Updates en alle admin-secties.","solution":"Het paneel toont nu de volle navigatie â werkruimte-pagina's, persoonlijke pagina's en beheer-secties. Titels volgen direct de bestaande vertalingen (NL/EN/DE/FR), subtitles zijn voorzien van een korte beschrijving zodat je sneller herkent waar je heen wil."},{"num":"v1.09","type":"security","title":"Zoek-resultaten respecteren rollen en permissies","problem":"Een setter of sales-manager zou via het zoek-paneel pagina's kunnen vinden die buiten zijn werkscope vallen (bv. Statistieken, Takenbeheer, Financieel).","solution":"Resultaten worden nu hetzelfde gefilterd als de sidebar: hideForSales-pagina's vallen voor sales-rollen weg, admin-only pagina's alleen voor admins, en Financieel volgt de viewFinance-permissie van de gebruiker."},{"num":"v1.08","type":"polish","title":"Onboarding-tab krijgt een raket-icoon","problem":"Het icoon van Onboarding was identiek aan dat van Takenbeheer (allebei een vinkje-in-een-vakje) â verwarrend bij hover.","solution":"Onboarding heeft nu een raket-icoon, passend bij het \"nieuwe klant aan boord brengen\"-thema. De twee tabs zijn weer visueel te onderscheiden."},{"num":"v1.07","type":"bugfix","title":"Geen onge-stylede flits meer bij Cmd+R op de updates-pagina","problem":"Bij het verversen van de updates-pagina zag je heel even de ongestylede inhoud voordat de opmaak verscheen.","solution":"De pagina laadt nu direct met de juiste opmaak, zonder zichtbare flits."},{"num":"v1.06","type":"bugfix","title":"Geen onge-stylede flits meer bij Cmd+R op de Meetings-pagina","problem":"Bij het verversen van de Meetings-pagina zag je even een onopgemaakte versie: kale knoppen, geen kalenderraster, geen kleuren.","solution":"De pagina komt nu direct in de juiste vorm op je scherm te staan."}]},{"date":"2026-05-17","version":"v1.05","clV":"v0.66","title":"Tijdzone-dropdown in profiel netjes gestyled, Engelse tab-labels in Meetings vertaald & 30 meer","items":[{"num":"v1.05","type":"polish","title":"Selects in Profiel volgen nu de huisstijl-styling","problem":"De tijdzone-dropdown gebruikte het standaard browser-uiterlijk en stak af tussen de strakke input-velden.","solution":"Selects in de profiel-pagina hebben nu dezelfde hoogte, padding, rand en focus-kleur als de inputvelden, plus een custom chevron-pijl voor consistente weergave in alle browsers en zowel dark als light mode."},{"num":"v1.04","type":"polish","title":"Meetings-pagina toont nu \"Kalender\" en \"Instellingen\" in plaats van Calendar / Settings","solution":"De tabbladen bovenaan de Meetings-pagina waren nog in het Engels â dat past niet bij de rest van de Nederlandse UI. Tekst is aangepast naar Kalender en Instellingen."},{"num":"v1.03","type":"polish","title":"Duidelijker label voor de contentplanning-pagina","solution":"De zijbalk-tab heet voortaan Contentkalender in plaats van Kalender, zodat het verschil met Meetings (afspraken) direct duidelijk is. Ook vertaald in EN/DE/FR."},{"num":"v1.02","type":"feature","title":"Live preview van booking-mails terwijl je ze bewerkt","problem":"Bij het bewerken van een notificatie-mail (Afspraak geboekt, Herinnering, Annulering, etc.) moest je gokken hoe het eruit zou komen. De enige manier om het echt te zien was een echte boeking maken.","solution":"In de bewerk-dialog zie je nu rechts een live preview van de daadwerkelijke mail met dummy-data ingevuld. Werkt mee terwijl je typt."},{"num":"v1.01","type":"feature","title":"Test-mail-knop verstuurt direct naar je eigen adres","solution":"Onder elke notificatie-bewerk-dialog staat een \"Test verzenden\"-knop. Eén klik en de mail (met je huidige conceptwijzigingen, mét [TEST]-prefix in het onderwerp) komt op je eigen mailbox aan. Geen echte boeking meer nodig om te checke
2n."},{"num":"v1.00","type":"feature","title":"Verzender-keuze per calendar bij meerdere gekoppelde e-mailaccounts","problem":"Wie meerdere mailaccounts gekoppeld had, kon niet kiezen vanaf welk adres boekingsmails verstuurd werden â automatisch werd het eerst-gekoppelde adres gebruikt.","solution":"Bij het instellen van een calendar is er nu een \"Versturen via\"-dropdown waarin je per calendar het juiste mailaccount kiest. Alle bevestigingen, herinneringen, annuleringen en vervolgmails van die calendar vertrekken vanaf het gekozen adres."},{"num":"v0.99","type":"polish","title":"Strakkere settings-zijbalk met getekende symbolen","solution":"De emojis bij Calendars, Beschikbaarheid, Integraties en Branding zijn vervangen door minimalistische line-icons in dezelfde stijl als de hoofdnavigatie. De icoon-kleur volgt de tab-tekst zodat de actieve tab vanzelf in de huisstijl staat."},{"num":"v0.98","type":"polish","title":"Vinkjes naast kalender-types nemen je primary-color over","solution":"De checkboxes in de Calendars-zijbalk gebruikten de standaard browser-blauw. Ze volgen nu de accent-kleur die in je huisstijl is ingesteld."},{"num":"v0.97","type":"bugfix","title":"Light-mode wordt vanaf de eerste pixel toegepast","problem":"Wie het portaal in light-mode gebruikte zag bij een harde refresh kort een donkere versie verschijnen voordat het thema correct werd toegepast. De thema-keuze stond alleen in browser-opslag en de server kon dus niet weten welke variant te renderen.","solution":"Je thema-keuze wordt nu ook als cookie bewaard. De server kan die direct lezen en de juiste donker/licht-modus al in de eerste HTML-respons zetten. Geen donker-naar-licht sprong meer."},{"num":"v0.96","type":"bugfix","title":"Tenant-logo verschijnt direct in de sidebar, niet meer na een halve seconde","problem":"De huisstijl-kleuren werden al server-side gezet, maar het logo en de portaal-naam in de sidebar werden nog client-side opgehaald. Bij Cmd+R zag je daarom kort het standaard Senly-logo voordat jouw eigen logo verscheen.","solution":"Logo, portaal-naam en bedrijfsnaam worden nu mee-gerenderd in de eerste HTML-respons. De sidebar toont vanaf de eerste pixel direct jouw eigen branding."},{"num":"v0.95","type":"bugfix","title":"Branding-kleuren werken nu in beide thema's vanaf de eerste paint","problem":"De vorige oplossing werkte alleen in donkere modus. Wie het portaal in lichte modus gebruikte, zag alsnog kort de standaard Senly-kleur voordat de eigen huisstijl verscheen.","solution":"Nu tonen beide weergaves - licht en donker - direct de juiste kleuren van je bureau, zonder zichtbare flits."},{"num":"v0.94","type":"bugfix","title":"Tenant-huisstijl wordt vanaf de eerste paint correct getoond","problem":"Bij een harde refresh zag je eerst kort de standaard Senly-kleuren voordat je eigen huisstijl verscheen.","solution":"Je merkkleur wordt nu direct getoond, zonder zichtbare flits naar de standaardkleur - ongeacht welke kleur jouw bureau gebruikt."},{"num":"v0.93","type":"bugfix","title":"Cmd+R toont voortaan meteen je gepersonaliseerde dashboard","problem":"Bij een hard refresh zag je eerst kort de default-layout (en lege activiteiten-feed), daarna sprong het naar jouw gepersonaliseerde versie. De widget-volgorde, breedtes en hoogtes stonden alleen in de browser-opslag, dus de server kon ze niet rendereen.","solution":"Dashboard-configuratie wordt nu in jouw account opgeslagen en server-side direct meegestuurd. De recente activiteiten worden ook al vooraf geladen, en de groet (\"Goedenavond\" etc.) volgt jouw profiel-tijdzone in plaats van de server-tijdzone. Bestaande layout uit je browser wordt eenmalig overgezet."},{"num":"v0.92","type":"feature","title":"Direct kopieerbare URL bij elke calendar-kaart","problem":"Op Meetings â Settings â Calendars zag je alleen een ingekort pad zoals /boek/.../slug. Om de echte link te delen moest je telkens een booking openen of de URL handmatig samenstellen.","solution":"Iedere kaart toont nu de volledige boekings-URL met een Kopieer-knop ernaast. Eén klik en de link staat op je klembord â handig om snel naar een klant te sturen."},{"num":"v0.91","type":"feature","title":"Booking-detail, dag- en maand-kalender en sync-tijden gebruiken jouw profiel-tijdzone","problem":"Tijden in de meetings-module volgden alleen de browser-tijdzone. Een gebruiker die in zijn profiel een andere tijdzone instelde, zag op de meeting-detailpagina nog steeds de browser-tijd â verwarrend als je in een andere zone werkt dan je laptop.","solution":"De \"Wanneer\"-regel van een booking, de tijd-chips in de maand- en dagkalender en de \"Laatste sync\"-melding bij integraties gebruiken nu allemaal de tijdzone die je in Mijn profiel hebt gekozen."},{"num":"v0.90","type":"feature","title":"Stel je tijdzone in via Mijn profiel","problem":"Iedereen kreeg Nederlandse tijden te zien â onlogisch voor collega's die in een andere tijdzone werken.","solution":"In je profiel zit nu een tijdzone-picker (Amsterdam, Istanbul, New York, etc.). Alle datums en tijden in het portaal worden in jóuw tijdzone weergegeven. Bekijk je de activiteiten van een collega die in een andere zone werkt, dan zie je nog steeds jouw eigen tijd â geen mentale rekensommen meer."},{"num":"v0.89","type":"bugfix","title":"Changelog en activiteiten-feed tonen tijd in Amsterdam-tijdzone","problem":"Bij eerste page-load flikkerden tijden van UTC naar lokaal omdat server en browser verschillende tijdzones gebruikten.","solution":"Datum- en tijdformatters renderen nu altijd in Europe/Amsterdam, zowel server-side als in de browser."},{"num":"v0.88","type":"infra","title":"Disk-write logging in LinkedIn-connector verwijderd","problem":"Elke aanroep schreef een regel naar /tmp/li-connector-debug.log â kon de schijf op de productie-server vol laten lopen.","solution":"Logging gaat nu alleen nog naar de standaard server-log, geen losse bestanden meer."},{"num":"v0.87","type":"bugfix","title":"yt-dlp wordt nu correct gevonden op de productie-server","problem":"Twee tools verwezen naar een hardgecodeerd lokaal Mac-pad, waardoor ze op de Railway-server stil faalden.","solution":"Binary wordt nu via PATH opgelost en yt-dlp is toegevoegd aan de Railway build-config, zodat beide tools voortaan werken op de live-omgeving."},{"num":"v0.86","type":"infra","title":"Ãlke deploy verschijnt voortaan automatisch in de changelog","solution":"Updates verschijnen voortaan automatisch en op tijd in dit overzicht, zodat je nooit meer iets mist."},{"num":"v0.85","type":"feature","title":"Bell-icoon toont nu meeting-events","solution":"Je krijgt nu een melding via het belletje wanneer een meeting wordt geboekt, verplaatst of geannuleerd. Je kunt dit per meeting-type in- of uitschakelen."},{"num":"v0.84","type":"feature","title":"Outlook mail-send module via Microsoft Graph","solution":"Bevestigingen en herinneringen kun je nu ook verzenden via Outlook, naast Gmail en IMAP. Senly kiest automatisch de juiste verzendmethode op basis van je gekoppelde mailaccount."},{"num":"v0.83","type":"feature","title":"Reschedule + cancellation mails bij booking PATCH/DELETE","solution":"PATCH detecteert scheduledAt-wijziging en vuurt sendMeetingReschedule. PATCH+DELETE vuren sendMeetingCancellation bij status=cancelled."},{"num":"v0.82","type":"polish","title":"SMS en WhatsApp channels uit de UI","solution":"Channels teruggebracht naar { email, inApp }. Voorkomt verwarrende toggles voor channels die nog niet aangesloten waren."},{"num":"v0.81","type":"performance","title":"Externe busy-slots parallel ophalen + 30s cache","solution":"Beschikbaarheid uit gekoppelde agenda's wordt nu sneller opgehaald, ook wanneer je meerdere agenda's tegelijk gebruikt. Resultaten worden kort onthouden, zodat de kalender direct laadt."},{"num":"v0.80","type":"feature","title":"Eerste beschikbare dag + tijdsloten in één call","solution":"De boekingspagina toont nu meteen de eerstvolgende beschikbare dag mét tijdsloten, tot 60 dagen vooruit gescand - geen wachtende kalender meer."},{"num":"v0.79","type":"feature","title":"Branding-tab in Meetings: logo, kleur, bedrijfsnaam","solution":"User-velden bookingLogoUrl/Color/Name. Nieuwe tab in /meetings settings met logo-upload, color picker en live preview. /boek/[user] gebruikt deze branding met fallback naar Tenant."},{"num":"v0.78","type":"polish","title":"Volledige redesign /boek/[user]/[slug]","solution":"Two-pane layout: links pane met logo/info, rechts pane in huisstijlkleur met tijdzone-pill, kalender + tijdsloten 50/50. Tenant-logo als favicon op de tab. Responsive: stack op mobiel."},{"num":"v0.77","type":"feature","title":"Klikken op edit-icoon opent modal met channel-tabs","solution":"Modal met E-mail/In-app tabs, \"Ingeschakeld\" toggle, recipients-sectie (Contact / Toegewezen gebruiker / Aanvullende e-mails). Bewerken per channel ipv inl
2ine uitklappen."},{"num":"v0.76","type":"feature","title":"5 notification-types per meeting (Afspraak geboekt, Annulering, Verplaatst, Herinnering, Vervolg)","solution":"Lijst met channel-chips (E-mail / In-app) per notification. Klik edit-icoon voor subject + body + recipients per kanaal. requireApproval toggle verwijderd â alles wordt nu automatisch confirmed."},{"num":"v0.75","type":"feature","title":"Custom onderwerp + bericht per meeting-type","solution":"Je kunt nu per meeting-type een eigen onderwerp en bericht instellen voor bevestigingen, herinneringen en annuleringen, met gegevens zoals naam, datum en tijd automatisch ingevuld. Herinneringen respecteren ook de eigen tijdsinstelling per meeting-type."},{"num":"v0.74","type":"feature","title":"Bevestigingen, herinneringen en annuleringen via Gmail / IMAP","solution":"Deze e-mails worden nu verstuurd vanaf je eigen gekoppelde Gmail- of IMAP-account, zodat ze overkomen als afkomstig van jouw bureau in plaats van een generiek afzenderadres."},{"num":"v0.73","type":"polish","title":"Volledige tekst-replace door codebase (93 bestanden)","solution":"Merknaam, links en teksten zijn overal in het portaal, de e-mails en de browserextensie consistent bijgewerkt."},{"num":"v0.72","type":"feature","title":"Onder welke agenda komen nieuwe boekingen?","solution":"Per kalender-integratie (Google/Outlook/Apple) selecteer je welke sub-agenda boekingen ontvangt. createOutlookEvent gebruikt nu writeCalendarId (Google + Apple deden dit al)."},{"num":"v0.71","type":"feature","title":"Selecteer welke sub-agenda's meetellen voor beschikbaarheid","solution":"listGoogleCalendars/listOutlookCalendars/listAppleCalendars + checkboxes-modal. Alleen aangevinkte agenda's tellen mee voor busy-slots. Standaard: alles."},{"num":"v0.70","type":"feature","title":"Tijdzone-selector, checkboxes per dag, datum-specifieke uren","solution":"AvailabilityPanel volledig herontworpen. Per dag aanvinken (was: handmatig slots toevoegen), tijdzone-dropdown, en datum-overrides voor vakantie/feestdag."},{"num":"v0.69","type":"feature","title":"Calendar-form uitgebreid met buffer + boekingsregels","solution":"Buffer voor/na, min. aanmeldtijd, max. vooruit boeken in het edit-formulier."},{"num":"v0.68","type":"feature","title":"Zoom OAuth end-to-end werkend in productie","problem":"Het koppelen van Zoom werkte niet door een foutieve sleutel in de instellingen.","solution":"De sleutel is gecorrigeerd, waardoor Zoom koppelen nu weer volledig werkt."}]},{"date":"2026-05-16","version":"v0.67","clV":"v0.34","title":"Zoom OAuth callback redirect gecorrigeerd, E-mail toegankelijk voor setters en sales managers & 13 meer","items":[{"num":"v0.67","type":"bugfix","title":"Zoom koppelen stuurde gebruiker naar localhost i.p.v. productie-URL","problem":"Na het koppelen van Zoom kwam je soms op een lokaal test-adres terecht in plaats van terug in het portaal.","solution":"Je wordt na het koppelen nu altijd correct teruggestuurd naar het portaal."},{"num":"v0.66","type":"feature","title":"E-mail pagina zichtbaar voor appointment setter en sales manager rollen","solution":"hideForSales flag verwijderd van e-mail nav-item en isSalesRole redirect op /email/page.tsx verwijderd."},{"num":"v0.65","type":"bugfix","title":"Zoom OAuth redirect naar localhost in productie opgelost","problem":"Een verkeerd ingestelde terugkeer-link zorgde ervoor dat het koppelen van Zoom soms naar een lokaal test-adres leidde in plaats van naar het portaal.","solution":"Dit is gecorrigeerd, zodat Zoom koppelen altijd naar de juiste omgeving terugkeert."},{"num":"v0.64","type":"bugfix","title":"Affiliate pagina werkt nu voor alle rollen","problem":"Gebruikers die niet aan een bureau gekoppeld waren, zagen een lege foutpagina bij Affiliate.","solution":"Zij zien nu een passend overzicht in plaats van een foutmelding."},{"num":"v0.63","type":"polish","title":"CRM contacten-zoekbalk: rand verwijderd","solution":"Zoekbalk gebruikt nu een subtiele achtergrond-tint zonder zichtbare border."},{"num":"v0.62","type":"polish","title":"Setter dashboard header herontworpen in admin-stijl","solution":"Grote greeting met geaccentueerde naam, 4 live KPI-chips (open deals, meetings, c
2alls, maandtarget) in de taskio-hero layout met fade-in animatie. Widget-tints versterkt van 4% naar 8% voor meer visuele diepte."},{"num":"v0.61","type":"bugfix","title":"Railway deploy crash door NOT NULL updatedAt op ChatRoom","problem":"Een technische aanpassing aan de chatfunctie kon niet automatisch worden toegepast op bestaande gesprekken, waardoor een update tijdelijk niet doorkwam.","solution":"Dit is opgelost zodat bestaande en nieuwe gesprekken weer correct worden bijgewerkt."},{"num":"v0.60","type":"feature","title":"Custom chat-groepen met eigen ledenlijst","problem":"Team chat had één vaste \"Iedereen\"-groep. Geen manier om bv. een aparte sales-team chat of een managers-only kanaal te maken.","solution":"Iedere user kan via \"+ Groep\" knop in de team chat een nieuwe groep aanmaken: naam + beschrijving + handmatige ledenlijst. Bestaande \"Iedereen\"-groep blijft als system-groep met auto-membership voor alle tenant-users. Pill-tabs bovenaan voor snelle wissel met ongelezen-badge per groep."},{"num":"v0.59","type":"feature","title":"Auto-include op rol (admin-only)","solution":"Admin kan bij groep-creation een \"auto-include rol\" kiezen (alle setters / managers / sales managers). Users met die rol worden automatisch toegevoegd. Handig voor \"Sales team\" of \"Management\" groepen die altijd up-to-date moeten z
2ijn."},{"num":"v0.58","type":"infra","title":"Nieuwe Prisma-modellen: ChatRoom uitgebreid + ChatRoomMember","solution":"Chatruimtes kunnen nu een beschrijving en kleur krijgen, en de ruimte 'Iedereen' wordt automatisch aangevuld met nieuwe teamleden. Senly houdt ook per persoon bij wat al gelezen is, voor een duidelijk ongelezen-overzicht."},{"num":"v0.57","type":"feature","title":"Drag-and-drop reorder voor sales-dashboard widgets","solution":"Klik \"Bewerken\" rechtsboven â dashed accent-outline + drag-grip per widget â sleep om volgorde aan te passen â klik \"Klaar\". Volgorde blijft per-user in localStorage staan. Zelfde patroon als het bureau-dashboard."},{"num":"v0.56","type":"feature","title":"Affiliate-programma nu beschikbaar voor sales-rollen","problem":"Setters en sales managers konden geen eigen referral-link genereren â alleen ADMIN-rol mocht. Daardoor konden zij geen klanten verwijzen naar Senly en commissie verdienen.","solution":"lib/affiliate.ts: ADMIN-check verwijderd. Iedere tenant-user kan nu via /affiliate een eigen ref-link aanmaken, Stripe Connect koppelen en verwijzingen tracken."},{"num":"v0.55","type":"polish","title":"Content-kalender verbergen voor sales-rollen","solution":"/kalender (content-feature) verschijnt niet meer in de sidebar voor setters/sales managers + page-guard redirect naar /. Was per ongeluk nog zichtbaar."},{"num":"v0.54","type":"bugfix","title":"Doorzichtige slide-over panes (Widgets + CRM Contacten)","problem":"De widgets-beheren pop-up en het contactdetail-paneel in CRM waren volledig doorzichtig door een ontbrekende achtergrondkleur.","solution":"Deze onderdelen tonen nu weer een solide achtergrond, in zowel het lichte als het donkere thema."},{"num":"v0.53","type":"bugfix","title":"Zoom OAuth-redirect debug-instrumentatie","solution":"Extra tijdelijke controles toegevoegd om een resterend koppelprobleem met Zoom te onderzoeken."},{"num":"v0.52","type":"feature","title":"Configureerbaar sales-dashboard met 19 widgets in 5 categorieën","solution":"Setters en sales managers krijgen een eigen dashboard (vervangt TaskioDashboard voor hun rol). Registry-pattern met KPI tiles (7), Pipeline & deals (5), Activity & follow-up (3), Meetings (2), Team & performance (2). Picker-modal rechts opent slide-over met categorie-groepering en checkbox per widget. Persistence in localStorage per user."},{"num":"v0.51","type":"feature","title":"PermissionsExplainer toont nu 4 rollen","solution":"Het overzicht 'Bevoegdheden per rol' toont nu naast elkaar wat een Beheerder, Manager, Setter en Sales Manager mogen doen. Sales-rollen krijgen een 'Eigen'-label waar hun toegang beperkt is tot hun eigen zaken. Dit is ook zichtbaar voor CRM-pipeline, contacten, activiteitenlog, sales-rapportages, meetings, tools en affiliate."},{"num":"v0.50","type":"feature","title":"Externe agenda-events tonen in /meetings","solution":"Afspraken uit gekoppelde iCloud-, Google- en Outlook-agenda's zijn nu ook zichtbaar in de maand-, week- en dagweergave van Meetings, als grijs-gestreepte blokken naast je Senly-boekingen. Je kunt externe agenda's aan- of uitzetten via een schakelaar."},{"num":"v0.49","type":"performance","title":"Stale-while-revalidate caching op /meetings","problem":"Telkens als je naar /meetings ging zag je 2-3s \"Ladenâ¦\" voor de calendar geladen werd, ook bij snelle terugkeer.","solution":"Nieuwe lib/client-cache.ts (2-laags Map + localStorage). Calendar rendert instant uit cache, verse data in background. Subtiele pulsing accent-dot bij datum-label tijdens revalidate. TTLs: types 5min, bookings 30s, externe events 2min."},{"num":"v0.48","type":"polish","title":"\"Nieuwe manager\" â \"Nieuwe gebruiker\" (4 talen)","solution":"Per rol counts blijven (admin/manager/setter/sales_manager) maar generieke labels zijn nu rol-neutraal: gebruiker / user / Benutzer / utilisateur."},{"num":"v0.47","type":"feature","title":"Twee nieuwe rollen: Appointment Setter + Sales Manager","solution":"Naast de bestaande rollen kun je nu ook Appointment Setter en Sales Manager toewijzen. Deze rollen zien alleen de onderdelen die voor hen relevant zijn - bureau-brede pagina's zoals Onboarding, E-mail, Statistieken, Trends en Takenbeheer blijven verborgen - en krijgen een eigen dashboard gericht op hun eigen zaken."},{"num":"v0.46","type":"feature","title":"CRM omgebouwd naar 4-tab layout","solution":"Pipeline (bestaande kanban) / Contacten (nieuwe view) / Activiteit / Rapportages. Tab in URL-hash zodat refresh + deeplinks werken."},{"num":"v0.45","type":"feature","title":"Aparte Contacten-tabel (1 bedrijf, meerdere deals)","solution":"Contacten staan nu los van deals, zodat je bij één bedrijf meerdere deals kunt koppelen. Je krijgt een overzicht met zoekfunctie, een knop om snel een nieuw contact toe te voegen, en een detailpaneel met bewerkmogelijkheden, social links en gekoppelde deals."},{"num":"v0.44","type":"feature","title":"CRM Activiteitenlog met auto-logging","solution":"Belangrijke acties in het CRM - zoals het aanmaken, verplaatsen of afronden van een deal, wijzigingen aan contacten en klantcontact-momenten - worden nu automatisch vastgelegd. Je ziet een tijdlijn per dag met duidelijke, leesbare beschrijvingen, met filter- en zoekmogelijkheden."},{"num":"v0.43","type":"feature","title":"CRM Rapportages-tab","solution":"6 KPI-tiles (pipeline-waarde, gewonnen omzet, conversie, gem. dealwaarde, meetings, verloren), pipeline funnel met per
2-stage kleur, performance-tabel top 20, trend-charts (won/created per maand). Period-filter 7d/30d/90d/YTD/All."},{"num":"v0.42","type":"feature","title":"Touchpoint quick-action overal","solution":"Je kunt nu overal snel een contactmoment vastleggen - telefoontje, WhatsApp, e-mail, meeting of notitie - met een korte samenvatting. Dit werkt zowel vanuit een deal als vanuit een contact, en het laatste contactmoment wordt automatisch bijgewerkt."},{"num":"v0.41","type":"feature","title":"Last-contact badge in lead-cards","solution":"Pill per lead-card: warm (â¤3d, groen) / mid (4-14d, amber) / cold (>14d, grijs). Visuele cue welke deals aandacht nodig hebben."},{"num":"v0.40","type":"feature","title":"Maandtarget per sales-user","solution":"User.salesTargetMonthly veld. UserModal toont input alleen bij sales-rollen. Progress-ring op sales-dashboard met kleur-shift good/mid/low."},{"num":"v0.39","type":"infra","title":"Backfill-script voor bestaande CRM-leads","solution":"scripts/backfill-crm-contacts.ts â clustert leads op tenant + companyName/email naar nieuwe Contact-records. Dry-run default, --apply om door te voeren. Idempotent."},{"num":"v0.38","type":"polish","title":"Premium promo tile (440Ã280) voor Chrome Web Store","solution":"chrome-extension/store-assets/promo-tile-440x280.png â accent gradient achtergrond met witte Senly \"S\"-mark in box. Klaar om in de Web Store listing te uploaden voor betere featured-visibility."},{"num":"v0.37","type":"feature","title":"Smart account-detectie: extensie pakt nu de echte gebruikersnaam","problem":"Na koppeling stond er \"Facebook account\" of \"LinkedIn account\" â niet duidelijk welk specifiek account gekoppeld was. Verwarrend bij 20+ klanten.","solution":"Per platform leest het content-script de echte naam/handle van de pagina: Instagram (@username), TikTok (@username), LinkedIn (\"Marleen van X\"), Facebook (account-naam uit avatar/aria-label). Wordt als displayHint meegestuurd naar Senly en getoond als capturedAccountHint. Klantprofiel toont nu \"â @cafedehoek\" ipv \"â Facebook account\"."},{"num":"v0.36","type":"polish","title":"Premium branded icons voor de extensie","solution":"Vervangen van solide cirkel placeholder met rounded square + Senly-teal gradient (#2a8a83â#1c5e58) + witte 3-balks \"S\"-mark. 16/48/128 px varianten â schaalt mooi in Chrome toolbar én Web Store listing."},{"num":"v0.35","type":"infra","title":"Chrome Web Store submission gids","solution":"WEB-STORE-SUBMISSION.md met stap-voor-stap publicatieproces: ZIP commando, listing-content (NL+EN), permission justifications voor review, screenshot-richtlijnen, post-publicatie URL-update instructies. Klaar om in te dienen."},{"num":"v0.34","type":"feature","title":"Live connection-status per platform op klantprofiel","problem":"Na koppelen wist je niet of cookies nog geldig waren â pas bij de eerstvolgende automation-run kwam je erachter dat de sessie was verlopen.","solution":"SocialAccountConnector haalt nu live status op via /api/clients/[id]/social-accounts/connection-status: groene \"â Gekoppeld\" badge, oranje \"â verloopt over 5d\", rood \"ð Heraankoppelen\" of grijs \"Nog niet gekoppeld\". De badge wordt automatisch geverversd na een succesvolle koppeling."},{"num":"v0.33","type":"feature","title":"Bulk-koppel pagina: alle klanten à platforms in één overzicht","problem":"Voor bureaus met 20+ klanten was per-klant navigeren tijdrovend. Onboarding voor een nieuw bureau betekende 80+ kliks door 4 platforms à 20 klanten.","solution":"Nieuwe /admin/social-accounts pagina (admin/manager) toont een grid met alle klanten in rijen en 4 platforms in kolommen. Per cel: live status-badge + \"Verbind\"/\"Heraankoppelen\"/\"Vernieuwen\" knop. Filters (alle/gekoppeld/verlopen/niet gekoppeld) + zoekbalk + status-stats bovenaan. Eén scherm voor 80+ koppelingen."},{"num":"v0.32","type":"feature","title":"Cookie-status helper detecteert verlopen sessies proactief","solution":"lib/cookie-status.ts kijkt na
2ar de expirationDate van key-cookies per platform (li_at voor LinkedIn, c_user+xs voor FB, sessionid voor TikTok/IG). State = connected/expiring (â¤7d)/expired/never_connected. Geen HTTP-calls naar het platform nodig â 100% gratis en snel."},{"num":"v0.31","type":"polish","title":"Sidebar: nieuwe \"Social accounts\" link voor admin/manager","solution":"Tussen Activiteiten en Affiliate verschijnt nu een Social accounts icoon (ketting-symbool) dat naar de bulk-koppel pagina linkt. NL/EN translations toegevoegd."},{"num":"v0.30","type":"feature","title":"Chrome-extensie \"Senly Connector\" voor account-koppeling","problem":"Bureau-eigenaren moesten Instagram/Facebook/LinkedIn/TikTok accounts van hun klanten koppelen door op de server een Chrome-venster te laten openen (Puppeteer headless: false). Dat werkte alleen lokaal op een Mac met Chrome geïnstalleerd â niet op Railway, en niet voor team-leden vanaf hun eigen laptop.","solution":"Aparte Chrome-extensie (chrome-extension/) die op de computer van de bureau-eigenaar draait. Bij \"Verbind\" in een klantprofiel opent de extensie een tab naar het social platform, wacht tot er een geldige login is, leest de cookies via chrome.cookies API (inclusief HttpOnly), en stuurt die HMAC-getekend naar Senly. Server slaat ze versleuteld op (AES-256-GCM met per-tenant AAD-scoping). Daarna kunnen alle team-leden de automation aanzetten zonder de cookies zelf te bezitten â alles draait server-side op Railway."},{"num":"v0.29","type":"feature","title":"Batch-koppel: per klantprofiel \"Verbind\" knop met automatische klant-binding","problem":"Bij 20 klanten à 4 platforms = 80 koppelingen moesten in de oude flow allemaal handmatig met user/password worden gedaan â error-prone en risicovol vanwege 2FA, CAPTCHAs en datacenter-IP bans.","solution":"In elk klantprofiel staat nu een SocialAccountConnector-blok dat detecteert of de Senly Connector geïnstalleerd is. Zo niet â \"Voeg toe aan Chrome\" CTA. Zo wel â één klik per platform per klant. URL bevat een gesigned token zodat de koppeling gegarandeerd bij de juiste klant terechtkomt (geen mismatch mogelijk)."},{"num":"v0.28","type":"infra","title":"Puppeteer naar headless mode + cross-platform Chrome-detectie","problem":"De 4 grote Puppeteer features (Facebook inviter, LinkedIn inviter, LinkedIn connector, TikTok groeitool) draaiden met headless: false en hardcoded macOS Chrome-paden. Onbruikbaar op Railway.","solution":"Gecentraliseerde launchPuppeteer() helper met headless: \"new\" op cloud, cross-platform Chrome-finder (Mac/Linux/Windows + PUPPETEER_EXECUTABLE_PATH env override), nixpacks.toml die Chromium + fonts installeert op Railway. Lokaal debuggen kan nog steeds met DEBUG_PUPPETEER=1 voor zichtbare browser."},{"num":"v0.27","type":"security","title":"Cookie-vault met AES-256-GCM + tenant-scoping","problem":"Eerder werden cookies als JSON-bestanden op disk opgeslagen (cookieFile). Op Railway (ephemeral filesystem) overleefden ze geen deploy, en zonder encryptie waren ze gevoelig voor data-breach.","solution":"Nieuwe lib/cookie-vault.ts: cookies versleuteld in DB-veld ClientSocialAccount.encryptedCookies (format \"v1:iv:tag:ciphertext\"). Per-tenant AAD-scoping voorkomt dat cookies van tenant A gedecrypteerd kunnen worden als ze per ongeluk aan tenant B gekoppeld worden. HMAC-signed connect-tokens (30 min TTL) voor anti-CSRF tussen portaal en extensie."},{"num":"v0.26","type":"polish","title":"Platform automation cards op klantprofiel maximaal premium","solution":"Card 24px radius, 5-laagse shadow met inset white highlight, 4px brand-accent strip bovenaan met 30px blur-glow (Instagram tri-color, TikTok cyan/rood, etc.), 44px icons met glow, premium CTA buttons met accent gradient + lift on hover. 200px min-height voor visueel ritme."},{"num":"v0.25","type":"feature","title":"CRM + Onboarding: Scholarly bento-stijl kanban met gekleurde cards","solution":"Gekleurde card-achtergronden per kolom-tone (rotating pink/lavender/yellow/mint/gray pastels), colored dots, subject-pill bovenaan elke card, \"+ Toevoegen\" knop verhuisd naar bovenaan met dashed border. Cleaner column headers met 02-style count badges."},{"num":"v0.24","type":"polish","title":"8 pagina edge-distance uniform aan Financieel (max-width 100%)","solution":"Tools, Takenbeheer, Statistieken, CRM, Onboarding, Eigenaar overzicht, Activiteiten en Affiliate gebruiken nu allen max-width: 100% voor consistente brede content-area zoals Financieel, ipv de standaard 1320px container."},{"num":"v0.23","type":"polish","title":"Header profile-chip 24% compacter","solution":"Avatar 42â32px, naam 15â13px, role 11.5â10.5px, badges 15â12px. Verified-badge en account-dot proportioneel kleiner met dunnere border."},{"num":"v0.22","type":"feature","title":"Statistieken: 4-sectie bento layout (Health/Klanten/Team/Systeem)","solution":"4 logische groepen op urgentie/doel met 6-koloms bento-grid en variabele card-groottes (span-2/3/4/6). Featured \"Op tijd geleverd\" card met accent gradient + meter-visualisatie. Activiteit-sectie weggehaald (er is een aparte /activiteiten pagina). 3 nieuwe inzichten: klant-groei trend (12 mnd), klanten met achterstand, inactiviteits-risico met gekleurde border-lefts per stilte-niveau."},{"num":"v0.21","type":"bugfix","title":"Tools-pagina platform-iconen: outline én filled werken correct in wit","problem":"Instagram outline-camera werd een wit blok omdat een eerdere fix fill: currentColor !important op ALLE SVG-elementen forceerde, waardoor de rect-outline gevuld werd ipv geöutline.","solution":"Verwijder fill/stroke overrides â alleen color: white op de parent. PlatformLogo flat-mode SVGs gebruiken al currentColor via stroke (Instagram) of fill (Facebook/YouTube/LinkedIn). Plus: TikTok krijgt tri-color brand-logo (cyan/rood/wit) en Snapchat zwart spookje voor brand-authenticiteit."},{"num":"v0.20","type":"bugfix","title":"Featured card op statistieken: inner-rectangle artifact opgelost","problem":"Bestaande .stats-card::before regel rendert een 1px inset border in elke stats-card. Op witte cards onzichtbaar maar op de groene gradient van de \"Op tijd geleverd\" featured card als donkere inner rectangle zichtbaar.","solution":"Disable pseudo-element specifiek voor .stats-card--feature met matching specificity + !important. Solide accent kleur ipv gradient om eventuele color-mix rendering artifacts te voorkomen."},{"num":"v0.19","type":"bugfix","title":"Trends pagina dark mode parity","problem":"Title was 32px in dark mode (oude default) en 28px in light mode (nieuwe Taskio styling). Structurele typografie-regels stonden alleen onder html[data-theme=\"light\"].","solution":"Structurele regels (font-size, weight, padding, layout) van .trends-hero-title, .trends-stats, .trends-platform-pill, .trend-card etc. theme-agnostic gemaakt. Alleen kleur/border per theme gescoped."},{"num":"v0.18","type":"feature","title":"E-mail pagina: stale-while-revalidate cache + refresh-knop","solution":"Module-cache + localStorage zorgt dat bij terugkomst op /email de laatste threads direct getoond worden, terwijl op de achtergrond geverifieerd wordt. Refresh-knop rechts naast map-titel met spin-animatie. Polling + post-actie refreshes zijn nu silent (geen skeleton flash meer)."}]},{"date":"2026-05-14","version":"v0.17","clV":"v0.18","title":"Externe images in mails laden nu altijd, Mail 4-5à sneller + skeleton
2state tijdens laden & 6 meer","items":[{"num":"v0.17","type":"bugfix","title":"Broken-image-icoon bij Cloudinary, Stripe en andere CDNs opgelost","problem":"Iframe srcDoc heeft een opaque origin â de browser stuurt geen Referer-header, en veel CDNs (Cloudinary, Stripe-images) blokkeren image-requests zonder Referer als anti-hotlinking maatregel. Resultaat: complete=true, naturalWidth=0 en een broken-icoon zichtbaar.","solution":"referrerpolicy=\"no-referrer\" toegevoegd aan elke <img> tag + document-level meta-referrer. Dit is hetzelfde gedrag als Gmail/Outlook gebruiken voor email-images. Alle 15+ image URLs in geteste mails laden nu correct (Railway logo, Stripe receipts, etc.)."},{"num":"v0.16","type":"performance","title":"IMAP connection pool â mail-opens van 2.5s naar 500ms","problem":"Bij elke mail-klik werd een nieuwe IMAP-verbinding opgezet (TLS-handshake + LOGIN, ~1-1.5s overhead). Daarbovenop werden 12 mail-folders sequentieel doorzocht voor een thread, ook als de mail geen reply-chain had.","solution":"Per email-account 1 actieve connection cachen tussen requests met automatische cleanup na 5 min idle of 30 min total age. Plus skip thread-collection voor single mails en parallelle searches via Promise.all bij echte threads. Mail-opens (warm cache): ~500ms, was 2.5-15s."},{"num":"v0.15","type":"polish","title":"Skeleton-state tijdens image preload","problem":"Bij het openen van een mail met externe images zag je 500ms-1s broken-image-icons voordat ze vanuit het netwerk binnenkwamen.","solution":"Externe image URLs worden nu gepreload via new Image() vóór de iframe rendert. Tot alle images klaar zijn (max 1500ms): \"Bericht wordt geladenâ¦\" placeholder. Geen broken icons meer zichtbaar."},{"num":"v0.14","type":"feature","title":"Booking-flow integreert met alle gekoppelde kalenders","solution":"Bij elke nieuwe boeking: Zoom-URL eerst, dan event in alle gekoppelde calendars met die URL ingesloten. Bij beschikbaarheids-checks worden externe events ook als busy meegenomen â geen dubbele bookings meer."},{"num":"v0.13","type":"polish","title":"Compacte rood/groene aan/uit-switches","problem":"De Onderhoudsmodus en Aankondigingsbanner toggles waren 466px brede grijze balken â ze namen .platform-toggle styling over die voor periode-selectors bedoeld was.","solution":"Eigen .platform-switch class: 36Ã20px pillvormig, rood (uit) â groen (aan), met soepele thumb-animatie. Geen visuele ruis meer."},{"num":"v0.12","type":"bugfix","title":"Kalender gridlijnen weer zichtbaar in light mode","problem":"De gridlijnen tussen uren en dagen in de week-view waren verdwenen omdat de --border CSS-variabele in light mode te licht was (alpha 0.09). Visueel oplosbaar tegen witte cellen.","solution":"Light mode override naar rgba(12,36,34,0.16) â duidelijke grijze gridlijnen, identiek aan de oude weergave."},{"num":"v0.11","type":"feature","title":"Foutmonitor â server- en gebruikersfouten kanaal","solution":"Realtime error-monitoring via /admin/saas â Foutmonitor. Server-errors (500-codes met stack trace) en user-errors (4xx validatie) apart filterbaar. Mark-as-resolved en delete werken."},{"num":"v0.10","type":"feature","title":"/admin/env-check diagnostic dashboard","solution":"Visueel overzicht van alle 17 integraties met status (volledig/gedeeltelijk/ontbreekt). Bovenaan een rode actie-lijst met verplichte env-vars die nog ontbreken op productie."},{"num":"v0.09","type":"polish","title":"Cyan undertone op KPI/dash cards verwijderd","problem":"In light mode had de card-achtergrond een mint-tint (#fafdfc) en schaduw bevatte rgba(12,36,34,0.04..0.07) â beide gaven een onbedoelde cyan undertone die als \"blauw randje\" werd waargenomen, zelfs voor brand-kleuren als pink.","solution":"Background naar puur #ffffff. Schaduwen naar neutraal rgba(0,0,0,...). Brand-glow blijft via --teal-glow/--teal-soft die door BrandingApplier reactief op de tenant-kleur wordt gezet."},{"num":"v0.08","type":"bugfix","title":"Meldingen-bolletje rechts naast bedrijfsnaam","problem":"De .notif-item grid had 2 kolommen [icon | body] maar 3 children (icon + body + unread-dot). Resultaat: de dot viel naar rij 2 / kolom 1, recht onder het icoon.","solution":"Grid uitgebreid naar 3 kolommen [icon | body | dot]. Dot staat nu correct rechts naast de bedrijfsnaam."},{"num":"v0.07","type":"polish","title":"Support chat + team chat avatar gecentreerd met naam","problem":"Avatar (24-32px) stond top-aligned naast een korte naam-regel (~14px), waardoor de avatar visueel veel lager doorliep dan de naam.","solution":"Naam-regel krijgt min-height: 32px + flex align-items: center. Het midden van de naam-tekst valt nu exact op het midden van de avatar â schoon uitgelijnd."},{"num":"v0.06","type":"bugfix","title":"Team chat bubble zichtbaar in light mode","problem":"Bubble background was rgba(255,255,255,0.07) â werkt op donkere achtergrond, maar op witte light-mode achtergrond onzichtbaar.","solution":"CSS-classes .cp-bubble--mine en .cp-bubble--other met theme-aware kleuren. Eigen berichten in brand-kleur, andere in lichtgrijs (#f0f2f4)."},{"num":"v0.05","type":"bugfix","title":"IMAP koppelen mag ook als SMTP timeout","problem":"Als SMTP onbereikbaar was (Railway trial blokkeerde outbound 25/465/587), kon de hele IMAP-koppeling niet worden opgeslagen.","solution":"Bij SMTP timeout/connection-refused: koppeling wordt wel gemaakt voor IMAP-only gebruik. Gebruiker krijgt waarschuwing dat versturen via klant-SMTP nog niet werkt tot Pro upgrade. Op Railway Pro inmiddels alle poorten open."},{"num":"v0.04","type":"bugfix","title":"Maandwinst chart bar-hoogte matcht het label","problem":"Bar-hoogte werd berekend uit Math.max(0,rec) + Math.max(0,one), waardoor negatieve eenmalige kosten genegeerd werden en bars dus hoger leken dan het label aangaf.","solution":"Bar = totale winst (clamp naar 0 voor negatieve maanden). Visueel splitsen in recurring + eenmalig zodat eenmalige kosten het paarse segment verkleinen, niet het groene. Bar-hoogte matcht nu exact het label."},{"num":"v0.03","type":"bugfix","title":"Team chat overlapt sidebar niet meer","problem":"Het chat-paneel werd gerenderd binnen een `aside` element met position:sticky â daardoor zat het visueel verstopt achter de sidebar in light mode.","solution":"Render via React Portal naar document.body. Het chat-paneel ontsnapt nu de stacking context en staat altijd boven andere elementen, naast de sidebar."},{"num":"v0.02","type":"bugfix","title":"Group chat toont nu groepsberichten ipv support chat","problem":"De backend nam de eerste room van de tenant â vaak de __support__ 1-op-1 room ipv de \"Iedereen\" groepschat.","solution":"Expliciet filter op name=\"Iedereen\" â group chat toont altijd de juiste room."},{"num":"v0.01","type":"bugfix","title":"Modal \"Stuur naar contentplanner\" zic
2htbaar over topbar","problem":"Topbar had hogere z-index dan modals, waardoor het bovenstuk van modals achter de topbar verdween.","solution":"z-index op main element verwijderd zodat modal-backdrop boven alles komt."}]}];
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.