[Snyk] Upgrade react-router from 6.0.0-beta.0 to 6.0.2 #5
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.
Snyk has created this PR to upgrade react-router from 6.0.0-beta.0 to 6.0.2.
ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
Release notes
Package name: react-router
✨ Features
reloadDocument
prop to<Link>
. This allows<Link>
to function like a normal anchor tag by reloading the document after navigation while maintaining the relativeto
resolution.🗒️ Docs
🤝 New Contributors
Full Changelog
v6.0.1...v6.0.2
🐛 Bug Fixes
<StaticRouter location>
value (#8243)<Route>
inside<Routes>
to help people make the change (#8238)React Router v6 is here!
Please go read our blog post for more information on all the great stuff in v6 including notes about how to upgrade from React Router v5 and Reach Router.
Remember last week when we said
Yeah, about that … 😅
We found and squashed a few high-priority bugs that needed to be addressed first. But it's coming very soon, we promise! In the mean time, here's what you'll get from our eight-est and greatest beta release:
🐛 Bug Fixes
useHref
that resulted in the incorrect resolved value in cases where abasename
is used on the<Router />
component (See #8133 and #8142 for details).*
path value) are now correctly ranked ahead of layout routes.🗒️ Docs
We've added lots of goodies to our
docs
andexamples
, and there's a lot more yet to come. Take a look and see if you find something that makes your work a little easier! We think the lazy loading and custom query parsing examples are particularly cool! 🤓In this release we made a small but significant change to how
<Link to="..">
works. This is going to help out a lot if you were trying to use links in a*
route.We have also backed out our blocking/prompt APIs for the stable v6 release. We will revisit this post 6.0 when we have a little more time to get it right.
✨ Features
The major change in this release could also be classified as a bugfix or a breaking change, depending on how you look at it. We essentialy altered the way
<Link to="..">
works. See #8086 for the motivation behind this change.You'll probably want to reread the section in the v5 => v6 migration guide about
<Link to>
values (it has been updated), but it basically boils down to this: any leading..
segment in a<Link to>
value traverses "up" one route and builds upon that route's path instead of just removing one URL segment. This feature really completes the story of relative routes and links.We could consider this a bugfix, since this is how it was always intended to work in the first place. Without it, you'd have a difficult time linking predictably in
*
routes because your<a href>
would be different depending on the number of segments in the current URL.The reason this could also be considered a breaking change is that
..
now works slightly differently in<Link to>
than it would in<a href>
. When you have<a href="..">
it operates on the URL pathname, removing one segment of the current URL. However, since many routes really only match a single segment of the URL, there is often no difference between<Link to="..">
and<a href="..">
.💔 Breaking Changes
useBlocker()
,usePrompt()
, and<Prompt>
for now. We will revisit these post 6.0 when we have more time to get it right. But we don't want it to block (see what I did there) the release of all the other awesome stuff we've got in v6.🛠 Roadmap
We anticipate this will be the last beta release before v6 stable next week. Please give it a shot and let us know how it goes!
👍 Upgrading
If you're thinking about upgrading to v6, I published a few notes this past week that may help you:
<Redirect>
elements from any<Switch>
es you may have in your v5 app and how you can get better SEO in the process if you're currently relying on client-side redirects.<Route>
elements, which won't work in v6.Both of those posts contain steps you can take today in your v5 app without upgrading to v6.
We are also developing a backwards compat lib that should help some of you upgrade from v5 to v6. We'll post more about this when it's ready.
💻 Installing
Development for v6 has switched from
dev
to themain
branch.If you'd like to test it out, install from npm:
$ npm install history react-router-dom@next
No big enhancements in this release, just squashing bugs and writing lots of tests! Also, we are hard at work on cranking out examples for v6. See the end of this post for an update on our roadmap between here and v6 stable.
🧰 Examples
We have begun creating some examples for v6 that we hope will help developers make effective use of all the new features we have. So far, we have examples for the following:
<Outlet>
APIuseNavigate()
hook, the<Navigate>
element, andlocation.state
useSearchParams()
hook<StaticRouter>
on the server and uses a<BrowserRouter>
withReactDOM.hydrate()
on the clientEach example includes a button in the README that allows you to instantly launch a running instance on StackBlitz that you can play with. We hope you enjoy exploring!
🐛 Bugfixes
<NavLink>
match only whole URL segments instead of pieces. This means that<NavLink to="/home/users">
will still be active at/home/users
, but not at/home/users2
. See #7523path
) never match unless one of their children do. See #8085<Routes>
. This reverses a decision that we made in beta.5 to remove them. See #8073💔 Breaking Changes
*
) match only after a/
in the URL. This means that<Route path="files*">
will always match as if it were<Route path="files/*">
. The router will issue a warning if your route path ends with*
but not/*
🛠 Roadmap
We are very close to a stable release! The last big code changes we need to make are:
<Link to="..">
operates on the URL pathname. However, this makes it difficult to link to the parent route when you're in a splat route. See #8086. This will be a breaking change.useBlocker()
and<Prompt>
in our initial v6 release, with plans to revisit them and possibly add them back at some point in the future. I still need to write up something here that explains our rationale. This will also be a breaking change.<Routes location>
prop will be in v6, but it isn't ideal for animation.💻 Installing
Development for v6 is chugging along on the
dev
branch.If you'd like to test it out, install from npm:
$ npm install history react-router-dom@next
Read more
Read more
Read more
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs