- Typesafety for single-fetch:
defineLoader
,defineClientLoader
,defineAction
,defineClientAction
(#9372, #9404) - Updated dependencies:
@remix-run/server-runtime@2.9.2
- Updated dependencies:
@remix-run/server-runtime@2.9.1
- Updated dependencies:
@remix-run/server-runtime@2.9.0
- Updated dependencies:
@remix-run/server-runtime@2.8.1
- Updated dependencies:
@remix-run/server-runtime@2.8.0
- Updated dependencies:
@remix-run/server-runtime@2.7.2
- Updated dependencies:
@remix-run/server-runtime@2.7.1
- Updated dependencies:
@remix-run/server-runtime@2.7.0
- Updated dependencies:
@remix-run/server-runtime@2.6.0
- Updated dependencies:
@remix-run/server-runtime@2.5.1
- Updated dependencies:
@remix-run/server-runtime@2.5.0
- Updated dependencies:
@remix-run/server-runtime@2.4.1
- Deprecate
DataFunctionArgs
in favor ofLoaderFunctionArgs
/ActionFunctionArgs
(#8173)- This is aimed at keeping the types aligned across server/client
loaders/actions now that
clientLoader
/clientActon
functions haveserverLoader
/serverAction
parameters which differentiateClientLoaderFunctionArgs
/ClientActionFunctionArgs
- This is aimed at keeping the types aligned across server/client
loaders/actions now that
- Updated dependencies:
@remix-run/server-runtime@2.4.0
- Updated dependencies:
@remix-run/server-runtime@2.3.1
- Updated dependencies:
@remix-run/server-runtime@2.3.0
- Updated dependencies:
@remix-run/server-runtime@2.2.0
- Updated dependencies:
@remix-run/server-runtime@2.1.0
- Updated dependencies:
@remix-run/server-runtime@2.0.1
- Removed/adjusted types to prefer
unknown
overany
and to align with underlying React Router types (#7319, #7354):- Renamed the
useMatches()
return type fromRouteMatch
toUIMatch
- Renamed
LoaderArgs
/ActionArgs
toLoaderFunctionArgs
/ActionFunctionArgs
AppData
changed fromany
tounknown
Location["state"]
(useLocation.state
) changed fromany
tounknown
UIMatch["data"]
(useMatches()[i].data
) changed fromany
tounknown
UIMatch["handle"]
(useMatches()[i].handle
) changed from{ [k: string]: any }
tounknown
Fetcher["data"]
(useFetcher().data
) changed fromany
tounknown
MetaMatch.handle
(used inmeta()
) changed fromany
tounknown
AppData
/RouteHandle
are no longer exported as they are just aliases forunknown
- Renamed the
- Require Node >=18.0.0 (#6939)
- The route
meta
API now defaults to the new "V2 Meta" API (#6958)- Please refer to the (docs and Preparing for V2 guide for more information.
- Export proper
ErrorResponse
type for usage alongsideisRouteErrorResponse
(#7244) - Updated dependencies:
@remix-run/server-runtime@2.0.0
- Updated dependencies:
@remix-run/server-runtime@1.19.3
- Updated dependencies:
@remix-run/server-runtime@1.19.2
- Updated dependencies:
@remix-run/server-runtime@1.19.1
- Updated dependencies:
@remix-run/server-runtime@1.19.0
- Updated dependencies:
@remix-run/server-runtime@1.18.1
- Updated dependencies:
@remix-run/server-runtime@1.18.0
- Updated dependencies:
@remix-run/server-runtime@1.17.1
-
Add
HeadersArgs
type to be consistent with loaders/actions/meta and allows for using afunction
declaration in addition to an arrow function expression (#6247)import type { HeadersArgs } from "@remix-run/node"; // or cloudflare/deno export function headers({ loaderHeaders }: HeadersArgs) { return { "x-my-custom-thing": loaderHeaders.get("x-my-custom-thing") || "fallback", }; }
-
Updated dependencies:
@remix-run/server-runtime@1.17.0
- Updated dependencies:
@remix-run/server-runtime@1.16.1
- add
logDevReady
as replacement for platforms that can't initialize async I/O outside of the request response lifecycle. (#6204) - Updated dependencies:
@remix-run/server-runtime@1.16.0
-
We have made a few changes to the API for route module
meta
functions when using thefuture.v2_meta
flag. These changes are only breaking for users who have opted in. (#5746)V2_HtmlMetaDescriptor
has been renamed toV2_MetaDescriptor
- The
meta
function's arguments have been simplifiedparentsData
has been removed, as each route's loader data is available on thedata
property of its respectivematch
object// before export function meta({ parentsData }) { return [{ title: parentsData["routes/some-route"].title }]; } // after export function meta({ matches }) { return [ { title: matches.find((match) => match.id === "routes/some-route") .data.title, }, ]; }
- The
route
property on route matches has been removed, as relevant match data is attached directly to the match object// before export function meta({ matches }) { let rootModule = matches.find((match) => match.route.id === "root"); } // after export function meta({ matches }) { let rootModule = matches.find((match) => match.id === "root"); }
- Added support for generating
<script type='application/ld+json' />
and meta-related<link />
tags to document head via the routemeta
function when using thev2_meta
future flag
- Updated dependencies:
@remix-run/server-runtime@1.15.0
- Updated dependencies:
@remix-run/server-runtime@1.14.3
- Updated dependencies:
@remix-run/server-runtime@1.14.2
- Updated dependencies:
@remix-run/server-runtime@1.14.1
- Updated dependencies:
@remix-run/server-runtime@1.14.0
- Updated dependencies:
@remix-run/server-runtime@1.13.0
- Updated dependencies:
@remix-run/server-runtime@1.12.0
- Updated dependencies:
@remix-run/server-runtime@1.11.1
-
Introduces the
defer()
API from@remix-run/router
with support for server-rendering and HTTP streaming. This utility allows you to defer values returned fromloader
functions by returning promises instead of resolved values. This has been refered to as "sending a promise over the wire". (#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):
-
Updated dependencies:
@remix-run/server-runtime@1.11.0
- Updated dependencies:
@remix-run/server-runtime@1.10.1
- Export
V2_HtmlMetaDescriptor
andV2_MetaFunction
types from runtime packages (#4943) - Updated dependencies:
@remix-run/server-runtime@1.10.0
- Fixed type issues for the request handler context (#4715)
- Updated dependencies:
@remix-run/server-runtime@1.9.0
- Updated dependencies:
@remix-run/server-runtime@1.8.2
- Updated dependencies:
@remix-run/server-runtime@1.8.1
- Updated dependencies:
@remix-run/server-runtime@1.8.0
- Updated dependencies:
@remix-run/server-runtime@1.7.6
- Updated dependencies:
@remix-run/server-runtime@1.7.6-pre.0
- Updated dependencies:
@remix-run/server-runtime@1.7.5
- Updated dependencies:
@remix-run/server-runtime@1.7.4
- Updated dependencies:
@remix-run/server-runtime@1.7.3
- Updated dependencies:
@remix-run/server-runtime@1.7.2
- Updated dependencies:
@remix-run/server-runtime@1.7.1
- We've added a new type:
SerializeFrom
. This is used to infer the (#4013) JSON-serialized return type of loaders and actions.
- Updated dependencies:
@remix-run/server-runtime@1.7.0
- Updated dependencies:
@remix-run/server-runtime@1.6.8
- Updated dependencies:
@remix-run/server-runtime@1.6.7
- Add
index.ts
tomain
field to fix Node resolution issues when runningremix dev
orremix watch
(#3868) - Updated dependencies:
@remix-run/server-runtime@1.6.6
- We enhanced the type signatures of
loader
/action
anduseLoaderData
/useActionData
to make it possible to infer the data type from return type of its related server function. (#1254) - Updated dependencies
@remix-run/server-runtime@1.6.5