Core Changes
- next-upgrade: Update all Next.js packages: #71324
- Encode FormData for cache keys using custom algorithm: #71341
- [dynamicIO] Implement a warmup prefetch render in dev: #71278
- fix: stack frame format: #71366
- [dynamicIO] implement dynamic check using AbortSignal: #71344
- fix(after): broken error handling for unstable_after(promise): #71373
- [ppr] Stabilize Partial Prerendering Fallbacks: #71320
- remove NextCacheHandler from request context: #71381
- codemod: fix resolutions in bun: #71362
- next-upgrade: Reduce formatting artifacts when overrides are added: #71379
- next-upgrade: Add testfixtures: #71377
- [dynamicIO] track suspense boundaries only after excluding metadata and other boundaries: #71348
- fix(next/image): improve error message when
src={null}
: #71398 - [ppr] PFPR Debugging Fixes: #71390
- [dynamicIO] track environment on requestStore : #71345
- [dynamicIO] Error in dev when using sync platform APIs that are dynamic : #71346
Misc Changes
- Improve Server Reference transform to support closure variables from nested directives: #71332
- Fix default export and exported function expressions handling of cache directive transform: #71334
- Fix flaky app action test: #71360
- docs: add secured server action ids section: #71368
Credits
Huge thanks to @eps1lon, @sebmarkbage, @gnoff, @shuding, @unstubbable, @huozhi, @lubieowoce, @wyattjoh, and @styfle for helping!