Core Changes
- Fix static metadata routes runtime when root layout is in edge runtime: #50351
- Ensure App Router and Pages Router modules can't share chunks: #50327
- Fix CJS optimizer: #50376
- fix: edge runtime with
next/legacy/image
: #50343 - Next.js Turbo build: turbopack-ecmascript-runtime and ChunkData: #50375
- fix: eslint not ignoring "/app": #50261
- Pages Route Module: #50070
- Upgrade vendored @vercel/og: #50395
- Fix runtime:edge with large next.config.js: #50396
- Rename header conversion functions: #50389
- Refactor internal modules: #50338
- Add new build and test workflow: #50436
- Add
cache-control
header on 304 response: #50408 - App Router: fix relative query/hash handling in
next/link
and router push/replace: #49521 - Revert "land: Include charset=utf-8 with x-component Content-Type header": #50472
- Optimize Next.js bootup compilation: #50379
- Fix CSS duplication related problems: #50406
- update swc_core and turbopack: #50519
- Fix global SCSS on Node.js <= 14: #50185
- [edge] bump @edge-runtime/* package suite: #49092
- packages/font: run update-google-fonts script: #50608
- [turbopack]: Fix HEAD requests: #50366
- Add experimental id handling: #50470
- fix
@vercel/turbopack-node
types (and more turbopack updates): #50605 - Add new
Google-InspectionTool
token to known bot UA list: #50467 - Ensure user-installed opentelemetry package has the minimal required version: #50554
- Remove
cssFiles
field: #50610 - Perf: reduce metadata RSC payload: #50678
- Fix image loader file emission path for edge runtime: #50683
- fix: a11y issues in the overlay component (HMR): #49782
- next/font: tolerate missing unused fields in capsize map: #50708
- fix: conditional cookies in draft mode: #50660
- Optimize next-app-loader resolving speed: #50745
- Improve compile time on large application: #50792
- fix(next-swc): reenable filesystem cache: #50651
- Update fetch dynamic error handling: #50822
- Shrink the react key size in metadata RSC payload: #50739
- Bail out of 404 page when favicon.ico doesn't exist: #50795
- Pages Route Module Rendering: #50404
- upgrade edge-runtime dependency: #50636
- Update id config handling: #50847
- [turbopack]: Use tip-of-branch for benchmarks: #50615
- Fill basic twitter metadata with opengraph when missing: #50854
- Add layer to module trace: #50851
- Add additional font-loader spans for tracing: #50889
- Update react to latest versions: #50604
- fix: App Router with assetPrefix: /: #49622
- Polish error page styling: #50916
- Update next-swc handling for PR stats: #50933
- Add experimental caseSensitiveRoutes config: #50869
- update turbopack: #50819
- Revert "update turbopack": #50942
- Fix shorthand prop wrongly handled in the Server Actions compiler: #50937
- Revert "Revert "update turbopack"": #50947
- Update codeowners to use Vercel Spaces: #50841
- Drop the
chunks
field in the client manifest for SSR: #50959 - Invalidate prefetch cache when a tag or path has been revalidated on the server: #50848
- Bump @types/node: #50940
- Pick esm main fields and condition names first for RSC server layer: #50548
- Bump to
typescript@5.1
: #50557 - Move required chunk collection to the upper level: #50983
- Upgrade webpack to 5.86.0: #50992
- Turbopack next/font/google: Use capsize's xWidthAvg to compute fallbacks: #50878
- Fix usage of
router.refresh()
with Draft Mode in App Router: #50941 - chore: mark forceOptimisticNavigation as internal: #47905
- Fix rsc payload fetch failures due to state tree encoding: #51017
- edge: use JSON parse instead of inlining the manifests objects: #50960
- Fix esm module import warning for middleware loader: #51014
- Updates prettier to latest version.: #51000
- Ensure headers instance is serialized: #51047
- Ensure id handling applies for dynamic import in pages: #51049
- Avoid server insertion react key warning: #51053
- fix:
verbatimModuleSyntax: true
support in tsconfig.json: #48018 - Update app router revalidate handling on deploy: #51062
- Apply optimization to middleware when using babel: #51067
- fix:
moduleResolution: bundler
support in tsconfig.json: #51065 - Fix another case with app router revalidation: #51076
- Remove redundant condition: #51070
Documentation Changes
- [Next Docs] Migrate new docs from next-site to Next.js repo: #50701
- fix: add missed / at useSelectedLayoutSegment at App routing/Pages and Layout: #50956
- Adds missing
async
to Opengraph Image code example.: #50990 - docs: Correct
useFormStatus
to be a client component: #50991 - Update create-next-app docs: #50981
- Update 12-colocation.mdx: #50975
- Add appDir-specific guidance for next-router-not-mounted error: #50076
- Adds missing JavaScript codeblock in Opengraph Image API reference: #50996
- Update 10-router-handlers.mdx - Switcher Created + Small Syntax Improvement: #51003
- Update 02-eslint.mdx: #50986
- Fix typos in 01-contribution-guide.mdx: #51006
- fix
revalidateTag
import: #51005 - Fix Typo in Metadata API Description: #51024
- Clarify a few things about the
instrumentation.ts
file: #51034 - Add section on how to preview docs changes on VSCode: #51019
- Adds the "why" for
next/image
optimization: #51066 - Remove html from summaries: #51008
- Removes
PORT
from.env
concatenation example: #51063- Adds missing
and
inHow to Use These Docs
section: #51058- docs: Clarify manual graceful shutdown in dev server: #51078
- Update 03-linking-and-navigating.mdx: #51084
- Fixed phrasing (extra verb): #51054
- Removes
Example Changes
- Update Vanilla Extract Example: #50394
- Added Azure Cosmos DB started code, containing a minimal app and README.md: #49128
Misc Changes
- Update build and test workflow branch
- Update workflow cancel handling: #50442
- Update env in new workflow
- Break up large test suites: #50458
- Update flakey rsc manifest test: #50506
- disable test case for Turbopack: #50530
- chore: Update
swc_core
tov0.76.37
: #50311 - Remove old CI workflow: #50584
- Update test concurrency: #50588
- Ensure final workflow job always runs: #50589
- Update telemetry failure logs: #50601
- Fix required check job: #50620
- Ensure swc builds are triggered eagerly: #50632
- chore: Enable
share-generics
: #50673 - ci(workflow): allow to trigger native builds manually: #50703
- Add hello-world test for pages and app: #50780
- ci(workflow): enable datadog traces for the tests: #50619
- Revert "ci(workflow): enable datadog traces for the tests": #50815
- ci(workflow): upload Turbopack bytesize to datadog pipeline: #50600
- change(create-next-app): Get-pkg-manager logic change.: #50372
- Update PR stats next-swc build: #50824
- add auto labeling for edge team: #50842
- Add turbo summary artifact for swc builds: #50857
- Update PR stats workflow: #50853
- Optimize cloning for PR stats: #50859
- ci(workflow): loosen condtions for uploading turbopack bytesize: #50820
- Add ignores to fix jest-haste failures: #50875
- better rust setup in CI: #50905
- remove unused dev dep ts-node: #50939
- fix rust install being skipped when it shouldn't be: #50946
- [Next Docs] Update Git Workflow: #50579
- ci(workflow): enable test trace again: #50817
- Only upload turbopack metrics on cache miss: #50945
- Fix workflow check
- Fix windows build check
- Add corepack env for linkPackages: #50973
- Add test for hidden form fields at the beginning of a Server Action form: #50978
- Add max job timeout for build workflow: #50998
- chore: pin to
npm@9.6.7
: #51044 - chore: drop unused
@webassemblyjs
: #51045 - chore: remove skip to renable tsconfig tests: #51061
- Update response cache test: #51072
- ci(workflow): generate run summary for all build targets: #51057
- Fix race condition with publish: #51105
Credits
Huge thanks to @huozhi, @ijjk, @timneutkens, @shuding, @styfle, @alexkirsz, @devjiwonchoi, @wyattjoh, @SuttonJack, @sokra, @smaeda-ks, @keyz, @kdy1, @Schniz, @MaxLeiter, @jridgewell, @ForsakenHarmony, @koba04, @wbinnssmith, @kwonoj, @vinaykulk621, @Kikobeats, @gnoff, @delbaoliveira, @jiwooIncludeJeong, @manovotny, @ethanmick, @tyler-lutz, @didemkkaslan, @itsmingjie, @v1k1, @thepatrick00, @taylorbryant, @kvnang, @balazsorban44, @alainkaiser, @feedthejim, @simPod, @svarunid, and @pauek for helping!