diff --git a/.changeset/pre.json b/.changeset/pre.json index 30a7d6f4716..df1544638cd 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -21,5 +21,20 @@ "@remix-run/testing": "1.10.1", "@remix-run/vercel": "1.10.1" }, - "changesets": [] + "changesets": [ + "bright-moons-attend", + "curvy-mangos-heal", + "dry-humans-press", + "eight-forks-collect", + "five-kings-work", + "funny-numbers-type", + "giant-kings-repair", + "hungry-owls-greet", + "little-avocados-fetch", + "little-lobsters-decide", + "modern-pumas-hide", + "odd-numbers-film", + "old-cameras-lay", + "smart-doors-sing" + ] } diff --git a/packages/create-remix/CHANGELOG.md b/packages/create-remix/CHANGELOG.md index 78577a79a45..1a5e09e0064 100644 --- a/packages/create-remix/CHANGELOG.md +++ b/packages/create-remix/CHANGELOG.md @@ -1,5 +1,12 @@ # `create-remix` +## 1.11.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/dev@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json index 129087554cd..33051a45334 100644 --- a/packages/create-remix/package.json +++ b/packages/create-remix/package.json @@ -1,6 +1,6 @@ { "name": "create-remix", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Create a new Remix app", "homepage": "https://remix.run", "bugs": { @@ -17,7 +17,7 @@ "create-remix": "dist/cli.js" }, "dependencies": { - "@remix-run/dev": "1.10.1" + "@remix-run/dev": "1.11.0-pre.0" }, "engines": { "node": ">=14" diff --git a/packages/remix-architect/CHANGELOG.md b/packages/remix-architect/CHANGELOG.md index 5b362d1c4c0..0abd9553c61 100644 --- a/packages/remix-architect/CHANGELOG.md +++ b/packages/remix-architect/CHANGELOG.md @@ -1,5 +1,13 @@ # `@remix-run/architect` +## 1.11.0-pre.0 + +### Patch Changes + +- use `@architect/functions`' built-in types ([#4898](https://github.com/remix-run/remix/pull/4898)) +- Updated dependencies: + - `@remix-run/node@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json index bc40a103a08..a4768ba7099 100644 --- a/packages/remix-architect/package.json +++ b/packages/remix-architect/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/architect", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Architect server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "dependencies": { "@architect/functions": "^5.2.0", - "@remix-run/node": "1.10.1", + "@remix-run/node": "1.11.0-pre.0", "@types/aws-lambda": "^8.10.82" }, "devDependencies": { diff --git a/packages/remix-cloudflare-pages/CHANGELOG.md b/packages/remix-cloudflare-pages/CHANGELOG.md index 681ecd2ae16..a5417272080 100644 --- a/packages/remix-cloudflare-pages/CHANGELOG.md +++ b/packages/remix-cloudflare-pages/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-pages` +## 1.11.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json index f2b9c7e623c..706b4f5b112 100644 --- a/packages/remix-cloudflare-pages/package.json +++ b/packages/remix-cloudflare-pages/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare-pages", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Cloudflare Pages request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "module": "dist/esm/index.js", "dependencies": { - "@remix-run/cloudflare": "1.10.1" + "@remix-run/cloudflare": "1.11.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^3.4.0", diff --git a/packages/remix-cloudflare-workers/CHANGELOG.md b/packages/remix-cloudflare-workers/CHANGELOG.md index f1f94ca0049..1d122fe1818 100644 --- a/packages/remix-cloudflare-workers/CHANGELOG.md +++ b/packages/remix-cloudflare-workers/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/cloudflare-workers` +## 1.11.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/cloudflare@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json index 66be8bae3ae..6d7f9b755e3 100644 --- a/packages/remix-cloudflare-workers/package.json +++ b/packages/remix-cloudflare-workers/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare-workers", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Cloudflare worker request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -16,7 +16,7 @@ "module": "dist/esm/index.js", "dependencies": { "@cloudflare/kv-asset-handler": "^0.1.3", - "@remix-run/cloudflare": "1.10.1" + "@remix-run/cloudflare": "1.11.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^3.4.0" diff --git a/packages/remix-cloudflare/CHANGELOG.md b/packages/remix-cloudflare/CHANGELOG.md index ee626e70b44..ec01c84b1a0 100644 --- a/packages/remix-cloudflare/CHANGELOG.md +++ b/packages/remix-cloudflare/CHANGELOG.md @@ -1,5 +1,26 @@ # `@remix-run/cloudflare` +## 1.11.0-pre.0 + +### Patch Changes + +- 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 loaders by passing promises instead of resolved values. This has been refered to as "promise over the wire". ([#4920](https://github.com/remix-run/remix/pull/4920)) + + Informational Resources: + + - https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26 + - https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md + + Documentation Resources (better docs specific to remix are in the works): + + - https://reactrouter.com/en/main/utils/defer + - https://reactrouter.com/en/main/components/await + - https://reactrouter.com/en/main/hooks/use-async-value + - https://reactrouter.com/en/main/hooks/use-async-error + +- Updated dependencies: + - `@remix-run/server-runtime@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json index 15f89ba0b5b..77b925229d3 100644 --- a/packages/remix-cloudflare/package.json +++ b/packages/remix-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/cloudflare", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Cloudflare platform abstractions for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "dependencies": { "@cloudflare/kv-asset-handler": "^0.1.3", - "@remix-run/server-runtime": "1.10.1" + "@remix-run/server-runtime": "1.11.0-pre.0" }, "devDependencies": { "@cloudflare/workers-types": "^3.4.0" diff --git a/packages/remix-css-bundle/CHANGELOG.md b/packages/remix-css-bundle/CHANGELOG.md new file mode 100644 index 00000000000..574a102e802 --- /dev/null +++ b/packages/remix-css-bundle/CHANGELOG.md @@ -0,0 +1,12 @@ +# @remix-run/css-bundle + +## 1.10.0-pre.0 + +### Minor Changes + +- Add unstable support for CSS Modules via the `future.unstable_cssModules` feature flag ([#4852](https://github.com/remix-run/remix/pull/4852)) + +### Patch Changes + +- Updated dependencies: + - `@remix-run/dev@1.11.0-pre.0` diff --git a/packages/remix-css-bundle/package.json b/packages/remix-css-bundle/package.json index dbccc6d0c0f..798b73e5c98 100644 --- a/packages/remix-css-bundle/package.json +++ b/packages/remix-css-bundle/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/css-bundle", - "version": "1.9.0", + "version": "1.10.0-pre.0", "description": "CSS bundle href when using CSS bundling features in Remix", "homepage": "https://remix.run", "bugs": { @@ -20,6 +20,6 @@ "./dist/esm/server.js": "./dist/esm/browser.js" }, "dependencies": { - "@remix-run/dev": "1.10.0" + "@remix-run/dev": "1.11.0-pre.0" } } diff --git a/packages/remix-deno/CHANGELOG.md b/packages/remix-deno/CHANGELOG.md index 4111180b011..f0d327f5566 100644 --- a/packages/remix-deno/CHANGELOG.md +++ b/packages/remix-deno/CHANGELOG.md @@ -1,5 +1,26 @@ # `@remix-run/deno` +## 1.11.0-pre.0 + +### Patch Changes + +- 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 loaders by passing promises instead of resolved values. This has been refered to as "promise over the wire". ([#4920](https://github.com/remix-run/remix/pull/4920)) + + Informational Resources: + + - https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26 + - https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md + + Documentation Resources (better docs specific to remix are in the works): + + - https://reactrouter.com/en/main/utils/defer + - https://reactrouter.com/en/main/components/await + - https://reactrouter.com/en/main/hooks/use-async-value + - https://reactrouter.com/en/main/hooks/use-async-error + +- Updated dependencies: + - `@remix-run/server-runtime@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json index f30ca88abc4..43c0267dd53 100644 --- a/packages/remix-deno/package.json +++ b/packages/remix-deno/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/deno", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Deno platform abstractions for Remix", "homepage": "https://remix.run", "main": "./index.ts", @@ -15,7 +15,7 @@ "license": "MIT", "sideEffects": false, "dependencies": { - "@remix-run/server-runtime": "1.10.1", + "@remix-run/server-runtime": "1.11.0-pre.0", "mime": "^3.0.0" }, "engines": { diff --git a/packages/remix-dev/CHANGELOG.md b/packages/remix-dev/CHANGELOG.md index c7fe92c1950..889b8893193 100644 --- a/packages/remix-dev/CHANGELOG.md +++ b/packages/remix-dev/CHANGELOG.md @@ -1,5 +1,26 @@ # `@remix-run/dev` +## 1.11.0-pre.0 + +### Minor Changes + +- Specify "file" as loader for .fbx, .glb, .gltf, .hdr, and .mov files. ([#5030](https://github.com/remix-run/remix/pull/5030)) +- Add unstable support for [Vanilla Extract](https://vanilla-extract.style) via the `future.unstable_vanillaExtract` feature flag ([#5040](https://github.com/remix-run/remix/pull/5040)) +- Add unstable support for CSS side-effect imports via the `future.unstable_cssSideEffectImports` feature flag ([#4919](https://github.com/remix-run/remix/pull/4919)) +- Add unstable support for CSS Modules via the `future.unstable_cssModules` feature flag ([#4852](https://github.com/remix-run/remix/pull/4852)) + +### Patch Changes + +- update flat-routes invalid character error message to include link to React Router proposal ([#5013](https://github.com/remix-run/remix/pull/5013)) +- Bump peer dependency on `@remix-run/serve` to match current release ([`809f51955`](https://github.com/remix-run/remix/commit/809f519553d8d4a6fdc2f9a68ffc3710562a90cf)) +- Add flat routes convention ([#4880](https://github.com/remix-run/remix/pull/4880)) +- update flat route module check for file colocation ([#5034](https://github.com/remix-run/remix/pull/5034)) +- don't allow `*` to be anywhere in flat route segment ([#5014](https://github.com/remix-run/remix/pull/5014)) +- suport `handle` in md(x) frontmatter ([#4865](https://github.com/remix-run/remix/pull/4865)) +- Updated dependencies: + - `@remix-run/server-runtime@1.11.0-pre.0` + - `@remix-run/serve@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json index 8d8f8fb5673..ac6e3fc597d 100644 --- a/packages/remix-dev/package.json +++ b/packages/remix-dev/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/dev", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Dev tools and CLI for Remix", "homepage": "https://remix.run", "bugs": { @@ -29,7 +29,7 @@ "@babel/types": "^7.20.2", "@esbuild-plugins/node-modules-polyfill": "^0.1.4", "@npmcli/package-json": "^2.0.0", - "@remix-run/server-runtime": "1.10.1", + "@remix-run/server-runtime": "1.11.0-pre.0", "@vanilla-extract/integration": "^6.0.1", "arg": "^5.0.1", "cacache": "^15.0.5", @@ -71,7 +71,7 @@ "xdm": "^2.0.0" }, "devDependencies": { - "@remix-run/serve": "1.10.1", + "@remix-run/serve": "1.11.0-pre.0", "@types/cacache": "^15.0.0", "@types/gunzip-maybe": "^1.4.0", "@types/inquirer": "^8.2.0", @@ -91,7 +91,7 @@ "type-fest": "^2.16.0" }, "peerDependencies": { - "@remix-run/serve": "^1.10.1" + "@remix-run/serve": "^1.11.0-pre.0" }, "peerDependenciesMeta": { "@remix-run/serve": { diff --git a/packages/remix-eslint-config/CHANGELOG.md b/packages/remix-eslint-config/CHANGELOG.md index b42427858a4..7e8f3e693ad 100644 --- a/packages/remix-eslint-config/CHANGELOG.md +++ b/packages/remix-eslint-config/CHANGELOG.md @@ -1,5 +1,7 @@ # `@remix-run/eslint-config` +## 1.11.0-pre.0 + ## 1.10.1 No significant changes to this package were made in this release. [See the releases page on GitHub](https://github.com/remix-run/remix/releases/tag/remix%401.10.1) for an overview of all changes in v1.10.1. diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json index e86fbd4bf2d..ee13683224e 100644 --- a/packages/remix-eslint-config/package.json +++ b/packages/remix-eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/eslint-config", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "ESLint configuration for Remix projects", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-express/CHANGELOG.md b/packages/remix-express/CHANGELOG.md index d7632e13b53..98986935cca 100644 --- a/packages/remix-express/CHANGELOG.md +++ b/packages/remix-express/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/express` +## 1.11.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json index 17062b7958f..4f25c2b39f6 100644 --- a/packages/remix-express/package.json +++ b/packages/remix-express/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/express", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Express server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -14,7 +14,7 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@remix-run/node": "1.10.1" + "@remix-run/node": "1.11.0-pre.0" }, "devDependencies": { "@types/express": "^4.17.9", diff --git a/packages/remix-netlify/CHANGELOG.md b/packages/remix-netlify/CHANGELOG.md index ba9400559c2..72d0ce4aebc 100644 --- a/packages/remix-netlify/CHANGELOG.md +++ b/packages/remix-netlify/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/netlify` +## 1.11.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-netlify/package.json b/packages/remix-netlify/package.json index 204466d7d5a..3d39f4af9be 100644 --- a/packages/remix-netlify/package.json +++ b/packages/remix-netlify/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/netlify", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Netlify server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -14,7 +14,7 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@remix-run/node": "1.10.1" + "@remix-run/node": "1.11.0-pre.0" }, "devDependencies": { "@netlify/functions": "^1.0.0" diff --git a/packages/remix-node/CHANGELOG.md b/packages/remix-node/CHANGELOG.md index 254b2afb503..c9679d1296b 100644 --- a/packages/remix-node/CHANGELOG.md +++ b/packages/remix-node/CHANGELOG.md @@ -1,5 +1,26 @@ # `@remix-run/node` +## 1.11.0-pre.0 + +### Patch Changes + +- 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 loaders by passing promises instead of resolved values. This has been refered to as "promise over the wire". ([#4920](https://github.com/remix-run/remix/pull/4920)) + + Informational Resources: + + - https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26 + - https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md + + Documentation Resources (better docs specific to remix are in the works): + + - https://reactrouter.com/en/main/utils/defer + - https://reactrouter.com/en/main/components/await + - https://reactrouter.com/en/main/hooks/use-async-value + - https://reactrouter.com/en/main/hooks/use-async-error + +- Updated dependencies: + - `@remix-run/server-runtime@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json index 99920db195d..07003998682 100644 --- a/packages/remix-node/package.json +++ b/packages/remix-node/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/node", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Node.js platform abstractions for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -15,7 +15,7 @@ "typings": "dist/index.d.ts", "sideEffects": false, "dependencies": { - "@remix-run/server-runtime": "1.10.1", + "@remix-run/server-runtime": "1.11.0-pre.0", "@remix-run/web-fetch": "^4.3.2", "@remix-run/web-file": "^3.0.2", "@remix-run/web-stream": "^1.0.3", diff --git a/packages/remix-react/CHANGELOG.md b/packages/remix-react/CHANGELOG.md index a67f6445855..0a20179c05a 100644 --- a/packages/remix-react/CHANGELOG.md +++ b/packages/remix-react/CHANGELOG.md @@ -1,5 +1,65 @@ # `@remix-run/react` +## 1.11.0-pre.0 + +### Minor Changes + +- Add unstable support for [Vanilla Extract](https://vanilla-extract.style) via the `future.unstable_vanillaExtract` feature flag ([#5040](https://github.com/remix-run/remix/pull/5040)) +- Add unstable support for CSS side-effect imports via the `future.unstable_cssSideEffectImports` feature flag ([#4919](https://github.com/remix-run/remix/pull/4919)) +- Add unstable support for CSS Modules via the `future.unstable_cssModules` feature flag ([#4852](https://github.com/remix-run/remix/pull/4852)) + +### Patch Changes + +- Fix v2 `meta` to ensure meta is rendered from the next route in the tree if no `meta` export is included in a leaf route ([#5041](https://github.com/remix-run/remix/pull/5041)) +- Add `future.v2_errorBoundary` flag to opt-into v2 `ErrorBoundary` behavior. This removes the separate `CatchBoundary` and `ErrorBoundary` and consolidates them into a single `ErrorBoundary` following the logic used by `errorElement` in React Router. You can then use `isRouteErrorResponse` to differentiate between thrown `Response`/`Error` instances. ([#4918](https://github.com/remix-run/remix/pull/4918)) + + ```jsx + // Current (Remix v1 default) + import { useCatch } from "@remix-run/react"; + + export function CatchBoundary() { + let caught = useCatch(); + return ( +

