For a more detailed summary of recent performance improvements around compilation, please see this comment.
Core Changes
- Auto fill title/images/description from openGraph for twitter if missing: #51453
- Route Module Updates: #51433
- fix(typo): rename var name in comment: #51531
- feat: support for numeric separators in revalidate config: #51438
- Support response aborting: #51594
- Next Build Turbo POC (2): #51546
- bugfix: route interception with dynamic paths: #51526
- add edge rendering for app dir for Turbopack: #51631
- Pages Error Route Module Rendering: #51374
- Revert "add edge rendering for app dir for Turbopack": #51659
- Update cache handling in draft mode: #51663
- Add esm entry for next/server and alias @vercel/og: #51651
- Hot reload when conflicted pages detected and when conflicts are resolved: #51516
- Fix standalone rendering for unmatched _next routes: #51611
- add edge rendering for app dir for Turbopack: #51666
- Revert "Update
swc_core
tov0.78.15
": #51716 - type check tests (and convert next-test-utils.js to ts) : #51071
- Add default modularizeImports that breaks up @mui/icons-material, @mui/material, date-fns, lodash, lodash-es, ramda, react-bootstrap: #50900
- Move Pages
render
out of server: #51678 - Add url to patched fetch response: #51665
- Correct Flight client's condition for SSR and
createServerReference
: #51723 - Update manual basePath with trailingSlash: #51726
- feat: add body parser limit for server actions: #51104
- fix: handle 404 errors in HotReload client: #51637
- Add critical next config value to github info: #51715
- Fix not-found handling in turbopack: #51735
- Allow matching against user-agent in rewrites that match headers: #48271
- revalidate should be more than a boolean: #51627
- Rename
serverActionsSizeLimit
asserverActionsBodySizeLimit
and add docs: #51755 - Fix HMR for missing dependencies in next-app-loader: #51778
- fix: interception rewrites should support catch-all segments: #51787
- Remove
execSync
: #51785 - Remove unncessary source matching from loader: #51775
- Fix
NODE_OPTIONS='--inspect'
not running expected: #51467 - Fix tree-shaking for metadata image functions on the Edge runtime: #51762
- Add
WATCHPACK_WATCHER_LIMIT=20
: #51826 - Simplify Flight manifest plugin: #51589
- performance: don't compile on hover on dev: #51830
- Refactor
next-font-manifest-plugin
: #51835 - feat: Introduce eslint rule for async client components: #51547
- fix: webpack target should match node engines: #51852
- Enable compression for Webpack's cache during dev: #51851
- perf: only require nextjs-require-cache-hot-reloader related API in dev mode: #51834
- fix: build stats should properly report root page size in appDir: #51854
- Optimize client entry creation: #51849
- Fix white screen when navigating to pages in certain cases: #51866
- Fix missing request body in DELETE and OPTIONS Route Handlers: #51874
- make stdout blocking on macos: #51883
- Fix windows fill metadata dynamic path: #51885
- Support relative url for openGraph.url and itunes.appArgument: #51877
- feat(next-dev): add a new experimental flag: #51895
- next/node-polyfill-web-streams: fix web stream polyfill for Node v16: #51901
- node-polyfill-web-streams: require from stream/web instead of stream: #51906
- Add retries and clear message to font fetching: #51890
- performance: enable minification for the server bundles: #51831
- Simplify module context invalidation: #51905
- Reduce the client bundle size of App Router: #51806
- fix turbopack mdx import map: #51881
- error recovery during turbopack hydration: #51882
- Ensure
edge
runtime Pages API/App Route handlersAbortSignal
aborts on client disconnect: #51727 - adds payload to server-external-packages.json: #51933
- fix(next): improve error for using outside of document: #45056
- Support react profiling option for app dir client components: #51947
- Add cpu-features to server external packages: #51946
- Add
unstable_getImgProps
export fromnext/image
: #51205 - Fix eslint async client component: #51952
- fix modularizeImports with @mui/material: #51953
- Fix entrypoints.get and entrypoints.stream from turbopack: #50733
- Optimize next-app-loader file resolution: #51924
- fix(typedRoutes): added missing anchor props to LinkRestProps: #51977
- Update
turbopack
andswc_core
tov0.78.24
: #51943 - export config into functions config manifest: #51700
- Add shared input filesystem: #51879
- Make sure DevEx can approve docs PRs / Remove Spaces: #51996
- Filter invalid image descriptor from metadata images: #51992
- Fix NextRequest constructor parameters: #52001
- Update edge-runtime to latest: #51944
- Increase time and size windows for cached on-demand entries: #52019
- Avoid disposing middleware and instrumentation hook during development: #52022
- Update displayed error message for rsc case: #52004
- Refactor some loaders to be synchronous: #51997
- Optimize inlined Flight data array format: #52028
- Revert "Optimize inlined Flight data array format": #52039
- Refactor ContentSources to RouteTree: #51660
- Fix font missing during server HMR: #52033
- Enable Pages Route Module Rendering for Edge: #51894
- Ensure non-implicit unstable_cache tags are propagated: #52058
- Delegate static analyzation task to the router worker: #52104
- Add default modularizeImports for antd / ant-design/icons / ahooks: #52031
- Avoid unnecessary
resolveExternal
calls: #52053 - Remove EnvironmentIntention: #51965
- fix: env hot reload for RSC pages: #51930
Documentation Changes
- added good to know in
/app
based pages and layout in nested layouts: #51558 - docs: Add Panda CSS to CSS-in-JS docs.: #51484
- Add docs for src directory to include tailwindcss: #51619
- Add page router documentation: #51626
- docs: Add 'DO NOT EDIT' comment: #51600
- Fix validator action breaking when PRs originate from forks: #51668
docs
: fix generated app icons file extensions: #51562- Fix typo in 01-typescript.mdx: #51669
- fix(docs): added missing dot: #51718
- Update 01-images.mdx: #51532
- Add app to tailwind.config.js in fonts documentation.: #51671
- Update docs for Google Analytics 4: #51405
- Fix Typo in Optimizing - Open Telemetry docs: #51729
- docs: improve minor grammar mistake: #51758
- fix: typo into 03-css-in-js.mdx page: #51761
- docs: Add updated
next/image
video.: #51790 - docs(deploy): fix GitHub Actions cache key: #51789
- Fix usage of article "an" before a consonant sound: #51803
- Update 10-router-handlers.mdx: #51850
- [docs] fix angle bracket in mdx: #51920
- [docs] Replace the term "hole" with "slot": #51919
- [docs] fix curly brackets in mdx: #51916
- Add separate links in shared documentation: #51733
- Fix run-on sentence: #51956
- docs: make custom image loader a client component.: #51858
- docs: clarify
reactStrictMode: true
by default: #51931 - Remove unnecessary mention of scroll false: #51964
- Update next lint section: #51898
- Docs: Fix broken link: #51991
- chore(docs): explain
NODE_ENV
environment variable: #52003 - fix(create-next-app): consolidate messages to "Would you like to use": #52011
- Docs: Fix missing typings for typescript example: #52076
- docs: Fix broken link: #52092
Example Changes
- examples: improve
with-supabase
example: #51442 - examples: add missing
supabase-js
dependency forwith-supabase
example: #51703 - docs: update with-next-translate example using appdir: #51720
- fix some issues on examples/app-dir-i18n-routing: #51576
- chore(examples): relax pinned versions to fix npm install fail due to peer deps issue: #51636
- Avoiding try-catch block on examples/app-dir-i18n-routing: #51786
- [examples] Update styling for with-supabase example: #51751
Misc Changes
- chore: make next/src/build files indexable on github: #51647
- fix lockfile: #51650
- Remove the 'notify' modifier on .vercel.approvers: #51655
- Move the Next.js team back to github codeowners: #51657
- Revert "[Docs] Fix validator action breaking when PRs originate from …: #51674
- Update
swc_core
tov0.78.15
: #51269 - Update link validator: use checks, fail on PR from forked repo: #51706
- Update page.tsx tw className: #49040
- Update needs for build and deploy: #51731
- Ensure we run cargo-integration on next change: #51736
- Update
swc_core
tov0.78.24
: #51857 - Revert "Update
swc_core
tov0.78.24
": #51940 - Update codeowners: #51935
- lint fix
- Ensure metadata test is not affected by other tests: #51973
- Remove test skip: #51988
- Loosen metatdata test matcher: #52007
- chore(script): improve markdown changelog output in sync-react.js: #52052
- chore(script): fix typo in sync-react.js pull request url: #52057
- fix app-hmr-changes.test.ts by updating next-tweet: #52046
- link validator: log broken links for PRs from forks: #51963
- Renable flaky tests disabled before: #51680
Credits
Huge thanks to @huozhi, @wyattjoh, @dijonmusters, @danger-ahead, @bre30kra69cs, @leerob, @Yash-Singh1, @jridgewell, @alexkirsz, @ztanner, @sokra, @krmeda, @tyler-lutz, @ijjk, @delbaoliveira, @bigyanse, @kdy1, @2-NOW, @ForsakenHarmony, @Mingyu-Song, @morganfeeney, @timneutkens, @aralroca, @nickmccurdy, @adamjmcgrath, @shuding, @devjiwonchoi, @angel1254mc, @cxa, @ibash, @mohanraj-r, @kevinmitch14, @iaurg, @steebchen, @Cow258, @charlesbdudley, @feedthejim, @tyhopp, @Drblessing, @styfle, @kwonoj, @MaxLeiter, @milovangudelj, @SukkaW, @jacobsfletch, @JoshuaKGoldberg, @zignis, @ChristianIvicevic, @mrxbox98, @oliviertassinari, @balazsorban44, @fsansalvadore, @DuCanhGH, @tvthatsme, @gnoff, and @SonMooSans for helping!