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

Update dependency react-router-dom-v5-compat to v6.28.1 #1001

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 3, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
react-router-dom-v5-compat (source) 6.21.0 -> 6.28.1 age adoption passing confidence

Release Notes

remix-run/react-router (react-router-dom-v5-compat)

v6.28.1

Compare Source

Date: 2024-12-20

Patch Changes
  • Allow users to opt out of v7 deprecation warnings by setting flags to false (#​12441)

Full Changelog: v6.28.0...v6.28.1

v6.28.0

Compare Source

Date: 2024-11-06

What's Changed
  • In preparation for v7 we've added deprecation warnings for any future flags that you have not yet opted into. Please use the flags to better prepare for eventually upgrading to v7.
Minor Changes
  • Log deprecation warnings for v7 flags (#​11750)
    • Add deprecation warnings to json/defer in favor of returning raw objects
      • These methods will be removed in React Router v7
Patch Changes
  • Update JSDoc URLs for new website structure (add /v6/ segment) (#​12141)

Full Changelog: v6.27.0...v6.28.0

v6.27.0

Compare Source

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

Compare Source

Date: 2024-09-09

Patch Changes
  • Update the unstable_dataStrategy API to allow for more advanced implementations (#​11943)
    • ⚠️ If you have already adopted unstable_dataStrategy, please review carefully as this includes breaking changes to this API
    • Rename unstable_HandlerResult to unstable_DataStrategyResult
    • Change the return signature of unstable_dataStrategy from a parallel array of unstable_DataStrategyResult[] (parallel to matches) to a key/value object of routeId => unstable_DataStrategyResult
      • This allows more advanced control over revalidation behavior because you can opt-into or out-of revalidating data that may not have been revalidated by default (via match.shouldLoad)
    • You should now return/throw a result from your handlerOverride instead of returning a DataStrategyResult
      • The return value (or thrown error) from your handlerOverride will be wrapped up into a DataStrategyResult and returned fromm match.resolve
      • Therefore, if you are aggregating the results of match.resolve() into a final results object you should not need to think about the DataStrategyResult type
      • If you are manually filling your results object from within your handlerOverride, then you will need to assign a DataStrategyResult as the value so React Router knows if it's a successful execution or an error (see examples in the documentation for details)
    • Added a new fetcherKey parameter to unstable_dataStrategy to allow differentiation from navigational and fetcher calls
  • Preserve opted-in view transitions through redirects (#​11925)
  • Preserve pending view transitions through a router revalidation call (#​11917)
  • Fix blocker usage when blocker.proceed is called quickly/synchronously (#​11930)

Full Changelog: v6.26.1...v6.26.2

v6.26.1

Compare Source

Date: 2024-08-15

Patch Changes
  • Rename unstable_patchRoutesOnMiss to unstable_patchRoutesOnNavigation to match new behavior (#​11888)
  • Update unstable_patchRoutesOnNavigation logic so that we call the method when we match routes with dynamic param or splat segments in case there exists a higher-scoring static route that we've not yet discovered (#​11883)
    • We also now leverage an internal FIFO queue of previous paths we've already called unstable_patchRoutesOnNavigation against so that we don't re-call on subsequent navigations to the same path

Full Changelog: v6.26.0...v6.26.1

v6.26.0

Compare Source

Date: 2024-08-01

Minor Changes
  • Add a new replace(url, init?) alternative to redirect(url, init?) that performs a history.replaceState instead of a history.pushState on client-side navigation redirects (#​11811)
  • Add a new unstable_data() API for usage with Remix Single Fetch (#​11836)
    • This API is not intended for direct usage in React Router SPA applications
    • It is primarily intended for usage with createStaticHandler.query() to allow loaders/actions to return arbitrary data along with custom status/headers without forcing the serialization of data into a Response instance
    • This allows for more advanced serialization tactics via unstable_dataStrategy such as serializing via turbo-stream in Remix Single Fetch
    • ⚠️ This removes the status field from HandlerResult
      • If you need to return a specific status from unstable_dataStrategy you should instead do so via unstable_data()
Patch Changes
  • Fix internal cleanup of interrupted fetchers to avoid invalid revalidations on navigations (#​11839)
  • Fix initial hydration behavior when using future.v7_partialHydration along with unstable_patchRoutesOnMiss (#​11838)
    • During initial hydration, router.state.matches will now include any partial matches so that we can render ancestor HydrateFallback components

Full Changelog: v6.25.1...v6.26.0

v6.25.1

Compare Source

Date: 2024-07-17

Patch Changes
  • Memoize some RouterProvider internals to reduce unnecessary re-renders (#​11803)

Full Changelog: v6.25.0...v6.25.1

v6.25.0

Compare Source

Date: 2024-07-16

What's Changed
Stabilized v7_skipActionErrorRevalidation

This release stabilizes the future.unstable_skipActionErrorRevalidation flag into future.v7_skipActionErrorRevalidation in preparation for the upcoming React Router v7 release.

  • When this flag is enabled, actions that return/throw a 4xx/5xx Response will not trigger a revalidation by default
  • This also stabilizes shouldRevalidate's unstable_actionStatus parameter to actionStatus
Minor Changes
  • Stabilize future.unstable_skipActionErrorRevalidation as future.v7_skipActionErrorRevalidation (#​11769)
Patch Changes
  • Fix regression and properly decode paths inside useMatch so matches/params reflect decoded params (#​11789)
  • Fix bubbling of errors thrown from unstable_patchRoutesOnMiss (#​11786)
  • Fix hydration in SSR apps using unstable_patchRoutesOnMiss that matched a splat route on the server (#​11790)

Full Changelog: v6.24.1...v6.25.0

v6.24.1

Compare Source

Date: 2024-07-03

Patch Changes
  • Remove polyfill.io reference from warning message because the domain was sold and has since been determined to serve malware (#​11741)
  • Export NavLinkRenderProps type for easier typing of custom NavLink callback (#​11553)
  • When using future.v7_relativeSplatPath, properly resolve relative paths in splat routes that are children of pathless routes (#​11633)
  • Fog of War (unstable): Trigger a new router.routes identity/reflow during route patching (#​11740)
  • Fog of War (unstable): Fix initial matching when a splat route matches (#​11759)

Full Changelog: v6.24.0...v6.24.1

v6.24.0

Compare Source

Date: 2024-06-24

What's Changed
Lazy Route Discovery (a.k.a. "Fog of War")

We're really excited to release our new API for "Lazy Route Discovery" in v6.24.0! For some background information, please check out the original RFC. The tl;dr; is that ever since we introduced the Data APIs in v6.4 via <RouterProvider>, we've been a little bummed that one of the tradeoffs was the lack of a compelling code-splitting story mirroring what we had in the <BrowserRouter>/<Routes> apps. We took a baby-step towards improving that story with route.lazy in v6.9.0, but with v6.24.0 we've gone the rest of the way.

With "Fog of War", you can now load portions of the route tree lazily via the new unstable_patchRoutesOnMiss option passed to createBrowserRouter (and it's memory/hash counterparts). This gives you a way to hook into spots where React Router is unable to match a given path and patch new routes into the route tree during the navigation (or fetcher call).

Here's a very small example, but please refer to the documentation for more information and use cases:

const router = createBrowserRouter(
  [
    {
      id: "root",
      path: "/",
      Component: RootComponent,
    },
  ],
  {
    async unstable_patchRoutesOnMiss({ path, patch }) {
      if (path === "/a") {
        // Load the `a` route (`{ path: 'a', Component: A }`)
        let route = await getARoute();
        // Patch the `a` route in as a new child of the `root` route
        patch("root", [route]);
      }
    },
  }
);
Minor Changes
  • Add support for Lazy Route Discovery (a.k.a. "Fog of War") (#​11626)
Patch Changes
  • Fix fetcher.submit types - remove incorrect navigate/fetcherKey/unstable_viewTransition options because they are only relevant for useSubmit (#​11631)
  • Allow falsy location.state values passed to <StaticRouter> (#​11495)

Full Changelog: v6.23.1...v6.24.0

v6.23.1

Compare Source

Date: 2024-05-10

Patch Changes
  • Allow undefined to be resolved through <Await> (#​11513)
  • Add defensive document check when checking for document.startViewTransition availability (#​11544)
  • Change the react-router-dom/server import back to react-router-dom instead of index.ts (#​11514)
  • @remix-run/router - Support unstable_dataStrategy on staticHandler.queryRoute (#​11515)

Full Changelog: v6.23.0...v6.23.1

v6.23.0

Compare Source

Date: 2024-04-23

What's Changed
Data Strategy (unstable)

The new unstable_dataStrategy API is a low-level API designed for advanced use-cases where you need to take control over the data strategy for your loader/action functions. The default implementation is today's behavior, to fetch all loaders in parallel, but this option allows users to implement more advanced data flows including Remix "Single Fetch", user-land middleware/context APIs, automatic loader caching, and more. Please see the docs for more information.

Note: This is a low-level API intended for advanced use-cases. This overrides React Router's internal handling of loader/action execution, and if done incorrectly will break your app code. Please use with caution and perform the appropriate testing.

Skip Action Error Revalidation (unstable)

Currently, all active loader's revalidate after any action submission, regardless of the action result. However, in the majority of cases a 4xx/5xx response from an action means that no data was actually changed and the revalidation is unnecessary. We've introduced a new future.unstable_skipActionErrorRevalidation flag that changes the behavior here, and we plan to make this the default in future version of React Router.

With this flag enabled, action's that return/throw a 4xx/5xx response status will no longer automatically revalidate. If you need to revalidate after a 4xx/5xx result with this flag enabled, you can still do that via returning true from shouldRevalidate - which now also receives a new unstable_actionStatus argument alongside actionResult so you can make decision based on the status of the action response without having to encode it into the action data.

Minor Changes
  • Add a new unstable_dataStrategy configuration option (#​11098, #​11377)
  • @remix-run/router - Add a new future.unstable_skipActionRevalidation future flag (#​11098)
  • @remix-run/router - SSR: Added a new skipLoaderErrorBubbling options to the staticHandler.query method to disable error bubbling by the static handler for use in Remix's Single Fetch implementation (#​11098, (#​11377))

Full Changelog: v6.22.3...v6.23.0

v6.22.3

Compare Source

Date: 2024-03-07

Patch Changes
  • Fix a future.v7_partialHydration bug that would re-run loaders below the boundary on hydration if SSR loader errors bubbled to a parent boundary (#​11324)
  • Fix a future.v7_partialHydration bug that would consider the router uninitialized if a route did not have a loader (#​11325)

Full Changelog: v6.22.2...v6.22.3

v6.22.2

Compare Source

Date: 2024-02-28

Patch Changes
  • Preserve hydrated errors during partial hydration runs (#​11305)

Full Changelog: v6.22.1...v6.22.2

v6.22.1

Compare Source

Date: 2024-02-16

Patch Changes
  • Fix encoding/decoding issues with pre-encoded dynamic parameter values (#​11199)

Full Changelog: v6.22.0...v6.22.1

v6.22.0

Compare Source

Date: 2024-02-01

What's Changed
Core Web Vitals Technology Report Flag

In 2021, the HTTP Archive launched the Core Web Vitals Technology Report dashboard:

By combining the powers of real-user experiences in the Chrome UX Report 26 (CrUX) dataset with web technology detections in HTTP Archive 30, we can get a glimpse into how architectural decisions like choices of CMS platform or JavaScript framework play a role in sites’ CWV performance.

They use a tool called wappalyzer to identify what technologies a given website is using by looking for certain scripts, global JS variables, or other identifying characteristics. For example, for Remix applications, they look for the global __remixContext variable to identify that a website is using Remix.

It was brought to our attention that React Router was unable to be reliably identified because there are no identifying global aspects. They are currently looking for external scripts with react-router in the name. This will identify sites using React Router from a CDN such as unpkg - but it will miss the vast majority of sites that are installing React Router from the npm registry and bundling it into their JS files. This results in drastically under-reporting the usage of React Router on the web.

Starting with version 6.22.0, sites using react-router-dom will begin adding a window.__reactRouterVersion variable that will be set to a string value of the SemVer major version number (i.e., window.__reactRouterVersion = "6";) so that they can be properly identified.

Minor Changes
  • Include a window.__reactRouterVersion for CWV Report detection (#​11222)
  • Add a createStaticHandler future.v7_throwAbortReason flag to throw request.signal.reason (defaults to a DOMException) when a request is aborted instead of an Error such as new Error("query() call aborted: GET /path") (#​11104)
    • Please note that DOMException was added in Node v17 so you will not get a DOMException on Node 16 and below.
Patch Changes
  • Respect the ErrorResponse status code if passed to getStaticContextFormError (#​11213)

Full Changelog: v6.21.3...v6.22.0

v6.21.3

Compare Source

Date: 2024-01-18

Patch Changes
  • Fix NavLink isPending when a basename is used (#​11195)
  • Remove leftover unstable_ prefix from Blocker/BlockerFunction types (#​11187)

Full Changelog: v6.21.2...v6.21.3

v6.21.2

Compare Source

Date: 2024-01-11

Patch Changes
  • Leverage useId for internal fetcher keys when available (#​11166)
  • Fix bug where dashes were not picked up in dynamic parameter names (#​11160)
  • Do not attempt to deserialize empty JSON responses (#​11164)

Full Changelog: v6.21.1...v6.21.2

v6.21.1

Compare Source

Date: 2023-12-21

Patch Changes
  • Fix bug with route.lazy not working correctly on initial SPA load when v7_partialHydration is specified (#​11121)
  • Fix bug preventing revalidation from occurring for persisted fetchers unmounted during the submitting phase (#​11102)
  • De-dup relative path logic in resolveTo (#​11097)

Full Changelog: v6.21.0...v6.21.1


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 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.21.1 Update dependency react-router-dom-v5-compat to v6.21.2 Jan 11, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch 3 times, most recently from 64b417e to 201c796 Compare January 12, 2024 19:57
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 201c796 to 1610258 Compare January 18, 2024 19:59
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.21.2 Update dependency react-router-dom-v5-compat to v6.21.3 Jan 18, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 1610258 to db8287d Compare February 1, 2024 21:35
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.21.3 Update dependency react-router-dom-v5-compat to v6.22.0 Feb 1, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from db8287d to 30255a1 Compare February 16, 2024 22:29
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.22.0 Update dependency react-router-dom-v5-compat to v6.22.1 Feb 16, 2024
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.22.1 Update dependency react-router-dom-v5-compat to v6.22.2 Feb 28, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 30255a1 to 18240d5 Compare February 28, 2024 22:30
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 18240d5 to 247d6d8 Compare March 7, 2024 17:39
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.22.2 Update dependency react-router-dom-v5-compat to v6.22.3 Mar 7, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch 2 times, most recently from 1d070a8 to 1c6d2f9 Compare March 12, 2024 18:54
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.22.3 Update dependency react-router-dom-v5-compat to v6.23.0 Apr 23, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 1c6d2f9 to 9bc3cbf Compare April 23, 2024 17:06
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 9bc3cbf to a5b6856 Compare May 10, 2024 18:10
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.23.0 Update dependency react-router-dom-v5-compat to v6.23.1 May 10, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch 3 times, most recently from 911deea to d96796c Compare May 21, 2024 19:58
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from d96796c to a298eb8 Compare June 24, 2024 19:16
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.23.1 Update dependency react-router-dom-v5-compat to v6.24.0 Jun 24, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from a298eb8 to b501d41 Compare July 3, 2024 14:54
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.24.0 Update dependency react-router-dom-v5-compat to v6.24.1 Jul 3, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch 2 times, most recently from 2ce0c31 to 2358f91 Compare July 16, 2024 15:04
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.24.1 Update dependency react-router-dom-v5-compat to v6.25.0 Jul 16, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 2358f91 to 444112b Compare July 17, 2024 19:13
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.25.0 Update dependency react-router-dom-v5-compat to v6.25.1 Jul 17, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 444112b to 03c2ebe Compare July 22, 2024 18:49
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 03c2ebe to 882d67e Compare August 1, 2024 19:37
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.25.1 Update dependency react-router-dom-v5-compat to v6.26.0 Aug 1, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 882d67e to 4f144c8 Compare August 15, 2024 19:59
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.26.0 Update dependency react-router-dom-v5-compat to v6.26.1 Aug 15, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 4f144c8 to 2f695fe Compare September 9, 2024 18:38
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.26.1 Update dependency react-router-dom-v5-compat to v6.26.2 Sep 9, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch 2 times, most recently from 9e12e05 to d19143d Compare October 3, 2024 21:24
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from d19143d to a7a5870 Compare October 11, 2024 18:36
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.26.2 Update dependency react-router-dom-v5-compat to v6.27.0 Oct 11, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from a7a5870 to 5782f9e Compare November 7, 2024 01:29
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.27.0 Update dependency react-router-dom-v5-compat to v6.28.0 Nov 7, 2024
@renovate renovate bot force-pushed the renovate/react-router-monorepo branch from 5782f9e to 3241c9d Compare December 20, 2024 21:56
@renovate renovate bot changed the title Update dependency react-router-dom-v5-compat to v6.28.0 Update dependency react-router-dom-v5-compat to v6.28.1 Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants