Repository navigation
chore(release): bump router to 0.22.0 - #1064
Merged
Merged
Conversation
commit: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps
@rangojs/routerto 0.22.0:## Unreleasedbecomes## 0.22.0 (2026-10-06)inpackages/rangojs-router/CHANGELOG.md, andpackage.jsongets the version. No code change.Also adds two changelog entries that were missing: on-demand prerender itself (#640 merged without one; only the warming entry from #1063 mentioned it), and the one behavior change #640 made outside the feature (
cache({ tags })drops duplicate tags).Minor: two new features.
What goes out
Prerender(..., { onDemand }),createRouter({ prerender: { store, ttl, onRevalidate } }), the bound runnerrouter.prerender({ env, ctx })with.many()and.markStale(),createKVPrerenderStore,createMemoryPrerenderStore, plain get/set custom stores (feat(router): on-demand (ISR-style) prerender #640).router.prerender()warms any route before traffic, for shared cache stores;SegmentCacheStore.scope;originon the runner binding (router.prerender() for every route: warm runtime caches before traffic, shared stores only (design) #1062, feat(router): router.prerender() warms any route before traffic #1063).Prerender+pprshell HIT hydrates with the handle values itsssr: falseloaders pushed (Prerender + ppr: a settled push from an ssr: false loader is in the shell HTML but never reaches the client (hydration error on every HIT) #1057, fix(router): a Prerender + ppr shell HIT hydrates with its loader pushes (#1057) #1061).ssr: falseloader no longer stops the shell capture (PPR shell HIT: the shell bakes an empty element for a deferred handle push, so the page fails hydration on every hit #1035, fix(router): shell capture no longer waits for loader pushes its record leaves out (#1035) #1059).Not validated on a deployed target
On-demand prerender and warming ran on miniflare, the Node preset and the unit and browser suites only; no deployed worker or Vercel project has exercised them. The same holds for per-app cache versions from 0.21.0 (#1043), which on-demand entries are keyed by.
Test plan
pnpm run typecheck,pnpm run test:unit:all(router 7,859 unit, 561 RSC with 2 expected failures),pnpm run lint,pnpm run format