← Alle aantekeningen
Web dev

SvelteKit 3 nadert: goto neemt shallow routing over en fouten zijn verplicht

DV
Daan Visser4 augustus 2026 · 2 min lezen

Het Svelte-team publiceerde deze week de augustus-editie van "What's New in Svelte" — en die leest dit keer minder als een changelog en meer als een SvelteKit 3 routekaart. De preview-builds draaien live, en drie API-wijzigingen springen er meteen uit als dingen die je nu al moet kennen.

Shallow routing verhuist naar goto

Tot nu toe vroeg shallow routing — de URL bijwerken zonder een volledige navigatie te triggeren — een losse import van `pushState` of `replaceState`. In SvelteKit 3 verdwijnt die omweg: het gaat rechtstreeks in `goto` via een nieuwe `state`-optie. Gebruik `persistState: true` als je wilt dat de staat een pagina-reload overleeft. Tegelijk worden `goto`s opties `noScroll` en `keepFocus` samengevoegd tot één `reset`-optie. Minder knoppen, dezelfde controle — precies de opruimactie waar je op wacht als je shallow routing al meer dan eens in de docs moest opzoeken.

Twee API's op weg naar pensionering

`invalidateAll` — jarenlang de standaard manier om paginadata opnieuw te laden — is deprecated en maakt plaats voor `refreshAll`. Dezelfde functionaliteit, een naam die zijn doel beter vertolkt. En `error()` verliest zijn optionele berichtsignatuur: in SvelteKit 3 is een fout zonder berichttekst een typefout. De redenering is simpel: een foutmelding zonder context is moeilijker te debuggen, en een bericht verplichten kost niets.

Nieuwe $app-modules en deployment-detectie

Twee nieuwe modules debuteren. `$app/manifest` geeft je alleen-lezen toegang tot de build-metadata van je app: `immutable`, `assets`, `prerendered` en `routes` — handig voor cachingstrategieën en dynamische routinglogica zonder een eigen build-script. `$app/service-worker` vervangt de oude `$service-worker`-import; ook `$app/paths` is nu geldig binnen een service worker-context. Daarnaar komt er ingebouwde deployment-detectie: SvelteKit 3 controleert op dataresponsen, formulieracties, tabfocus en zichtbaarheidswijzigingen of er een nieuwe versie is uitgerold en kan daar direct op reageren.

Onze kijk

SvelteKit 3 wordt steeds concreter. De API-wijzigingen in deze preview volgen één patroon: minder uitzonderingen, voorspelbaardere standaarden, betere foutterugkoppeling. Als je vandaag al op SvelteKit zit, is de migratierichting al duidelijk: hernoem `invalidateAll` naar `refreshAll`, maak je `error()`-aanroepen expliciet en bekijk wat `$app/manifest` oplevert voor wat je nu met een losstaand build-script regelt. Een stabiele releasedatum is er nog niet, maar de richting staat vast.

Een build in gedachten?Compileer je idee →