+ {caught.status} {caught.data} +

+ ); + } + + export function ErrorBoundary({ error }) { + return

{error.message}

; + } + + // Using future.v2_errorBoundary + import { isRouteErrorResponse, useRouteError } from "@remix-run/react"; + + export function ErrorBoundary() { + let error = useRouteError(); + + return isRouteErrorResponse(error) ? ( +

+ {error.status} {error.data} +

+ ) : ( +

{error.message}

+ ); + } + ``` + +- 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 loaders by passing promises instead of resolved values. This has been refered to as "promise over the wire". ([#4920](https://github.com/remix-run/remix/pull/4920)) + + Informational Resources: + + - https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26 + - https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md + + Documentation Resources (better docs specific to remix are in the works): + + - https://reactrouter.com/en/main/utils/defer + - https://reactrouter.com/en/main/components/await + - https://reactrouter.com/en/main/hooks/use-async-value + - https://reactrouter.com/en/main/hooks/use-async-error + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json index 0612d407643..2af90f4ab75 100644 --- a/packages/remix-react/package.json +++ b/packages/remix-react/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/react", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "React DOM bindings for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -21,7 +21,7 @@ "use-sync-external-store": "1.2.0" }, "devDependencies": { - "@remix-run/server-runtime": "1.10.1", + "@remix-run/server-runtime": "1.11.0-pre.0", "@testing-library/jest-dom": "^5.16.2", "@testing-library/react": "^13.3.0", "abort-controller": "^3.0.0", diff --git a/packages/remix-serve/CHANGELOG.md b/packages/remix-serve/CHANGELOG.md index 1b05f457e92..f44d89c960c 100644 --- a/packages/remix-serve/CHANGELOG.md +++ b/packages/remix-serve/CHANGELOG.md @@ -1,5 +1,26 @@ # `@remix-run/serve` +## 1.11.0-pre.0 + +### Patch Changes + +- 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 loaders by passing promises instead of resolved values. This has been refered to as "promise over the wire". ([#4920](https://github.com/remix-run/remix/pull/4920)) + + Informational Resources: + + - https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26 + - https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md + + Documentation Resources (better docs specific to remix are in the works): + + - https://reactrouter.com/en/main/utils/defer + - https://reactrouter.com/en/main/components/await + - https://reactrouter.com/en/main/hooks/use-async-value + - https://reactrouter.com/en/main/hooks/use-async-error + +- Updated dependencies: + - `@remix-run/express@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json index a97949336ef..45d2bfdcbed 100644 --- a/packages/remix-serve/package.json +++ b/packages/remix-serve/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/serve", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Production application server for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -17,7 +17,7 @@ "remix-serve": "dist/cli.js" }, "dependencies": { - "@remix-run/express": "1.10.1", + "@remix-run/express": "1.11.0-pre.0", "compression": "^1.7.4", "express": "^4.17.1", "morgan": "^1.10.0" diff --git a/packages/remix-server-runtime/CHANGELOG.md b/packages/remix-server-runtime/CHANGELOG.md index f2c6ba38d39..2c22bd91edf 100644 --- a/packages/remix-server-runtime/CHANGELOG.md +++ b/packages/remix-server-runtime/CHANGELOG.md @@ -1,5 +1,64 @@ # `@remix-run/server-runtime` +## 1.11.0-pre.0 + +### Minor Changes + +- Add unstable support for [Vanilla Extract](https://vanilla-extract.style) via the `future.unstable_vanillaExtract` feature flag ([#5040](https://github.com/remix-run/remix/pull/5040)) +- Add unstable support for CSS side-effect imports via the `future.unstable_cssSideEffectImports` feature flag ([#4919](https://github.com/remix-run/remix/pull/4919)) +- Add unstable support for CSS Modules via the `future.unstable_cssModules` feature flag ([#4852](https://github.com/remix-run/remix/pull/4852)) + +### Patch Changes + +- Add `future.v2_errorBoundary` flag to opt-into v2 `ErrorBoundary` behavior. This removes the separate `CatchBoundary` and `ErrorBoundary` and consolidates them into a single `ErrorBoundary` following the logic used by `errorElement` in React Router. You can then use `isRouteErrorResponse` to differentiate between thrown `Response`/`Error` instances. ([#4918](https://github.com/remix-run/remix/pull/4918)) + + ```jsx + // Current (Remix v1 default) + import { useCatch } from "@remix-run/react"; + + export function CatchBoundary() { + let caught = useCatch(); + return ( +

