v13.4.0
Core Changes
- More fluent GraphTraversal API: #49028
- fix GlobalError interop and add test case: #49033
- Add flag to switch to the experimental channel: #48896
- Fix extra block element in body: #49034
- Fixed
next-types-plugin
causing Typescript errors when"type": "module"
is set: #49027 - Fixed middleware's edge-chunks not being copied in copyTracedFiles: #48723
- Rename
experimentalReact
: #49046 - app router: don't unmount/remount on search param changes: #49047
- style: remove useless React.Fragment tag on
next/image
: #48997 - feat: add draft mode to
next/headers
: #48789 - Fix
next dev
failing for app when__NEXT_DISABLE_MEMORY_WATCHER
is set: #49056 - fix(next-core): interop non string record values in env: #49057
- feat(next-core): support capsize for google font fallback: #48967
- chore: use includes replace indexOf: #48901
- feat: make
enableUndici: true
default and removenode-fetch
: #49061 - fix(next_core): do not apply user config to internal assets: #48210
- update turbopack: #49071
- allow to use different blur placeholder modes: #49070
- Use route metadata to trace in node-file-trace: #49080
- fix quoted env vars from next config: #49090
- find and handle not-found page in app dir: #49095
- Update revalidate handling for app: #49062
- Update turbopack warning: #49051
- Add validation to server methods: #49104
- use ws instead of undici.WebSocket: #49100
- chore: rename draft mode enabled to isEnabled: #49096
- add test cases for error handling: #49093
- improve test case stability: #49036
- Optimize non-dynamic metadata routes to static in production build: #49109
- Allow setting
runtime
in layouts in type declarations: #49117 - Tweak app cache handling for paths: #49108
- add test case for non-enumerable exports: #49106
- Skip handler for POST requests when no action ID is found: #49119
- Fix edge runtime detection from layouts: #49126
- Fix cross-worker revalidate API: #49101
- app router: Fix infinite redirect loop in MPA navigation: #49058
- Only read digest from error instance: #49132
- Static generate dynamic sitemaps: #49114
- Remove writing vscode config: #49133
- Revert "Fix cross-worker revalidate API": #49138
- Revert "Revert "Fix cross-worker revalidate API" (#49138)": #49141
- fix(ts): make
ReadonlyHeaders
more compatible withHeaders
: #49075 - app-router: update prefetch heuristic to traverse until until we hit a loading boundary: #49077
- Forward response to edge runtime for response modification: #49145
- Polyfill
Blob
for Node.js < 18: #49156 - Update compilation target of @next/react-dev-overlay: #49153
- Fix CSS module imports not included in root not-found file: #49155
- app-router: fix stale cache handling: #49160
- Add support for app global and segment 404 pages: #49085
- Tests for Sass warnings: #49151
- Ensure latest react-dom types for experimental release channel are used: #49049
- Update cache methods for app dir: #49165
- Search for lockfiles to find Turbopack root: #49110
- Allow webpack config, but warn if no turbo config: #49170
- Add a generic type for unstable_cache: #49166
- Upgrade React to 18.3.0-canary-b7972822b-20230503: #49158
- Fix server component transforms: #49135
- Fix React channel env missing in custom server: #49168
- app router: support side effects on server requests: #48939
- Fix multipart/form-data handling in the Edge runtime: #49177
- Upgrade React to 18.3.0-canary-aef7ce554-20230503: #49181
- remove startup message by default: #49157
- add test case for bindings in member props: #49134
- Add test case for App Route cookies: #49124
- Fix standalone mode with appDir running in a single process: #49116
- Enable progressive enhanced form actions through decodeAction: #49187
- Use special annotation for
$$bound
if no closure argument is attached: #49188 - Add warning for missing metadataBase in social images: #49180
- Allow override icon rel: #49194
- actions: fix redirect on the edge: #49197
- update turbopack: #49196
- Fix incorrect React env in particular case: #49202
- Add SWC test cases: #49189
- action: add Readable.toWeb "polyfill" for node 16: #49201
- add missing alias for next/dynamic in app dir: #49199
- render app pages with original url: #49198
- action: support not found: #49209
- types: upgrade react/react-dom types: #49213
- Fix metadata routes prerender cache for standalone mode: #49208
- Turbopack alpha -> beta: #49103
- Enable App Router for all applications: #49088
Documentation Changes
- fix: wrong link in docs: #49001
- Simplify CNA prompts a bit: #49063
- Update create-next-app App Router question: #49111
- chore(docs): update next-image-unconfigured-host.md: #49175
Example Changes
Misc Changes
- chore: Update
swc_core
tov0.75.41
: #48982 - Fix failing test on
canary
branch: #49038 - Remove unused font from tailwind
app/page.tsx
: #49035 - Add test case for file uploads: #49048
- chore(cli): remove Route Handlers from App Router templates: #49076
- Fix flaky test: #49178
- disable optimistic_updates: #49211
- test: temporary disable flaky checking: #49217
Credits
Huge thanks to @kdy1, @alexkirsz, @sokra, @shuding, @dciug, @albertothedev, @DuCanhGH, @feedthejim, @li-jia-nan, @styfle, @kwonoj, @patrick91, @timneutkens, @balazsorban44, @ijjk, @padmaia, @Kikobeats, @huozhi, @sophiebits, @eps1lon, @reconbot, @acdlite, @jridgewell, and @sebmarkbage for helping!