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 supersededload()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 andonCatchcallbacks asunknown. Solid boundary errors remain typed asError; SSR now wraps non-Errorloader errors to match Solid’s native boundary behavior, preserving the original value incause. Router state and loaderonErrorvalues are unchanged.When upgrading React or Vue, narrow boundary errors (for example, with
error instanceof Error) before readingmessageorstack.ErrorComponentProps<TError>remains available for values narrowed to a specific error type. RouteonErrortypes are unchanged. -
#8207
08eff50- Fix consumer typechecking withskipLibCheck: falseby omitting the internal beforeLoad context field from published dehydrated match declarations.Retain the exported
isAbsoluteUrldeclaration 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