7 hours ago
next.js

v16.3.0-canary.96

Misc Changes

  • [sourcemaps] Use file: sourcemaps for Turbopack to improve dev performance: #95946
  • Give RouteCacheEntry a single hidden class across its lifecycle: #96164
  • Keep optimistic-route param handling monomorphic: #96169
  • Store RouteTree slots in a Map to keep slot access monomorphic: #96168
  • Make reifyRouteTree object literals match the canonical RouteTree key order: #96162
  • Keep VaryPath monomorphic by making isRootParam required: #96122
  • docs: expand and modernize the Single-Page Applications guide: #95860
  • docs: navigation interrupts after streaming has started (notFound, forbidden, unauthorized): #95851
  • docs: reframe prefetching around automatic vs. controllable behavior: #95896
  • docs(view-transitions): fix the skill install command: #96142
  • Include additional prerender metadata about build-time routes: #96080
  • Optimize app page entry analysis: #96058
  • [ts-plugin] Preserve TypeScript quick info metadata: #95863
  • [turbopack] Import Webpack's tests for tree-shaking: #95811
  • [turbopack] Drop dead require() calls: #95718
  • [turbopack] Track usage of modules imported with require(): #95717
  • Return plain text 404 for non-document requests to unknown paths: #95930
  • [RSC HMR] Fix a flurry of refetches when a editing component imported from many routes: #96102
  • [turbopack] Track re-exports in import_usage inside of compute_import_usage: #95989

Credits

Huge thanks to @gaearon, @acdlite, @aurorascharff, @gnoff, @timneutkens, @devjiwonchoi, and @sampoder for helping!

8 hours ago
fullcalendar

