github TanStack/router @tanstack/router-core@1.171.28

Patch Changes

  • #8222 edf0e16 - Make each load transaction's completion follow its current successor so a burst of back-to-back loads wakes each superseded waiter once instead of once per successor. Previously every superseded load() re-polled the current transaction on each later completion, which was quadratic in microtask work.

  • #8165 2f20c00 - Exclude structural descendants below error and not-found boundaries from route lifecycle callbacks. Preserve lifecycle membership through invalidation, hydration, background reloads, and superseded navigation publication.

  • #8209 28a5e45 - Preserve falsy thrown values in React and Vue error boundaries. Type React and Vue boundary error components and onCatch callbacks as unknown. Solid boundary errors remain typed as Error; SSR now wraps non-Error loader errors to match Solid’s native boundary behavior, preserving the original value in cause. Router state and loader onError values are unchanged.

    When upgrading React or Vue, narrow boundary errors (for example, with error instanceof Error) before reading message or stack. ErrorComponentProps<TError> remains available for values narrowed to a specific error type. Route onError types are unchanged.

  • #8207 08eff50 - Fix consumer typechecking with skipLibCheck: false by omitting the internal beforeLoad context field from published dehydrated match declarations.

    Retain the exported isAbsoluteUrl declaration used by framework bindings so the package entry point does not reference a stripped symbol.

  • #8259 216c0c4 - Reduce Promise allocations during client navigation and static server SSR policy resolution. Skip cancellable waits for synchronous beforeLoad results while preserving navigation cancellation.

  • #8240 2f91503 - Avoid quadratic resource handoff scans when navigating with many cached route matches.

  • #8161 f0b5eda - Retain successful not-found matches as terminal shared boundaries during client navigation, preserving route context while the destination loads.

  • #8142 50eafca - Avoid unnecessary JSON.parse calls for search parameter values that cannot begin valid JSON, while preserving custom parser behavior.

  • #8251 0497cae - Use URL.canParse for absolute URL checks in links, navigation, redirects, and build configuration. Preserve a URL constructor fallback for older browsers.

  • #8230 ee28348 - Replace the internal LRU cache behind path resolution, route matching and the SSR manifest lookup with a smaller SIEVE cache whose hits no longer relink a list, and fix an eviction edge case in the old implementation.

  • #8244 c18e690 - Reduce promise allocations during client navigation when loader data and route components are already available.

  • Updated dependencies [9035abc]:

    • @tanstack/history@1.162.2

Don't miss a new router release

NewReleases is sending notifications on new releases.