Core Changes
- Refactor require hooks: #48506
- Use
decodeReplyFromBusboy
in node runtime: #48686 - Do not suggest adding "use client" if using next/router in app: #48680
- Reland "app-router: new client-side cache semantics": #48695
- fix: TS plugin showing warning for
global-error
file'sreset
prop: #48756 - Add support for draft mode: #48669
- Compile Next.js core client-side files using default target: #48750
- Lazy DevHtmlAsset chunk generation: #48768
- Update naming for Next.js Analytics: #48618
- Add support for async instrumentation register: #48575
- Prefer realpathSync.native over realpathSync: #48698
- Fix issue with instrumentation in a standalone build: #48615
- Polyfill
FormData
for Node.js < 18: #48783 - Error on legacy runtime config under app dir: #48774
- Fix Windows path in route join (#48603): #48779
- Add missing
repository
prop to package.json: #48803 - fix: Update
@swc/helpers
tov0.5.1
: #48808 - Fix hash apply after server-patch action: #48813
- Improve typing of resolve metadata: #48670
- Only track client entry modules in the client reference manifest: #48814
- Vendor
react@experimental
: #48697 - fix query for app dir in turbopack: #48828
- Polyfill FormData with edge-runtime primitives: #48826
- Add async context to server request handler: #48626
- Fix accessing
strict
of undefined inwriteConfigurationDefaults
: #48799 - update turbopack: #48846
- Fix issues where saving next.config.js too quickly could result in multiple dev servers running at once: #48857
- Fix scrolling on navigation in app: #48863
- Implement MutableRequestCookies in server entries: #48847
- refactor(next-swc): turbopack_ecmascript_plugins: #48671
- edge: expose Websocket constructor: #48870
- add missing aliases for next/dynamic and next/head: #48871
- Update the mutableCookies class to accept extra options: #48877
- Support generate dynamic sitemaps for dynamic routes: #48867
- refactor(next-core): emit unsupported package warning: #48837
- update turbopack: #48893
- External vercel og for nodejs runtime: #48844
- Make prefetch not async: #48897
- Ensure require-hook env is set properly on deploy: #48902
- add support for static implicit metadata in turbopack: #48823
- Update min Node.js version to v16: #48903
- Fix scrolling when invisible element is targeted: #48874
- Preload css: #48840
- Selectively load runtime CSS modules to avoid rule duplication: #48866
- Ensure PAGE is checked in all cases: #48862
- add missing exports for static generation bailout: #48910
- Change Server Reference creation on client: #48824
- Upgrade Edge Runtime: #46818
- fix: explicit undefined typecheck: #48920
- fix: Enable CJS annotations for next.js files: #48811
- turbopack: parse and propagate
output: 'export'
: #48046 - fixes #48794 : When using pageExtensions like "page.jsx", global css import not working: #48795
- chore: expose
globalThis.crypto
when not available: #48941 - Fix dynamic routes for generateImageMetadata: #48928
- Correct some jest types: #48923
- Error for missing dynamic generated id and refactor metadata image url: #48953
- fix: bump minimum Node.js version to 16.8.0: #48957
- allow using the
nodejs
runtime for route handlers when using turbopack: #48791 - fix(turbopack): ignore underscore_started path: #48792
- Use ProxiedAsset instead of css_chunk_root_path to expose RSC CSS chunks: #48946
- Remove un-necessary undici warnings: #48970
- Ensure WebSocket is polyfilled for node runtime as well: #48924
- Support preferredRegion and Support runtime/preferredRegion on layouts: #48959
- preload fonts using ReactDOM.preload: #48931
- Cleanup "started server on" message: #48972
- add image metadata for svg: #48947
- fix: error when image
width={Infinity}
: #48855 - add test case for esm commonjs interop: #48940
- Update resolve rule for
@swc/helpers
: #48980 - Update google fonts: #48984
- Fix scroll when loading.js/ts is used: #48986
- Add test case for #48506: #48696
- Add npm package provenance on publish: #48693
- Revert "Add npm package provenance on publish (#48693)"
- fix: npm publish provenance permissions: #48757
- Add missing
repository
prop to package.json in swc-wasm: #48805 - test: disable client cache flaky test: #48890
Documentation Changes
- typo: #48716
- docs: update Image props: #48726
- Fix typo in
errors/version-staleness.md
: #48797 - Add missing word to getStaticProps documentation: #48854
- update example Deploy button URLs: #48842
- Start recommending gRPC with otel: #48915
Credits
Huge thanks to @shuding, @huozhi, @wyattfry, @styfle, @sreetamdas, @afonsojramos, @timneutkens, @alexkirsz, @chriswdmr, @jankaifer, @pn-code, @kdy1, @sokra, @kwonoj, @martin-wahlberg, @Kikobeats, @JTaylor0196, @sebmarkbage, @ijjk, @gnoff, @jridgewell, @sagarpreet-xflowpay, @balazsorban44, @cprussin, @ForsakenHarmony, and @li-jia-nan for helping!