Releasenotes 2025.08
26 augustus, 2025
Wat zit er in deze release?
De afgelopen maanden hebben we bij Maki gewerkt aan één van de grootste wijzigingen in de geschiedenis van ons platform. Deze release bevat daarom geen nieuwe functionaliteit, maar achter de schermen is er een enorme technische operatie uitgevoerd: een volledige upgrade van onze zoekdatabase Elasticsearch van versie 7.17.22 naar 9.1.2.
Waarom deze upgrade zo groot was
Met de stap naar Elasticsearch 8 is de zoektechnologie volledig herschreven en gemoderniseerd. Een van de belangrijkste veranderingen is dat alle communicatie nu asynchroon verloopt.
- Asynchroon betekent dat bewerkingen niet meer stap voor stap (synchroon) uitgevoerd worden, maar gelijktijdig kunnen draaien. Dit maakt systemen sneller en efficiënter, maar vraagt ook om een heel andere manier van programmeren.
- In moderne softwareontwikkeling is dit de standaard geworden, omdat het zorgt voor betere performance en schaalbaarheid.
Voor Maki betekende dit dat we niet simpelweg een update konden installeren, maar duizenden regels code moesten herschrijven naar de nieuwe manier van werken.
Wat er is aangepast
In totaal zijn meer dan 800 bestanden aangepast, goed voor zo’n 20.000 regels code. De grootste wijzigingen vonden plaats in de volgende onderdelen:
- Controllers
De controllers zijn de “verkeersregelaars” van Maki: ze ontvangen verzoeken van de gebruiker en bepalen welke acties uitgevoerd moeten worden. Deze zijn allemaal herschreven naar de nieuwe async-werkwijze zodat ze sneller en efficiënter kunnen reageren. - Searchqueries
Dit zijn de zoekopdrachten waarmee Maki informatie uit Elasticsearch haalt. Alle queries zijn omgezet naar de nieuwe Elastic-syntax én volledig async gemaakt. Dit zorgt voor betere performance en stabiliteit. - Searchmappings
Mappings beschrijven hoe data in Elasticsearch wordt opgeslagen en doorzocht kan worden. Deze structuur is compleet aangepast naar de nieuwe syntax van Elasticsearch 9. - Searchdenormalizers
Denormalizers zijn de “brug” tussen gebeurtenissen in het systeem en de database. Wanneer er bijvoorbeeld een bladwijzer wordt toegevoegd, gewijzigd of verwijderd, vertaalt een denormalizer deze gebeurtenis naar de juiste mutatie in Elasticsearch.
Tijdens de upgrade zijn alle denormalizers omgezet naar async en is AtomicUpdate geïntroduceerd. Dit was noodzakelijk omdat bij asynchroon werken meerdere wijzigingen tegelijk konden worden uitgevoerd, wat leidde tot overschrijvingen. Met AtomicUpdate wordt dit voorkomen en wordt gegarandeerd dat altijd de juiste laatste status wordt opgeslagen.
Wat dit betekent voor klanten
Voor jullie als gebruiker verandert er uiterlijk niets – Maki blijft werken zoals jullie gewend zijn. Achter de schermen draait er nu echter een veel moderner fundament, dat zorgt voor:
- Betere performance en schaalbaarheid
- Meer stabiliteit in zoekopdrachten en updates
- Een stevige basis voor toekomstige nieuwe functionaliteiten
Samenwerking
Door de sterke samenwerking tussen developers en testers hebben we deze uitdagende release succesvol afgerond. Ondanks de technische hobbels onderweg is het proces soepel verlopen en is Maki klaar voor de toekomst.