From b8074e63a7f98962d2e17b1453c06546f392bb40 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 6 Mar 2025 20:34:49 +0000 Subject: [PATCH 1/2] chore: Update version for release --- .changeset/afraid-tigers-promise.md | 5 - .changeset/cool-pillows-sing.md | 5 - .changeset/dry-impalas-live.md | 5 - .changeset/gold-insects-remain.md | 5 - .changeset/hip-jars-hunt.md | 5 - .changeset/lovely-cups-sniff.md | 5 - .changeset/lucky-icons-tap.md | 5 - .changeset/middleware.md | 179 ------------------ .changeset/modern-forks-ring.md | 5 - .changeset/new-houses-hug.md | 5 - .changeset/ninety-otters-repeat.md | 5 - .changeset/orange-meals-repair.md | 25 --- .changeset/popular-hats-love.md | 5 - .changeset/pre.json | 52 ----- .changeset/pretty-flies-crash.md | 7 - .changeset/real-adults-protect.md | 9 - .changeset/sharp-sloths-swim.md | 5 - .changeset/short-comics-fly.md | 5 - .changeset/slow-coats-arrive.md | 5 - .changeset/spa-context.md | 50 ----- .changeset/tough-rats-sparkle.md | 5 - .changeset/yellow-glasses-sort.md | 5 - packages/create-react-router/CHANGELOG.md | 4 +- packages/create-react-router/package.json | 2 +- packages/react-router-architect/CHANGELOG.md | 14 +- packages/react-router-architect/package.json | 2 +- packages/react-router-cloudflare/CHANGELOG.md | 11 +- packages/react-router-cloudflare/package.json | 2 +- packages/react-router-dev/CHANGELOG.md | 30 +-- packages/react-router-dev/package.json | 2 +- packages/react-router-dom/CHANGELOG.md | 13 +- packages/react-router-dom/package.json | 2 +- packages/react-router-express/CHANGELOG.md | 18 +- packages/react-router-express/package.json | 2 +- packages/react-router-fs-routes/CHANGELOG.md | 11 +- packages/react-router-fs-routes/package.json | 2 +- packages/react-router-node/CHANGELOG.md | 13 +- packages/react-router-node/package.json | 2 +- .../CHANGELOG.md | 11 +- .../package.json | 2 +- packages/react-router-serve/CHANGELOG.md | 19 +- packages/react-router-serve/package.json | 2 +- packages/react-router/CHANGELOG.md | 17 +- packages/react-router/package.json | 2 +- 44 files changed, 61 insertions(+), 524 deletions(-) delete mode 100644 .changeset/afraid-tigers-promise.md delete mode 100644 .changeset/cool-pillows-sing.md delete mode 100644 .changeset/dry-impalas-live.md delete mode 100644 .changeset/gold-insects-remain.md delete mode 100644 .changeset/hip-jars-hunt.md delete mode 100644 .changeset/lovely-cups-sniff.md delete mode 100644 .changeset/lucky-icons-tap.md delete mode 100644 .changeset/middleware.md delete mode 100644 .changeset/modern-forks-ring.md delete mode 100644 .changeset/new-houses-hug.md delete mode 100644 .changeset/ninety-otters-repeat.md delete mode 100644 .changeset/orange-meals-repair.md delete mode 100644 .changeset/popular-hats-love.md delete mode 100644 .changeset/pre.json delete mode 100644 .changeset/pretty-flies-crash.md delete mode 100644 .changeset/real-adults-protect.md delete mode 100644 .changeset/sharp-sloths-swim.md delete mode 100644 .changeset/short-comics-fly.md delete mode 100644 .changeset/slow-coats-arrive.md delete mode 100644 .changeset/spa-context.md delete mode 100644 .changeset/tough-rats-sparkle.md delete mode 100644 .changeset/yellow-glasses-sort.md diff --git a/.changeset/afraid-tigers-promise.md b/.changeset/afraid-tigers-promise.md deleted file mode 100644 index 3913d50550..0000000000 --- a/.changeset/afraid-tigers-promise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Fix support for custom client `build.rollupOptions.output.entryFileNames` diff --git a/.changeset/cool-pillows-sing.md b/.changeset/cool-pillows-sing.md deleted file mode 100644 index 882aad1f64..0000000000 --- a/.changeset/cool-pillows-sing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-router": patch ---- - -Skip resource route flow in dev server in SPA mode diff --git a/.changeset/dry-impalas-live.md b/.changeset/dry-impalas-live.md deleted file mode 100644 index 8ed75ec3a7..0000000000 --- a/.changeset/dry-impalas-live.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Fix usage of `prerender` option when `serverBundles` option has been configured or provided by a preset, e.g. `vercelPreset` from `@vercel/react-router` diff --git a/.changeset/gold-insects-remain.md b/.changeset/gold-insects-remain.md deleted file mode 100644 index 0977a09f51..0000000000 --- a/.changeset/gold-insects-remain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Fix support for custom `build.assetsDir` diff --git a/.changeset/hip-jars-hunt.md b/.changeset/hip-jars-hunt.md deleted file mode 100644 index d3c719898b..0000000000 --- a/.changeset/hip-jars-hunt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/express": patch ---- - -Update `express` `peerDependency` to include v5 (https://github.com/remix-run/react-router/pull/13064) diff --git a/.changeset/lovely-cups-sniff.md b/.changeset/lovely-cups-sniff.md deleted file mode 100644 index a60f6d49fb..0000000000 --- a/.changeset/lovely-cups-sniff.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-router": patch ---- - -Fix jsdoc types for `context` diff --git a/.changeset/lucky-icons-tap.md b/.changeset/lucky-icons-tap.md deleted file mode 100644 index 2bbefb8d0a..0000000000 --- a/.changeset/lucky-icons-tap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Remove unused dependencies diff --git a/.changeset/middleware.md b/.changeset/middleware.md deleted file mode 100644 index 09c83b32c0..0000000000 --- a/.changeset/middleware.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -"react-router": patch ---- - -Support middleware on routes (unstable) - -Middleware is implemented behind a `future.unstable_middleware` flag. To enable, you must enable the flag and the types in your `react-router-config.ts` file: - -```ts -import type { Config } from "@react-router/dev/config"; -import type { Future } from "react-router"; - -declare module "react-router" { - interface Future { - unstable_middleware: true; // 👈 Enable middleware types - } -} - -export default { - future: { - unstable_middleware: true, // 👈 Enable middleware - }, -} satisfies Config; -``` - -⚠️ Middleware is unstable and should not be adopted in production. There is at least one known de-optimization in route module loading for `clientMiddleware` that we will be addressing this before a stable release. - -⚠️ Enabling middleware contains a breaking change to the `context` parameter passed to your `loader`/`action` functions - see below for more information. - -Once enabled, routes can define an array of middleware functions that will run sequentially before route handlers run. These functions accept the same parameters as `loader`/`action` plus an additional `next` parameter to run the remaining data pipeline. This allows middlewares to perform logic before and after handlers execute. - -```tsx -// Framework mode -export const unstable_middleware = [serverLogger, serverAuth]; // server -export const unstable_clientMiddleware = [clientLogger]; // client - -// Library mode -const routes = [ - { - path: "/", - // Middlewares are client-side for library mode SPA's - unstable_middleware: [clientLogger, clientAuth], - loader: rootLoader, - Component: Root, - }, -]; -``` - -Here's a simple example of a client-side logging middleware that can be placed on the root route: - -```tsx -const clientLogger: Route.unstable_ClientMiddlewareFunction = async ( - { request }, - next -) => { - let start = performance.now(); - - // Run the remaining middlewares and all route loaders - await next(); - - let duration = performance.now() - start; - console.log(`Navigated to ${request.url} (${duration}ms)`); -}; -``` - -Note that in the above example, the `next`/`middleware` functions don't return anything. This is by design as on the client there is no "response" to send over the network like there would be for middlewares running on the server. The data is all handled behind the scenes by the stateful `router`. - -For a server-side middleware, the `next` function will return the HTTP `Response` that React Router will be sending across the wire, thus giving you a chance to make changes as needed. You may throw a new response to short circuit and respond immediately, or you may return a new or altered response to override the default returned by `next()`. - -```tsx -const serverLogger: Route.unstable_MiddlewareFunction = async ( - { request, params, context }, - next -) => { - let start = performance.now(); - - // 👇 Grab the response here - let res = await next(); - - let duration = performance.now() - start; - console.log(`Navigated to ${request.url} (${duration}ms)`); - - // 👇 And return it here (optional if you don't modify the response) - return res; -}; -``` - -You can throw a `redirect` from a middleware to short circuit any remaining processing: - -```tsx -import { sessionContext } from "../context"; -const serverAuth: Route.unstable_MiddlewareFunction = ( - { request, params, context }, - next -) => { - let session = context.get(sessionContext); - let user = session.get("user"); - if (!user) { - session.set("returnTo", request.url); - throw redirect("/login", 302); - } -}; -``` - -_Note that in cases like this where you don't need to do any post-processing you don't need to call the `next` function or return a `Response`._ - -Here's another example of using a server middleware to detect 404s and check the CMS for a redirect: - -```tsx -const redirects: Route.unstable_MiddlewareFunction = async ({ - request, - next, -}) => { - // attempt to handle the request - let res = await next(); - - // if it's a 404, check the CMS for a redirect, do it last - // because it's expensive - if (res.status === 404) { - let cmsRedirect = await checkCMSRedirects(request.url); - if (cmsRedirect) { - throw redirect(cmsRedirect, 302); - } - } - - return res; -}; -``` - -**`context` parameter** - -When middleware is enabled, your application will use a different type of `context` parameter in your loaders and actions to provide better type safety. Instead of `AppLoadContext`, `context` will now be an instance of `ContextProvider` that you can use with type-safe contexts (similar to `React.createContext`): - -```ts -import { unstable_createContext } from "react-router"; -import { Route } from "./+types/root"; -import type { Session } from "./sessions.server"; -import { getSession } from "./sessions.server"; - -let sessionContext = unstable_createContext(); - -const sessionMiddleware: Route.unstable_MiddlewareFunction = ({ - context, - request, -}) => { - let session = await getSession(request); - context.set(sessionContext, session); - // ^ must be of type Session -}; - -// ... then in some downstream middleware -const loggerMiddleware: Route.unstable_MiddlewareFunction = ({ - context, - request, -}) => { - let session = context.get(sessionContext); - // ^ typeof Session - console.log(session.get("userId"), request.method, request.url); -}; - -// ... or some downstream loader -export function loader({ context }: Route.LoaderArgs) { - let session = context.get(sessionContext); - let profile = await getProfile(session.get("userId")); - return { profile }; -} -``` - -If you are using a custom server with a `getLoadContext` function, the return value for initial context values passed from the server adapter layer is no longer an object and should now return an `unstable_InitialContext` (`Map`): - -```ts -let adapterContext = unstable_createContext(); - -function getLoadContext(req, res): unstable_InitialContext { - let map = new Map(); - map.set(adapterContext, getAdapterContext(req)); - return map; -} -``` diff --git a/.changeset/modern-forks-ring.md b/.changeset/modern-forks-ring.md deleted file mode 100644 index 1c85944d34..0000000000 --- a/.changeset/modern-forks-ring.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Stub all routes except root in "SPA Mode" server builds to avoid issues when route modules or their dependencies import non-SSR-friendly modules diff --git a/.changeset/new-houses-hug.md b/.changeset/new-houses-hug.md deleted file mode 100644 index cf28bdf59f..0000000000 --- a/.changeset/new-houses-hug.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Fix errors with `future.unstable_viteEnvironmentApi` when the `ssr` environment has been configured by another plugin to be a custom `Vite.DevEnvironment` rather than the default `Vite.RunnableDevEnvironment` diff --git a/.changeset/ninety-otters-repeat.md b/.changeset/ninety-otters-repeat.md deleted file mode 100644 index d522315940..0000000000 --- a/.changeset/ninety-otters-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Remove unused Vite file system watcher diff --git a/.changeset/orange-meals-repair.md b/.changeset/orange-meals-repair.md deleted file mode 100644 index f3e1f9c6b8..0000000000 --- a/.changeset/orange-meals-repair.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -"react-router": patch ---- - -Fix types for loaderData and actionData that contained `Record`s - -UNSTABLE(BREAKING): - -`unstable_SerializesTo` added a way to register custom serialization types in Single Fetch for other library and framework authors like Apollo. -It was implemented with branded type whose branded property that was made optional so that casting arbitrary values was easy: - -```ts -// without the brand being marked as optional -let x1 = 42 as unknown as unstable_SerializesTo; -// ^^^^^^^^^^ - -// with the brand being marked as optional -let x2 = 42 as unstable_SerializesTo; -``` - -However, this broke type inference in `loaderData` and `actionData` for any `Record` types as those would now (incorrectly) match `unstable_SerializesTo`. -This affected all users, not just those that depended on `unstable_SerializesTo`. -To fix this, the branded property of `unstable_SerializesTo` is marked as required instead of optional. - -For library and framework authors using `unstable_SerializesTo`, you may need to add `as unknown` casts before casting to `unstable_SerializesTo`. diff --git a/.changeset/popular-hats-love.md b/.changeset/popular-hats-love.md deleted file mode 100644 index c4ec9c7ade..0000000000 --- a/.changeset/popular-hats-love.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-router": patch ---- - -[REMOVE] Remove middleware depth logic and always call middlware for all matches diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index 8f4be7e1ed..0000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "mode": "exit", - "tag": "pre", - "initialVersions": { - "integration": "0.0.0", - "integration-cloudflare-dev-proxy-template": "0.0.0", - "integration-vite-5-template": "0.0.0", - "integration-vite-6-template": "0.0.0", - "integration-vite-plugin-cloudflare-template": "0.0.0", - "create-react-router": "7.2.0", - "react-router": "7.2.0", - "@react-router/architect": "7.2.0", - "@react-router/cloudflare": "7.2.0", - "@react-router/dev": "7.2.0", - "react-router-dom": "7.2.0", - "@react-router/express": "7.2.0", - "@react-router/fs-routes": "7.2.0", - "@react-router/node": "7.2.0", - "@react-router/remix-routes-option-adapter": "7.2.0", - "@react-router/serve": "7.2.0", - "@playground/framework": "0.0.0", - "@playground/framework-express": "0.0.0", - "@playground/framework-spa": "0.0.0", - "@playground/framework-vite-5": "0.0.0", - "@playground/split-route-modules": "0.0.0", - "@playground/split-route-modules-spa": "0.0.0", - "@playground/vite-plugin-cloudflare": "0.0.0" - }, - "changesets": [ - "afraid-tigers-promise", - "cool-pillows-sing", - "dry-impalas-live", - "gold-insects-remain", - "hip-jars-hunt", - "lovely-cups-sniff", - "lucky-icons-tap", - "middleware", - "modern-forks-ring", - "new-houses-hug", - "ninety-otters-repeat", - "orange-meals-repair", - "popular-hats-love", - "pretty-flies-crash", - "real-adults-protect", - "sharp-sloths-swim", - "short-comics-fly", - "slow-coats-arrive", - "spa-context", - "tough-rats-sparkle", - "yellow-glasses-sort" - ] -} diff --git a/.changeset/pretty-flies-crash.md b/.changeset/pretty-flies-crash.md deleted file mode 100644 index a0c18f9ee2..0000000000 --- a/.changeset/pretty-flies-crash.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Fix support for custom SSR build input when `serverBundles` option has been configured - -Note that for consumers using the `future.unstable_viteEnvironmentApi` and `serverBundles` options together, hyphens are no longer supported in server bundle IDs since they also need to be valid Vite environment names. diff --git a/.changeset/real-adults-protect.md b/.changeset/real-adults-protect.md deleted file mode 100644 index dfa070975b..0000000000 --- a/.changeset/real-adults-protect.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"react-router": minor ---- - -Add `fetcherKey` as a parameter to `patchRoutesOnNavigation` - -- In framework mode, Lazy Route Discovery will now detect manifest version mismatches after a new deploy -- On navigations to undiscovered routes, this mismatch will trigger a document reload of the destination path -- On `fetcher` calls to undiscovered routes, this mismatch will trigger a document reload of the current path diff --git a/.changeset/sharp-sloths-swim.md b/.changeset/sharp-sloths-swim.md deleted file mode 100644 index 4f9ab51ad7..0000000000 --- a/.changeset/sharp-sloths-swim.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Fix dev server when using HTTPS by stripping HTTP/2 pseudo headers from dev server requests diff --git a/.changeset/short-comics-fly.md b/.changeset/short-comics-fly.md deleted file mode 100644 index c3c88c8953..0000000000 --- a/.changeset/short-comics-fly.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-router": patch ---- - -Fix single fetch `_root.data` requests when a `basename` is used diff --git a/.changeset/slow-coats-arrive.md b/.changeset/slow-coats-arrive.md deleted file mode 100644 index b95bf3ab99..0000000000 --- a/.changeset/slow-coats-arrive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Lazy load Cloudflare platform proxy on first dev server request when using the `cloudflareDevProxy` Vite plugin to avoid creating unnecessary workerd processes diff --git a/.changeset/spa-context.md b/.changeset/spa-context.md deleted file mode 100644 index facaabb42b..0000000000 --- a/.changeset/spa-context.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -"react-router": patch ---- - -Add `context` support to client side data routers (unstable) - -Your application `loader` and `action` functions on the client will now receive a `context` parameter. This is an instance of `unstable_RouterContextProvider` that you use with type-safe contexts (similar to `React.createContext`) and is most useful with the corresponding `middleware`/`clientMiddleware` API's: - -```ts -import { unstable_createContext } from "react-router"; - -type User = { - /*...*/ -}; - -let userContext = unstable_createContext(); - -function sessionMiddleware({ context }) { - let user = await getUser(); - context.set(userContext, user); -} - -// ... then in some downstream loader -function loader({ context }) { - let user = context.get(userContext); - let profile = await getProfile(user.id); - return { profile }; -} -``` - -Similar to server-side requests, a fresh `context` will be created per navigation (or `fetcher` call). If you have initial data you'd like to populate in the context for every request, you can provide an `unstable_getContext` function at the root of your app: - -- Library mode - `createBrowserRouter(routes, { unstable_getContext })` -- Framework mode - `` - -This function should return an value of type `unstable_InitialContext` which is a `Map` of context's and initial values: - -```ts -const loggerContext = unstable_createContext<(...args: unknown[]) => void>(); - -function logger(...args: unknown[]) { - console.log(new Date.toISOString(), ...args); -} - -function unstable_getContext() { - let map = new Map(); - map.set(loggerContext, logger); - return map; -} -``` diff --git a/.changeset/tough-rats-sparkle.md b/.changeset/tough-rats-sparkle.md deleted file mode 100644 index 8e89b24b1b..0000000000 --- a/.changeset/tough-rats-sparkle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -When `future.unstable_viteEnvironmentApi` is enabled and the `ssr` environment has `optimizeDeps.noDiscovery` disabled, define `optimizeDeps.entries` and `optimizeDeps.include` diff --git a/.changeset/yellow-glasses-sort.md b/.changeset/yellow-glasses-sort.md deleted file mode 100644 index bd4c461ac1..0000000000 --- a/.changeset/yellow-glasses-sort.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@react-router/dev": patch ---- - -Fix duplicated entries in typegen for layout routes and their corresponding index route diff --git a/packages/create-react-router/CHANGELOG.md b/packages/create-react-router/CHANGELOG.md index f950fed2c8..c7a5fe7f1c 100644 --- a/packages/create-react-router/CHANGELOG.md +++ b/packages/create-react-router/CHANGELOG.md @@ -1,8 +1,6 @@ # `create-react-router` -## 7.3.0-pre.1 - -## 7.3.0-pre.0 +## 7.3.0 ## 7.2.0 diff --git a/packages/create-react-router/package.json b/packages/create-react-router/package.json index 581bf5591b..a08acd5173 100644 --- a/packages/create-react-router/package.json +++ b/packages/create-react-router/package.json @@ -1,6 +1,6 @@ { "name": "create-react-router", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Create a new React Router app", "homepage": "https://reactrouter.com", "bugs": { diff --git a/packages/react-router-architect/CHANGELOG.md b/packages/react-router-architect/CHANGELOG.md index 83008a38a1..bf97916747 100644 --- a/packages/react-router-architect/CHANGELOG.md +++ b/packages/react-router-architect/CHANGELOG.md @@ -1,20 +1,12 @@ # `@react-router/architect` -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes - Updated dependencies: - - `react-router@7.3.0-pre.1` - - `@react-router/node@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `react-router@7.3.0-pre.0` - - `@react-router/node@7.3.0-pre.0` + - `react-router@7.3.0` + - `@react-router/node@7.3.0` ## 7.2.0 diff --git a/packages/react-router-architect/package.json b/packages/react-router-architect/package.json index 1d5c6b9285..ee582cf383 100644 --- a/packages/react-router-architect/package.json +++ b/packages/react-router-architect/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/architect", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Architect server request handler for React Router", "bugs": { "url": "https://github.com/remix-run/react-router/issues" diff --git a/packages/react-router-cloudflare/CHANGELOG.md b/packages/react-router-cloudflare/CHANGELOG.md index 1b8af4df6e..f3a997b6a6 100644 --- a/packages/react-router-cloudflare/CHANGELOG.md +++ b/packages/react-router-cloudflare/CHANGELOG.md @@ -1,18 +1,11 @@ # `@react-router/cloudflare` -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes - Updated dependencies: - - `react-router@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `react-router@7.3.0-pre.0` + - `react-router@7.3.0` ## 7.2.0 diff --git a/packages/react-router-cloudflare/package.json b/packages/react-router-cloudflare/package.json index 8c69a2c26a..700400df9a 100644 --- a/packages/react-router-cloudflare/package.json +++ b/packages/react-router-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/cloudflare", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Cloudflare platform abstractions for React Router", "bugs": { "url": "https://github.com/remix-run/react-router/issues" diff --git a/packages/react-router-dev/CHANGELOG.md b/packages/react-router-dev/CHANGELOG.md index 38264121c2..ab2e2d8e7e 100644 --- a/packages/react-router-dev/CHANGELOG.md +++ b/packages/react-router-dev/CHANGELOG.md @@ -1,37 +1,39 @@ # `@react-router/dev` -## 7.3.0-pre.1 - -### Patch Changes - -- Updated dependencies: - - `react-router@7.3.0-pre.1` - - `@react-router/node@7.3.0-pre.1` - - `@react-router/serve@7.3.0-pre.1` - -## 7.3.0-pre.0 +## 7.3.0 ### Patch Changes - Fix support for custom client `build.rollupOptions.output.entryFileNames` ([#13098](https://github.com/remix-run/react-router/pull/13098)) + - Fix usage of `prerender` option when `serverBundles` option has been configured or provided by a preset, e.g. `vercelPreset` from `@vercel/react-router` ([#13082](https://github.com/remix-run/react-router/pull/13082)) + - Fix support for custom `build.assetsDir` ([#13077](https://github.com/remix-run/react-router/pull/13077)) + - Remove unused dependencies ([#13134](https://github.com/remix-run/react-router/pull/13134)) + - Stub all routes except root in "SPA Mode" server builds to avoid issues when route modules or their dependencies import non-SSR-friendly modules ([#13023](https://github.com/remix-run/react-router/pull/13023)) + - Fix errors with `future.unstable_viteEnvironmentApi` when the `ssr` environment has been configured by another plugin to be a custom `Vite.DevEnvironment` rather than the default `Vite.RunnableDevEnvironment` ([#13008](https://github.com/remix-run/react-router/pull/13008)) + - Remove unused Vite file system watcher ([#13133](https://github.com/remix-run/react-router/pull/13133)) + - Fix support for custom SSR build input when `serverBundles` option has been configured ([#13107](https://github.com/remix-run/react-router/pull/13107)) Note that for consumers using the `future.unstable_viteEnvironmentApi` and `serverBundles` options together, hyphens are no longer supported in server bundle IDs since they also need to be valid Vite environment names. - Fix dev server when using HTTPS by stripping HTTP/2 pseudo headers from dev server requests ([#12830](https://github.com/remix-run/react-router/pull/12830)) + - Lazy load Cloudflare platform proxy on first dev server request when using the `cloudflareDevProxy` Vite plugin to avoid creating unnecessary workerd processes ([#13016](https://github.com/remix-run/react-router/pull/13016)) + - When `future.unstable_viteEnvironmentApi` is enabled and the `ssr` environment has `optimizeDeps.noDiscovery` disabled, define `optimizeDeps.entries` and `optimizeDeps.include` ([#13007](https://github.com/remix-run/react-router/pull/13007)) + - Fix duplicated entries in typegen for layout routes and their corresponding index route ([#13140](https://github.com/remix-run/react-router/pull/13140)) + - Updated dependencies: - - `react-router@7.3.0-pre.0` - - `@react-router/node@7.3.0-pre.0` - - `@react-router/serve@7.3.0-pre.0` + - `react-router@7.3.0` + - `@react-router/node@7.3.0` + - `@react-router/serve@7.3.0` ## 7.2.0 @@ -236,7 +238,7 @@ +import { cloudflareDevProxy } from "@react-router/dev/vite/cloudflare"; ``` -- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) +- Remove single\_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) - update minimum node version to 18 ([#11690](https://github.com/remix-run/react-router/pull/11690)) diff --git a/packages/react-router-dev/package.json b/packages/react-router-dev/package.json index 41dc869876..6fe1f54deb 100644 --- a/packages/react-router-dev/package.json +++ b/packages/react-router-dev/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/dev", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Dev tools and CLI for React Router", "homepage": "https://reactrouter.com", "bugs": { diff --git a/packages/react-router-dom/CHANGELOG.md b/packages/react-router-dom/CHANGELOG.md index fb761e5520..e336b99a7a 100644 --- a/packages/react-router-dom/CHANGELOG.md +++ b/packages/react-router-dom/CHANGELOG.md @@ -1,18 +1,11 @@ # react-router-dom -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes - Updated dependencies: - - `react-router@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `react-router@7.3.0-pre.0` + - `react-router@7.3.0` ## 7.2.0 @@ -91,7 +84,7 @@ - Use `createRemixRouter`/`RouterProvider` in `entry.client` instead of `RemixBrowser` ([#11469](https://github.com/remix-run/react-router/pull/11469)) -- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) +- Remove single\_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) - Remove `future.v7_startTransition` flag ([#11696](https://github.com/remix-run/react-router/pull/11696)) diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json index 96b645ad64..0339898363 100644 --- a/packages/react-router-dom/package.json +++ b/packages/react-router-dom/package.json @@ -1,6 +1,6 @@ { "name": "react-router-dom", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Declarative routing for React web applications", "keywords": [ "react", diff --git a/packages/react-router-express/CHANGELOG.md b/packages/react-router-express/CHANGELOG.md index 90bf0298a1..3fff189cd1 100644 --- a/packages/react-router-express/CHANGELOG.md +++ b/packages/react-router-express/CHANGELOG.md @@ -1,21 +1,13 @@ # `@react-router/express` -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes +- Update `express` `peerDependency` to include v5 () ([#12961](https://github.com/remix-run/react-router/pull/12961)) - Updated dependencies: - - `react-router@7.3.0-pre.1` - - `@react-router/node@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Update `express` `peerDependency` to include v5 (https://github.com/remix-run/react-router/pull/13064) ([#12961](https://github.com/remix-run/react-router/pull/12961)) -- Updated dependencies: - - `react-router@7.3.0-pre.0` - - `@react-router/node@7.3.0-pre.0` + - `react-router@7.3.0` + - `@react-router/node@7.3.0` ## 7.2.0 @@ -93,7 +85,7 @@ ### Major Changes -- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) +- Remove single\_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) - update minimum node version to 18 ([#11690](https://github.com/remix-run/react-router/pull/11690)) - Add `exports` field to all packages ([#11675](https://github.com/remix-run/react-router/pull/11675)) - node package no longer re-exports from react-router ([#11702](https://github.com/remix-run/react-router/pull/11702)) diff --git a/packages/react-router-express/package.json b/packages/react-router-express/package.json index 458803a0cf..d31def1959 100644 --- a/packages/react-router-express/package.json +++ b/packages/react-router-express/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/express", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Express server request handler for React Router", "bugs": { "url": "https://github.com/remix-run/react-router/issues" diff --git a/packages/react-router-fs-routes/CHANGELOG.md b/packages/react-router-fs-routes/CHANGELOG.md index 0efedf14d6..de30c3dd0b 100644 --- a/packages/react-router-fs-routes/CHANGELOG.md +++ b/packages/react-router-fs-routes/CHANGELOG.md @@ -1,18 +1,11 @@ # `@react-router/fs-routes` -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes - Updated dependencies: - - `@react-router/dev@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@react-router/dev@7.3.0-pre.0` + - `@react-router/dev@7.3.0` ## 7.2.0 diff --git a/packages/react-router-fs-routes/package.json b/packages/react-router-fs-routes/package.json index cd44799684..e7bc89d8fe 100644 --- a/packages/react-router-fs-routes/package.json +++ b/packages/react-router-fs-routes/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/fs-routes", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "File system routing conventions for React Router, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/react-router/issues" diff --git a/packages/react-router-node/CHANGELOG.md b/packages/react-router-node/CHANGELOG.md index e3df360279..6579cd45ba 100644 --- a/packages/react-router-node/CHANGELOG.md +++ b/packages/react-router-node/CHANGELOG.md @@ -1,18 +1,11 @@ # `@react-router/node` -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes - Updated dependencies: - - `react-router@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `react-router@7.3.0-pre.0` + - `react-router@7.3.0` ## 7.2.0 @@ -81,7 +74,7 @@ ### Major Changes -- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) +- Remove single\_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) - For Remix consumers migrating to React Router, the `crypto` global from the [Web Crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) is now required when using cookie and session APIs. This means that the following APIs are provided from `react-router` rather than platform-specific packages: ([#11837](https://github.com/remix-run/react-router/pull/11837)) diff --git a/packages/react-router-node/package.json b/packages/react-router-node/package.json index 719afcbc39..a0ff471591 100644 --- a/packages/react-router-node/package.json +++ b/packages/react-router-node/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/node", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Node.js platform abstractions for React Router", "bugs": { "url": "https://github.com/remix-run/react-router/issues" diff --git a/packages/react-router-remix-routes-option-adapter/CHANGELOG.md b/packages/react-router-remix-routes-option-adapter/CHANGELOG.md index 70d4e0c2ed..dc9c595b3e 100644 --- a/packages/react-router-remix-routes-option-adapter/CHANGELOG.md +++ b/packages/react-router-remix-routes-option-adapter/CHANGELOG.md @@ -1,18 +1,11 @@ # `@react-router/remix-config-routes-adapter` -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes - Updated dependencies: - - `@react-router/dev@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `@react-router/dev@7.3.0-pre.0` + - `@react-router/dev@7.3.0` ## 7.2.0 diff --git a/packages/react-router-remix-routes-option-adapter/package.json b/packages/react-router-remix-routes-option-adapter/package.json index 87851eab90..2f5a4c51ea 100644 --- a/packages/react-router-remix-routes-option-adapter/package.json +++ b/packages/react-router-remix-routes-option-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/remix-routes-option-adapter", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Adapter for Remix's \"routes\" config option, for use within routes.ts", "bugs": { "url": "https://github.com/remix-run/react-router/issues" diff --git a/packages/react-router-serve/CHANGELOG.md b/packages/react-router-serve/CHANGELOG.md index c60cb0a9de..9a3cf10a8b 100644 --- a/packages/react-router-serve/CHANGELOG.md +++ b/packages/react-router-serve/CHANGELOG.md @@ -1,22 +1,13 @@ # `@react-router/serve` -## 7.3.0-pre.1 +## 7.3.0 ### Patch Changes - Updated dependencies: - - `react-router@7.3.0-pre.1` - - `@react-router/node@7.3.0-pre.1` - - `@react-router/express@7.3.0-pre.1` - -## 7.3.0-pre.0 - -### Patch Changes - -- Updated dependencies: - - `react-router@7.3.0-pre.0` - - `@react-router/express@7.3.0-pre.0` - - `@react-router/node@7.3.0-pre.0` + - `react-router@7.3.0` + - `@react-router/express@7.3.0` + - `@react-router/node@7.3.0` ## 7.2.0 @@ -103,7 +94,7 @@ ### Major Changes -- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) +- Remove single\_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) - update minimum node version to 18 ([#11690](https://github.com/remix-run/react-router/pull/11690)) - Add `exports` field to all packages ([#11675](https://github.com/remix-run/react-router/pull/11675)) - node package no longer re-exports from react-router ([#11702](https://github.com/remix-run/react-router/pull/11702)) diff --git a/packages/react-router-serve/package.json b/packages/react-router-serve/package.json index a798373390..3e17c62c0a 100644 --- a/packages/react-router-serve/package.json +++ b/packages/react-router-serve/package.json @@ -1,6 +1,6 @@ { "name": "@react-router/serve", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Production application server for React Router", "bugs": { "url": "https://github.com/remix-run/react-router/issues" diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 20896c763c..9f86da98f4 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -1,13 +1,6 @@ # `react-router` -## 7.3.0-pre.1 - -### Patch Changes - -- Fix jsdoc types for `context` ([#13170](https://github.com/remix-run/react-router/pull/13170)) -- [REMOVE] Remove middleware depth logic and always call middlware for all matches ([#13172](https://github.com/remix-run/react-router/pull/13172)) - -## 7.3.0-pre.0 +## 7.3.0 ### Minor Changes @@ -20,6 +13,9 @@ ### Patch Changes - Skip resource route flow in dev server in SPA mode ([#13113](https://github.com/remix-run/react-router/pull/13113)) + +- Fix jsdoc types for `context` ([#13170](https://github.com/remix-run/react-router/pull/13170)) + - Support middleware on routes (unstable) ([#12941](https://github.com/remix-run/react-router/pull/12941)) Middleware is implemented behind a `future.unstable_middleware` flag. To enable, you must enable the flag and the types in your `react-router-config.ts` file: @@ -218,7 +214,10 @@ For library and framework authors using `unstable_SerializesTo`, you may need to add `as unknown` casts before casting to `unstable_SerializesTo`. +- \[REMOVE] Remove middleware depth logic and always call middlware for all matches ([#13172](https://github.com/remix-run/react-router/pull/13172)) + - Fix single fetch `_root.data` requests when a `basename` is used ([#12898](https://github.com/remix-run/react-router/pull/12898)) + - Add `context` support to client side data routers (unstable) ([#12941](https://github.com/remix-run/react-router/pull/12941)) Your application `loader` and `action` functions on the client will now receive a `context` parameter. This is an instance of `unstable_RouterContextProvider` that you use with type-safe contexts (similar to `React.createContext`) and is most useful with the corresponding `middleware`/`clientMiddleware` API's: @@ -423,7 +422,7 @@ _No changes_ - Collapse `@remix-run/server-runtime` into `react-router` - Collapse `@remix-run/testing` into `react-router` -- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) +- Remove single\_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) - Drop support for Node 16, React Router SSR now requires Node 18 or higher ([#11391](https://github.com/remix-run/react-router/pull/11391)) diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 975f71f7e6..6fd3246e20 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "react-router", - "version": "7.3.0-pre.1", + "version": "7.3.0", "description": "Declarative routing for React", "keywords": [ "react", From fc851431af4e53cac5f363a2f3c1fbe621958fa7 Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Thu, 6 Mar 2025 15:44:07 -0500 Subject: [PATCH 2/2] Update release notes --- packages/create-react-router/CHANGELOG.md | 2 ++ packages/react-router/CHANGELOG.md | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/create-react-router/CHANGELOG.md b/packages/create-react-router/CHANGELOG.md index c7a5fe7f1c..a7c95ed10e 100644 --- a/packages/create-react-router/CHANGELOG.md +++ b/packages/create-react-router/CHANGELOG.md @@ -2,6 +2,8 @@ ## 7.3.0 +_No changes_ + ## 7.2.0 _No changes_ diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 9f86da98f4..6b9d7ee008 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -14,8 +14,6 @@ - Skip resource route flow in dev server in SPA mode ([#13113](https://github.com/remix-run/react-router/pull/13113)) -- Fix jsdoc types for `context` ([#13170](https://github.com/remix-run/react-router/pull/13170)) - - Support middleware on routes (unstable) ([#12941](https://github.com/remix-run/react-router/pull/12941)) Middleware is implemented behind a `future.unstable_middleware` flag. To enable, you must enable the flag and the types in your `react-router-config.ts` file: @@ -422,7 +420,7 @@ _No changes_ - Collapse `@remix-run/server-runtime` into `react-router` - Collapse `@remix-run/testing` into `react-router` -- Remove single\_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) +- Remove single_fetch future flag. ([#11522](https://github.com/remix-run/react-router/pull/11522)) - Drop support for Node 16, React Router SSR now requires Node 18 or higher ([#11391](https://github.com/remix-run/react-router/pull/11391))