fix(deps): update react-router monorepo to v7 (major)#875
Open
renovate[bot] wants to merge 1 commit intomasterfrom
Open
fix(deps): update react-router monorepo to v7 (major)#875renovate[bot] wants to merge 1 commit intomasterfrom
renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
278cde3 to
9a043d6
Compare
9a043d6 to
9080354
Compare
db2ace5 to
22d2fcb
Compare
3b9b32d to
0477b9c
Compare
d267e6f to
d513e92
Compare
d513e92 to
673b0a9
Compare
b9678fc to
5e565d4
Compare
fb51f8d to
c29c93d
Compare
c29c93d to
3c4da56
Compare
e90a7e6 to
79b7b51
Compare
79b1dfc to
575695e
Compare
26501ca to
a8577fa
Compare
d9a3a2a to
9b53b6f
Compare
7249d83 to
aad3058
Compare
605d7e9 to
b91e183
Compare
b91e183 to
0bb2f5f
Compare
a466eaf to
29cfbfd
Compare
977947c to
4c4d6e8
Compare
4c4d6e8 to
a3167c7
Compare
a3167c7 to
13f57ac
Compare
ab38f9a to
876767f
Compare
315aed9 to
6f21ed1
Compare
6f21ed1 to
8dfee4f
Compare
8dfee4f to
0664a11
Compare
0664a11 to
323f7e4
Compare
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.
This PR contains the following updates:
^6.2.2→^7.0.0^6.30.2→^7.0.0](https://renovatebot.com/diffs/npm/react-router@>=6.0.0 <6.30.2/6.30.3/7.14.0)Release Notes
remix-run/react-router (react-router-dom)
v7.14.0Compare Source
Patch Changes
react-router@7.14.0v7.13.2Compare Source
Patch Changes
react-router@7.13.2v7.13.1Compare Source
Patch Changes
react-router@7.13.1v7.13.0Compare Source
Patch Changes
react-router@7.13.0v7.12.0Compare Source
Patch Changes
react-router@7.12.0v7.11.0Compare Source
Patch Changes
react-router@7.11.0v7.10.1Compare Source
Patch Changes
react-router@7.10.1v7.10.0Compare Source
Patch Changes
react-router@7.10.0v7.9.6Compare Source
Patch Changes
react-router@7.9.6v7.9.5Compare Source
Patch Changes
react-router@7.9.5v7.9.4Compare Source
Patch Changes
react-router@7.9.4v7.9.3Compare Source
Patch Changes
react-router@7.9.3v7.9.2Compare Source
Patch Changes
react-router@7.9.2v7.9.1Compare Source
Patch Changes
react-router@7.9.1v7.9.0Compare Source
Patch Changes
react-router@7.9.0v7.8.2Compare Source
Patch Changes
react-router@7.8.2v7.8.1Compare Source
Patch Changes
react-router@7.8.1v7.8.0Compare Source
Patch Changes
react-router@7.8.0v7.7.1Compare Source
Patch Changes
react-router@7.7.1v7.7.0Compare Source
Patch Changes
react-router@7.7.0v7.6.3Compare Source
Patch Changes
react-router@7.6.3v7.6.2Compare Source
Patch Changes
react-router@7.6.2v7.6.1Compare Source
Patch Changes
react-router@7.6.1v7.6.0Compare Source
Patch Changes
react-router@7.6.0v7.5.3Compare Source
Patch Changes
react-router@7.5.3v7.5.2Compare Source
Patch Changes
react-router@7.5.2v7.5.1Compare Source
Patch Changes
react-router@7.5.1v7.5.0Compare Source
Patch Changes
react-router@7.5.0v7.4.1Compare Source
Patch Changes
react-router@7.4.1v7.4.0Compare Source
Patch Changes
react-router@7.4.0v7.3.0Compare Source
Patch Changes
react-router@7.3.0v7.2.0Compare Source
Patch Changes
react-router@7.2.0v7.1.5Compare Source
Patch Changes
react-router@7.1.5v7.1.4Compare Source
Patch Changes
react-router@7.1.4v7.1.3Compare Source
Patch Changes
react-router@7.1.3v7.1.2Compare Source
Patch Changes
react-router@7.1.2v7.1.1Compare Source
Patch Changes
react-router@7.1.1v7.1.0Compare Source
Patch Changes
react-router@7.1.0v7.0.2Compare Source
Patch Changes
react-router@7.0.2v7.0.1Compare Source
Patch Changes
react-router@7.0.1v7.0.0Compare Source
Major Changes
Remove the original
deferimplementation in favor of using raw promises via single fetch andturbo-stream. This removes these exports from React Router: (#11744)deferAbortedDeferredErrortype TypedDeferredDataUNSAFE_DeferredDataUNSAFE_DEFERRED_SYMBOL,Use
createRemixRouter/RouterProviderinentry.clientinstead ofRemixBrowser(#11469)Remove single fetch future flag. (#11522)
Remove
future.v7_startTransitionflag (#11696)Remove
future.v7_normalizeFormMethodfuture flag (#11697)Allow returning
undefinedfrom actions and loaders (#11680)update minimum node version to 18 (#11690)
Remove
future.v7_prependBasenamefrom the ionternalized@remix-run/routerpackage (#11726)Remove
future.v7_throwAbortReasonfrom internalized@remix-run/routerpackage (#11728)Add
exportsfield to all packages (#11675)node package no longer re-exports from react-router (#11702)
updates the minimum React version to 18 (#11689)
future.v7_partialHydrationflag (#11725)<RouterProvider fallbackElement>propfallbackElementto ahydrateFallbackElement/HydrateFallbackon your root routefuture.v7_partialHydration(when usingfallbackElement),state.navigationwas populated during the initial loadfuture.v7_partialHydration,state.navigationremains in an"idle"state during the initial loadRemove
future.v7_fetcherPersistflag (#11731)Minor Changes
Link/NavLinkwhen using Remix SSR (#11402)ScrollRestorationso it can restore properly on an SSR'd document load (#11401)RouterProvider. When running from a Remix-SSR'd HTML payload with the properwindowvariables (__remixContext,__remixManifest,__remixRouteModules), you don't need to pass arouterprop andRouterProviderwill create therouterfor you internally. (#11396) (#11400)Patch Changes
RouterProviderinternals to reduce uneccesary re-renders (#11817)react-router@7.0.0v6.30.3Compare Source
v6.30.2Compare Source
v6.30.1Compare Source
v6.30.0Compare Source
v6.29.0Compare Source
v6.28.2Compare Source
v6.28.1Compare Source
v6.28.0Compare Source
v6.27.0Compare Source
v6.26.2Compare Source
v6.26.1Compare Source
v6.26.0Compare Source
v6.25.1Compare Source
v6.25.0Compare Source
v6.24.1Compare Source
v6.24.0Compare Source
v6.23.1Compare Source
v6.23.0Compare Source
v6.22.3Compare Source
v6.22.2Compare Source
v6.22.1Compare Source
v6.22.0Compare Source
v6.21.3Compare Source
v6.21.2Compare Source
v6.21.1Compare Source
v6.21.0Compare Source
v6.20.1Compare Source
v6.20.0Compare Source
v6.19.0Compare Source
v6.18.0Compare Source
v6.17.0Compare Source
v6.16.0Compare Source
v6.15.0Compare Source
v6.14.2Compare Source
v6.14.1Compare Source
v6.14.0Compare Source
v6.13.0Compare Source
v6.12.1Compare Source
v6.12.0Compare Source
v6.11.2Compare Source
v6.11.1Compare Source
v6.11.0Compare Source
v6.10.0Compare Source
v6.9.0Compare Source
v6.8.2Compare Source
v6.8.1Compare Source
v6.8.0Compare Source
v6.7.0Compare Source
v6.6.2Compare Source
v6.6.1Compare Source
v6.6.0Compare Source
v6.5.0Compare Source
v6.4.5Compare Source
v6.4.4: v6.4.4Compare Source
What's Changed
action/loaderfunction returnsundefinedas revalidations need to know whether the loader has previously been executed.undefinedalso causes issues during SSR stringification for hydration. You should always ensure yourloader/actionreturns a value, and you may returnnullif you don't wish to return anything. (#9511)basenamein static data routers (#9591)ErrorResponsebodies to contain more descriptive text in internal 403/404/405 scenariosNavLinkand descendant<Routes>(#9589, #9647)ErrorResponseinstances when using built-in hydration (#9593)basenamein static data routers (#9591)@remix-run/router@1.0.4react-router@6.4.4Full Changelog: https://github.com/remix-run/react-router/compare/react-router-dom@6.4.3...react-router-dom@6.4.4
v6.4.3Compare Source
v6.4.2Compare Source
v6.4.1Compare Source
v6.4.0Compare Source
v6.3.0: react-router@v6.3.0Compare Source
What's Changed
New Contributors
Full Changelog: remix-run/react-router@v6.2.2...v6.3.0
remix-run/react-router (react-router@>=6.0.0 <6.30.2)
v7.14.0Compare Source
Patch Changes
UNSTABLE RSC FRAMEWORK MODE BREAKING CHANGE - Existing route module exports remain unchanged from stable v7 non-RSC mode, but new exports are added for RSC mode. If you want to use RSC features, you will need to update your route modules to export the new annotations. (#14901)
If you are using RSC framework mode currently, you will need to update your route modules to the new conventions. The following route module components have their own mutually exclusive server component counterparts:
ServerComponentdefaultServerErrorBoundaryErrorBoundaryServerLayoutLayoutServerHydrateFallbackHydrateFallbackIf you were previously exporting a
ServerComponent, yourErrorBoundary,Layout, andHydrateFallbackwere also server components. If you want to keep those as server components, you can rename them and prefix them withServer. If you were previously importing the implementations of those components from a client module, you can simply inline them.Example:
Before
After
rsc Link prefetch (#14902)
Remove recursion from turbo-stream v2 allowing for encoding / decoding of massive payloads. (#14838)
encodeViaTurboStream leaked memory via unremoved AbortSignal listener (#14900)
v7.13.2Compare Source
Patch Changes
Fix clientLoader.hydrate when an ancestor route is also hydrating a clientLoader (#14835)
Fix type error when passing Framework Mode route components using
Route.ComponentPropstocreateRoutesStub(#14892)Fix percent encoding in relative path navigation (#14786)
Add
future.unstable_passThroughRequestsflag (#14775)By default, React Router normalizes the
request.urlpassed to yourloader,action, andmiddlewarefunctions by removing React Router's internal implementation details (.datasuffixes,index+_routesquery params).Enabling this flag removes that normalization and passes the raw HTTP
requestinstance to your handlers. This provides a few benefits:new Request()calls on the critical path.datasuffix (useful for observability purposes)If you were previously relying on the normalization of
request.url, you can switch to use the new siblingunstable_urlparameter which contains aURLinstance representing the normalized location:Internal refactor to consolidate framework-agnostic/React-specific route type layers - no public API changes (#14765)
Sync protocol validation to rsc flows (#14882)
Add a new
unstable_url: URLparameter to route handler methods (loader,action,middleware, etc.) representing the normalized URL the application is navigating to or fetching, with React Router implementation details removed (.datasuffix,index/_routesquery params) (#14775)This is being added alongside the new
future.unstable_passthroughRequestsfuture flag so that users still have a way to access the normalized URL when that flag is enabled and non-normalizedrequest's are being passed to your handlers. When adopting this flag, you will only need to start leveraging this new parameter if you are relying on the normalization ofrequest.urlin your application code.If you don't have the flag enabled, then
unstable_urlwill matchrequest.url.v7.13.1Compare Source
Patch Changes
fix null reference exception in bad codepath leading to invalid route tree comparisons (#14780)
fix: clear timeout when turbo-stream encoding completes (#14810)
Improve error message when Origin header is invalid (#14743)
Fix matchPath optional params matching without a "/" separator. (#14689)
add RSC unstable_getRequest (#14758)
Fix
HydrateFallbackrendering during initial lazy route discovery with matching splat route (#14740)[UNSTABLE] Add support for
<Link unstable_mask>in Data Mode which allows users to navigate to a URL in the router but "mask" the URL displayed in the browser. This is useful for contextual routing usages such as displaying an image in a model on top of a gallery, but displaying a browser URL directly to the image that can be shared and loaded without the contextual gallery in the background. (#14716)Notes:
useLocation().unstable_maskso you can detect whether you are currently masked or not.history.stateduring SSR.backgroundLocationmanagement.RSC: Update failed origin checks to return a 400 status and appropriate UI instead of a generic 500 (#14755)
Preserve query parameters and hash on manifest version mismatch reload (#14813)
v7.13.0Compare Source
Minor Changes
crossOriginprop toLinkscomponent (#14687)Patch Changes
allowedActionOriginsglob check so**matches all domains (#14722)v7.12.0Compare Source
Minor Changes
react-router.config.tsconfigallowedActionOriginsfield. (#14708)Patch Changes
Fix
generatePathwhen used with suffixed params (i.e., "/books/:id.json") (#14269)Export
UNSAFE_createMemoryHistoryandUNSAFE_createHashHistoryalongsideUNSAFE_createBrowserHistoryfor consistency. These are not intended to be used for new apps but intended to help apps usiongunstable_HistoryRoutermigrate from v6->v7 so they can adopt the newer APIs. (#14663)Escape HTML in scroll restoration keys (#14705)
Validate redirect locations (#14706)
[UNSTABLE] Pass
<Scripts nonce>value through to the underlyingimportmapscripttag when usingfuture.unstable_subResourceIntegrity(#14675)[UNSTABLE] Add a new
future.unstable_trailingSlashAwareDataRequestsflag to provide consistent behavior ofrequest.pathnameinsidemiddleware,loader, andactionfunctions on document and data requests when a trailing slash is present in the browser URL. (#14644)Currently, your HTTP and
requestpathnames would be as follows for/a/b/cand/a/b/c//a/b/crequestpathname`/a/b/c/a/b/c✅/a/b/c.data/a/b/c✅/a/b/c/requestpathname`/a/b/c//a/b/c/✅/a/b/c.data/a/b/cWith this flag enabled, these pathnames will be made consistent though a new
_.dataformat for client-side.datarequests:/a/b/crequestpathname`/a/b/c/a/b/c✅/a/b/c.data/a/b/c✅/a/b/c/requestpathname`/a/b/c//a/b/c/✅/a/b/c/_.data⬅️/a/b/c/✅This a bug fix but we are putting it behind an opt-in flag because it has the potential to be a "breaking bug fix" if you are relying on the URL format for any other application or caching logic.
Enabling this flag also changes the format of client side
.datarequests from/_root.datato/_.datawhen navigating to/to align with the new format. This does not impact therequestpathname which is still/in all cases.Preserve
clientLoader.hydrate=truewhen using<HydratedRouter unstable_instrumentations>(#14674)v7.11.0Compare Source
Minor Changes
<HydratedRouter onError>/<RouterProvider onError>(#14546)Patch Changes
add support for throwing redirect Response's at RSC render time (#14596)
Support for throwing
data()and Response from server component render phase. Response body is not serialized as async work is not allowed as error encoding phase. If you wish to transmit data to the boundary, throwdata()instead. (#14632)Fix
unstable_useTransitionsprop on<Router>component to permit omission for backewards compatibility (#14646)routeRSCServerRequestreplacefetchServerwithserverResponse(#14597)[UNSTABLE] Add a new
unstable_defaultShouldRevalidateflag to various APIs to allow opt-ing out of standard revalidation behaviors. (#14542)If active routes include a
shouldRevalidatefunction, then your value will be passed asdefaultShouldRevalidatein those function so that the route always has the final revalidation determination.<Form method="post" unstable_defaultShouldRevalidate={false}>submit(data, { method: "post", unstable_defaultShouldRevalidate: false })<fetcher.Form method="post" unstable_defaultShouldRevalidate={false}>fetcher.submit(data, { method: "post", unstable_defaultShouldRevalidate: false })This is also available on non-submission APIs that may trigger revalidations due to changing search params:
<Link to="/" unstable_defaultShouldRevalidate={false}>navigate("/?foo=bar", { unstable_defaultShouldRevalidate: false })setSearchParams(params, { unstable_defaultShouldRevalidate: false })Allow redirects to be returned from client side middleware (#14598)
Handle
dataStrategyimplementations that return insufficient result sets by adding errors for routes without any available result (#14627)v7.10.1Compare Source
Patch Changes
useOptimisticstub we provide for React 18 users to use a stable setter function to avoid potentialuseEffectloops - specifically when using<Link viewTransition>(#14628)v7.10.0Compare Source
Minor Changes
Stabilize
fetcher.reset()(#14545)fetcher.unstable_reset()Stabilize the
dataStrategymatch.shouldRevalidateArgs/match.shouldCallHandler()APIs. (#14592)The
match.shouldLoadAPI is now marked deprecated in favor of these more powerful alternativesIf you're using this API in a custom
dataStrategytoday, you can swap to the new API at your convenience:match.shouldRevalidateArgsis the argument that will be passed to the routeshouldRevaliatefunctionCombined with the parameter accepted by
match.shouldCallHandler, you can define a custom revalidation behavior for yourdataStrategy:Patch Changes
Fix a Framework Mode bug where the
defaultShouldRevalidateparameter toshouldRevalidatewould not be correct afteractionreturned a 4xx/5xx response (truewhen it should have beenfalse) (#14592)shouldRevalidatefunction relied on that parameter, you may have seen unintended revalidationsFix
fetcher.submitfailing with plain objects containing atagNameproperty (#14534)[UNSTABLE] Add
unstable_patternto the parameters for client sideunstable_onError, refactor how it's called byRouterProviderto avoid potential strict mode issues (#14573)Add new
unstable_useTransitionsflag to routers to give users control over the usage ofReact.startTransitionandReact.useOptimistic. (#14524)<HydratedRouter unstable_transition>/<RouterProvider unstable_transition>React.startTransitionReact.startTransitionConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.