Skip to content

v6.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 20 May 07:10
310f667

6.0.0 (2026-05-20)

⚠ BREAKING CHANGES

  • response: sendCreated and sendAccepted are removed. Replace return sendCreated(event, data) with event.response.status = 201; return data; and return sendAccepted(event, data) with event.response.status = 202; return data;. See migration-v6.
  • app: promote plugin surface to IApp; drop dead error class (#916)
  • plugin: silent-skip install model; add singleton and singletonByPath flags (#915)
  • drop clone() from App, IRouter, ICache (#914)
  • app: app.on() / app.off() / HookName are removed. HandlerOptions.onBefore / onAfter / onError are removed. AppContext no longer accepts a hooks field. RouteEntry / AppRouteEntry / HandlerRouteEntry / RouteEntryType are removed (App now stores Route directly). Sub-apps mounted with use() are snapshot into the parent at mount time; late additions on the child do not propagate.
  • tighten event.method and event.params typing (#909)
  • router: drop optional routes from the IRouter contract (#907)
  • trie: feature-complete trie — method bucketing + native parser, drop path-to-regexp from hot path (#905)
  • app: track routes on App, add setRouter, narrow IRouter contract
  • resolve App options at mount time, drop appPath (#904)
  • MemoizedRouter has been removed. Migrate by dropping the wrapper and (optionally) configuring the new cache option on your router:

Features

  • app: flatten sub-apps on use(), drop hooks (#912) (1d151cb)
  • app: track routes on App, add setRouter, narrow IRouter contract (eeac090)
  • per-router pluggable ICache (replaces MemoizedRouter) (#902) (79d4d8b)
  • plugin: silent-skip install model; add singleton and singletonByPath flags (#915) (efe39cd)
  • resolve App options at mount time, drop appPath (#904) (8bd5189)
  • router: add SmartRouter — auto-selects Linear vs Trie at first lookup (#908) (425e15b)
  • trie: feature-complete trie — method bucketing + native parser, drop path-to-regexp from hot path (#905) (b001a85)
  • v6 — App rename, pluggable router family, generic IRouter<T> (#898) (285aa70)

Bug Fixes

  • bench: update server.mjs to v6 App constructor shape (#910) (88c51d3)
  • deps: bump codecov/codecov-action from 5.4.3 to 6.0.1 (#918) (8abd1fa)
  • deps: bump the minorandpatch group across 1 directory with 3 updates (#906) (b9d017b)
  • remove unused object helpers (f3e9585)

Performance Improvements

  • dispatch: reorder toResponse, reuse pipeline context, fast-skip… (#911) (1c6471c)

Code Refactoring

  • app: promote plugin surface to IApp; drop dead error class (#916) (efd3754)
  • drop clone() from App, IRouter, ICache (#914) (cd873e0)
  • response: drop sendCreated / sendAccepted helpers (b7ab571)
  • router: drop optional routes from the IRouter contract (#907) (5e144ba)
  • tighten event.method and event.params typing (#909) (c90d8a8)