From e3eb69525d2055c0866e3b32fc4651c55f8325ca Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 23 Feb 2026 16:50:49 +0000
Subject: [PATCH] chore: Update version for release
---
.changeset/breezy-pans-warn.md | 5 --
.changeset/clear-stream-timeout.md | 5 --
.changeset/hot-jokes-allow.md | 5 --
.changeset/pink-seas-hope.md | 8 ---
.changeset/plenty-olives-rush.md | 5 --
.changeset/poor-tips-own.md | 5 --
.changeset/pre.json | 49 ------------------
.changeset/silly-badgers-cough.md | 50 -------------------
.changeset/twelve-dancers-shop.md | 5 --
.changeset/warm-clouds-shine.md | 5 --
integration/CHANGELOG.md | 1 +
packages/create-react-router/CHANGELOG.md | 2 +-
packages/create-react-router/package.json | 2 +-
packages/react-router-architect/CHANGELOG.md | 9 ++--
packages/react-router-architect/package.json | 2 +-
packages/react-router-cloudflare/CHANGELOG.md | 7 ++-
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 | 4 +-
packages/react-router-dom/package.json | 2 +-
packages/react-router-express/CHANGELOG.md | 7 +--
packages/react-router-express/package.json | 2 +-
packages/react-router-fs-routes/CHANGELOG.md | 4 +-
packages/react-router-fs-routes/package.json | 2 +-
packages/react-router-node/CHANGELOG.md | 9 +++-
packages/react-router-node/package.json | 2 +-
.../CHANGELOG.md | 4 +-
.../package.json | 2 +-
packages/react-router-serve/CHANGELOG.md | 10 ++--
packages/react-router-serve/package.json | 2 +-
packages/react-router/CHANGELOG.md | 43 +++++++++++-----
packages/react-router/package.json | 2 +-
33 files changed, 97 insertions(+), 197 deletions(-)
delete mode 100644 .changeset/breezy-pans-warn.md
delete mode 100644 .changeset/clear-stream-timeout.md
delete mode 100644 .changeset/hot-jokes-allow.md
delete mode 100644 .changeset/pink-seas-hope.md
delete mode 100644 .changeset/plenty-olives-rush.md
delete mode 100644 .changeset/poor-tips-own.md
delete mode 100644 .changeset/pre.json
delete mode 100644 .changeset/silly-badgers-cough.md
delete mode 100644 .changeset/twelve-dancers-shop.md
delete mode 100644 .changeset/warm-clouds-shine.md
diff --git a/.changeset/breezy-pans-warn.md b/.changeset/breezy-pans-warn.md
deleted file mode 100644
index 96853b8c1f..0000000000
--- a/.changeset/breezy-pans-warn.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"react-router": patch
----
-
-fix null reference exception in bad codepath leading to invalid route tree comparisons
diff --git a/.changeset/clear-stream-timeout.md b/.changeset/clear-stream-timeout.md
deleted file mode 100644
index cf9d792756..0000000000
--- a/.changeset/clear-stream-timeout.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"react-router": patch
----
-
-fix: clear timeout when turbo-stream encoding completes
diff --git a/.changeset/hot-jokes-allow.md b/.changeset/hot-jokes-allow.md
deleted file mode 100644
index 351bd640d3..0000000000
--- a/.changeset/hot-jokes-allow.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"react-router": patch
----
-
-Improve error message when Origin header is invalid
diff --git a/.changeset/pink-seas-hope.md b/.changeset/pink-seas-hope.md
deleted file mode 100644
index 01af67e08e..0000000000
--- a/.changeset/pink-seas-hope.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-"react-router": patch
----
-
-Fix matchPath optional params matching without a "/" separator.
-
-- matchPath("/users/:id?", "/usersblah") now returns null.
-- matchPath("/test_route/:part?", "/test_route_more") now returns null.
diff --git a/.changeset/plenty-olives-rush.md b/.changeset/plenty-olives-rush.md
deleted file mode 100644
index 1299950ae9..0000000000
--- a/.changeset/plenty-olives-rush.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"react-router": patch
----
-
-add RSC unstable_getRequest
diff --git a/.changeset/poor-tips-own.md b/.changeset/poor-tips-own.md
deleted file mode 100644
index 509d33c52c..0000000000
--- a/.changeset/poor-tips-own.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"react-router": patch
----
-
-Fix `HydrateFallback` rendering during initial lazy route discovery with matching splat route
diff --git a/.changeset/pre.json b/.changeset/pre.json
deleted file mode 100644
index 178f04f495..0000000000
--- a/.changeset/pre.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "mode": "exit",
- "tag": "pre",
- "initialVersions": {
- "integration": "0.0.0",
- "integration-cloudflare-dev-proxy-template": "0.0.0",
- "integration-rsc-vite": "0.0.0",
- "integration-rsc-vite-framework": "0.0.0",
- "integration-vite-5-template": "0.0.0",
- "integration-vite-6-template": "0.0.0",
- "integration-vite-7-beta-template": "0.0.0",
- "integration-vite-plugin-cloudflare-template": "0.0.0",
- "integration-vite-rolldown-template": "0.0.0",
- "create-react-router": "7.13.0",
- "react-router": "7.13.0",
- "@react-router/architect": "7.13.0",
- "@react-router/cloudflare": "7.13.0",
- "@react-router/dev": "7.13.0",
- "react-router-dom": "7.13.0",
- "@react-router/express": "7.13.0",
- "@react-router/fs-routes": "7.13.0",
- "@react-router/node": "7.13.0",
- "@react-router/remix-routes-option-adapter": "7.13.0",
- "@react-router/serve": "7.13.0",
- "@playground/data": "0.0.0",
- "@playground/framework": "0.0.0",
- "@playground/framework-express": "0.0.0",
- "@playground/framework-rolldown-vite": "0.0.0",
- "@playground/framework-spa": "0.0.0",
- "@playground/framework-vite-5": "0.0.0",
- "@playground/framework-vite-7-beta": "0.0.0",
- "@playground/rsc-vite": "0.0.0",
- "@playground/rsc-vite-framework": "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": [
- "breezy-pans-warn",
- "clear-stream-timeout",
- "hot-jokes-allow",
- "pink-seas-hope",
- "plenty-olives-rush",
- "poor-tips-own",
- "silly-badgers-cough",
- "twelve-dancers-shop",
- "warm-clouds-shine"
- ]
-}
diff --git a/.changeset/silly-badgers-cough.md b/.changeset/silly-badgers-cough.md
deleted file mode 100644
index 4135edc35b..0000000000
--- a/.changeset/silly-badgers-cough.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-"react-router": patch
----
-
-[UNSTABLE] Add support for `` in Data Mode which allows users to navigate to a URL in the router but "mask" the URL displayed in the browser. This is useful for contextual routing usages such as displaying an image in a model on top of a gallery, but displaying a browser URL directly to the image that can be shared and loaded without the contextual gallery in the background.
-
-```tsx
-// routes/gallery.tsx
-export function clientLoader({ request }: Route.LoaderArgs) {
- let sp = new URL(request.url).searchParams;
- return {
- images: getImages(),
- // When the router location has the image param, load the modal data
- modalImage: sp.has("image") ? getImage(sp.get("image")!) : null,
- };
-}
-
-export default function Gallery({ loaderData }: Route.ComponentProps) {
- return (
- <>
-
- {loaderData.images.map((image) => (
-
-
-
- ))}
-
-
- {/* When the modal data exists, display the modal */}
- {data.modalImage ? (
-
- ) : null}
- >
- );
-}
-```
-
-Notes:
-
-- The masked location, if present, will be available on `useLocation().unstable_mask` so you can detect whether you are currently masked or not.
-- Masked URLs only work for SPA use cases, and will be removed from `history.state` during SSR.
-- This provides a first-class API to mask URLs in Data Mode to achieve the same behavior you could do in Declarative Mode via [manual `backgroundLocation` management](https://github.com/remix-run/react-router/tree/main/examples/modal).
diff --git a/.changeset/twelve-dancers-shop.md b/.changeset/twelve-dancers-shop.md
deleted file mode 100644
index 8f18740909..0000000000
--- a/.changeset/twelve-dancers-shop.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"react-router": patch
----
-
-RSC: Update failed origin checks to return a 400 status and appropriate UI instead of a generic 500
diff --git a/.changeset/warm-clouds-shine.md b/.changeset/warm-clouds-shine.md
deleted file mode 100644
index 53b7ea2af7..0000000000
--- a/.changeset/warm-clouds-shine.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"react-router": patch
----
-
-Preserve query parameters and hash on manifest version mismatch reload
diff --git a/integration/CHANGELOG.md b/integration/CHANGELOG.md
index 2cf67d87b7..6fccf850d7 100644
--- a/integration/CHANGELOG.md
+++ b/integration/CHANGELOG.md
@@ -5,6 +5,7 @@
### Minor Changes
- Unstable Vite support for Node-based Remix apps ([#7590](https://github.com/remix-run/remix/pull/7590))
+
- `remix build` 👉 `vite build && vite build --ssr`
- `remix dev` 👉 `vite dev`
diff --git a/packages/create-react-router/CHANGELOG.md b/packages/create-react-router/CHANGELOG.md
index b1e55f1bed..0784fd5bb9 100644
--- a/packages/create-react-router/CHANGELOG.md
+++ b/packages/create-react-router/CHANGELOG.md
@@ -1,6 +1,6 @@
# `create-react-router`
-## 7.13.1-pre.0
+## 7.13.1
## 7.13.0
diff --git a/packages/create-react-router/package.json b/packages/create-react-router/package.json
index 19e50b8937..a2df126d02 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.13.1-pre.0",
+ "version": "7.13.1",
"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 7ca546d9fb..ac04993c40 100644
--- a/packages/react-router-architect/CHANGELOG.md
+++ b/packages/react-router-architect/CHANGELOG.md
@@ -1,12 +1,12 @@
# `@react-router/architect`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `react-router@7.13.1-pre.0`
- - `@react-router/node@7.13.1-pre.0`
+ - `react-router@7.13.1`
+ - `@react-router/node@7.13.1`
## 7.13.0
@@ -103,6 +103,7 @@
- Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215))
We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use:
+
- [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider)
- [`createContext`](https://reactrouter.com/api/utils/createContext)
- `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option
@@ -326,6 +327,7 @@
### Major Changes
- 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))
+
- `createCookie`
- `createCookieSessionStorage`
- `createMemorySessionStorage`
@@ -334,6 +336,7 @@
For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
+
- `createCookieFactory`
- `createSessionStorageFactory`
- `createCookieSessionStorageFactory`
diff --git a/packages/react-router-architect/package.json b/packages/react-router-architect/package.json
index 24661b5e4b..dbe134378c 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.13.1-pre.0",
+ "version": "7.13.1",
"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 2cb7b70422..4190774f96 100644
--- a/packages/react-router-cloudflare/CHANGELOG.md
+++ b/packages/react-router-cloudflare/CHANGELOG.md
@@ -1,11 +1,11 @@
# `@react-router/cloudflare`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `react-router@7.13.1-pre.0`
+ - `react-router@7.13.1`
## 7.13.0
@@ -91,6 +91,7 @@
- Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215))
We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use:
+
- [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider)
- [`createContext`](https://reactrouter.com/api/utils/createContext)
- `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option
@@ -289,6 +290,7 @@
- For Remix consumers migrating to React Router, all exports from `@remix-run/cloudflare-pages` are now provided for React Router consumers in the `@react-router/cloudflare` package. There is no longer a separate package for Cloudflare Pages. ([#11801](https://github.com/remix-run/react-router/pull/11801))
- 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))
+
- `createCookie`
- `createCookieSessionStorage`
- `createMemorySessionStorage`
@@ -297,6 +299,7 @@
For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
+
- `createCookieFactory`
- `createSessionStorageFactory`
- `createCookieSessionStorageFactory`
diff --git a/packages/react-router-cloudflare/package.json b/packages/react-router-cloudflare/package.json
index 77a5ff73b2..6bb01d8ad4 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.13.1-pre.0",
+ "version": "7.13.1",
"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 5f83240065..c0ee22e6cd 100644
--- a/packages/react-router-dev/CHANGELOG.md
+++ b/packages/react-router-dev/CHANGELOG.md
@@ -1,13 +1,13 @@
# `@react-router/dev`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `react-router@7.13.1-pre.0`
- - `@react-router/node@7.13.1-pre.0`
- - `@react-router/serve@7.13.1-pre.0`
+ - `react-router@7.13.1`
+ - `@react-router/node@7.13.1`
+ - `@react-router/serve@7.13.1`
## 7.13.0
@@ -37,25 +37,25 @@
| URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** |
| ------------ | ----------------- | ------------------------ |
- | **Document** | `/a/b/c` | `/a/b/c` ✅ |
- | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
+ | **Document** | `/a/b/c` | `/a/b/c` ✅ |
+ | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
| URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** |
| ------------- | ----------------- | ------------------------ |
- | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
+ | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
| **Data** | `/a/b/c.data` | `/a/b/c` ⚠️ |
With this flag enabled, these pathnames will be made consistent though a new `_.data` format for client-side `.data` requests:
| URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** |
| ------------ | ----------------- | ------------------------ |
- | **Document** | `/a/b/c` | `/a/b/c` ✅ |
- | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
+ | **Document** | `/a/b/c` | `/a/b/c` ✅ |
+ | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
| URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** |
| ------------- | ------------------ | ------------------------ |
- | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
- | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ |
+ | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
+ | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ |
This a bug fix but we are putting it behind an opt-in flag because it has the potential to be a "breaking bug fix" if you are relying on the URL format for any other application or caching logic.
@@ -313,6 +313,7 @@
- Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215))
We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use:
+
- [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider)
- [`createContext`](https://reactrouter.com/api/utils/createContext)
- `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option
@@ -1055,6 +1056,7 @@
```
This initial implementation targets type inference for:
+
- `Params` : Path parameters from your routing config in `routes.ts` including file-based routing
- `LoaderData` : Loader data from `loader` and/or `clientLoader` within your route module
- `ActionData` : Action data from `action` and/or `clientAction` within your route module
@@ -1069,6 +1071,7 @@
```
Check out our docs for more:
+
- [_Explanations > Type Safety_](https://reactrouter.com/dev/guides/explanation/type-safety)
- [_How-To > Setting up type safety_](https://reactrouter.com/dev/guides/how-to/setting-up-type-safety)
@@ -1268,6 +1271,7 @@
- Vite: Provide `Unstable_ServerBundlesFunction` and `Unstable_VitePluginConfig` types ([#8654](https://github.com/remix-run/remix/pull/8654))
- Vite: add `--sourcemapClient` and `--sourcemapServer` flags to `remix vite:build` ([#8613](https://github.com/remix-run/remix/pull/8613))
+
- `--sourcemapClient`
- `--sourcemapClient=inline`
@@ -1604,6 +1608,7 @@
- Add support for `clientLoader`/`clientAction`/`HydrateFallback` route exports ([RFC](https://github.com/remix-run/remix/discussions/7634)) ([#8173](https://github.com/remix-run/remix/pull/8173))
Remix now supports loaders/actions that run on the client (in addition to, or instead of the loader/action that runs on the server). While we still recommend server loaders/actions for the majority of your data needs in a Remix app - these provide some levers you can pull for more advanced use-cases such as:
+
- Leveraging a data source local to the browser (i.e., `localStorage`)
- Managing a client-side cache of server data (like `IndexedDB`)
- Bypassing the Remix server in a BFF setup and hitting your API directly from the browser
@@ -2007,6 +2012,7 @@
- Output esbuild metafiles for bundle analysis ([#6772](https://github.com/remix-run/remix/pull/6772))
Written to server build directory (`build/` by default):
+
- `metafile.css.json`
- `metafile.js.json` (browser JS)
- `metafile.server.json` (server JS)
@@ -2104,6 +2110,7 @@
- built-in tls support ([#6483](https://github.com/remix-run/remix/pull/6483))
New options:
+
- `--tls-key` / `tlsKey`: TLS key
- `--tls-cert` / `tlsCert`: TLS Certificate
@@ -2374,6 +2381,7 @@
```
The dev server will:
+
- force `NODE_ENV=development` and warn you if it was previously set to something else
- rebuild your app whenever your Remix app code changes
- restart your app server whenever rebuilds succeed
diff --git a/packages/react-router-dev/package.json b/packages/react-router-dev/package.json
index 445a5deecd..cbd36e9bd5 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.13.1-pre.0",
+ "version": "7.13.1",
"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 32e742067b..08ae899ab4 100644
--- a/packages/react-router-dom/CHANGELOG.md
+++ b/packages/react-router-dom/CHANGELOG.md
@@ -1,11 +1,11 @@
# react-router-dom
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `react-router@7.13.1-pre.0`
+ - `react-router@7.13.1`
## 7.13.0
diff --git a/packages/react-router-dom/package.json b/packages/react-router-dom/package.json
index cb162329a3..acf8f7e4fe 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.13.1-pre.0",
+ "version": "7.13.1",
"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 9746c56353..f394ddf339 100644
--- a/packages/react-router-express/CHANGELOG.md
+++ b/packages/react-router-express/CHANGELOG.md
@@ -1,12 +1,12 @@
# `@react-router/express`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `react-router@7.13.1-pre.0`
- - `@react-router/node@7.13.1-pre.0`
+ - `react-router@7.13.1`
+ - `@react-router/node@7.13.1`
## 7.13.0
@@ -103,6 +103,7 @@
- Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215))
We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use:
+
- [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider)
- [`createContext`](https://reactrouter.com/api/utils/createContext)
- `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option
diff --git a/packages/react-router-express/package.json b/packages/react-router-express/package.json
index 21443fc252..27cdb9fae2 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.13.1-pre.0",
+ "version": "7.13.1",
"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 1206c6ace3..57efb2e6c3 100644
--- a/packages/react-router-fs-routes/CHANGELOG.md
+++ b/packages/react-router-fs-routes/CHANGELOG.md
@@ -1,11 +1,11 @@
# `@react-router/fs-routes`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `@react-router/dev@7.13.1-pre.0`
+ - `@react-router/dev@7.13.1`
## 7.13.0
diff --git a/packages/react-router-fs-routes/package.json b/packages/react-router-fs-routes/package.json
index 717dc6ac37..d1782e99d3 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.13.1-pre.0",
+ "version": "7.13.1",
"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 54c621fc48..d731580ca7 100644
--- a/packages/react-router-node/CHANGELOG.md
+++ b/packages/react-router-node/CHANGELOG.md
@@ -1,11 +1,11 @@
# `@react-router/node`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `react-router@7.13.1-pre.0`
+ - `react-router@7.13.1`
## 7.13.0
@@ -92,6 +92,7 @@
- Stabilize middleware and context APIs. ([#14215](https://github.com/remix-run/react-router/pull/14215))
We have removed the `unstable_` prefix from the following APIs and they are now considered stable and ready for production use:
+
- [`RouterContextProvider`](https://reactrouter.com/api/utils/RouterContextProvider)
- [`createContext`](https://reactrouter.com/api/utils/createContext)
- `createBrowserRouter` [`getContext`](https://reactrouter.com/api/data-routers/createBrowserRouter#optsgetcontext) option
@@ -291,6 +292,7 @@
- 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))
+
- `createCookie`
- `createCookieSessionStorage`
- `createMemorySessionStorage`
@@ -299,6 +301,7 @@
For consumers running older versions of Node, the `installGlobals` function from `@remix-run/node` has been updated to define `globalThis.crypto`, using [Node's `require('node:crypto').webcrypto` implementation.](https://nodejs.org/api/webcrypto.html)
Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
+
- `createCookieFactory`
- `createSessionStorageFactory`
- `createCookieSessionStorageFactory`
@@ -706,10 +709,12 @@
- Introduces the `defer()` API from `@remix-run/router` with support for server-rendering and HTTP streaming. This utility allows you to defer values returned from `loader` functions by returning promises instead of resolved values. This has been refered to as _"sending a promise over the wire"_. ([#4920](https://github.com/remix-run/remix/pull/4920))
Informational Resources:
+
-
-
Documentation Resources (better docs specific to Remix are in the works):
+
-
-
-
diff --git a/packages/react-router-node/package.json b/packages/react-router-node/package.json
index 420a0a62f3..5d44e20d50 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.13.1-pre.0",
+ "version": "7.13.1",
"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 8661c01c0e..8f58373864 100644
--- a/packages/react-router-remix-routes-option-adapter/CHANGELOG.md
+++ b/packages/react-router-remix-routes-option-adapter/CHANGELOG.md
@@ -1,11 +1,11 @@
# `@react-router/remix-config-routes-adapter`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `@react-router/dev@7.13.1-pre.0`
+ - `@react-router/dev@7.13.1`
## 7.13.0
diff --git a/packages/react-router-remix-routes-option-adapter/package.json b/packages/react-router-remix-routes-option-adapter/package.json
index f0efcb0429..874d21e0f9 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.13.1-pre.0",
+ "version": "7.13.1",
"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 5e35abee84..f956dc5e12 100644
--- a/packages/react-router-serve/CHANGELOG.md
+++ b/packages/react-router-serve/CHANGELOG.md
@@ -1,13 +1,13 @@
# `@react-router/serve`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- Updated dependencies:
- - `react-router@7.13.1-pre.0`
- - `@react-router/node@7.13.1-pre.0`
- - `@react-router/express@7.13.1-pre.0`
+ - `react-router@7.13.1`
+ - `@react-router/node@7.13.1`
+ - `@react-router/express@7.13.1`
## 7.13.0
@@ -728,10 +728,12 @@
- Introduces the `defer()` API from `@remix-run/router` with support for server-rendering and HTTP streaming. This utility allows you to defer values returned from `loader` functions by returning promises instead of resolved values. This has been refered to as _"sending a promise over the wire"_. ([#4920](https://github.com/remix-run/remix/pull/4920))
Informational Resources:
+
-
-
Documentation Resources (better docs specific to Remix are in the works):
+
-
-
-
diff --git a/packages/react-router-serve/package.json b/packages/react-router-serve/package.json
index 55886a0f26..61fdba42e0 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.13.1-pre.0",
+ "version": "7.13.1",
"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 d87e075d01..98ed5b8338 100644
--- a/packages/react-router/CHANGELOG.md
+++ b/packages/react-router/CHANGELOG.md
@@ -1,19 +1,24 @@
# `react-router`
-## 7.13.1-pre.0
+## 7.13.1
### Patch Changes
- fix null reference exception in bad codepath leading to invalid route tree comparisons ([#14780](https://github.com/remix-run/react-router/pull/14780))
+
- fix: clear timeout when turbo-stream encoding completes ([#14810](https://github.com/remix-run/react-router/pull/14810))
+
- Improve error message when Origin header is invalid ([#14743](https://github.com/remix-run/react-router/pull/14743))
+
- Fix matchPath optional params matching without a "/" separator. ([#14689](https://github.com/remix-run/react-router/pull/14689))
- matchPath("/users/:id?", "/usersblah") now returns null.
- - matchPath("/test_route/:part?", "/test_route_more") now returns null.
+ - matchPath("/test\_route/:part?", "/test\_route\_more") now returns null.
+
+- add RSC unstable\_getRequest ([#14758](https://github.com/remix-run/react-router/pull/14758))
-- add RSC unstable_getRequest ([#14758](https://github.com/remix-run/react-router/pull/14758))
- Fix `HydrateFallback` rendering during initial lazy route discovery with matching splat route ([#14740](https://github.com/remix-run/react-router/pull/14740))
-- [UNSTABLE] Add support for `` in Data Mode which allows users to navigate to a URL in the router but "mask" the URL displayed in the browser. This is useful for contextual routing usages such as displaying an image in a model on top of a gallery, but displaying a browser URL directly to the image that can be shared and loaded without the contextual gallery in the background. ([#14716](https://github.com/remix-run/react-router/pull/14716))
+
+- \[UNSTABLE] Add support for `` in Data Mode which allows users to navigate to a URL in the router but "mask" the URL displayed in the browser. This is useful for contextual routing usages such as displaying an image in a model on top of a gallery, but displaying a browser URL directly to the image that can be shared and loaded without the contextual gallery in the background. ([#14716](https://github.com/remix-run/react-router/pull/14716))
```tsx
// routes/gallery.tsx
@@ -55,11 +60,13 @@
```
Notes:
+
- The masked location, if present, will be available on `useLocation().unstable_mask` so you can detect whether you are currently masked or not.
- Masked URLs only work for SPA use cases, and will be removed from `history.state` during SSR.
- This provides a first-class API to mask URLs in Data Mode to achieve the same behavior you could do in Declarative Mode via [manual `backgroundLocation` management](https://github.com/remix-run/react-router/tree/main/examples/modal).
- RSC: Update failed origin checks to return a 400 status and appropriate UI instead of a generic 500 ([#14755](https://github.com/remix-run/react-router/pull/14755))
+
- Preserve query parameters and hash on manifest version mismatch reload ([#14813](https://github.com/remix-run/react-router/pull/14813))
## 7.13.0
@@ -99,25 +106,25 @@
| URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** |
| ------------ | ----------------- | ------------------------ |
- | **Document** | `/a/b/c` | `/a/b/c` ✅ |
- | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
+ | **Document** | `/a/b/c` | `/a/b/c` ✅ |
+ | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
| URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** |
| ------------- | ----------------- | ------------------------ |
- | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
+ | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
| **Data** | `/a/b/c.data` | `/a/b/c` ⚠️ |
With this flag enabled, these pathnames will be made consistent though a new `_.data` format for client-side `.data` requests:
| URL `/a/b/c` | **HTTP pathname** | **`request` pathname\`** |
| ------------ | ----------------- | ------------------------ |
- | **Document** | `/a/b/c` | `/a/b/c` ✅ |
- | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
+ | **Document** | `/a/b/c` | `/a/b/c` ✅ |
+ | **Data** | `/a/b/c.data` | `/a/b/c` ✅ |
| URL `/a/b/c/` | **HTTP pathname** | **`request` pathname\`** |
| ------------- | ------------------ | ------------------------ |
- | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
- | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ |
+ | **Document** | `/a/b/c/` | `/a/b/c/` ✅ |
+ | **Data** | `/a/b/c/_.data` ⬅️ | `/a/b/c/` ✅ |
This a bug fix but we are putting it behind an opt-in flag because it has the potential to be a "breaking bug fix" if you are relying on the URL format for any other application or caching logic.
@@ -144,12 +151,14 @@
- \[UNSTABLE] Add a new `unstable_defaultShouldRevalidate` flag to various APIs to allow opt-ing out of standard revalidation behaviors. ([#14542](https://github.com/remix-run/react-router/pull/14542))
If active routes include a `shouldRevalidate` function, then your value will be passed as `defaultShouldRevalidate` in those function so that the route always has the final revalidation determination.
+
- `