v7.0.2

  • FEATURE: Restored Bootstrap 5 support (originally omitted from v7) (#8040)
  • FIX: Vue 3 types for template ref for getApi (#8086)
  • FIX: Angular DOM-insertion JS error with #eventContent (#8085)
13 hours ago
router

Release 2026-07-24 17:14

Release 2026-07-24 17:14

Changes

Fix

  • router: final-review regressions, changeset, and byte recovery (#7883) (baa18cd913) by @Sheraff
  • router: address lane loader regressions (#7880) (90a7f3923c) by @Sheraff
  • router-core: harden lane loading lifecycle (#7869) (1f271022b5) by @Sheraff
  • router-core: complete lane match loader rewrite (#7858) (423f905df8) by @Sheraff
  • preload always releases its borrowed lease (da5cb82da9) by @Sheraff
  • react-router not found ambiguous assertion (bf9060267c) by @Sheraff
  • solid Transitionner unsub cleanup before early return (fb21a428b0) by @Sheraff
  • lane match loader rewrite (ceaa4d26f2) by @Sheraff

Performance

  • router: reduce SSR lane loading overhead (#7875) (03a1fde261) by @Sheraff

Chore

  • migrate to typescript 7 (#7887) (88f366ab8e) by @schiller-manuel
  • router-core: lane match loader final byte-shave (#7885) (55ceb3a3e4) by @Sheraff
  • add React Start basic Rsbuild example (#7729) (21a8597952) by @SyMind

Packages

  • @tanstack/arktype-adapter@1.167.1-pre.0
  • @tanstack/react-router@1.170.19-pre.0
  • @tanstack/react-router-devtools@1.167.1-pre.0
  • @tanstack/react-router-ssr-query@1.167.2-pre.0
  • @tanstack/react-start@1.168.33-pre.0
  • @tanstack/react-start-client@1.168.17-pre.0
  • @tanstack/react-start-rsc@0.1.32-pre.0
  • @tanstack/react-start-server@1.167.23-pre.0
  • @tanstack/router-cli@1.167.22-pre.0
  • @tanstack/router-core@1.171.16-pre.0
  • @tanstack/router-devtools@1.167.1-pre.0
  • @tanstack/router-devtools-core@1.168.1-pre.0
  • @tanstack/router-generator@1.167.22-pre.0
  • @tanstack/router-plugin@1.168.24-pre.0
  • @tanstack/router-ssr-query-core@1.169.2-pre.0
  • @tanstack/router-vite-plugin@1.167.24-pre.0
  • @tanstack/solid-router@1.170.19-pre.0
  • @tanstack/solid-router-devtools@1.167.1-pre.0
  • @tanstack/solid-router-ssr-query@1.167.2-pre.0
  • @tanstack/solid-start@1.168.33-pre.0
  • @tanstack/solid-start-client@1.168.17-pre.0
  • @tanstack/solid-start-server@1.167.23-pre.0
  • @tanstack/start-client-core@1.170.15-pre.0
  • @tanstack/start-plugin-core@1.171.25-pre.0
  • @tanstack/start-server-core@1.169.18-pre.0
  • @tanstack/start-static-server-functions@1.167.20-pre.0
  • @tanstack/start-storage-context@1.167.18-pre.0
  • @tanstack/valibot-adapter@1.167.1-pre.0
  • @tanstack/vue-router@1.170.18-pre.0
  • @tanstack/vue-router-devtools@1.167.1-pre.0
  • @tanstack/vue-router-ssr-query@1.167.2-pre.0
  • @tanstack/vue-start@1.168.32-pre.0
  • @tanstack/vue-start-client@1.167.20-pre.0
  • @tanstack/vue-start-server@1.167.23-pre.0
  • @tanstack/zod-adapter@1.167.1-pre.0
13 hours ago
router

@tanstack/vue-start-server@1.167.23-pre.0

Patch Changes

  • Updated dependencies [baa18cd]:
    • @tanstack/router-core@1.171.16-pre.0
    • @tanstack/vue-router@1.170.18-pre.0
    • @tanstack/start-server-core@1.169.18-pre.0
13 hours ago
router

@tanstack/vue-router@1.170.18-pre.0

Patch Changes

  • #7883 baa18cd - Rewrite match loading around a lane-based scheduler that tracks each navigation, preload, and background reload as an ordered unit of work. This fixes pending/redirect/retry state leaking between overlapping navigations, restores correct SSR status codes for redirects, errors, and not-found responses, and closes hydration gaps where the client re-ran work the server had already completed.

    • Route headers() now only runs on the server, matching the documented behavior — it is no longer invoked during client-side asset projection.
    • Default gcTime and preloadGcTime are reduced from 30 minutes (1_800_000) to 5 minutes (300_000).

    Removed / changed public API

    • RouterState no longer includes loadedAt, isTransitioning, statusCode, or redirect. Use match.updatedAt in place of loadedAt; subscribe to router.state.status / router.state.isLoading in place of isTransitioning; server response status and redirect handling are now internal to the server loader and are no longer exposed on router.state.
    • RouteMatch.fetchCount has been removed, with no replacement — it was purely informational.
    • RouteMatch.status no longer includes 'redirected' (it remains 'pending' | 'success' | 'error' | 'notFound') — redirected matches are dropped from the match list instead of being rendered.
    • RouteMatch.globalNotFound has been renamed and privatized to the internal _notFound field. Use match.status === 'notFound' instead.
    • Removed RouterCore members getMatch(), updateMatch(), cancelMatch(), and cancelMatches() — read matches from router.state.matches (e.g. router.state.matches.find((m) => m.id === id)); there is no replacement for mutating or cancelling an individual in-flight match from outside the router.
    • Removed hasNotFoundMatch() — use router.state.matches.some((m) => m.status === 'notFound').
    • Removed looseRoutesById — use routesById.
    • Removed isPrerendering(), isViewTransitionTypesSupported, and viewTransitionPromise, with no replacement.
    • Removed getParsedLocationHref() and clearExpiredCache(), with no replacement — expired cache entries are now reconciled automatically as part of match commit.
    • Removed latestLoadPromise and beforeLoad(), with no replacement.
    • commitLocationPromise and pendingBuiltLocation are now private (_commitPromise, _pendingLocation) and no longer part of the public RouterCore surface.
    • Removed the exported GetMatchFn and UpdateMatchFn types, along with the methods they typed.
    • Removed the standalone getMatchedRoutes() export from @tanstack/router-core — use the router.getMatchedRoutes() instance method instead.
    • MatchRoutesOpts.preload and MatchRoutesOpts.dest have been removed.
    • StartTransitionFn is now (fn, expected, urgent?) => Promise<boolean> (previously (fn) => void). This only affects custom framework adapters that implement startTransition.
  • Updated dependencies [baa18cd]:

    • @tanstack/router-core@1.171.16-pre.0
13 hours ago
router

@tanstack/vue-router-ssr-query@1.167.2-pre.0

Patch Changes

  • Updated dependencies [baa18cd]:
    • @tanstack/vue-router@1.170.18-pre.0
    • @tanstack/router-ssr-query-core@1.169.2-pre.0
13 hours ago
router

@tanstack/vue-start-client@1.167.20-pre.0

Patch Changes

  • Updated dependencies [baa18cd]:
    • @tanstack/router-core@1.171.16-pre.0
    • @tanstack/vue-router@1.170.18-pre.0
    • @tanstack/start-client-core@1.170.15-pre.0
13 hours ago
router

@tanstack/vue-router-devtools@1.167.1-pre.0

Patch Changes

  • Updated dependencies [baa18cd]:
    • @tanstack/router-core@1.171.16-pre.0
    • @tanstack/vue-router@1.170.18-pre.0
    • @tanstack/router-devtools-core@1.168.1-pre.0
13 hours ago
router

@tanstack/vue-start@1.168.32-pre.0

Patch Changes

  • Updated dependencies [baa18cd]:
    • @tanstack/vue-router@1.170.18-pre.0
    • @tanstack/start-client-core@1.170.15-pre.0
    • @tanstack/start-plugin-core@1.171.25-pre.0
    • @tanstack/start-server-core@1.169.18-pre.0
    • @tanstack/vue-start-client@1.167.20-pre.0
    • @tanstack/vue-start-server@1.167.23-pre.0
13 hours ago
router

@tanstack/zod-adapter@1.167.1-pre.0

Patch Changes

  • Updated dependencies [baa18cd]:
    • @tanstack/react-router@1.170.19-pre.0