-
Notifications
You must be signed in to change notification settings - Fork 17
chore(deps): update dependency react-router-dom to v7 - autoclosed #253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
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
fe464bd to
8ebbb83
Compare
4a0f8b5 to
5718925
Compare
9d9ed41 to
429dd55
Compare
1128215 to
6fca78d
Compare
603a697 to
c776c87
Compare
ccbea98 to
f614f8b
Compare
9581f7b to
1876e0a
Compare
1876e0a to
6283e07
Compare
6283e07 to
62febcc
Compare
62febcc to
9573af1
Compare
9573af1 to
8327fab
Compare
8327fab to
632d6ca
Compare
632d6ca to
461a63a
Compare
461a63a to
e1e90b1
Compare
e1e90b1 to
b09be80
Compare
b09be80 to
c2861a7
Compare
c2861a7 to
edcffcf
Compare
edcffcf to
cfeb26c
Compare
cfeb26c to
9ea6941
Compare
9ea6941 to
f89080f
Compare
bb9d1c4 to
ead14d0
Compare
ead14d0 to
911b1f8
Compare
911b1f8 to
0046899
Compare
0046899 to
8d28a2a
Compare
8d28a2a to
e60f92c
Compare
e60f92c to
1925b4c
Compare
1925b4c to
4f7444b
Compare
Author
|
4f7444b to
e872087
Compare
e872087 to
3cd9541
Compare
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:
5.3.0->7.0.2Release Notes
remix-run/react-router (react-router-dom)
v7.0.2Compare Source
Patch Changes
[email protected]v7.0.1Compare Source
Patch Changes
[email protected]v7.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)[email protected]v6.28.0Compare Source
Minor Changes
json/deferin favor of returning raw objectsPatch Changes
[email protected]@remix-run/[email protected]v6.27.0Compare Source
v6.26.2Compare Source
v6.26.1Compare Source
v6.26.0Compare Source
Minor Changes
replace(url, init?)alternative toredirect(url, init?)that performs ahistory.replaceStateinstead of ahistory.pushStateon client-side navigation redirects (#11811)Patch Changes
future.v7_partialHydrationalong withunstable_patchRoutesOnMiss(#11838)router.state.matcheswill now include any partial matches so that we can render ancestorHydrateFallbackcomponents@remix-run/[email protected][email protected]v6.25.1Compare Source
Patch Changes
RouterProviderinternals to reduce unnecessary re-renders (#11803)[email protected]v6.25.0Compare Source
Minor Changes
Stabilize
future.unstable_skipActionErrorRevalidationasfuture.v7_skipActionErrorRevalidation(#11769)Responsewith a4xx/5xxstatus codeshouldRevalidateshouldRevalidate'sunstable_actionStatusparameter toactionStatusPatch Changes
[email protected]@remix-run/[email protected]v6.24.1Compare Source
Patch Changes
polyfill.ioreference from warning message because the domain was sold and has since been determined to serve malware (#11741)NavLinkRenderPropstype for easier typing of customNavLinkcallback (#11553)@remix-run/[email protected][email protected]v6.24.0Compare Source
Minor Changes
Add support for Lazy Route Discovery (a.k.a. Fog of War) (#11626)
unstable_patchRoutesOnMissdocs: https://reactrouter.com/en/main/routers/create-browser-routerPatch Changes
fetcher.submittypes - remove incorrectnavigate/fetcherKey/unstable_viewTransitionoptions because they are only relevant foruseSubmit(#11631)location.statevalues passed to<StaticRouter>(#11495)[email protected]@remix-run/[email protected]v6.23.1Compare Source
Patch Changes
documentexistence when checkingstartViewTransition(#11544)react-router-dom/serverimport back toreact-router-dominstead ofindex.ts(#11514)@remix-run/[email protected][email protected]v6.23.0Compare Source
Minor Changes
unstable_dataStrategyconfiguration option (#11098)Patch Changes
@remix-run/[email protected][email protected]v6.22.3Compare Source
Patch Changes
@remix-run/[email protected][email protected]v6.22.2Compare Source
Patch Changes
@remix-run/[email protected][email protected]v6.22.1Compare Source
v6.22.0Compare Source
Minor Changes
window__reactRouterVersiontag for CWV Report detection (#11222)Patch Changes
@remix-run/[email protected][email protected]v6.21.3Compare Source
Patch Changes
NavLinkisPendingwhen abasenameis used (#11195)unstable_prefix fromBlocker/BlockerFunctiontypes (#11187)[email protected]v6.21.2Compare Source
v6.21.1Compare Source
Patch Changes
[email protected]@remix-run/[email protected]v6.21.0Compare Source
Minor Changes
Add a new
future.v7_relativeSplatPathflag to implement a breaking bug fix to relative routing when inside a splat route. (#11087)This fix was originally added in #10983 and was later reverted in #11078 because it was determined that a large number of existing applications were relying on the buggy behavior (see #11052)
The Bug
The buggy behavior is that without this flag, the default behavior when resolving relative paths is to ignore any splat (
*) portion of the current route path.The Background
This decision was originally made thinking that it would make the concept of nested different sections of your apps in
<Routes>easier if relative routing would replace the current splat:Any paths like
/dashboard,/dashboard/team,/dashboard/projectswill match theDashboardroute. The dashboard component itself can then render nested<Routes>:Now, all links and route paths are relative to the router above them. This makes code splitting and compartmentalizing your app really easy. You could render the
Dashboardas its own independent app, or embed it into your large app without making any changes to it.The Problem
The problem is that this concept of ignoring part of a path breaks a lot of other assumptions in React Router - namely that
"."always means the current location pathname for that route. When we ignore the splat portion, we start getting invalid paths when using".":We've also introduced an issue that we can no longer move our
DashboardTeamcomponent around our route hierarchy easily - since it behaves differently if we're underneath a non-splat route, such as/dashboard/:widget. Now, our"."links will, properly point to ourself inclusive of the dynamic param value so behavior will break from it's corresponding usage in a/dashboard/*route.Even worse, consider a nested splat route configuration:
Now, a
<Link to=".">and a<Link to="..">inside theDashboardcomponent go to the same place! That is definitely not correct!Another common issue arose in Data Routers (and Remix) where any
<Form>should post to it's own routeactionif you the user doesn't specify a form action:This is just a compounded issue from the above because the default location for a
Formto submit to is itself (".") - and if we ignore the splat portion, that now resolves to the parent route.The Solution
If you are leveraging this behavior, it's recommended to enable the future flag, move your splat to it's own route, and leverage
../for any links to "sibling" pages:This way,
.means "the full current pathname for my route" in all cases (including static, dynamic, and splat routes) and..always means "my parents pathname".Patch Changes
@remix-run/[email protected][email protected]v6.20.1Compare Source
Patch Changes
useResolvedPathfix for splat routes due to a large number of applications that were relying on the buggy behavior (see https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329). We plan to re-introduce this fix behind a future flag in the next minor version. (#11078)[email protected]@remix-run/[email protected]v6.20.0Compare Source
Minor Changes
PathParamtype from the public API (#10719)Patch Changes
[email protected]@remix-run/[email protected]v6.19.0Compare Source
Minor Changes
unstable_flushSyncoption touseNavigate/useSumbit/fetcher.load/fetcher.submitto opt-out ofReact.startTransitionand intoReactDOM.flushSyncfor state updates (#11005)unstable_usePromptto accept aBlockerFunctionin addition to aboolean(#10991)Patch Changes
keyin auseFetcherthat remains mounted wasn't getting picked up (#11009)useFormActionwhich was incorrectly inheriting the?indexquery param from child routeactionsubmissions (#11025)NavLinkactivelogic whentolocation has a trailing slash (#10734)[email protected]@remix-run/[email protected]v6.18.0Compare Source
Minor Changes
Add support for manual fetcher key specification via
useFetcher({ key: string })so you can access the same fetcher instance from different components in your application without prop-drilling (RFC) (#10960)useFetchersso that they can be looked up bykeyAdd
navigate/fetcherKeyparams/props touseSumbit/Formto support kicking off a fetcher submission under the hood with an optionally user-specifiedkey(#10960)useFetcher({ key })to look it up elsewherePatch Changes
RouterProviderthat holds completed fetcher data, in preparation for the upcoming future flag that will change the fetcher persistence/cleanup behavior (#10961)futureprop onBrowserRouter,HashRouterandMemoryRouterso that it accepts aPartial<FutureConfig>instead of requiring all flags to be included. (#10962)@remix-run/[email protected][email protected]v6.17.0Compare Source
Minor Changes
Add experimental support for the View Transitions API via
document.startViewTransitionto enable CSS animated transitions on SPA navigations in your application. (#10916)The simplest approach to enabling a View Transition in your React Router app is via the new
<Link unstable_viewTransition>prop. This will cause the navigation DOM update to be wrapped indocument.startViewTransitionwhich will enable transitions for the DOM update. Without any additional CSS styles, you'll get a basic cross-fade animation for your page.If you need to apply more fine-grained styles for your animations, you can leverage the
unstable_useViewTransitionStatehook which will tell you when a transition is in progress and you can use that to apply classes or styles:You can also use the
<NavLink unstable_viewTransition>shorthand which will manage the hook usage for you and automatically add atransitioningclass to the<a>during the transition:For an example usage of View Transitions with React Router, check out our fork of the Astro Records demo.
For more information on using the View Transitions API, please refer to the Smooth and simple transitions with the View Transitions API guide from the Google Chrome team.
Please note, that because the
ViewTransitionAPI is a DOM API, we now export a specificRouterProviderfromreact-router-domwith this functionality. If you are importingRouterProviderfromreact-router, then it will not support view transitions. (#10928Patch Changes
ScrollRestorationwhensessionStorageis unavailable (#10848)@remix-run/[email protected][email protected]v6.16.0Compare Source
Minor Changes
@remix-run/[email protected][email protected]Patch Changes
v6.15.0Compare Source
Minor Changes
redirectDocument()function which allows users to specify that a redirect from aloader/actionshould trigger a document reload (viawindow.location) instead of attempting to navigate to the redirected location via React Router (#10705)Patch Changes
URLSearchParamsand theuseSearchParamshook. (#10620)useFormAction()for unspecified actions since it cannot be determined on the server and causes hydration issues (#10758)unstable_usePromptto avoid throwing an exception if the prompt is unblocked and a navigation is performed synchronously (#10687, #10718)@remix-run/[email protected][email protected]v6.14.2Compare Source
Patch Changes
<ScrollRestoration>(#10682)<Form state>prop to populatehistory.stateon submission navigations (#10630)Errorsubclasses such asReferenceError/TypeError(#10633)@remix-run/[email protected][email protected]v6.14.1Compare Source
Patch Changes
[email protected]@remix-run/[email protected]v6.14.0Compare Source
Minor Changes
Add support for
application/jsonandtext/plainencodings foruseSubmit/fetcher.submit. To reflect these additional types,useNavigation/useFetchernow also containnavigation.json/navigation.textandfetcher.json/fetcher.textwhich include the json/text submission if applicable (#10413)Patch Changes
submitterelement, prefer the built-innew FormData(form, submitter)instead of the previous manual approach in modern browsers (those that support the newsubmitterparameter) (#9865, #10627)type="image"buttonsformdata-submitter-polyfillwindow.history.pushState/replaceStatebefore updating React Router state (instead of after) so thatwindow.locationmatchesuseLocationduring synchronous React 17 rendering (#10448)window.locationand should always referenceuseLocationwhen possible, aswindow.locationwill not be in sync 100% of the time (due topopstateevents, concurrent mode, etc.)tsc --skipLibCheck:falseissues on React 17 (#10622)typescriptto 5.1 (#10581)[email protected]@remix-run/[email protected]v6.13.0Compare Source
Minor Changes
Move
React.startTransitionusage behind a future flag to avoid issues with existing incompatibleSuspenseusages. We recommend folks adopting this flag to be better compatible with React concurrent mode, but if you run into issues you can continue without the use ofstartTransitionuntil v7. Issues usually boils down to creating net-new promises during the render cycle, so if you run into issues you should either lift your promise creation out of the render cycle or put it behind auseMemo. (#10596)Existing behavior will no longer include
React.startTransition:If you wish to enable
React.startTransition, pass the future flag to your component:Patch Changes
React.startTransitionminification bug in production mode (#10588)[email protected]v6.12.1Compare Source
Patch Changes
React.startTransitionto fix webpack + react 17 compilation error (#10569)[email protected]v6.12.0Compare Source
Minor Changes
React.startTransitionif it exists (#10438)Patch Changes
DOMException(DataCloneError) when attempting to perform aPUSHnavigation with non-serializable state. (#10427)@remix-run/[email protected][email protected]v6.11.2Compare Source
Patch Changes
SetURLSearchParamstype (#10444)[email protected]@remix-run/[email protected]v6.11.1Compare Source
Patch Changes
[email protected]@remix-run/[email protected]v6.11.0Compare Source
Minor Changes
basenamesupport inuseFetcher(#10336)basenamethen you will need to remove the manually prependedbasenamefrom yourfetchercalls (fetcher.load('/basename/route') -> fetcher.load('/route'))Patch Changes
Componentinstead ofelementon a route definition (#10287)<Link to="//">and other invalid URL values (#10367)useSyncExternalStoretouseStatefor internal@remix-run/routerrouter state syncing in<RouterProvider>. We found some subtle bugs where router state updates got propagated before other normaluseStateupdates, which could lead to footguns inuseEffectcalls. (#10377, #10409)StaticRouterProvider's internalRoutercomponent (#10401)RouterProvider,useNavigate/useSubmit/fetcher.submitare now stable across location changes, since we can handle relative routing via the@remix-run/routerinstance and get rid of our dependence onuseLocation(). When usingBrowserRouter, these hooks remain unstable across location changes because they still rely onuseLocation(). (#10336)[email protected]@remix-run/[email protected]v6.10.0Compare Source
Minor Changes
Added support for Future Flags in React Router. The first flag being introduced is
future.v7_normalizeFormMethodwhich will normalize the exposeduseNavigation()/useFetcher()formMethodfields as uppercase HTTP methods to align with thefetch()behavior. (#10207)future.v7_normalizeFormMethod === false(default v6 behavior),useNavigation().formMethodis lowercaseuseFetcher().formMethodis lowercasefuture.v7_normalizeFormMethod === true:useNavigation().formMethodis uppercaseuseFetcher().formMethodis uppercasePatch Changes
createStaticHandlerto also check forErrorBoundaryon routes in addition toerrorElement(#10190)@remix-run/[email protected][email protected]v6.9.0Compare Source
Minor Changes
React Router now supports an alternative way to define your route
elementanderrorElementfields as React Components instead of React Elements. You can instead pass a React Component to the newComponentandErrorBoundaryfields if you choose. There is no functional difference between the two, so use whichever approach you prefer 😀. You shouldn't be defining both, but if you doComponent/ErrorBoundarywill "win". (#10045)Example JSON Syntax
Example JSX Syntax
Introducing Lazy Route Modules! (#10045)
In order to keep your application bundles small and support code-splitting of your routes, we've introduced a new
lazy()route property. This is an async function that resolves the non-route-matching portions of your route definition (loader,action,element/Component,errorElement/ErrorBoundary,shouldRevalidate,handle).Lazy routes are resolved on initial load and during the
loadingorsubmittingphase of a navigation or fetcher call. You cannot lazily define route-matching properties (path,index,children) since we only execute your lazy route functions after we've matched known routes.Your
lazyfunctions will typically return the result of a dynamic import.Then in your lazy route modules, export the properties you want defined for the route:
An example of this in action can be found in the
examples/lazy-loading-router-providerdirectory of the repository.🙌 Huge thanks to @rossipedia for the Initial Proposal and POC Implementation.
Updated dependencies:
[email protected]@remix-run/[email protected]v6.8.2Compare Source
Patch Changes
<Link to>as external if they are outside of the routerbasename(#10135)useBlockerto returnIDLE_BLOCKERduring SSR (#10046)<Link to>urls (#10112)StaticRouterProviderserialized hydration data (#10068)@remix-run/[email protected][email protected]v6.8.1Compare Source
Patch Changes
Linkcomponent (now also supportsmailto:urls) (#9994)[email protected]@remix-run/[email protected]v6.8.0Compare Source
Minor Changes
Support absolute URLs in
<Link to>. If the URL is for the current origin, it will still do a client-side navigation. If the URL is for a different origin then it will do a fresh document request for the new origin. (#9900)Patch Changes
useSearchParams(#9969)preventScrollReseton<fetcher.Form>(#9963)pagehideinstead ofbeforeunloadfor<ScrollRestoration>. This has better cross-browser support, specifically on Mobile Safari. (#9945)@remix-run/[email protected][email protected]v6.7.0Compare Source
Minor Changes
unstable_useBlockerhook for blocking navigations within the app's location origin (#9709)unstable_usePrompthook for blocking navigations within the app's location origin (#9932)preventScrollResetprop to<Form>(#9886)Patch Changes
useBeforeUnload(#9709)@remix-run/[email protected][email protected]v6.6.2Compare Source
Patch Changes
useIdconsistency during SSR (#9805)[email protected]v6.6.1Compare Source
Patch Changes
@remix-run/[email protected][email protected]v6.6.0Compare Source
Minor Changes
useBeforeUnload()hook (#9664)unstable_prefix fromcreateStaticHandler/createStaticRouter/StaticRouterProvider(#9738)Patch Changes
Errorobjects fromStaticRouterProvider(#9664)<Form method>anduseSubmitmethod values (#9664)hydrationData(#9664)<button formmethod>form submission overriddes (#9664)@remix-run/[email protected][email protected]v6.5.0Compare Source
Patch Changes
[email protected]@remix-run/[email protected]v6.4.5Compare Source
Patch Changes
@remix-run/[email protected][email protected]v6.4.4Compare Source
Patch Changes
NavLinkand descendant<Routes>(#9589, #9647)ErrorResponseinstances when using built-in hydration (#9593)basenamein static data routers (#9591)@remix-run/[email protected][email protected]v6.4.3Compare Source
Patch Changes
createHashRouter(#9409)indexroutes with apathinuseResolvedPath(#9486)relative=pathprop onNavLink(#9453)NavLinkbehavior for root urls (#9497)@remix-run/[email protected][email protected]v6.4.2Compare Source
Patch Changes
basenameinuseFormAction(#9352)RouteObject/RoutePropstypes to surface the error in TypeScript. (#9366)[email protected]@remix-run/[email protected]v6.4.1Compare Source
Patch Changes
[email protected]Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.