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 @remix-run/react to v2.14.0 #7

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

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jun 27, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@remix-run/react (source) 2.9.2 -> 2.14.0 age adoption passing confidence

Release Notes

remix-run/remix (@​remix-run/react)

v2.14.0

Compare Source

Patch Changes

v2.13.1

Compare Source

Patch Changes

v2.13.0

Compare Source

Minor Changes
  • Stabilize React Router APIs in Remix (#​9980)
    • Adopt stabilized React Router APIs internally
      • Single Fetch: unstable_dataStrategy -> dataStrategy
      • Lazy Route Discovery: unstable_patchRoutesOnNavigation -> patchRoutesOnNavigation
    • Stabilize public-facing APIs
      • Single Fetch: unstable_data() -> data()
      • unstable_viewTransition -> viewTransition (Link, Form, navigate, submit)
      • unstable_flushSync> -> <Link viewTransition> (Link, Form, navigate, submit, useFetcher)
  • Stabilize future flags (#​10072)
    • future.unstable_singleFetch -> future.v3_singleFetch
    • future.unstable_lazyRouteDiscovery -> future.v3_lazyRouteDiscovery
Patch Changes
  • Fix bug with clientLoader.hydrate in a layout route when hydrating with bubbled errors (#​10063)
  • Updated dependencies:

v2.12.1

Compare Source

Patch Changes

v2.12.0

Compare Source

Patch Changes
  • Lazy Route Discovery: Sort /__manifest query parameters for better caching (#​9888)

  • Single Fetch: fix revalidation behavior bugs (#​9938)

    • With Single Fetch, existing routes revalidate by default
    • This means requests do not need special query params for granular route revalidations out of the box - i.e., GET /a/b/c.data
    • There are two conditions that will trigger granular revalidation:
      • If a route opts out of revalidation via shouldRevalidate, it will be excluded from the single fetch call
      • If a route defines a clientLoader then it will be excluded from the single fetch call and if you call serverLoader() from your clientLoader, that will make a separarte HTTP call for just that route loader - i.e., GET /a/b/c.data?_routes=routes/a for a clientLoader in routes/a.tsx
    • When one or more routes are excluded from the single fetch call, the remaining routes that have loaders are included as query params:
      • For example, if A was excluded, and the root route and routes/b had a loader but routes/c did not, the single fetch request would be GET /a/b/c.data?_routes=root,routes/a
  • Remove hydration URL check that was originally added for React 17 hydration issues and we no longer support React 17 (#​9890)

    • Reverts the logic originally added in Remix v1.18.0 via #​6409
    • This was added to resolve an issue that could arise when doing quick back/forward history navigations while JS was loading which would cause a mismatch between the server matches and client matches: #​1757
    • This specific hydration issue would then cause this React v17 only looping issue: #​1678
    • The URL comparison that we added in 1.18.0 turned out to be subject to false positives of it's own which could also put the user in looping scenarios
    • Remix v2 upgraded it's minimal React version to v18 which eliminated the v17 hydration error loop
    • React v18 handles this hydration error like any other error and does not result in a loop
    • So we can remove our check and thus avoid the false-positive scenarios in which it may also trigger a loop
  • Single Fetch: Improved typesafety (#​9893)

    If you were already using previously released unstable single-fetch types:

    • Remove "@&#8203;remix-run/react/future/single-fetch.d.ts" override from tsconfig.json > compilerOptions > types
    • Remove defineLoader, defineAction, defineClientLoader, defineClientAction helpers from your route modules
    • Replace UIMatch_SingleFetch type helper with UIMatch
    • Replace MetaArgs_SingleFetch type helper with MetaArgs

    Then you are ready for the new typesafety setup:

    // vite.config.ts
    
    declare module "@&#8203;remix-run/server-runtime" {
      interface Future {
        unstable_singleFetch: true; // 👈 enable _types_ for single-fetch
      }
    }
    
    export default defineConfig({
      plugins: [
        remix({
          future: {
            unstable_singleFetch: true, // 👈 enable single-fetch
          },
        }),
      ],
    });

    For more information, see Guides > Single Fetch in our docs.

  • Clarify wording in default HydrateFallback console warning (#​9899)

  • Updated dependencies:

v2.11.2

Compare Source

Patch Changes
  • Fog of War: Simplify implementation now that React Router handles slug/splat edge cases and tracks previously discovered routes (see remix-run/react-router#11883) (#​9860)
    • This changes the return signature of the internal __manifest endpoint since we no longer need the notFoundPaths field
  • Fog of War: Update to use renamed unstable_patchRoutesOnNavigation function in RR (see remix-run/react-router#11888) (#​9860)
  • Single Fetch: Update turbo-stream to v2.3.0 (#​9856)
    • Stabilize object key order for serialized payloads
    • Remove memory limitations payloads sizes
  • Updated dependencies:

v2.11.1

Compare Source

Patch Changes

v2.11.0

Compare Source

Minor Changes
  • Single Fetch: Add a new unstable_data() API as a replacement for json/defer when custom status/headers are needed (#​9769)

  • 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 (#​9764)

  • Rename future.unstable_fogOfWar to future.unstable_lazyRouteDiscovery for clarity (#​9763)

  • Single Fetch: Remove responseStub in favor of headers (#​9769)

    • Background

      • The original Single Fetch approach was based on an assumption that an eventual middleware implementation would require something like ResponseStub so users could mutate status/headers in middleware before/after handlers as well as during handlers
      • We wanted to align how headers got merged between document and data requests
      • So we made document requests also use ResponseStub and removed the usage of headers in Single Fetch
      • The realization/alignment between Michael and Ryan on the recent roadmap planning made us realize that the original assumption was incorrect
      • middleware won't need a stub - users can just mutate the Response they get from await next() directly
      • With that gone, and still wanting to align how headers get merged, it makes more sense to stick with the current headers API and apply that to Single Fetch and avoid introducing a totally new thing in RepsonseStub (that always felt a bit awkward to work with anyway)
    • With this change:

      • You are encouraged to stop returning Response instances in favor of returning raw data from loaders and actions:
        • ~~return json({ data: whatever });~~
        • return { data: whatever };
      • In most cases, you can remove your json() and defer() calls in favor of returning raw data if they weren't setting custom status/headers
        • We will be removing both json and defer in the next major version, but both should still work in Single Fetch in v2 to allow for incremental adoption of the new behavior
      • If you need custom status/headers:
        • We've added a new unstable_data({...}, responseInit) utility that will let you send back status/headers alongside your raw data without having to encode it into a Response
      • The headers() function will let you control header merging for both document and data requests
Patch Changes
  • Single Fetch: Ensure calls don't include any trailing slash from the pathname (i.e., /path/.data) (#​9792)
  • Single Fetch: Add undefined to the useRouteLoaderData type override (#​9796)
  • Change initial hydration route mismatch from a URL check to a matches check to be resistant to URL inconsistencies (#​9695)
  • Updated dependencies:

v2.10.3

Compare Source

Patch Changes
  • Log any errors encountered loading a route module prior to reloading the page (#​8932)
  • Single Fetch (unstable): Proxy request.signal through dataStrategy for loader calls to fix cancellation (#​9738)
  • Single Fetch (unstable): Adopt React Router's stabilized future.v7_skipActionErrorRevalidation under the hood (#​9706)
    • This also stabilizes the shouldRevalidate parameter from unstable_actionStatus to actionStatus
  • Updated dependencies:

v2.10.2

Compare Source

Patch Changes

v2.10.1

Compare Source

Patch Changes
  • Fog of War (unstable): Don't discover links/forms with reloadDocument (#​9686)
  • Fog of War (unstable): Support route discovery from <Form> components (#​9665)
  • Updated dependencies:

v2.10.0

Compare Source

Minor Changes
Patch Changes
  • Don't prefetch server loader data when clientLoader exists (#​9580)
  • Avoid hydration loops when Layout ErrorBoundary renders also throw (#​9566)
  • Fix a bug where hydration wouldn't work right when using child routes and hydrate fallbacks with a basename (#​9584)
  • Update to [email protected] for single fetch (#​9562)
  • Updated dependencies:

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.


  • 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 @remix-run/react to v2.10.0 Update dependency @remix-run/react to v2.10.1 Jul 4, 2024
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.10.1 Update dependency @remix-run/react to v2.10.2 Jul 5, 2024
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.10.2 Update dependency @remix-run/react to v2.10.3 Jul 17, 2024
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.10.3 Update dependency @remix-run/react to v2.11.0 Aug 3, 2024
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.11.0 Update dependency @remix-run/react to v2.11.1 Aug 7, 2024
@renovate renovate bot force-pushed the renovate/remix-run-react-2.x-lockfile branch from c860d91 to 3006c75 Compare August 13, 2024 16:18
@renovate renovate bot force-pushed the renovate/remix-run-react-2.x-lockfile branch from 3006c75 to 6d64a0e Compare August 13, 2024 16:28
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.11.1 Update dependency @remix-run/react to v2.11.2 Aug 16, 2024
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.11.2 Update dependency @remix-run/react to v2.12.0 Sep 10, 2024
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.12.0 Update dependency @remix-run/react to v2.12.1 Sep 20, 2024
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.12.1 Update dependency @remix-run/react to v2.13.1 Oct 12, 2024
@renovate renovate bot force-pushed the renovate/remix-run-react-2.x-lockfile branch from 6d64a0e to c986035 Compare October 22, 2024 11:06
@renovate renovate bot changed the title Update dependency @remix-run/react to v2.13.1 Update dependency @remix-run/react to v2.14.0 Nov 9, 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