Changelog
All notable changes to routekit will be listed here. The format follows Keep a Changelog, and routekit adheres to Semantic Versioning.
1.0.0 — 2026-04-15
The first stable release. The API is now frozen for the 1.x line; breaking changes will land in 2.0 and require a deprecation cycle.
Added
defineConfig()helper forroutekit.config.ts(forward-compatible with the planned codegen CLI).metafield onRouteDefinition, exposed asmatch.metaat runtime.- React adapter (
routekit/react) with<Router />anduseRoute(). isActive(href, url, options?)utility for active-link styling.- Wildcard routes (
/files/*) capture remaining segments asparams.wildcard.
Changed
- Default
scrollBehavioris now'auto'(was'manual'in pre-1.0). The new default scrolls to top on forward nav and restores on back/forward.
Removed
router.subscribe()(deprecated in 0.9.0). Userouter.on('navigate', ...)instead.
0.9.0 — 2026-02-01
Added
- Multiple event types:
navigate,no-match,before-navigate,after-navigate. - TypeScript:
Match<T>is now a discriminated union keyed bypath.
0.8.0 — 2025-11-12
Added
- Hash-based routing via
{ hash: true }option. For environments that can’t fall back toindex.html. - Programmatic
router.replace()(does not push history).
Fixed
- Cmd-click and middle-click on
<a>elements no longer trigger router navigation (matches browser native behavior).
0.7.0 — 2025-09-04
Added
RouteDefinition.meta(typed asRecord<string, unknown>).match.statefield forpushState-style state passing.
Fixed
- Trailing slash matching is now consistent:
/posts/and/postsmatch the same route. Previously inconsistent acrossmatch()andstart().
0.6.0 — 2025-07-21
Added
- First TypeScript-first release. Generic types via
as constroute tables. - Tree-shakable bundle: importing only
createRouteranduseRoutelands ≤2 KB.
Removed
- IE11 polyfill. routekit now targets ES2020.
0.5.0 — 2025-05-10
Initial public release. CHANGELOG started here. Earlier versions were internal.