Core Changes
- Update parallelizing tasks with webpackBuildWorker config: #56287
- Misc Typescript and export updates: #55841
- chore: pass defineEnv from next.js to rust directly: #56216
- Expose util internally for debugging: #56381
- App Router - preinitialize chunks during SSR: #54752
- fix: use
fs.existsSync
to avoid race condition: #56387 - Ensure loader generated export default has name: #56388
- Move Edge SSR event
waitUntil
into the handler: #56404 - fix: avoid unnecessary
existSync
call: #56419 - fix: avoid creation of buffers for read ops: #56421
- fix empty externals list, pnpm special case, and project path: #56402
- chore: extract edge-app-route loader template: #56424
- Separate RSC and SSR jsx-runtime modules: #56438
- Async Batcher: #56423
- Fix cli log next.js color: #56448
- Turbopack: Implement Server Actions: #53890
- Component Module Types: #56454
- refactor: rewrite config schema in zod: #56383
- Dev Service: #56442
- feat(turbopack): port next.js template loading logic: #56425
- Chunking Refactor Step 1: #56467
- Use native node:fs in taskfile.js: #56491
- Loose RSC import restrictions for 3rd party packages: #56501
- turbopack: Chunking Refactor Step 2 : #56504
- update turbopack, fix sass peer dependency: #56508
- Remove ServerDirectiveTransformer: #56496
- Improve failed to fetch RSC error: #56517
- misc: fix wrong next start start duration: #56512
- turbopack: Extract as_chunk into shared ChunkType trait: #56506
- Flatten recursive wildcard exports in barrel optimization: #56489
- Turbopack + app router: always use externals for predefined packages: #56440
- fix: log error cause: #56528
- Unsilence Taskr Webpack errors: #56542
- refactor: cleanup app render: #56538
- fix: don't add
isolateModules
totsconfig
when extending from tsconfig withverbatimModuleSyntax
: #54164 - enable
verbatimModuleSyntax
to make type imports/exports explicit: #56551 - Ensure react-server-dom-turbopack-experimental uses the right package: #56560
- Fix build restart log: #56543
- feat(turbopack): add support for edge app pages: #56426
- Improve error handling of Server Actions with skewed deployment: #56618
- misc: split app-render into smaller functions: #56611
- remove unnecessary structuredClone: #56570
- Fix trace ignore handling: #56674
- fix(next-core): allow sass loader for foreign codes: #56679
- Fix SSG query with experimental-compile: #56680
- Ensure rewrites are included in build manifest when using Turbopack: #56692
- fix static worker restart behavior: #56728
- Improve internal waitUntil utility: #56720
- Fix reconnection loop when devserver is offline: #56698
- Fix ensurePage for client-side navigation to / in Turbopack: #56704
- ci: add job summary to the test suite runs: #56742
- Prefer module over main on main fields for app router server compiler: #56532
- Check origins of Server Action requests: #56753
- OpenTelemetry: ignore bubble errors to avoid spamming traces: #56625
- fix(turbopack): always alias
server-only
andclient-only
: #56760 - Utilize Promise.withResolvers: #56764
- Revert "Prefer module over main on main fields for app router server compiler": #56766
- Revalidate Type: #56763
- Revert static worker refactor: #56767
- memoize
useParams
: #56771 - Turbopack: Chunking Refactoring: #56756
- Chunking Refactoring followup fixes: #56789
- put app code into a separate layer: #56800
- fix: add
x-forwarded-*
headers: #56797 - fix(turbopack): middleware path and aliases: #56804
- Implement preferredRegion array in Turbopack: #56743
- Fix build traces case: #56817
- Revert "Drop ipc server headers filters (#56226)": #56836
- Implement getOptimizedModuleAliases for Turbopack: #56839
- chore: bump undici: #56851
- bump: edge-runtime: #56856
- feat(turbopack): support basic next/dynamic: #56389
- Revert "feat(turbopack): support basic next/dynamic": #56885
Documentation Changes
- add digest property to error prop: #56339
- Updates MDX docs: #56378
- Update redirect.mdx: #56414
- docs: add missing word: #56547
- docs: update code snippet for correct file name: #56006
- corrected sentence: #56595
- clarify client components render on server on full page load: #55469
- docs(router): clarify dynamic route slug is about a file name, not "folder": #56596
- Update 01-contribution-guide.mdx: Fix a typo: #56665
- fix(docs): adjust api route documentation examples: #56660
- Updates Large Page Data error message doc to use
JSON.parse
to make reading output easier: #56713 - Docs: Add missing description field: #56749
- Changes codeblock filename delimiter: #56712
- Update supported-browsers.mdx: #56815
- docs: fix cypress script typo in 10-testing.mdx: #56765
- Fix typo: #56863
Example Changes
- Maintenance: minor example dep bumps to fix moderate vulns: #56375
- Update actions.ts: #56579
- updated fauna fql v10: #56185
- fix lint error from fauna example: #56719
- chore(example): bump
@radix-ui/react-icons
: #56452 - fix: http2 example issue: #56768
Misc Changes
- Fix mjs import for Turbopack test: #56354
- Add test case for the
permalink
option ofuseFormState
: #56329 - Fix code freeze disable handling: #56340
- add
cargo fmt
to lint staged: #56430 - fix:
.../templates/*/app/layout.*
import order: #56380 - Update .node-version: #56460
- Fix logging level in actions test: #56473
- Remove app dir warning test: #56350
- Use consistent name for App Router tests: #56352
- Remove isTurbo check in custom-routes test: #56360
- test: speed up isolated next instance test setup: #56525
- Update rust-toolchain to nightly-2023-10-06: #56541
- update test manifest: #56522
- chore: bump pnpm to 8.9: #56649
- fix: next dev with edge runtime on windows: #56502
- invert test filtering logic to exclude known failing: #56663
- (test only) Integration tests: remove flatMap polyfill: #56546
- Use node:fs instead of fs-extra in .github/actions: #56536
- Use unique names for separate test suites: #56695
- misc: tweak stats github action: #56694
- CI: add manual workflow for running e2e on prod: #56738
- Improve chunk encoding test to check right path for Turbopack: #56747
- change those->some for clarity: #56688
- docs: fix typo in Update 02-get-static-paths.mdx: #56757
- Break out E2E deploy test workflow to its own: #56755
- Trigger canary release nightly: #56758
- feat: add self-documenting
.env.example
file: #56469 - update manifest: #56737
- docs: fix several typos: #56788
- Skip artifact download for test e2e deploy workflow: #56807
- Add missing nanoid dependency to app-dir tests: #56830
- Remove specific hash checks for metadata.test.ts: #56843
- Fix CSP test when using Turbopack: #56833
- Skip webpack specific tests in Turbopack test run: #56877
Credits
Huge thanks to @ijjk, @timneutkens, @shuding, @wyattjoh, @Syphini, @manovotny, @ForsakenHarmony, @gnoff, @anonrig, @viktorronnback, @Rylab, @sokra, @hamirmahal, @huozhi, @jridgewell, @SukkaW, @wbinnssmith, @feedthejim, @balazsorban44, @jazsouf, @2XG-DEV, @stefanprobst, @ztanner, @mzab1985, @Mustafadagkiranlar, @JoRyGu, @cmbritten, @styfle, @Krishnanand2517, @bahag-buttf, @kwonoj, @Shadid12, @delbaoliveira, @mayankkamboj47, @dvoytenko, @mayank1513, @himself65, @suravshrestha, @fvaysh, @dianacpg, @joristirado, and @Kikobeats for helping!