dapps
dapps copied to clipboard
Bump react-router-dom from 5.0.1 to 6.27.0
Bumps react-router-dom from 5.0.1 to 6.27.0.
Release notes
Sourced from react-router-dom's releases.
v6.4.4
What's Changed
- Throw an error if an
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)- Properly handle redirects to external domains (#9590, #9654)
- Preserve the HTTP method on 307/308 redirects (#9597)
- Support
basenamein static data routers (#9591)- Enhanced
ErrorResponsebodies to contain more descriptive text in internal 403/404/405 scenarios- Fix issues with encoded characters in
NavLinkand descendant<Routes>(#9589, #9647)- Properly serialize/deserialize
ErrorResponseinstances when using built-in hydration (#9593)- Support
basenamein static data routers (#9591)- Updated dependencies:
@remix-run/[email protected][email protected]Full Changelog: https://github.com/remix-run/react-router/compare/[email protected]@6.4.4
[email protected]
Patch Changes
fix: remove internal router singleton (#9227)
This change removes the internal module-level
routerSingletonwe create and maintain inside our data routers since it was causing a number of headaches for non-simple use cases:
- Unit tests are a pain because you need to find a way to reset the singleton in-between tests
- Use use a
_resetModuleScopesingleton for our tests- ...but this isn't exposed to users who may want to do their own tests around our router
- The JSX children
<Route>objects cause non-intuitive behavior based on idiomatic react expectations
- Conditional runtime
<Route>'s won't get picked up- Adding new
<Route>'s during local dev won't get picked up during HMR- Using external state in your elements doesn't work as one might expect (see #9225)
Instead, we are going to lift the singleton out into user-land, so that they create the router singleton and manage it outside the react tree - which is what react 18 is encouraging with
useSyncExternalStoreanyways! This also means that since users create the router - there's no longer any difference in the rendering aspect for memory/browser/hash routers (which only impacts router/history creation) - so we can get rid of those and trim to a simpleRouterProvider// Before function App() { <DataBrowserRouter> <Route path="/" element={<Layout />}> <Route index element={<Home />}> </Route> <DataBrowserRouter> }// After
let router = createBrowserRouter([{
path: "/",
element: <Layout />,
children: [{
index: true,
... (truncated)
Changelog
Sourced from react-router-dom's changelog.
v6.27.0
Date: 2024-10-11
What's Changed
Stabilized APIs
This release stabilizes a handful of "unstable" APIs in preparation for the pending React Router v7 release (see these posts for more info):
unstable_dataStrategy→dataStrategy(createBrowserRouterand friends) (Docs)unstable_patchRoutesOnNavigation→patchRoutesOnNavigation(createBrowserRouterand friends) (Docs)unstable_flushSync→flushSync(useSubmit,fetcher.load,fetcher.submit) (Docs)unstable_viewTransition→viewTransition(<Link>,<Form>,useNavigate,useSubmit) (Docs)Minor Changes
- Stabilize the
unstable_flushSyncoption for navigations and fetchers (#11989)- Stabilize the
unstable_viewTransitionoption for navigations and the correspondingunstable_useViewTransitionStatehook (#11989)- Stabilize
unstable_dataStrategy(#11974)- Stabilize
unstable_patchRoutesOnNavigation(#11973)
- Add new
PatchRoutesOnNavigationFunctionArgstype for convenience (#11967)Patch Changes
- Fix bug when submitting to the current contextual route (parent route with an index child) when an
?indexparam already exists from a prior submission (#12003)- Fix
useFormActionbug - when removing?indexparam it would not keep other non-Remixindexparams (#12003)- Fix bug with fetchers not persisting
preventScrollResetthrough redirects during concurrent fetches (#11999)- Avoid unnecessary
console.erroron fetcher abort due to back-to-back revalidation calls (#12050)- Fix bugs with
partialHydrationwhen hydrating with errors (#12070)- Remove internal cache to fix issues with interrupted
patchRoutesOnNavigationcalls (#12055)
- ⚠️ This may be a breaking change if you were relying on this behavior in the
unstable_API- We used to cache in-progress calls to
patchRoutesOnNavigationinternally so that multiple navigations with the same start/end would only execute the function once and use the same promise- However, this approach was at odds with
patchshort circuiting if a navigation was interrupted (and therequest.signalaborted) since the first invocation'spatchwould no-op- This cache also made some assumptions as to what a valid cache key might be - and is oblivious to any other application-state changes that may have occurred
- So, the cache has been removed because in most cases, repeated calls to something like
import()for async routes will already be cached automatically - and if not it's easy enough for users to implement this cache in userland- Remove internal
discoveredRoutesFIFO queue fromunstable_patchRoutesOnNavigation(#11977)
- ⚠️ This may be a breaking change if you were relying on this behavior in the
unstable_API- This was originally implemented as an optimization but it proved to be a bit too limiting
- If you need this optimization you can implement your own cache inside
patchRoutesOnNavigation- Fix types for
RouteObjectwithinPatchRoutesOnNavigationFunction'spatchmethod so it doesn't expect agnostic route objects passed topatch(#11967)- Expose errors thrown from
patchRoutesOnNavigationdirectly touseRouteErrorinstead of wrapping them in a 400ErrorResponseinstance (#12111)Full Changelog:
v6.26.2...v6.27.0v6.26.2
Date: 2024-09-09
Patch Changes
... (truncated)
Commits
8cfb4a7chore: Update version for release (#12121)cde8139chore: Update version for release (pre) (#12112)9a62e35chore: Update version for release (pre) (#12101)0389ebaFix issues with contextual routing and index params (#12003)73fcb9bStabilize viewTransiton and flushSync options (#11989)8c9e2b6Fix types for PatchRoutesOnNavigationFunction (#11967)09c1978Stabilize unstable_dataStrategy (#11974)25e4981Stabilize unstable_patchRoutesOnNavigation (#11973)eeb86abchore: Update version for release (#11968)7cbe349chore: Update version for release (pre) (#11955)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
| Package | New capabilities | Transitives | Size | Publisher |
|---|---|---|---|---|
| npm/@remix-run/[email protected] | None | 0 |
2.72 MB | chancestrickland, mjackson |
| npm/[email protected] | None | 0 |
895 kB | chancestrickland, mjackson, timdorr |
| npm/[email protected] | environment | 0 |
825 kB | chancestrickland, mjackson, timdorr |
🚮 Removed packages: npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]
Superseded by #224.