Repository navigation
·
1 commit
to main
since this release
Read the Vinext 1.4 release post for the highlights.
Features
Cloudflare
- share one Response Store App Router entry across hosts (#3897)
- store the page's document when an RSC request misses its Response Store entry (#4331)
- add --vite-config to deploy (#4215)
Misc
- Init: add --ignore-wrangler-config for Cloudflare init (#4216)
- App Router: store the page's document when an RSC request misses its entry (#4321)
- App Router: regenerate the document when a stale RSC request regenerates its page (#4319)
Bug Fixes
App Router
- assign a router history write's traversal index as it lands (#4376)
- write router history through the live History API methods (#4354)
- match Next.js's openGraph and twitter title templates (#4349)
- keep static prefetches when a Server Action calls refresh() (#4281)
- prefetch visible links again only after router.refresh() finishes (#4280)
- keep a refreshed parallel slot's identity, so a refresh doesn't remount it (#4279)
- fulfill a full prefetch from a recent navigation's visited response (#4298)
- advertise staleTimes.static on unclaimed cache hits under cached navigations (#4300)
- retain a layout's children above their own BFCache boundaries (#4326)
- run Server Actions with their page's implicit tags (#4290)
- match Next.js's title template rule (#4346)
- scope copied history tree ids to their document (#4347)
- keep another root layout's not-found out of matched routes (#4324)
- store a page's resolved client stale time, not the pending marker (#4343)
- log server render errors in production (#4320)
Cache
- skip data cache reads during on-demand revalidation (#4292)
- date "use cache" entries from when their generation started, like Next.js (#4348)
- make unstable_noStore() a no-op under Cache Components (#4293)
- run a "use cache" function inside the render that serializes its result (#4297)
Dev
- measure App Router compile time on the wall clock under workerd (#4383)
- pre-bundle next/image shim deps for the Pages Cloudflare Worker (#4380)
- resolve vinext's shim paths through Vite so dev loads one instance (#4310)
Misc
- Config: match exact tsconfig paths keys only against the exact specifier (#4381)
- Pages: apply next.config headers to res before Node API handlers run (#4382)
- Pages Router: decode API request bodies with Next's bundled iconv-lite (#4366)
- Prefetch: skip a URL a navigation would serve from its visited response (#4364)
- pipe Node streams passed to Pages API res.send (#4335)
- Pages Router: decode API request bodies with their declared charset (#4334)
- Dynamic: let App Router next/dynamic errors reach error.tsx instead of the loading component (#4245)
- Cloudflare: share one Workers Cache entry across hosts (#3924)
- Cloudflare: share one Response Store static Pages entry across hosts (#3898)
- App: stop retaining every route handler request on the Node server (#4328)
- Pages: emit close when a raw-body handler destroys a stalled upload (#4352)
- Use Cache: keep the arity of cached functions exported by name (#4287)
- Use Cache: compile "use cache" modules shipped inside node_modules (#4286)
- Headers: accept cookies().get({ name }) and make read-only cookie mutators throw when called (#4283)
- Init: stop writing native-module aliases to a missing empty-stub.js (#4325)
- Response Store: drop concurrent refreshes of a revision another write already replaced (#4307)
- Next Intl: run the catalog loader on experimental.messages catalogs (#4329)
- Config: keep tsconfig paths from overriding per-environment next/navigation (#4213)
- Fetch Cache: bypass the fetch cache in draft mode (#4318)
- Image: keep vinext/shims/image on the shim when next/image is user-aliased (#4264)
Performance
App Router
- render only below the layouts a navigation holds (#4276)
- stop probing layouts before the render (#4273)
- resolve layout special errors from the render (#4269)
Misc
- Pages Router: keep the incoming Request when header filtering changes nothing (#4373)