Core Changes
- make sure server component externals only apply to files resolvable by node: #49147
- Fix link not being GC'd sometimes: #49318
- Fix issue where nextP is not replaced in searchParams: #49315
- Add typescript version to next-info: #49346
- Upgrade React to 18.3.0-canary-16d053d59-20230506: #49402
- Remove empty config warning: #49435
- app-router: add startTransition call to revalidate dispatcher: #49453
- Inline static data buffer instead of using fs read: #49323
- Revert "Temporarily disable app dir export integration test": #49311
- Add link to Server Actions docs.: #49384
- Replace metadata clone with custom handler in dev: #49343
- Add request-async-storage to the shared layer: #49470
- Fix revalidate: false detection in app: #49473
- Fix metadata image route encoding: #49482
- Fix actions redirect handling: #49483
- Restrict
useOptimistic
anduseFormStatus
APIs on the server layer: #49331 - Fix external rewrite with body: #49487
- fix: better error message with an invalid assetPrefix: #49403
- Fix Node Crypto polyfill: #49288
- Fix: Router.query contains _next when using middleware with dynamic routes: #48753
- type: update React.CSSProperties type to Record: #49186
- Fix server CSS imports and HMR not working properly in specific conditions: #49462
- Fix HMR support for server layer imported SASS and SCSS: #49534
- Support
.bind
syntax with Action functions: #49422 - ci(test): enable turbopack test: #49466
- feat(next-core): relay transform plugin: #48899
- Fix canonical url for dynamic routes: #49512
- Add experimental compile/generate handling: #49491
- chore: cross-platform
rm -rf
script: #49529 - refactor(next-core): remove ast cloning in custom transform: #49560
- fix: a11y issues in react-dev-overlay: #49460
- Add tests for HMR: #49206
- Add stub Route type for typedRoutes: #48099
- Add test for appdir referenced images: #49242
- feat: Allow trace-level logging for non-published release builds: #49564
- Fix unexpected object mutation while resolving Open Graph: #49514
- actions: forward fetch rejections to the action handler: #49577
- actions: make cookies.set revalidate: #49582
- interception route: fix route groups breaking the referrer computation: #49602
- Allow export decl with any init value in the actions compiler: #49600
- Handle unstable_cache in pages: #49624
- Update cache method handling during build: #49633
- Fix fetchCache and no-store handling: #49638
- interception routes: fix rewrites order: #49615
- Ensure initialHeaders are normalized: #49643
- app-router: add support for parallel routes in useParams: #49595
- Add puppeteer to external packages list: #49597
- Add playwright to external package list: #49649
- actions: fill prefetchCache with revalidation payload: #49576
- Rename Turbopack/tasks crates to common prefixes: #49446
- chore(jest): Simplify isServer expression: #48330
- Add missing config vars into Webpack cache key: #49663
- misc: Apply PR comments from #49206: #49647
- fix: Standalone node http server starts accepting requests before next handler is ready: #49548
- Update links from beta to stable docs.: #49349
Documentation Changes
- Fix error message about
preconnect
📝: #40360 - [docs] Add iOS hydration mismatch details to error page: #43584
- Add note about custom distDir to standalone build docs: #48592
- Add
--use-yarn
flag tocreate-next-app
: #49407
Misc Changes
- Add test case for client sourcemaps: #49308
- Update start release workflow inputs: #49492
- Fix failing actions e2e deploy test: #49497
- Replace var with const: #49379
- test: pages react version with react hook in deployment: #48907
- Add test case for #49235: #49488
- chore: fix flaky middleware matcher test: #49555
- Avoid skipping the required Test Codemods job: #49589
- Update flakey app-actions deploy tests: #49667
Credits
Huge thanks to @shuding, @ijjk, @ForsakenHarmony, @timneutkens, @huozhi, @sanjaiyan-dev, @acdlite, @feedthejim, @styfle, @leerob, @koba04, @g12i, @cesarkohl, @darshkpatel, @josh, @li-jia-nan, @kwonoj, @gabschne, @alexkirsz, @karlhorky, @jridgewell, @sokra, @kdy1, @akd-io, @runjuu, @jocarrd, @nnnnoel, and @ferdingler for helping!