This repository was archived by the owner on Jan 16, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Update dependency react-router-dom to v6.28.1 #440
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/react-router-monorepo
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
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
|
This pull request is being automatically deployed with Vercel (learn more). 🔍 Inspect: https://vercel.com/vtfk/minelev-web/6odRC2VjhW3fetsepE9pYCXKyiyX |
54881f9 to
cdc78bc
Compare
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
cdc78bc to
aba597d
Compare
aba597d to
3d16bdc
Compare
3d16bdc to
0646e25
Compare
0646e25 to
d1b99b4
Compare
d1b99b4 to
0ebd19f
Compare
0ebd19f to
5d37917
Compare
b3c5196 to
6b1515f
Compare
6b1515f to
bfd4dec
Compare
bfd4dec to
7cf314e
Compare
7cf314e to
22cf102
Compare
22cf102 to
732a7f3
Compare
732a7f3 to
e180715
Compare
Dependency update (patch) :)
e180715 to
e5deab4
Compare
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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->6.28.1Release Notes
remix-run/react-router (react-router-dom)
v6.28.1Compare Source
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]@remix-run/[email protected]v6.4.0Compare Source
Whoa this is a big one!
6.4.0brings all the data loading and mutation APIs over from Remix. Here's a quick high level overview, but it's recommended you go check out the docs, especially the feature overview and the tutorial.New APIs
createMemoryRouter/createBrowserRouter/createHashRouter<RouterProvider>loaderand mutate with a RouteactionerrorElement<Form>componentuseFetcher()deferandAwait<ScrollRestoration>New Features
<Link relative="path">(#9160)Bug Fixes
useLocationreturns the scoped location inside a<Routes location>component (#9094)<Link replace>prop if it is defined (#8779)Updated Dependencies
[email protected]v6.3.0: [email protected]Compare Source
What's Changed
New Contributors
Full Changelog: remix-run/react-router@v6.2.2...v6.3.0
Configuration
📅 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 this update again.
This PR was generated by Mend Renovate. View the repository job log.