Continuing the work to stabilize features for v2, this release brings improvements to unstable_dev as well as a bunch of bug fixes.
Dev server power-ups 🦾🤖
We've made two huge improvements to 🔥 Hot Data Revalidation 🔥 in 1.16.1! For anyone who needs a refresher on HDR, its like HMR but for your server code. In Remix, that primarily means tracking loader changes.
In 1.16.0, Remix would trigger HDR even if only UI code had changed. Now in 1.16.1, Remix only triggers HDR when loaders have changed. (#6278)
Also, in 1.16.1, Remix now detects code changes that affect your loader anywhere in your app code. You can modify the loader itself, or a function that the loader calls, or hardcoded data. Remix now only triggers HDR to fetch new data from routes with loader changes. For example, if you changed your /products/$id loader, but not your /products loader, Remix only refetches data for /products/$id. (#6299)
If you want to dive deeper into how it works and get a mental model for the new dev server with HDR, check out 🎥 [Pedro's talk at Remix Conf][legendary-dx].
Dev server bug fixes
Thank you to everyone who's tried unstable_dev ❤️ .
You've given us invaluable feedback that let us identify and fix the following bugs:
CSS-only changes now correctly trigger HMR (#6374)
Fixed a regression that caused the old dev server to hang on rebuilds (#6295)
Rebuilds no longer hang indefinitely for unstable_dev (#6294, #6295)
Fixed No loader for {.svg,.png, etc...} during HDR (#6396)
App server port no longer conflicts during rebuilds (#6289)
Windows: -c/--command option now has access to node_modules/.bin binaries (#6310)
Windows: App server process in no longer orphaned when dev server exits (#6395)
Windows: Changes in route files are now detected correctly for HMR/HDR (#6293)
Other notable changes
css: handle css imports in js files with jsx (#6309)
css: only process .css.{js,ts} if @vanilla-extract/css is installed (#6345)
lint: do not require display name in root route (#5450)
types: Typesafe destructuring of SessionStorage (#6330)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps @remix-run/serve from 1.15.0 to 1.16.1.
Release notes
Sourced from
@remix-run/serve
's releases.... (truncated)
Changelog
Sourced from
@remix-run/serve
's changelog.Commits
c0aa857
chore: Update version for release (#6413)5ce3225
chore: Update version for release (pre) (#6412)7023985
chore: Update version for release (pre) (#6407)6b9deca
chore: Update version for release (#6264)9ac1255
chore: Update version for release (pre) (#6263)0e39e9b
chore: Update version for release (pre) (#6235)37aa765
chore: Update version for release (pre) (#6226)22280ee
chore: Update version for release (pre) (#6224)65b61d3
chore: Update version for release (pre) (#6216)195af8d
chore: Update version for release (pre) (#6212)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)