+ {caught.status} {caught.data} +

+ ); + } + + export function ErrorBoundary({ error }) { + return

{error.message}

; + } + + // Using future.v2_errorBoundary + import { isRouteErrorResponse, useRouteError } from "@remix-run/react"; + + export function ErrorBoundary() { + let error = useRouteError(); + + return isRouteErrorResponse(error) ? ( +

+ {error.status} {error.data} +

+ ) : ( +

{error.message}

+ ); + } + ``` + +- 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 loaders by passing promises instead of resolved values. This has been refered to as "promise over the wire". ([#4920](https://github.com/remix-run/remix/pull/4920)) + + Informational Resources: + + - https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26 + - https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md + + Documentation Resources (better docs specific to remix are in the works): + + - https://reactrouter.com/en/main/utils/defer + - https://reactrouter.com/en/main/components/await + - https://reactrouter.com/en/main/hooks/use-async-value + - https://reactrouter.com/en/main/hooks/use-async-error + ## 1.10.1 No significant changes to this package were made in this release. [See the releases page on GitHub](https://github.com/remix-run/remix/releases/tag/remix%401.10.1) for an overview of all changes in v1.10.1. diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json index d79d8034c2b..a410bfb2c15 100644 --- a/packages/remix-server-runtime/package.json +++ b/packages/remix-server-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/server-runtime", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Server runtime for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" diff --git a/packages/remix-testing/CHANGELOG.md b/packages/remix-testing/CHANGELOG.md index e87d13e65fe..0eda75867f0 100644 --- a/packages/remix-testing/CHANGELOG.md +++ b/packages/remix-testing/CHANGELOG.md @@ -1,5 +1,33 @@ # `@remix-run/testing` +## 1.11.0-pre.0 + +### Minor Changes + +- Add unstable support for [Vanilla Extract](https://vanilla-extract.style) via the `future.unstable_vanillaExtract` feature flag ([#5040](https://github.com/remix-run/remix/pull/5040)) +- Add unstable support for CSS side-effect imports via the `future.unstable_cssSideEffectImports` feature flag ([#4919](https://github.com/remix-run/remix/pull/4919)) +- Add unstable support for CSS Modules via the `future.unstable_cssModules` feature flag ([#4852](https://github.com/remix-run/remix/pull/4852)) + +### Patch Changes + +- 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 loaders by passing promises instead of resolved values. This has been refered to as "promise over the wire". ([#4920](https://github.com/remix-run/remix/pull/4920)) + + Informational Resources: + + - https://gist.github.com/jacob-ebey/9bde9546c1aafaa6bc8c242054b1be26 + - https://github.com/remix-run/remix/blob/main/decisions/0004-streaming-apis.md + + Documentation Resources (better docs specific to remix are in the works): + + - https://reactrouter.com/en/main/utils/defer + - https://reactrouter.com/en/main/components/await + - https://reactrouter.com/en/main/hooks/use-async-value + - https://reactrouter.com/en/main/hooks/use-async-error + +- Updated dependencies: + - `@remix-run/react@1.11.0-pre.0` + - `@remix-run/node@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-testing/package.json b/packages/remix-testing/package.json index 55f7102b014..625324593f7 100644 --- a/packages/remix-testing/package.json +++ b/packages/remix-testing/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/testing", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Testing utilities for Remix apps", "homepage": "https://remix.run", "bugs": { @@ -16,8 +16,8 @@ "typings": "./dist/index.d.ts", "module": "./dist/esm/index.js", "dependencies": { - "@remix-run/node": "1.10.1", - "@remix-run/react": "1.10.1", + "@remix-run/node": "1.11.0-pre.0", + "@remix-run/react": "1.11.0-pre.0", "@remix-run/router": "1.3.0-pre.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/packages/remix-vercel/CHANGELOG.md b/packages/remix-vercel/CHANGELOG.md index 70de8017664..5975274912a 100644 --- a/packages/remix-vercel/CHANGELOG.md +++ b/packages/remix-vercel/CHANGELOG.md @@ -1,5 +1,12 @@ # `@remix-run/vercel` +## 1.11.0-pre.0 + +### Patch Changes + +- Updated dependencies: + - `@remix-run/node@1.11.0-pre.0` + ## 1.10.1 ### Patch Changes diff --git a/packages/remix-vercel/package.json b/packages/remix-vercel/package.json index b822f51814e..d14b26ab5b0 100644 --- a/packages/remix-vercel/package.json +++ b/packages/remix-vercel/package.json @@ -1,6 +1,6 @@ { "name": "@remix-run/vercel", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "Vercel server request handler for Remix", "bugs": { "url": "https://github.com/remix-run/remix/issues" @@ -14,7 +14,7 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@remix-run/node": "1.10.1" + "@remix-run/node": "1.11.0-pre.0" }, "devDependencies": { "@types/supertest": "^2.0.10", diff --git a/packages/remix/package.json b/packages/remix/package.json index 281c7fbc8ea..c93c8f07a9c 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,6 +1,6 @@ { "name": "remix", - "version": "1.10.1", + "version": "1.11.0-pre.0", "description": "A framework for building better websites", "homepage": "https://remix.run", "bugs": {