Skip to content
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

Bump react-router-dom from 5.3.0 to 6.27.0 #2041

Closed

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 14, 2024

Bumps react-router-dom from 5.3.0 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/loader function returns undefined as revalidations need to know whether the loader has previously been executed. undefined also causes issues during SSR stringification for hydration. You should always ensure your loader/action returns a value, and you may return null if 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 basename in static data routers (#9591)
  • Enhanced ErrorResponse bodies to contain more descriptive text in internal 403/404/405 scenarios
  • Fix issues with encoded characters in NavLink and descendant <Routes> (#9589, #9647)
  • Properly serialize/deserialize ErrorResponse instances when using built-in hydration (#9593)
  • Support basename in static data routers (#9591)
  • Updated dependencies:

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 routerSingleton we 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 _resetModuleScope singleton 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 useSyncExternalStore anyways! 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 simple RouterProvider

    // 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_dataStrategydataStrategy (createBrowserRouter and friends) (Docs)
  • unstable_patchRoutesOnNavigationpatchRoutesOnNavigation (createBrowserRouter and friends) (Docs)
  • unstable_flushSyncflushSync (useSubmit, fetcher.load, fetcher.submit) (Docs)
  • unstable_viewTransitionviewTransition (<Link>, <Form>, useNavigate, useSubmit) (Docs)

Minor Changes

  • Stabilize the unstable_flushSync option for navigations and fetchers (#11989)
  • Stabilize the unstable_viewTransition option for navigations and the corresponding unstable_useViewTransitionState hook (#11989)
  • Stabilize unstable_dataStrategy (#11974)
  • Stabilize unstable_patchRoutesOnNavigation (#11973)
    • Add new PatchRoutesOnNavigationFunctionArgs type for convenience (#11967)

Patch Changes

  • Fix bug when submitting to the current contextual route (parent route with an index child) when an ?index param already exists from a prior submission (#12003)
  • Fix useFormAction bug - when removing ?index param it would not keep other non-Remix index params (#12003)
  • Fix bug with fetchers not persisting preventScrollReset through redirects during concurrent fetches (#11999)
  • Avoid unnecessary console.error on fetcher abort due to back-to-back revalidation calls (#12050)
  • Fix bugs with partialHydration when hydrating with errors (#12070)
  • Remove internal cache to fix issues with interrupted patchRoutesOnNavigation calls (#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 patchRoutesOnNavigation internally 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 patch short circuiting if a navigation was interrupted (and the request.signal aborted) since the first invocation's patch would 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 discoveredRoutes FIFO queue from unstable_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 RouteObject within PatchRoutesOnNavigationFunction's patch method so it doesn't expect agnostic route objects passed to patch (#11967)
  • Expose errors thrown from patchRoutesOnNavigation directly to useRouteError instead of wrapping them in a 400 ErrorResponse instance (#12111)

Full Changelog: v6.26.2...v6.27.0

v6.26.2

Date: 2024-09-09

Patch Changes

... (truncated)

Commits

Dependabot compatibility score

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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Oct 14, 2024
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 5.3.0 to 6.27.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/react-router-dom-6.27.0 branch from 2035f75 to 6e2bae1 Compare October 22, 2024 20:01
Copy link
Contributor Author

dependabot bot commented on behalf of github Nov 7, 2024

Superseded by #2054.

@dependabot dependabot bot closed this Nov 7, 2024
@dependabot dependabot bot deleted the dependabot/npm_and_yarn/react-router-dom-6.27.0 branch November 7, 2024 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants