Compare Versions - next
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- docs: post release amends (#91715)
- docs: fix broken Activity Patterns demo link in preserving UI state guide (#91698)
- Fix adapter outputs for dynamic metadata routes (#91680)
- Turbopack: fix webpack loader runner layer (#91727)
- Fix server actions in standalone mode with
cacheComponents(#91711) - turbo-persistence: remove Unmergeable mmap advice (#91713)
- Fix layout segment optimization: move app-page imports to server-utility transition (#91701)
- Turbopack: lazy require metadata and handle TLA (#91705)
- [turbopack] Respect
{eval:true}in worker_threads constructors (#91666)
Credits
Huge thanks to @icyJoseph, @abhishekmardiya, @ijjk, @mischnic, @unstubbable, @sokra, and @lukesandberg for helping!
Core Changes
- Fix adapter outputs for dynamic metadata routes: #91680
Misc Changes
- Turbopack: fix webpack loader runner layer: #91727
- [turbopack] Remove incorrect debug_assert in try_read_task_cell: #91699
- Add module count field to module graph tracing spans: #91697
- turbopack-cli: add --persistent-caching flag for filesystem-backed cache: #91657
- Turbopack: pull in updated vercel/nft tests: #91651
- Update Rspack development test manifest: #91695
- [test] Unflake
use-node-streams-env-precedencetest: #91733 - Update Rspack production test manifest: #91694
- [turbopack] Improve regressed build speed on cross-compiled MUSL: #91477
Credits
Huge thanks to @ijjk, @mischnic, @sokra, @vercel-release-bot, @unstubbable, and @mmastrac for helping!
Core Changes
- Fix layout segment optimization: move app-page imports to server-utility transition: #91701
- Fix server actions in standalone mode with
cacheComponents: #91711 - Turbopack: lazy require metadata and handle TLA: #91705
Misc Changes
- [turbopack] Optimize compaction cpu usage: #91468
- [test] Unflake rendering indicator test & skip building indicator tests: #91650
- [test] Fix
edge-async-local-storagedeploy test timeout & race condition: #91643 - docs: fix broken Activity Patterns demo link in preserving UI state guide: #91698
- turbo-persistence: remove Unmergeable mmap advice: #91713
- turbopack: move "compact database" tracing span to backend layer: #91693
- docs: post release amends: #91715
Credits
Huge thanks to @lukesandberg, @unstubbable, @abhishekmardiya, @sokra, @icyJoseph, and @mischnic for helping!
Core Changes
- Turbopack: enable server HMR for app route handlers: #91466
- Skip loadBindings() Lightning CSS check during next start: #91538
- refactor: extract build infra and alias changes: #90422
- feat(node-streams): add config flag, define-env, and env precedence test: #90427
- Rename /_next/webpack-hmr to /_next/hmr: #91415
- ci: add node-stream test coverage workflow: #89861
- Add per-slot error attribution for instant validation using slot markers and config depth preference: #91610
- Handle encoded params further: #91627
- Fix missing route in otel spans without base-server: #91665
Misc Changes
- turbo-tasks-backend: batch find_and_schedule_dirty using for_each_task_meta: #91497
- Restructure pr-status-triage skill: merge command into skill files: #91514
- [turbopack] Use bail! instead of panic! for duplicate module ident error: #91636
- turbo-tasks-backend: batch schedule dirty tasks in aggregation_update: #91461
- Turbopack: Add importModule() support to webpack loaders: #89630
- turbo-persistence: fix mmap page alignment and improve error context in MetaFile::open_internal: #91640
- turbopack-css: demote recoverable CSS parse warnings to Warning severity: #91524
- [test] Unflake "infinite streaming fetch" test: #91645
- [test] Unflake
deterministic build - changing deployment idtest: #91646 - Skip CI for agent/editor config directory changes: #91622
- Update Rspack production test manifest: #91635
- [test] Increase
retrytimeouts for two flakyapp-actiontests: #91647 - Revert "ci: add node-stream test coverage workflow (#89861)"
- [test] Fix flaky
url-hashtests: #91649 - Add instant validation tests for parallel slot config attribution: #91656
- [turbopack] Respect
{eval:true}in worker_threads constructors: #91666
Credits
Huge thanks to @wbinnssmith, @sokra, @unstubbable, @devjiwonchoi, @timneutkens, @feedthejim, @vercel-release-bot, @gnoff, @ijjk, and @lukesandberg for helping!
Core Changes
- Fix(pages-router): restore Content-Length and ETag for /_next/data/ JSON responses: #90304
Misc Changes
- Add .claude/skills symlink: #91616
- Update tokio from 1.43.0 to 1.47.3: #90945
Credits
Huge thanks to @lllomh, @devjiwonchoi, and @lukesandberg for helping!
Core Changes
- Update vendored lodash to 4.17.23 to fix CVE-2025-13465: #91558
- Fix invalid HTML response for route-level RSC requests in deployment adapter: #91541
- Normalize encoded dynamic placeholders in app routes: #91603
Credits
Huge thanks to @denesbeck, @ztanner, and @ijjk for helping!
[!TIP]
Check out our Next v16.2 Blog Post to learn more about this release.
Core Changes
- Upgrade React from
f93b9fd4-20251217to65eec428-20251218: #87323 - Turbopack: Create junction points instead of symlinks on Windows: #87606
- Turbopack: Symlink handling follow-up: #87637
- Add experimental routing package for resolving adapter routes: #86404
- Ensure outputs are correct with cache components in deployment adapters: #87018
- Move off of deprecated url.parse: #87257
- [strict-route-types] Add
experimental.strictRouteTypesconfig: #87378 - misc: fix type check log for CI envs: #87838
- fix: revalidateTag with profile should not trigger client cache invalidation: #88069
- chore: warn when running tests against stale build: #88001
- Redesign default error pages with cleaner, more user-friendly UI: #87988
- dx: avoid next-env.d.ts change in dev: #88103
- prevent browser cache from using stale RSC responses from previous builds: #86554
- [strict-route-types] Typecheck App Router page props: #87386
- [strict-route-types] Enforce common React Component return types in App Router: #87389
- [strict-route-types] Switch to
satisfieswhen validating page and route modules: #87398 - [strict-route-types] Don't reject
numberinconfig.api.bodyParser.sizeLimitwhen validating route: #87633 - Revert "dx: avoid next-env.d.ts change in dev": #88153
- [strict-route-types] Typecheck pages router routes in absence of App Router: #87628
- [strict-route-types] Ensure cache profiles and routes are type-checked even if .next is excluded: #87768
- add compilation error for taint when not enabled: #88173
- feat(next/image)!: add
images.maximumResponseBodyconfig: #88183 - Add maximum size limit for postponed body parsing: #88175
- metadata: use fixed segment in dynamic routes with static metadata files: #88113
- feat: add --experimental-cpu-prof flag for dev, build, and start: #87946
- Add experimental option to use no-cache instead of no-store in dev: #88182
- fix overlay frames cannot be opened sometimes: #88210
- Handle pnpm-workspace.yaml while searching for monorepo root: #74818
- Add more debug logs to
'use cache'wrapper: #88219 - Omit unused arguments from
'use cache'function calls: #86920 - Only log
pending revalidates...debug log if applicable: #88221 - fix(next/image): bump sharp@0.34.5: #88238
- Disallow javascript urls in router methods and redirects: #88185
- Fix relative same host redirects in node middleware: #88253
- Remove loadConfig from main development process, pass value from child process: #88230
- Update deploy adapters outputs and handler interfaces for node and edge: #88247
- Move Ready in time before handler initialization: #88235
- next/image: support custom cache handlers: #88248
- feat: add Claude Code plugin marketplace with Cache Components skill: #87993
- refactor: consolidate PPR into cacheComponents architecture: #88243
- Turbopack: include fewer traced files for standalone: #88322
- feat(turbopack): add resolve plugin condition variant of Always and Never: #88190
- perf: use length = 0 to clear the logging array: #88244
- Time logs: Show full millisecond instead of 1 decimal: #88313
- [turbopack] Enable inferring module side effects by default: #87216
- Track search string as part of "refresh state": #87203
- Pass RouteTree into navigation function: #87256
- Read from segment cache unknown routes: #87293
- Pass loading boundary as part of RSC data: #87825
- Revert "refactor: consolidate PPR into cacheComponents architecture (#88243)": #88421
- fix: support TypeScript
noUncheckedSideEffectImportsfor CSS imports: #88199 - Don't import typescript at runtime: #88321
- fix: use RDC for server action requests: #88129
- Warn when overriding Cache-Control header on
/_next/routes: #88353 - [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88012
- Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88449
- Turbopack: Update reqwest, remove experimental system TLS feature: #88290
- Revert "prevent browser cache from using stale RSC responses from pre…: #88457
- Turbopack: retain loader tree order for metadata: #88487
- Turbopack: more dead code: #88505
- fix(build): prevent route handler manifests from inheriting unrelated client components: #88419
- Upgrade React from
65eec428-20251218to3e1abcc8-20260113: #88530 - Better typesafety for
interopDefault: #88486 - keep next-env.d.s unchanged between dev and build: #88428
- Remove sibling caches from CacheNode tree: #87991
- Upgrade React from
3e1abcc8-20260113to4a3d993e-20260114: #88547 - Finish deleting Mutable from router implementation: #88046
- fetch(next/image): reduce maximumResponseBody from 300MB to 50MB: #88588
- [CC] Fix dev validation error from server action bound args: #88600
- Fix incorrect 'Ready in' time for next start: #88589
- feat: server action logging: #88277
- Log browser error and warnings in terminal: #88352
- Upgrade React from
4a3d993e-20260114tobef88f7c-20260116: #88649 - fix: make RedirectType constant properties literal types: #88653
- Turbopack: add support for matching loaders on resource queries: #88644
- fix: capture promisified setImmediate separately: #88346
- fix: setImmediate[util.promisify.custom] access fails in edge runtime: #88685
- Fix
--debug-build-pathsbracket escaping for glob patterns: #88660 - Add negation pattern support to
--debug-build-paths: #88654 - Only filter next config if experimental flag is enabled: #88733
- [Devtool Indicator] Fix cross alignment: #88664
- Turbopack: don't use build id for pages router client-side manifests: #88641
- Allow inspecting server with
next start --inspect: #88744 - Turbopack: Add
--debug-build-pathssupport to filter routes: #88655 - Upgrade React from
bef88f7c-20260116to41b3e9a6-20260119: #88756 - Use rewritten pathname for implicit cache tags: #88732
- Upgrade React from
41b3e9a6-20260119tod2908752-20260119: #88774 - Add experimental_gesturePush to App Router: #88776
- Rename
rewroteURLtorewrittenPathnamein request metadata: #88751 - Simplify
getImplicitTagsto accept pathname instead of url object: #88753 - Add
NEXT_DEPLOYMENT_IDglobal: #86738 - Turbopack: remove deployment id suffix from client reference manifest chunks: #88741
- Inject
<html data-dpl-id>and don't inline it into JS anymore: #88761 - [metadata] match the Metadata and ResolvedMetadata type: #88739
- Reuse bfcache data during Full prefetches: #88606
- Embed static sibling info in route tree: #88692
- Fix
revalidatePathwith params and trailing slash when deployed: #88623 - fix: preserve cache behavior for PPR fallback shells with root params: #88556
- Upgrade React from
d2908752-20260119tob546603b-20260121: #88860 - stabilize browser log forward options: #88857
- [devtools] Wrap long file names of stack frames in the error overlay: #88886
- [devtools] Fix notch coloring of error overlay in forced colors mode: #88892
- Remove
deploymentIdfrom App RouterRenderOptsPartial: #88866 - feat: implement LRU cache with invocation ID scoping for minimal mode response cache: #88509
- [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88496
- [devtool] Add hydration diff indicator for diff lines: #88919
- Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88942
- [turbopack] add task type infromation to the print_cache_item_size feature: #88925
- Upgrade React from
b546603b-20260121to24d8716e-20260123: #88963 - Turbopack: add
?dpl=to all asset urls returned by Turbopack: #88828 - feat(next-codemod): add agents-md command for AI coding agents: #88961
- Update font data: #88975
- Improve agents-md prompt to force doc retrieval: #88997
- [Reapply] Add
useEffectEventto disallowed React APIs in Server Components: #88985 - Apply fixes for onBuildComplete and route module: #88831
- Rename
renderOpts.nextExporttoisBuildTimePrerendering: #88951 - docs: fix typos in
README.mds: #89022 - refactor: consume global-error from loader tree: #88437
- Fix chunk loading when using
__turbopack_load_by_url__with query: #88899 - [mcp] change the mcp endpoint response to JSON: #88911
- Reapply "[turbopack] Add bundling support for worker_threads" (#88725): #88967
- fix: ensure LRU cache items have minimum size of 1 to prevent unbounded growth: #89040
- Upgrade React from
24d8716e-20260123to8c34556c-20260126: #89066 - Use null-prototype objects in server actions manifests: #89069
- Re-enable types-and-precompiled: #89070
- Apply segment changes to adapters outputs: #89072
- Improve no response route handler error: #89036
- Limit number of server action arguments to 1000: #89068
- [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88958
- Decouple route stale time from segment-level data: #88834
- Decouple route and segment cache lifecycles: #88989
- [ci] Silence
baseline-browser-mappingwarnings: #89175 - [Cache Components] Prevent streaming fetch calls from hanging in dev: #89171
- React types update: #89110
- [nextjs] feat: removing length requirement: #89173
- add GPTBot to matcher for known bots: #89188
- Ensure
.mdlicenses are included in vendored packages: #89201 - Switch development log item format as JSON: #89168
- IsolatedDevBuild flag removal: #89167
- fix: coerce HEAD to GET for internal images: #84180
- Upgrade React from
10680271-20260126to230772f9-20260128: #89250 - Upgrade
tarused to extract SWC binary : #89158 - Sort prerender manifest routes: #89246
- Track vary params for segments without server-side param access: #88998
- Optimistic routing: client-side route prediction: #88965
- Keep pages/404.js to be able to dynamically render it anyway: #89263
- fix: fully static pages should emit & serve static rsc payloads: #89202
- fix: CSRF origin matching should be case-insensitive: #89127
- fix(build): format runAfterProductionCompile duration as human-readable time: #89232
- fix(router): support BigInt in query parameters: #89213
- Update font data: #89200
- Update font data: #89272
- Turbopack: add support for contentType condition for webpack loaders: #89156
- Revert "fix(router): support BigInt in query parameters": #89283
- Track vary params during static prerendering: #89267
- Improve lock dir error message: #89119
- Ensures
browserslistdoesn't issue outdated warnings forbaseline-browser-mapping: #89287 - Replace build id in Pages data routes with deployment id: #88959
- Upgrade React from
230772f9-20260128toda641178-20260129: #89301 - Inline handler dependencies instead of tracing: #89269
- Turbopack: add
rules.*.typeconfig to allow changing the type of a module: #88788 - Add experimental.varyParams feature flag: #89307
- Fix/zlib mem node: #89099
- Revert "Replace build id in Pages data routes with deployment id (#88959)": #89323
- Turbopack: Rename crates/napi to crates/next-napi-bindings and update crate name: #89314
- feat: detect @typescript/native-preview as alternative TypeScript compiler: #89149
- Revert "Fix/zlib mem node": #89322
- Turbopack: FreeVarReference::ReportUsage: #89302
- Make Server Function logging opt-in via
logging.serverFunctions: #89321 - Restore default-enabled Server Function logging: #89407
- Re-add build-complete traces for webpack: #89402
- Skip Server Function logging for
'use cache'functions: #89408 - Replace flight navigation build id field with header: #88855
- Upgrade React from
da641178-20260129toed4bd540-20260202: #89401 - Upgrade React from
ed4bd540-20260202tob1533b03-20260203: #89444 - Upgrade React from
b1533b03-20260203to3e00319b-20260203: #89449 - Rename CACHE_ONE_YEAR for clarity and fix usage: #89450
- [Codemod] Fix agents-md on Windows: #89319
- Experimental deferred entries handling: #88347
- Add
experimental.reportSystemEnvInliningfor Turbopack: #89304 - fix: use signal-based exit codes to prevent inspector blocking exit: #89351
- Add Instant Navigation Testing API: #89465
- Support MPA navigations in
instant(): #89469 - Handle Pages data route skew with deployment id header, take 2: #89325
- Include owner stack for forwarded errors if available: #89493
- [CC] Rename "unstable_prefetch" to "unstable_instant": #89448
- Ensure module contexts are always included in adapter traces: #89508
- Don't insert build id comment in HTML: #89478
- Clarify type checking error message: #89525
- Require explicit
cacheLifeon outer"use cache"when nesting short-lived caches: #89481 - [Instant] Instant validation in Dev: #89077
- Upgrade React from
3e00319b-20260203to95ffd6cd-20260205: #89550 - Turbpopack: fix is_persistent_caching_enabled: #89533
- Fix a small doc typo: #89553
- Ensure _middleware is consistent in adapter for name/id: #89559
- Ensure Errors with deep causal chains respect inspect depth: #89594
- refactor: extract route discovery into unified
discoverRoutes()API: #88971 - Ensure static metadata are static outputs for adapters: #89574
- Resolve local variable references in error code SWC plugin: #89596
- Turbopack: Add --experimental-server-fast-refresh CLI flag: #89274
- Fix deployment id header when proxying: #89593
- fix: deprecated util._extend: #89614
- Fix missing non-deferred turbopack build items: #89616
- Revert "Ensure _middleware is consistent in adapter for name/id": #89624
- Omit unused arguments for server actions: #89651
- Upgrade React from
95ffd6cd-20260205to2dd9b7cf-20260208: #89681 - Include
AggregateError.errorsin terminal output: #88999 - fix(image): findClosestQuality returns 0 for low quality values: #89621
- Upgrade React from
2dd9b7cf-20260208to272441a9-20260209: #89722 - Avoid using unclosing prefetch streams in the browser: #89610
- Pass shouldCache to all manifest loading calls: #89713
- Add 2nd cloned body to FinalizationRegistry. Only used RuntimeStyles component for webpack: #88577
- Tracing: trace render times as render-path: #89763
- Turbopack: Server HMR infrastructure: #88870
- Turbopack: Reorganize runtime files into shared/runtime directory: #89461
- [Instant] Validation on client navs: #89777
- Turbopack: extract core hmr client logic into shared runtime: #88912
- Turbopack: Fix slow filesystem benchmark warning for
next dev: #89798 - Add turbopackIgnoreIssue config to suppress Turbopack warnings: #89682
- Add support for with
type: "text"under a new experimental flag, following what webpack did: #89560 - Remove unused devtools code handling React without
use: #89793 - [devtools] Wrap overlay in Activity: #89818
- Add CSS URL deployment ID suffix support: #89771
- Fix cascading LRU eviction during prefetch batches: #89766
- Refactor prerenderManifest passing: #89765
- [AI] Ship bundled docs in next and generate AGENTS.md in create-next-app: #89850
- Turbopack: Implement server hmr in nodejs dev runtime: #89130
- Allow sitemap.ts and sitemap/page.tsx to coexist in Turbopack: #89789
- [fragment-scroll] Cleanup scroll and focus restoration in layout router: #83110
- [fragment-scroll] Add
experimental.appNewScrollHandler: #83107 - [Instant] Fix crash with search params: #89922
- Fix memory leak in dev mode caused by fast-set-immediate: #89779
- Trace upload: include experimental flag states: #89845
- Upgrade React from
272441a9-20260209to6066c782-20260212: #89923 - Add a better error message for when turbopack cannot be loaded: #89633
- fix: support multiple icon formats with same base name (icon.png + icon.svg): #89504
- Turbopack: Move turbopackIgnoreIssue from experimental to turbopack.ignoreIssue: #89817
- Build with dev runtimes when
--debug-prerenderis set: #89834 - Append deployment id query string for next-font: #89960
- Fix parallel routes with deferred entries: #89967
- Rename node extension utils for clarity: #89970
- Model abandoning by signal: #89971
- Fix missing incremental cache in middleware unstable_cache: #89980
- Run fast immediates during prerender abort to fix flaky I/O stack traces: #89969
- [fragment-scroll] Ensure hoisted elements don't break scroll-to-top on page navigations: #83108
- dx: Include path count in export error message: #89333
- fix(agents-md): use
require.resolve()to get the installednextversion: #89166 - docs: agent skills, pr-status script, and AGENTS.md updates (1/8): #89857
- Ignore
prefetch={true}on Links to routes withinstant: #90061 - Expand deferred entries test suite and fix turbopack build: #90057
- Use StageController for runtime prerendering: #89972
- Improve task pipelining: #90065
- fix(next/legacy/image): add deployment id (dpl) query string support: #89956
- Cache expected missing manifest read: #89908
- Use for...in instead of Object.keys for parallelRouteKey traversal: #89905
- [Instant] allow non-blocking dynamic holes and errors in shared parents: #89875
- Move prefetch hints from CacheNodeSeedData to FlightRouterState: #90066
- [Instant] Don't block on client APIs that wouldn't block in the browser: #89924
- [devtools] Add support for error causes in the dev overlay: #90108
- Unify runInSequentialTasks across all sequential task work: #89978
- Cleanup all stage promises on abort: #89984
- segment cache: fix segment cache normalizer: #90111
- Handle null history.state in client-side router popstate handler: #90083
- Don't parse default postponedsizelimit: #89906
- Turbopack: handle invalid RSC imports via importmap: #88146
- [create-next-app] Improve AGENTS.md prompt wording: #90118
- ensure maxPostponedStateSize is always respected: #90060
- Upgrade React from
6066c782-20260212to4842fbea-20260217: #90144 - [fragment-scroll] Stop focusing the first focusable host descendant: #89903
- fix: normalize loopback only in hostname: #90158
- Only error for sync IO after runtime in segments that would be runtime prefetched: #89979
- [refactor] Replace runtime prefetch sentinel transform stream: #90160
- fix: use Buffer.indexOf in uint8array helpers for faster byte scanning (3/8): #89864
- Automatically build and clear native build when running
pnpm build: #89819 - fix(cache): DCE to avoid pulling server internals into browser bundles (4/8): #89865
- Attach active src route to next global: #90171
- Fix OTEL propagation and add direct entrypoint e2e coverage: #90181
- Use cookie as sole protocol for instant navigation testing: #89871
- Simplify metadata tag rendering to flat imperative style: #90209
- Prevent unhandled rejection filter from being bundled into the server runtime: #90205
- [Instant] speed up test instant-validation suite: #90214
- Turbopack: fix static asset skew protection for edge and prerenders: #90238
- Remove workStore from params/searchParams/pathname function signatures: #90215
- Remove workStore from metadata resolution chain: #90217
- [Instant] export "Instant" config type: #90257
- Replace getDynamicParamFromSegment closure with interpolatedParams in metadata: #90249
- [Instant] Dev Tools toggle for Instant Navigation Mode: #90222
- [instant] Include declaration location of instant config in validation errors: #90169
- Turbopack: rename ServerPaths to AssetPaths: #90234
- feat(next/image): add lru disk cache and
images.maximumDiskCacheSize: #89963 - Revert "Handle null history.state in client-side router popstate handler": #90268
- [devtools] Omit empty looking error messages: #90256
- Fix runtime prefetch
isPartialbyte stripping when deployed: #90272 - Upgrade React from
2ba30655-20260219toab18f33d-20260220: #90279 - validate sync IO in generateMetadata according to Page's prefetchable status: #90164
- Turbopack: support Subresource Integrity : #90152
- segment cache: add test for passing unawaited promise to context provider: #89339
- Fix route.replace crash with --debug-build-paths: #90312
- refactor(app-render): extract stream-ops and debug-channel modules (5/8): #89858
- [turbopack] Consider
ignoreListof 3rd party sourcemaps in Redbox: #90317 - [turbopack] Remove obsolete is_internal field : #90329
- Fix: Image component ignores images.qualities in Jest environment: #89536
- Revert "keep next-env.d.s unchanged between dev and build": #90384
- Fix route cache keying for unprefetched navigations: #90400
- Add support for Next.js error telemetry for
AggregateError: #90391 - Fix
config.reactProductionProfilingfor Webpack: #90430 - next-image: fix deployment id handling for unoptimized: #90416
- [ci] Fix input cache keys for tasks referencing
rust-toolchain: #90442 - next-image: fix dpl handling with unicode: #90420
- Upgrade React from
ab18f33d-20260220toc0060cf2-20260224: #90452 - [ci] Stop using Turbopack tests in native binary build cache keys: #90449
- [Instant] Validate blocking head: #89539
- Turbopack: Fix experimental server hmr for pages router: #90398
- Fix params leaking into instant navigation shell in dev: #90455
- Limit build workers to pages+1: #90475
- fix: sanitize worker args for worker_threads compatibility: #90506
- Fix varyParams tracking for optional catch-all params with no value: #90496
- Don't start worker for Typescript when only doing config validation: #90504
- [Instant] Fix loading.js not being counted as a suspense boundary: #90292
- [ci] Crash if next-swc could not be loaded when
NEXT_TEST_NATIVE_DIRis specified: #90387 - Fix: server-patch retry preserves push/replace intent of suspended transitions: #90533
- Cached Navigations: Serve cached segments instantly on repeat visits: #90223
- Throw when
unstable_instantis used in Client Component: #90396 - [test] Fix jest-haste-map warnings: #82995
- Don't require collect-build-traces with Turbopack: #90586
- Enable
experimental.reactDebugChannelby default: #90310 - Less dynamic pages manifest path: #90581
- Upgrade React from
c0060cf2-20260224to98ce535f-20260226: #90605 - Turbopack: Add Next.js version to "initialize project" trace span: #90545
- [devtools] Stop sending codeframes for ignored frames: #90577
- Allow
reset()from user's global-error: #89684 - Fix per-segment prefetching for initial loads with Cache Components: #90610
- Add
unstable_retry()to error.js: #89685 - Fix edge index page _next/data route: #90611
- Turbopack server hmr: Implement
restartevent: #90550 - Turbopack: Panic if a top-level task attempts an eventually consistent read: #89735
- Fix middleware case with adapters: #90624
- refactor(turbopack-node): support execution by napi and worker_threads: #86266
- [instant] Allow providing user feedback for blocking route errors: #90498
- Allow Node.js' experimental inspector flags in
next devandnext build: #90603 - tests: Assert dpl query string in all tests for Turbopack: #90592
- [instant] Don't add debug stack to random
unstable_instantexports: #90273 - Adapter: STATIC_FILE.immutableHash: #90045
- Turbopack: experimental.immutableAssetToken: #88607
- remove runInContext callbacks from stream-ops: #90609
- Turbopack: restrict server HMR to app pages: #90663
- Turbopack: Allow turbopack-node backend to be swapped at runtime using an experimental config option: #90671
- Turbopack: Revert default loader runtime backend to child processes: #90675
- [devtools] Stop blocking overlay on error details copy: #90698
- feat: provide nextVersion to modifyConfig adapter hook: #90735
- experimental.prefetchInlining: bundle segment prefetches into a single response: #90555
- instant(): fix cookie handling for fresh page loads: #90613
- fix(turbopack): use posix.join for client URL manifest paths on Windows: #90700
- Turbopack: improve cell order lint rule for ReadRef::cell: #88500
- Change names of logged times: #90688
- [devtools] Bump React Compiler version to latest experimental: #90763
- Skip writeToBfCache without window: #90771
- docs: error component
unstable_retry(): #89732 - Stub adapterPath with experimental.runtimeServerDeploymentId: #90790
- Conditionally load uncommon paths: #90514
- Refactor extractExportedConstValue to return { value } | null instead of throwing: #90510
- Reimplement code frame rendering in native code: #85592
- [devtools] Bundle for same target as Next.js browser runtime: #90762
- Upgrade React from
98ce535f-20260226to4cc5b7a9-20260303: #90827 - Add
transitionTypesprop tonext/link: #90701 - [otel] fix missing http.route attribute: #90832
- [otel] set parent span name: #90840
- Update default error pages: #90469
- Replace PPR config helpers with cacheComponents checks: #90704
- Cached Navigations: Cache visited fully static pages in the segment cache: #90306
- Remove
isRoutePPREnabledfrom render options and delete dead PPR branch: #90713 - Use page extensions in next-swc transforms applying to pages: #90650
- Cached Navigations: Cache static stage of partially static initial HTML: #90539
- Remove
PrerenderStorePPRtype and allprerender-pprswitch cases: #90721 - Clean up legacy PPR references in test fixtures: #90725
- Cached Navigations: Cache runtime stage data from navigation requests: #90666
- Remove legacy PPR postpone cluster: #90726
- partial fallbacks: add adapter flag: #90395
- Address review feedback: extract modules, clean up imports: #90813
- Add trace spans for turbopack persistence in .next/trace: #90397
- Upgrade React from
4cc5b7a9-20260303to3bc2d414-20260304: #90876 - Fix prefetch inlining build failure with dynamic routes: #90899
- Update
@vercel/ogandsatorivendors: #90933 - Batch require cache deletion to avoid quadratic scanning: #90625
- Revert legacy PPR removal: #90948
- Rewrite instant validation to use depth-based URL boundary discovery: #90905
- Add
experimental.cachedNavigationsfeature flag: #90928 - preserve allowQuery for partial fallback shells: #90887
- Cache runtime data for partially static pages on initial load (resume): #90888
- re-introduce partial fallback -> route upgrading: #89063
- fix: Don't fall through to catch-all when static child subtree doesn't match: #90957
- Bump Node heap limit for lint-no-typescript to avoid OOM in CI: #90996
- Upgrade React from
3bc2d414-20260304to46103596-20260305: #90989 - fix: trigger MPA navigation for server action redirects with build ID mismatch: #89946
- Improve webpack loader error messages and handling: #89698
- Turbopack: implement module.hot.accept(deps, cb) and module.hot.decline(deps): #90443
- partial fallbacks: gate behind experimental flag: #91123
- fix: app-page URL normalization: #91121
- Updates to Instant Navs devtools functionality: #91005
- Trace upload: add git and environment info: #91124
- fix(css): rewrite MiniCssExtractPlugin insert function to ES5 to support legacy browsers: #90556
- Revert "Address review feedback: extract modules, clean up imports": #91159
- [turbopack] Render code frames on the turbopack side: #90534
- Add experimental.lightningCssFeatures config option: #90901
- fix: correct appPaths sort order for parallel routes with route groups: #91160
- Tracing: tag spans as failed if their runner fn fails: #91206
- Adds a Start button to the Instant Navs panel to initiate inspection …: #91216
- Preserve RSC metadata in Proxy request with skipProxyUrlNormalize: #91213
- [cna] Bump
picocolorsto 1.1.1: #91252 - [Instant] Build-time validation: #90964
- [Instant] fix instant config suggested by editor plugin: #91262
- chore(deps): Bump tar from 7.5.7 to 7.5.11 in /packages/next: #91233
- Upgrade React from
46103596-20260305to5e9eedb5-20260312: #91272 - feat(server): expose requestMeta router helpers and merge fallback context: #91235
- [Instant] Show owner stack for validation-blocking errors: #91277
- Hydrate page loads during instant navigation testing: #91207
- perf: use Buffer.from for base64 encoding of binary Flight data: #91221
- Skip dimming when
--inspectis used: #91271 - Respect
generateStaticParamsin instant navigation shell: #91316 - [Prefetch Inlining] Generate size-based hints on server: #90891
- Wire cache handlers in edge paths and add e2e regression coverage: #91236
- Expose edge runtime fields in build-complete: #91239
- [turbopack] Remove
turbo_tasks::functionfrom ModuleReference getters: #91229 - [Turbopack] write route bundle stats to .next/diagnostics/route-bundle-stats.json: #90949
- partial fallbacks: only upgrade shells with remaining prerenderable params: #91158
- partial fallbacks: complete generic shells into more specific shells: #91231
- Add eval and docs for unstable_instant: #91334
- Simplify scroll restoration with shared ScrollRef on CacheNode: #91348
- fix: test-cargo-unit CI job timing out since LTO was enabled: #91424
- fix(build): don't block SSG on telemetry flush, add persistence spans to trace-build: #91335
- Ready in X - prints wrong timing on dev server restart: #90874
- Show generated code from loaders in parse error messages: #89898
- Remove unused layer from server actions manifest: #91425
- Support accessing root params in
generateStaticParams: #91189 - Avoid
undefinedouter work unit store in"use cache": #91190 - Add
unstable_dynamicStaleTimeroute segment config: #91437 - [next-playwright] Use unique cookie values for instant navigation testing lock: #91250
- Add
unstable_catchError()API for component-level error recovery: #89688 - docs(turbopack): Fix all warnings in
cargo doc --no-deps --workspace, and run rustdoc as part of our CI checks: #91339 - Patch improvements into
http-proxylib: #91480 - Disallow Server Action submissions from privacy-sensitive contexts: #91478
- Fix startup warmup for empty-shell app route cache: #91470
- Fix
unstable_catchErrortype inference for fallback props: #91485 - Support accessing root params in
"use cache"functions: #91191 - Fix inconsistent cache life/tags propagation for cache handler hits: #91454
- Upgrade React from
5e9eedb5-20260312toc80a0750-20260312: #91324 - Error when accessing undefined root params in
generateStaticParams: #91519 - Buffer prefetch response before passing to Flight client: #91487
- [Segment Cache] Always upsert on prefetch completion: #91488
- Track vary params during runtime prefetches: #89297
- [react-sync] Allow locking in manual sync: #91509
- Remove devCacheControlNoCache experimental option (hard-code no-cache): #91503
- fix allowedDevOrigins for no-cors requests: #91506
- Remove webpack stats generation from Turbopack: #91515
- Upgrade React from
c80a0750-20260312to3f0b9e61-20260317: #91522 - Move adapterPath from experimental to stable top-level config: #91535
- block disallowed dev origins by default: #91507
- Turbopack: Merge release-with-assertions-no-lto profile into release-with-assertions: #91530
- improve allowedDevOrigins error: #91521
- Add group depth tracking to instant validation boundary discovery: #91208
Documentation Changes
- docs: next experimental-analyze: #87272
- docs: use cache private redo: #87111
- docs: fix highlight in 05-server-and-client-components.mdx: #87347
- Guide: Update
Optimizing Package Bundlingto include new Bundle Analyzer: #87246 - docs: generateMetadata and generateViewport w/ CC: #87218
- docs: tweaks/fixes to papercuts: #87445
- docs: fix typos and clarify examples in Cache Components guide: #87530
- [docs] add get_routes in mcp available tools: #88181
- Update generateMetadata in client component error: #88172
- docs: fix CSP example to only include unsafe-eval in development: #88407
- docs: add useSearchParams and useParams documentation for Pages Router: #88429
- docs: fix Pages Router fonts documentation showing App Router examples: #88326
- doc: add details of mcp client integration: #88543
- Turbopack: query conditions in rules follow-ups: #88801
- Docs: Add Next.js Glossary: #88811
- docs: Server functions rename: #86827
- docs: Update Partytown URLs and package reference: #88928
- docs: improve clarity in cache components and server/client docs: #88946
- docs: revalidatePath w/ rewrites and trailing slash: #88956
- Cache Component Guide: Building public, mostly static pages: #87248
- Turbopack: Add postcss.config.ts support: #89049
- CC Guide: Fix filenames, reduce line breaks: #89065
- docs: fix code highlight in 07-fetching-data.mdx: #88727
- [docs] Always include
unsafe-evalin devContent-Security-Policy: #89163 - Turbopack: add support for turbopackOptional: true: #89227
- docs: Rename Error component to ErrorPage: #89284
- docs: replace 'can not' with 'cannot': #89354
- docs: Fix custom server code snippets: #89400
- Snippet multi package syntax: #89381
- Fix indentation of types of tests in docs: #89409
- docs: Fix syntax in proxy example code: #89395
- docs: fix ISR guide link to res.revalidate: #89342
- Fix spelling in robots.mdx documentation: #89565
- Remove more examples: #89709
- clarify unstable_cache replacement with use cache: #89435
- docs: correct use term: #89438
- [docs] Add
RedirectTypeusage example topermanentRedirect: #89833 - Next CLI flags documentation: #89750
- docs: adapt lead to source path patterns: #89392
- docs: Papercuts Feb26: #89484
- After() docs requests API: #89837
- docs: Move browserToTerminal into logging: #88901
- Update documentation to explain behavior in a Catch-all route: #89742
- docs: add deploymentId config and clarify encryption key for self-hosting: #89795
- docs: adapterPath amends: #89930
- docs: improve next/image localPatterns error page: #89914
- docs: inline-css dev-action oriented: #89064
- docs: document cacheLife expire omission behavior and fix default preset value: #89913
- docs: Activity boundary guide: #89126
- Turbopack: Add inline loader configuration via import attributes: #89644
- docs: fix broken blockquote formatting in API Routes page: #89966
- docs: clarify async instrumentation register request : #90039
- Add AGENTS.md and bundled docs guide: #89973
- In-Depth Explanation of React Version Handling Doc: #89426
- Next.js sticky scroll standards: #90197
- docs: fixes typo in manifest.mdx regarding Route Handler note: #90394
- docs: improve form guide consistency and validation examples: #90361
- docs: rework version staleness: #90192
- docs: clarify that next upgrade is for 16.1.x+: #90435
- Add not-found.js / notFound() links to Status Codes section: #88332
- docs: update with more patterns and decision based: #90203
- docs: add Docker Standalone and Docker Export examples to Deploying page: #90386
- feat: Join guides and frame around UI preservation: #90595
- docs(deploying): add Hostinger Web Apps Hosting to Node.js deployment options: #90246
- docs: fix navigationType value and variable name in useReportWebVitals: #90599
- Accept header content negotiation: #90607
- docs: clarify native
- Create next app CLI docs: #90788
- Unify caching story across the docs: #90149
- update proxy docs to use NextProxy type: #90647
- Loading layout docs update: #90787
- Uncached data suspense issue: #90450
- docs: explain deploy test custom scripts: #90966
- Update adapters documentation: #90986
- docs: large page data error: #90920
- docs(localFont): enhance details about using the localFont function: #88189
- chore(docs): mention behavior of redirects and remotePatterns: #91151
- docs: More Server Actions security guidance across docs: #90878
- docs: Streaming guide: #90779
- Docs: Split route segment config options into their own files: #90991
- Expose resolved invocation targets in next-routing: #91242
- docs: remove incorrect _document.tsx font example: #91346
- docs:
unstable_catchError(): #89847 - SRI turbopack documentation: #90477
- docs: Clarify ignoreBuildErrors behavior: #91367
Example Changes
- fix: Change Dockerfile.bun to use group/useradd instead of addgroup/user: #87443
- fix(examples): resolve hydration mismatch in blog-starter: #87703
- Update with-mysql example to Next.js 15, Tailwind 4, Prisma 7: #88475
- chore(examples): remove
with-recoilexmaple: #81836 - chore(examples): remove
with-tigrisexample: #81843 - [feat] Added Docker examples for standalone output and export output following best practices: #87069
- Migrate from react-markdown to Streamdown static in EdgeDB example: #86435
- example: restore .next handling for with-docker examples: #90651
- with-docker: add new config file formats: #90731
- example: remove duplicate items in .dockerignore: #91079
Misc Changes
- Turbopack: refactor graph traveral and fix module graph determinism: #87312
- bundle analyzer: remove uncompressed toggle, stabilize top bar ui: #87325
- test: de-flake client-cache deployment tests: #87412
- Revert "Revert "[turbopack] Set
livenessof exports based on assignment analysis (#82802)"": #87214 - ci: track runner name on datadog test reports: #87440
- Turbopack: In CI only persist at the end: #87316
- fix: correct quotes in dev script filter in package.json: #87638
- chore: add a missing period to rspack description: #86526
- [test] Move off of as much
url.parseas possible: #87286 - Update Rspack production test manifest: #87889
- Update Rspack development test manifest: #87888
- chore(turbo-tasks-malloc): replace mimalloc-rspack to mimalloc: #87815
- fix: normalize CRLF line endings in jscodeshift tests on Windows: #88008
- chore: add Claude Code configuration: #87943
- test: reduce flakiness in opentelemetry test for prod mode: #88102
- Rename CLAUDE.md to AGENTS.md with symlink: #88105
- [turbopack] Populate the
namesfield of sourcemaps: #87911 - Turbopack: fix order of breadth first edges: #88117
- Turbopack: transpile CHUNK_SUFFIX: #88128
- chore: add dev boot profiling and benchmark scripts: #87940
- perf: improve stats action reliability and reduce CI noise: #87945
- Update Rspack production test manifest: #88137
- Update Rspack development test manifest: #88138
- Fix compile error when running next-custom-transform tests: #83715
- chore: add Conductor configuration for parallel development: #88116
- fix: move conductor.json to repo root for proper detection: #88184
- Turbopack: Update to swc_core v50.2.3: #87841
- ci: run stats on canary pushes for historical trend tracking: #88157
- perf: improve stats thresholds to reduce CI noise: #88158
- Turbopack: Use batch get request to read more efficient from database: #87106
- Turbopack: improve aggregation update performance: #87317
- Add test creation instructions to agents.md: #88215
- Turbopack: report changed env vars in tracing: #88195
- Turbopack: get rid of some manual self.await-s: #88236
- Guard against Object/Array shadowing in 'use cache' transform: #88229
- feat(turbo-tasks-fs): support multi denied_paths: #88186
- Upgrade to swc 54: #88207
- ci: fix javascript-urls test to account for React 18: #88249
- Turbopack: Remove tokio and turbo-task handles from Invalidator: #88242
- Turbopack: remove Stateful flag: #88196
- Upgrade to rustc 2026-01-04: #88095
- Turbopack: include children count in "task execution completed" span: #87318
- Turbopack: avoid blocking tasks for I/O work: #87661
- Turbopack: flatten trace when it reaches cut off depth: #88118
- Turbopack: remove unused code: #88274
- Turbopack: escape colon in output names: #88273
- [test] Add a failing test for cycle serialization in segment prefetches: #88287
- Turbopack: scope hoisting bug with reexport-self-star: #86131
- Turbopack: Add #[automatically_derived] to proc macros: #88281
- Update Rspack development test manifest: #88260
- Turbopack: Use
format!instead ofanyhow!inside ofanyhow::Context::with_contextcalls: #88293 - Turbopack: pull in updated vercel/nft tests: #88162
- Fix pack-next script for next-swc: #88126
- Turbopack: use correct flags in tests: #88307
- Turbopack: fix task category on reading cells: #88309
- agent.md: Explain where the Next.js core code lives: #88314
- Turbopack: improve next-server.nft.json tests: #88320
- Turbopack: add family to database read span: #88323
- Tests: Reduce loglines from apply patch delay: #88224
- Turbopack: prefetch children too: #88324
- Turbopack: more stale details for tracing: #88306
- Turbopack: make GraphTraversal deterministically calling all nodes before erroring: #88119
- Turbopack: improve error message for incompatible swc plugins: #86346
- Update Rspack development test manifest: #88301
- Update Rspack production test manifest: #88300
- Stats Action: Add ready in time: #88283
- fix: skip stats-aggregate job for docs-only changes: #88330
- docs: add PR description guidance to AGENTS.md: #88408
- ci: Fix retry comments in workflow files: #88412
- [test] Deflake
test/integration/invalid-custom-routes/test/index.test.ts: #88416 - [test] Remove rogue debug log: #88423
- Update AGENTS.md with PR template and test generation requirements: #88417
- Add .cursor/worktrees.json configuration: #88415
- docs: add guidance for code block highlight line numbers to AGENTS.md: #88430
- [turbopack] Compute transitive side effects and use them to trim imports: #86675
- fix(turbo-tasks-backend): use correct TaskDataCategory for is_immutable check: #88331
- perf(turbo-tasks-backend): use DefaultStorage for AggregationNumber to save memory: #88336
- [Turbopack] Move DirList to its own module: #88256
- docs: add rebuild guidance and ICE troubleshooting to AGENTS.md: #88337
- Type-check
run-tests.jsand remove unusedrelatedflag: #88433 - [test] Remove obsolete reference to
NEXT_TEST_SKIP_RETRY_MANIFEST: #88434 - Revert "[Turbopack] Move DirList to its own module": #88441
- [scripts] Avoid conflicting type for
pack-next --compress: #88439 - Update Rspack production test manifest: #88403
- Update Rspack development test manifest: #88404
- [test] Always run all tests without aborting on failure: #88435
- Turbopack: remove sourcemapping comments: #88217
- Turbopack: use mimalloc on Linux musl: #88426
- Turbopack: add support for selective reads of keyed cell values: #88303
- Turbopack: Reduce usage of parse_quote in turbo-tasks-macros: #88454
- Turbopack: don't cell in async map: #88473
- Turbopack: replace is_reference_used with unused_references set: #88304
- Turbopack: add lint rule to not cell in async map: #88474
- Turbopack: Remove dead generic_type_macro code: #88455
- Turbopack: remove unused code: #88497
- Turbopack: improve cell order lint rule: #88498
- Turbopack: parallelize making dependent tasks dirty: #86755
- Turbopack: fix bad performance edge case in production chunking: #88508
- Remove
lerna bootstrapfrom thecleanscript in package.json: #88527 - Turbopack: Clean up
VcRead::Reprassociated type: #88456 - [cna] Avoid error with out-of-box Netlify config: #88546
- [turbopack] Move some of the logic for issue filtering into the rust layer: #88511
- Update Rspack production test manifest: #88469
- Update Rspack development test manifest: #88470
- feat: add TaskStorage derive macro and schema infrastructure: #88338
- [ci] Don't retry/notify for failed deploy tests with custom tarball URLs: #88576
- fix(turbopack): Collect
declare global {}inVarDeclWithTsDeclareCollector: #88568 - Update labeler.json: #88591
- Fix optional
parent_task_idcompile failure w/tokio_tracingenabled: #88598 - Turbopack: support disabling tsconfig lookup: #88529
- Turbopack: run tasks with priority based on distance to leaf: #87662
- Turbopack: avoid removing cells for erroring tasks: #88305
- [ci] Use native
concurrencyfeature in build-and-test: #87287 - Turbopack: unflake unit test: #88620
- Turbopack: snapshot the ModuleGraph to avoid (eventual) inconsistent graphs: #88340
- Turbopack: Consistency for compute_async_module_info: #88409
- Turbopack: follow tracing spans through aggregation update queue: #88410
- Turbopack: avoid chunk_item_id task and use selective cell access instead: #88411
- Turbopack: MappedReadRef should be Send and Sync: #88558
- Turbopack: selective read for module_chunk_groups in ChunkGroupInfo: #88559
- Turbopack: use selective reads for merged modules: #88560
- Turbopack: add caching to chunking: #88561
- Turbopack: use bugs.nextjs.org for Turbopack panic error reports: #88356
- Turbopack: docs: condition.query will ship in 16.2.0, not 16.1.1: #88663
- [turbopack] Add bundling support for worker_threads: #87746
- [cna] Ensure created app is not considered the workspace root in pnpm: #88647
- Revert "[turbopack] Add bundling support for worker_threads": #88725
- [ci] Enable Turborepo remote caching in e2e release deploy tests: #88746
- [test] Deflake
test/development/app-dir/browser-log-forwarding/fixtures/verbose-level/verbose-level.test.ts: #88754 - Fix
Build Commandssection in AGENTS.md: #88757 - [test] Deflake
test/development/app-dir/hydration-error-count/hydration-error-count.test.ts: #88749 - [ci] Exclude
test/productionfrom deploy tests: #88763 - Apply
buildArgsalso for deploy tests (viapackage.json): #88731 - [ci] Ensure Turbo Remote Cache can be written to: #88794
- perf(turbopack): optimize resolve plugin handling: #88639
- Fix buildManifest.js deployment tests: #88806
- [ci] Merge Cache Components and deploy tests manifests when running CC deploy tests: #88824
- Turbopack: Extend filesystem watcher fuzzing to cover symlinks and junction points: #88192
- [test]: add ability to run test-deploy with pre-existing deployment: #88829
- Update deterministic-build assertion: #88820
- Turbopack: shrink amortized: #88619
- Fix deployment test due to data-dpl-id attribute: #88846
- [ci] Fix Rspack/Turbopack test manifest generation: #88845
- Turbopack: show compressed size for print_cache_item_size: #88850
- [test] Fix deploy test of
cache-components.server-action.test.ts: #88854 - Turbopack: Use a real file entrypoint for Workers (and SharedWorkers): #88602
- Turbopack: Add file write invalidation tracking to filesystem watcher fuzzing: #88665
- Turbopack: Move fuzzer for fs watcher into a separate file/module: #88666
- Turbopack: Add a stress test / fuzzer that tries creating many symlinks in a tight loop: #88667
- Turbopack: Make the priority_runner testcase deterministic: #88651
- Turbopack: Various cleanup for turbo-tasks-fs, mostly retry logic and string formatting: #88668
- Turbopack: Tweak retry loop for link creation to try to fix os error 80 on Windows: #88669
- feat: Replace InnerStorage with the generated TaskStorage struct: #88355
- Turbopack: Use webpki-root-certs in addition to rustls-platform-verifier on Linux for bare-bones Linux images without root CA stores: #88869
- refactor: migrate to typed accessors and remove CachedDataItem adapter: #88397
- docs: add skill for updating Next.js documentation: #88656
- Turbopack: [chore] Fix Rust check warnings: #88871
- Create-next-app update message: #88706
- Turbopack: Fix next/font preloading for page.mdx: #88848
- Update Rspack production test manifest: #88882
- [test] Skip failing deploy test in
searchparams-reuse-loading.test.ts: #88821 - [test] Skip flaky
prefetch-runtimetests for deploy tests: #88826 - remove gt workflow from agents.md: #88918
- Turbopack: refactor data storage to avoid reverse task cache: #88492
- Turbopack: change invalidator and immutable to data category: #88889
- Turbopack: reduce cache size: #88929
- fix typo: #88934
- Turbopack: improve module type error message: #88815
- Turbopack: improve selective read support to allow
Equivalentkeys: #88760 - Turbopack: add indirection layer for better caching during resolving: #80062
- Add Graphite workflow Cursor command: #88939
- Update Rspack production test manifest: #88930
- Update Rspack development test manifest: #88931
- Improve performance and token usage of
/ci-failurescommand: #88960 - [Turbopack] Use a presized scratch buffer for task encoding: #88924
- Update Rspack development test manifest: #89004
- Update Rspack production test manifest: #89003
- Turbopack: remove Asset supertrait from Module trait. Modules don't have content: #86416
- [test] Improve deployment skew test for Pages Router data routes: #89038
- Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping: #88775
- Fix reset deploy project script: #89001
- Revert "Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping": #89073
- /pr-status (former /ci-failures): fetch PR reviews too: #89082
- Improve /pr-status: comments, argument, avoid full log: #89092
- chore(ci): rename 'new tests' jobs to 'new and changed tests': #89054
- [ci] Exclude tests by filename when merging manifests: #89093
- Turbopack: import with type should be handled via condition: #89035
- Enable pnpm dependency caching in e2e deploy tests: #88953
- [ci] Make
gh auth statusoptional when triggering a release: #89098 - Update Rspack development test manifest: #89084
- tweak LRU sentinel cache key: #89123
- Turbopack: allow key block without hash in SST files: #88938
- Turbopack: Remove unused argument: #80235
- Prettier-ignore changes in
next-env.d.tsfiles in all top-level apps: #89176 - Turbopack: warn when tracing the whole project: #89157
- Add full adapters E2E tests to workflow: #89125
- Update Rspack production test manifest: #89147
- Fix @next/routing for i18n api and dynamic routes: #89197
- Remove Vercel specific assertions from E2E deploy: #89198
- Add custom deploy and logs env for next-deploy: #89206
- Turbopack: change AsyncModulesInfo to use keyed reads: #89216
- Turbopack: selective reads of defined env vars in module analysis: #88759
- Turbopack: fix tracking modifications for transient and data: #89228
- [ci] Clear Jest transform cache: #89247
- Turbopack: Make the globals we pass to workers configurable: #88773
- Accept deploy script and log script as inputs: #89253
- [turbopack] mark persistent_task_type as inline: #89185
- [test] Add test suite name for Tests failures table: #89258
- refactor: Improve templates layout flexibility: #89245
- test: add client-cache.defaults failing deploy test: #89242
- test: add resume-data-cache failing deploy test: #89243
- [turbopack] Make shrinking logic declarative and optimize for immutable tasks: #89222
- Turbopack: Trace task modifications: #89229
- Turbopack: refactor extend transforms: #89116
- Turbopack: improve print_cache_item_size: #89279
- Update Rspack development test manifest: #89278
- Update Rspack production test manifest: #89277
- Improve consistency of how Flag typed fields are handled in the macro to more structurally prevent bugs like what was fixed in #89228: #89255
- Add failing test to deploy-tests-manifest: #89318
- Apply server actions transform to
node_modulesin route handlers: #89316 - [test] Deflake
browser-log-forwarding verbose leveltest suite: #89324 - Turbopack: Move PrettyPrintError to turbo_tasks and add tests: #89280
- Update Rspack production test manifest: #89372
- Update Rspack development test manifest: #89371
- TURBOPACK: support chunk_loading_global method: #88790
- Don't upload build cache for deployment tests: #89432
- Add separate E2E deploy env for turbopack tests: #89458
- Turbopack: Symbol.for and keyFor are sideeffect-free: #89454
- Update Rspack production test manifest: #89423
- Update Rspack development test manifest: #89424
- Turbopack: improve suggestions for experimental.reportSystemEnvInlining: #89486
- Add experimental flag to expose testing API in production builds: #89499
- Proper e2e test of function determinism: #88908
- Turbopack: add turbo-persistence benchmark: #89446
- Proper e2e test of function determinism - adapter: #89522
- [test] consolidate the browser log test: #89601
- Fix flaky turbo cache pull with retries and graceful fallback: #89575
- Turbopack: Pass globals to node.js workers as well: #89261
- Upgrade rustc to 2026-02-05: #89591
- Update metadata assertions: #89625
- Update vercel CLI version in flakey deployment-id test: #89652
- Turbopack: remove unneeded benchmarks: #89592
- Turbopack Persistence: Remove amqf cache, store all amqfs in memory: #89562
- Add inline value support for small values (≤8 bytes): #89271
- [turbopack] remove the
_backendfield from TaskGuardImpl: #89015 - [Turbopack] Include CSS URL attributes, including Layer, Media and Supports: #89300
- docs: add task decomposition and verification guidelines: #89640
- Turbopack: Remove old
Vc::try_resolve_*methods in favor of theResolvedVcalternatives: #89696 - Fix reset-project script for E2E deploy tests: #89693
- feat: move font variables to html in create-next-app: #89632
- reduce the number of shards on small systems: #89731
- Update Rspack production test manifest: #89701
- Update Rspack development test manifest: #89702
- [test] Add regression test for segment cache prefetch memory leak: #89756
- Improve not-found-with-pages test: #89538
- Update flakey E2E deploy tests: #89792
- Update flakey E2E deploy tests no-prefetch: #89799
- Update Rspack production test manifest: #89741
- Fix devlow job timeouts: #89804
- Update Rspack development test manifest: #89740
- Turbopack Persistence: Improve heuristic for compacted database access: #89497
- Turbopack: remove ChunkableModuleReference trait: #89745
- docs: improve Graphite workflow documentation: #89488
- Remove --turbopack and --webpack flags from create-next-app: #89706
- Turbopack: make routes hashes mainfest more incremental: #87107
- [test] Remove references to removed, internal PPR environment variable: #89832
- [test] Enable scroll related tests in Cache Component tests: #83245
- docs: update adapter docs for routing, handlers, and PPR: #89849
- [test] Ensure new deploy test builds have the necessary env variables: #89846
- test: allow dpl query suffix in scss url-global expectation: #89856
- test: stabilize app-dir hash navigation RSC assertion: #89867
- Turbopack: Clean up unused register!() macro argument in test: #89869
- test: allow query suffix in related media URL e2e assertions: #89872
- Update Rspack development test manifest: #89811
- Turbopack: Store task error as pointer to the source error: #89293
- Turbopack: Pass asset_suffix_path as Vc: #89899
- [turbopack] Simplify JS
ChunkItemwith a single impl in most cases: #89548 - Change UrlBehavior.static_suffix to ResolvedVc<Option
>: #89921 - [turbopack] Add #[derive(ValueToString)] and convert ~45 manual impls: #89788
- Turbopack hmr: fix missing factories: #89934
- Next-api: Check
client_source_mapsbefore generate source map: #89915 - Upgrade to swc 56: #89111
- Turbopack: fix CSS dependency locations: #89761
- Enable backtraces in turbopack integration tests: #89935
- Turbopack: Use
std::any::type_namefor global naming of turbo-task items: #89874 - [turbopack] use type_ids to register turbo task traits on value types: #89964
- Turbopack: Fix flake in task_statistics unit test: #89981
- Turbopack hmr: preserve group factory consistency for compressed modules: #89976
- chore: Don't run build-and-deploy CI job on graphite-base branches: #89982
- Turbopack: Update trybuild test dependency from 1.0.104 to 1.0.116: #89986
- test: Isolate read-only-source-hmr test: #86721
- Upgrade Lightning CSS: #88789
- fix(turbopack): --debug-build-paths fails with route groups: #89336
- test: scope e2e timeouts to startup and per-it: #89929
- Always set adapter deploy env variable: #90064
- [turbopack] Fix some modification tracking bugs in TaskStorage: #89708
- bench: render-pipeline benchmarks and stress routes (2/8): #89863
- [turbopack] fix our verify features in turbo-tasks backend: #90013
- Refactor factory not available error message generation: #89897
- [turbopack] Followup for
#[derive(ValueToString)]: #89936 - Revert "[turbopack] Fix some modification tracking bugs in TaskStorage": #90096
- Disable jest cache for CI instead of wiping: #90097
- next-stats-action: avoid pnpm EXDEV during stats installs: #90100
- [turbopack] Run the deployment tests for turbopack and webpack: #84360
- ci: only cancel pull_request_stats on PR updates: #90104
- [Instant] test: remove unnecessary reactDebugChannel permutation: #90103
- [test] Replace flaky webpack snapshots in
cache-components-errors: #90105 - Upgrade to swc 57: #90084
- [turbopack] Fix concurrent task lock panic during error formatting: #90056
- Reland "[turbopack] Fix some modification tracking bugs in TaskStorage": #90098
- refactor: fix non-determinism in resolve package: #90058
- Update Rspack development test manifest: #90074
- Update Rspack production test manifest: #90073
- test: extend production-browser-sourcemaps test: #89945
- Turbopack: use file_content.hash() consistently: #90078
- [test] Current behavior of focus after
next/linknavigation: #89959 - Turbopack: Enable tree-shaking for dynamic imports with destructuring: #89683
- test: Don't run integration tests twice for Turbopack : #83335
- Simplify how
jsonimports work by turning it into a source transform: #89631 - Update Rspack production test manifest: #90120
- Update Rspack development test manifest: #90121
- Turbopack: Update rust toolchain to nightly-2026-02-18: #89974
- Turbopack: Derive
DefaultonPartialProjectOptions, remove sillypartial_project_options_with_debug_build_pathshelper: #90170 - Turbopack: document ModuleSideEffects better: #90132
- [ci]: pin styled-components version in tests: #90194
- [turbopack] Add a simple tool to inspect serialized SST files and report on their contents: #89310
- Upgrade React from
4842fbea-20260217to2ba30655-20260219: #90211 - [test] Improve fetch timeout error stack for
act: #90261 - Turbopack: add Rope.content_hash and SHA hashing: #90235
- [instant] Handle more instant declaration patterns: #90251
- [sync-react] Allow syncing React with local build: #90277
- Add PR tarball install note to stats comment: #90316
- Bump Turborepo to 2.8.9: #90079
- Update wasm and next-custom-transforms crates to Rust edition 2024: #90350
- Turbopack: refactoring to prepare for name mangling: #89406
- Turbopack: Aggregation update improvements: #90139
- [ci] Stop linting auto-generated next-swc typings: #90390
- Add more known folders to is-folder-empty check in create-next-app: #88218
- [ci] Always upload Turborepo summary artifact: #90441
- tests: reenable escheck-output: #90423
- [test] Deflake
typed-routes-validatorusingtsc: #90451 - test: Cleanup and refactoring: #90454
- [turbopack] Make compression in SST files optional: #89309
- [test] Only auto-retry individual e2e tests in CI: #90464
- Update Rspack production test manifest: #90412
- Update Rspack development test manifest: #90413
- Add @next/playwright package with instant() testing helper: #90470
- [turbopack] Reduce memory usage during compaction: #90229
- [sync-react] Allow syncing from a React commit: #90283
- Turbopack: Add line numbers to debug info in release-with-assertions profile: #90474
- Turbopack: emit env_diff span attribute for update: #90466
- test: unflake lru-disk-eviction on Windows: #90465
- test: Improve test assertions to prepare for dpl query string: #90463
- [test] Fix flaky "delay re-prefetch after revalidation" test: #90503
- Revert "Turbopack: Add line numbers to debug info in release-with-assertions profile (#90474)": #90525
- Bump Turborepo to 2.8.11: #90530
- Turbopack: Move turbopack out of
pnpm buildand into apnpm build-allcommand: #90543 - Remove revalidation settling period from router-act: #90531
- Turbopack: add webpack loader names to traces: #87230
- Replace mark_root() with #[turbo_tasks::function(root)] flag: #90512
- [test] Deflake
typed-routes-validator: #90562 - [test] Remove
getStackFramesContent: #90571 - Replace
testonlytotestheadlessin AGENTS.md: #90578 - [test] Include error code in Redbox snapshot: #90497
- Turbopack: Add TransientEnvMap to avoid persisting env vars in cache: #90526
- Turbopack: add Xxh3Hash128Hasher: #90584
- [test] Fix error code snapshots when testing with React 18: #90593
- Turbopack: use xxhash3_128 for content hashes: #90583
- test: remove stray TURBOPACK_BUILD=1: #90602
- Update Rspack development test manifest: #90566
- Update Rspack production test manifest: #90565
- [ci] Use
NEXT_TEST_CIinstead ofCIfor e2e test retry guard: #90606 - [test] Skip failing segment-cache deploy test: #90601
- turbo-persistence: drop key compression dictionary from SST files: #90608
- Pre-warm a single NodeJS instance when the next devserver starts: #90174
- Turbopack server HMR: inline source maps for
evaled modules: #90561 - test: Run Adapter e2e tests with Turbopack instead: #90600
- Add MemorySample to Turbopack trace infrastructure: #90597
- Use
VisitMutinstead ofFoldfor debug_instant_stack transform: #90274 - Ensure we only run main test mode with custom deploy script: #90665
- Centralize test timings to fix shard divergence in CI: #90672
- tests: Fix immutableAssetToken extraction: #90668
- turbo-persistence: streaming SST writer for reduced memory usage: #90617
- Add custom cleanup script support for deploy tests: #90696
- Use commit-based tarball URL in PR stats comment: #90709
- [ci] Use commit instead of PR number for preview builds in deploy tests: #90722
- Fix ENOBUFS errors in pr-status.js when fetching large CI logs: #90654
- Publish @next/playwright to npm as part of canary releases: #90738
- Update Rspack development test manifest: #90751
- Update Rspack production test manifest: #90750
- Turbopack: improve cell order lint rule for TraitRef::cell: #90756
- Add determinism test for static shell with asset preload headers: #89826
- Add static error when
unstable_instantis used withoutcacheComponents: #90793 - enable server action RDC deploy test: #90796
- turbo-persistence: StreamingSstWriter performance and readability improvements: #90692
- pr-status: add reply-thread and resolve-thread subcommands: #90773
- [turbopack] Don't schedule idle snapshots when we are in a short session: #90804
- Update Rust dependencies for turbo-persistence and turbo-tasks-backend: #90774
- Add support for multi-valued tables: #89728
- pr-status: add --wait flag and background execution for /pr-status command: #90687
- exempt data URL CSS from Pages Router global CSS restriction: #89901
- turbo-persistence: add CRC32 block checksums: #90754
- Remove unused turbo-tasks items and add lint check: #90801
- Fix missing const generic parameter in turbo-persistence lookup call: #90817
- Turbopack: add anyhow::Context to turbo-persistence mmap, file open, and decompress operations: #90769
- Update Rspack development test manifest: #90805
- Avoid using TaskTypes as keys in storage instead use hashes: #88904
- Remove leaf segment force-refetch check: #90836
- [turbopack] add a new hasher implementation to eliminate allocations: #89059
- Show labeled steps for
instant()test helper in the Playwright UI: #90664 - [turbotask] Make turbotask function registration const: #90797
- Turbopack: turbofmt/turbobail macros: #90092
- Add Err(anyhow(... ast-grep rule: #90869
- Turbopack: allow resolving TS files in tailwind config: #90046
- Unify Node and Edge externals list: #90819
- chore: add aurorascharff to devex team labeler config: #90866
- Update Rspack production test manifest: #90857
- Update Rspack development test manifest: #90858
- [ci]: continue-on-error for more gh auth status checks: #90890
- Cleanup non-generic assertions in our deploy test suite: #90894
- Turbopack: Tree shaking fixes and code organization: #89295
- tests: Use pnpm dlx to install latest CLI version: #90923
- Turbopack: Fix some eventually consistent reads at the top level in dev-server and snapshot tests: #90792
- Turbopack: Annotate ReadVcFuture as must_use instead of annotating functions that return it: #90839
- Prefix pr-status replies with :robot: emoji: #90943
- Set DontFork and Unmergeable on all mmap sites in turbo-persistence: #90941
- Turbopack: CompileTimeDefineValue numbers and regex: #90934
- Turbopack: pass reference type to CustomModuleType: #90814
- Fix preview version in
window.next.versionfor PR builds: #90937 - [Evals] Standardize Evals in Next.js: #90883
- TURBOPACK: alias resolve lost query param: #88891
- Update Rspack development test manifest: #90969
- Turbopack: Make
ReadVcFuture::strongly_consistentprivate: #90843 - Fix next-routing header interpolation: #91010
- Turbopack: accept ChunkGroup in entry_chunk_group: #90821
- Turbopack: show specific SWC error messages as error titles: #91022
- Turbopack: correctly use ChunkGroup::Shared: #90978
- Add script to patch project with preview tarball URLs: #91057
- Fix pr-status script missing failed jobs on page 2+ of API results: #91087
- Turbopack: don't panic due to eventual consistency in module merging: #91088
- fix: run lerna on a branch: #91092
- Fix preview tarball script to include @next/swc-linux-x64-gnu: #91099
- Improve unsafe code safety documentation in turbo-tasks-backend: #90755
- docs(contributing): Update setup in contributing/core/developing.md: #91018
- Turbopack: Pass hmr_enabled to ImportMetaBinding: #91118
- docs(turbopack): Copy over turbopack-trace-server docs: #91111
- Turbopack: introduce
ReferenceTypeCondition: #91101 - fix: Use a pnpm preinstall script to fix catch-22 in next binary creation: #91016
- Exclude partial fallback for deploy mode: #91163
- [turbopack] Add support for fixed key blocks: #90844
- [turbopack] Encode task storage directly during persistence (skip clone): #89412
- [turbopack] hashing improvements to turbo-persistence: #90936
- [turbopack] Move empty snapshot filtering into take_snapshot: #90166
- docs(turbopack): Merge old turbo-tasks concept mdbook page with crate's top-level rustdoc: #91120
- Add RDC action test to deploy manifest and update PR test trigger: #91173
- [Turbopack] Don't attempt to compress key blocks containing small keys: #90881
- Lint against
.context(format!(...)): #91122 - fix(turbopack): unref ThreadsafeFunctions to allow Node.js exit after build: #91107
- remove worktrees accidentally committed in #90166: #91215
- Fix syntax contexts in server action transform: #91210
- docs(turbopack): Merge the contents of the "cells" page in the mdbook with our rustdocs: #91126
- TURBOPACK: typescript transform support verbatimModuleSyntax: #90907
- [ci] Disable test-level retries during flakiness detection: #91261
- [cna] Bump vendored
json-schema-types: #91255 - Remove sequential madvise for compressed blocks in StaticSortedFile: #91263
- docs(turbopack): Move mdbook "tasks" docs over to
turbo_tasks::functionrustdoc: #91132 - test-new-tests: enable adapter in deploy flow: #91269
- Revert "Exclude partial fallback for deploy mode": #91172
- [test] Properly log
framereceivedpayload: #91266 - docs(turbopack): Merge task input docs from mdbook into rustdocs: #91136
- bundle-analyzer: merge _app route modules into current route visualization: #90841
- docs(turbopack): Migrate docs about traits from mdbook to rustdocs: #91170
- Remove LMDB backend and ReadTransaction abstractions from turbo-tasks-backend: #91284
- docs(turbopack): Move singleton pattern documentation from mdbook to rustdoc: #91175
- Turbopack: rename CSS module structs for clarity: #91304
- [test] Deflake
instant-navs-devtools: #91256 - Delete blob files during compaction when entries are superseded: #91314
- [test] Resolve stale merge issues: #91329
- Turbopack: Remove the IntoTraitRef trait, make it an inherent method on Vc: #91223
- re-enable RDC deployment tests: #91327
- Use keyed cells for used_exports and export_circuit_breakers in BindingUsageInfo: #91306
- [test] Show decoded binary WebSocket messages in traces: #91308
- Docs skills: guide and api-reference: #90992
- Turbopack: switch chunk/asset hashes from hex to base40 encoding: #91137
- Turbopack: don't emit polyfill chunk for API routes: #91331
- [test] Current behavior for request APIs in
generateStaticParams: #91188 - Update Rspack production test manifest: #91301
- Update Rspack development test manifest: #91300
- Turbopack: Remove old macos-compress script: #90967
- disable sub shell generation test outside of adapter: #91353
- Turboopack: put import attributes behind a pointer, 23% faster analyze: #91347
- Turbopack:
require(/* turbopackChunkingType: parallel */: #91278 - Turbopack: use keyed cell access for AsyncModulesInfo: #91305
- Enable thin LTO for release builds: #91343
- [turbopack] const-ify most of the registration code: #90868
- [test] Improve actions-tree-shaking tests: #91326
- Move database compaction from write batch commit to backend idle loop: #91258
- Turbopack: use ChunkGroupEntry::Shared, part 2: #91279
- [test] More
instant-navs-devtoolsdeflaking: #91345 - Turbopack: Enable server HMR by default for app pages: #91476
- Allow blocking cross-site dev-only websocket connections from privacy sensitive origins: #91479
- Fix DataUriSource description to include "data:" prefix: #91455
- Deflake per-page dynamic stale time test: #91492
- Improve RSC error messages: #90702
- Improve CSS parse error recovery and reporting: #90025
- perf(turbopack-node): zero-copy Buffer transfer from node to rust: #91376
- docs(turbopack-core): Copy "layers" documentation from mdbook to rustdoc: #91350
- Turbopack: correctly apply effects for issue snapshots: #91511
- Turbopack: treat unknown CSS selectors as warnings: #91513
- docs(turbopack): Migrate chunking docs from mdbook, with proof-reading and minor updates from claude: #91472
- Skip catch-error-react-compiler test to unblock CI: #91528
- [turbopack] update qfilter to 0.3.0-alpha: #91467
- Unflake two
"use cache"tests: #91529 - docs(turbopack): Remove old
architecture.mdfile from turbopack crate: #91473 - [turbopack] Share scratch buffer across shards using thread local: #90167
- Turbopack: Use
debug = "line-tables-only"for dev builds: #91539 - Unflake router events deploy test: #91589
Credits
Huge thanks to @icyJoseph, @nextjs-bot, @sokra, @Juneezee, @delbaoliveira, @wbinnssmith, @ztanner, @lukesandberg, @bgw, @naveenkarmegam, @Marukome0743, @pji2918, @nathannewyen, @eps1lon, @ijjk, @feedthejim, @vercel-release-bot, @xusd320, @huozhi, @mischnic, @wyattjoh, @styfle, @timneutkens, @unstubbable, @lubieowoce, @gnoff, @acdlite, @Rani367, @andrewimm, @brookemosby, @karlhorky, @kdy1, @mmastrac, @naaa760, @jgeschwendt, @williambout, @SimeonGriggs, @gaojude, @hanzala-sohrab, @dango0812, @msmx-mnakagawa, @davidgolden, @LucianBuzzo, @devjiwonchoi, @alexcarpenter, @jaffarkeikei, @BradErz, @mintydev789, @Suhaib3100, @pavan-sh, @amannn, @fireairforce, @JamBalaya56562, @wheresrhys, @ericrav, @Thomas465xd, @bgub, @Netail, @robert-j-webb, @bencmbrook, @shadcn, @sigmachirality, @abhishekmardiya, @vvscode, @freek-boon-greenberry, @alubbe, @FurryR, @01-binary, @andrewdamelio, @swarnava, @kristiyan-velkov, @haydenbleasel, @rishishanbhag, @tdarthur, @lavanitha, @agneliutkiene, @Mimori256, @pieh, @sleitor, @jantimon, @clicktodev, @mitul-s, @aurorascharff, @shuding, @jonasherr, @thdxg, @kowyo, @samselikoff, @dependabot, @benfavre, @zamadye, @cursor, and @richardjzhang for helping!
Core Changes
- Turbopack: Merge release-with-assertions-no-lto profile into release-with-assertions: #91530
- improve allowedDevOrigins error: #91521
- Add group depth tracking to instant validation boundary discovery: #91208
Misc Changes
- [turbopack] Share scratch buffer across shards using thread local: #90167
- Turbopack: Use
debug = "line-tables-only"for dev builds: #91539 - SRI turbopack documentation: #90477
Credits
Huge thanks to @lukesandberg, @bgw, @ztanner, @gnoff, and @richardjzhang for helping!
Core Changes
- Error when accessing undefined root params in
generateStaticParams: #91519 - Buffer prefetch response before passing to Flight client: #91487
- [Segment Cache] Always upsert on prefetch completion: #91488
- Track vary params during runtime prefetches: #89297
- [react-sync] Allow locking in manual sync: #91509
- Remove devCacheControlNoCache experimental option (hard-code no-cache): #91503
- fix allowedDevOrigins for no-cors requests: #91506
- Remove webpack stats generation from Turbopack: #91515
- Upgrade React from
c80a0750-20260312to3f0b9e61-20260317: #91522 - Move adapterPath from experimental to stable top-level config: #91535
- block disallowed dev origins by default: #91507
Misc Changes
- perf(turbopack-node): zero-copy Buffer transfer from node to rust: #91376
- docs(turbopack-core): Copy "layers" documentation from mdbook to rustdoc: #91350
- Turbopack: correctly apply effects for issue snapshots: #91511
- Turbopack: treat unknown CSS selectors as warnings: #91513
- docs(turbopack): Migrate chunking docs from mdbook, with proof-reading and minor updates from claude: #91472
- Skip catch-error-react-compiler test to unblock CI: #91528
- [turbopack] update qfilter to 0.3.0-alpha: #91467
- Unflake two
"use cache"tests: #91529 - docs(turbopack): Remove old
architecture.mdfile from turbopack crate: #91473
Credits
Huge thanks to @xusd320, @bgw, @mischnic, @unstubbable, @acdlite, @eps1lon, @devjiwonchoi, @lukesandberg, @sokra, @ztanner, and @timneutkens for helping!
Core Changes
- docs(turbopack): Fix all warnings in
cargo doc --no-deps --workspace, and run rustdoc as part of our CI checks: #91339 - Patch improvements into
http-proxylib: #91480 - Disallow Server Action submissions from privacy-sensitive contexts: #91478
- Fix startup warmup for empty-shell app route cache: #91470
- Fix
unstable_catchErrortype inference for fallback props: #91485 - Support accessing root params in
"use cache"functions: #91191 - Fix inconsistent cache life/tags propagation for cache handler hits: #91454
- Upgrade React from
5e9eedb5-20260312toc80a0750-20260312: #91324
Misc Changes
- Turbopack: Enable server HMR by default for app pages: #91476
- Allow blocking cross-site dev-only websocket connections from privacy sensitive origins: #91479
- Fix DataUriSource description to include "data:" prefix: #91455
- Deflake per-page dynamic stale time test: #91492
- Improve RSC error messages: #90702
- docs:
unstable_catchError(): #89847 - Improve CSS parse error recovery and reporting: #90025
Credits
Huge thanks to @wbinnssmith, @bgw, @ztanner, @gnoff, @sokra, @devjiwonchoi, @unstubbable, and @acdlite for helping!
Core Changes
- fix: test-cargo-unit CI job timing out since LTO was enabled: #91424
Credits
Huge thanks to @lukesandberg for helping!
Core Changes
- Add eval and docs for unstable_instant: #91334
- Simplify scroll restoration with shared ScrollRef on CacheNode: #91348
Misc Changes
- disable sub shell generation test outside of adapter: #91353
- Turboopack: put import attributes behind a pointer, 23% faster analyze: #91347
- Turbopack:
require(/* turbopackChunkingType: parallel */: #91278 - Turbopack: use keyed cell access for AsyncModulesInfo: #91305
- Enable thin LTO for release builds: #91343
- [turbopack] const-ify most of the registration code: #90868
Credits
Huge thanks to @gaojude, @ztanner, @mischnic, @acdlite, @sokra, and @mmastrac for helping!
Core Changes
- partial fallbacks: only upgrade shells with remaining prerenderable params: #91158
- partial fallbacks: complete generic shells into more specific shells: #91231
Misc Changes
- Turbopack: Remove old macos-compress script: #90967
- docs: remove incorrect _document.tsx font example: #91346
Credits
Huge thanks to @bgw, @ztanner, and @zamadye for helping!
Core Changes
- Expose edge runtime fields in build-complete: #91239
- [turbopack] Remove
turbo_tasks::functionfrom ModuleReference getters: #91229 - [Turbopack] write route bundle stats to .next/diagnostics/route-bundle-stats.json: #90949
Misc Changes
- re-enable RDC deployment tests: #91327
- Use keyed cells for used_exports and export_circuit_breakers in BindingUsageInfo: #91306
- [test] Show decoded binary WebSocket messages in traces: #91308
- Docs skills: guide and api-reference: #90992
- Turbopack: switch chunk/asset hashes from hex to base40 encoding: #91137
- Turbopack: don't emit polyfill chunk for API routes: #91331
- [test] Current behavior for request APIs in
generateStaticParams: #91188 - Update Rspack production test manifest: #91301
- Update Rspack development test manifest: #91300
Credits
Huge thanks to @ztanner, @ijjk, @sokra, @lukesandberg, @eps1lon, @delbaoliveira, @mischnic, @unstubbable, @vercel-release-bot, and @wbinnssmith for helping!
Core Changes
- perf: use Buffer.from for base64 encoding of binary Flight data: #91221
- Skip dimming when
--inspectis used: #91271 - Respect
generateStaticParamsin instant navigation shell: #91316 - [Prefetch Inlining] Generate size-based hints on server: #90891
- Wire cache handlers in edge paths and add e2e regression coverage: #91236
Misc Changes
- docs(turbopack): Move singleton pattern documentation from mdbook to rustdoc: #91175
- Docs: Split route segment config options into their own files: #90991
- Turbopack: rename CSS module structs for clarity: #91304
- [test] Deflake
instant-navs-devtools: #91256 - Expose resolved invocation targets in next-routing: #91242
- Delete blob files during compaction when entries are superseded: #91314
- [test] Resolve stale merge issues: #91329
- Turbopack: Remove the IntoTraitRef trait, make it an inherent method on Vc: #91223
Credits
Huge thanks to @bgw, @delbaoliveira, @benfavre, @unstubbable, @mischnic, @acdlite, @eps1lon, @ijjk, and @sokra for helping!
Core Changes
- chore(deps): Bump tar from 7.5.7 to 7.5.11 in /packages/next: #91233
- Upgrade React from
46103596-20260305to5e9eedb5-20260312: #91272 - feat(server): expose requestMeta router helpers and merge fallback context: #91235
- [Instant] Show owner stack for validation-blocking errors: #91277
- Hydrate page loads during instant navigation testing: #91207
Misc Changes
- docs(turbopack): Move mdbook "tasks" docs over to
turbo_tasks::functionrustdoc: #91132 - test-new-tests: enable adapter in deploy flow: #91269
- Revert "Exclude partial fallback for deploy mode": #91172
- [test] Properly log
framereceivedpayload: #91266 - docs(turbopack): Merge task input docs from mdbook into rustdocs: #91136
- bundle-analyzer: merge _app route modules into current route visualization: #90841
- docs(turbopack): Migrate docs about traits from mdbook to rustdocs: #91170
- Remove LMDB backend and ReadTransaction abstractions from turbo-tasks-backend: #91284
Credits
Huge thanks to @bgw, @ijjk, @ztanner, @eps1lon, @lubieowoce, @wbinnssmith, @acdlite, and @lukesandberg for helping!
Core Changes
- [cna] Bump
picocolorsto 1.1.1: #91252 - [Instant] Build-time validation: #90964
- [Instant] fix instant config suggested by editor plugin: #91262
Misc Changes
- TURBOPACK: typescript transform support verbatimModuleSyntax: #90907
- [ci] Disable test-level retries during flakiness detection: #91261
- [cna] Bump vendored
json-schema-types: #91255 - Remove sequential madvise for compressed blocks in StaticSortedFile: #91263
Credits
Huge thanks to @fireairforce, @eps1lon, @lubieowoce, and @sokra for helping!
Core Changes
- Adds a Start button to the Instant Navs panel to initiate inspection …: #91216
- Preserve RSC metadata in Proxy request with skipProxyUrlNormalize: #91213
Misc Changes
- fix(turbopack): unref ThreadsafeFunctions to allow Node.js exit after build: #91107
- remove worktrees accidentally committed in #90166: #91215
- Fix syntax contexts in server action transform: #91210
- docs(turbopack): Merge the contents of the "cells" page in the mdbook with our rustdocs: #91126
Credits
Huge thanks to @xusd320, @samselikoff, @lukesandberg, @mischnic, @bgw, and @ijjk for helping!
Core Changes
- [turbopack] Render code frames on the turbopack side: #90534
- Add experimental.lightningCssFeatures config option: #90901
- fix: correct appPaths sort order for parallel routes with route groups: #91160
- Tracing: tag spans as failed if their runner fn fails: #91206
Misc Changes
- [turbopack] hashing improvements to turbo-persistence: #90936
- [turbopack] Move empty snapshot filtering into take_snapshot: #90166
- docs(turbopack): Merge old turbo-tasks concept mdbook page with crate's top-level rustdoc: #91120
- Add RDC action test to deploy manifest and update PR test trigger: #91173
- [Turbopack] Don't attempt to compress key blocks containing small keys: #90881
- Lint against
.context(format!(...)): #91122
Credits
Huge thanks to @lukesandberg, @bgw, @ijjk, @sokra, @mischnic, @timneutkens, and @wbinnssmith for helping!
Misc Changes
- [turbopack] Add support for fixed key blocks: #90844
- [turbopack] Encode task storage directly during persistence (skip clone): #89412
Credits
Huge thanks to @lukesandberg for helping!
Core Changes
- fix(css): rewrite MiniCssExtractPlugin insert function to ES5 to support legacy browsers: #90556
- Revert "Address review feedback: extract modules, clean up imports": #91159
Misc Changes
- fix: Use a pnpm preinstall script to fix catch-22 in next binary creation: #91016
- Exclude partial fallback for deploy mode: #91163
- docs: More Server Actions security guidance across docs: #90878
- docs: Streaming guide: #90779
Credits
Huge thanks to @bgw, @ijjk, @sleitor, and @icyJoseph for helping!
Core Changes
- Updates to Instant Navs devtools functionality: #91005
- Trace upload: add git and environment info: #91124
Misc Changes
- chore(docs): mention behavior of redirects and remotePatterns: #91151
Credits
Huge thanks to @samselikoff, @styfle, and @wbinnssmith for helping!
Misc Changes
- Turbopack: introduce
ReferenceTypeCondition: #91101
Credits
Huge thanks to @mischnic for helping!
Core Changes
- Improve webpack loader error messages and handling: #89698
- Turbopack: implement module.hot.accept(deps, cb) and module.hot.decline(deps): #90443
- partial fallbacks: gate behind experimental flag: #91123
- fix: app-page URL normalization: #91121
Example Changes
- example: remove duplicate items in .dockerignore: #91079
Misc Changes
- Turbopack: show specific SWC error messages as error titles: #91022
- Turbopack: correctly use ChunkGroup::Shared: #90978
- Add script to patch project with preview tarball URLs: #91057
- Fix pr-status script missing failed jobs on page 2+ of API results: #91087
- Turbopack: don't panic due to eventual consistency in module merging: #91088
- fix: run lerna on a branch: #91092
- docs(localFont): enhance details about using the localFont function: #88189
- Fix preview tarball script to include @next/swc-linux-x64-gnu: #91099
- Improve unsafe code safety documentation in turbo-tasks-backend: #90755
- docs(contributing): Update setup in contributing/core/developing.md: #91018
- Turbopack: Pass hmr_enabled to ImportMetaBinding: #91118
Credits
Huge thanks to @sokra, @mischnic, @icyJoseph, @thdxg, @kowyo, @bgw, @wbinnssmith, and @ztanner for helping!
Misc Changes
- docs: large page data error: #90920
- Fix next-routing header interpolation: #91010
- Turbopack: accept ChunkGroup in entry_chunk_group: #90821
Credits
Huge thanks to @icyJoseph, @ijjk, and @mischnic for helping!
Core Changes
- Bump Node heap limit for lint-no-typescript to avoid OOM in CI: #90996
- Upgrade React from
3bc2d414-20260304to46103596-20260305: #90989 - fix: trigger MPA navigation for server action redirects with build ID mismatch: #89946
Misc Changes
- Update Rspack development test manifest: #90969
- Turbopack: Make
ReadVcFuture::strongly_consistentprivate: #90843 - Update adapters documentation: #90986
Credits
Huge thanks to @vercel-release-bot, @bgw, @gaojude, @timneutkens, and @jonasherr for helping!
Core Changes
- Rewrite instant validation to use depth-based URL boundary discovery: #90905
- Add
experimental.cachedNavigationsfeature flag: #90928 - preserve allowQuery for partial fallback shells: #90887
- Cache runtime data for partially static pages on initial load (resume): #90888
- re-introduce partial fallback -> route upgrading: #89063
- fix: Don't fall through to catch-all when static child subtree doesn't match: #90957
Misc Changes
- Turbopack: CompileTimeDefineValue numbers and regex: #90934
- Turbopack: pass reference type to CustomModuleType: #90814
- Fix preview version in
window.next.versionfor PR builds: #90937 - docs: explain deploy test custom scripts: #90966
- [Evals] Standardize Evals in Next.js: #90883
- TURBOPACK: alias resolve lost query param: #88891
Credits
Huge thanks to @gnoff, @mischnic, @unstubbable, @ijjk, @ztanner, @gaojude, @fireairforce, and @acdlite for helping!
Misc Changes
- Set DontFork and Unmergeable on all mmap sites in turbo-persistence: #90941
Credits
Huge thanks to @sokra for helping!
Core Changes
- Add trace spans for turbopack persistence in .next/trace: #90397
- Upgrade React from
4cc5b7a9-20260303to3bc2d414-20260304: #90876 - Fix prefetch inlining build failure with dynamic routes: #90899
- Update
@vercel/ogandsatorivendors: #90933 - Batch require cache deletion to avoid quadratic scanning: #90625
- Revert legacy PPR removal: #90948
Misc Changes
- Cleanup non-generic assertions in our deploy test suite: #90894
- Turbopack: Tree shaking fixes and code organization: #89295
- Loading layout docs update: #90787
- Uncached data suspense issue: #90450
- tests: Use pnpm dlx to install latest CLI version: #90923
- Turbopack: Fix some eventually consistent reads at the top level in dev-server and snapshot tests: #90792
- Turbopack: Annotate ReadVcFuture as must_use instead of annotating functions that return it: #90839
- Prefix pr-status replies with :robot: emoji: #90943
Credits
Huge thanks to @ijjk, @lukesandberg, @sokra, @feedthejim, @icyJoseph, @mischnic, @acdlite, @shuding, @bgw, and @unstubbable for helping!
Core Changes
- Address review feedback: extract modules, clean up imports: #90813
Credits
Huge thanks to @sokra for helping!
Core Changes
- partial fallbacks: add adapter flag: #90395
Misc Changes
- [ci]: continue-on-error for more gh auth status checks: #90890
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Replace PPR config helpers with cacheComponents checks: #90704
- Cached Navigations: Cache visited fully static pages in the segment cache: #90306
- Remove
isRoutePPREnabledfrom render options and delete dead PPR branch: #90713 - Use page extensions in next-swc transforms applying to pages: #90650
- Cached Navigations: Cache static stage of partially static initial HTML: #90539
- Remove
PrerenderStorePPRtype and allprerender-pprswitch cases: #90721 - Clean up legacy PPR references in test fixtures: #90725
- Cached Navigations: Cache runtime stage data from navigation requests: #90666
- Remove legacy PPR postpone cluster: #90726
Misc Changes
- [turbotask] Make turbotask function registration const: #90797
- Turbopack: turbofmt/turbobail macros: #90092
- Add Err(anyhow(... ast-grep rule: #90869
- Turbopack: allow resolving TS files in tailwind config: #90046
- Unify Node and Edge externals list: #90819
- chore: add aurorascharff to devex team labeler config: #90866
- Update Rspack production test manifest: #90857
- Update Rspack development test manifest: #90858
Credits
Huge thanks to @mmastrac, @devjiwonchoi, @unstubbable, @eps1lon, @mischnic, @aurorascharff, and @vercel-release-bot for helping!
Core Changes
- Update default error pages: #90469
Misc Changes
- [turbopack] add a new hasher implementation to eliminate allocations: #89059
- update proxy docs to use NextProxy type: #90647
- Show labeled steps for
instant()test helper in the Playwright UI: #90664
Credits
Huge thanks to @lukesandberg, @clicktodev, @mitul-s, and @unstubbable for helping!
Misc Changes
- Update Rspack development test manifest: #90805
- Avoid using TaskTypes as keys in storage instead use hashes: #88904
- Remove leaf segment force-refetch check: #90836
Credits
Huge thanks to @vercel-release-bot, @lukesandberg, and @acdlite for helping!
Core Changes
- Refactor extractExportedConstValue to return { value } | null instead of throwing: #90510
- Reimplement code frame rendering in native code: #85592
- [devtools] Bundle for same target as Next.js browser runtime: #90762
- Upgrade React from
98ce535f-20260226to4cc5b7a9-20260303: #90827 - Add
transitionTypesprop tonext/link: #90701 - [otel] fix missing http.route attribute: #90832
Misc Changes
- turbo-persistence: add CRC32 block checksums: #90754
- Remove unused turbo-tasks items and add lint check: #90801
- Fix missing const generic parameter in turbo-persistence lookup call: #90817
- Unify caching story across the docs: #90149
- Turbopack: add anyhow::Context to turbo-persistence mmap, file open, and decompress operations: #90769
Credits
Huge thanks to @sokra, @lukesandberg, @delbaoliveira, @eps1lon, and @huozhi for helping!
Core Changes
- Stub adapterPath with experimental.runtimeServerDeploymentId: #90790
- Conditionally load uncommon paths: #90514
Misc Changes
- Add static error when
unstable_instantis used withoutcacheComponents: #90793 - enable server action RDC deploy test: #90796
- turbo-persistence: StreamingSstWriter performance and readability improvements: #90692
- pr-status: add reply-thread and resolve-thread subcommands: #90773
- [turbopack] Don't schedule idle snapshots when we are in a short session: #90804
- Update Rust dependencies for turbo-persistence and turbo-tasks-backend: #90774
- Create next app CLI docs: #90788
- Add support for multi-valued tables: #89728
- pr-status: add --wait flag and background execution for /pr-status command: #90687
- exempt data URL CSS from Pages Router global CSS restriction: #89901
Credits
Huge thanks to @gnoff, @ztanner, @sokra, @lukesandberg, @mischnic, @icyJoseph, @jantimon, and @timneutkens for helping!
Core Changes
- docs: error component
unstable_retry(): #89732
Misc Changes
- Update Rspack development test manifest: #90751
- Update Rspack production test manifest: #90750
- Turbopack: improve cell order lint rule for TraitRef::cell: #90756
- Add determinism test for static shell with asset preload headers: #89826
Credits
Huge thanks to @devjiwonchoi, @vercel-release-bot, and @mischnic for helping!
Core Changes
- fix(turbopack): use posix.join for client URL manifest paths on Windows: #90700
- Turbopack: improve cell order lint rule for ReadRef::cell: #88500
- Change names of logged times: #90688
- [devtools] Bump React Compiler version to latest experimental: #90763
- Skip writeToBfCache without window: #90771
Example Changes
- with-docker: add new config file formats: #90731
Misc Changes
- Fix ENOBUFS errors in pr-status.js when fetching large CI logs: #90654
- docs: clarify native
- Publish @next/playwright to npm as part of canary releases: #90738
Credits
Huge thanks to @sokra, @sleitor, @mischnic, @karlhorky, @abhishekmardiya, @acdlite, @timneutkens, and @eps1lon for helping!
Core Changes
- [devtools] Stop blocking overlay on error details copy: #90698
- feat: provide nextVersion to modifyConfig adapter hook: #90735
- experimental.prefetchInlining: bundle segment prefetches into a single response: #90555
- instant(): fix cookie handling for fresh page loads: #90613
Misc Changes
- Use commit-based tarball URL in PR stats comment: #90709
- [ci] Use commit instead of PR number for preview builds in deploy tests: #90722
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @pieh, and @acdlite for helping!
Core Changes
- Turbopack: Allow turbopack-node backend to be swapped at runtime using an experimental config option: #90671
- Turbopack: Revert default loader runtime backend to child processes: #90675
Misc Changes
- turbo-persistence: streaming SST writer for reduced memory usage: #90617
- Add custom cleanup script support for deploy tests: #90696
Credits
Huge thanks to @lukesandberg, @bgw, and @ijjk for helping!
Core Changes
- Turbopack: restrict server HMR to app pages: #90663
Misc Changes
- Centralize test timings to fix shard divergence in CI: #90672
- tests: Fix immutableAssetToken extraction: #90668
Credits
Huge thanks to @ijjk, @mischnic, and @wbinnssmith for helping!
Misc Changes
- Ensure we only run main test mode with custom deploy script: #90665
Credits
Huge thanks to @ijjk for helping!
Core Changes
- refactor(turbopack-node): support execution by napi and worker_threads: #86266
- [instant] Allow providing user feedback for blocking route errors: #90498
- Allow Node.js' experimental inspector flags in
next devandnext build: #90603 - tests: Assert dpl query string in all tests for Turbopack: #90592
- [instant] Don't add debug stack to random
unstable_instantexports: #90273 - Adapter: STATIC_FILE.immutableHash: #90045
- Turbopack: experimental.immutableAssetToken: #88607
- remove runInContext callbacks from stream-ops: #90609
Example Changes
- example: restore .next handling for with-docker examples: #90651
Misc Changes
- test: Run Adapter e2e tests with Turbopack instead: #90600
- Add MemorySample to Turbopack trace infrastructure: #90597
- docs(deploying): add Hostinger Web Apps Hosting to Node.js deployment options: #90246
- Use
VisitMutinstead ofFoldfor debug_instant_stack transform: #90274 - docs: fix navigationType value and variable name in useReportWebVitals: #90599
- Accept header content negotiation: #90607
Credits
Huge thanks to @xusd320, @mischnic, @eps1lon, @sokra, @agneliutkiene, @Mimori256, @icyJoseph, and @lubieowoce for helping!
Core Changes
- Turbopack: Panic if a top-level task attempts an eventually consistent read: #89735
- Fix middleware case with adapters: #90624
Misc Changes
- Turbopack server HMR: inline source maps for
evaled modules: #90561
Credits
Huge thanks to @bgw, @wbinnssmith, and @ijjk for helping!
Core Changes
- Fix edge index page _next/data route: #90611
- Turbopack server hmr: Implement
restartevent: #90550
Misc Changes
- Pre-warm a single NodeJS instance when the next devserver starts: #90174
Credits
Huge thanks to @ijjk, @andrewimm, and @wbinnssmith for helping!
Core Changes
- [test] Fix jest-haste-map warnings: #82995
- Don't require collect-build-traces with Turbopack: #90586
- Enable
experimental.reactDebugChannelby default: #90310 - Less dynamic pages manifest path: #90581
- Upgrade React from
c0060cf2-20260224to98ce535f-20260226: #90605 - Turbopack: Add Next.js version to "initialize project" trace span: #90545
- [devtools] Stop sending codeframes for ignored frames: #90577
- Allow
reset()from user's global-error: #89684 - Fix per-segment prefetching for initial loads with Cache Components: #90610
- Add
unstable_retry()to error.js: #89685
Example Changes
- docs: add Docker Standalone and Docker Export examples to Deploying page: #90386
Misc Changes
- [test] Remove
getStackFramesContent: #90571 - Replace
testonlytotestheadlessin AGENTS.md: #90578 - [test] Include error code in Redbox snapshot: #90497
- Turbopack: Add TransientEnvMap to avoid persisting env vars in cache: #90526
- Turbopack: add Xxh3Hash128Hasher: #90584
- [test] Fix error code snapshots when testing with React 18: #90593
- feat: Join guides and frame around UI preservation: #90595
- Turbopack: use xxhash3_128 for content hashes: #90583
- test: remove stray TURBOPACK_BUILD=1: #90602
- Update Rspack development test manifest: #90566
- Update Rspack production test manifest: #90565
- [ci] Use
NEXT_TEST_CIinstead ofCIfor e2e test retry guard: #90606 - [test] Skip failing segment-cache deploy test: #90601
- turbo-persistence: drop key compression dictionary from SST files: #90608
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @mischnic, @kristiyan-velkov, @sokra, @icyJoseph, @vercel-release-bot, @unstubbable, and @lukesandberg for helping!
Core Changes
- fix: sanitize worker args for worker_threads compatibility: #90506
- Fix varyParams tracking for optional catch-all params with no value: #90496
- Don't start worker for Typescript when only doing config validation: #90504
- [Instant] Fix loading.js not being counted as a suspense boundary: #90292
- [ci] Crash if next-swc could not be loaded when
NEXT_TEST_NATIVE_DIRis specified: #90387 - Fix: server-patch retry preserves push/replace intent of suspended transitions: #90533
- Cached Navigations: Serve cached segments instantly on repeat visits: #90223
- Throw when
unstable_instantis used in Client Component: #90396
Misc Changes
- test: Improve test assertions to prepare for dpl query string: #90463
- [test] Fix flaky "delay re-prefetch after revalidation" test: #90503
- Revert "Turbopack: Add line numbers to debug info in release-with-assertions profile (#90474)": #90525
- Bump Turborepo to 2.8.11: #90530
- Turbopack: Move turbopack out of
pnpm buildand into apnpm build-allcommand: #90543
Credits
Huge thanks to @mischnic, @timneutkens, @acdlite, @unstubbable, @bgw, @lubieowoce, @eps1lon, and @devjiwonchoi for helping!
Core Changes
- Fix params leaking into instant navigation shell in dev: #90455
- Limit build workers to pages+1: #90475
Misc Changes
- Update Rspack production test manifest: #90412
- Update Rspack development test manifest: #90413
- Add @next/playwright package with instant() testing helper: #90470
- [turbopack] Reduce memory usage during compaction: #90229
- [sync-react] Allow syncing from a React commit: #90283
- Turbopack: Add line numbers to debug info in release-with-assertions profile: #90474
- Turbopack: emit env_diff span attribute for update: #90466
- test: unflake lru-disk-eviction on Windows: #90465
Credits
Huge thanks to @vercel-release-bot, @acdlite, @lukesandberg, @eps1lon, @bgw, @mischnic, and @andrewimm for helping!
Core Changes
- Fix route cache keying for unprefetched navigations: #90400
- Add support for Next.js error telemetry for
AggregateError: #90391 - Fix
config.reactProductionProfilingfor Webpack: #90430 - next-image: fix deployment id handling for unoptimized: #90416
- [ci] Fix input cache keys for tasks referencing
rust-toolchain: #90442 - next-image: fix dpl handling with unicode: #90420
- Upgrade React from
ab18f33d-20260220toc0060cf2-20260224: #90452 - [ci] Stop using Turbopack tests in native binary build cache keys: #90449
- [Instant] Validate blocking head: #89539
- Turbopack: Fix experimental server hmr for pages router: #90398
Misc Changes
- docs: improve form guide consistency and validation examples: #90361
- Add more known folders to is-folder-empty check in create-next-app: #88218
- docs: rework version staleness: #90192
- [ci] Always upload Turborepo summary artifact: #90441
- tests: reenable escheck-output: #90423
- docs: clarify that next upgrade is for 16.1.x+: #90435
- Add not-found.js / notFound() links to Status Codes section: #88332
- [test] Deflake
typed-routes-validatorusingtsc: #90451 - docs: update with more patterns and decision based: #90203
- test: Cleanup and refactoring: #90454
- [turbopack] Make compression in SST files optional: #89309
- [test] Only auto-retry individual e2e tests in CI: #90464
Credits
Huge thanks to @acdlite, @lavanitha, @timneutkens, @eps1lon, @icyJoseph, @mischnic, @karlhorky, @lubieowoce, @wbinnssmith, @lukesandberg, and @unstubbable for helping!
Core Changes
- refactor(app-render): extract stream-ops and debug-channel modules (5/8): #89858
- [turbopack] Consider
ignoreListof 3rd party sourcemaps in Redbox: #90317 - [turbopack] Remove obsolete is_internal field : #90329
- Fix: Image component ignores images.qualities in Jest environment: #89536
- Revert "keep next-env.d.s unchanged between dev and build": #90384
Misc Changes
- Bump Turborepo to 2.8.9: #90079
- In-Depth Explanation of React Version Handling Doc: #89426
- Update wasm and next-custom-transforms crates to Rust edition 2024: #90350
- Turbopack: refactoring to prepare for name mangling: #89406
- Turbopack: Aggregation update improvements: #90139
- Next.js sticky scroll standards: #90197
- [ci] Stop linting auto-generated next-swc typings: #90390
- docs: fixes typo in manifest.mdx regarding Route Handler note: #90394
Credits
Huge thanks to @mischnic, @abhishekmardiya, @lukesandberg, @feedthejim, @eps1lon, @mmastrac, @sokra, @rishishanbhag, and @tdarthur for helping!
Core Changes
- Fix route.replace crash with --debug-build-paths: #90312
Misc Changes
- Add PR tarball install note to stats comment: #90316
Credits
Huge thanks to @devjiwonchoi for helping!
Core Changes
- Turbopack: support Subresource Integrity : #90152
- segment cache: add test for passing unawaited promise to context provider: #89339
Credits
Huge thanks to @mischnic and @ztanner for helping!
Core Changes
- Fix runtime prefetch
isPartialbyte stripping when deployed: #90272 - Upgrade React from
2ba30655-20260219toab18f33d-20260220: #90279 - validate sync IO in generateMetadata according to Page's prefetchable status: #90164
Example Changes
- Migrate from react-markdown to Streamdown static in EdgeDB example: #86435
Misc Changes
- [sync-react] Allow syncing React with local build: #90277
Credits
Huge thanks to @haydenbleasel, @unstubbable, @gnoff, and @eps1lon for helping!
Core Changes
- Revert "Handle null history.state in client-side router popstate handler": #90268
- [devtools] Omit empty looking error messages: #90256
Misc Changes
- [test] Improve fetch timeout error stack for
act: #90261 - Turbopack: add Rope.content_hash and SHA hashing: #90235
- [instant] Handle more instant declaration patterns: #90251
Credits
Huge thanks to @unstubbable, @mischnic, @ztanner, and @eps1lon for helping!
Core Changes
- Turbopack: fix static asset skew protection for edge and prerenders: #90238
- Remove workStore from params/searchParams/pathname function signatures: #90215
- Remove workStore from metadata resolution chain: #90217
- [Instant] export "Instant" config type: #90257
- Replace getDynamicParamFromSegment closure with interpolatedParams in metadata: #90249
- [Instant] Dev Tools toggle for Instant Navigation Mode: #90222
- [instant] Include declaration location of instant config in validation errors: #90169
- Turbopack: rename ServerPaths to AssetPaths: #90234
- feat(next/image): add lru disk cache and
images.maximumDiskCacheSize: #89963
Example Changes
- [feat] Added Docker examples for standalone output and export output following best practices: #87069
Credits
Huge thanks to @kristiyan-velkov, @mischnic, @gnoff, @lubieowoce, @acdlite, @eps1lon, and @styfle for helping!
Core Changes
- Fix OTEL propagation and add direct entrypoint e2e coverage: #90181
- Use cookie as sole protocol for instant navigation testing: #89871
- Simplify metadata tag rendering to flat imperative style: #90209
- Prevent unhandled rejection filter from being bundled into the server runtime: #90205
- [Instant] speed up test instant-validation suite: #90214
Misc Changes
- [turbopack] Add a simple tool to inspect serialized SST files and report on their contents: #89310
- Upgrade React from
4842fbea-20260217to2ba30655-20260219: #90211
Credits
Huge thanks to @ijjk, @lukesandberg, @eps1lon, @acdlite, @gnoff, and @lubieowoce for helping!
Core Changes
- [refactor] Replace runtime prefetch sentinel transform stream: #90160
- fix: use Buffer.indexOf in uint8array helpers for faster byte scanning (3/8): #89864
- Automatically build and clear native build when running
pnpm build: #89819 - fix(cache): DCE to avoid pulling server internals into browser bundles (4/8): #89865
- Attach active src route to next global: #90171
Misc Changes
- Turbopack: Update rust toolchain to nightly-2026-02-18: #89974
- Turbopack: Derive
DefaultonPartialProjectOptions, remove sillypartial_project_options_with_debug_build_pathshelper: #90170 - Turbopack: document ModuleSideEffects better: #90132
- [ci]: pin styled-components version in tests: #90194
Credits
Huge thanks to @bgw, @unstubbable, @mischnic, @feedthejim, @sokra, @ztanner, and @ijjk for helping!
Core Changes
- segment cache: fix segment cache normalizer: #90111
- Handle null history.state in client-side router popstate handler: #90083
- Don't parse default postponedsizelimit: #89906
- Turbopack: handle invalid RSC imports via importmap: #88146
- [create-next-app] Improve AGENTS.md prompt wording: #90118
- ensure maxPostponedStateSize is always respected: #90060
- Upgrade React from
6066c782-20260212to4842fbea-20260217: #90144 - [fragment-scroll] Stop focusing the first focusable host descendant: #89903
- fix: normalize loopback only in hostname: #90158
- Only error for sync IO after runtime in segments that would be runtime prefetched: #89979
Misc Changes
- refactor: fix non-determinism in resolve package: #90058
- Update Rspack development test manifest: #90074
- Update Rspack production test manifest: #90073
- test: extend production-browser-sourcemaps test: #89945
- Turbopack: use file_content.hash() consistently: #90078
- [test] Current behavior of focus after
next/linknavigation: #89959 - Turbopack: Enable tree-shaking for dynamic imports with destructuring: #89683
- test: Don't run integration tests twice for Turbopack : #83335
- Simplify how
jsonimports work by turning it into a source transform: #89631 - Update Rspack production test manifest: #90120
- Update Rspack development test manifest: #90121
Credits
Huge thanks to @lukesandberg, @vercel-release-bot, @ztanner, @timneutkens, @mischnic, @gaojude, @eps1lon, @sokra, and @gnoff for helping!
Core Changes
- [devtools] Add support for error causes in the dev overlay: #90108
- Unify runInSequentialTasks across all sequential task work: #89978
- Cleanup all stage promises on abort: #89984
Misc Changes
- [turbopack] Fix concurrent task lock panic during error formatting: #90056
- Reland "[turbopack] Fix some modification tracking bugs in TaskStorage": #90098
Credits
Huge thanks to @eps1lon, @lukesandberg, and @gnoff for helping!
Core Changes
- Improve task pipelining: #90065
- fix(next/legacy/image): add deployment id (dpl) query string support: #89956
- Cache expected missing manifest read: #89908
- Use for...in instead of Object.keys for parallelRouteKey traversal: #89905
- [Instant] allow non-blocking dynamic holes and errors in shared parents: #89875
- Move prefetch hints from CacheNodeSeedData to FlightRouterState: #90066
- [Instant] Don't block on client APIs that wouldn't block in the browser: #89924
Misc Changes
- [turbopack] Fix some modification tracking bugs in TaskStorage: #89708
- bench: render-pipeline benchmarks and stress routes (2/8): #89863
- [turbopack] fix our verify features in turbo-tasks backend: #90013
- Refactor factory not available error message generation: #89897
- [turbopack] Followup for
#[derive(ValueToString)]: #89936 - Revert "[turbopack] Fix some modification tracking bugs in TaskStorage": #90096
- Disable jest cache for CI instead of wiping: #90097
- next-stats-action: avoid pnpm EXDEV during stats installs: #90100
- [turbopack] Run the deployment tests for turbopack and webpack: #84360
- ci: only cancel pull_request_stats on PR updates: #90104
- [Instant] test: remove unnecessary reactDebugChannel permutation: #90103
- [test] Replace flaky webpack snapshots in
cache-components-errors: #90105 - Upgrade to swc 57: #90084
Credits
Huge thanks to @gnoff, @sokra, @lukesandberg, @feedthejim, @timneutkens, @mmastrac, @ijjk, @lubieowoce, @unstubbable, @acdlite, and @mischnic for helping!
Core Changes
- Ignore
prefetch={true}on Links to routes withinstant: #90061 - Expand deferred entries test suite and fix turbopack build: #90057
- Use StageController for runtime prerendering: #89972
Misc Changes
- test: scope e2e timeouts to startup and per-it: #89929
- Always set adapter deploy env variable: #90064
Credits
Huge thanks to @acdlite, @ijjk, and @gnoff for helping!
Core Changes
- docs: agent skills, pr-status script, and AGENTS.md updates (1/8): #89857
Misc Changes
- Upgrade Lightning CSS: #88789
- fix(turbopack): --debug-build-paths fails with route groups: #89336
- docs: clarify async instrumentation register request : #90039
- Add AGENTS.md and bundled docs guide: #89973
Credits
Huge thanks to @mischnic, @devjiwonchoi, @swarnava, @feedthejim, and @gaojude for helping!
Core Changes
- [fragment-scroll] Ensure hoisted elements don't break scroll-to-top on page navigations: #83108
- dx: Include path count in export error message: #89333
- fix(agents-md): use
require.resolve()to get the installednextversion: #89166
Misc Changes
- docs: fix broken blockquote formatting in API Routes page: #89966
- Turbopack: Update trybuild test dependency from 1.0.104 to 1.0.116: #89986
- test: Isolate read-only-source-hmr test: #86721
Credits
Huge thanks to @andrewdamelio, @bgw, @mischnic, @eps1lon, and @devjiwonchoi for helping!
Misc Changes
- chore: Don't run build-and-deploy CI job on graphite-base branches: #89982
Credits
Huge thanks to @bgw for helping!
Core Changes
- Fix parallel routes with deferred entries: #89967
Misc Changes
- Turbopack: Add inline loader configuration via import attributes: #89644
- Turbopack: Use
std::any::type_namefor global naming of turbo-task items: #89874
Credits
Huge thanks to @sokra, @ijjk, and @bgw for helping!
Core Changes
- fix: support multiple icon formats with same base name (icon.png + icon.svg): #89504
- Turbopack: Move turbopackIgnoreIssue from experimental to turbopack.ignoreIssue: #89817
- Build with dev runtimes when
--debug-prerenderis set: #89834 - Append deployment id query string for next-font: #89960
Misc Changes
- Next-api: Check
client_source_mapsbefore generate source map: #89915 - docs: improve next/image localPatterns error page: #89914
- docs: inline-css dev-action oriented: #89064
- Upgrade to swc 56: #89111
- Turbopack: fix CSS dependency locations: #89761
- docs: document cacheLife expire omission behavior and fix default preset value: #89913
- docs: Activity boundary guide: #89126
- Enable backtraces in turbopack integration tests: #89935
Credits
Huge thanks to @FurryR, @icyJoseph, @mischnic, @01-binary, @lukesandberg, @sokra, and @unstubbable for helping!
Misc Changes
- docs: adapterPath amends: #89930
- [turbopack] Add #[derive(ValueToString)] and convert ~45 manual impls: #89788
- Turbopack hmr: fix missing factories: #89934
Credits
Huge thanks to @icyJoseph, @mmastrac, and @wbinnssmith for helping!
Core Changes
- Upgrade React from
272441a9-20260209to6066c782-20260212: #89923 - Add a better error message for when turbopack cannot be loaded: #89633
Credits
Huge thanks to @lukesandberg for helping!
Core Changes
- [Instant] Fix crash with search params: #89922
- Fix memory leak in dev mode caused by fast-set-immediate: #89779
- Trace upload: include experimental flag states: #89845
Misc Changes
- Change UrlBehavior.static_suffix to ResolvedVc<Option
>: #89921
Credits
Huge thanks to @lukesandberg, @lubieowoce, @alubbe, and @wbinnssmith for helping!
Core Changes
- Allow sitemap.ts and sitemap/page.tsx to coexist in Turbopack: #89789
- [fragment-scroll] Cleanup scroll and focus restoration in layout router: #83110
- [fragment-scroll] Add
experimental.appNewScrollHandler: #83107
Misc Changes
- After() docs requests API: #89837
- docs: Move browserToTerminal into logging: #88901
- Update documentation to explain behavior in a Catch-all route: #89742
- test: allow query suffix in related media URL e2e assertions: #89872
- Update Rspack development test manifest: #89811
- Turbopack: Store task error as pointer to the source error: #89293
- docs: add deploymentId config and clarify encryption key for self-hosting: #89795
- Turbopack: Pass asset_suffix_path as Vc: #89899
- [turbopack] Simplify JS
ChunkItemwith a single impl in most cases: #89548
Credits
Huge thanks to @feedthejim, @icyJoseph, @freek-boon-greenberry, @andrewimm, @ijjk, @vercel-release-bot, @sokra, @eps1lon, and @mmastrac for helping!
Core Changes
- [AI] Ship bundled docs in next and generate AGENTS.md in create-next-app: #89850
- Turbopack: Implement server hmr in nodejs dev runtime: #89130
Misc Changes
- docs: adapt lead to source path patterns: #89392
- docs: Papercuts Feb26: #89484
- [test] Ensure new deploy test builds have the necessary env variables: #89846
- test: allow dpl query suffix in scss url-global expectation: #89856
- test: stabilize app-dir hash navigation RSC assertion: #89867
- Turbopack: Clean up unused register!() macro argument in test: #89869
Credits
Huge thanks to @icyJoseph, @eps1lon, @gaojude, @ijjk, @wbinnssmith, and @bgw for helping!
Core Changes
- Turbopack: Fix slow filesystem benchmark warning for
next dev: #89798 - Add turbopackIgnoreIssue config to suppress Turbopack warnings: #89682
- Add support for with
type: "text"under a new experimental flag, following what webpack did: #89560 - Remove unused devtools code handling React without
use: #89793 - [devtools] Wrap overlay in Activity: #89818
- Add CSS URL deployment ID suffix support: #89771
- Fix cascading LRU eviction during prefetch batches: #89766
- Refactor prerenderManifest passing: #89765
Misc Changes
- Update flakey E2E deploy tests: #89792
- Update flakey E2E deploy tests no-prefetch: #89799
- Update Rspack production test manifest: #89741
- Fix devlow job timeouts: #89804
- Update Rspack development test manifest: #89740
- Turbopack Persistence: Improve heuristic for compacted database access: #89497
- Turbopack: remove ChunkableModuleReference trait: #89745
- docs: improve Graphite workflow documentation: #89488
- Remove --turbopack and --webpack flags from create-next-app: #89706
- docs: correct use term: #89438
- Turbopack: make routes hashes mainfest more incremental: #87107
- [test] Remove references to removed, internal PPR environment variable: #89832
- [docs] Add
RedirectTypeusage example topermanentRedirect: #89833 - [test] Enable scroll related tests in Cache Component tests: #83245
- Next CLI flags documentation: #89750
- docs: update adapter docs for routing, handlers, and PPR: #89849
Credits
Huge thanks to @ijjk, @bgw, @vercel-release-bot, @sokra, @lukesandberg, @mischnic, @timneutkens, @vvscode, @eps1lon, and @unstubbable for helping!
Core Changes
- Turbopack: Server HMR infrastructure: #88870
- Turbopack: Reorganize runtime files into shared/runtime directory: #89461
- [Instant] Validation on client navs: #89777
- Turbopack: extract core hmr client logic into shared runtime: #88912
Credits
Huge thanks to @wbinnssmith and @lubieowoce for helping!
Core Changes
- Pass shouldCache to all manifest loading calls: #89713
- Add 2nd cloned body to FinalizationRegistry. Only used RuntimeStyles component for webpack: #88577
- Tracing: trace render times as render-path: #89763
Misc Changes
- Update Rspack production test manifest: #89701
- Update Rspack development test manifest: #89702
- clarify unstable_cache replacement with use cache: #89435
- [test] Add regression test for segment cache prefetch memory leak: #89756
- Improve not-found-with-pages test: #89538
Credits
Huge thanks to @vercel-release-bot, @mischnic, @abhishekmardiya, @unstubbable, @timneutkens, and @wbinnssmith for helping!
Core Changes
- fix(image): findClosestQuality returns 0 for low quality values: #89621
- Upgrade React from
2dd9b7cf-20260208to272441a9-20260209: #89722 - Avoid using unclosing prefetch streams in the browser: #89610
Example Changes
- Remove more examples: #89709
Misc Changes
- Turbopack: Remove old
Vc::try_resolve_*methods in favor of theResolvedVcalternatives: #89696 - Fix reset-project script for E2E deploy tests: #89693
- feat: move font variables to html in create-next-app: #89632
- reduce the number of shards on small systems: #89731
Credits
Huge thanks to @bgw, @ijjk, @icyJoseph, @shadcn, @sigmachirality, @unstubbable, and @lukesandberg for helping!
Core Changes
- Upgrade React from
95ffd6cd-20260205to2dd9b7cf-20260208: #89681 - Include
AggregateError.errorsin terminal output: #88999
Misc Changes
- Turbopack: remove unneeded benchmarks: #89592
- Turbopack Persistence: Remove amqf cache, store all amqfs in memory: #89562
- Add inline value support for small values (≤8 bytes): #89271
- [turbopack] remove the
_backendfield from TaskGuardImpl: #89015 - [Turbopack] Include CSS URL attributes, including Layer, Media and Supports: #89300
- docs: add task decomposition and verification guidelines: #89640
Credits
Huge thanks to @sokra, @lukesandberg, @robert-j-webb, and @bencmbrook for helping!
Core Changes
- fix: deprecated util._extend: #89614
- Fix missing non-deferred turbopack build items: #89616
- Revert "Ensure _middleware is consistent in adapter for name/id": #89624
- Omit unused arguments for server actions: #89651
Misc Changes
- Update metadata assertions: #89625
- Update vercel CLI version in flakey deployment-id test: #89652
Credits
Huge thanks to @Netail, @ijjk, and @unstubbable for helping!
Core Changes
- Ensure _middleware is consistent in adapter for name/id: #89559
- Ensure Errors with deep causal chains respect inspect depth: #89594
- refactor: extract route discovery into unified
discoverRoutes()API: #88971 - Ensure static metadata are static outputs for adapters: #89574
- Resolve local variable references in error code SWC plugin: #89596
- Turbopack: Add --experimental-server-fast-refresh CLI flag: #89274
- Fix deployment id header when proxying: #89593
Misc Changes
- Turbopack: add turbo-persistence benchmark: #89446
- Fix spelling in robots.mdx documentation: #89565
- Proper e2e test of function determinism - adapter: #89522
- [test] consolidate the browser log test: #89601
- Fix flaky turbo cache pull with retries and graceful fallback: #89575
- Turbopack: Pass globals to node.js workers as well: #89261
- Upgrade rustc to 2026-02-05: #89591
Credits
Huge thanks to @ijjk, @sokra, @Thomas465xd, @mischnic, @eps1lon, @huozhi, @bgub, @unstubbable, @mmastrac, and @wbinnssmith for helping!
Core Changes
- Don't insert build id comment in HTML: #89478
- Clarify type checking error message: #89525
- Require explicit
cacheLifeon outer"use cache"when nesting short-lived caches: #89481 - [Instant] Instant validation in Dev: #89077
- Upgrade React from
3e00319b-20260203to95ffd6cd-20260205: #89550 - Turbpopack: fix is_persistent_caching_enabled: #89533
- Fix a small doc typo: #89553
Misc Changes
- Proper e2e test of function determinism: #88908
- docs: fix ISR guide link to res.revalidate: #89342
Credits
Huge thanks to @mischnic, @unstubbable, @lubieowoce, @pavan-sh, and @lukesandberg for helping!
Core Changes
- Ensure module contexts are always included in adapter traces: #89508
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Add
experimental.reportSystemEnvInliningfor Turbopack: #89304 - fix: use signal-based exit codes to prevent inspector blocking exit: #89351
- Add Instant Navigation Testing API: #89465
- Support MPA navigations in
instant(): #89469 - Handle Pages data route skew with deployment id header, take 2: #89325
- Include owner stack for forwarded errors if available: #89493
- [CC] Rename "unstable_prefetch" to "unstable_instant": #89448
Example Changes
- chore(examples): remove
with-tigrisexample: #81843
Misc Changes
- Update Rspack production test manifest: #89423
- Update Rspack development test manifest: #89424
- Turbopack: improve suggestions for experimental.reportSystemEnvInlining: #89486
- docs: Fix syntax in proxy example code: #89395
- Add experimental flag to expose testing API in production builds: #89499
Credits
Huge thanks to @vercel-release-bot, @mischnic, @timneutkens, @acdlite, @JamBalaya56562, @ericrav, @huozhi, and @lubieowoce for helping!
Example Changes
- chore(examples): remove
with-recoilexmaple: #81836
Misc Changes
- Don't upload build cache for deployment tests: #89432
- Fix indentation of types of tests in docs: #89409
- Add separate E2E deploy env for turbopack tests: #89458
- Turbopack: Symbol.for and keyFor are sideeffect-free: #89454
Credits
Huge thanks to @mischnic, @JamBalaya56562, @wheresrhys, and @ijjk for helping!
Core Changes
- Replace flight navigation build id field with header: #88855
- Upgrade React from
da641178-20260129toed4bd540-20260202: #89401 - Upgrade React from
ed4bd540-20260202tob1533b03-20260203: #89444 - Upgrade React from
b1533b03-20260203to3e00319b-20260203: #89449 - Rename CACHE_ONE_YEAR for clarity and fix usage: #89450
- [Codemod] Fix agents-md on Windows: #89319
- Experimental deferred entries handling: #88347
Misc Changes
- Snippet multi package syntax: #89381
- TURBOPACK: support chunk_loading_global method: #88790
Credits
Huge thanks to @icyJoseph, @mischnic, @ijjk, @fireairforce, and @gaojude for helping!
Core Changes
- Turbopack: FreeVarReference::ReportUsage: #89302
- Make Server Function logging opt-in via
logging.serverFunctions: #89321 - Restore default-enabled Server Function logging: #89407
- Re-add build-complete traces for webpack: #89402
- Skip Server Function logging for
'use cache'functions: #89408
Misc Changes
- Turbopack: Move PrettyPrintError to turbo_tasks and add tests: #89280
- Update Rspack production test manifest: #89372
- Update Rspack development test manifest: #89371
- docs: replace 'can not' with 'cannot': #89354
- docs: Fix custom server code snippets: #89400
Credits
Huge thanks to @sokra, @mischnic, @unstubbable, @vercel-release-bot, @pavan-sh, @amannn, and @ijjk for helping!
Core Changes
- Turbopack: Rename crates/napi to crates/next-napi-bindings and update crate name: #89314
- feat: detect @typescript/native-preview as alternative TypeScript compiler: #89149
- Revert "Fix/zlib mem node": #89322
Credits
Huge thanks to @bgw and @Suhaib3100 for helping!
Misc Changes
- Apply server actions transform to
node_modulesin route handlers: #89316 - [test] Deflake
browser-log-forwarding verbose leveltest suite: #89324
Credits
Huge thanks to @unstubbable for helping!
Core Changes
- Revert "Replace build id in Pages data routes with deployment id (#88959)": #89323
Misc Changes
- Add failing test to deploy-tests-manifest: #89318
Credits
Huge thanks to @ijjk and @mischnic for helping!
Core Changes
- Fix/zlib mem node: #89099
Misc Changes
- Update Rspack development test manifest: #89278
- Update Rspack production test manifest: #89277
- Improve consistency of how Flag typed fields are handled in the macro to more structurally prevent bugs like what was fixed in #89228: #89255
Credits
Huge thanks to @naaa760, @vercel-release-bot, and @lukesandberg for helping!
Core Changes
- Improve lock dir error message: #89119
- Ensures
browserslistdoesn't issue outdated warnings forbaseline-browser-mapping: #89287 - Replace build id in Pages data routes with deployment id: #88959
- Upgrade React from
230772f9-20260128toda641178-20260129: #89301 - Inline handler dependencies instead of tracing: #89269
- Turbopack: add
rules.*.typeconfig to allow changing the type of a module: #88788 - Add experimental.varyParams feature flag: #89307
Misc Changes
- Turbopack: improve print_cache_item_size: #89279
Credits
Huge thanks to @huozhi, @eps1lon, @mischnic, @ijjk, @sokra, and @acdlite for helping!
Core Changes
- fix: CSRF origin matching should be case-insensitive: #89127
- fix(build): format runAfterProductionCompile duration as human-readable time: #89232
- fix(router): support BigInt in query parameters: #89213
- Update font data: #89200
- Update font data: #89272
- Turbopack: add support for contentType condition for webpack loaders: #89156
- Revert "fix(router): support BigInt in query parameters": #89283
- Track vary params during static prerendering: #89267
Misc Changes
- refactor: Improve templates layout flexibility: #89245
- test: add client-cache.defaults failing deploy test: #89242
- test: add resume-data-cache failing deploy test: #89243
- [turbopack] Make shrinking logic declarative and optimize for immutable tasks: #89222
- Turbopack: Trace task modifications: #89229
- docs: Rename Error component to ErrorPage: #89284
- Turbopack: refactor extend transforms: #89116
Credits
Huge thanks to @alexcarpenter, @devjiwonchoi, @jaffarkeikei, @BradErz, @lukesandberg, @vercel-release-bot, @sokra, @eps1lon, @mintydev789, and @acdlite for helping!
Core Changes
- add GPTBot to matcher for known bots: #89188
- Ensure
.mdlicenses are included in vendored packages: #89201 - Switch development log item format as JSON: #89168
- IsolatedDevBuild flag removal: #89167
- fix: coerce HEAD to GET for internal images: #84180
- Upgrade React from
10680271-20260126to230772f9-20260128: #89250 - Upgrade
tarused to extract SWC binary : #89158 - Sort prerender manifest routes: #89246
- Track vary params for segments without server-side param access: #88998
- Optimistic routing: client-side route prediction: #88965
- Keep pages/404.js to be able to dynamically render it anyway: #89263
- fix: fully static pages should emit & serve static rsc payloads: #89202
Misc Changes
- Turbopack: change AsyncModulesInfo to use keyed reads: #89216
- Turbopack: selective reads of defined env vars in module analysis: #88759
- Turbopack: add support for turbopackOptional: true: #89227
- Turbopack: fix tracking modifications for transient and data: #89228
- [ci] Clear Jest transform cache: #89247
- Turbopack: Make the globals we pass to workers configurable: #88773
- Accept deploy script and log script as inputs: #89253
- [turbopack] mark persistent_task_type as inline: #89185
- [test] Add test suite name for Tests failures table: #89258
Credits
Huge thanks to @davidgolden, @sokra, @eps1lon, @huozhi, @icyJoseph, @mischnic, @mmastrac, @LucianBuzzo, @ijjk, @lukesandberg, @devjiwonchoi, @acdlite, and @ztanner for helping!
Misc Changes
- Update Rspack production test manifest: #89147
- Fix @next/routing for i18n api and dynamic routes: #89197
- Remove Vercel specific assertions from E2E deploy: #89198
- Add custom deploy and logs env for next-deploy: #89206
Credits
Huge thanks to @vercel-release-bot and @ijjk for helping!
Core Changes
- Decouple route stale time from segment-level data: #88834
- Decouple route and segment cache lifecycles: #88989
- [ci] Silence
baseline-browser-mappingwarnings: #89175 - [Cache Components] Prevent streaming fetch calls from hanging in dev: #89171
- React types update: #89110
- [nextjs] feat: removing length requirement: #89173
Misc Changes
- Turbopack: Remove unused argument: #80235
- Prettier-ignore changes in
next-env.d.tsfiles in all top-level apps: #89176 - Turbopack: warn when tracing the whole project: #89157
- [docs] Always include
unsafe-evalin devContent-Security-Policy: #89163 - Add full adapters E2E tests to workflow: #89125
Credits
Huge thanks to @timneutkens, @acdlite, @unstubbable, @mischnic, @eps1lon, @ijjk, and @brookemosby for helping!
Core Changes
- Limit number of server action arguments to 1000: #89068
- [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88958
Misc Changes
- [ci] Exclude tests by filename when merging manifests: #89093
- Turbopack: import with type should be handled via condition: #89035
- CC Guide: Fix filenames, reduce line breaks: #89065
- Enable pnpm dependency caching in e2e deploy tests: #88953
- [ci] Make
gh auth statusoptional when triggering a release: #89098 - docs: fix code highlight in 07-fetching-data.mdx: #88727
- Update Rspack development test manifest: #89084
- tweak LRU sentinel cache key: #89123
- Turbopack: allow key block without hash in SST files: #88938
Credits
Huge thanks to @unstubbable, @sokra, @delbaoliveira, @eps1lon, @Juneezee, @brookemosby, @vercel-release-bot, and @ztanner for helping!
Misc Changes
- /pr-status (former /ci-failures): fetch PR reviews too: #89082
- Improve /pr-status: comments, argument, avoid full log: #89092
- chore(ci): rename 'new tests' jobs to 'new and changed tests': #89054
- Turbopack: Add postcss.config.ts support: #89049
Credits
Huge thanks to @sokra and @timneutkens for helping!
Core Changes
- Improve no response route handler error: #89036
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Apply segment changes to adapters outputs: #89072
Misc Changes
- Revert "Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping": #89073
Credits
Huge thanks to @ijjk and @bgw for helping!
Core Changes
- Use null-prototype objects in server actions manifests: #89069
- Re-enable types-and-precompiled: #89070
Misc Changes
- Fix reset deploy project script: #89001
Credits
Huge thanks to @unstubbable, @ijjk, and @eps1lon for helping!
Core Changes
- Apply fixes for onBuildComplete and route module: #88831
- Rename
renderOpts.nextExporttoisBuildTimePrerendering: #88951 - docs: fix typos in
README.mds: #89022 - refactor: consume global-error from loader tree: #88437
- Fix chunk loading when using
__turbopack_load_by_url__with query: #88899 - [mcp] change the mcp endpoint response to JSON: #88911
- Reapply "[turbopack] Add bundling support for worker_threads" (#88725): #88967
- fix: ensure LRU cache items have minimum size of 1 to prevent unbounded growth: #89040
- Upgrade React from
24d8716e-20260123to8c34556c-20260126: #89066
Misc Changes
- Update Rspack development test manifest: #89004
- Update Rspack production test manifest: #89003
- Turbopack: remove Asset supertrait from Module trait. Modules don't have content: #86416
- docs: improve clarity in cache components and server/client docs: #88946
- docs: revalidatePath w/ rewrites and trailing slash: #88956
- [test] Improve deployment skew test for Pages Router data routes: #89038
- Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping: #88775
- Cache Component Guide: Building public, mostly static pages: #87248
Credits
Huge thanks to @ijjk, @vercel-release-bot, @mischnic, @sokra, @icyJoseph, @msmx-mnakagawa, @lukesandberg, @huozhi, @delbaoliveira, @timneutkens, and @unstubbable for helping!
Core Changes
- Improve agents-md prompt to force doc retrieval: #88997
- [Reapply] Add
useEffectEventto disallowed React APIs in Server Components: #88985
Misc Changes
- [Turbopack] Use a presized scratch buffer for task encoding: #88924
Credits
Huge thanks to @gaojude, @lukesandberg, and @dango0812 for helping!
Core Changes
- feat(next-codemod): add agents-md command for AI coding agents: #88961
- Update font data: #88975
Misc Changes
- docs: Update Partytown URLs and package reference: #88928
Credits
Huge thanks to @gaojude, @vercel-release-bot, and @hanzala-sohrab for helping!
Core Changes
- [turbopack] add task type infromation to the print_cache_item_size feature: #88925
- Upgrade React from
b546603b-20260121to24d8716e-20260123: #88963 - Turbopack: add
?dpl=to all asset urls returned by Turbopack: #88828
Misc Changes
- docs: Server functions rename: #86827
- Update Rspack production test manifest: #88930
- Update Rspack development test manifest: #88931
- Improve performance and token usage of
/ci-failurescommand: #88960
Credits
Huge thanks to @icyJoseph, @lukesandberg, @vercel-release-bot, and @sokra for helping!
Core Changes
- [devtool] Add hydration diff indicator for diff lines: #88919
- Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88942
Misc Changes
- remove gt workflow from agents.md: #88918
- Turbopack: refactor data storage to avoid reverse task cache: #88492
- Turbopack: change invalidator and immutable to data category: #88889
- Turbopack: reduce cache size: #88929
- fix typo: #88934
- Turbopack: improve module type error message: #88815
- Turbopack: improve selective read support to allow
Equivalentkeys: #88760 - Turbopack: add indirection layer for better caching during resolving: #80062
- Docs: Add Next.js Glossary: #88811
- Add Graphite workflow Cursor command: #88939
Credits
Huge thanks to @huozhi, @sokra, @eps1lon, @delbaoliveira, and @timneutkens for helping!
Core Changes
- [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88496
Misc Changes
- [test] Skip failing deploy test in
searchparams-reuse-loading.test.ts: #88821 - [test] Skip flaky
prefetch-runtimetests for deploy tests: #88826
Credits
Huge thanks to @eps1lon and @brookemosby for helping!
Core Changes
- Remove
deploymentIdfrom App RouterRenderOptsPartial: #88866 - feat: implement LRU cache with invocation ID scoping for minimal mode response cache: #88509
Misc Changes
- Update Rspack production test manifest: #88882
Credits
Huge thanks to @mischnic, @vercel-release-bot, and @wyattjoh for helping!
Core Changes
- stabilize browser log forward options: #88857
- [devtools] Wrap long file names of stack frames in the error overlay: #88886
- [devtools] Fix notch coloring of error overlay in forced colors mode: #88892
Misc Changes
- Turbopack: Make the priority_runner testcase deterministic: #88651
- Turbopack: Various cleanup for turbo-tasks-fs, mostly retry logic and string formatting: #88668
- Turbopack: Tweak retry loop for link creation to try to fix os error 80 on Windows: #88669
- feat: Replace InnerStorage with the generated TaskStorage struct: #88355
- Turbopack: Use webpki-root-certs in addition to rustls-platform-verifier on Linux for bare-bones Linux images without root CA stores: #88869
- refactor: migrate to typed accessors and remove CachedDataItem adapter: #88397
- docs: add skill for updating Next.js documentation: #88656
- Turbopack: [chore] Fix Rust check warnings: #88871
- Turbopack: query conditions in rules follow-ups: #88801
- Create-next-app update message: #88706
- Turbopack: Fix next/font preloading for page.mdx: #88848
Credits
Huge thanks to @mmastrac, @bgw, @lukesandberg, @wyattjoh, @huozhi, @eps1lon, @jwueller, @sokra, and @timneutkens for helping!
Core Changes
- fix: preserve cache behavior for PPR fallback shells with root params: #88556
- Upgrade React from
d2908752-20260119tob546603b-20260121: #88860
Misc Changes
- Turbopack: Use a real file entrypoint for Workers (and SharedWorkers): #88602
- Turbopack: Add file write invalidation tracking to filesystem watcher fuzzing: #88665
- Turbopack: Move fuzzer for fs watcher into a separate file/module: #88666
- Turbopack: Add a stress test / fuzzer that tries creating many symlinks in a tight loop: #88667
Credits
Huge thanks to @ztanner, @mmastrac, and @bgw for helping!
Core Changes
- Reuse bfcache data during Full prefetches: #88606
- Embed static sibling info in route tree: #88692
- Fix
revalidatePathwith params and trailing slash when deployed: #88623
Misc Changes
- Update deterministic-build assertion: #88820
- Turbopack: shrink amortized: #88619
- Fix deployment test due to data-dpl-id attribute: #88846
- [ci] Fix Rspack/Turbopack test manifest generation: #88845
- Turbopack: show compressed size for print_cache_item_size: #88850
- [test] Fix deploy test of
cache-components.server-action.test.ts: #88854
Credits
Huge thanks to @acdlite, @unstubbable, @mischnic, and @sokra for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- [Cache Components] Prevent streaming fetch calls from hanging in dev (#89194)
- Apply server actions transform to node_modules in route handlers (#89380)
- ensure
maxPostponedStateSizeis always respected (See: CVE-2026-27979) - feat(next/image): add lru disk cache and
images.maximumDiskCacheSize(See: CVE-2026-27980) - Allow blocking cross-site dev-only websocket connections from privacy-sensitive origins (See: CVE-2026-27977)
- Disallow Server Action submissions from privacy-sensitive contexts by default (See: CVE-2026-27978)
- fix: patch http-proxy to prevent request smuggling in rewrites (See: CVE-2026-29057)
Credits
Huge thanks to @unstubbable, @styfle, @eps1lon, and @ztanner for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Upgrade to swc 54 (#88207)
- implement LRU cache with invocation ID scoping for minimal mode response cache (#88509)
- tweak LRU sentinel key (#89123)
Credits
Huge thanks to @mischnic, @wyattjoh, and @ztanner for helping!
Please refer the following changelogs for more information about this security release:
https://vercel.com/changelog/summaries-of-cve-2025-59471-and-cve-2025-59472 https://vercel.com/changelog/summary-of-cve-2026-23864
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Only filter next config if experimental flag is enabled (#88733)
Credits
Huge thanks to @mischnic for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix linked list bug in LRU deleteFromLru (#88652)
- Fix relative same host redirects in node middleware (#88253)
Credits
Huge thanks to @acdlite and @ijjk for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Turbopack: Update to swc_core v50.2.3 (#87841) (#88296)
- Fixes a crash when processing mdx files with multibyte characters. (#87713)
- Turbopack: mimalloc upgrade and enabling it on musl (#88503) (#87815) (#88426)
- Fixes a significant performance issue on musl-based Linux distributions (e.g. Alpine in Docker) related to musl's allocator.
- Other platforms have always used mimalloc, but we previously did not use mimalloc on musl because of compilation issues that have since been resolved.
Credits
Huge thanks to @mischnic for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Turbopack: Create junction points instead of symlinks on Windows (#87606)
Credits
Huge thanks to @sokra and @ztanner for helping!
Core Changes
- Rename
rewroteURLtorewrittenPathnamein request metadata: #88751 - Simplify
getImplicitTagsto accept pathname instead of url object: #88753 - Add
NEXT_DEPLOYMENT_IDglobal: #86738 - Turbopack: remove deployment id suffix from client reference manifest chunks: #88741
- Inject
<html data-dpl-id>and don't inline it into JS anymore: #88761 - [metadata] match the Metadata and ResolvedMetadata type: #88739
Example Changes
- Update with-mysql example to Next.js 15, Tailwind 4, Prisma 7: #88475
Misc Changes
- [ci] Ensure Turbo Remote Cache can be written to: #88794
- perf(turbopack): optimize resolve plugin handling: #88639
- Fix buildManifest.js deployment tests: #88806
- [ci] Merge Cache Components and deploy tests manifests when running CC deploy tests: #88824
- Turbopack: Extend filesystem watcher fuzzing to cover symlinks and junction points: #88192
- [test]: add ability to run test-deploy with pre-existing deployment: #88829
Credits
Huge thanks to @eps1lon, @SimeonGriggs, @unstubbable, @xusd320, @mischnic, @sokra, @huozhi, @bgw, and @ztanner for helping!
Core Changes
- Upgrade React from
41b3e9a6-20260119tod2908752-20260119: #88774 - Add experimental_gesturePush to App Router: #88776
Credits
Huge thanks to @acdlite for helping!
Core Changes
- Add negation pattern support to
--debug-build-paths: #88654 - Only filter next config if experimental flag is enabled: #88733
- [Devtool Indicator] Fix cross alignment: #88664
- Turbopack: don't use build id for pages router client-side manifests: #88641
- Allow inspecting server with
next start --inspect: #88744 - Turbopack: Add
--debug-build-pathssupport to filter routes: #88655 - Upgrade React from
bef88f7c-20260116to41b3e9a6-20260119: #88756 - Use rewritten pathname for implicit cache tags: #88732
Misc Changes
- [ci] Enable Turborepo remote caching in e2e release deploy tests: #88746
- [test] Deflake
test/development/app-dir/browser-log-forwarding/fixtures/verbose-level/verbose-level.test.ts: #88754 - Fix
Build Commandssection in AGENTS.md: #88757 - [test] Deflake
test/development/app-dir/hydration-error-count/hydration-error-count.test.ts: #88749 - [ci] Exclude
test/productionfrom deploy tests: #88763 - Apply
buildArgsalso for deploy tests (viapackage.json): #88731
Credits
Huge thanks to @unstubbable, @mischnic, @williambout, and @eps1lon for helping!
Misc Changes
- Revert "[turbopack] Add bundling support for worker_threads": #88725
Credits
Huge thanks to @sokra for helping!
Core Changes
- fix: setImmediate[util.promisify.custom] access fails in edge runtime: #88685
- Fix
--debug-build-pathsbracket escaping for glob patterns: #88660
Misc Changes
- [turbopack] Add bundling support for worker_threads: #87746
- [cna] Ensure created app is not considered the workspace root in pnpm: #88647
Credits
Huge thanks to @lukesandberg, @eps1lon, @lubieowoce, and @unstubbable for helping!
Core Changes
- Upgrade React from
4a3d993e-20260114tobef88f7c-20260116: #88649 - fix: make RedirectType constant properties literal types: #88653
- Turbopack: add support for matching loaders on resource queries: #88644
- fix: capture promisified setImmediate separately: #88346
Misc Changes
- Turbopack: use bugs.nextjs.org for Turbopack panic error reports: #88356
- Turbopack: docs: condition.query will ship in 16.2.0, not 16.1.1: #88663
Credits
Huge thanks to @naaa760, @sokra, @wbinnssmith, @jgeschwendt, and @bgw for helping!
Core Changes
- Fix incorrect 'Ready in' time for next start: #88589
- feat: server action logging: #88277
- Log browser error and warnings in terminal: #88352
Misc Changes
- Turbopack: avoid removing cells for erroring tasks: #88305
- [ci] Use native
concurrencyfeature in build-and-test: #87287 - doc: add details of mcp client integration: #88543
- Turbopack: unflake unit test: #88620
- Turbopack: snapshot the ModuleGraph to avoid (eventual) inconsistent graphs: #88340
- Turbopack: Consistency for compute_async_module_info: #88409
- Turbopack: follow tracing spans through aggregation update queue: #88410
- Turbopack: avoid chunk_item_id task and use selective cell access instead: #88411
- Turbopack: MappedReadRef should be Send and Sync: #88558
- Turbopack: selective read for module_chunk_groups in ChunkGroupInfo: #88559
- Turbopack: use selective reads for merged modules: #88560
- Turbopack: add caching to chunking: #88561
Credits
Huge thanks to @sokra, @eps1lon, @timneutkens, and @huozhi for helping!
Core Changes
- fetch(next/image): reduce maximumResponseBody from 300MB to 50MB: #88588
- [CC] Fix dev validation error from server action bound args: #88600
Misc Changes
- feat: add TaskStorage derive macro and schema infrastructure: #88338
- docs: fix Pages Router fonts documentation showing App Router examples: #88326
- [ci] Don't retry/notify for failed deploy tests with custom tarball URLs: #88576
- fix(turbopack): Collect
declare global {}inVarDeclWithTsDeclareCollector: #88568 - Update labeler.json: #88591
- Fix optional
parent_task_idcompile failure w/tokio_tracingenabled: #88598 - Turbopack: support disabling tsconfig lookup: #88529
- Turbopack: run tasks with priority based on distance to leaf: #87662
Credits
Huge thanks to @lukesandberg, @timneutkens, @unstubbable, @kdy1, @mischnic, @mmastrac, @sokra, @styfle, and @lubieowoce for helping!
Core Changes
- Turbopack: more dead code: #88505
- fix(build): prevent route handler manifests from inheriting unrelated client components: #88419
- Upgrade React from
65eec428-20251218to3e1abcc8-20260113: #88530 - Better typesafety for
interopDefault: #88486 - keep next-env.d.s unchanged between dev and build: #88428
- Remove sibling caches from CacheNode tree: #87991
- Upgrade React from
3e1abcc8-20260113to4a3d993e-20260114: #88547 - Finish deleting Mutable from router implementation: #88046
Misc Changes
- Remove
lerna bootstrapfrom thecleanscript in package.json: #88527 - docs: add useSearchParams and useParams documentation for Pages Router: #88429
- Turbopack: Clean up
VcRead::Reprassociated type: #88456 - [cna] Avoid error with out-of-box Netlify config: #88546
- [turbopack] Move some of the logic for issue filtering into the rust layer: #88511
- Update Rspack production test manifest: #88469
- Update Rspack development test manifest: #88470
Credits
Huge thanks to @mischnic, @timneutkens, @unstubbable, @huozhi, @acdlite, @bgw, @karlhorky, @lukesandberg, and @vercel-release-bot for helping!
Misc Changes
- Turbopack: fix bad performance edge case in production chunking: #88508
Credits
Huge thanks to @sokra for helping!
Misc Changes
- [test] Always run all tests without aborting on failure: #88435
- Turbopack: remove sourcemapping comments: #88217
- Turbopack: use mimalloc on Linux musl: #88426
- Turbopack: add support for selective reads of keyed cell values: #88303
- Turbopack: Reduce usage of parse_quote in turbo-tasks-macros: #88454
- Turbopack: don't cell in async map: #88473
- Turbopack: replace is_reference_used with unused_references set: #88304
- Turbopack: add lint rule to not cell in async map: #88474
- Turbopack: Remove dead generic_type_macro code: #88455
- Turbopack: remove unused code: #88497
- Turbopack: improve cell order lint rule: #88498
- Turbopack: parallelize making dependent tasks dirty: #86755
Credits
Huge thanks to @unstubbable, @mischnic, @sokra, and @bgw for helping!
Core Changes
- Revert "prevent browser cache from using stale RSC responses from pre…: #88457
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Don't import typescript at runtime: #88321
- fix: use RDC for server action requests: #88129
- Warn when overriding Cache-Control header on
/_next/routes: #88353 - [prebuilt-skew-protection] feat: adding in automatic deploymentId: #88012
- Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #88449
- Turbopack: Update reqwest, remove experimental system TLS feature: #88290
Misc Changes
- Update AGENTS.md with PR template and test generation requirements: #88417
- Add .cursor/worktrees.json configuration: #88415
- docs: add guidance for code block highlight line numbers to AGENTS.md: #88430
- [turbopack] Compute transitive side effects and use them to trim imports: #86675
- fix(turbo-tasks-backend): use correct TaskDataCategory for is_immutable check: #88331
- perf(turbo-tasks-backend): use DefaultStorage for AggregationNumber to save memory: #88336
- [Turbopack] Move DirList to its own module: #88256
- docs: add rebuild guidance and ICE troubleshooting to AGENTS.md: #88337
- Type-check
run-tests.jsand remove unusedrelatedflag: #88433 - [test] Remove obsolete reference to
NEXT_TEST_SKIP_RETRY_MANIFEST: #88434 - Revert "[Turbopack] Move DirList to its own module": #88441
- [scripts] Avoid conflicting type for
pack-next --compress: #88439 - Update Rspack production test manifest: #88403
- Update Rspack development test manifest: #88404
Credits
Huge thanks to @mischnic, @timneutkens, @lukesandberg, @ztanner, @andrewimm, @unstubbable, @eps1lon, @brookemosby, @vercel-release-bot, and @bgw for helping!
Core Changes
- Track search string as part of "refresh state": #87203
- Pass RouteTree into navigation function: #87256
- Read from segment cache unknown routes: #87293
- Pass loading boundary as part of RSC data: #87825
- Revert "refactor: consolidate PPR into cacheComponents architecture (#88243)": #88421
- fix: support TypeScript
noUncheckedSideEffectImportsfor CSS imports: #88199
Misc Changes
- docs: fix CSP example to only include unsafe-eval in development: #88407
- docs: add PR description guidance to AGENTS.md: #88408
- ci: Fix retry comments in workflow files: #88412
- [test] Deflake
test/integration/invalid-custom-routes/test/index.test.ts: #88416 - [test] Remove rogue debug log: #88423
Credits
Huge thanks to @acdlite, @timneutkens, @unstubbable, @eps1lon, @wyattjoh, and @Rani367 for helping!
Misc Changes
- Stats Action: Add ready in time: #88283
- fix: skip stats-aggregate job for docs-only changes: #88330
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- refactor: consolidate PPR into cacheComponents architecture: #88243
- Turbopack: include fewer traced files for standalone: #88322
- feat(turbopack): add resolve plugin condition variant of Always and Never: #88190
- perf: use length = 0 to clear the logging array: #88244
- Time logs: Show full millisecond instead of 1 decimal: #88313
- [turbopack] Enable inferring module side effects by default: #87216
Misc Changes
- Turbopack: Use
format!instead ofanyhow!inside ofanyhow::Context::with_contextcalls: #88293 - Turbopack: pull in updated vercel/nft tests: #88162
- Fix pack-next script for next-swc: #88126
- Turbopack: use correct flags in tests: #88307
- Turbopack: fix task category on reading cells: #88309
- agent.md: Explain where the Next.js core code lives: #88314
- Turbopack: improve next-server.nft.json tests: #88320
- Turbopack: add family to database read span: #88323
- Tests: Reduce loglines from apply patch delay: #88224
- Turbopack: prefetch children too: #88324
- Turbopack: more stale details for tracing: #88306
- Turbopack: make GraphTraversal deterministically calling all nodes before erroring: #88119
- Turbopack: improve error message for incompatible swc plugins: #86346
- Update Rspack development test manifest: #88301
- Update Rspack production test manifest: #88300
Credits
Huge thanks to @bgw, @wyattjoh, @mischnic, @sokra, @timneutkens, @xusd320, @huozhi, @lukesandberg, and @vercel-release-bot for helping!
Core Changes
- next/image: support custom cache handlers: #88248
- feat: add Claude Code plugin marketplace with Cache Components skill: #87993
Misc Changes
- Turbopack: remove unused code: #88274
- Turbopack: escape colon in output names: #88273
- [test] Add a failing test for cycle serialization in segment prefetches: #88287
- Turbopack: scope hoisting bug with reexport-self-star: #86131
- Turbopack: Add #[automatically_derived] to proc macros: #88281
- Update Rspack development test manifest: #88260
Credits
Huge thanks to @mischnic, @ztanner, @unstubbable, @bgw, @vercel-release-bot, and @wyattjoh for helping!
Core Changes
- Fix relative same host redirects in node middleware: #88253
- Remove loadConfig from main development process, pass value from child process: #88230
- Update deploy adapters outputs and handler interfaces for node and edge: #88247
- Move Ready in time before handler initialization: #88235
Misc Changes
- ci: fix javascript-urls test to account for React 18: #88249
- Turbopack: Remove tokio and turbo-task handles from Invalidator: #88242
- Turbopack: remove Stateful flag: #88196
- Upgrade to rustc 2026-01-04: #88095
- Turbopack: include children count in "task execution completed" span: #87318
- Turbopack: avoid blocking tasks for I/O work: #87661
- Turbopack: flatten trace when it reaches cut off depth: #88118
Credits
Huge thanks to @ztanner, @bgw, @ijjk, @sokra, @mischnic, and @timneutkens for helping!
Core Changes
- fix overlay frames cannot be opened sometimes: #88210
- Handle pnpm-workspace.yaml while searching for monorepo root: #74818
- Add more debug logs to
'use cache'wrapper: #88219 - Omit unused arguments from
'use cache'function calls: #86920 - Only log
pending revalidates...debug log if applicable: #88221 - fix(next/image): bump sharp@0.34.5: #88238
- Disallow javascript urls in router methods and redirects: #88185
Misc Changes
- Turbopack: Use batch get request to read more efficient from database: #87106
- Turbopack: improve aggregation update performance: #87317
- Add test creation instructions to agents.md: #88215
- Turbopack: report changed env vars in tracing: #88195
- Turbopack: get rid of some manual self.await-s: #88236
- Guard against Object/Array shadowing in 'use cache' transform: #88229
- feat(turbo-tasks-fs): support multi denied_paths: #88186
- Upgrade to swc 54: #88207
Credits
Huge thanks to @huozhi, @sokra, @timneutkens, @unstubbable, @styfle, @mischnic, @lubieowoce, @xusd320, and @gnoff for helping!
Core Changes
- Add maximum size limit for postponed body parsing: #88175
- metadata: use fixed segment in dynamic routes with static metadata files: #88113
- feat: add --experimental-cpu-prof flag for dev, build, and start: #87946
- Add experimental option to use no-cache instead of no-store in dev: #88182
Misc Changes
- fix: move conductor.json to repo root for proper detection: #88184
- Turbopack: Update to swc_core v50.2.3: #87841
- Update generateMetadata in client component error: #88172
- ci: run stats on canary pushes for historical trend tracking: #88157
- perf: improve stats thresholds to reduce CI noise: #88158
Credits
Huge thanks to @wyattjoh, @bgw, @timneutkens, @feedthejim, and @huozhi for helping!
Core Changes
- add compilation error for taint when not enabled: #88173
- feat(next/image)!: add
images.maximumResponseBodyconfig: #88183
Misc Changes
- Update Rspack production test manifest: #88137
- Update Rspack development test manifest: #88138
- Fix compile error when running next-custom-transform tests: #83715
- chore: add Conductor configuration for parallel development: #88116
- [docs] add get_routes in mcp available tools: #88181
Credits
Huge thanks to @vercel-release-bot, @ztanner, @mischnic, @wyattjoh, @huozhi, and @styfle for helping!
Core Changes
- [strict-route-types] Typecheck App Router page props: #87386
- [strict-route-types] Enforce common React Component return types in App Router: #87389
- [strict-route-types] Switch to
satisfieswhen validating page and route modules: #87398 - [strict-route-types] Don't reject
numberinconfig.api.bodyParser.sizeLimitwhen validating route: #87633 - Revert "dx: avoid next-env.d.ts change in dev": #88153
- [strict-route-types] Typecheck pages router routes in absence of App Router: #87628
- [strict-route-types] Ensure cache profiles and routes are type-checked even if .next is excluded: #87768
Misc Changes
- [turbopack] Populate the
namesfield of sourcemaps: #87911 - Turbopack: fix order of breadth first edges: #88117
- Turbopack: transpile CHUNK_SUFFIX: #88128
- chore: add dev boot profiling and benchmark scripts: #87940
- perf: improve stats action reliability and reduce CI noise: #87945
Credits
Huge thanks to @lukesandberg, @sokra, @eps1lon, @mischnic, and @feedthejim for helping!
Core Changes
- chore: warn when running tests against stale build: #88001
- Redesign default error pages with cleaner, more user-friendly UI: #87988
- dx: avoid next-env.d.ts change in dev: #88103
- prevent browser cache from using stale RSC responses from previous builds: #86554
Misc Changes
- chore: add Claude Code configuration: #87943
- test: reduce flakiness in opentelemetry test for prod mode: #88102
- Rename CLAUDE.md to AGENTS.md with symlink: #88105
Credits
Huge thanks to @feedthejim, @huozhi, and @ztanner for helping!
Core Changes
- fix: revalidateTag with profile should not trigger client cache invalidation: #88069
Credits
Huge thanks to @feedthejim for helping!
Misc Changes
- fix: normalize CRLF line endings in jscodeshift tests on Windows: #88008
Credits
Huge thanks to @feedthejim for helping!
Misc Changes
- chore(turbo-tasks-malloc): replace mimalloc-rspack to mimalloc: #87815
Credits
Huge thanks to @xusd320 for helping!
Core Changes
- misc: fix type check log for CI envs: #87838
Misc Changes
- Update Rspack production test manifest: #87889
- Update Rspack development test manifest: #87888
Credits
Huge thanks to @feedthejim and @vercel-release-bot for helping!
Core Changes
- [strict-route-types] Add
experimental.strictRouteTypesconfig: #87378
Credits
Huge thanks to @eps1lon for helping!
Core Changes
- Add experimental routing package for resolving adapter routes: #86404
- Ensure outputs are correct with cache components in deployment adapters: #87018
- Move off of deprecated url.parse: #87257
Credits
Huge thanks to @ijjk and @eps1lon for helping!
Misc Changes
- [test] Move off of as much
url.parseas possible: #87286
Credits
Huge thanks to @eps1lon for helping!
Example Changes
- fix: Change Dockerfile.bun to use group/useradd instead of addgroup/user: #87443
- fix(examples): resolve hydration mismatch in blog-starter: #87703
Credits
Huge thanks to @pji2918 and @nathannewyen for helping!
Core Changes
- Turbopack: Symlink handling follow-up: #87637
Misc Changes
- chore: add a missing period to rspack description: #86526
Credits
Huge thanks to @sokra and @Marukome0743 for helping!
Core Changes
- Turbopack: Create junction points instead of symlinks on Windows: #87606
Misc Changes
- Turbopack: In CI only persist at the end: #87316
- fix: correct quotes in dev script filter in package.json: #87638
Credits
Huge thanks to @bgw, @sokra, and @naveenkarmegam for helping!
Misc Changes
- ci: track runner name on datadog test reports: #87440
- docs: tweaks/fixes to papercuts: #87445
- docs: fix typos and clarify examples in Cache Components guide: #87530
Credits
Huge thanks to @ztanner and @icyJoseph for helping!
Misc Changes
- Turbopack: refactor graph traveral and fix module graph determinism: #87312
- docs: fix highlight in 05-server-and-client-components.mdx: #87347
- Guide: Update
Optimizing Package Bundlingto include new Bundle Analyzer: #87246 - docs: generateMetadata and generateViewport w/ CC: #87218
- bundle analyzer: remove uncompressed toggle, stabilize top bar ui: #87325
- test: de-flake client-cache deployment tests: #87412
- Revert "Revert "[turbopack] Set
livenessof exports based on assignment analysis (#82802)"": #87214
Credits
Huge thanks to @sokra, @Juneezee, @delbaoliveira, @icyJoseph, @wbinnssmith, @ztanner, and @lukesandberg for helping!
Core Changes
- Upgrade React from
f93b9fd4-20251217to65eec428-20251218: #87323
Misc Changes
- docs: next experimental-analyze: #87272
- docs: use cache private redo: #87111
Credits
Huge thanks to @icyJoseph for helping!
[!TIP]
Check out our Next v16.1 Blog Post to learn more about this release.
Core Changes
- fix: Rspack throw error when using ForceCompleteRuntimePlugin: #85221
- fix: build CLI output not displaying Proxy (Middleware) when nodejs runtime: #85403
- fix: staleTimes.static should consistently enforce a 30s minimum: #85479
- [turbopack] fix build of empty entries of pages: #84873
- Cache the head separately from the route tree: #84724
- Allow inspecting dev server on default port with
next dev --inspect: #85037 - Avoid proxying React modules through workUnitStore: #85486
- fix: redirect should always return updated router state: #85533
- Upgrade React from
b4455a6e-20251027to4f931700-20251029: #85518 - [turbopack] Move generation of
cacheLifetypes out of the webpack plugin and into the dev bundler directly: #85539 - Ensure user-space stack frame for
'use cache'in page/layout component: #85519 - Update parallel routes in build-complete: #85546
- fully remove clientSegmentCache flag: #85541
- [turbopack] Support relative paths in turbopack source maps.: #85146
- Release unnecessary memory on hydration finish: #84967
- Preserve interception markers in parameter types: #85526
- move segment cache entries to top level segment-cache dir: #85542
- Upgrade React from
4f931700-20251029to561ee24d-20251101: #85670 - [devtools] Remove title from preferences: #85698
- Update font data: #85708
- Don't invalidate hot reloader excessively during dev server boot: #85732
- [codemod] fix: next-lint-to-eslint-cli did not handle
'next'plugin: #85749 - Upgrade React from
561ee24d-20251101to67f7d47a-20251103: #85762 - Tracing: Fix memory leak in span map: #85529
- Fix documentation typo in refresh function: #85696
- fix: eslint-config-next types was exporting to dist/src: #85768
- Upgrade React from
67f7d47a-20251103tof646e8ff-20251104: #85772 - remove unused RSC payload property: #85746
- [runtime prefetching]: fix runtime prefetching when deployed: #85595
- Turbopack: next build --analyze: #85197
- Build: Log amount of workers during static generation: #85706
- Upgrade React from
f646e8ff-20251104todd048c3b-20251105: #85819 - Sync devFallbackParams when generateStaticParams change: #85741
- chore: upgrade rspack 1.6.0: #84210
- [mcp] get_routes mcp tool: #85773
- Split each path param into a separate cache key : #85758
- [turbopack] change server source maps in production to use relative paths: #85576
- fix: skip collecting metadata for app-error in webpack: #85892
- fix: support root span attributes with a custom server: #85521
- fix isDynamicRSC condition when deployed: #85919
- [turbopack] Make it possible to synchronously access native bindings: #85787
- Upgrade React from
dd048c3b-20251105tofa50caf5-20251107: #85906 - Fix telemetry event loss on build failures and server shutdown: #85867
- Remove one stack frame from
'use cache'call stacks: #85966 - Upgrade React from
fa50caf5-20251107to52684925-20251110: #85980 - Deployment adapter: fix metadata for "/" route: #85820
- Enable React's default Transition indicator behind a flag: #86000
- update routes-manifest to include whether app has pages routes: #86051
- Fix 404 responses for interception routes with missing children slots: #85779
- Build: Share StaticWorker between static check and static generation: #85860
- [devtool] highlight all link in error message: #86084
- fix(nodejs-middleware): await for body cloning to be properly finalized: #85418
- Add build-time validation to detect ambiguous app routes: #85834
- Don't use inspector frontend URLs from other processes: #86082
- Upgrade React from
52684925-20251110to93fc5740-20251113: #86103 - [next-upgrade] Force install of dev dependencies: #86119
- Fix telemetry event race condition in webpack worker for @vercel/og detection: #86145
- Turbopack: Add bundle analyzer UI to next build --experimental-analyze: #85788
- Upgrade React from
93fc5740-20251113tofb2177c1-20251114: #86155 - fix: cacheMaxMemorySize should not disable dev HMR cache: #86164
- Fix streaming server actions: #86148
- Allow attaching a debugger when
next devis already running: #86083 - Introduce
next analyze: a built-in bundle analyzer for Turbopack: #85915 - Turbopack: add
experimental.turbopackClient/ServerSideNestedAsyncChunking: #85827 - next analyze: annotate polyfill modules in UI: #86062
- Stop adding additional padding to Next.js logs: #86139
- [next-upgrade] Add
next upgrade: #86120 - Fix prerendering of interception routes with generateStaticParams: #85835
- [Segment Cache] Re-implement refresh reducer: #84426
- Upgrade React from
fb2177c1-20251114to0972e239-20251118: #86263 next analyze: Make ipv6 server links valid and normalize localhost: #86219- fix: prevent fetch abort errors propagating to user error boundaries: #86277
- chore(turbopack-node): remove some outdated codes: #86111
- [devtools] Ensure Chrome DevTools workspace can connect with proxy rewrites: #86289
- Fix log log alignment in spinners: #86298
- fix: Rename proxy.js to middleware.js in NFT file: #86214
- Turbopack: allow trace level tracing: #86255
- Allow SSR to finish microtasky work before flushing: #86311
- Turbopack: fix passing project options from napi: #86256
- [Cache Components] Atomic setTimeouts: #86093
- Turbopack: add experimental.turbopackInputSourceMaps and respect serverSourceMaps: #86340
- [Cache Components] Discriminate static shell validation errors by type: #85747
- Turbopack: add NEXT_TURBOPACK_WRITE_ROUTES_HASHES_MANIFEST to write hashes into manifest: #86257
- Add reasons for some server-external-packages: #86254
- Send dynamic validation errors to browser via WebSocket: #85818
- Delete un-used prefetch outputs with PPR: #86100
- Revert "Turbopack: add bundle-analyzer to versioning and add dependen…: #86394
- Turbopack: add bundle-analyzer to versioning and add dependency: #86355
- fix issue - #86365: #86366
- Turbopack: fix import chain by determining depth locally per route: #86350
- Use JSONC for default server-external-packages: #86252
- add debug logs to onSegmentPrerenderError: #86358
- Skip request if "full" prefetch is already pending: #86405
- fix: Rename proxy.js to middleware.js in NFT file (#86214)
- fix: prevent fetch abort errors propagating to user error boundaries (#86277)
- Turbopack: fix passing project options from napi (#86256)
- Eslint: Improve Google Tag manager third parties message: #51903
- [ts-plugin] keep showing the types in the function body: #86273
- [turbopack] Enable the filesystem cache for dev in canary builds: #85940
- docs: fix typos in packages: #82508
- Turbopack: Expose an environment variable for exposing the
detailfield of issues: #86518 - Turbopack: inner graph tree shaking: #85973
- [next-upgrade] Fall back to
npxifyarn dlxis not available: #86384 - Update font data: #86521
- Convert any export from a
'use cache'module to a cache function: #86014 - fix(nodejs-middleware): await for body cloning to be properly finalized (#85418)
- Fix stale dev types causing build failure after route deletion: #86489
- bump the browserslist version to silence a warning in CI (#86625)
- add bundle analyzer as dev dependency to next: #86497
- Remove obsolete
setReferenceManifestsSingletoncall: #86574 - Add flag to show ignore listed frames: #86285
- Add alinea to server-external-packages.json: #55006
- Fix error logging for
'use cache'runtime errors in production: #86500 - Upgrade React from
8ac5f4eb-20251119tofd524fe0-20251121: #86473 - Add "@zenstackhq/runtime" to server-external-packages.json: #54829
- [Cache Components] Ensure cache misses always cause a restart in dev: #86583
- bump the browserslist version to silence a warning in CI: #86625
- Turbopack: import to
charnot replaced: #86573 - Revert "add bundle analyzer as dev dependency to next (#86497)": #86672
- Handle cross-page client reference contamination in development: #86591
- Match behavior of baseline-browser-mapping with caniuse-lite: #86653
- Turbopack: don't generateBuildId in dev: #86581
- [devtool] unify the bundler field: #86514
- Turbopack: normalize distDir separators: #86697
- Cover org package external in externals-transitive test: #86691
- [turbopack] Enable filesystem cache by default for development: #85975
- Log generate params duration in dev: #86726
- [CC] Fix hanging dynamic promise when abandoning render: #86690
- Convert Windows paths as well when reading sourcemap: #86723
- Deterministic functions-config-manifest.json: #86736
- Abstract deployment id access into module: #86727
- Deterministically order pages in the
MappedPagesstructure: #86744 - [turbopack] move edge entry wrapper to build template: #86699
- Properly type ComponentMod: #86765
- Properly type edge handler fn: #86766
- Remove unused Server.responseCache: #86768
- [Cache Components] Fast setImmediate: #86018
- [devtool] make the draggable content selective: #86816
- Create server module map proxy only once: #86750
- fix(next/image): add
?dplquery string for local images (without static import): #86485 - fix(next/image): handle
?dplfor src without protocol: #86836 - Upgrade React from
7dc903cd-20251203to66ae640b-20251204: #86843 - Upgrade React from
66ae640b-20251204to378973b3-20251205: #86852 - Turbopack: remove pages router double template: #86842
- Introduce NextConfigRuntime: #86812
- Generate required-server-files before prerendering: #86830
- Update react version in cna templates (#86950)
- Include nextConfig in edge runtime via separate manifest: #86769
- Fix required-server-files: #86875
- Add pino-related packages to server-external-packages: #86884
- Fix validateTurboNextConfig running for next start: #86886
- Add experimental.runtimeServerDeploymentId: #86865
- [turbopack] Mark packages as side effect free when local analysis determines that they are.: #86398
- Fix: Missing null check in LRU cleanup: #87124
- improve segment cache lru typesafety: #87129
- [Segment Cache] Detect third-party redirect + static export w/ HEAD request: #85910
- Fix: External redirect swallowed by Next.js: #87121
- Fix error propagation and teardown in Server Action request decoding: #87193
- Fix interception routes with trailing slash configuration: #86787
- [ci] Stop building when creating release: #87178
- fix: otel error spans from streamed responses: #86955
- Refactor: Unify history traversal with other nav types: #87128
- Create initial tree using same function as navigations: #87147
- Re-implement hmr-refresh in terms of refresh: #87135
- Delete old navigation response handling implementation: #87149
- Reflect runtime type of
resHeadersin static types: #87145 - [turbopack] Flag
turbopackInferModuleSideEffectsso it is only enabled in canary builds: #87215 - [turbopack] update warning message in the bundle analyzer: #87255
- chore: update rspack 1.6.5: #86853
- Update font data: #87259
- bundle-analyzer: make running the web server default: #87258
- bundle analyzer: remove custom output option: #87267
- Ensure constructor for
useSearchParamscan be imported forinstanceofchecks: #87269 - Upgrade React from
b45bb335-20251211tof93b9fd4-20251217: #87281 - feat: use Rspack persistent cache by default: #81399
- Move next-env.d.ts to dist dir: #86752
- Revert "Move next-env.d.ts to dist dir": #87311
Example Changes
- Chore: Update with-supabase example to Next.js 16: #86105
- docs: add example for enabling both AVIF and WebP image formats for better image optimization: #86191
- examples: fix typos: #82506
- chore(examples): remove
with-windicssexample: #81846 - examples: fix typos in cms-agilitycms: #82504
- Turbopack: Improve the description on InvalidLoaderRuleConditionIssue: #87008
Misc Changes
- chore: Add
opt-level = sfor not frequently used crates: #85426 - [test] Deflake cache-components-allow-otel-spans: #85466
- [test] Move remaining
experimental.cacheLife: #85467 - Turbopack: chore: Remove mopa dependency in turbo-tasks (2nd attempt): #85286
- Update Proxy docs: #85439
- [CNA] Do not prompt for Turbopack: #85404
- Clean up new release process: #85458
- Update E2E tests workflow: #85485
- Update E2E deploy tests manifest: #85483
- docs: example are incorrect async function exports only: #85453
- [test] Handle CLI assertions where no "Compiling..." log is present: #85499
- [test] Speed up refresh test: #85505
- [test] Add test cases for dynamic caches without suspense boundaries: #85500
- docs: Routes are wrapped w/ Activity in Cache Components: #85309
- docs: GET handler behavior under cache components: #85389
- [test] Avoid needless start/stop from using
createSandbox: #85507 - [test] Use
--debug-build-pathsinstead ofNEXT_PRIVATE_APP_PATHS: #85504 - docs: revalidateTag requires second argument: #85284
- Refactor GTM implementation to support google tag gateway: #81011
- Update Rspack production test manifest: #85494
- Update Rspack development test manifest: #85495
- [docs] Fix a typo: #85492
- [test] Regenerate tsconfig.json files: #85515
- [Turbopack] clean up
completion.rsa bit: #84863 - [test] Remove
maxRetriesandhardErrorparameters: #85536 - Turbopack: remove the .into() alias to .cell(): #85516
- [test] Consolidate identical snapshots across different bundlers: #85532
- [turbopack] Change where
cells are created inresolve_rawto make cell allocation order deterministic.: #85525 - Turbopack: Make tasks deterministic: #85524
- [test] Separate act and assertions: #85508
- [test]
assert*->waitFor*when the util is not instant: #85450 - Turbopack: move whole_app_module_graphs to top level: #84897
- [test] Bail on sending requests to Next.js instance if it's no longer available: #85557
- [test] Deflake tests comparing two random numbers: #85571
- [test] Disallow custom
RegExp-like implementations incheck: #85537 - [test] Deflake prerender suite: #85563
- Turbopack: chore: Remove some dead MagicAny serialization code from turbo_tasks::value: #85577
- [test]: fix broken scroll restoration test: #85599
- [test] Deflake nested
after()tests: #85566 - [test] Stop installing unused dependencies: #85569
- [test] Consider
test/integration/in flake detection tests: #85590 - Turbopack: more checks on verify_serialization: #84952
- Turbopack: add track_caller to improve panics: #85565
- Turbopack: add verify_determinism feature to check if tasks are deterministic: #85559
- docs: cache life rework: #85224
- Turbopack: fix hanging dev server and builds with fs cache: #85606
- Turbopack: Fix compound assignment expression evaluation (#85478): #85593
- Turbopack: fix Scope holding Arc too long: #85611
- [ci] Improve change detection logic in
run-for-changescript: #85619 - [test] Ignore in deploy tests if a child process isn't available: #85636
- Turbopack: add size_hint and len for Chunk iterator: #85622
- [test]: move resume-data-cache to e2e test: #85647
- Update Rspack development test manifest: #85662
- Update Rspack production test manifest: #85661
- Update Rspack production test manifest: #85688
- Update Rspack development test manifest: #85689
- [test] Deflake root-optional-revalidate: #85584
- docs: fix generateImageMetadata example to use normal params object: #85658
- Turbopack: Upgrade image crate: #85084
- docs: update multi sitemap argumenmt type: #85701
- [test] Move all files to .ts (6/6): #85641
- Turbopack: add a batch add method to the storage: #84270
- docs: recommend reverse-proxy when self-hosting: #85650
- [test] Deflake prefetching.stale-times: #85733
- [test] Deflake custom cache handler test: #85610
- [test] Allow CLI integration test to be retryable: #85586
- docs: update docs to mention ESLint as default: #85740
- docs(next.config): this docs should remove ".mts" is not supported.: #85716
- Turbopack: cleanup StyleSheetLike: #85718
- Turbopack: disable tree shaking for tracing: #85722
- [test] Move all files to .ts (3/6): #85638
- [test] Move all files to .ts (2/6): #85637
- [test] Move all files to .ts (1/6): #85634
- docs: generateSitemap passes id as promise: #85767
- [test] Move all files to .ts (4/6): #85639
- docs: disclosure on path-to-regexp: #85629
- chore: update rspack binding to 1.6.0: #85717
- Turbopack: trace worker_threads worker entry: #85734
- Update Rspack development test manifest: #85761
- Turbopack: chore: Remove
extern crateandmacro_usesyntax: #85778 - [turbopack] Drop duration and allocation tracking from CaptureFuture: #85534
- Turbopack: chore: Remove dead RouteMatcher stuff: #85784
- docs: fresh up getting started 00: #85736
- Turbopack: chore: Remove the serde_regex dependency, which wasn't very heavily used: #85578
- Turbopack: use batch add in connect children: #85623
- [test] Move all files to .ts (5/6): #85640
- [test] Deflake legacy-link-behavior: #85805
- Resolve request ID confusion: #85809
- Turbopack: use batch add to add initial followers: #85624
- Turbopack: chore: Remove dead experimental.ppr struct field: #85792
- Turbopack: chore: Avoid string clones in Glob::parse by using RcStr: #85579
- Update Rspack production test manifest: #85795
- docs: getting started updates 01: #85750
- chore: Update patricia_tree dependency, remove manual serde impls: #85785
- docs: keywords in system reqs and add browserslist: #85838
- Honour
NEXT_TEST_PREFER_OFFLINEininstall-native.mjs: #85850 - Turbopack: chore: Update anyhow, remove old backtrace feature: #85844
- Turbopack: Remove some dead (or useless) code from
next-core/src/next_client_reference/visit_client_reference.rs: #85843 - sort dependencies for smaller diffs: #82291
- Update Rspack development test manifest: #85846
- Turbopack: Remove
non_operation_vc_strongly_consistentfeature usage from next-api: #85874 - Turbopack: remove the streaming hack for improved stability: #85858
- test: Port clean-distdir integration test to the modern e2e test framework: #85828
- Update font data: #85920
- Update deploy manifest: #85924
- Turbopack: chore: Merge
turbo-tasks-macros-sharedcrate intoturbo-tasks-macros: #85917 - Turbopack: Fix IO concurrency for MacOS: #85861
- Add Appwrite Sites to supported adapters: #85830
- [turbopack] Remove LocalTaskType::Native, it is dead: #85480
- [test] Increase response timeout in
next.browserWithResponse(): #85911 - Hoist inner
'use cache'functions to reduce function allocations: #85904 - docs: eslint config update: #85969
- Fix Turbopack local font
font-familydeclaration: #85913 - switch to slice in createRuntimePrefetchTransformStream: #85822
- Update authentication.mdx: Fix
Auth0Link: #85953 - Turbopack: remove unused function: #85974
- docs: cacheHandlers: #85311
- docs: Feedback item on proxy default: #86004
- [test] Add missing test fixtures for
cacheLife&cacheTagin client: #85872 - Fix false-positive build error for
cacheLife&cacheTag: #85875 - [cna] For pnpm ignore postinstall from
sharpandunrs-resolver: #83168 - Turbopack: refactor
evaluateto take module_graph: #85971 - Turbopack: remove duplicate traversal implementations: #85853
- Omit unused
encryptActionBoundArgs/decryptActionBoundArgsimports: #86015 - Turbopack: cleanup db log and add verbose option: #85965
- [ci]: fix retry_deploy_test workflow: #85981
- Fix typo in documentation: #86054
- perf: revert to use the light safe stringify for is-error: #86053
- Turbopack: expose used export info in tests: #86037
- Docs: Mention npm link with Turbopack root: #86075
- script: align the commits group logic with the origin script: #86079
- Update cookies.mdx: #86094
- Remove redundant example code for cacheLife docs: #86043
- test: improve router prefetch test reliability: #86098
- Add postpone handling in app-page handler: #86101
- Turbopack: remove global_information struct: #86089
- Turbopack: add task_id_details feature: #84970
- Turbopack: Refactor output assets to allow to lazy compute output assets: #85753
- Un-skip tests in prefetch-runtime.test.ts: #86097
- Turbopack: add flags to AvailabilityInfo: #85771
- Turbopack: apply side effects false removal on all module types: #86133
- [build] Remove
layersexperiment flag from next-runtime webpack config: #86126 - Turbopack: only enable nested async availability in production: #85728
- [turbopack] Remove
ClonefromEffect: #86110 - Turbopack: mark more modules as side effect free: #86136
- [test] Use
next-data-api-endpointfor Middleware HTTP method tests: #86157 - fix broken extend implementation on DynamicStorage: #86204
- Turbopack: avoid creating another async chunk loader where there is already one available: #85817
- Fix typo on 03-layouts-and-pages.mdx: #86186
- Update 14-metadata-and-og-images.mdx: #86198
- [turbopack] Model
||,&&, and??as control flow operators: #85837 - chore: remove empty docs folder: #86216
- docs: cacheHandlers use object instead of class: #86022
- docs: follow up to getting started CC and use-cache API ref: #85582
- Turbopack: use batch insert to make dependencies outdated: #85625
- Update Rspack production test manifest: #86233
- [test] Update snapshots: #86288
- [test] Add failing test for
useActionStatewith'use cache': #86292 - [test] Disable flaky prefetching.stale-times test: #86299
- Update Rspack production test manifest: #86283
- Replace tuples with better suited data structures for server references: #86294
- create-next-app: Add
ignoreScriptsforunrs-resolveron bun: #86324 - Turbopack: bundle-analyzer need to avoid using the local next.js build: #86258
- Turbopack: remove unused method: #86259
- Turbopack: disable input source maps for analyze: #86341
- Turbopack: perf: Fix unused argument filtering optimization in turbo-tasks for
selfarguments: #86231 - Turbopack: Remove dead
turbo_tasks::persisted_graphmodule: #86329 - [turbopack] Refactor the analyzer to fix a few issues and prepare to split it up: #86265
- next-analyze: improve network error visuals: #86222
- Turbopack: test if unused self arguments are filtered: #86353
- Upgrade React from
0972e239-20251118to8ac5f4eb-20251119: #86351 - Update Rspack development test manifest: #86332
- Turbopack: refactor tuple variant into struct: #86374
- Migrate to VisitMut: #86347
- Turbopack: decode url encoding and relative paths in source maps: #86342
- Turbopack: remove Asset supertrait from Module trait. Modules don't have content: #86339
- docs: csr-bailout debugging: #86359
- docs: serverless deploy feedback: #86357
- Bump swc to 48: #86240
- docs: cacheLife feedback: #86128
- Update Next.js auth docs examples: #86361
- Update Rspack production test manifest: #86369
- Revert "Turbopack: remove Asset supertrait from Module trait. Modules don't have content": #86415
- Revert "[turbopack] Model
||,&&, and??as control flow operators (#85837)": #86432 - Turbopack: avoid embedding deployment ID into the turbopack runtime: #86370
- Revert "Turbopack: JsAnalyzer parse AssignExpr (#83962)": #86420
- [test] Let pending test finish on abort: #86307
- Fix compilation of exported server functions: #86296
- docs: fix getInitialProps execution behavior during navigation: #86387
- Turbopack: bail instead of panic: #86470
- Update Rspack production test manifest: #86457
- Fix typed routes test expectations: #86487
- Add test for external middleware rewrite with changed headers: #49606
- Fix grammar and typos in typescript doc: #86513
- Skip filesystem-cache.test.ts test with Webpack: #86506
- Migrate required-server-files-ssr-404 to be isolated: #86515
- Turbopack: fixup route hashes generation: #86502
- Bump swc: #86496
- Try to improve typed-routes test flakyness: #86512
- Use retry in tests instead of requesting page: #86535
- Turbopack: Use
Debuginstead ofDisplayforValueDebugFormatimpl onRcStr: #86522 - [test] Add test fixture for runtime error in
'use cache': #86499 - Migrate app-dir-export test to be isolated: #86534
- Turbopack: write symlinks to access transitive
serverExternalPackages - Fix no-double-tailwind-execution flake: #86549
- Update Rspack development test manifest: #86531
- Turbopack: slightly fewer turbo tasks calls during resolving: #86542
- Turbopack: remove OptionStringifiedSourceMap: #86547
- Turbopack: Simplify the return type of
FileSystemPath::try_join: #86523 - Turbopack: remove into() which cells internally: #86548
- docs: fix cache component doc grammar: #86563
- fix(turbopack): Disable ES3 transforms from preset-env: #86532
- Don't run bundle-analyzer dev script with turborepo: #86586
- [turbopack] Support traversing the graph in reverse order: #86427
- Update Rspack development test manifest: #86657
- Update Rspack production test manifest: #86658
- [test] Deflake
use-cache-router-handler-onlyin deploy tests: #86678 - Allow exporting object and array literals in
'use cache'files again: #86655 - Turbopack: use tracing context for config watching: #86576
- Turbopack: align chunk loading error name: #86593
- docs: update prefix two-digit number in routing section: #77758
- [bundle-analyzer] Disable revalidateOnFocus and revalidateOnReconnect: #86688
- Turbopack: improve eventual consistency: #86682
- [test] Enable Playwright traces in deploy tests: #86683
- [test] Deflake
app-dir-prevent-304-caching: #86693 - Bump to swc 49: #86689
- Turbopack: process.env.TURBOPACK should be a string: #86680
- Turbopack: arrange empty space in trace viewer correctly: #86612
- [turbopack] Remove the docs on the bundle size gap: #86707
- [test] Improve app-basepath assertion error: #86725
- fix(next-custom-transforms): preserve all declarators in multi-declarator export statements: #86552
- Turbopack: avoid snapshotting while continuously idle, fix spans : #86611
- Turbopack: fix fuzz command: #86732
- [test] Ensure CI uses configured Node.js version: #86720
- Turbopack: improve eventual consistency: #86724
- Update Rspack development test manifest: #86715
- Update Rspack production test manifest: #86716
- Turbopack: don't read binding_usage in dev: #86722
- [test] app-basepath less agressive request reading: #86740
- Stop apps/bundle-analyzer/next-env.d.ts from changing: #86743
- [turbopack] Move turbo-tasks-testing to dev-dependencies: #86745
- Turbopack: chore: Remove re-exports from turbopack crate: #85791
- Turbopack: Split Dirty into Dirtyness and CleanInSession: #86070
- Turbopack: remove DirtyContainerCount from dirty_container_update: #86071
- Turbopack: fix double deployment id in web workers: #86754
- Turbopack: Split AggregatedDirtyContainer: #86606
- Turbopack: Split AggregatedDirtyContainerCount: #86072
- Turbopack: Avoid that session-dependent tasks write to DB on every build: #86068
- Turbopack: Use TransientCellData for non-serializable cells: #86069
- Fix typo in fetching data documentation: #86758
- Upgrade React from
fd524fe0-20251121to7dc903cd-20251203: #86771 - Turbopack: use match consistently in macro: #86767
- setup release branch
- Revert "feat(breaking): Hard Deprecate PPR Configuration (#84280)"
- Update React Version
- update tag
- update version script
- docs: cookie clear and has alignment: #86788
- [test] fix missing nft file: #86817
- Remove unused
vitestfrom dependency tree: #86821 - Update installed Next.js: #86822
- Remove Vercel mention from Next.js docs: #86801
- Remove unused
vitefrom dependency tree: #86824 - Update Rspack development test manifest: #86802
- Turbopack: bincode: Add crate with bincode serialization helpers: #85878
- Turbopack: perf: Avoid clones in RopeReader: #86708
- Add Firebase App Hosting to the deployment guide: #86832
- Turbopack: bincode: Add custom bincode reader/writer implementations: #86632
- Turbopack: bincode: Add traits for types that require
TurboBincodeEncoderorTurboBincodeDecoder: #86633 - Turbopack: bincode: Implement bincode Encode/Decode traits on all turbo task values: #85580
- Turbopack: bincode: Add bincode encode/decode wrappers for
serde_json::Valuewhen stored in a cell: #86749 - Turbopack: bincode: Use bincode to store the contents of value cells: #86338
- [test] Fix external rewrite target URL origin: #86863
- Turbopack: correctly overwrite existing symlinks: #86808
- Turbopack: fix race condition when invalidating: #86859
- Turbopack: handle non-serializable cell content for cell update operation: #86861
- Turbopack: bincode: Migrate TaskInput serialization to bincode: #86631
- Add gitignore note for next-env.d.ts: #86809
- docs: fix broken examples link: #86916
- chore: update rspack binding to 1.6.7: #87058
- Update Rspack production test manifest: #87051
- docs: dynamic routes w/ gsP: #86402
- Update self-hosting.mdx: #87109
- Turbopack: Add a custom serde_self_describing Serializer/Deserializer: #86885
- Turbopack: bincode: Remove automatic serde derives from
#[turbo_tasks::value]macro: #86634 - Turbopack: Add
turbo-frozenmapcrate withFrozenMapandFrozenSetimplementations: #87042 - [turbopack] Rename is_marked_as_side_effect_free to side_effects and return ModuleSideEffects enum: #87102
- Turbopack: Switch RequestKey's
conditionsfield from BTreeMap to FrozenMap: #87099 - Turbopack: Remove remaining dead implementations of serde traits: #86910
- [turbopack[ Use a frozenset in ImportUsage: #87118
- [turbopack] Rename graph traversal algorithms: #87119
- Turbopack: Inline uses of the SliceMap type alias: #87122
- [ci] Bump Lerna to 5.x: #87180
- [ci] Downgrade Lerna to 4.0.0: #87187
- [ci] Bump Lerna to latest: #87188
- [ci] Ensure build-and-deploy runs on pushes: #87207
- [ci] Fix build-and-deploy
- [ci] Stop running build_and_deploy on tag pushes: #87176
- [ci] Ensure build-and-deploy run on path-like branches
- [ci] Cancel in-progress pull_request_stats with native concurrency features: #87190
- [ci] Cancel in-progress build_and_deploy for PRs: #87191
- [ci] Ensure runners use configured Node.js version: #87183
- chore: update next-rspack rust toolchain: #87220
- bundle-analyzer: Show compressed sizes: #87093
- chore: update @next/rspack-binding version: #87223
- [ci] Stop running explicit build when creating release: #87212
- [ci] Stop using restore-keys for package manager stores: #87209
- chore(turbo-tasks-fs): remove duplicated value_to_string of FileSystemPath: #87227
- [ci] Fix releaseStats in build-and-deploy: #87235
- Update turbopack team members: #87231
- [ci] Only install Playwright dependencies for used browser: #87002
- [turbopack] Break ties using a counter instead of node index: #87252
- bundle-analyzer: use
Core Changes
- Revert "Move next-env.d.ts to dist dir": #87311
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Upgrade React from
b45bb335-20251211tof93b9fd4-20251217: #87281 - feat: use Rspack persistent cache by default: #81399
- Move next-env.d.ts to dist dir: #86752
Misc Changes
- bundle analyzer: prevent flashes and stuck empty canvases on resize: #87289
- Cross link to the demo from the bundle analyzer: #87290
- bundle analyzer: remove geist font in favor of system ui fonts: #87292
Credits
Huge thanks to @wbinnssmith, @lukesandberg, @SyMind, and @huozhi for helping!
Core Changes
- bundle analyzer: remove custom output option: #87267
- Ensure constructor for
useSearchParamscan be imported forinstanceofchecks: #87269
Misc Changes
- [test] Don't use
request.allHeaders()in syncpage.on()callbacks: #86751 - test: fix actions deployment tests: #87279
Credits
Huge thanks to @unstubbable, @wbinnssmith, @ztanner, and @eps1lon for helping!
Core Changes
- [turbopack] update warning message in the bundle analyzer: #87255
- chore: update rspack 1.6.5: #86853
- Update font data: #87259
- bundle-analyzer: make running the web server default: #87258
Misc Changes
- [turbopack] Break ties using a counter instead of node index: #87252
- bundle-analyzer: use
Core Changes
- Reflect runtime type of
resHeadersin static types: #87145 - [turbopack] Flag
turbopackInferModuleSideEffectsso it is only enabled in canary builds: #87215
Misc Changes
- [ci] Stop using restore-keys for package manager stores: #87209
- chore(turbo-tasks-fs): remove duplicated value_to_string of FileSystemPath: #87227
- [ci] Fix releaseStats in build-and-deploy: #87235
- Update turbopack team members: #87231
- [ci] Only install Playwright dependencies for used browser: #87002
Credits
Huge thanks to @eps1lon, @xusd320, @mischnic, and @lukesandberg for helping!
Misc Changes
- chore: update next-rspack rust toolchain: #87220
- bundle-analyzer: Show compressed sizes: #87093
- chore: update @next/rspack-binding version: #87223
- [ci] Stop running explicit build when creating release: #87212
Credits
Huge thanks to @SyMind, @wbinnssmith, and @eps1lon for helping!
Core Changes
- Delete old navigation response handling implementation: #87149
Credits
Huge thanks to @acdlite for helping!
Core Changes
- Re-implement hmr-refresh in terms of refresh: #87135
Credits
Huge thanks to @acdlite for helping!
Core Changes
- fix: otel error spans from streamed responses: #86955
- Refactor: Unify history traversal with other nav types: #87128
- Create initial tree using same function as navigations: #87147
Misc Changes
- [ci] Ensure runners use configured Node.js version: #87183
Credits
Huge thanks to @ztanner, @eps1lon, and @acdlite for helping!
Core Changes
- Fix interception routes with trailing slash configuration: #86787
- [ci] Stop building when creating release: #87178
Misc Changes
- [ci] Ensure build-and-deploy run on path-like branches
- [ci] Cancel in-progress pull_request_stats with native concurrency features: #87190
- [ci] Cancel in-progress build_and_deploy for PRs: #87191
Credits
Huge thanks to @eps1lon and @wyattjoh for helping!
Core Changes
- Fix error propagation and teardown in Server Action request decoding: #87193
Misc Changes
- [ci] Ensure build-and-deploy runs on pushes: #87207
- [ci] Fix build-and-deploy
- [ci] Stop running build_and_deploy on tag pushes: #87176
Credits
Huge thanks to @unstubbable and @eps1lon for helping!
Misc Changes
- [turbopack] Rename graph traversal algorithms: #87119
- Turbopack: Inline uses of the SliceMap type alias: #87122
- [ci] Bump Lerna to 5.x: #87180
- [ci] Downgrade Lerna to 4.0.0: #87187
- [ci] Bump Lerna to latest: #87188
Credits
Huge thanks to @lukesandberg, @bgw, and @eps1lon for helping!
Core Changes
- improve segment cache lru typesafety: #87129
- [Segment Cache] Detect third-party redirect + static export w/ HEAD request: #85910
- Fix: External redirect swallowed by Next.js: #87121
Misc Changes
- [turbopack[ Use a frozenset in ImportUsage: #87118
Credits
Huge thanks to @ztanner, @SukkaW, @acdlite, and @lukesandberg for helping!
Core Changes
- [turbopack] Mark packages as side effect free when local analysis determines that they are.: #86398
- Fix: Missing null check in LRU cleanup: #87124
Example Changes
- Turbopack: Improve the description on InvalidLoaderRuleConditionIssue: #87008
Misc Changes
- chore: update rspack binding to 1.6.7: #87058
- Update Rspack production test manifest: #87051
- docs: dynamic routes w/ gsP: #86402
- Update self-hosting.mdx: #87109
- Turbopack: Add a custom serde_self_describing Serializer/Deserializer: #86885
- Turbopack: bincode: Remove automatic serde derives from
#[turbo_tasks::value]macro: #86634 - Turbopack: Add
turbo-frozenmapcrate withFrozenMapandFrozenSetimplementations: #87042 - [turbopack] Rename is_marked_as_side_effect_free to side_effects and return ModuleSideEffects enum: #87102
- Turbopack: Switch RequestKey's
conditionsfield from BTreeMap to FrozenMap: #87099 - Turbopack: Remove remaining dead implementations of serde traits: #86910
Credits
Huge thanks to @SyMind, @vercel-release-bot, @lukesandberg, @icyJoseph, @roelvan, @bgw, and @acdlite for helping!
Core Changes
- Include nextConfig in edge runtime via separate manifest: #86769
- Fix required-server-files: #86875
- Add pino-related packages to server-external-packages: #86884
- Fix validateTurboNextConfig running for next start: #86886
- Add experimental.runtimeServerDeploymentId: #86865
Misc Changes
- Turbopack: bincode: Migrate TaskInput serialization to bincode: #86631
- Add gitignore note for next-env.d.ts: #86809
- docs: fix broken examples link: #86916
Credits
Huge thanks to @mischnic, @bgw, @ijjk, @icyJoseph, and @muhammadsyaddad for helping!
Core Changes
- Upgrade React from
7dc903cd-20251203to66ae640b-20251204: #86843 - Upgrade React from
66ae640b-20251204to378973b3-20251205: #86852 - Turbopack: remove pages router double template: #86842
- Introduce NextConfigRuntime: #86812
- Generate required-server-files before prerendering: #86830
Misc Changes
- Turbopack: bincode: Implement bincode Encode/Decode traits on all turbo task values: #85580
- Turbopack: bincode: Add bincode encode/decode wrappers for
serde_json::Valuewhen stored in a cell: #86749 - Turbopack: bincode: Use bincode to store the contents of value cells: #86338
- [test] Fix external rewrite target URL origin: #86863
- Turbopack: correctly overwrite existing symlinks: #86808
- Turbopack: fix race condition when invalidating: #86859
- Turbopack: handle non-serializable cell content for cell update operation: #86861
Credits
Huge thanks to @bgw, @mischnic, @unstubbable, and @sokra for helping!
Core Changes
- [devtool] make the draggable content selective: #86816
- Create server module map proxy only once: #86750
- fix(next/image): add
?dplquery string for local images (without static import): #86485 - fix(next/image): handle
?dplfor src without protocol: #86836
Misc Changes
- docs: cookie clear and has alignment: #86788
- [test] fix missing nft file: #86817
- Remove unused
vitestfrom dependency tree: #86821 - Update installed Next.js: #86822
- Remove Vercel mention from Next.js docs: #86801
- Remove unused
vitefrom dependency tree: #86824 - Update Rspack development test manifest: #86802
- Turbopack: bincode: Add crate with bincode serialization helpers: #85878
- Turbopack: perf: Avoid clones in RopeReader: #86708
- Add Firebase App Hosting to the deployment guide: #86832
- Turbopack: bincode: Add custom bincode reader/writer implementations: #86632
- Turbopack: bincode: Add traits for types that require
TurboBincodeEncoderorTurboBincodeDecoder: #86633
Credits
Huge thanks to @icyJoseph, @huozhi, @eps1lon, @gaearon, @unstubbable, @styfle, @vercel-release-bot, @bgw, and @jhuleatt for helping!
Core Changes
- [Cache Components] Fast setImmediate: #86018
Credits
Huge thanks to @lubieowoce for helping!
Core Changes
- [turbopack] move edge entry wrapper to build template: #86699
- Properly type ComponentMod: #86765
- Properly type edge handler fn: #86766
- Remove unused Server.responseCache: #86768
Misc Changes
- Turbopack: Split Dirty into Dirtyness and CleanInSession: #86070
- Turbopack: remove DirtyContainerCount from dirty_container_update: #86071
- Turbopack: fix double deployment id in web workers: #86754
- Turbopack: Split AggregatedDirtyContainer: #86606
- Turbopack: Split AggregatedDirtyContainerCount: #86072
- Turbopack: Avoid that session-dependent tasks write to DB on every build: #86068
- Turbopack: Use TransientCellData for non-serializable cells: #86069
- Fix typo in fetching data documentation: #86758
- Upgrade React from
fd524fe0-20251121to7dc903cd-20251203: #86771 - Turbopack: use match consistently in macro: #86767
Credits
Huge thanks to @sokra, @huozhi, @mischnic, and @danpeleg4 for helping!
Core Changes
- [turbopack] Enable filesystem cache by default for development: #85975
- Log generate params duration in dev: #86726
- [CC] Fix hanging dynamic promise when abandoning render: #86690
- Convert Windows paths as well when reading sourcemap: #86723
- Deterministic functions-config-manifest.json: #86736
- Abstract deployment id access into module: #86727
- Deterministically order pages in the
MappedPagesstructure: #86744
Misc Changes
- Turbopack: arrange empty space in trace viewer correctly: #86612
- [turbopack] Remove the docs on the bundle size gap: #86707
- [test] Improve app-basepath assertion error: #86725
- fix(next-custom-transforms): preserve all declarators in multi-declarator export statements: #86552
- Turbopack: avoid snapshotting while continuously idle, fix spans : #86611
- Turbopack: fix fuzz command: #86732
- [test] Ensure CI uses configured Node.js version: #86720
- Turbopack: improve eventual consistency: #86724
- Update Rspack development test manifest: #86715
- Update Rspack production test manifest: #86716
- Turbopack: don't read binding_usage in dev: #86722
- [test] app-basepath less agressive request reading: #86740
- Stop apps/bundle-analyzer/next-env.d.ts from changing: #86743
- [turbopack] Move turbo-tasks-testing to dev-dependencies: #86745
- Turbopack: chore: Remove re-exports from turbopack crate: #85791
Credits
Huge thanks to @lukesandberg, @sokra, @mischnic, @pyrytakala, @devjiwonchoi, @lubieowoce, @eps1lon, @vercel-release-bot, and @bgw for helping!
Core Changes
- Handle cross-page client reference contamination in development: #86591
- Match behavior of baseline-browser-mapping with caniuse-lite: #86653
- Turbopack: don't generateBuildId in dev: #86581
- [devtool] unify the bundler field: #86514
- Turbopack: normalize distDir separators: #86697
- Cover org package external in externals-transitive test: #86691
Misc Changes
- Update Rspack development test manifest: #86657
- Update Rspack production test manifest: #86658
- [test] Deflake
use-cache-router-handler-onlyin deploy tests: #86678 - Allow exporting object and array literals in
'use cache'files again: #86655 - Turbopack: use tracing context for config watching: #86576
- Turbopack: align chunk loading error name: #86593
- docs: update prefix two-digit number in routing section: #77758
- [bundle-analyzer] Disable revalidateOnFocus and revalidateOnReconnect: #86688
- Turbopack: improve eventual consistency: #86682
- [test] Enable Playwright traces in deploy tests: #86683
- [test] Deflake
app-dir-prevent-304-caching: #86693 - Bump to swc 49: #86689
- Turbopack: process.env.TURBOPACK should be a string: #86680
Credits
Huge thanks to @vercel-release-bot, @eps1lon, @unstubbable, @mischnic, @Marukome0743, @devjiwonchoi, @timneutkens, and @huozhi for helping!
Core Changes
- add bundle analyzer as dev dependency to next: #86497
- Remove obsolete
setReferenceManifestsSingletoncall: #86574 - Add flag to show ignore listed frames: #86285
- Add alinea to server-external-packages.json: #55006
- Fix error logging for
'use cache'runtime errors in production: #86500 - Upgrade React from
8ac5f4eb-20251119tofd524fe0-20251121: #86473 - Add "@zenstackhq/runtime" to server-external-packages.json: #54829
- [Cache Components] Ensure cache misses always cause a restart in dev: #86583
- bump the browserslist version to silence a warning in CI: #86625
- Turbopack: import to
charnot replaced: #86573 - Revert "add bundle analyzer as dev dependency to next (#86497)": #86672
Misc Changes
- Turbopack: remove into() which cells internally: #86548
- docs: fix cache component doc grammar: #86563
- fix(turbopack): Disable ES3 transforms from preset-env: #86532
- Don't run bundle-analyzer dev script with turborepo: #86586
- [turbopack] Support traversing the graph in reverse order: #86427
Credits
Huge thanks to @mischnic, @allenzhou101, @sokra, @unstubbable, @kdy1, @devjiwonchoi, @benmerckx, @ymc9, @lubieowoce, and @lukesandberg for helping!
Core Changes
- Fix stale dev types causing build failure after route deletion: #86489
Misc Changes
- Turbopack: Simplify the return type of
FileSystemPath::try_join: #86523
Credits
Huge thanks to @gaojude and @bgw for helping!
Core Changes
- Turbopack: Expose an environment variable for exposing the
detailfield of issues: #86518 - Turbopack: inner graph tree shaking: #85973
- [next-upgrade] Fall back to
npxifyarn dlxis not available: #86384 - Update font data: #86521
- Convert any export from a
'use cache'module to a cache function: #86014
Misc Changes
- Migrate required-server-files-ssr-404 to be isolated: #86515
- Turbopack: fixup route hashes generation: #86502
- Bump swc: #86496
- Try to improve typed-routes test flakyness: #86512
- Use retry in tests instead of requesting page: #86535
- Turbopack: Use
Debuginstead ofDisplayforValueDebugFormatimpl onRcStr: #86522 - [test] Add test fixture for runtime error in
'use cache': #86499 - Migrate app-dir-export test to be isolated: #86534
- Turbopack: write symlinks to access transitive
serverExternalPackages: #86375 - Fix no-double-tailwind-execution flake: #86549
- Update Rspack development test manifest: #86531
- Turbopack: slightly fewer turbo tasks calls during resolving: #86542
- Turbopack: remove OptionStringifiedSourceMap: #86547
Credits
Huge thanks to @bgw, @mischnic, @eps1lon, @vercel-release-bot, and @unstubbable for helping!
Core Changes
- [turbopack] Enable the filesystem cache for dev in canary builds: #85940
- docs: fix typos in packages: #82508
Example Changes
- chore(examples): remove
with-windicssexample: #81846 - examples: fix typos in cms-agilitycms: #82504
Misc Changes
- Fix typed routes test expectations: #86487
- Add test for external middleware rewrite with changed headers: #49606
- Fix grammar and typos in typescript doc: #86513
- Skip filesystem-cache.test.ts test with Webpack: #86506
Credits
Huge thanks to @gaojude, @lukesandberg, @JamBalaya56562, @florianliebig, @icyJoseph, and @mischnic for helping!
Misc Changes
- Update Rspack production test manifest: #86457
Credits
Huge thanks to @vercel-release-bot for helping!
Core Changes
- Eslint: Improve Google Tag manager third parties message: #51903
- [ts-plugin] keep showing the types in the function body: #86273
Example Changes
- examples: fix typos: #82506
Misc Changes
- Fix compilation of exported server functions: #86296
- docs: fix getInitialProps execution behavior during navigation: #86387
- Turbopack: bail instead of panic: #86470
Credits
Huge thanks to @unstubbable, @that-one-arab, @JamBalaya56562, @shrink, @huozhi, and @mischnic for helping!
Please see the Next.js Security Update for information about this security patch.
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Update react version in cna templates (#86950)
Credits
Huge thanks to @huozhi for helping!
Please see CVE-2025-66478 for additional details about this release.
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- bump the browserslist version to silence a warning in CI (#86625)
Credits
Huge thanks to @lukesandberg for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix(nodejs-middleware): await for body cloning to be properly finalized (#85418)
Credits
Huge thanks to @lucasadrianof for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: Rename proxy.js to middleware.js in NFT file (#86214)
- fix: prevent fetch abort errors propagating to user error boundaries (#86277)
- Turbopack: fix passing project options from napi (#86256)
Credits
Huge thanks to @devjiwonchoi, @sokra and @ztanner for helping!
Core Changes
- fix: Rspack throw error when using ForceCompleteRuntimePlugin: #85221
- fix: build CLI output not displaying Proxy (Middleware) when nodejs runtime: #85403
- fix: staleTimes.static should consistently enforce a 30s minimum: #85479
- [turbopack] fix build of empty entries of pages: #84873
- Cache the head separately from the route tree: #84724
- Allow inspecting dev server on default port with
next dev --inspect: #85037 - Avoid proxying React modules through workUnitStore: #85486
- fix: redirect should always return updated router state: #85533
- Upgrade React from
b4455a6e-20251027to4f931700-20251029: #85518 - [turbopack] Move generation of
cacheLifetypes out of the webpack plugin and into the dev bundler directly: #85539 - Ensure user-space stack frame for
'use cache'in page/layout component: #85519 - Update parallel routes in build-complete: #85546
- fully remove clientSegmentCache flag: #85541
- [turbopack] Support relative paths in turbopack source maps.: #85146
- Release unnecessary memory on hydration finish: #84967
- Preserve interception markers in parameter types: #85526
- move segment cache entries to top level segment-cache dir: #85542
- Upgrade React from
4f931700-20251029to561ee24d-20251101: #85670 - [devtools] Remove title from preferences: #85698
- Update font data: #85708
- Don't invalidate hot reloader excessively during dev server boot: #85732
- [codemod] fix: next-lint-to-eslint-cli did not handle
'next'plugin: #85749 - Upgrade React from
561ee24d-20251101to67f7d47a-20251103: #85762 - Tracing: Fix memory leak in span map: #85529
- Fix documentation typo in refresh function: #85696
- fix: eslint-config-next types was exporting to dist/src: #85768
- Upgrade React from
67f7d47a-20251103tof646e8ff-20251104: #85772 - remove unused RSC payload property: #85746
- [runtime prefetching]: fix runtime prefetching when deployed: #85595
- Turbopack: next build --analyze: #85197
- Build: Log amount of workers during static generation: #85706
- Upgrade React from
f646e8ff-20251104todd048c3b-20251105: #85819 - Sync devFallbackParams when generateStaticParams change: #85741
- chore: upgrade rspack 1.6.0: #84210
- [mcp] get_routes mcp tool: #85773
- Split each path param into a separate cache key : #85758
- [turbopack] change server source maps in production to use relative paths: #85576
- fix: skip collecting metadata for app-error in webpack: #85892
- fix: support root span attributes with a custom server: #85521
- fix isDynamicRSC condition when deployed: #85919
- [turbopack] Make it possible to synchronously access native bindings: #85787
- Upgrade React from
dd048c3b-20251105tofa50caf5-20251107: #85906 - Fix telemetry event loss on build failures and server shutdown: #85867
- Remove one stack frame from
'use cache'call stacks: #85966 - Upgrade React from
fa50caf5-20251107to52684925-20251110: #85980 - Deployment adapter: fix metadata for "/" route: #85820
- Enable React's default Transition indicator behind a flag: #86000
- update routes-manifest to include whether app has pages routes: #86051
Misc Changes
- chore: Add
opt-level = sfor not frequently used crates: #85426 - [test] Deflake cache-components-allow-otel-spans: #85466
- [test] Move remaining
experimental.cacheLife: #85467 - Turbopack: chore: Remove mopa dependency in turbo-tasks (2nd attempt): #85286
- Update Proxy docs: #85439
- [CNA] Do not prompt for Turbopack: #85404
- Clean up new release process: #85458
- Update E2E tests workflow: #85485
- Update E2E deploy tests manifest: #85483
- docs: example are incorrect async function exports only: #85453
- [test] Handle CLI assertions where no "Compiling..." log is present: #85499
- [test] Speed up refresh test: #85505
- [test] Add test cases for dynamic caches without suspense boundaries: #85500
- docs: Routes are wrapped w/ Activity in Cache Components: #85309
- docs: GET handler behavior under cache components: #85389
- [test] Avoid needless start/stop from using
createSandbox: #85507 - [test] Use
--debug-build-pathsinstead ofNEXT_PRIVATE_APP_PATHS: #85504 - docs: revalidateTag requires second argument: #85284
- Refactor GTM implementation to support google tag gateway: #81011
- Update Rspack production test manifest: #85494
- Update Rspack development test manifest: #85495
- [docs] Fix a typo: #85492
- [test] Regenerate tsconfig.json files: #85515
- [Turbopack] clean up
completion.rsa bit: #84863 - [test] Remove
maxRetriesandhardErrorparameters: #85536 - Turbopack: remove the .into() alias to .cell(): #85516
- [test] Consolidate identical snapshots across different bundlers: #85532
- [turbopack] Change where
cells are created inresolve_rawto make cell allocation order deterministic.: #85525 - Turbopack: Make tasks deterministic: #85524
- [test] Separate act and assertions: #85508
- [test]
assert*->waitFor*when the util is not instant: #85450 - Turbopack: move whole_app_module_graphs to top level: #84897
- [test] Bail on sending requests to Next.js instance if it's no longer available: #85557
- [test] Deflake tests comparing two random numbers: #85571
- [test] Disallow custom
RegExp-like implementations incheck: #85537 - [test] Deflake prerender suite: #85563
- Turbopack: chore: Remove some dead MagicAny serialization code from turbo_tasks::value: #85577
- [test]: fix broken scroll restoration test: #85599
- [test] Deflake nested
after()tests: #85566 - [test] Stop installing unused dependencies: #85569
- [test] Consider
test/integration/in flake detection tests: #85590 - Turbopack: more checks on verify_serialization: #84952
- Turbopack: add track_caller to improve panics: #85565
- Turbopack: add verify_determinism feature to check if tasks are deterministic: #85559
- docs: cache life rework: #85224
- Turbopack: fix hanging dev server and builds with fs cache: #85606
- Turbopack: Fix compound assignment expression evaluation (#85478): #85593
- Turbopack: fix Scope holding Arc too long: #85611
- [ci] Improve change detection logic in
run-for-changescript: #85619 - [test] Ignore in deploy tests if a child process isn't available: #85636
- Turbopack: add size_hint and len for Chunk iterator: #85622
- [test]: move resume-data-cache to e2e test: #85647
- Update Rspack development test manifest: #85662
- Update Rspack production test manifest: #85661
- Update Rspack production test manifest: #85688
- Update Rspack development test manifest: #85689
- [test] Deflake root-optional-revalidate: #85584
- docs: fix generateImageMetadata example to use normal params object: #85658
- Turbopack: Upgrade image crate: #85084
- docs: update multi sitemap argumenmt type: #85701
- [test] Move all files to .ts (6/6): #85641
- Turbopack: add a batch add method to the storage: #84270
- docs: recommend reverse-proxy when self-hosting: #85650
- [test] Deflake prefetching.stale-times: #85733
- [test] Deflake custom cache handler test: #85610
- [test] Allow CLI integration test to be retryable: #85586
- docs: update docs to mention ESLint as default: #85740
- docs(next.config): this docs should remove ".mts" is not supported.: #85716
- Turbopack: cleanup StyleSheetLike: #85718
- Turbopack: disable tree shaking for tracing: #85722
- [test] Move all files to .ts (3/6): #85638
- [test] Move all files to .ts (2/6): #85637
- [test] Move all files to .ts (1/6): #85634
- docs: generateSitemap passes id as promise: #85767
- [test] Move all files to .ts (4/6): #85639
- docs: disclosure on path-to-regexp: #85629
- chore: update rspack binding to 1.6.0: #85717
- Turbopack: trace worker_threads worker entry: #85734
- Update Rspack development test manifest: #85761
- Turbopack: chore: Remove
extern crateandmacro_usesyntax: #85778 - [turbopack] Drop duration and allocation tracking from CaptureFuture: #85534
- Turbopack: chore: Remove dead RouteMatcher stuff: #85784
- docs: fresh up getting started 00: #85736
- Turbopack: chore: Remove the serde_regex dependency, which wasn't very heavily used: #85578
- Turbopack: use batch add in connect children: #85623
- [test] Move all files to .ts (5/6): #85640
- [test] Deflake legacy-link-behavior: #85805
- Resolve request ID confusion: #85809
- Turbopack: use batch add to add initial followers: #85624
- Turbopack: chore: Remove dead experimental.ppr struct field: #85792
- Turbopack: chore: Avoid string clones in Glob::parse by using RcStr: #85579
- Update Rspack production test manifest: #85795
- docs: getting started updates 01: #85750
- chore: Update patricia_tree dependency, remove manual serde impls: #85785
- docs: keywords in system reqs and add browserslist: #85838
- Honour
NEXT_TEST_PREFER_OFFLINEininstall-native.mjs: #85850 - Turbopack: chore: Update anyhow, remove old backtrace feature: #85844
- Turbopack: Remove some dead (or useless) code from
next-core/src/next_client_reference/visit_client_reference.rs: #85843 - sort dependencies for smaller diffs: #82291
- Update Rspack development test manifest: #85846
- Turbopack: Remove
non_operation_vc_strongly_consistentfeature usage from next-api: #85874 - Turbopack: remove the streaming hack for improved stability: #85858
- test: Port clean-distdir integration test to the modern e2e test framework: #85828
- Update font data: #85920
- Update deploy manifest: #85924
- Turbopack: chore: Merge
turbo-tasks-macros-sharedcrate intoturbo-tasks-macros: #85917 - Turbopack: Fix IO concurrency for MacOS: #85861
- Add Appwrite Sites to supported adapters: #85830
- [turbopack] Remove LocalTaskType::Native, it is dead: #85480
- [test] Increase response timeout in
next.browserWithResponse(): #85911 - Hoist inner
'use cache'functions to reduce function allocations: #85904 - docs: eslint config update: #85969
- Fix Turbopack local font
font-familydeclaration: #85913 - switch to slice in createRuntimePrefetchTransformStream: #85822
- Update authentication.mdx: Fix
Auth0Link: #85953 - Turbopack: remove unused function: #85974
- docs: cacheHandlers: #85311
- docs: Feedback item on proxy default: #86004
- [test] Add missing test fixtures for
cacheLife&cacheTagin client: #85872 - Fix false-positive build error for
cacheLife&cacheTag: #85875 - [cna] For pnpm ignore postinstall from
sharpandunrs-resolver: #83168 - Turbopack: refactor
evaluateto take module_graph: #85971 - Turbopack: remove duplicate traversal implementations: #85853
- Omit unused
encryptActionBoundArgs/decryptActionBoundArgsimports: #86015 - Turbopack: cleanup db log and add verbose option: #85965
- [ci]: fix retry_deploy_test workflow: #85981
- Fix typo in documentation: #86054
Credits
Huge thanks to @kdy1, @eps1lon, @SyMind, @bgw, @swarnava, @devjiwonchoi, @ztanner, @ijjk, @huozhi, @icyJoseph, @acdlite, @unstubbable, @gnoff, @gusfune, @vercel-release-bot, @lukesandberg, @sokra, @hayes, @shuding, @wyattjoh, @marjan-ahmed, @timneutkens, @ajstrongdev, @zigang93, @mischnic, @Nayeem-XTREME, @hamirmahal, @eli0shin, @tessamero, @gaojude, @jamesdaniels, @georgesfarah, and @timeyoutakeit for helping!
[!NOTE]
This version includes no code or feature changes. To get the latest change, please look for the next patch release v16.0.3 or next@latest
Misc Changes
- Turbopack: avoid embedding deployment ID into the turbopack runtime: #86370
- Revert "Turbopack: JsAnalyzer parse AssignExpr (#83962)": #86420
- [test] Let pending test finish on abort: #86307
Credits
Huge thanks to @sokra, @mischnic, and @eps1lon for helping!
Misc Changes
- Revert "[turbopack] Model
||,&&, and??as control flow operators (#85837)": #86432
Credits
Huge thanks to @lukesandberg for helping!
Core Changes
- Skip request if "full" prefetch is already pending: #86405
Credits
Huge thanks to @acdlite for helping!
Misc Changes
- Update Next.js auth docs examples: #86361
- Update Rspack production test manifest: #86369
- Revert "Turbopack: remove Asset supertrait from Module trait. Modules don't have content": #86415
Credits
Huge thanks to @feedthejim, @vercel-release-bot, and @sokra for helping!
Core Changes
- add debug logs to onSegmentPrerenderError: #86358
Misc Changes
- docs: cacheLife feedback: #86128
Credits
Huge thanks to @ztanner and @icyJoseph for helping!
Core Changes
- Add reasons for some server-external-packages: #86254
- Send dynamic validation errors to browser via WebSocket: #85818
- Delete un-used prefetch outputs with PPR: #86100
- Revert "Turbopack: add bundle-analyzer to versioning and add dependen…: #86394
- Turbopack: add bundle-analyzer to versioning and add dependency: #86355
- fix issue - #86365: #86366
- Turbopack: fix import chain by determining depth locally per route: #86350
- Use JSONC for default server-external-packages: #86252
Misc Changes
- Turbopack: refactor tuple variant into struct: #86374
- Migrate to VisitMut: #86347
- Turbopack: decode url encoding and relative paths in source maps: #86342
- Turbopack: remove Asset supertrait from Module trait. Modules don't have content: #86339
- docs: csr-bailout debugging: #86359
- docs: serverless deploy feedback: #86357
- Bump swc to 48: #86240
Credits
Huge thanks to @mischnic, @unstubbable, @ijjk, @ztanner, @sokra, @icyJoseph, @zhiyanzhaijie, and @mischnic for helping!
Core Changes
- Turbopack: allow trace level tracing: #86255
- Allow SSR to finish microtasky work before flushing: #86311
- Turbopack: fix passing project options from napi: #86256
- [Cache Components] Atomic setTimeouts: #86093
- Turbopack: add experimental.turbopackInputSourceMaps and respect serverSourceMaps: #86340
- [Cache Components] Discriminate static shell validation errors by type: #85747
- Turbopack: add NEXT_TURBOPACK_WRITE_ROUTES_HASHES_MANIFEST to write hashes into manifest: #86257
Example Changes
- docs: add example for enabling both AVIF and WebP image formats for better image optimization: #86191
Misc Changes
- Turbopack: bundle-analyzer need to avoid using the local next.js build: #86258
- Turbopack: remove unused method: #86259
- Turbopack: disable input source maps for analyze: #86341
- Turbopack: perf: Fix unused argument filtering optimization in turbo-tasks for
selfarguments: #86231 - Turbopack: Remove dead
turbo_tasks::persisted_graphmodule: #86329 - [turbopack] Refactor the analyzer to fix a few issues and prepare to split it up: #86265
- next-analyze: improve network error visuals: #86222
- Turbopack: test if unused self arguments are filtered: #86353
- Upgrade React from
0972e239-20251118to8ac5f4eb-20251119: #86351 - Update Rspack development test manifest: #86332
Credits
Huge thanks to @sokra, @lubieowoce, @bgw, @lukesandberg, @wbinnssmith, @KaziMahbuburRahman, and @vercel-release-bot for helping!
Misc Changes
- create-next-app: Add
ignoreScriptsforunrs-resolveron bun: #86324
Credits
Huge thanks to @bgw for helping!
Core Changes
- [Segment Cache] Re-implement refresh reducer: #84426
- Upgrade React from
fb2177c1-20251114to0972e239-20251118: #86263 next analyze: Make ipv6 server links valid and normalize localhost: #86219- fix: prevent fetch abort errors propagating to user error boundaries: #86277
- chore(turbopack-node): remove some outdated codes: #86111
- [devtools] Ensure Chrome DevTools workspace can connect with proxy rewrites: #86289
- Fix log log alignment in spinners: #86298
- fix: Rename proxy.js to middleware.js in NFT file: #86214
Misc Changes
- Update Rspack production test manifest: #86233
- [test] Update snapshots: #86288
- [test] Add failing test for
useActionStatewith'use cache': #86292 - [test] Disable flaky prefetching.stale-times test: #86299
- Update Rspack production test manifest: #86283
- Replace tuples with better suited data structures for server references: #86294
Credits
Huge thanks to @acdlite, @vercel-release-bot, @eps1lon, @wbinnssmith, @unstubbable, @ztanner, @xusd320, and @devjiwonchoi for helping!
Core Changes
- next analyze: annotate polyfill modules in UI: #86062
- Stop adding additional padding to Next.js logs: #86139
- [next-upgrade] Add
next upgrade: #86120 - Fix prerendering of interception routes with generateStaticParams: #85835
Example Changes
- Chore: Update with-supabase example to Next.js 16: #86105
Misc Changes
- chore: remove empty docs folder: #86216
- docs: cacheHandlers use object instead of class: #86022
- docs: follow up to getting started CC and use-cache API ref: #85582
- Turbopack: use batch insert to make dependencies outdated: #85625
Credits
Huge thanks to @wbinnssmith, @eps1lon, @dijonmusters, @icyJoseph, @H01001000, @wyattjoh, and @sokra for helping!
Misc Changes
- [turbopack] Model
||,&&, and??as control flow operators: #85837
Credits
Huge thanks to @lukesandberg for helping!
Core Changes
- Allow attaching a debugger when
next devis already running: #86083 - Introduce
next analyze: a built-in bundle analyzer for Turbopack: #85915 - Turbopack: add
experimental.turbopackClient/ServerSideNestedAsyncChunking: #85827
Misc Changes
- [turbopack] Remove
ClonefromEffect: #86110 - Turbopack: mark more modules as side effect free: #86136
- [test] Use
next-data-api-endpointfor Middleware HTTP method tests: #86157 - fix broken extend implementation on DynamicStorage: #86204
- Turbopack: avoid creating another async chunk loader where there is already one available: #85817
- Fix typo on 03-layouts-and-pages.mdx: #86186
- Update 14-metadata-and-og-images.mdx: #86198
Credits
Huge thanks to @lukesandberg, @eps1lon, @sokra, @unstubbable, @hamidreza-nateghi, @jokokoloko, and @wbinnssmith for helping!
Core Changes
- Turbopack: Add bundle analyzer UI to next build --experimental-analyze: #85788
- Upgrade React from
93fc5740-20251113tofb2177c1-20251114: #86155 - fix: cacheMaxMemorySize should not disable dev HMR cache: #86164
- Fix streaming server actions: #86148
Misc Changes
- Turbopack: only enable nested async availability in production: #85728
Credits
Huge thanks to @sokra, @wbinnssmith, @ztanner, and @unstubbable for helping!
Core Changes
- fix(nodejs-middleware): await for body cloning to be properly finalized: #85418
- Add build-time validation to detect ambiguous app routes: #85834
- Don't use inspector frontend URLs from other processes: #86082
- Upgrade React from
52684925-20251110to93fc5740-20251113: #86103 - [next-upgrade] Force install of dev dependencies: #86119
- Fix telemetry event race condition in webpack worker for @vercel/og detection: #86145
Misc Changes
- Add postpone handling in app-page handler: #86101
- Turbopack: remove global_information struct: #86089
- Turbopack: add task_id_details feature: #84970
- Turbopack: Refactor output assets to allow to lazy compute output assets: #85753
- Un-skip tests in prefetch-runtime.test.ts: #86097
- Turbopack: add flags to AvailabilityInfo: #85771
- Turbopack: apply side effects false removal on all module types: #86133
- [build] Remove
layersexperiment flag from next-runtime webpack config: #86126
Credits
Huge thanks to @lucasadrianof, @ijjk, @wyattjoh, @eps1lon, @mischnic, @sokra, @acdlite, @unstubbable, and @gaojude for helping!
Core Changes
- [devtool] highlight all link in error message: #86084
Misc Changes
- Update cookies.mdx: #86094
- Remove redundant example code for cacheLife docs: #86043
- test: improve router prefetch test reliability: #86098
Credits
Huge thanks to @huozhi, @sequencerr, @Strernd, and @wyattjoh for helping!
Core Changes
- Fix 404 responses for interception routes with missing children slots: #85779
- Build: Share StaticWorker between static check and static generation: #85860
Misc Changes
- perf: revert to use the light safe stringify for is-error: #86053
- Turbopack: expose used export info in tests: #86037
- Docs: Mention npm link with Turbopack root: #86075
- script: align the commits group logic with the origin script: #86079
Credits
Huge thanks to @huozhi, @wyattjoh, @mischnic, and @timneutkens for helping!
Core Changes
- Enable React's default Transition indicator behind a flag: #86000
- update routes-manifest to include whether app has pages routes: #86051
Misc Changes
- Turbopack: remove duplicate traversal implementations: #85853
- Omit unused
encryptActionBoundArgs/decryptActionBoundArgsimports: #86015 - Turbopack: cleanup db log and add verbose option: #85965
- [ci]: fix retry_deploy_test workflow: #85981
- Fix typo in documentation: #86054
Credits
Huge thanks to @mischnic, @unstubbable, @sokra, @eps1lon, @ztanner, and @timeyoutakeit for helping!
Misc Changes
- docs: Feedback item on proxy default: #86004
- [test] Add missing test fixtures for
cacheLife&cacheTagin client: #85872 - Fix false-positive build error for
cacheLife&cacheTag: #85875 - [cna] For pnpm ignore postinstall from
sharpandunrs-resolver: #83168 - Turbopack: refactor
evaluateto take module_graph: #85971
Credits
Huge thanks to @icyJoseph, @unstubbable, and @mischnic for helping!
Core Changes
- Deployment adapter: fix metadata for "/" route: #85820
Misc Changes
- Update authentication.mdx: Fix
Auth0Link: #85953 - Turbopack: remove unused function: #85974
- docs: cacheHandlers: #85311
Credits
Huge thanks to @jamesdaniels, @georgesfarah, @mischnic, and @icyJoseph for helping!
Core Changes
- Fix telemetry event loss on build failures and server shutdown: #85867
- Remove one stack frame from
'use cache'call stacks: #85966 - Upgrade React from
fa50caf5-20251107to52684925-20251110: #85980
Misc Changes
- [test] Increase response timeout in
next.browserWithResponse(): #85911 - Hoist inner
'use cache'functions to reduce function allocations: #85904 - docs: eslint config update: #85969
- Fix Turbopack local font
font-familydeclaration: #85913 - switch to slice in createRuntimePrefetchTransformStream: #85822
Credits
Huge thanks to @gaojude, @unstubbable, @icyJoseph, @shuding, and @ztanner for helping!
Core Changes
- Upgrade React from
dd048c3b-20251105tofa50caf5-20251107: #85906
Core Changes
- [turbopack] Make it possible to synchronously access native bindings: #85787
Misc Changes
- Turbopack: Fix IO concurrency for MacOS: #85861
- Add Appwrite Sites to supported adapters: #85830
- [turbopack] Remove LocalTaskType::Native, it is dead: #85480
Credits
Huge thanks to @sokra, @tessamero, and @lukesandberg for helping!
Core Changes
- fix: support root span attributes with a custom server: #85521
- fix isDynamicRSC condition when deployed: #85919
Misc Changes
- Update font data: #85920
- Update deploy manifest: #85924
- Turbopack: chore: Merge
turbo-tasks-macros-sharedcrate intoturbo-tasks-macros: #85917
Credits
Huge thanks to @eli0shin, @ztanner, @vercel-release-bot, @ijjk, and @bgw for helping!
Core Changes
- chore: upgrade rspack 1.6.0: #84210
- [mcp] get_routes mcp tool: #85773
- Split each path param into a separate cache key : #85758
- [turbopack] change server source maps in production to use relative paths: #85576
- fix: skip collecting metadata for app-error in webpack: #85892
Misc Changes
- chore: Update patricia_tree dependency, remove manual serde impls: #85785
- docs: keywords in system reqs and add browserslist: #85838
- Honour
NEXT_TEST_PREFER_OFFLINEininstall-native.mjs: #85850 - Turbopack: chore: Update anyhow, remove old backtrace feature: #85844
- Turbopack: Remove some dead (or useless) code from
next-core/src/next_client_reference/visit_client_reference.rs: #85843 - sort dependencies for smaller diffs: #82291
- Update Rspack development test manifest: #85846
- Turbopack: Remove
non_operation_vc_strongly_consistentfeature usage from next-api: #85874 - Turbopack: remove the streaming hack for improved stability: #85858
- test: Port clean-distdir integration test to the modern e2e test framework: #85828
Credits
Huge thanks to @SyMind, @bgw, @icyJoseph, @unstubbable, @hamirmahal, @huozhi, @vercel-release-bot, @acdlite, @lukesandberg, and @sokra for helping!
Misc Changes
- docs: getting started updates 01: #85750
Credits
Huge thanks to @icyJoseph for helping!
Core Changes
- remove unused RSC payload property: #85746
- [runtime prefetching]: fix runtime prefetching when deployed: #85595
- Turbopack: next build --analyze: #85197
- Build: Log amount of workers during static generation: #85706
- Upgrade React from
f646e8ff-20251104todd048c3b-20251105: #85819 - Sync devFallbackParams when generateStaticParams change: #85741
Misc Changes
- [turbopack] Drop duration and allocation tracking from CaptureFuture: #85534
- Turbopack: chore: Remove dead RouteMatcher stuff: #85784
- docs: fresh up getting started 00: #85736
- Turbopack: chore: Remove the serde_regex dependency, which wasn't very heavily used: #85578
- Turbopack: use batch add in connect children: #85623
- [test] Move all files to .ts (5/6): #85640
- [test] Deflake legacy-link-behavior: #85805
- Resolve request ID confusion: #85809
- Turbopack: use batch add to add initial followers: #85624
- Turbopack: chore: Remove dead experimental.ppr struct field: #85792
- Turbopack: chore: Avoid string clones in Glob::parse by using RcStr: #85579
- Update Rspack production test manifest: #85795
Credits
Huge thanks to @ztanner, @lukesandberg, @bgw, @icyJoseph, @sokra, @eps1lon, @timneutkens, @unstubbable, @devjiwonchoi, and @vercel-release-bot for helping!
Core Changes
- Upgrade React from
561ee24d-20251101to67f7d47a-20251103: #85762 - Tracing: Fix memory leak in span map: #85529
- Fix documentation typo in refresh function: #85696
- fix: eslint-config-next types was exporting to dist/src: #85768
- Upgrade React from
67f7d47a-20251103tof646e8ff-20251104: #85772
Misc Changes
- Turbopack: cleanup StyleSheetLike: #85718
- Turbopack: disable tree shaking for tracing: #85722
- [test] Move all files to .ts (3/6): #85638
- [test] Move all files to .ts (2/6): #85637
- [test] Move all files to .ts (1/6): #85634
- docs: generateSitemap passes id as promise: #85767
- [test] Move all files to .ts (4/6): #85639
- docs: disclosure on path-to-regexp: #85629
- chore: update rspack binding to 1.6.0: #85717
- Turbopack: trace worker_threads worker entry: #85734
- Update Rspack development test manifest: #85761
- Turbopack: chore: Remove
extern crateandmacro_usesyntax: #85778
Credits
Huge thanks to @mischnic, @eps1lon, @icyJoseph, @timneutkens, @Nayeem-XTREME, @devjiwonchoi, @SyMind, @vercel-release-bot, and @bgw for helping!
Core Changes
- Update font data: #85708
- Don't invalidate hot reloader excessively during dev server boot: #85732
- [codemod] fix: next-lint-to-eslint-cli did not handle
'next'plugin: #85749
Misc Changes
- Update Rspack production test manifest: #85688
- Update Rspack development test manifest: #85689
- [test] Deflake root-optional-revalidate: #85584
- docs: fix generateImageMetadata example to use normal params object: #85658
- Turbopack: Upgrade image crate: #85084
- docs: update multi sitemap argumenmt type: #85701
- [test] Move all files to .ts (6/6): #85641
- Turbopack: add a batch add method to the storage: #84270
- docs: recommend reverse-proxy when self-hosting: #85650
- [test] Deflake prefetching.stale-times: #85733
- [test] Deflake custom cache handler test: #85610
- [test] Allow CLI integration test to be retryable: #85586
- docs: update docs to mention ESLint as default: #85740
- docs(next.config): this docs should remove ".mts" is not supported.: #85716
Credits
Huge thanks to @vercel-release-bot, @eps1lon, @marjan-ahmed, @timneutkens, @huozhi, @sokra, @icyJoseph, @unstubbable, @ajstrongdev, @devjiwonchoi, and @zigang93 for helping!
Core Changes
- [devtools] Remove title from preferences: #85698
Misc Changes
- Update Rspack development test manifest: #85662
- Update Rspack production test manifest: #85661
Credits
Huge thanks to @vercel-release-bot and @devjiwonchoi for helping!
Core Changes
- Upgrade React from
4f931700-20251029to561ee24d-20251101: #85670
Core Changes
- fully remove clientSegmentCache flag: #85541
- [turbopack] Support relative paths in turbopack source maps.: #85146
- Release unnecessary memory on hydration finish: #84967
- Preserve interception markers in parameter types: #85526
- move segment cache entries to top level segment-cache dir: #85542
Misc Changes
- [test]: fix broken scroll restoration test: #85599
- [test] Deflake nested
after()tests: #85566 - [test] Stop installing unused dependencies: #85569
- [test] Consider
test/integration/in flake detection tests: #85590 - Turbopack: more checks on verify_serialization: #84952
- Turbopack: add track_caller to improve panics: #85565
- Turbopack: add verify_determinism feature to check if tasks are deterministic: #85559
- docs: cache life rework: #85224
- Turbopack: fix hanging dev server and builds with fs cache: #85606
- Turbopack: Fix compound assignment expression evaluation (#85478): #85593
- Turbopack: fix Scope holding Arc too long: #85611
- [ci] Improve change detection logic in
run-for-changescript: #85619 - [test] Ignore in deploy tests if a child process isn't available: #85636
- Turbopack: add size_hint and len for Chunk iterator: #85622
- [test]: move resume-data-cache to e2e test: #85647
Credits
Huge thanks to @ztanner, @eps1lon, @lukesandberg, @sokra, @icyJoseph, @hayes, @unstubbable, @shuding, and @wyattjoh for helping!
Core Changes
- Upgrade React from
b4455a6e-20251027to4f931700-20251029: #85518 - [turbopack] Move generation of
cacheLifetypes out of the webpack plugin and into the dev bundler directly: #85539 - Ensure user-space stack frame for
'use cache'in page/layout component: #85519 - Update parallel routes in build-complete: #85546
Misc Changes
- [docs] Fix a typo: #85492
- [test] Regenerate tsconfig.json files: #85515
- [Turbopack] clean up
completion.rsa bit: #84863 - [test] Remove
maxRetriesandhardErrorparameters: #85536 - Turbopack: remove the .into() alias to .cell(): #85516
- [test] Consolidate identical snapshots across different bundlers: #85532
- [turbopack] Change where
cells are created inresolve_rawto make cell allocation order deterministic.: #85525 - Turbopack: Make tasks deterministic: #85524
- [test] Separate act and assertions: #85508
- [test]
assert*->waitFor*when the util is not instant: #85450 - Turbopack: move whole_app_module_graphs to top level: #84897
- [test] Bail on sending requests to Next.js instance if it's no longer available: #85557
- [test] Deflake tests comparing two random numbers: #85571
- [test] Disallow custom
RegExp-like implementations incheck: #85537 - [test] Deflake prerender suite: #85563
- Turbopack: chore: Remove some dead MagicAny serialization code from turbo_tasks::value: #85577
Credits
Huge thanks to @swarnava, @eps1lon, @lukesandberg, @sokra, @unstubbable, @bgw, and @ijjk for helping!
Core Changes
- fix: staleTimes.static should consistently enforce a 30s minimum: #85479
- [turbopack] fix build of empty entries of pages: #84873
- Cache the head separately from the route tree: #84724
- Allow inspecting dev server on default port with
next dev --inspect: #85037 - Avoid proxying React modules through workUnitStore: #85486
- fix: redirect should always return updated router state: #85533
Misc Changes
- Update E2E tests workflow: #85485
- Update E2E deploy tests manifest: #85483
- docs: example are incorrect async function exports only: #85453
- [test] Handle CLI assertions where no "Compiling..." log is present: #85499
- [test] Speed up refresh test: #85505
- [test] Add test cases for dynamic caches without suspense boundaries: #85500
- docs: Routes are wrapped w/ Activity in Cache Components: #85309
- docs: GET handler behavior under cache components: #85389
- [test] Avoid needless start/stop from using
createSandbox: #85507 - [test] Use
--debug-build-pathsinstead ofNEXT_PRIVATE_APP_PATHS: #85504 - docs: revalidateTag requires second argument: #85284
- Refactor GTM implementation to support google tag gateway: #81011
- Update Rspack production test manifest: #85494
- Update Rspack development test manifest: #85495
Credits
Huge thanks to @ztanner, @ijjk, @huozhi, @icyJoseph, @eps1lon, @acdlite, @unstubbable, @gnoff, @gusfune, and @vercel-release-bot for helping!
Core Changes
- fix: Rspack throw error when using ForceCompleteRuntimePlugin: #85221
- fix: build CLI output not displaying Proxy (Middleware) when nodejs runtime: #85403
Misc Changes
- chore: Add
opt-level = sfor not frequently used crates: #85426 - [test] Deflake cache-components-allow-otel-spans: #85466
- [test] Move remaining
experimental.cacheLife: #85467 - Turbopack: chore: Remove mopa dependency in turbo-tasks (2nd attempt): #85286
- Update Proxy docs: #85439
- [CNA] Do not prompt for Turbopack: #85404
- Clean up new release process: #85458
Credits
Huge thanks to @kdy1, @eps1lon, @SyMind, @bgw, @swarnava, and @devjiwonchoi for helping!
Core Changes
- fix(static-paths): add depth tracking to parallel route param resolution: #85319
- Fix types of @next/mdx: #82238
- Ensure getServerInsertedHTML skips rendering correctly: #85394
- Fix duplicate .next/types
includeon Windows: #85400 - Exclude
next-jscondition from middleware, proxy, and instrumentation: #85321 - remove unstable_forceStale prefetch option & restore
prefetch={true}functionality: #85411 - Upgrade React from
2bcbf254-20251020to6160773f-20251023: #85277 - fix(next/image): swap dependencies: #85419
- Handle
Origin: nullheaders: #85402 - Generalize Segment Cache fallback implementation: #84652
- fix: ensure req.query is writable: #81573
- fix: Proxy not picked up on Windows: #85443
- [test] Ensure we can toggle the DevTools menu while status indicators are active: #85456
- Fix crash when suspending in Components using
useActionQueue: #85459
Misc Changes
- docs: create-next-app react-compiler and new prompts: #85213
- docs: cache components - introduction: #85196
- docs: use cache feedback: #85169
- docs: stabilize apis in docs: #85219
- docs: revalidateTag immediate expiration in Route Handlers: #85223
- Docs/use cache feedback 2: #85222
- docs: added
use cache: remotedocs: #85145 - docs: proxy runtime defaults to nodejs: #85204
- chore: cache components feedback: #85241
- docs: add a note that cache components is opt-in near the top: #85245
- Docs/v16 feedback: #85259
- Update command to install babel-plugin-react-compiler as a devDependency: #85235
- docs: typegen next-env.d.ts feedback: #85273
- docs: link to MCP guide from upgrade: #85308
- docs: regexp removed from middleware config: #85343
- docs: simplify MCP guide to focus on next-devtools-mcp: #85353
- docs: fix proxy matcher overflow: #85337
- docs: point out diff in serialization types for arguments and return values: #85338
- [test] Update snapshots: #85407
- docs: Fix typo in SEO section of loading.mdx: #85301
- Fix typo in Fast Refresh documentation: #85352
- Fix grammatical errors in updating data documentation: #85067
- [test] Skip devlow benchmarks on PRs: #85408
- [test] Unflake typed-env suite: #85410
- Update rust toolchain to 2025-10-27: #85409
- [test] Speed up prefetching suite: #85417
- docs: remove inaccuracies from use cache: private: #85425
- [test] Exclude Next.js internal stack frames from cache-component-error CLI output assertions: #85421
- [test] Exclude likely Next.js internal Components from component stacks in Redbox assertions: #85420
- Turbopack: correctly trace files with npm: #85323
Credits
Huge thanks to @icyJoseph, @wyattjoh, @devjiwonchoi, @arnabsen, @remcohaszing, @denesbeck, @gaojude, @mhart, @eps1lon, @jesuistuan, @codr, @InfiniteCodeMonkeys, @gnoff, @ztanner, @wbinnssmith, @styfle, @acdlite, @ale-grosselle, and @mischnic for helping!
Core Changes
- fix(next/image): swap dependencies: #85419
- Handle
Origin: nullheaders: #85402 - Generalize Segment Cache fallback implementation: #84652
- fix: ensure req.query is writable: #81573
- fix: Proxy not picked up on Windows: #85443
- [test] Ensure we can toggle the DevTools menu while status indicators are active: #85456
- Fix crash when suspending in Components using
useActionQueue: #85459
Misc Changes
- docs: remove inaccuracies from use cache: private: #85425
- [test] Exclude Next.js internal stack frames from cache-component-error CLI output assertions: #85421
- [test] Exclude likely Next.js internal Components from component stacks in Redbox assertions: #85420
- Turbopack: correctly trace files with npm: #85323
Credits
Huge thanks to @styfle, @ztanner, @eps1lon, @acdlite, @ale-grosselle, @devjiwonchoi, and @mischnic for helping!
Core Changes
- Upgrade React from
2bcbf254-20251020to6160773f-20251023: #85277
Misc Changes
- Update rust toolchain to 2025-10-27: #85409
- [test] Speed up prefetching suite: #85417
Credits
Huge thanks to @wbinnssmith and @eps1lon for helping!
Core Changes
- Ensure getServerInsertedHTML skips rendering correctly: #85394
- Fix duplicate .next/types
includeon Windows: #85400 - Exclude
next-jscondition from middleware, proxy, and instrumentation: #85321 - remove unstable_forceStale prefetch option & restore
prefetch={true}functionality: #85411
Misc Changes
- docs: regexp removed from middleware config: #85343
- docs: simplify MCP guide to focus on next-devtools-mcp: #85353
- docs: fix proxy matcher overflow: #85337
- docs: point out diff in serialization types for arguments and return values: #85338
- [test] Update snapshots: #85407
- docs: Fix typo in SEO section of loading.mdx: #85301
- Fix typo in Fast Refresh documentation: #85352
- Fix grammatical errors in updating data documentation: #85067
- [test] Skip devlow benchmarks on PRs: #85408
- [test] Unflake typed-env suite: #85410
Credits
Huge thanks to @denesbeck, @gaojude, @mhart, @icyJoseph, @eps1lon, @jesuistuan, @codr, @InfiniteCodeMonkeys, @gnoff, and @ztanner for helping!
Core Changes
- Fix types of @next/mdx: #82238
Credits
Huge thanks to @remcohaszing for helping!
Core Changes
- fix(static-paths): add depth tracking to parallel route param resolution: #85319
Misc Changes
- docs: link to MCP guide from upgrade: #85308
Credits
Huge thanks to @icyJoseph and @wyattjoh for helping!
Misc Changes
- docs: add a note that cache components is opt-in near the top: #85245
- Docs/v16 feedback: #85259
- Update command to install babel-plugin-react-compiler as a devDependency: #85235
- docs: typegen next-env.d.ts feedback: #85273
Credits
Huge thanks to @icyJoseph and @arnabsen for helping!
Misc Changes
- docs: create-next-app react-compiler and new prompts: #85213
- docs: cache components - introduction: #85196
- docs: use cache feedback: #85169
- docs: stabilize apis in docs: #85219
- docs: revalidateTag immediate expiration in Route Handlers: #85223
- Docs/use cache feedback 2: #85222
- docs: added
use cache: remotedocs: #85145 - docs: proxy runtime defaults to nodejs: #85204
- chore: cache components feedback: #85241
Credits
Huge thanks to @icyJoseph, @wyattjoh, and @devjiwonchoi for helping!
[!TIP]
Check out our Next v16 Blog Post to learn more about this release.
Core Changes
- Development: Don't import app-router / hot-reloader through next/link in application code: #83656
- Remove clientParamParsing requirement from RDC for Navigations: #83661
- Upgrade React from
6b70072c-20250909to886b3d36-20250910: #83650 - Turbopack: Use readFileSync / writeFileSync for manifest writing: #83694
- Upgrade React from
886b3d36-20250910tof3a80361-20250911: #83696 - Don't create client-side debug channel if the feature is disabled: #83699
- fix: dev should produce the correct default fallback regex to match builds/Turbopack: #83701
- [devtool] fix overlay styles are missing: #83721
- Revert "Remove clientParamParsing requirement from RDC for Navigations": #83725
- Only enable unhandledRejection filtering when opted in: #83726
- Fix index data route for adapter build-complete: #83730
- Remove leading underscore for unhandledRejection envvar: #83732
- Upgrade React from
f3a80361-20250911to93d7aa69-20250912: #83729 - Upgrade React from
93d7aa69-20250912to8a8e9a7e-20250912: #83742 - Fix reentrancy of unhandledRejection filtering: #83741
- Fix type for unhandled rejection handler process.removeListener: #83748
- [OTel] fix: Root span name should not include high cardinality URL: #75416
- Turbopack: Remove matchers.reload() call on each request: #83720
- [Breaking] Flat config as default in
@next/eslint-plugin-next: #83763 - fix: Rspack splitChunks.chunks regex: #83670
- Revert "Turbopack: Remove matchers.reload() call on each request": #83819
- fix: unstable_cache should perform blocking revalidation during ISR revalidation: #83820
- fix(Rspack): resolve HMR unresponsiveness or unexpected full reload & update dev snapshot: #83480
- Allow
next.config.mtsfor Node.js native TS resolver: #83556 - chore: Ensure Import Trace starts in a newline: #83638
- Development: Remove matchers.reload() on each request: #83829
- Upgrade React from
8a8e9a7e-20250912to5e0c951b-20250916: #83850 - Bump typescript 5.9.2: #83833
- Allow headers, rewrites and redirects to be defined as sync functions: #83743
- Turbopack: Optimize addedRoutes and removedRoutes calculation: #83840
- [next-config-ts] Set Node.js native TS loader fallback flag to process.env: #83832
- Development: Clarify TypescriptStatus in watcher: #83857
- Upgrade sharp dependency to version ^0.34.4: #83892
- Upgrade React from
5e0c951b-20250916to128abcfa-20250917: #83906 - Add native ts resolver docs link to transpile-config: #83914
- OTel: use
srcPagefor templates whennext.routeis unavailable: #83911 - Remove inline CSS sourcemaps from next-devtools: #83917
- Development: Move all TypeScript related work in watcher together: #83912
- [Cache Components] Allow sync IO inside console methods : #83843
- Upgrade React from
128abcfa-20250917to84af9085-20250917: #83959 - Build: Add .next/trace-build with high level trace: #83949
- Remove force writing **/*.mts to tsconfig: #83967
- feat: Isolate dev build from prod: #83961
- Remove JS size reporting from next build: #83815
- Docs/workspace setup: #83490
- Turbopack: support
import ... with {type: "bytes"}: #83896 - fix: error overlay not closing when backdrop clicked: #83981
- Upgrade React from
84af9085-20250917tod415fd3e-20250919: #84003 - fix: worker logs should still support color: #84024
- Update font data: #84005
- Allow passing port to
next internal trace: #83907 - Turbopack: error when importing Typescript in node_modules: #83990
- Turbopack: Deterministic builds (prerender-manifest, .next/package.json, ./next/postcss.js): #84081
- Turbopack: Fix babel-loader (allowing built-in or manual configuration): #82676
- [Cache Components] allow using headers() in runtime prefetches: #83838
- [Breaking] Remove deprecated
publicRuntimeConfigandserverRuntimeConfig: #83944 - Turbopack: mode to disable tracing: #83683
- babel-loader: Fix a few issues with config caching: #83973
- Turbopack: Merge babel-loader and react-compiler configuration logic to avoid running babel twice: #83502
- [breaking]: enable router scroll optimization by default: #84102
- Fix layout for
ssgPageRoutesin the file tree: #84104 - Turbopack: Remove useless 'default' built-in webpack loader condition: #84111
- Fix: Client should auto reload after server restarts: #83971
- trace-build: Add missing spans: #84080
- Development: Remove TypeScript from the hot path during bootup: #84090
- Guide users to
experimental.cacheComponentsconfig: #84121 - Development: Only load webpack when used: #84123
- Turbopack: Skip loading webpack plugin: #84125
- Development: Only load createEnvDefinitions when used: #83935
- BREAKING CHANGE!: bump default
images.minimumCacheTTLfrom 1 min to 4 hours: #84105 - Feat: Add Model Context Protocol (MCP) server to Next.js dev server: #84100
- Upgrade React from
d415fd3e-20250919to1eca9a27-20250922: #84093 - Turbopack: Remove the deprecated
.turboconfig object: #84109 - Flag excess properties in Next.js config with TypeScript: #84069
- docs: update Security section to direct disclosures : #84156
- ci: Enable
experimental.isolatedDevBuildfortest-experimental-dev: #84099 - [turbopack] Ensure React Compiler options are based dev vs prod: #84062
- Enable anonymous function naming in React Compiler: #84070
- Revert "[Breaking] Remove deprecated
publicRuntimeConfigandserverRuntimeConfig(#83944)": #84167 - Fix double comma in build manifest: #84131
- [turbopack] set app dir only to true when no pages entries detected: #84144
- Split code-frame into separate compiled package: #84174
- refactor: separate forward browser logs utils: #84151
- Upgrade React from
1eca9a27-20250922toe2332183-20250924: #84189 - [Cache Components] default to filtering unhandledRejection after abort: #84192
- fix: prevent URL mutation in router rewrites: #83963
- fix(server): fix pages router resume router matching: #84158
- Feat:
get_errorsMCP endpoint: #84161 - Add internal environment variable for enabling React Compiler: #84176
- [devtools] Disable React's default Transition indicator: #84202
- Upgrade React from
e2332183-20250924tob0c1dc01-20250925: #84248 - Feat:
get_page_metadataMCP endpoint: #84211 - feat: capture logs into logging file during development: #84183
- babel-loader: Avoid calling expensive
isReactCompilerRequiredcheck when we must run Babel anyways: #84103 - [mcp] expose logging: #84226
- Move
config.turbopack.moduleIdstoconfig.experimental.turbopackModuleIds: #84230 - Show invalid default export errors during prerendering: #84242
- fix: make sure caller exists in babel preset: #84154
- [mcp] allow to enable mcp server through env var: #84278
- fix(metadata): make formatDetection respect true/false properly: #83924
- Upgrade React from
b0c1dc01-20250925todf38ac9a-20250926: #84276 - Add a --webpack flag and default --turbopack to true: #84216
- fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
- [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
- Move
config.turbopack.moduleIdstoconfig.experimental.turbopackModuleIds: #84230 - Show invalid default export errors during prerendering: #84242
- fix: make sure caller exists in babel preset: #84154
- [mcp] allow to enable mcp server through env var: #84278
- fix(metadata): make formatDetection respect true/false properly: #83924
- Upgrade React from
b0c1dc01-20250925todf38ac9a-20250926: #84276 - Add a --webpack flag and default --turbopack to true: #84216
- fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
- [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
- Turbopack: only write merged manifests when they have been changed: #84261
- Turbopack: add separate turbopackPersistentCachingForBuild/ForDev flags: #84215
- Revert "Add a --webpack flag and default --turbopack to true (#84216)": #84348
- Upgrade React from
df38ac9a-20250926tod15d7fd7-20250929: #84347 - Mark React Compiler integration as stable: #84220
- [cna] Add
reactCompileroption: #82251 - Turbopack: remove canary version check for turbopackPersistentCachingForDev: #84277
- [turbopack] Add support for debug_ids: #84319
- Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"": #84351
- [Breaking] Remove AMP codemod: #84356
- [Breaking] Remove deprecated built-in AMP: #84312
- auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents: #84250
- [mcp] get server action tool: #84382
- Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)""": #84389
- Update otel test assertions and pages span_name: #84393
- [Breaking] Bump minimum TypeScript version to 5.1.0: #84384
- Upgrade React from
d15d7fd7-20250929toef889445-20250930: #84383 - [Breaking] Remove deprecated
unstable_rootParams: #84373 - [metadata] remove falsy dynamicParams approach: #84405
- fix: next rspack binding NextExternalsPlugin: #84303
- Development: Skip route matching when there is an existing match: #84227
- Revert "auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents": #84419
- Upgrade React from
ef889445-20250930to548235db-20251001: #84416 - [Breaking] Update default browserslist config: #84401
- Upgrade React from
548235db-20251001to1bd1f01f-20251001: #84417 - Allow
metadataBaseto be a string URL in addition toURLinstance: #84297 - Upgrade React from
1bd1f01f-20251001to86181134-20251001: #84427 - [mcp] logging file should be reset for each session: #84425
- Revert "Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"""": #84394
- Optimize isMetadataRoute function: #84409
- [ci]: split clientSegmentCache test runners off from experimental: #84440
- [Cache Components] Fix caching in
generateMetadata/generateViewport: #84228 - Upgrade React from
86181134-20251001toa757cb76-20251002: #84463 - [segment cache]: fix trailingSlash handling with output: export: #84465
- perf: Use a more aggressive retry loop for
recursiveDelete: #84444 - [Cache Components] Dim logs after prerender aborts: #84153
- telemetry track mcp server usage: #84471
- simplify the way we check for turbopack config to ensure we support an empty turbopack object: #84494
- perf: Use synchronous IO when cleaning
distDirinnext devandnext build: #84472 - Make turbopack the default bundler for custom servers: #84281
- [segment cache]: fix interception route handling: #84497
- Upgrade React from
a757cb76-20251002to85c427d8-20251003: #84496 - [segment cache]: collectSegmentData should respect experimental.staleTime config: #84520
- Fix potential race condition with request ID in dev mode: #84532
- [test] Enable
reactDebugChannelfor experimental test shards: #84533 - Simplify Metadata components: #84527
- Implement the updated prerender API shape: #84254
- Upgrade React from
85c427d8-20251003to4fdf7cf2-20251003: #84499 - Upgrade React from
4fdf7cf2-20251003toc7862584-20251006: #84573 - fix(Turbopack): Add better error messaging for when we can't determine Next.js root: #83918
- Allow silencing unhandled rejection filter warnings and improve debugging: #84572
- [MCP] Fix: Do not dedup by URL for MCP get_page_metadata: #84564
- Guard
createDebugChannelimport by feature flag: #84604 - Build: Add time to logline of every step: #84602
- Upgrade React from
c7862584-20251006toa4eb2dfa-20251006: #84589 - [Cache Components] Schedule work on timeouts: #84344
- [dev] Define request ID for RSC requests on the client: #84605
- fix(cache-tags): add
/indexto implicit tags and adjustrevalidatePath(): #84586 - Build: Highlight TypeScript and ESLint being run clearer: #84606
- [Breaking] Bump sass-loader to v16: #84387
- Update cases for build complete with adapters: #84361
- Turbopack: delete .next folder before throwing due to "pages/app directory must be in the same folder": #84553
- [mcp] change get-project-path to get-project-metadata: #84619
- feat(next/image)!: deprecate and warn on
images.domainsconfig: #84625 - feat(next/legacy/image)!: deprecate and warn on
next/legacy/imageusage: #84622 - Turbopack: improve errors/warnings for turbopack messages: #84552
- Turbopack: rename turbopackPersistentCachingForXXX to turbopackFileSystemCacheForXXX: #84632
- [Segment Cache] Add refresh URL to reused default segments: #84627
- [Segment Cache] Fix tests related to optimistic loading state reuse: #84498
- Upgrade React from
a4eb2dfa-20251006to3025aa39-20251007: #84613 - [breaking]: enable clientSegmentCache by default: #84643
- feat: Acquire a lockfile on
distDirinnext devandnext build: #84428 - Add deprecation warning to Runtime config: #84168
- [middleware]: add upper bound to cloneBodyStream: #84539
- Remove automatic linting from build: #83136
- Re-enable legacyBehavior and passHref on Link: #84500
- [cna] Use stable React Compiler: #84660
- Add codemod for
middlewaretoproxy: #84127 - Fix dynamic catchall parameter interpolation in parallel routes: #84279
- feat(breaking): Hard Deprecate PPR Configuration: #84280
- Deprecate
middlewareand recommendproxy: #84119 - Put native TS resolver for next config under
--experimental-next-config-strip-typesflag: #84675 - Fix interception route rewrites for nested dynamic routes: #84413
- fix: strip NEXTSEP from interpolated pathnames: #84430
- chore: Remove useless symlink resolution logic in
recursive-delete.js: #84582 - breaking(next/image)!: remove 16px from default
images.imageSizesconfig: #84647 - add Statsig Node Core package to Server External Packages: #84157
- Remove bailed out SSG routes from the list of SSG: #83861
- Revert "[Breaking] Skip Next.js internal routes
/_nextin middleware": #84697 - Bump eslint-plugin-react-hooks to v7: #84669
- Add refresh API to next/cache: #84666
- [Breaking] Require
images.localPatternsfor query in Image src: #84406 - [Breaking] feat(next/image)!: add support for
images.dangerouslyAllowLocalIPandimages.maximumRedirects: #84676 - Add new updateTag API and new signature for revalidateTag: #83822
- Add validation for missing default.js in parallel routes: #84702
- misc: allow beta to be triggered: #84713
- Fix tags check for expired/stale: #84717
- tweak middlewareClientMaxBodySize handling: #84712
- docs: Add more details to
useLightningcssdocs: #84581 - Version gate migration docs link: #84740
- [Cache Components] Allow hiding logs after abort: #84579
- Log
Compiled proxy in ...: #84746 - Upgrade React from
3025aa39-20251007to9724e3e6-20251008: #84642 - Remove unused
eslint-disabledirectives: #84797 - Use ESLint Flat Config: #84800
- fix missing flight-router-state-tree header normalization: #84718
- Write
.next/dev/types/**/*.d.tsto default tsconfig: #84747 - Upgrade React from
9724e3e6-20251008toead92181-20251010: #84793 - [mcp] capture next config schema errors: #84832
- feat: using @next/rspack-core: #84221
- Upgrade React from
ead92181-20251010tod7215b49-20251013: #84850 - Turbopack build: Switch to using workerthreads for process: #84818
- [Cache Components] Dev - restart render on cache miss: #84088
- Update font data: #84785
- Fix build compile mode if pages dir does not exist in Next.js 16: #84783
- improve next config schema validation errors: #84847
- Upgrade React from
d7215b49-20251013to56e84692-20251014: #84860 - warnOnce for Middleware deprecation: #84862
- Add codemod for Middleware API to Proxy API: #84824
- Deprecate Middleware API and add Proxy API: #84764
- remove
clientParamParsingconfiguration & bundle it withcacheComponents: #84763 - remove dynamicIO flag: #84872
- Bump eslint-plugin-react to 7.37.0: #84876
- Add nextjs condition when cacheComponents is enabled: #84843
- remove rdcForNavigations configuration & bundle with cacheComponents: #84870
- Convert eslint-config-next project to TypeScript: #84839
- [eslint-config] [Breaking] Use Flat config by default: #84874
- [Cache Components] Remove
unstableprefix fromunstable_cacheLife: #84877 - fix: always use the safe stable stringify: #84909
- [Cache Components] Fix cacheSignal in dev render: #84846
- [dev-overlay] Never dedupe errors with different names or messages: #84908
- Remove deprecated experimental_ppr route-level configuration: #84871
- Include server latency in debug info: #84580
- Fix parallel routes ignoring generateStaticParams from primary route: #84889
- Revert "Include server latency in debug info": #84932
- Development: Use process.hrtime for request time calculation: #84905
- Use correct JSX runtime for library-owned JSX in React Server: #84869
- Development: Implement request log time details: #84906
- [Cache Components] Remove
unstableprefix fromunstable_cacheTag: #84880 - [Cache Components] separate runtime stage in dev render: #84644
- Reland "Include server latency in debug info": #84950
- Update codemod ESLint template to Flat config: #84919
- Upgrade React from
56e84692-20251014to93f85932-20251016: #84963 - [dev] Fix Middleware and Proxy file conflict: #84965
- stabilize experimental.enablePrerenderSourcemaps: #84916
- Stop manually setting stacktrace limit: #84968
- Turbopack: respect
--profileCLI param: #84920 - Relax default.tsx validation for parallel routes leaf segments: #84767
- Add codemod for removing
unstable_prefix: #84974 - Interception routes match from nested route navigation: #84898
- [Cache Components] Allow unstable prefix for cacheLife and cacheTag: #84934
- Relax default.tsx validation for parallel routes leaf segments: #84767
- Add codemod for removing
unstable_prefix: #84974 - Interception routes match from nested route navigation: #84898
- [Cache Components] Allow unstable prefix for cacheLife and cacheTag: #84934
- Add codemod for removing
experimental_ppr: #84979 - fix: throw error during build when invalid export for Proxy: #84886
- [cache components]: prevent expired entries from being served: #84975
- Delete old prefetch cache related code: #84977
- docs: Deprecation of Middleware: #84710
- Add rendered search to router state: #84983
- [segment cache]: delay revalidation prefetch pings 300ms: #84981
- Show relative path from cwd for Proxy Middleware file conflict error: #84993
- [Cache Components] fix docs for cacheLife("seconds"): #85004
- Rename MiddlewareMatcher to ProxyMatcher: #85005
- [Breaking] Rename instrumentation onRequestError
context.routeTypefrommiddlewaretoproxy: #85006 - [turbopack] Prevent accidental access to
.next: #84714 - fix: incorrect canonicalUrl set when using output: export: #85019
- Add Activity name to route layouts and pages: #85011
- Update next-lint-to-eslint-cli to support
FlatCompat.config: #85026 - [cache components]: move flag out of experimental: #85035
- [Cache Components] When caches are disabled in dev skip the cache warmup: #85014
- [Cache Components] Use canary React when only Cache Components is enabled: #85042
- Turbopack: Remove unneeded warning for telemetry: #85039
- [cache components] stabilize cacheLife profiles: #85050
- [cache components] show when cache components is enabled in the CLI: #85047
- [cache components]: show cache components enabled in DevTools: #85048
- [Cache Components] correctly label IO promises in devtools: #84928
- Plumbing for cache indicator: #84955
- Upgrade React from
93f85932-20251016to1324e1bb-20251016: #84999 - enable mcp server by default: #85058
- Add comment that we expect the function passed to bind to be anonymous: #85070
- Development: Addres comments on request log PR: #84945
- Development: Implement request time for Pages Router: #85012
- [cache components] add cache components indicator to dev start: #85069
- cli: build partial entries --debug-build-paths arg: #85052
- Turbopack: Better error for sassOptions.functions as it's unsupported: #85073
- Upgrade React from
58bdc0bb-20251019tof6a48828-20251019: #85081 - [devtools]: instrument client navigation hooks for suspense devtools: #85007
- Remove Segment from CacheNodeSeedData: #85080
- label as Prefetch/Prefetchable depending on prefetch config: #85076
- [cache components]: add 'bypass' cache indicator status: #85082
- Upgrade React from
f6a48828-20251019to2bcbf254-20251020: #85112 - [cache components]: guard against setCacheStatus since its conditionally defined: #85125
- warn: add deprecation warning of eslint config: #85122
- add new devtools indicator loading state: #85083
- Await initial Flight response before hydrating: #85124
- fix(experimental.lockDistDir): Acquire the lock in dev earlier: #85116
- telemetry: mcp tool call: #85120
- [Turbopack] dedupe build errors: #85062
- Fix subtree layout alignment for route summary in
next build: #85137 - [codemod] Remove runtime config when running
middleware-to-proxy: #85075 - [turbopack] Improve the multiple bundler flags messge to note that perhaps your
package.jsonis the problem: #85118 - Add Learn more docs to Middleware deprecation warning: #84711
- [BF Cache]: skip lazyData fetch logic for inactive segments: #85142
- Pass
startTimeto initial RSC payload stream: #85144 - guard navigation
usehooks for React 18: #85151 - [turbopack] Don't warn on the lightning css experimental option: #84913
- Turbopack: Remove redundant log line, increase delay for compiling log message: #85133
- Make params and searchParams new Promises: #85158
- Name "cache" streams for React DevTools: #85159
- Use cacheMaxMemorySize config in default cache handler: #85153
- Omit params to from client segments: #84883
- enable experimental.routerBfCache behind cacheComponents: #84923
- [Cache Components] Allow stale longer than expire in cacheLife: #85115
- Update Activity names given to routes: #85155
- use port zero for --inspect when forking, if used by parent: #85128
- Update blocking prerender error message: #85087
- Fix: CSS asset URLs broken with
experimental.inlineCss: #85140 - Update routes generation for build-complete: #85017
- [cache components] move experimental.cacheHandlers out of experimental: #85157
- Don't assign displayName to the internal Promises: #85178
- Assign name to hydration stream: #85179
- fix: add backwards compat for middleware → proxy field renames: #85183
- [turbopack] Implement improved deobfuscation for free calls and module identifiers.: #85060
- Improve Proxy invalid export error message: #84887
- Fix Activity boundary names: #85185
- [codemod] Install ESLint v9 if version under for next-lint-to-eslint-cli: #85182
- [upgrade] Version gate adding
--turbopackflag: #85180 - Tweaks to blocking route error message: #85191
- Remove layout-router sticky/fixed debug warning: #85193
- [cache components] persist cache bypass UI until it's disabled: #85190
- Only allow node runtime in proxy: #85139
- logger: skip logging full element: #85194
- Fix: CSS asset URLs broken with
experimental.inlineCss: #85140 - Update routes generation for build-complete: #85017
- [cache components] move experimental.cacheHandlers out of experimental: #85157
- Don't assign displayName to the internal Promises: #85178
- Assign name to hydration stream: #85179
- fix: add backwards compat for middleware → proxy field renames: #85183
- [turbopack] Implement improved deobfuscation for free calls and module identifiers.: #85060
- Improve Proxy invalid export error message: #84887
- Fix Activity boundary names: #85185
- [codemod] Install ESLint v9 if version under for next-lint-to-eslint-cli: #85182
- [upgrade] Version gate adding
--turbopackflag: #85180 - Tweaks to blocking route error message: #85191
- Remove layout-router sticky/fixed debug warning: #85193
- [cache components] persist cache bypass UI until it's disabled: #85190
- Only allow node runtime in proxy: #85139
- logger: skip logging full element: #85194
Example Changes
- docs: Convert relative imports to @ aliases in examples: #83813
- chore: add example with oxlint: #83842
- fix: correct typo 'incomming' to 'incoming' in with-mqtt-js example: #83887
- chore: improve oxlint example: #83898
- docs: update Dockerfile to use node:lts-alpine instead of node:18-alpine: #84229
- Use Array.from to avoid @ts-ignore when copying i18n.locales: #82148
- examples: Remove AMP example: #84355
- [docs] fix(with-supabase): Update README env variables: #84745
Misc Changes
- Turbopack: remove
css_environmentfromEnvironment: #83487 - Turbopack: Don't add client_runtime_entries to Route Handler compilation: #83655
- Turbopack: Only load capsize-font-metrics once: #83654
- [CI] Fix GitHub Actions matrix configuration for React versions: #83677
- fix(Turbopack): Enable scope hoisting for large files or module counts: #83399
- [turbopack] Lazily construct
resolved::RequestsforEsmAssetReference: #83662 - Update content-security-policy.mdx, fix development environment error: #83665
- tests: disable flaky deployment test while investigating upstream: #83705
- [test] Update snapshots for Rspack + React 18: #83712
- Docs/sep paper cuts: #83689
- [Turbopack] Remove
ssr-datamodule context: #83626 - CI: use KV for test timing data: #83745
- Emit build error when
'use cache'directive is misspelled: #83756 - docs(metadata): align default function export name with file name: #83796
- [turbopack] Remove the
should_track_childrenparameter of the turbo tasks backend: #83258 - docs(data-security): add bun package manager example: #83735
- Update next-intlayer reference in i18n doc: #83761
- Update Rspack production test manifest: #83790
- Update Rspack development test manifest: #83791
- Turbopack: chunking debugging utilities: #83801
- Removed link to maintain text consistency: #83644
- Turbopack: rename some fields in fs: #83808
- Turbopack: validate CSS without computing all paths: #83810
- [test] Disable flaky navigation test: #83828
- docs: Type narrowing using LayoutProps, PageProps: #83692
- docs: implications of mutating cookies in server actions: #83691
- Only retry if canary fails on required jobs: #83851
- docs: Fix self-referential link to Middleware in middleware.mdx: #83854
- Update Rspack production test manifest: #83826
- Update generate-metadata.mdx: #81853
- Turbopack: remove lazy invalidated tasks: #83845
- Turbopack: remove Backend TaskState: #83846
- Turbopack: don't recompute empty parse results: #83883
- Turbopack: delete broken hmr benchmark: #83882
- Turbopack: only generate error string in error case: #83884
- docs: the as prop is still available in Pages Router: #83864
- Turbopack: map_module_batch: #83885
- Turbopack: Change run once signature to avoid exposing TaskId: #83844
- docs: Update command to use
npxfor tracing files: #83903 - Turbopack: ModuleGraphRef: #83890
- Update Rspack development test manifest: #83876
- Turbopack: make graph traversal sync: #83891
- chore: Fix test snapshot: #83901
- Update Rspack production test manifest: #83877
- docs: add
next.config.tsNode.js native resolver: #83561 - Turbopack: add turbo_tasks::run to run in turbo tasks scope without a task: #83847
- Turbopack: fix double codegen of some merged modules: #83886
- Turbopack: add traces to merged module computation: #83908
- Turbopack: RuleCondition support resourceQuery contains: #83468
- fix: add the missing comma in the document example: #83932
- Turbopack: Document the reasons for the current design of
parse_segment_config_from_source: #83919 - Turbopack: extract parse_source_map_comment: #83938
- Turbopack: enable nodelay for node.js pool socket: #83942
- feat: next-rspack-binding: #82811
- Only send notification if canary fails on required jobs: #83953
- Turbopack: allow to read State from turbo_tasks::run: #83955
- Fix conclusion check for retry_test workflow: #83960
- Add Descope to Auth libraries list: #83968
- [turbopack] Track task durations in the task_statistics file: #83522
- [turbopack] Remove the
issue_pathfeature and related functionality: #83920 - Turbopack: use turbo_tasks::run in next.js to avoid task memory leak: #83848
- Update Rspack production test manifest: #83934
- Update Rspack development test manifest: #83933
- Turbopack: add test case that checks memory leak: #83849
- Turbopack: read project strongly consistent in project_update: #83974
- Fix output comparison when checking conclusion of required jobs: #83986
- Turbopack: JsAnalyzer parse AssignExpr: #83962
- Turbopack: less eager manifest generation: #83736
- Turbopack: use depth as priority for merged module info: #83909
- Turbopack: "connect" tasks in turbo_tasks::run too: #83975
- Update Rspack production test manifest: #83979
- Update Rspack development test manifest: #83980
- Turbopack: Make transient tasks root tasks too when called in turbo_tasks::run: #83976
- Turbopack: trace state changes: #83977
- [turbopack] cleanup analyzer: #83983
- [Turbopack] Fix AST traversal for
thisin function default parameters: #83746 - [turbopack] Consolodate logic for visiting functions to simplify state management: #82763
- [turbopack] Track the scope in which variables are assigned: #82845
- [turbopack] Set
livenessof exports based on assignment analysis: #82802 - Turbopack: trace all state changes: #84053
- docs: We have dropped the CORS example linked: #84065
- docs: add pageExtensions note to Middleware and clarify default filename: #84045
- Fix TypeScript type error in example code: #84041
- Turbopack: fix test case and update project_update to turbo_tasks::run too: #83978
- Turbopack: run tests with multiple threads: #84074
- Turbopack: flush Node.js worker IPC on error: #84077
- Turbopack: parallelize scope hoisting computation: #83904
- Add test for JS resource size on navigation: #83731
- Update Rspack development test manifest: #84061
- Update Rspack production test manifest: #84060
- Turbopack: Document automatic Babel config support: #84002
- docs: Fix the title/path of the turbopack page on pages router: #84001
- Turbopack: remove references from ChunkData: #84076
- Turbopack: include availability hash in the ident of evaluated chunks groups: #84082
- [turbopack] s/analyse/analyze/g: #84112
- [Turbopack] avoid attaching referenced output assets to chunks: #75933
- fix(docs): Fix links in UPGRADING.md: #84114
- docs: improve dynamic routes example in project structure page: #84086
- docs: onRequestError request header type: #83988
- Turbopack: Improve persistent caching test case: #83205
- Turbopack: add more details to the graph panic: #84126
- docs: Cookies store access is async: #83987
- Bump Rust to nightly-2025-09-21: #83415
- Upgrade CodSpeed action and add analyzer benchmarks: #84135
- Turbopack: fix run_once when returning error: #84142
- [turbopack] Conditionally collect affecting sources: #83921
- Turbopack: slightly improve resolve_source_map_sources: #84147
- Turbopack: RawEcmascriptModule: #81806
- Turbopack: add more details to the graph panic: #84143
- test: split app-middleware test per describe: #84130
- Update Rspack development test manifest: #84117
- script: improve release log generation: #83686
- Turbopack: split task_execution_completed into multiple methods: #84170
- Turbopack: only generate field if spans are enabled: #84184
- Turbopack: support more dynamic request with import map: #84178
- [turbopack] defer a
value_to_stringoperation until we need it: #84188 - Update Rspack production test manifest: #84165
- Revert "[turbopack] Set
livenessof exports based on assignment ana…: #84207 - Turbopack: increase retry duration, reduce busy looping when there is other work: #84171
- Turbopack: Try to avoid block_in_place in scope: #84172
- [turbopack] Remove some bitmap clones: #84193
- Turbopack: lazier manifests, part deux: #84191
- Turbopack: avoid panic on updating output when a task was cancelled: #84214
- docs: nav_title for long unbroken words: #84233
- Turbopack: Use
RawValueformappingsinsideSourceMapJson: #84208 - Update Rspack development test manifest: #84218
- Turbopack: fix NFT of readFileSync of relative path: #84155
- Turbopack: improve references benchmark: #84223
- Update Rspack production test manifest: #84217
- Turbopack: drop ASTs when only tracing: #84185
- docs: Include more detailed instructions on excluding from common AV solutions, including macOS Gatekeeper: #84206
- Turbopack: trace fs-extra calls: #84246
- [test] Overhaul
Undefined default exporttest suite: #84235 - Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default exportan e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
- Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default exportan e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
- [test] Ignore pnpm update notifier: #84328
- [test] Stop downloading unused test browsers when generating PR stats: #84329
- docs: remove repeated to: #84325
- Turbopack: Use more robust logic for absolute and percent-encoded URLs in source maps received from loaders: #84255
- Turbopack: only replace edge dynamic calls in dev: #84354
- [turbopack] Remove a bunch of dead code from the source map implementation: #84318
- Turbopack: prevent duplicate NFT modules: #84369
- docs: Remove AMP docs: #84357
- docs: Type helpers don't need to be imported: #84265
- Turbopack: Add docs for debugIds option: #84375
- Remove references to size metrics in next build from our docs: #83823
- Bump to swc v42: #83477
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84376
- Turbopack: trace module.createRequire: #84335
- Update failing e2e deploy tests: #84395
- Turbopack: Webpack loader
this.fs.readFile: #83313 - Improve tests: #84374
- Revamp Next.js boilerplate: #81945
- Add test for twoslash: #84267
- Docs/project structure polish: #84386
- Bump to swc v44: #84420
- Turbopack: don't fail for parse errors in tracing: #84408
- Update Rspack development test manifest: #84365
- Update Rspack production test manifest: #84366
- [ci]: remove PPR-specific CI jobs: #84439
- docs: Verbose troubleshooting for unconfigured hosts: #84271
- Update Rspack production test manifest: #84398
- Add gt-next to i18n list: #84396
- [ci]: fix build-output-prerender to support segment cache env: #84467
- [ci]: fix app-static snapshots with clientSegmentCache: #84468
- Turbopack: Only benchmark file IO on
next dev: #84474 - Turbopack: improve incremental build performance when deployment id changes: #84460
- fix: Missing link in Lazy Loading docs: #84473
- docs: simplify streaming metadata: #84253
- make withRspack idempotent: #84482
- Turbopack: Use strongly consistent reads in
random_changeunit test: #84505 - Update Rspack development test manifest: #84480
- Update Rspack production test manifest: #84481
- [ci]: remove test from segment cache manifest: #84507
- [ci]: de-flake client cache test: #84517
- Revert "Turbopack: skip invalidating a task on cell/output change when the dependency is outdated": #84526
- next mcp router
- Revert "next mcp router"
- test: Use nextTestSetup in scss tests: #84501
- [turbopack[ Use the configured hasher to implementh Hash for AutoMap and AutoSet: #84542
- Turbopack: debug ids for server chunks: #84557
- CI: Enable
experimental.isolatedDevBuildfortest-unit: #84559 - [test]: convert prefetching tests to be segmentCache compatible: #84521
- CI: Enable
experimental.isolatedDevBuildfortest-prod: #84556 - Add
.next/dev/typesto CNA templates tsconfig include: #84566 - CI: Enable
experimental.isolatedDevBuildfortest-integration: #84558 - Update Rspack development test manifest: #84548
- Add a webpack flag to create next app. Ensure that if you set it or decline turbopack we set the --webpack flag on the generated project: #84476
- Update Rspack production test manifest: #84549
- CI: Enable
experimental.isolatedDevBuildfortest-dev: #84562 - [test] Unflake static image test: #84535
- Turbopack: Lower the IO concurrency limit in CI tests: #84508
- Add documentation for experimental adapters handling: #83737
- Turbopack: improve next/dynamic eventual consistentcy: #84560
- fix hidden errors in router-act: #84603
- fix(cna): use correct postcss plugins syntax: #79949
- Turbopack: absolute requests in webpack loader: #84575
- Update Rspack development test manifest: #84592
- Update Rspack production test manifest: #84593
- Turbopack: Remove workaround in hyper for rustc miscompilation bug on macos intel: #84578
- Turbopack: add manual worker count override: #84454
- Turbopack: don't ignore TS parse errors: #84597
- Add middleware to routes order doc: #84618
- [create-next-app]: prompt to use recommended options: #84570
- Update labeler: #84623
- Turbopack: use mmap advise to help the OS preloading: #84379
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84551
- Turbopack: follow-up changes from untracked tracing: #84629
- Turbopack: sourcemaps for JSON modules: #84611
- Turbopack: avoid race condition when updating cells: #84598
- docs: update core documentation for Turbopack as default bundler: #84282
- Update Rspack development test manifest: #84631
- [turbopack] Only send the filesystem caching timing messages for slow events: #84646
- docs:
experimental.isolatedDevBuild: #84656 - docs: add note clarifying project root in monorepo: #84628
- Fix flakey overlay feedback test: #84662
- [ci]: update flake detection to only run in Turbopack: #84659
- [ci]: move router-act to top level testing utils: #84653
- [tests]: de-flake client-cache.parallel-routes.test.ts: #84655
- [create-next-app]: add eslint to default template: #84661
- Update Rspack production test manifest: #84630
- [test] Assert on stable error codes: #84671
- Turbopack: convert HashMap to IndexMap for deterministic tasks: #84641
- Add note about $ACTION_ properties, remove reference to .entries(): #84459
- Fix typo on welcome page: #84715
- Rspack: Fix lockfile test on rspack: #84707
- [turbopack] Emit a warning when there are too many matches from a FileSourceReference: #84701
- Update beta tag: #84725
- [next-codemod] fix: Set codemod version to the first introduced version: #84726
- [next-upgrade] misc: update comment: #84727
- Turbopack: use vector instead of hash map: #84696
- Revert "docs: nav_title for long unbroken words (#84233)": #84346
- [turbopack] tweak the doc on the inner graph optimization: #84752
- [turbopack] Fix a few references to caching configuration as it is no longer canary guarded: #84761
- Add 16.0.0-beta.0 to next/third-parties peerDeps: #84741
- [eslint-plugin] Remove
eslint-v8testing: #84721 - Update Rspack production test manifest: #84729
- Update Rspack development test manifest: #84730
- fix: release next-rspack ci: #84673
- [cna] Preserve existing config option when enabling React Compiler: #84663
- Prevent failing
types-and-precompiledfrom corrupting terminal output: #84799 - Update test/CNA templates React version to 19.2.0: #84736
- Turbopack: use the same serialization method for lookup as for storing: #84765
- Turbopack: update petgraph: #84757
- [turbopack] Issue 'too many matches' warning for DirAssets also: #84768
- Revert "Fix flakey overlay feedback test": #84819
- [test]: de-flake client-cache.original.test.ts: #84831
- [ci]: set NEXT_TEST_VERSION to release tag for deploy tests: #84840
- docs: soft 404's, Suspense and loading.tsx: #83867
- [turbopack] Discuss Core Web vitals in our bundle size gap docs: #84837
- [turbopack] document missing webpack loader features: #84849
- [turbopack] fix typo in docs: #84868
- [turbopack] Remove the implementation of
TaskInputfromAutoSet: #84867 - Update turborepo env in workflows: #84879
- Turbopack: take task cache log before starting snapshot: #84755
- Turbopack: allow gzip compression on trace files: #84685
- Turbopack: process task result as part of the task completion: #84638
- Add test for eslint-config-next: #84838
- Turbopack: lower level drop collectibles: #84895
- docs: next/dynamic headings: #84492
- Turbopack: expose client static assets correctly: #84695
- Turbopack: better errors for strip_prefix_len: #84882
- Turbopack: improve missing factory message: #84881
- CNA: Update template to use ESLint Flat config: #84917
- fix: process.env.TURBOPACK maybe undefined: #84885
- Turbopack: fix spacing on EcmascriptModuleAssetType: #84915
- Update Rspack development test manifest: #84890
- Update Rspack production test manifest: #84891
- Fix url-imports test: #84922
- Turbopack: fix pageExtensions precedence: #84926
- Turbopack: fix client reference order for shared references: #84760
- Turbopack: turn panic into bail: #84927
- Docs/sync with new features 0: #84861
- Turbopack: transpile runtime with swc: #84931
- docs: x-nextjs-stale-time header: #84901
- docs: Templates on navigation: #84493
- Docs/sync with new features 0: #84861
- Turbopack: transpile runtime with swc: #84931
- docs: x-nextjs-stale-time header: #84901
- docs: Templates on navigation: #84493
- chore: Attempt to fix ppr-partial-hydration flakiness: #84672
- Update Rspack production test manifest: #84939
- Turbopack: rename Persistent Caching: #84896
- Turbopack: Add ChunkedVec test case: #84756
- docs: Add missing codemod docs: #84980
- Update prefetching.mdx providing more clarity on the usage of
router.prefetch(): #84903 - docs: getting started installation and next lint removal: #84781
- docs: Split "Get Started: Route Handlers and Middleware" to Route Handlers and Proxy: #84708
- docs: Replace Middleware docs to Proxy: #84709
- chore: Remove redundant copy of rust reqwest crate: #84982
- [turbopack] Allow withRspack to work even if you already have NEXT_RSPACK set: #84987
- Turbopack: Track errored tasks as dependency when using untracked(): #84914
- Turbopack: shard amount need to grow quadratic to cpu count to keep propability of conflicts constant: #84921
- Turbopack: fix race condition when adding dependencies: #84946
- Turbopack: make tracing warning not fail build: #85032
- [ci]: increase number of runners for test jobs: #85049
- add a message about Turbopack tracing: #85044
- Turbopack: Implement next/font/local declarations option: #85051
- docs: experimentalClientMaxBodySize: #85105
- Docs: Add
--debug-build-pathsnext build option: #85097 - Docs: Add note on tag limits for
cacheTag: #85106 - docs: no switcher for TS only examples: #85109
- fix: Handle non-directory files in cache folder when performing cleanup: #84930
- Turbopack: Suggest using system certs when a TLS error occurs: #85009
- [turbopack] Try to fix v8 crashes on github actions: #85114
- docs: Update to Zod v4 syntax: #84807
- Docs: Add version history for
next lintdeprecation and update error message: #85100 - Turbopack: improve module evaluation name: #84633
- [test] Current behavior of dynamic APIs integration with React DevTools: #85111
- [Cache Components] fix env labels in perf track test: #85132
- Turbopack: Disable LightningCSS MediaRangeSyntax feature: #85086
- Don't expliclitly set the
--turbopackflag in Create Next App, it is no longer necessary: #85117 - [turbopack] Remove the canary icon from the cache components docs: #85149
- Bump swc to v45: #85143
- [test] Fix test-dev with --projects: #85167
- [test] Update snapshots: #85171
- docs: mcp: #85010
- Docs: Explain Sass tilde import difference: #85041
- Turbopack: don't fail on export type in use server: #85054
- Turbopack: speedup module merging: #85043
- docs: remove experimental_ppr route segment config: #85188
- Rename "blocking route" error docs page: #85189
- docs: upgrade from 15 to 16: #85176
- Docs: Explain Sass tilde import difference: #85041
- Turbopack: don't fail on export type in use server: #85054
- Turbopack: speedup module merging: #85043
- docs: remove experimental_ppr route segment config: #85188
- Rename "blocking route" error docs page: #85189
- docs: upgrade from 15 to 16: #85176
Credits
Huge thanks to @mischnic, @timneutkens, @unstubbable, @wyattjoh, @Cy-Tek, @lukesandberg, @OoMNoO, @ztanner, @icyJoseph, @huozhi, @gnoff, @ijjk, @povilasv, @dwrth, @obendev, @aymericzip, @devjiwonchoi, @SyMind, @vercel-release-bot, @Shireee, @eps1lon, @dharun36, @kachkaev, @bgw, @yousefdawood7, @TheAlexLichter, @sokra, @ericx0099, @leerob, @Copilot, @fireairforce, @fufuShih, @anvibanga, @hayes, @Milancen123, @martinfrancois, @lubieowoce, @gaojude, @lachlanjc, @liketiger, @styfle, @aaronbrown-vercel, @Samii2383, @FelipeChicaiza, @kevva, @m1abdullahh, @F7b5, @Anshuman71, @RobertFent, @poteto, @chloe-yan, @sireesha-siri, @brian-lou, @joao4xz, @stefanprobst, @samselikoff, @acdlite, @gwkline, @bgub, @brock-statsig, @karlhorky, @feedthejim, @CarloQuick, @greguintow, @hallucinogenizer, @sebmarkbage, @delbaoliveira, @makandrr, @seeplusplus, and @serhalp for helping!
Core Changes
- Fix: CSS asset URLs broken with
experimental.inlineCss: #85140 - Update routes generation for build-complete: #85017
- [cache components] move experimental.cacheHandlers out of experimental: #85157
- Don't assign displayName to the internal Promises: #85178
- Assign name to hydration stream: #85179
- fix: add backwards compat for middleware → proxy field renames: #85183
- [turbopack] Implement improved deobfuscation for free calls and module identifiers.: #85060
- Improve Proxy invalid export error message: #84887
- Fix Activity boundary names: #85185
- [codemod] Install ESLint v9 if version under for next-lint-to-eslint-cli: #85182
- [upgrade] Version gate adding
--turbopackflag: #85180 - Tweaks to blocking route error message: #85191
- Remove layout-router sticky/fixed debug warning: #85193
- [cache components] persist cache bypass UI until it's disabled: #85190
- Only allow node runtime in proxy: #85139
- logger: skip logging full element: #85194
Misc Changes
- Docs: Explain Sass tilde import difference: #85041
- Turbopack: don't fail on export type in use server: #85054
- Turbopack: speedup module merging: #85043
- docs: remove experimental_ppr route segment config: #85188
- Rename "blocking route" error docs page: #85189
- docs: upgrade from 15 to 16: #85176
Credits
Huge thanks to @timneutkens, @gaojude, @ijjk, @ztanner, @sebmarkbage, @mischnic, @icyJoseph, @acdlite, @serhalp, @lukesandberg, @devjiwonchoi, and @huozhi for helping!
Core Changes
- Fix: CSS asset URLs broken with
experimental.inlineCss: #85140 - Update routes generation for build-complete: #85017
- [cache components] move experimental.cacheHandlers out of experimental: #85157
- Don't assign displayName to the internal Promises: #85178
- Assign name to hydration stream: #85179
- fix: add backwards compat for middleware → proxy field renames: #85183
- [turbopack] Implement improved deobfuscation for free calls and module identifiers.: #85060
- Improve Proxy invalid export error message: #84887
- Fix Activity boundary names: #85185
- [codemod] Install ESLint v9 if version under for next-lint-to-eslint-cli: #85182
- [upgrade] Version gate adding
--turbopackflag: #85180 - Tweaks to blocking route error message: #85191
- Remove layout-router sticky/fixed debug warning: #85193
- [cache components] persist cache bypass UI until it's disabled: #85190
- Only allow node runtime in proxy: #85139
- logger: skip logging full element: #85194
Misc Changes
- Docs: Explain Sass tilde import difference: #85041
- Turbopack: don't fail on export type in use server: #85054
- Turbopack: speedup module merging: #85043
- docs: remove experimental_ppr route segment config: #85188
- Rename "blocking route" error docs page: #85189
- docs: upgrade from 15 to 16: #85176
Credits
Huge thanks to @timneutkens, @gaojude, @ijjk, @ztanner, @sebmarkbage, @mischnic, @icyJoseph, @acdlite, @serhalp, @lukesandberg, @devjiwonchoi, and @huozhi for helping!
Core Changes
- Fix subtree layout alignment for route summary in
next build: #85137 - [codemod] Remove runtime config when running
middleware-to-proxy: #85075 - [turbopack] Improve the multiple bundler flags messge to note that perhaps your
package.jsonis the problem: #85118 - Add Learn more docs to Middleware deprecation warning: #84711
- [BF Cache]: skip lazyData fetch logic for inactive segments: #85142
- Pass
startTimeto initial RSC payload stream: #85144 - guard navigation
usehooks for React 18: #85151 - [turbopack] Don't warn on the lightning css experimental option: #84913
- Turbopack: Remove redundant log line, increase delay for compiling log message: #85133
- Make params and searchParams new Promises: #85158
- Name "cache" streams for React DevTools: #85159
- Use cacheMaxMemorySize config in default cache handler: #85153
- Omit params to from client segments: #84883
- enable experimental.routerBfCache behind cacheComponents: #84923
- [Cache Components] Allow stale longer than expire in cacheLife: #85115
- Update Activity names given to routes: #85155
- use port zero for --inspect when forking, if used by parent: #85128
- Update blocking prerender error message: #85087
Misc Changes
- Turbopack: Disable LightningCSS MediaRangeSyntax feature: #85086
- Don't expliclitly set the
--turbopackflag in Create Next App, it is no longer necessary: #85117 - [turbopack] Remove the canary icon from the cache components docs: #85149
- Bump swc to v45: #85143
- [test] Fix test-dev with --projects: #85167
- [test] Update snapshots: #85171
- docs: mcp: #85010
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @lukesandberg, @timneutkens, @ztanner, @acdlite, @mischnic, @bgw, @sebmarkbage, @wyattjoh, @gnoff, @huozhi, and @seeplusplus for helping!
Core Changes
- Upgrade React from
58bdc0bb-20251019tof6a48828-20251019: #85081 - [devtools]: instrument client navigation hooks for suspense devtools: #85007
- Remove Segment from CacheNodeSeedData: #85080
- label as Prefetch/Prefetchable depending on prefetch config: #85076
- [cache components]: add 'bypass' cache indicator status: #85082
- Upgrade React from
f6a48828-20251019to2bcbf254-20251020: #85112 - [cache components]: guard against setCacheStatus since its conditionally defined: #85125
- warn: add deprecation warning of eslint config: #85122
- add new devtools indicator loading state: #85083
- Await initial Flight response before hydrating: #85124
- fix(experimental.lockDistDir): Acquire the lock in dev earlier: #85116
- telemetry: mcp tool call: #85120
- [Turbopack] dedupe build errors: #85062
Misc Changes
- docs: experimentalClientMaxBodySize: #85105
- Docs: Add
--debug-build-pathsnext build option: #85097 - Docs: Add note on tag limits for
cacheTag: #85106 - docs: no switcher for TS only examples: #85109
- fix: Handle non-directory files in cache folder when performing cleanup: #84930
- Turbopack: Suggest using system certs when a TLS error occurs: #85009
- [turbopack] Try to fix v8 crashes on github actions: #85114
- docs: Update to Zod v4 syntax: #84807
- Docs: Add version history for
next lintdeprecation and update error message: #85100 - Turbopack: improve module evaluation name: #84633
- [test] Current behavior of dynamic APIs integration with React DevTools: #85111
- [Cache Components] fix env labels in perf track test: #85132
Credits
Huge thanks to @ztanner, @icyJoseph, @delbaoliveira, @acdlite, @lubieowoce, @bgw, @lukesandberg, @huozhi, @makandrr, @sokra, and @eps1lon for helping!
Core Changes
- Turbopack: Remove unneeded warning for telemetry: #85039
- [cache components] stabilize cacheLife profiles: #85050
- [cache components] show when cache components is enabled in the CLI: #85047
- [cache components]: show cache components enabled in DevTools: #85048
- [Cache Components] correctly label IO promises in devtools: #84928
- Plumbing for cache indicator: #84955
- Upgrade React from
93f85932-20251016to1324e1bb-20251016: #84999 - enable mcp server by default: #85058
- Add comment that we expect the function passed to bind to be anonymous: #85070
- Development: Addres comments on request log PR: #84945
- Development: Implement request time for Pages Router: #85012
- [cache components] add cache components indicator to dev start: #85069
- cli: build partial entries --debug-build-paths arg: #85052
- Turbopack: Better error for sassOptions.functions as it's unsupported: #85073
Misc Changes
- add a message about Turbopack tracing: #85044
- Turbopack: Implement next/font/local declarations option: #85051
Credits
Huge thanks to @sokra, @ztanner, @timneutkens, @lubieowoce, @eps1lon, @huozhi, and @sebmarkbage for helping!
Core Changes
- Add Activity name to route layouts and pages: #85011
- Update next-lint-to-eslint-cli to support
FlatCompat.config: #85026 - [cache components]: move flag out of experimental: #85035
- [Cache Components] When caches are disabled in dev skip the cache warmup: #85014
- [Cache Components] Use canary React when only Cache Components is enabled: #85042
Misc Changes
- Turbopack: make tracing warning not fail build: #85032
- [ci]: increase number of runners for test jobs: #85049
Credits
Huge thanks to @acdlite, @devjiwonchoi, @mischnic, @ztanner, and @gnoff for helping!
Core Changes
- fix: incorrect canonicalUrl set when using output: export: #85019
Misc Changes
- Turbopack: shard amount need to grow quadratic to cpu count to keep propability of conflicts constant: #84921
- Turbopack: fix race condition when adding dependencies: #84946
Credits
Huge thanks to @sokra and @ztanner for helping!
Core Changes
- Add rendered search to router state: #84983
- [segment cache]: delay revalidation prefetch pings 300ms: #84981
- Show relative path from cwd for Proxy Middleware file conflict error: #84993
- [Cache Components] fix docs for cacheLife("seconds"): #85004
- Rename MiddlewareMatcher to ProxyMatcher: #85005
- [Breaking] Rename instrumentation onRequestError
context.routeTypefrommiddlewaretoproxy: #85006 - [turbopack] Prevent accidental access to
.next: #84714
Misc Changes
- Turbopack: Track errored tasks as dependency when using untracked(): #84914
Credits
Huge thanks to @sokra, @acdlite, @ztanner, @devjiwonchoi, @lubieowoce, and @lukesandberg for helping!
Core Changes
- Relax default.tsx validation for parallel routes leaf segments: #84767
- Add codemod for removing
unstable_prefix: #84974 - Interception routes match from nested route navigation: #84898
- [Cache Components] Allow unstable prefix for cacheLife and cacheTag: #84934
- Add codemod for removing
experimental_ppr: #84979 - fix: throw error during build when invalid export for Proxy: #84886
- [cache components]: prevent expired entries from being served: #84975
- Delete old prefetch cache related code: #84977
- docs: Deprecation of Middleware: #84710
Misc Changes
- Docs/sync with new features 0: #84861
- Turbopack: transpile runtime with swc: #84931
- docs: x-nextjs-stale-time header: #84901
- docs: Templates on navigation: #84493
- chore: Attempt to fix ppr-partial-hydration flakiness: #84672
- Update Rspack production test manifest: #84939
- Turbopack: rename Persistent Caching: #84896
- Turbopack: Add ChunkedVec test case: #84756
- docs: Add missing codemod docs: #84980
- Update prefetching.mdx providing more clarity on the usage of
router.prefetch(): #84903 - docs: getting started installation and next lint removal: #84781
- docs: Split "Get Started: Route Handlers and Middleware" to Route Handlers and Proxy: #84708
- docs: Replace Middleware docs to Proxy: #84709
- chore: Remove redundant copy of rust reqwest crate: #84982
- [turbopack] Allow withRspack to work even if you already have NEXT_RSPACK set: #84987
Credits
Huge thanks to @icyJoseph, @wyattjoh, @mischnic, @devjiwonchoi, @gnoff, @bgw, @vercel-release-bot, @sokra, @ztanner, @acdlite, @hallucinogenizer, and @lukesandberg for helping!
Core Changes
- stabilize experimental.enablePrerenderSourcemaps: #84916
- Stop manually setting stacktrace limit: #84968
- Turbopack: respect
--profileCLI param: #84920 - Relax default.tsx validation for parallel routes leaf segments: #84767
- Add codemod for removing
unstable_prefix: #84974 - Interception routes match from nested route navigation: #84898
- [Cache Components] Allow unstable prefix for cacheLife and cacheTag: #84934
Misc Changes
- Turbopack: fix pageExtensions precedence: #84926
- Turbopack: fix client reference order for shared references: #84760
- Turbopack: turn panic into bail: #84927
- Docs/sync with new features 0: #84861
- Turbopack: transpile runtime with swc: #84931
- docs: x-nextjs-stale-time header: #84901
- docs: Templates on navigation: #84493
Credits
Huge thanks to @mischnic, @ztanner, @eps1lon, @icyJoseph, @wyattjoh, @devjiwonchoi, and @gnoff for helping!
Core Changes
- [Cache Components] Remove
unstableprefix fromunstable_cacheTag: #84880 - [Cache Components] separate runtime stage in dev render: #84644
- Reland "Include server latency in debug info": #84950
- Update codemod ESLint template to Flat config: #84919
- Upgrade React from
56e84692-20251014to93f85932-20251016: #84963 - [dev] Fix Middleware and Proxy file conflict: #84965
Credits
Huge thanks to @gnoff, @lubieowoce, @eps1lon, and @devjiwonchoi for helping!
Core Changes
- Revert "Include server latency in debug info": #84932
- Development: Use process.hrtime for request time calculation: #84905
- Use correct JSX runtime for library-owned JSX in React Server: #84869
- Development: Implement request log time details: #84906
Credits
Huge thanks to @ztanner, @timneutkens, and @eps1lon for helping!
Core Changes
- [Cache Components] Remove
unstableprefix fromunstable_cacheLife: #84877 - fix: always use the safe stable stringify: #84909
- [Cache Components] Fix cacheSignal in dev render: #84846
- [dev-overlay] Never dedupe errors with different names or messages: #84908
- Remove deprecated experimental_ppr route-level configuration: #84871
- Include server latency in debug info: #84580
- Fix parallel routes ignoring generateStaticParams from primary route: #84889
Misc Changes
- Turbopack: expose client static assets correctly: #84695
- Turbopack: better errors for strip_prefix_len: #84882
- Turbopack: improve missing factory message: #84881
- CNA: Update template to use ESLint Flat config: #84917
- fix: process.env.TURBOPACK maybe undefined: #84885
- Turbopack: fix spacing on EcmascriptModuleAssetType: #84915
- Update Rspack development test manifest: #84890
- Update Rspack production test manifest: #84891
- Fix url-imports test: #84922
Credits
Huge thanks to @gnoff, @huozhi, @mischnic, @lubieowoce, @eps1lon, @wyattjoh, @devjiwonchoi, @SyMind, @sokra, @acdlite, and @vercel-release-bot for helping!
Core Changes
- Add nextjs condition when cacheComponents is enabled: #84843
- remove rdcForNavigations configuration & bundle with cacheComponents: #84870
- Convert eslint-config-next project to TypeScript: #84839
- [eslint-config] [Breaking] Use Flat config by default: #84874
Misc Changes
- Update turborepo env in workflows: #84879
- Turbopack: take task cache log before starting snapshot: #84755
- Turbopack: allow gzip compression on trace files: #84685
- Turbopack: process task result as part of the task completion: #84638
- Add test for eslint-config-next: #84838
- Turbopack: lower level drop collectibles: #84895
- docs: next/dynamic headings: #84492
Credits
Huge thanks to @gnoff, @ijjk, @ztanner, @sokra, @devjiwonchoi, and @icyJoseph for helping!
Core Changes
- feat: using @next/rspack-core: #84221
- Upgrade React from
ead92181-20251010tod7215b49-20251013: #84850 - Turbopack build: Switch to using workerthreads for process: #84818
- [Cache Components] Dev - restart render on cache miss: #84088
- Update font data: #84785
- Fix build compile mode if pages dir does not exist in Next.js 16: #84783
- improve next config schema validation errors: #84847
- Upgrade React from
d7215b49-20251013to56e84692-20251014: #84860 - warnOnce for Middleware deprecation: #84862
- Add codemod for Middleware API to Proxy API: #84824
- Deprecate Middleware API and add Proxy API: #84764
- remove
clientParamParsingconfiguration & bundle it withcacheComponents: #84763 - remove dynamicIO flag: #84872
- Bump eslint-plugin-react to 7.37.0: #84876
Misc Changes
- docs: soft 404's, Suspense and loading.tsx: #83867
- [turbopack] Discuss Core Web vitals in our bundle size gap docs: #84837
- [turbopack] document missing webpack loader features: #84849
- [turbopack] fix typo in docs: #84868
- [turbopack] Remove the implementation of
TaskInputfromAutoSet: #84867
Credits
Huge thanks to @SyMind, @icyJoseph, @timneutkens, @lubieowoce, @vercel-release-bot, @greguintow, @huozhi, @devjiwonchoi, @lukesandberg, and @ztanner for helping!
Core Changes
- Use ESLint Flat Config: #84800
- fix missing flight-router-state-tree header normalization: #84718
- Write
.next/dev/types/**/*.d.tsto default tsconfig: #84747 - Upgrade React from
9724e3e6-20251008toead92181-20251010: #84793 - [mcp] capture next config schema errors: #84832
Example Changes
- [docs] fix(with-supabase): Update README env variables: #84745
Misc Changes
- Update test/CNA templates React version to 19.2.0: #84736
- Turbopack: use the same serialization method for lookup as for storing: #84765
- Turbopack: update petgraph: #84757
- [turbopack] Issue 'too many matches' warning for DirAssets also: #84768
- Revert "Fix flakey overlay feedback test": #84819
- [test]: de-flake client-cache.original.test.ts: #84831
- [ci]: set NEXT_TEST_VERSION to release tag for deploy tests: #84840
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @CarloQuick, @sokra, @lukesandberg, @ztanner, and @huozhi for helping!
Core Changes
- Upgrade React from
3025aa39-20251007to9724e3e6-20251008: #84642 - Remove unused
eslint-disabledirectives: #84797
Misc Changes
- [cna] Preserve existing config option when enabling React Compiler: #84663
- Prevent failing
types-and-precompiledfrom corrupting terminal output: #84799
Credits
Huge thanks to @eps1lon for helping!
Misc Changes
- Update Rspack production test manifest: #84729
- Update Rspack development test manifest: #84730
- fix: release next-rspack ci: #84673
Credits
Huge thanks to @vercel-release-bot and @SyMind for helping!
Core Changes
- Version gate migration docs link: #84740
- [Cache Components] Allow hiding logs after abort: #84579
- Log
Compiled proxy in ...: #84746
Misc Changes
- [next-upgrade] misc: update comment: #84727
- Turbopack: use vector instead of hash map: #84696
- Revert "docs: nav_title for long unbroken words (#84233)": #84346
- [turbopack] tweak the doc on the inner graph optimization: #84752
- [turbopack] Fix a few references to caching configuration as it is no longer canary guarded: #84761
- Add 16.0.0-beta.0 to next/third-parties peerDeps: #84741
- [eslint-plugin] Remove
eslint-v8testing: #84721
Credits
Huge thanks to @devjiwonchoi, @mischnic, @icyJoseph, @gnoff, and @lukesandberg for helping!
Core Changes
- docs: Add more details to
useLightningcssdocs: #84581
Misc Changes
- Rspack: Fix lockfile test on rspack: #84707
- [turbopack] Emit a warning when there are too many matches from a FileSourceReference: #84701
- Update beta tag: #84725
- [next-codemod] fix: Set codemod version to the first introduced version: #84726
Credits
Huge thanks to @bgw, @lukesandberg, @ijjk, and @devjiwonchoi for helping!
[!TIP]
Check out our Next v16 beta Blog Post to learn more about this release.
Core Changes
- Development: Don't import app-router / hot-reloader through next/link in application code: #83656
- Remove clientParamParsing requirement from RDC for Navigations: #83661
- Upgrade React from
6b70072c-20250909to886b3d36-20250910: #83650 - Turbopack: Use readFileSync / writeFileSync for manifest writing: #83694
- Upgrade React from
886b3d36-20250910tof3a80361-20250911: #83696 - Don't create client-side debug channel if the feature is disabled: #83699
- fix: dev should produce the correct default fallback regex to match builds/Turbopack: #83701
- [devtool] fix overlay styles are missing: #83721
- Revert "Remove clientParamParsing requirement from RDC for Navigations": #83725
- Only enable unhandledRejection filtering when opted in: #83726
- Fix index data route for adapter build-complete: #83730
- Remove leading underscore for unhandledRejection envvar: #83732
- Upgrade React from
f3a80361-20250911to93d7aa69-20250912: #83729 - Upgrade React from
93d7aa69-20250912to8a8e9a7e-20250912: #83742 - Fix reentrancy of unhandledRejection filtering: #83741
- Fix type for unhandled rejection handler process.removeListener: #83748
- [OTel] fix: Root span name should not include high cardinality URL: #75416
- Turbopack: Remove matchers.reload() call on each request: #83720
- [Breaking] Flat config as default in
@next/eslint-plugin-next: #83763 - fix: Rspack splitChunks.chunks regex: #83670
- Revert "Turbopack: Remove matchers.reload() call on each request": #83819
- fix: unstable_cache should perform blocking revalidation during ISR revalidation: #83820
- fix(Rspack): resolve HMR unresponsiveness or unexpected full reload & update dev snapshot: #83480
- Allow
next.config.mtsfor Node.js native TS resolver: #83556 - chore: Ensure Import Trace starts in a newline: #83638
- Development: Remove matchers.reload() on each request: #83829
- Upgrade React from
8a8e9a7e-20250912to5e0c951b-20250916: #83850 - Bump typescript 5.9.2: #83833
- Allow headers, rewrites and redirects to be defined as sync functions: #83743
- Turbopack: Optimize addedRoutes and removedRoutes calculation: #83840
- [next-config-ts] Set Node.js native TS loader fallback flag to process.env: #83832
- Development: Clarify TypescriptStatus in watcher: #83857
- Upgrade sharp dependency to version ^0.34.4: #83892
- Upgrade React from
5e0c951b-20250916to128abcfa-20250917: #83906 - Add native ts resolver docs link to transpile-config: #83914
- OTel: use
srcPagefor templates whennext.routeis unavailable: #83911 - Remove inline CSS sourcemaps from next-devtools: #83917
- Development: Move all TypeScript related work in watcher together: #83912
- [Cache Components] Allow sync IO inside console methods : #83843
- Upgrade React from
128abcfa-20250917to84af9085-20250917: #83959 - Build: Add .next/trace-build with high level trace: #83949
- Remove force writing **/*.mts to tsconfig: #83967
- feat: Isolate dev build from prod: #83961
- Remove JS size reporting from next build: #83815
- Docs/workspace setup: #83490
- Turbopack: support
import ... with {type: "bytes"}: #83896 - fix: error overlay not closing when backdrop clicked: #83981
- Upgrade React from
84af9085-20250917tod415fd3e-20250919: #84003 - fix: worker logs should still support color: #84024
- Update font data: #84005
- Allow passing port to
next internal trace: #83907 - Turbopack: error when importing Typescript in node_modules: #83990
- Turbopack: Deterministic builds (prerender-manifest, .next/package.json, ./next/postcss.js): #84081
- Turbopack: Fix babel-loader (allowing built-in or manual configuration): #82676
- [Cache Components] allow using headers() in runtime prefetches: #83838
- [Breaking] Remove deprecated
publicRuntimeConfigandserverRuntimeConfig: #83944 - Turbopack: mode to disable tracing: #83683
- babel-loader: Fix a few issues with config caching: #83973
- Turbopack: Merge babel-loader and react-compiler configuration logic to avoid running babel twice: #83502
- [breaking]: enable router scroll optimization by default: #84102
- Fix layout for
ssgPageRoutesin the file tree: #84104 - Turbopack: Remove useless 'default' built-in webpack loader condition: #84111
- Fix: Client should auto reload after server restarts: #83971
- trace-build: Add missing spans: #84080
- Development: Remove TypeScript from the hot path during bootup: #84090
- Guide users to
experimental.cacheComponentsconfig: #84121 - Development: Only load webpack when used: #84123
- Turbopack: Skip loading webpack plugin: #84125
- Development: Only load createEnvDefinitions when used: #83935
- BREAKING CHANGE!: bump default
images.minimumCacheTTLfrom 1 min to 4 hours: #84105 - Feat: Add Model Context Protocol (MCP) server to Next.js dev server: #84100
- Upgrade React from
d415fd3e-20250919to1eca9a27-20250922: #84093 - Turbopack: Remove the deprecated
.turboconfig object: #84109 - Flag excess properties in Next.js config with TypeScript: #84069
- docs: update Security section to direct disclosures : #84156
- ci: Enable
experimental.isolatedDevBuildfortest-experimental-dev: #84099 - [turbopack] Ensure React Compiler options are based dev vs prod: #84062
- Enable anonymous function naming in React Compiler: #84070
- Revert "[Breaking] Remove deprecated
publicRuntimeConfigandserverRuntimeConfig(#83944)": #84167 - Fix double comma in build manifest: #84131
- [turbopack] set app dir only to true when no pages entries detected: #84144
- Split code-frame into separate compiled package: #84174
- refactor: separate forward browser logs utils: #84151
- Upgrade React from
1eca9a27-20250922toe2332183-20250924: #84189 - [Cache Components] default to filtering unhandledRejection after abort: #84192
- fix: prevent URL mutation in router rewrites: #83963
- fix(server): fix pages router resume router matching: #84158
- Feat:
get_errorsMCP endpoint: #84161 - Add internal environment variable for enabling React Compiler: #84176
- [devtools] Disable React's default Transition indicator: #84202
- Upgrade React from
e2332183-20250924tob0c1dc01-20250925: #84248 - Feat:
get_page_metadataMCP endpoint: #84211 - feat: capture logs into logging file during development: #84183
- babel-loader: Avoid calling expensive
isReactCompilerRequiredcheck when we must run Babel anyways: #84103 - [mcp] expose logging: #84226
- Move
config.turbopack.moduleIdstoconfig.experimental.turbopackModuleIds: #84230 - Show invalid default export errors during prerendering: #84242
- fix: make sure caller exists in babel preset: #84154
- [mcp] allow to enable mcp server through env var: #84278
- fix(metadata): make formatDetection respect true/false properly: #83924
- Upgrade React from
b0c1dc01-20250925todf38ac9a-20250926: #84276 - Add a --webpack flag and default --turbopack to true: #84216
- fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
- [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
- Move
config.turbopack.moduleIdstoconfig.experimental.turbopackModuleIds: #84230 - Show invalid default export errors during prerendering: #84242
- fix: make sure caller exists in babel preset: #84154
- [mcp] allow to enable mcp server through env var: #84278
- fix(metadata): make formatDetection respect true/false properly: #83924
- Upgrade React from
b0c1dc01-20250925todf38ac9a-20250926: #84276 - Add a --webpack flag and default --turbopack to true: #84216
- fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
- [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
- Turbopack: only write merged manifests when they have been changed: #84261
- Turbopack: add separate turbopackPersistentCachingForBuild/ForDev flags: #84215
- Revert "Add a --webpack flag and default --turbopack to true (#84216)": #84348
- Upgrade React from
df38ac9a-20250926tod15d7fd7-20250929: #84347 - Mark React Compiler integration as stable: #84220
- [cna] Add
reactCompileroption: #82251 - Turbopack: remove canary version check for turbopackPersistentCachingForDev: #84277
- [turbopack] Add support for debug_ids: #84319
- Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"": #84351
- [Breaking] Remove AMP codemod: #84356
- [Breaking] Remove deprecated built-in AMP: #84312
- auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents: #84250
- [mcp] get server action tool: #84382
- Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)""": #84389
- Update otel test assertions and pages span_name: #84393
- [Breaking] Bump minimum TypeScript version to 5.1.0: #84384
- Upgrade React from
d15d7fd7-20250929toef889445-20250930: #84383 - [Breaking] Remove deprecated
unstable_rootParams: #84373 - [metadata] remove falsy dynamicParams approach: #84405
- fix: next rspack binding NextExternalsPlugin: #84303
- Development: Skip route matching when there is an existing match: #84227
- Revert "auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents": #84419
- Upgrade React from
ef889445-20250930to548235db-20251001: #84416 - [Breaking] Update default browserslist config: #84401
- Upgrade React from
548235db-20251001to1bd1f01f-20251001: #84417 - Allow
metadataBaseto be a string URL in addition toURLinstance: #84297 - Upgrade React from
1bd1f01f-20251001to86181134-20251001: #84427 - [mcp] logging file should be reset for each session: #84425
- Revert "Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"""": #84394
- Optimize isMetadataRoute function: #84409
- [ci]: split clientSegmentCache test runners off from experimental: #84440
- [Cache Components] Fix caching in
generateMetadata/generateViewport: #84228 - Upgrade React from
86181134-20251001toa757cb76-20251002: #84463 - [segment cache]: fix trailingSlash handling with output: export: #84465
- perf: Use a more aggressive retry loop for
recursiveDelete: #84444 - [Cache Components] Dim logs after prerender aborts: #84153
- telemetry track mcp server usage: #84471
- simplify the way we check for turbopack config to ensure we support an empty turbopack object: #84494
- perf: Use synchronous IO when cleaning
distDirinnext devandnext build: #84472 - Make turbopack the default bundler for custom servers: #84281
- [segment cache]: fix interception route handling: #84497
- Upgrade React from
a757cb76-20251002to85c427d8-20251003: #84496 - [segment cache]: collectSegmentData should respect experimental.staleTime config: #84520
- Fix potential race condition with request ID in dev mode: #84532
- [test] Enable
reactDebugChannelfor experimental test shards: #84533 - Simplify Metadata components: #84527
- Implement the updated prerender API shape: #84254
- Upgrade React from
85c427d8-20251003to4fdf7cf2-20251003: #84499 - Upgrade React from
4fdf7cf2-20251003toc7862584-20251006: #84573 - fix(Turbopack): Add better error messaging for when we can't determine Next.js root: #83918
- Allow silencing unhandled rejection filter warnings and improve debugging: #84572
- [MCP] Fix: Do not dedup by URL for MCP get_page_metadata: #84564
- Guard
createDebugChannelimport by feature flag: #84604 - Build: Add time to logline of every step: #84602
- Upgrade React from
c7862584-20251006toa4eb2dfa-20251006: #84589 - [Cache Components] Schedule work on timeouts: #84344
- [dev] Define request ID for RSC requests on the client: #84605
- fix(cache-tags): add
/indexto implicit tags and adjustrevalidatePath(): #84586 - Build: Highlight TypeScript and ESLint being run clearer: #84606
- [Breaking] Bump sass-loader to v16: #84387
- Update cases for build complete with adapters: #84361
- Turbopack: delete .next folder before throwing due to "pages/app directory must be in the same folder": #84553
- [mcp] change get-project-path to get-project-metadata: #84619
- feat(next/image)!: deprecate and warn on
images.domainsconfig: #84625 - feat(next/legacy/image)!: deprecate and warn on
next/legacy/imageusage: #84622 - Turbopack: improve errors/warnings for turbopack messages: #84552
- Turbopack: rename turbopackPersistentCachingForXXX to turbopackFileSystemCacheForXXX: #84632
- [Segment Cache] Add refresh URL to reused default segments: #84627
- [Segment Cache] Fix tests related to optimistic loading state reuse: #84498
- Upgrade React from
a4eb2dfa-20251006to3025aa39-20251007: #84613 - [breaking]: enable clientSegmentCache by default: #84643
- feat: Acquire a lockfile on
distDirinnext devandnext build: #84428 - Add deprecation warning to Runtime config: #84168
- [middleware]: add upper bound to cloneBodyStream: #84539
- Remove automatic linting from build: #83136
- Re-enable legacyBehavior and passHref on Link: #84500
- [cna] Use stable React Compiler: #84660
- Add codemod for
middlewaretoproxy: #84127 - Fix dynamic catchall parameter interpolation in parallel routes: #84279
- feat(breaking): Hard Deprecate PPR Configuration: #84280
- Deprecate
middlewareand recommendproxy: #84119 - Put native TS resolver for next config under
--experimental-next-config-strip-typesflag: #84675 - Fix interception route rewrites for nested dynamic routes: #84413
- fix: strip NEXTSEP from interpolated pathnames: #84430
- chore: Remove useless symlink resolution logic in
recursive-delete.js: #84582 - breaking(next/image)!: remove 16px from default
images.imageSizesconfig: #84647 - add Statsig Node Core package to Server External Packages: #84157
- Remove bailed out SSG routes from the list of SSG: #83861
- Revert "[Breaking] Skip Next.js internal routes
/_nextin middleware": #84697 - Bump eslint-plugin-react-hooks to v7: #84669
- Add refresh API to next/cache: #84666
- [Breaking] Require
images.localPatternsfor query in Image src: #84406 - [Breaking] feat(next/image)!: add support for
images.dangerouslyAllowLocalIPandimages.maximumRedirects: #84676 - Add new updateTag API and new signature for revalidateTag: #83822
- Add validation for missing default.js in parallel routes: #84702
- misc: allow beta to be triggered: #84713
- Fix tags check for expired/stale: #84717
- tweak middlewareClientMaxBodySize handling: #84712
Example Changes
- docs: Convert relative imports to @ aliases in examples: #83813
- chore: add example with oxlint: #83842
- fix: correct typo 'incomming' to 'incoming' in with-mqtt-js example: #83887
- chore: improve oxlint example: #83898
- docs: update Dockerfile to use node:lts-alpine instead of node:18-alpine: #84229
- Use Array.from to avoid @ts-ignore when copying i18n.locales: #82148
- examples: Remove AMP example: #84355
Misc Changes
- Turbopack: remove
css_environmentfromEnvironment: #83487 - Turbopack: Don't add client_runtime_entries to Route Handler compilation: #83655
- Turbopack: Only load capsize-font-metrics once: #83654
- [CI] Fix GitHub Actions matrix configuration for React versions: #83677
- fix(Turbopack): Enable scope hoisting for large files or module counts: #83399
- [turbopack] Lazily construct
resolved::RequestsforEsmAssetReference: #83662 - Update content-security-policy.mdx, fix development environment error: #83665
- tests: disable flaky deployment test while investigating upstream: #83705
- [test] Update snapshots for Rspack + React 18: #83712
- Docs/sep paper cuts: #83689
- [Turbopack] Remove
ssr-datamodule context: #83626 - CI: use KV for test timing data: #83745
- Emit build error when
'use cache'directive is misspelled: #83756 - docs(metadata): align default function export name with file name: #83796
- [turbopack] Remove the
should_track_childrenparameter of the turbo tasks backend: #83258 - docs(data-security): add bun package manager example: #83735
- Update next-intlayer reference in i18n doc: #83761
- Update Rspack production test manifest: #83790
- Update Rspack development test manifest: #83791
- Turbopack: chunking debugging utilities: #83801
- Removed link to maintain text consistency: #83644
- Turbopack: rename some fields in fs: #83808
- Turbopack: validate CSS without computing all paths: #83810
- [test] Disable flaky navigation test: #83828
- docs: Type narrowing using LayoutProps, PageProps: #83692
- docs: implications of mutating cookies in server actions: #83691
- Only retry if canary fails on required jobs: #83851
- docs: Fix self-referential link to Middleware in middleware.mdx: #83854
- Update Rspack production test manifest: #83826
- Update generate-metadata.mdx: #81853
- Turbopack: remove lazy invalidated tasks: #83845
- Turbopack: remove Backend TaskState: #83846
- Turbopack: don't recompute empty parse results: #83883
- Turbopack: delete broken hmr benchmark: #83882
- Turbopack: only generate error string in error case: #83884
- docs: the as prop is still available in Pages Router: #83864
- Turbopack: map_module_batch: #83885
- Turbopack: Change run once signature to avoid exposing TaskId: #83844
- docs: Update command to use
npxfor tracing files: #83903 - Turbopack: ModuleGraphRef: #83890
- Update Rspack development test manifest: #83876
- Turbopack: make graph traversal sync: #83891
- chore: Fix test snapshot: #83901
- Update Rspack production test manifest: #83877
- docs: add
next.config.tsNode.js native resolver: #83561 - Turbopack: add turbo_tasks::run to run in turbo tasks scope without a task: #83847
- Turbopack: fix double codegen of some merged modules: #83886
- Turbopack: add traces to merged module computation: #83908
- Turbopack: RuleCondition support resourceQuery contains: #83468
- fix: add the missing comma in the document example: #83932
- Turbopack: Document the reasons for the current design of
parse_segment_config_from_source: #83919 - Turbopack: extract parse_source_map_comment: #83938
- Turbopack: enable nodelay for node.js pool socket: #83942
- feat: next-rspack-binding: #82811
- Only send notification if canary fails on required jobs: #83953
- Turbopack: allow to read State from turbo_tasks::run: #83955
- Fix conclusion check for retry_test workflow: #83960
- Add Descope to Auth libraries list: #83968
- [turbopack] Track task durations in the task_statistics file: #83522
- [turbopack] Remove the
issue_pathfeature and related functionality: #83920 - Turbopack: use turbo_tasks::run in next.js to avoid task memory leak: #83848
- Update Rspack production test manifest: #83934
- Update Rspack development test manifest: #83933
- Turbopack: add test case that checks memory leak: #83849
- Turbopack: read project strongly consistent in project_update: #83974
- Fix output comparison when checking conclusion of required jobs: #83986
- Turbopack: JsAnalyzer parse AssignExpr: #83962
- Turbopack: less eager manifest generation: #83736
- Turbopack: use depth as priority for merged module info: #83909
- Turbopack: "connect" tasks in turbo_tasks::run too: #83975
- Update Rspack production test manifest: #83979
- Update Rspack development test manifest: #83980
- Turbopack: Make transient tasks root tasks too when called in turbo_tasks::run: #83976
- Turbopack: trace state changes: #83977
- [turbopack] cleanup analyzer: #83983
- [Turbopack] Fix AST traversal for
thisin function default parameters: #83746 - [turbopack] Consolodate logic for visiting functions to simplify state management: #82763
- [turbopack] Track the scope in which variables are assigned: #82845
- [turbopack] Set
livenessof exports based on assignment analysis: #82802 - Turbopack: trace all state changes: #84053
- docs: We have dropped the CORS example linked: #84065
- docs: add pageExtensions note to Middleware and clarify default filename: #84045
- Fix TypeScript type error in example code: #84041
- Turbopack: fix test case and update project_update to turbo_tasks::run too: #83978
- Turbopack: run tests with multiple threads: #84074
- Turbopack: flush Node.js worker IPC on error: #84077
- Turbopack: parallelize scope hoisting computation: #83904
- Add test for JS resource size on navigation: #83731
- Update Rspack development test manifest: #84061
- Update Rspack production test manifest: #84060
- Turbopack: Document automatic Babel config support: #84002
- docs: Fix the title/path of the turbopack page on pages router: #84001
- Turbopack: remove references from ChunkData: #84076
- Turbopack: include availability hash in the ident of evaluated chunks groups: #84082
- [turbopack] s/analyse/analyze/g: #84112
- [Turbopack] avoid attaching referenced output assets to chunks: #75933
- fix(docs): Fix links in UPGRADING.md: #84114
- docs: improve dynamic routes example in project structure page: #84086
- docs: onRequestError request header type: #83988
- Turbopack: Improve persistent caching test case: #83205
- Turbopack: add more details to the graph panic: #84126
- docs: Cookies store access is async: #83987
- Bump Rust to nightly-2025-09-21: #83415
- Upgrade CodSpeed action and add analyzer benchmarks: #84135
- Turbopack: fix run_once when returning error: #84142
- [turbopack] Conditionally collect affecting sources: #83921
- Turbopack: slightly improve resolve_source_map_sources: #84147
- Turbopack: RawEcmascriptModule: #81806
- Turbopack: add more details to the graph panic: #84143
- test: split app-middleware test per describe: #84130
- Update Rspack development test manifest: #84117
- script: improve release log generation: #83686
- Turbopack: split task_execution_completed into multiple methods: #84170
- Turbopack: only generate field if spans are enabled: #84184
- Turbopack: support more dynamic request with import map: #84178
- [turbopack] defer a
value_to_stringoperation until we need it: #84188 - Update Rspack production test manifest: #84165
- Revert "[turbopack] Set
livenessof exports based on assignment ana…: #84207 - Turbopack: increase retry duration, reduce busy looping when there is other work: #84171
- Turbopack: Try to avoid block_in_place in scope: #84172
- [turbopack] Remove some bitmap clones: #84193
- Turbopack: lazier manifests, part deux: #84191
- Turbopack: avoid panic on updating output when a task was cancelled: #84214
- docs: nav_title for long unbroken words: #84233
- Turbopack: Use
RawValueformappingsinsideSourceMapJson: #84208 - Update Rspack development test manifest: #84218
- Turbopack: fix NFT of readFileSync of relative path: #84155
- Turbopack: improve references benchmark: #84223
- Update Rspack production test manifest: #84217
- Turbopack: drop ASTs when only tracing: #84185
- docs: Include more detailed instructions on excluding from common AV solutions, including macOS Gatekeeper: #84206
- Turbopack: trace fs-extra calls: #84246
- [test] Overhaul
Undefined default exporttest suite: #84235 - Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default exportan e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
- Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default exportan e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
- [test] Ignore pnpm update notifier: #84328
- [test] Stop downloading unused test browsers when generating PR stats: #84329
- docs: remove repeated to: #84325
- Turbopack: Use more robust logic for absolute and percent-encoded URLs in source maps received from loaders: #84255
- Turbopack: only replace edge dynamic calls in dev: #84354
- [turbopack] Remove a bunch of dead code from the source map implementation: #84318
- Turbopack: prevent duplicate NFT modules: #84369
- docs: Remove AMP docs: #84357
- docs: Type helpers don't need to be imported: #84265
- Turbopack: Add docs for debugIds option: #84375
- Remove references to size metrics in next build from our docs: #83823
- Bump to swc v42: #83477
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84376
- Turbopack: trace module.createRequire: #84335
- Update failing e2e deploy tests: #84395
- Turbopack: Webpack loader
this.fs.readFile: #83313 - Improve tests: #84374
- Revamp Next.js boilerplate: #81945
- Add test for twoslash: #84267
- Docs/project structure polish: #84386
- Bump to swc v44: #84420
- Turbopack: don't fail for parse errors in tracing: #84408
- Update Rspack development test manifest: #84365
- Update Rspack production test manifest: #84366
- [ci]: remove PPR-specific CI jobs: #84439
- docs: Verbose troubleshooting for unconfigured hosts: #84271
- Update Rspack production test manifest: #84398
- Add gt-next to i18n list: #84396
- [ci]: fix build-output-prerender to support segment cache env: #84467
- [ci]: fix app-static snapshots with clientSegmentCache: #84468
- Turbopack: Only benchmark file IO on
next dev: #84474 - Turbopack: improve incremental build performance when deployment id changes: #84460
- fix: Missing link in Lazy Loading docs: #84473
- docs: simplify streaming metadata: #84253
- make withRspack idempotent: #84482
- Turbopack: Use strongly consistent reads in
random_changeunit test: #84505 - Update Rspack development test manifest: #84480
- Update Rspack production test manifest: #84481
- [ci]: remove test from segment cache manifest: #84507
- [ci]: de-flake client cache test: #84517
- Revert "Turbopack: skip invalidating a task on cell/output change when the dependency is outdated": #84526
- next mcp router
- Revert "next mcp router"
- test: Use nextTestSetup in scss tests: #84501
- [turbopack[ Use the configured hasher to implementh Hash for AutoMap and AutoSet: #84542
- Turbopack: debug ids for server chunks: #84557
- CI: Enable
experimental.isolatedDevBuildfortest-unit: #84559 - [test]: convert prefetching tests to be segmentCache compatible: #84521
- CI: Enable
experimental.isolatedDevBuildfortest-prod: #84556 - Add
.next/dev/typesto CNA templates tsconfig include: #84566 - CI: Enable
experimental.isolatedDevBuildfortest-integration: #84558 - Update Rspack development test manifest: #84548
- Add a webpack flag to create next app. Ensure that if you set it or decline turbopack we set the --webpack flag on the generated project: #84476
- Update Rspack production test manifest: #84549
- CI: Enable
experimental.isolatedDevBuildfortest-dev: #84562 - [test] Unflake static image test: #84535
- Turbopack: Lower the IO concurrency limit in CI tests: #84508
- Add documentation for experimental adapters handling: #83737
- Turbopack: improve next/dynamic eventual consistentcy: #84560
- fix hidden errors in router-act: #84603
- fix(cna): use correct postcss plugins syntax: #79949
- Turbopack: absolute requests in webpack loader: #84575
- Update Rspack development test manifest: #84592
- Update Rspack production test manifest: #84593
- Turbopack: Remove workaround in hyper for rustc miscompilation bug on macos intel: #84578
- Turbopack: add manual worker count override: #84454
- Turbopack: don't ignore TS parse errors: #84597
- Add middleware to routes order doc: #84618
- [create-next-app]: prompt to use recommended options: #84570
- Update labeler: #84623
- Turbopack: use mmap advise to help the OS preloading: #84379
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84551
- Turbopack: follow-up changes from untracked tracing: #84629
- Turbopack: sourcemaps for JSON modules: #84611
- Turbopack: avoid race condition when updating cells: #84598
- docs: update core documentation for Turbopack as default bundler: #84282
- Update Rspack development test manifest: #84631
- [turbopack] Only send the filesystem caching timing messages for slow events: #84646
- docs:
experimental.isolatedDevBuild: #84656 - docs: add note clarifying project root in monorepo: #84628
- Fix flakey overlay feedback test: #84662
- [ci]: update flake detection to only run in Turbopack: #84659
- [ci]: move router-act to top level testing utils: #84653
- [tests]: de-flake client-cache.parallel-routes.test.ts: #84655
- [create-next-app]: add eslint to default template: #84661
- Update Rspack production test manifest: #84630
- [test] Assert on stable error codes: #84671
- Turbopack: convert HashMap to IndexMap for deterministic tasks: #84641
- Add note about $ACTION_ properties, remove reference to .entries(): #84459
- Fix typo on welcome page: #84715
Credits
Huge thanks to @@mischnic, @@timneutkens, @@unstubbable, @@wyattjoh, @@Cy-Tek, @@lukesandberg, @@OoMNoO, @@ztanner, @@icyJoseph, @@huozhi, @@gnoff, @@ijjk, @@povilasv, @@dwrth, @@obendev, @@aymericzip, @@devjiwonchoi, @@SyMind, @@vercel-release-bot, @@Shireee, @@eps1lon, @@dharun36, @@kachkaev, @@bgw, @@yousefdawood7, @@TheAlexLichter, @@sokra, @@ericx0099, @@leerob, @@Copilot, @@fireairforce, @@fufuShih, @@anvibanga, @@hayes, @@Milancen123, @@martinfrancois, @@lubieowoce, @@gaojude, @@lachlanjc, @@liketiger, @@styfle, @@aaronbrown-vercel, @@Samii2383, @@FelipeChicaiza, @@kevva, @@m1abdullahh, @@F7b5, @@Anshuman71, @@RobertFent, @@poteto, @@chloe-yan, @@sireesha-siri, @@brian-lou, @@joao4xz, @@stefanprobst, @@samselikoff, @@acdlite, @@gwkline, @@bgub, @@brock-statsig, @@karlhorky, and @@feedthejim for helping!
Please refer the following changelogs for more information about this security release:
Misc Changes
- setup release branch
- Revert "feat(breaking): Hard Deprecate PPR Configuration (#84280)"
- Update React Version
- update tag
- update version script
Credits
Huge thanks to @wyattjoh for helping!
Core Changes
- Fix tags check for expired/stale: #84717
- tweak middlewareClientMaxBodySize handling: #84712
Misc Changes
- Fix typo on welcome page: #84715
Credits
Huge thanks to @samselikoff, @ijjk, and @ztanner for helping!
Core Changes
- misc: allow beta to be triggered: #84713
Credits
Huge thanks to @feedthejim for helping!
Core Changes
- breaking(next/image)!: remove 16px from default
images.imageSizesconfig: #84647 - add Statsig Node Core package to Server External Packages: #84157
- Remove bailed out SSG routes from the list of SSG: #83861
- Revert "[Breaking] Skip Next.js internal routes
/_nextin middleware": #84697 - Bump eslint-plugin-react-hooks to v7: #84669
- Add refresh API to next/cache: #84666
- [Breaking] Require
images.localPatternsfor query in Image src: #84406 - [Breaking] feat(next/image)!: add support for
images.dangerouslyAllowLocalIPandimages.maximumRedirects: #84676 - Add new updateTag API and new signature for revalidateTag: #83822
- Add validation for missing default.js in parallel routes: #84702
Misc Changes
- Add note about $ACTION_ properties, remove reference to .entries(): #84459
Credits
Huge thanks to @styfle, @brock-statsig, @devjiwonchoi, @karlhorky, @ijjk, @ztanner, and @wyattjoh for helping!
Core Changes
- [middleware]: add upper bound to cloneBodyStream: #84539
- Remove automatic linting from build: #83136
- Re-enable legacyBehavior and passHref on Link: #84500
- [cna] Use stable React Compiler: #84660
- Add codemod for
middlewaretoproxy: #84127 - Fix dynamic catchall parameter interpolation in parallel routes: #84279
- feat(breaking): Hard Deprecate PPR Configuration: #84280
- Deprecate
middlewareand recommendproxy: #84119 - Put native TS resolver for next config under
--experimental-next-config-strip-typesflag: #84675 - Fix interception route rewrites for nested dynamic routes: #84413
- fix: strip NEXTSEP from interpolated pathnames: #84430
- chore: Remove useless symlink resolution logic in
recursive-delete.js: #84582
Misc Changes
- docs: update core documentation for Turbopack as default bundler: #84282
- Update Rspack development test manifest: #84631
- [turbopack] Only send the filesystem caching timing messages for slow events: #84646
- docs:
experimental.isolatedDevBuild: #84656 - docs: add note clarifying project root in monorepo: #84628
- Fix flakey overlay feedback test: #84662
- [ci]: update flake detection to only run in Turbopack: #84659
- [ci]: move router-act to top level testing utils: #84653
- [tests]: de-flake client-cache.parallel-routes.test.ts: #84655
- [create-next-app]: add eslint to default template: #84661
- Update Rspack production test manifest: #84630
- [test] Assert on stable error codes: #84671
- Turbopack: convert HashMap to IndexMap for deterministic tasks: #84641
Credits
Huge thanks to @lukesandberg, @vercel-release-bot, @ztanner, @devjiwonchoi, @gwkline, @ijjk, @bgub, @samselikoff, @eps1lon, @wyattjoh, @bgw, and @sokra for helping!
Core Changes
- feat(next/image)!: deprecate and warn on
images.domainsconfig: #84625 - feat(next/legacy/image)!: deprecate and warn on
next/legacy/imageusage: #84622 - Turbopack: improve errors/warnings for turbopack messages: #84552
- Turbopack: rename turbopackPersistentCachingForXXX to turbopackFileSystemCacheForXXX: #84632
- [Segment Cache] Add refresh URL to reused default segments: #84627
- [Segment Cache] Fix tests related to optimistic loading state reuse: #84498
- Upgrade React from
a4eb2dfa-20251006to3025aa39-20251007: #84613 - [breaking]: enable clientSegmentCache by default: #84643
- feat: Acquire a lockfile on
distDirinnext devandnext build: #84428 - Add deprecation warning to Runtime config: #84168
Misc Changes
- [create-next-app]: prompt to use recommended options: #84570
- Update labeler: #84623
- Turbopack: use mmap advise to help the OS preloading: #84379
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84551
- Turbopack: follow-up changes from untracked tracing: #84629
- Turbopack: sourcemaps for JSON modules: #84611
- Turbopack: avoid race condition when updating cells: #84598
Credits
Huge thanks to @ztanner, @samselikoff, @styfle, @sokra, @mischnic, @acdlite, @bgw, and @devjiwonchoi for helping!
Core Changes
- [Breaking] Bump sass-loader to v16: #84387
- Update cases for build complete with adapters: #84361
- Turbopack: delete .next folder before throwing due to "pages/app directory must be in the same folder": #84553
- [mcp] change get-project-path to get-project-metadata: #84619
Misc Changes
- Update Rspack development test manifest: #84592
- Update Rspack production test manifest: #84593
- Turbopack: Remove workaround in hyper for rustc miscompilation bug on macos intel: #84578
- Turbopack: add manual worker count override: #84454
- Turbopack: don't ignore TS parse errors: #84597
- Add middleware to routes order doc: #84618
Credits
Huge thanks to @vercel-release-bot, @bgw, @devjiwonchoi, @mischnic, @ijjk, @sokra, and @huozhi for helping!
Core Changes
- Build: Highlight TypeScript and ESLint being run clearer: #84606
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- [Cache Components] Schedule work on timeouts: #84344
- [dev] Define request ID for RSC requests on the client: #84605
- fix(cache-tags): add
/indexto implicit tags and adjustrevalidatePath(): #84586
Credits
Huge thanks to @gnoff, @unstubbable, and @styfle for helping!
Core Changes
- Upgrade React from
c7862584-20251006toa4eb2dfa-20251006: #84589
Misc Changes
- fix(cna): use correct postcss plugins syntax: #79949
- Turbopack: absolute requests in webpack loader: #84575
Credits
Huge thanks to @stefanprobst and @mischnic for helping!
Core Changes
- Allow silencing unhandled rejection filter warnings and improve debugging: #84572
- [MCP] Fix: Do not dedup by URL for MCP get_page_metadata: #84564
- Guard
createDebugChannelimport by feature flag: #84604 - Build: Add time to logline of every step: #84602
Misc Changes
- Turbopack: Lower the IO concurrency limit in CI tests: #84508
- Add documentation for experimental adapters handling: #83737
- Turbopack: improve next/dynamic eventual consistentcy: #84560
- fix hidden errors in router-act: #84603
Credits
Huge thanks to @bgw, @gnoff, @gaojude, @ijjk, @mischnic, @unstubbable, @lubieowoce, and @timneutkens for helping!
Misc Changes
- CI: Enable
experimental.isolatedDevBuildfortest-dev: #84562 - [test] Unflake static image test: #84535
Credits
Huge thanks to @devjiwonchoi and @unstubbable for helping!
Core Changes
- [test] Enable
reactDebugChannelfor experimental test shards: #84533 - Simplify Metadata components: #84527
- Implement the updated prerender API shape: #84254
- Upgrade React from
85c427d8-20251003to4fdf7cf2-20251003: #84499 - Upgrade React from
4fdf7cf2-20251003toc7862584-20251006: #84573 - fix(Turbopack): Add better error messaging for when we can't determine Next.js root: #83918
Misc Changes
- next mcp router
- Revert "next mcp router"
- test: Use nextTestSetup in scss tests: #84501
- [turbopack[ Use the configured hasher to implementh Hash for AutoMap and AutoSet: #84542
- Turbopack: debug ids for server chunks: #84557
- CI: Enable
experimental.isolatedDevBuildfortest-unit: #84559 - [test]: convert prefetching tests to be segmentCache compatible: #84521
- CI: Enable
experimental.isolatedDevBuildfortest-prod: #84556 - Add
.next/dev/typesto CNA templates tsconfig include: #84566 - CI: Enable
experimental.isolatedDevBuildfortest-integration: #84558 - Update Rspack development test manifest: #84548
- Add a webpack flag to create next app. Ensure that if you set it or decline turbopack we set the --webpack flag on the generated project: #84476
- Update Rspack production test manifest: #84549
Credits
Huge thanks to @unstubbable, @gnoff, @bgw, @lukesandberg, @mischnic, @devjiwonchoi, @ztanner, @Cy-Tek, and @vercel-release-bot for helping!
Core Changes
- Fix potential race condition with request ID in dev mode: #84532
Credits
Huge thanks to @unstubbable for helping!
Misc Changes
- Revert "Turbopack: skip invalidating a task on cell/output change when the dependency is outdated": #84526
Credits
Huge thanks to @sokra for helping!
Core Changes
- [segment cache]: collectSegmentData should respect experimental.staleTime config: #84520
Misc Changes
- Update Rspack development test manifest: #84480
- Update Rspack production test manifest: #84481
- [ci]: remove test from segment cache manifest: #84507
- [ci]: de-flake client cache test: #84517
Credits
Huge thanks to @vercel-release-bot and @ztanner for helping!
Core Changes
- telemetry track mcp server usage: #84471
- simplify the way we check for turbopack config to ensure we support an empty turbopack object: #84494
- perf: Use synchronous IO when cleaning
distDirinnext devandnext build: #84472 - Make turbopack the default bundler for custom servers: #84281
- [segment cache]: fix interception route handling: #84497
- Upgrade React from
a757cb76-20251002to85c427d8-20251003: #84496
Misc Changes
- fix: Missing link in Lazy Loading docs: #84473
- docs: simplify streaming metadata: #84253
- make withRspack idempotent: #84482
- Turbopack: Use strongly consistent reads in
random_changeunit test: #84505
Credits
Huge thanks to @huozhi, @joao4xz, @icyJoseph, @lukesandberg, @bgw, and @ztanner for helping!
Misc Changes
- Turbopack: Only benchmark file IO on
next dev: #84474 - Turbopack: improve incremental build performance when deployment id changes: #84460
Credits
Huge thanks to @bgw and @sokra for helping!
Core Changes
- Revert "Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"""": #84394
- Optimize isMetadataRoute function: #84409
- [ci]: split clientSegmentCache test runners off from experimental: #84440
- [Cache Components] Fix caching in
generateMetadata/generateViewport: #84228 - Upgrade React from
86181134-20251001toa757cb76-20251002: #84463 - [segment cache]: fix trailingSlash handling with output: export: #84465
- perf: Use a more aggressive retry loop for
recursiveDelete: #84444 - [Cache Components] Dim logs after prerender aborts: #84153
Misc Changes
- [ci]: remove PPR-specific CI jobs: #84439
- docs: Verbose troubleshooting for unconfigured hosts: #84271
- Update Rspack production test manifest: #84398
- Add gt-next to i18n list: #84396
- [ci]: fix build-output-prerender to support segment cache env: #84467
- [ci]: fix app-static snapshots with clientSegmentCache: #84468
Credits
Huge thanks to @lukesandberg, @ztanner, @timneutkens, @icyJoseph, @unstubbable, @vercel-release-bot, @bgw, @brian-lou, and @gnoff for helping!
Core Changes
- Update otel test assertions and pages span_name: #84393
- [Breaking] Bump minimum TypeScript version to 5.1.0: #84384
- Upgrade React from
d15d7fd7-20250929toef889445-20250930: #84383 - [Breaking] Remove deprecated
unstable_rootParams: #84373 - [metadata] remove falsy dynamicParams approach: #84405
- fix: next rspack binding NextExternalsPlugin: #84303
- Development: Skip route matching when there is an existing match: #84227
- Revert "auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents": #84419
- Upgrade React from
ef889445-20250930to548235db-20251001: #84416 - [Breaking] Update default browserslist config: #84401
- Upgrade React from
548235db-20251001to1bd1f01f-20251001: #84417 - Allow
metadataBaseto be a string URL in addition toURLinstance: #84297 - Upgrade React from
1bd1f01f-20251001to86181134-20251001: #84427 - [mcp] logging file should be reset for each session: #84425
Misc Changes
- Update failing e2e deploy tests: #84395
- Turbopack: Webpack loader
this.fs.readFile: #83313 - Improve tests: #84374
- Revamp Next.js boilerplate: #81945
- Add test for twoslash: #84267
- Docs/project structure polish: #84386
- Bump to swc v44: #84420
- Turbopack: don't fail for parse errors in tracing: #84408
- Update Rspack development test manifest: #84365
- Update Rspack production test manifest: #84366
Credits
Huge thanks to @ijjk, @mischnic, @devjiwonchoi, @chloe-yan, @huozhi, @SyMind, @timneutkens, @ztanner, @sireesha-siri, @unstubbable, and @vercel-release-bot for helping!
Core Changes
- Revert "Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)""": #84389
Misc Changes
- Turbopack: trace module.createRequire: #84335
Credits
Huge thanks to @mischnic and @lukesandberg for helping!
Core Changes
- Revert "Revert "Add a --webpack flag and default --turbopack to true (#84216)"": #84351
- [Breaking] Remove AMP codemod: #84356
- [Breaking] Remove deprecated built-in AMP: #84312
- auto-enable clientParamParsing and clientSegmentCache w/ cacheComponents: #84250
- [mcp] get server action tool: #84382
Example Changes
- examples: Remove AMP example: #84355
Misc Changes
- docs: Remove AMP docs: #84357
- docs: Type helpers don't need to be imported: #84265
- Turbopack: Add docs for debugIds option: #84375
- Remove references to size metrics in next build from our docs: #83823
- Bump to swc v42: #83477
- Turbopack: skip invalidating a task on cell/output change when the dependency is outdated: #84376
Credits
Huge thanks to @devjiwonchoi, @icyJoseph, @timneutkens, @lukesandberg, @mischnic, @ztanner, @sokra, and @huozhi for helping!
Core Changes
- [cna] Add
reactCompileroption: #82251 - Turbopack: remove canary version check for turbopackPersistentCachingForDev: #84277
- [turbopack] Add support for debug_ids: #84319
Misc Changes
- Turbopack: only replace edge dynamic calls in dev: #84354
- [turbopack] Remove a bunch of dead code from the source map implementation: #84318
- Turbopack: prevent duplicate NFT modules: #84369
Credits
Huge thanks to @mischnic, @lukesandberg, @poteto, and @sokra for helping!
Core Changes
- Turbopack: add separate turbopackPersistentCachingForBuild/ForDev flags: #84215
- Revert "Add a --webpack flag and default --turbopack to true (#84216)": #84348
- Upgrade React from
df38ac9a-20250926tod15d7fd7-20250929: #84347 - Mark React Compiler integration as stable: #84220
Example Changes
- Use Array.from to avoid @ts-ignore when copying i18n.locales: #82148
Misc Changes
- [test] Stop downloading unused test browsers when generating PR stats: #84329
- docs: remove repeated to: #84325
- Turbopack: Use more robust logic for absolute and percent-encoded URLs in source maps received from loaders: #84255
Credits
Huge thanks to @eps1lon, @sokra, @lukesandberg, @Anshuman71, @bgw, and @RobertFent for helping!
Core Changes
- Turbopack: only write merged manifests when they have been changed: #84261
Misc Changes
- [test] Ignore pnpm update notifier: #84328
Credits
Huge thanks to @sokra and @eps1lon for helping!
Core Changes
- Move
config.turbopack.moduleIdstoconfig.experimental.turbopackModuleIds: #84230 - Show invalid default export errors during prerendering: #84242
- fix: make sure caller exists in babel preset: #84154
- [mcp] allow to enable mcp server through env var: #84278
- fix(metadata): make formatDetection respect true/false properly: #83924
- Upgrade React from
b0c1dc01-20250925todf38ac9a-20250926: #84276 - Add a --webpack flag and default --turbopack to true: #84216
- fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
- [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
Misc Changes
- Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default exportan e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
Credits
Huge thanks to @devjiwonchoi, @sokra, @unstubbable, @lukesandberg, @FelipeChicaiza, @bgw, @kevva, @huozhi, @m1abdullahh, @vercel-release-bot, and @F7b5 for helping!
Core Changes
- Move
config.turbopack.moduleIdstoconfig.experimental.turbopackModuleIds: #84230 - Show invalid default export errors during prerendering: #84242
- fix: make sure caller exists in babel preset: #84154
- [mcp] allow to enable mcp server through env var: #84278
- fix(metadata): make formatDetection respect true/false properly: #83924
- Upgrade React from
b0c1dc01-20250925todf38ac9a-20250926: #84276 - Add a --webpack flag and default --turbopack to true: #84216
- fix: Update URL resolution logic to handle search parameters on root path /?foo=bar: #78262
- [Breaking] Remove deprecated sync access to Dynamic APIs: #84179
Misc Changes
- Turbopack: Scope with work queue: #84225
- [test] Make
Undefined default exportan e2e test suite: #84240 - [turbopack] Conditionally create pages router data endpoints.: #84194
- Turbopack: parallel connect children: #84173
- Turbopack: count turbo_tasks::run as foreground tasks to avoid being idle: #84245
- Turbopack: make persistent caching log line more clear: #84262
- Turbopack: make tracing nicer: #84263
- docs:Small improvement on the contribution guide for clarity: #84200
- Turbopack: Remove not-very-useful "Finished writing to disk in" log line: #84244
- Turbopack: follow up changes from parallel children: #84219
- [turbopack] Simplify take_issues and peek issues: #84199
- Update Rspack development test manifest: #84260
- Update Rspack production test manifest: #84259
Credits
Huge thanks to @devjiwonchoi, @sokra, @unstubbable, @lukesandberg, @FelipeChicaiza, @bgw, @kevva, @huozhi, @m1abdullahh, @vercel-release-bot, and @F7b5 for helping!
Core Changes
- Feat:
get_page_metadataMCP endpoint: #84211 - feat: capture logs into logging file during development: #84183
- babel-loader: Avoid calling expensive
isReactCompilerRequiredcheck when we must run Babel anyways: #84103 - [mcp] expose logging: #84226
Misc Changes
- Turbopack: trace fs-extra calls: #84246
- [test] Overhaul
Undefined default exporttest suite: #84235
Credits
Huge thanks to @mischnic, @gaojude, @huozhi, @unstubbable, and @bgw for helping!
Core Changes
- Add internal environment variable for enabling React Compiler: #84176
- [devtools] Disable React's default Transition indicator: #84202
- Upgrade React from
e2332183-20250924tob0c1dc01-20250925: #84248
Example Changes
- docs: update Dockerfile to use node:lts-alpine instead of node:18-alpine: #84229
Misc Changes
- Turbopack: increase retry duration, reduce busy looping when there is other work: #84171
- Turbopack: Try to avoid block_in_place in scope: #84172
- [turbopack] Remove some bitmap clones: #84193
- Turbopack: lazier manifests, part deux: #84191
- Turbopack: avoid panic on updating output when a task was cancelled: #84214
- docs: nav_title for long unbroken words: #84233
- Turbopack: Use
RawValueformappingsinsideSourceMapJson: #84208 - Update Rspack development test manifest: #84218
- Turbopack: fix NFT of readFileSync of relative path: #84155
- Turbopack: improve references benchmark: #84223
- Update Rspack production test manifest: #84217
- Turbopack: drop ASTs when only tracing: #84185
- docs: Include more detailed instructions on excluding from common AV solutions, including macOS Gatekeeper: #84206
Credits
Huge thanks to @sokra, @lukesandberg, @eps1lon, @mischnic, @Samii2383, @icyJoseph, @bgw, and @vercel-release-bot for helping!
Core Changes
- Feat:
get_errorsMCP endpoint: #84161
Misc Changes
- Revert "[turbopack] Set
livenessof exports based on assignment ana…: #84207
Credits
Huge thanks to @gaojude and @ztanner for helping!
Core Changes
- refactor: separate forward browser logs utils: #84151
- Upgrade React from
1eca9a27-20250922toe2332183-20250924: #84189 - [Cache Components] default to filtering unhandledRejection after abort: #84192
- fix: prevent URL mutation in router rewrites: #83963
- fix(server): fix pages router resume router matching: #84158
Misc Changes
- script: improve release log generation: #83686
- Turbopack: split task_execution_completed into multiple methods: #84170
- Turbopack: only generate field if spans are enabled: #84184
- Turbopack: support more dynamic request with import map: #84178
- [turbopack] defer a
value_to_stringoperation until we need it: #84188 - Update Rspack production test manifest: #84165
Credits
Huge thanks to @huozhi, @sokra, @mischnic, @gnoff, @lukesandberg, @wyattjoh, and @vercel-release-bot for helping!
Core Changes
- Fix double comma in build manifest: #84131
- [turbopack] set app dir only to true when no pages entries detected: #84144
- Split code-frame into separate compiled package: #84174
Credits
Huge thanks to @timneutkens and @huozhi for helping!
Core Changes
- docs: update Security section to direct disclosures : #84156
- ci: Enable
experimental.isolatedDevBuildfortest-experimental-dev: #84099 - [turbopack] Ensure React Compiler options are based dev vs prod: #84062
- Enable anonymous function naming in React Compiler: #84070
- Revert "[Breaking] Remove deprecated
publicRuntimeConfigandserverRuntimeConfig(#83944)": #84167
Misc Changes
- Update Rspack development test manifest: #84117
Credits
Huge thanks to @aaronbrown-vercel, @vercel-release-bot, @devjiwonchoi, and @eps1lon for helping!
Core Changes
- Flag excess properties in Next.js config with TypeScript: #84069
Misc Changes
- Turbopack: add more details to the graph panic: #84143
- test: split app-middleware test per describe: #84130
Credits
Huge thanks to @sokra, @eps1lon, and @devjiwonchoi for helping!
Core Changes
- BREAKING CHANGE!: bump default
images.minimumCacheTTLfrom 1 min to 4 hours: #84105 - Feat: Add Model Context Protocol (MCP) server to Next.js dev server: #84100
- Upgrade React from
d415fd3e-20250919to1eca9a27-20250922: #84093 - Turbopack: Remove the deprecated
.turboconfig object: #84109
Misc Changes
- docs: onRequestError request header type: #83988
- Turbopack: Improve persistent caching test case: #83205
- Turbopack: add more details to the graph panic: #84126
- docs: Cookies store access is async: #83987
- Bump Rust to nightly-2025-09-21: #83415
- Upgrade CodSpeed action and add analyzer benchmarks: #84135
- Turbopack: fix run_once when returning error: #84142
- [turbopack] Conditionally collect affecting sources: #83921
- Turbopack: slightly improve resolve_source_map_sources: #84147
- Turbopack: RawEcmascriptModule: #81806
Credits
Huge thanks to @icyJoseph, @sokra, @styfle, @gaojude, @mischnic, @lukesandberg, and @bgw for helping!
Core Changes
- Development: Only load webpack when used: #84123
- Turbopack: Skip loading webpack plugin: #84125
- Development: Only load createEnvDefinitions when used: #83935
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Turbopack: Fix babel-loader (allowing built-in or manual configuration): #82676
- [Cache Components] allow using headers() in runtime prefetches: #83838
- [Breaking] Remove deprecated
publicRuntimeConfigandserverRuntimeConfig: #83944 - Turbopack: mode to disable tracing: #83683
- babel-loader: Fix a few issues with config caching: #83973
- Turbopack: Merge babel-loader and react-compiler configuration logic to avoid running babel twice: #83502
- [breaking]: enable router scroll optimization by default: #84102
- Fix layout for
ssgPageRoutesin the file tree: #84104 - Turbopack: Remove useless 'default' built-in webpack loader condition: #84111
- Fix: Client should auto reload after server restarts: #83971
- trace-build: Add missing spans: #84080
- Development: Remove TypeScript from the hot path during bootup: #84090
- Guide users to
experimental.cacheComponentsconfig: #84121
Misc Changes
- Turbopack: parallelize scope hoisting computation: #83904
- Add test for JS resource size on navigation: #83731
- Update Rspack development test manifest: #84061
- Update Rspack production test manifest: #84060
- Turbopack: Document automatic Babel config support: #84002
- docs: Fix the title/path of the turbopack page on pages router: #84001
- Turbopack: remove references from ChunkData: #84076
- Turbopack: include availability hash in the ident of evaluated chunks groups: #84082
- [turbopack] s/analyse/analyze/g: #84112
- [Turbopack] avoid attaching referenced output assets to chunks: #75933
- fix(docs): Fix links in UPGRADING.md: #84114
- docs: improve dynamic routes example in project structure page: #84086
Credits
Huge thanks to @bgw, @lubieowoce, @devjiwonchoi, @mischnic, @vercel-release-bot, @ztanner, @lukesandberg, @gaojude, @sokra, @timneutkens, @lachlanjc, @unstubbable, and @liketiger for helping!
Core Changes
- Allow passing port to
next internal trace: #83907 - Turbopack: error when importing Typescript in node_modules: #83990
- Turbopack: Deterministic builds (prerender-manifest, .next/package.json, ./next/postcss.js): #84081
Misc Changes
- [turbopack] Consolodate logic for visiting functions to simplify state management: #82763
- [turbopack] Track the scope in which variables are assigned: #82845
- [turbopack] Set
livenessof exports based on assignment analysis: #82802 - Turbopack: trace all state changes: #84053
- docs: We have dropped the CORS example linked: #84065
- docs: add pageExtensions note to Middleware and clarify default filename: #84045
- Fix TypeScript type error in example code: #84041
- Turbopack: fix test case and update project_update to turbo_tasks::run too: #83978
- Turbopack: run tests with multiple threads: #84074
- Turbopack: flush Node.js worker IPC on error: #84077
Credits
Huge thanks to @lukesandberg, @sokra, @mischnic, @icyJoseph, @Milancen123, and @martinfrancois for helping!
Core Changes
- fix: worker logs should still support color: #84024
- Update font data: #84005
Misc Changes
- Turbopack: Make transient tasks root tasks too when called in turbo_tasks::run: #83976
- Turbopack: trace state changes: #83977
- [turbopack] cleanup analyzer: #83983
- [Turbopack] Fix AST traversal for
thisin function default parameters: #83746
Credits
Huge thanks to @sokra, @lukesandberg, @hayes, @ztanner, and @vercel-release-bot for helping!
Misc Changes
- Update Rspack production test manifest: #83979
- Update Rspack development test manifest: #83980
Credits
Huge thanks to @vercel-release-bot for helping!
Core Changes
- Upgrade React from
84af9085-20250917tod415fd3e-20250919: #84003
Misc Changes
- Turbopack: use depth as priority for merged module info: #83909
- Turbopack: "connect" tasks in turbo_tasks::run too: #83975
Credits
Huge thanks to @mischnic and @sokra for helping!
Core Changes
- feat: Isolate dev build from prod: #83961
- Remove JS size reporting from next build: #83815
- Docs/workspace setup: #83490
- Turbopack: support
import ... with {type: "bytes"}: #83896 - fix: error overlay not closing when backdrop clicked: #83981
Misc Changes
- [turbopack] Track task durations in the task_statistics file: #83522
- [turbopack] Remove the
issue_pathfeature and related functionality: #83920 - Turbopack: use turbo_tasks::run in next.js to avoid task memory leak: #83848
- Update Rspack production test manifest: #83934
- Update Rspack development test manifest: #83933
- Turbopack: add test case that checks memory leak: #83849
- Turbopack: read project strongly consistent in project_update: #83974
- Fix output comparison when checking conclusion of required jobs: #83986
- Turbopack: JsAnalyzer parse AssignExpr: #83962
- Turbopack: less eager manifest generation: #83736
Credits
Huge thanks to @lukesandberg, @sokra, @vercel-release-bot, @devjiwonchoi, @icyJoseph, @mischnic, and @eps1lon for helping!
Misc Changes
- Add Descope to Auth libraries list: #83968
Credits
Huge thanks to @anvibanga for helping!
Core Changes
- Remove force writing **/*.mts to tsconfig: #83967
Credits
Huge thanks to @devjiwonchoi for helping!
Core Changes
- [Cache Components] Allow sync IO inside console methods : #83843
- Upgrade React from
128abcfa-20250917to84af9085-20250917: #83959 - Build: Add .next/trace-build with high level trace: #83949
Misc Changes
- feat: next-rspack-binding: #82811
- Only send notification if canary fails on required jobs: #83953
- Turbopack: allow to read State from turbo_tasks::run: #83955
- Fix conclusion check for retry_test workflow: #83960
Credits
Huge thanks to @gnoff, @SyMind, @eps1lon, @sokra, and @timneutkens for helping!
Core Changes
- Remove inline CSS sourcemaps from next-devtools: #83917
- Development: Move all TypeScript related work in watcher together: #83912
Example Changes
- chore: improve oxlint example: #83898
Misc Changes
- fix: add the missing comma in the document example: #83932
- Turbopack: Document the reasons for the current design of
parse_segment_config_from_source: #83919 - Turbopack: extract parse_source_map_comment: #83938
- Turbopack: enable nodelay for node.js pool socket: #83942
Credits
Huge thanks to @mischnic, @fufuShih, @timneutkens, @bgw, @TheAlexLichter, and @sokra for helping!
Core Changes
- OTel: use
srcPagefor templates whennext.routeis unavailable: #83911
Misc Changes
- Turbopack: RuleCondition support resourceQuery contains: #83468
Credits
Huge thanks to @devjiwonchoi and @fireairforce for helping!
Core Changes
- Development: Clarify TypescriptStatus in watcher: #83857
- Upgrade sharp dependency to version ^0.34.4: #83892
- Upgrade React from
5e0c951b-20250916to128abcfa-20250917: #83906 - Add native ts resolver docs link to transpile-config: #83914
Example Changes
- chore: add example with oxlint: #83842
- fix: correct typo 'incomming' to 'incoming' in with-mqtt-js example: #83887
Misc Changes
- Update generate-metadata.mdx: #81853
- Turbopack: remove lazy invalidated tasks: #83845
- Turbopack: remove Backend TaskState: #83846
- Turbopack: don't recompute empty parse results: #83883
- Turbopack: delete broken hmr benchmark: #83882
- Turbopack: only generate error string in error case: #83884
- docs: the as prop is still available in Pages Router: #83864
- Turbopack: map_module_batch: #83885
- Turbopack: Change run once signature to avoid exposing TaskId: #83844
- docs: Update command to use
npxfor tracing files: #83903 - Turbopack: ModuleGraphRef: #83890
- Update Rspack development test manifest: #83876
- Turbopack: make graph traversal sync: #83891
- chore: Fix test snapshot: #83901
- Update Rspack production test manifest: #83877
- docs: add
next.config.tsNode.js native resolver: #83561 - Turbopack: add turbo_tasks::run to run in turbo tasks scope without a task: #83847
- Turbopack: fix double codegen of some merged modules: #83886
- Turbopack: add traces to merged module computation: #83908
Credits
Huge thanks to @yousefdawood7, @TheAlexLichter, @sokra, @timneutkens, @mischnic, @icyJoseph, @ericx0099, @leerob, @Copilot, @vercel-release-bot, and @devjiwonchoi for helping!
Core Changes
- Upgrade React from
8a8e9a7e-20250912to5e0c951b-20250916: #83850 - Bump typescript 5.9.2: #83833
- Allow headers, rewrites and redirects to be defined as sync functions: #83743
- Turbopack: Optimize addedRoutes and removedRoutes calculation: #83840
- [next-config-ts] Set Node.js native TS loader fallback flag to process.env: #83832
Misc Changes
- Only retry if canary fails on required jobs: #83851
- docs: Fix self-referential link to Middleware in middleware.mdx: #83854
- Update Rspack production test manifest: #83826
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @kachkaev, @timneutkens, @bgw, and @vercel-release-bot for helping!
Core Changes
- fix(Rspack): resolve HMR unresponsiveness or unexpected full reload & update dev snapshot: #83480
- Allow
next.config.mtsfor Node.js native TS resolver: #83556 - chore: Ensure Import Trace starts in a newline: #83638
- Development: Remove matchers.reload() on each request: #83829
Example Changes
- docs: Convert relative imports to @ aliases in examples: #83813
Misc Changes
- Turbopack: chunking debugging utilities: #83801
- Removed link to maintain text consistency: #83644
- Turbopack: rename some fields in fs: #83808
- Turbopack: validate CSS without computing all paths: #83810
- [test] Disable flaky navigation test: #83828
- docs: Type narrowing using LayoutProps, PageProps: #83692
- docs: implications of mutating cookies in server actions: #83691
Credits
Huge thanks to @SyMind, @mischnic, @Shireee, @devjiwonchoi, @eps1lon, @icyJoseph, @dharun36, and @timneutkens for helping!
Core Changes
- [Breaking] Flat config as default in
@next/eslint-plugin-next: #83763 - fix: Rspack splitChunks.chunks regex: #83670
- Revert "Turbopack: Remove matchers.reload() call on each request": #83819
- fix: unstable_cache should perform blocking revalidation during ISR revalidation: #83820
Misc Changes
- docs(metadata): align default function export name with file name: #83796
- [turbopack] Remove the
should_track_childrenparameter of the turbo tasks backend: #83258 - docs(data-security): add bun package manager example: #83735
- Update next-intlayer reference in i18n doc: #83761
- Update Rspack production test manifest: #83790
- Update Rspack development test manifest: #83791
Credits
Huge thanks to @dwrth, @lukesandberg, @obendev, @aymericzip, @devjiwonchoi, @SyMind, @vercel-release-bot, @timneutkens, and @ztanner for helping!
Core Changes
- Turbopack: Remove matchers.reload() call on each request: #83720
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- [OTel] fix: Root span name should not include high cardinality URL: #75416
Misc Changes
- Emit build error when
'use cache'directive is misspelled: #83756
Credits
Huge thanks to @povilasv and @unstubbable for helping!
Core Changes
- Upgrade React from
f3a80361-20250911to93d7aa69-20250912: #83729 - Upgrade React from
93d7aa69-20250912to8a8e9a7e-20250912: #83742 - Fix reentrancy of unhandledRejection filtering: #83741
- Fix type for unhandled rejection handler process.removeListener: #83748
Misc Changes
- [Turbopack] Remove
ssr-datamodule context: #83626 - CI: use KV for test timing data: #83745
Credits
Huge thanks to @lukesandberg, @ztanner, and @gnoff for helping!
Core Changes
- Fix index data route for adapter build-complete: #83730
- Remove leading underscore for unhandledRejection envvar: #83732
Credits
Huge thanks to @ijjk and @gnoff for helping!
Core Changes
- fix: dev should produce the correct default fallback regex to match builds/Turbopack: #83701
- [devtool] fix overlay styles are missing: #83721
- Revert "Remove clientParamParsing requirement from RDC for Navigations": #83725
- Only enable unhandledRejection filtering when opted in: #83726
Misc Changes
- tests: disable flaky deployment test while investigating upstream: #83705
- [test] Update snapshots for Rspack + React 18: #83712
- Docs/sep paper cuts: #83689
Credits
Huge thanks to @ztanner, @unstubbable, @icyJoseph, @huozhi, and @gnoff for helping!
Core Changes
- Remove clientParamParsing requirement from RDC for Navigations: #83661
- Upgrade React from
6b70072c-20250909to886b3d36-20250910: #83650 - Turbopack: Use readFileSync / writeFileSync for manifest writing: #83694
- Upgrade React from
886b3d36-20250910tof3a80361-20250911: #83696 - Don't create client-side debug channel if the feature is disabled: #83699
Misc Changes
- [CI] Fix GitHub Actions matrix configuration for React versions: #83677
- fix(Turbopack): Enable scope hoisting for large files or module counts: #83399
- [turbopack] Lazily construct
resolved::RequestsforEsmAssetReference: #83662 - Update content-security-policy.mdx, fix development environment error: #83665
Credits
Huge thanks to @unstubbable, @wyattjoh, @Cy-Tek, @timneutkens, @lukesandberg, and @OoMNoO for helping!
Core Changes
- Development: Don't import app-router / hot-reloader through next/link in application code: #83656
Misc Changes
- Turbopack: Only load capsize-font-metrics once: #83654
Credits
Huge thanks to @timneutkens for helping!
Misc Changes
- Turbopack: remove
css_environmentfromEnvironment: #83487 - Turbopack: Don't add client_runtime_entries to Route Handler compilation: #83655
Credits
Huge thanks to @mischnic and @timneutkens for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- feat(next/image): add lru disk cache and images.maximumDiskCacheSize (#91660)
- Fix(pages-router): restore Content-Length and ETag for /_next/data/ JSON responses (#90304)
Credits
Huge thanks to @styfle and @lllomh for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: patch http-proxy to prevent request smuggling in rewrites (See: CVE-2026-29057)
Credits
Huge thanks to @ztanner for helping!
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
- fix unlock in publish-native
This is a re-release of v15.5.11 applying the turbopack changes.
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Tracing: Fix memory leak in span map (#85529)
- fix: ensure LRU cache items have minimum size of 1 to prevent unbounded growth (#89134)
- Turbopack: fix NFT tracing of sharp 0.34 (#82340)
- Turbopack: support pattern into exports field (#82757)
- NFT tracing fixes (#84155 and #85323)
- Turbopack: validate CSS without computing all paths (#83810)
- feat: implement LRU cache with invocation ID scoping for minimal mode response cache (#89129)
Credits
Huge thanks to @timneutkens, @mischnic, @ztanner, and @wyattjoh for helping!
Please refer the following changelogs for more information about this security release:
Please see the Next.js Security Update for information about this security patch.
Please see CVE-2025-66478 for additional details about this release.
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Turbopack: don't define process.cwd() in node_modules #83452
Credits
Huge thanks to @mischnic for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Split code-frame into separate compiled package (#84238)
- Add deprecation warning to Runtime config (#84650)
- fix: unstable_cache should perform blocking revalidation during ISR revalidation (#84716)
- feat:
experimental.middlewareClientMaxBodySizebody cloning limit (#84722) - fix: missing next/link types with typedRoutes (#84779)
Misc Changes
- docs: early October improvements and fixes (#84334)
Credits
Huge thanks to @devjiwonchoi, @ztanner, and @icyJoseph for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: ensure onRequestError is invoked when otel enabled (#83343)
- fix: devtools initial position should be from next config (#83571)
- [devtool] fix overlay styles are missing (#83721)
- Turbopack: don't match dynamic pattern for node_modules packages (#83176)
- Turbopack: don't treat metadata routes as RSC (#82911)
- [turbopack] Improve handling of symlink resolution errors in track_glob and read_glob (#83357)
- Turbopack: throw large static metadata error earlier (#82939)
- fix: error overlay not closing when backdrop clicked (#83981)
- Turbopack: flush Node.js worker IPC on error (#84077)
Misc Changes
- [CNA] use linter preference (#83194)
- CI: use KV for test timing data (#83745)
- docs: september improvements and fixes (#83997)
Credits
Huge thanks to @yiminghe, @huozhi, @devjiwonchoi, @mischnic, @lukesandberg, @ztanner, @icyJoseph, @leerob, @fufuShih, @dwrth, @aymericzip, @obendev, @molebox, @OoMNoO, @pontasan, @styfle, @HondaYt, @ryuapp, @lpalmes, and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: validation return types of pages API routes (#83069)
- fix: relative paths in dev in validator.ts (#83073)
- fix: remove satisfies keyword from type validation to preserve old TS compatibility (#83071)
Credits
Huge thanks to @bgub for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: disable unknownatrules lint rule entirely (#83059)
- revert: add ?dpl to fonts in /_next/static/media (#83062)
Credits
Huge thanks to @bgub and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: aliased navigations should apply scroll handling (#82900)
- Turbopack: fix invalid NFT entry with file behind symlink (#82887)
- fix: typesafe linking to route handlers and pages API routes (#82858)
- fix: change "noUnknownAtRules" to "warn" for Biome (#82974)
- fix: add path normalization to getRelativePath for Windows (#82918)
- feat: add typesafety with config.typedRoutes to redirect() and permanentRedirect() (#82860)
- fix: avoid importing types that will be unused (#82856)
- fix: update the config.api.responseLimit type (#82852)
- fix: update validation return types (#82854)
Credits
Huge thanks to @bgub, @mischnic, and @ztanner for helping!
Core Changes
- [metadata] change the metadata routes params to promises: #83560
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Ignore unhandledRejection events for promises that reject after a React render aborts: #83590
- Update font data: #83631
- [dev] Serve static metadata from filesystem: #83460
Misc Changes
- Turbopack: run NFT unit test: #83233
Credits
Huge thanks to @gnoff, @vercel-release-bot, @devjiwonchoi, and @mischnic for helping!
Core Changes
- Development: Make 'ready in' 195ms faster: #83628
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Exit
next devwith a non-zero code when next.config.js is invalid: #83602 - Development: Only load getStaticInfoIncludingLayouts when it's needed: #83555
- Development: Only load HotReloaderWebpack when it is used: #83609
- Fix logic bug in sortByPageExts: #83610
- Update PPR cases with adapter config: #83595
- Development: Don't load Babel when it's not used: #83619
- Development: Don't load hot-reloader-webpack when using Turbopack: #83621
- Development: Only require loadJsConfig when using webpack: #83623
- Upgrade React from
b9a04536-20250904to6b70072c-20250909: #83627
Example Changes
- examples(with-supabase): fix import statement in tutorial: #83605
Misc Changes
- Enable more tests for Turbopack: #83589
- Enable more tests for Turbopack, II: #83600
- chore: remove $ from cli cmd: #83603
- Tests: Move build-indicator test to test/development: #83591
- docs: rewrite+usePathname+prerender hydration error mitigation: #83462
Credits
Huge thanks to @mischnic, @icyJoseph, @timneutkens, @tomhmoses, @unstubbable, and @ijjk for helping!
Core Changes
- Update types and more test coverage for adapters: #82919
- fix: devtools initial position should be from next config: #83571
Misc Changes
- [turbopack] Simplify up and dowcasts: #83456
- Turbopack: remove unused transforms: #83567
- Turbopack: emit JSON.parse only for more than 10kb: #83483
- cna: fix typo: #83121
- Fix build-indicator test flaking: #83585
- Turbopack: remove GlobalTypeofs AST pass: #83479
- Turbopack: don't define
process.cwd()in node_modules: #83452
Credits
Huge thanks to @lukesandberg, @mischnic, @roottool, @timneutkens, @ijjk, and @devjiwonchoi for helping!
Core Changes
- Turbopack: Remove 20ms overhead on bootup: #83554
- fix: transpile-config should await import before return: #83566
- Make hasNecessaryDependencies sync: #83564
Misc Changes
- Update Rspack development test manifest: #83551
- metadata: align turbopack loader with js loader: #83559
- Docs: Add authentication note for external/internal image sources: #83469
Credits
Huge thanks to @vercel-release-bot, @huozhi, @pontasan, @timneutkens, and @devjiwonchoi for helping!
Core Changes
- feat: use Node.js native TS resolver for
next.config.ts: #83240 - Disable React debug channel by default: #83552
Example Changes
- Fix/msw-issue-68521: #83482
Credits
Huge thanks to @HamadUllah16, @devjiwonchoi, and @unstubbable for helping!
Misc Changes
- Update Rspack production test manifest: #83512
Credits
Huge thanks to @vercel-release-bot for helping!
Misc Changes
- fix: route handlers should validate invalid exports: #83500
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Use React's debug channel to transport debug info via WebSocket connection: #82748
Misc Changes
- Update Rspack production test manifest: #83475
Credits
Huge thanks to @unstubbable and @vercel-release-bot for helping!
Core Changes
- [metadata] not add suffix to sitemap.xml in group routes: #83486
- [devtools] Use
useEffectEventinstead of ignoring exhaustive deps: #83236 - [metadata] refactor metadata sitemap loader code: #83443
- Include prerender interrupted error in unstable_rethrow: #83463
Misc Changes
- [turbopack] Attempt #2 at making rust-analyzer happy with our macros: #83461
- [turbopack] RFC: Serialize turbopack objects as u16s instead of fully qualified symbol names: #83193
- [turbopack] enable the signal feature of
nix: #83473 - Turbopack: Don't resolve tsconfig relative to file: #83484
Credits
Huge thanks to @lukesandberg, @huozhi, @timneutkens, @eps1lon, and @gnoff for helping!
Core Changes
- [codemod] return origin src in viewport mod if not changed: #83435
- feat(next/image): introduce
preloadprop and deprecatedpriorityprop: #83351 - [metadata] use generateStaticParams for getImageMetadata: #83374
- fix: Include CSP nonce in next/dynamic preload: #81999
- [Segment Cache] use
loadingfrom dynamic response for unprefetched navigations: #83305 - Upgrade React from
3302d1f7-20250903tob9a04536-20250904: #83446
Misc Changes
- test: add prerender snapshot for metadata-dynamic-routes test: #83432
- Docs: Fix broken getImageProps sample code: #83436
- auto-enable errors.json merge driver: #83420
- [turbopack] Improve handling of symlink resolution errors in track_glob and read_glob: #83357
- Update Rspack development test manifest: #83407
- Update Rspack production test manifest: #83408
- [turbopack] Add an execution test for the behavior when a module throws an error: #83451
- [turbopack] Don't execute inventory_submit in rust analyzer: #83447
- Turbopack: Remove unused turbopack-node rendering code: #83414
Credits
Huge thanks to @huozhi, @styfle, @HondaYt, @lubieowoce, @TrevorBurnham, @lukesandberg, @vercel-release-bot, and @mischnic for helping!
Core Changes
- Revert "Revert "[Breaking] Bump minimum Node.js version to >=20.9.0" ( #83243)": #83411
- Turbopack: refactor segment config parsing: #83297
- Turbopack: Remove passing jsConfig: #83331
- Always log the used bundler, even for webpack: #83418
- build: error on different root folder: #83416
Misc Changes
- docs: Middleware explicit runtime differences: #83348
- update
.node-versionto v20: #83413 - Tests: Don't use next/dist for test/e2e/streaming-ssr: #83262
- Cleanup stray package-lock after CI run: #83419
- Tests: Mirror arguments and environment between
next.build()andnext.start(): #83393 - Turbopack: skip next-server.js.nft.json for Vercel: #83299
- [test] Improve debug logs for Playwright tests: #83431
Credits
Huge thanks to @icyJoseph, @devjiwonchoi, @mischnic, @timneutkens, @huozhi, and @unstubbable for helping!
Core Changes
- Upgrade React from
2805f0ed-20250903to3302d1f7-20250903: #83400
Misc Changes
- Fixed broken link in backend-for-frontend.mdx: #83310
- Update next-response.mdx: #83302
Credits
Huge thanks to @geraldochristiano and @blntgvn42 for helping!
Core Changes
- fix(ppr): fix prerender info matching for rewritten paths: #83359
- fix: shrink bottom stack container height: #83377
- [Cache Components] Fix revalidation of prerendered route handlers: #83375
- chore: update Rspack test cases snapshot: #83202
- Remove the experimental.devtoolSegmentExplorer flag: #83384
- [test] Move error-overlay-layout to e2e tests: #83372
- fix: ensure onRequestError is invoked when otel enabled: #83343
- Upgrade React from
b1b0955f-20250901to2805f0ed-20250903: #83394 - Turbopack: Skip manifest loading in server when using route modules: #82903
- Turbopack: Remove undocumented
turbopack.conditionsconfiguration: #83237 - [metadata] refactor metadata loaders: #83304
Example Changes
- examples(with-mongodb): upgrade to tailwind v4: #83225
- Docker example using bun: #83040
Misc Changes
- Update Rspack development test manifest: #83323
- Turbopack: Implement
TaskInputforReadRef, use aReadRefinput forAssetIdent::new: #83356 - [turbopack] Adopt inventory for our registry: #83074
- [turbopack] Remove build scripts and register functions: #83156
- [test] Resolve
elementByCSSandwaitForElementByCSSonce visible: #83301 - docs: relative links that were absolute: #83317
- [test] Unflake
third-parties/basic: #83385 - tests: migrate on-reuqest-error tests to new model: #83383
- [test] Lint
*.test.tsxas test files: #83376 - [turbopack] Remove a useless try_join.: #83391
- [test] Do not use sandboxes for hydration error tests: #83398
- test: Refactor edge-runtime-dynamic-code test: #83390
Credits
Huge thanks to @vercel-release-bot, @bgw, @lukesandberg, @codeSTACKr, @eps1lon, @wyattjoh, @icyJoseph, @huozhi, @unstubbable, @SyMind, @yiminghe, @timneutkens, @mischnic, and @JakobKlotz for helping!
Core Changes
- Use the automatic runtime for type checking: #83159
- Streamline HMR message handling: #83336
- BREAKING CHANGE!: next/image only allow quality 75 by default: #83175
- refactor: Consistently call HMR messages
message: #83341
Example Changes
- docs(docker): update base image to node:20-alpine in Docker examples: #83125
Misc Changes
- Unflake
missing required html tagstest: #83328 - fix(Turbopack): Give intercept routes correct regex in generated manifest files: #83128
- docs: remove removed examples guidelines reference from PR template: #83043
- docs: use
resourceFromAttributesto replacenew Resource()to obtainResource: #83321 - docs: use-link-status as a subtle hint: #83104
- fix(turbopack): Pass correct browserslist to
styled-jsx: #83334 - Turbopack: use bail in track_glob_internal: #83350
- docs: Improve troubleshooting and awareness around useSearchParams: #83226
Credits
Huge thanks to @remcohaszing, @unstubbable, @Cy-Tek, @wo-o29, @nekomeowww, @juna0704, @styfle, @icyJoseph, @kdy1, and @mischnic for helping!
Core Changes
- fix: remove redundant posix normalization: #83244
- Remove
satisfieskeyword from type validation to preserve old TS compatibility: #83239 - Upgrade React from
8d7b5e49-20250827toaad7c664-20250829: #83232 - Turbopack: port remaining NFT step: #82278
- Upgrade React from
aad7c664-20250829tobb6f0c8d-20250901: #83296 - Upgrade React from
bb6f0c8d-20250901tob1b0955f-20250901: #83307
Misc Changes
- Add dedicated commands to run tests with experimental config: #83273
- Make FileSourceReference traced: #83235
- Update caching.mdx: #83149
- Fix deployment tests: #83306
Credits
Huge thanks to @bgub, @eps1lon, @mischnic, and @kaungMinn for helping!
Misc Changes
- Turbopack: Redefine Background backend jobs: #83174
Credits
Huge thanks to @sokra for helping!
Misc Changes
- Turbopack: improve overhead benchmarks: #83231
Credits
Huge thanks to @sokra for helping!
Misc Changes
- Turbopack: hide blocking spans in trace server: #83167
- Update Rspack production test manifest: #83207
- [create-next-app] Generate route types after setup: #82956
- Update Rspack development test manifest: #83208
- docs: fix snippets in getting started: #83228
Credits
Huge thanks to @sokra, @vercel-release-bot, @bgub, and @icyJoseph for helping!
Core Changes
- [sourcemaps] Always check for vendor chunks regardless of Node.js version: #83114
- Turbopack: Remove undocumented legacy syntax for built-in conditions (e.g. foreign, browser): #83068
- [metadata] update metadata routes cache headers: #83215
- Revert "[Breaking] Bump minimum Node.js version to
>=20.9.0": #83243
Credits
Huge thanks to @devjiwonchoi, @bgw, and @huozhi for helping!
Core Changes
- Turbopack: Add new webpack loader rule/condition syntax in config: #82857
- Turbopack: Un-deprecate the
TurbopackLoaderItemtype: #83070 - Turbopack: Replace heuristics for detecting manually-configured sass or babel loaders with less-fragile ones, configure rules as a vec and not a map: #83131
- Turbopack: Allow arrays to be used as values in
turbopack.rulesconfig: #83138 - [test] Run all dev tests with sourcemaps enabled: #83173
- [devtools] Immediately set meta key in shortcut recorder: #82301
- Turbopack: fix persistent caching test case: #83170
- Implement runtime prefetching via segment opt-in: #83072
- bugfix: Bad
next.routeonpagesdir OTel spans for404s /500s: #77150 - [Breaking] Bump minimum Node.js version to
>=20.9.0: #83113 - [ppr] RDC for RSCs (redo): #80853
Misc Changes
- Update Rspack development test manifest: #83152
- [turbopack] Change execution and snapshot tests to check for the existence of files rather than directories: #83189
- Update Rspack production test manifest: #83153
- [CNA] use linter preference: #83194
- Turbopack: fix hanging of persistent caching with webpack loaders: #83201
- Turbopack: don't match dynamic pattern for node_modules packages: #83176
- [test] update the metadata deployment cache header tests: #83217
- docs: change API route example file extension to .ts and add JS example with switcher prop: #83044
- [turbopack] Create a simple benchmark to measure the overhead of turbotasks: #82982
Credits
Huge thanks to @vercel-release-bot, @lukesandberg, @bgw, @devjiwonchoi, @sokra, @eps1lon, @mischnic, @acdlite, @huozhi, @evankirkiles, @wo-o29, and @wyattjoh for helping!
Core Changes
- Turbopack: Change eager import to lazy import for loader_tree: #83115
- add unstable_prefetch config to typescript plugin: #83181
Misc Changes
- Docs/typed routes snippets: #83132
- [test] allow
tsconfig.test.jsonfor testing: #83137 - feat(test): add proxy support for e2e deployment tests: #83118
- [test] Add esm and cjs testing for next-config-ts: #83134
- Turbopack: vendor analysis benchmarks: #83178
Credits
Huge thanks to @icyJoseph, @devjiwonchoi, @timneutkens, @wyattjoh, @lubieowoce, and @mischnic for helping!
Core Changes
- [metadata] refine metadata image error for webpack: #83139
- Upgrade React from
33a1095d-20250827to8d7b5e49-20250827: #83164
Misc Changes
- Added 2 values to the props table at 02-components/image.mdx: #83160
- Update middleware node version history with latest stable release: #83166
- Revert "Turbopack: Persisting happens in foreground tasks": #83169
Credits
Huge thanks to @huozhi, @HosamSenosi, @lpalmes, and @sokra for helping!
Core Changes
- [codemod] Only change files when
new-linktransform makes changes: #83112 - Remove pages export as it is unused: #82990
- [Cache Components] Don't propagate tags/life for omitted caches: #82884
- Refactor transpile-config: #83117
Misc Changes
- Turbopack: refactor backend jobs: #83019
- Turbopack: skip codegen effects when tracing: #83095
- Turbopack: persist when stopping (after build): #83014
- Turbopack: don't execute action loader eagerly: #83049
- [test] Rename "cache component" CI shards to "experimental": #83101
- Turbopack: Persisting happens in foreground tasks: #83020
Credits
Huge thanks to @sokra, @mischnic, @eps1lon, @timneutkens, @lubieowoce, and @devjiwonchoi for helping!
Core Changes
- Upgrade React from
4123f6b7-20250826to33a1095d-20250827: #83119 - fix global not found canont static shell with sync io: #83111
- fix: relative paths in dev in validator.ts: #83073
- fix: use ESM import instead of triple-slash reference for routes.d.ts: #82867
- [Breaking] remove deprecated
devIndicatorsoptions: #83124 - chore: update rspack to 1.5.0: #82863
- fix: validation return types of pages API routes: #83069
Misc Changes
- Fix flakey multiple-lockfiles tests: #83103
- docs: Expanded type checks to Pages Router and tsconfigPath: #83096
- Update Rspack development test manifest: #83086
- Update Rspack production test manifest: #83085
Credits
Huge thanks to @mischnic, @huozhi, @icyJoseph, @bgub, @shuakami, @devjiwonchoi, @SyMind, and @vercel-release-bot for helping!
Core Changes
- fix(turbopack) Fix handling of intercept route segments: #82694
- fix dynamic param extraction in edge-ssr-app: #83081
Credits
Huge thanks to @Cy-Tek and @ztanner for helping!
Misc Changes
- docs: clarify the location of middleware.ts: #83056
- Turbopack: NFT debugging: #83094
Credits
Huge thanks to @ryuapp and @mischnic for helping!
Misc Changes
- docs: next lint post 15.5 release adjustments: #82933
Credits
Huge thanks to @icyJoseph for helping!
Core Changes
- feat(app-router): add clientParamParsingOrigins config for cross-origin rewrite header control: #82849
- Reuse routeModule loaderTree: #82987
- Remove deprecated
legacyBehaviorandpassHrefprop fromLinkcomponent: #83003 - Upgrade React from
03fda05d-20250820to6de32a5a-20250822: #82946 - [Cache Components] Do not automatically client render useSearchParams…: #83048
- initial implementation of
export const prefetch: #82905 - Upgrade React from
6de32a5a-20250822to4123f6b7-20250826: #83050 - revert: add ?dpl to fonts in
/_next/static/media: #83062
Misc Changes
- Turbopack: fix route format for NFT globs: #82997
- Docs/getting started improv: #82741
- docs: typed routes manual tsconfig includes: #83031
- Docs/late aug feedback: #82953
- [turbopack] Ammend the error message for module not found errors: #83011
- Turbopack: cleanup Effect::MemberCall: #83021
- Turbopack: hierarchical output asset trace: #83041
- [turbopack] Remove a small amount of indirection from
Effect::FreeVar: #83051 - ci: optimize e2e deploy test performance and resource usage: #83058
- fix: instead of throwing a warning for "noUnknownAtRules", disable the rule entirely: #83059
- Turbopack: add benchmark for JS analysis: #83042
Credits
Huge thanks to @wyattjoh, @mischnic, @timneutkens, @icyJoseph, @unstubbable, @lukesandberg, @gnoff, @lubieowoce, @bgub, and @ztanner for helping!
Core Changes
- feat(build): add client param parsing support for PPR routes: #82621
Credits
Huge thanks to @wyattjoh for helping!
Core Changes
- Unhook WebSocket: #82931
- Destructure loadComponents where possible: #82986
- optimize server action refresh logic: #82674
Misc Changes
- Turbopack: more incremental all_server_paths: #82892
- Turbopack: throw large static metadata error earlier: #82939
- Turbopack: don't treat metadata routes as RSC: #82911
- Turbopack: remove blocking thread limit to avoid deadlocks: #82961
- Update 07-fetching-data.mdx: #82862
- Turbopack: fix race condition in unit test: #82989
- Turbopack: support pattern into exports field: #82757
- Turbopack: fix NFT tracing of sharp 0.34: #82340
- Turbopack: skip db lookups on the initial build: #82405
- Fetch tag before reset for create-release-branch: #83006
- Update Rspack development test manifest: #82984
- Update Rspack production test manifest: #82983
- Ensure tags are fetched for release branch: #83012
- Turbopack: prefetch restoring of task dependencies: #82960
- Turbopack: add ffmpeg-static NFT test: #82985
- temporarily disable flaky deploy test: #83032
- fix: add '.next/types/**/*.ts' to the pages router TSConfig: #83029
Credits
Huge thanks to @unstubbable, @sokra, @mischnic, @sleekLancelot, @ijjk, @vercel-release-bot, @timneutkens, @ztanner, and @bgub for helping!
Misc Changes
- [turbopack] Optimize
export constto bind readonly values not getters: #82760 - fix: change "noUnknownAtRules" to "warn" for Biome: #82974
Credits
Huge thanks to @lukesandberg and @bgub for helping!
Misc Changes
- Turbopack: Lazy decompress medium value compressed blocks: #82257
- Turbopack: bigger small value blocks: #82370
- Turbopack: remove value compression dictionary: #82338
Credits
Huge thanks to @sokra for helping!
Core Changes
- Add special marker in terminal if all error stack frames are ignore-listed: #82915
- fix(edge-runtime): clone requests properly: #82878
- Rename WebSocket file: #82930
- fix: add path normalization to getRelativePath for Windows: #82918
Misc Changes
- Turbopack: add a CLI to NFT: #82815
- Turbopack: print failing module during panic: #82938
- [turbopack] Fix a few small things in the analyzer: #82899
- Update Rspack production test manifest: #82925
- Turbopack: parallel drop data before shutdown: #82335
- Update Rspack development test manifest: #82924
Credits
Huge thanks to @eps1lon, @Kikobeats, @mischnic, @unstubbable, @lukesandberg, @vercel-release-bot, @sokra, and @bgub for helping!
Core Changes
- Turbopack: fix the require.cache clear logic: #82876
- Use deterministic env for public env vars: #82859
- fix: typesafe linking to route handlers and pages API routes: #82858
- fix: aliased navigations should apply scroll handling: #82900
- Remove experimental appDocumentPreloading: #82895
- Route modules: Call setReferenceManifestsSingleton for app-route to match app-page: #82908
- Update prettier project dependency from 3.2.5 to 3.6.2: #82896
- Do not modify parsedUrl collecting params: #82907
- feat: add typesafety with config.typedRoutes to redirect() and permanentRedirect(): #82860
- Skip emitting pages router entries when only app router present: #82444
Misc Changes
- Turbopack: sort keys in individual to make order deterministic: #82891
- Turbopack: run more unit tests in multi thread runtime: #82889
- Bump wasmer to 6.1.0-rc.3: #82885
- Turbopack: run all unit tests with a fixed amount of worker threads to avoid overloading with many CPUs: #82890
- Bump swc to v36: #82886
- Update Rspack production test manifest: #82869
- [turbopack] Add support for partial glob matches: #82906
Credits
Huge thanks to @sokra, @mischnic, @bgub, @ztanner, @timneutkens, @P41T0, @vercel-release-bot, @lukesandberg, @ijjk, and @huozhi for helping!
Misc Changes
- Turbopack: use parallel execution helpers: #82667
- Turbopack: allow to customize the parallel execution of turbo-persistence: #82668
- Turbopack: use block in place for db writes: #82380
- Turbopack: improve compaction: #82375
- Turbopack: sync NFT context configs: #82781
- Turbopack: fix invalid NFT entry with file behind symlink: #82887
Credits
Huge thanks to @sokra and @mischnic for helping!
Example Changes
- docs: add missing RLS step to Next.js tutorial: #82714
Misc Changes
- fix: avoid importing types that will be unused: #82856
- Turbopack: add parallel execution helpers: #82666
Credits
Huge thanks to @bgub, @Karthikeya-Thatipamula, and @sokra for helping!
Core Changes
- fix: missing
next/linktypes withtypedRoutes: #82814 - [types] refactor shared types: #82844
- fix: update the config.api.responseLimit type: #82852
- fix: update validation return types: #82854
Misc Changes
- Update Rspack production test manifest: #82813
- Turbopack: run unit tests in multi threaded runtime: #82665
Credits
Huge thanks to @chungweileong94, @vercel-release-bot, @sokra, @huozhi, and @bgub for helping!
Core Changes
- docs: mention turbopack config codemod: #82183
- [devtools] Shim overlay on server: #82791
- Turbopack: pass cache handler path as relative path to Rust: #82780
- Remove unused code: #82774
- [perf] only load next config once when start next dev server: #82654
- [Cache Components] Error for Sync IO in Server Components during Static Prerender: #82500
- Upgrade React from
0bdb9206-20250818to03fda05d-20250820: #82847
Example Changes
- fix: update @types/node to resolve Vite 7.x peer dependency conflict: #82794
Misc Changes
- docs: fix typo in
Image#priority: #82806 - [test] update existing passed tests for cache components suite: #82830
- [test] fix cache components build error in next-form tests: #82841
Credits
Huge thanks to @wbinnssmith, @charpeni, @mischnic, @timneutkens, @huozhi, @Hareesh108, and @gnoff for helping!
Core Changes
- Use and enforce exhaustive switch statements for work unit store: #81577
- Enable
@typescript-eslint/switch-exhaustiveness-checkrule: #81583 - [dynamicIO] use RSC dynamicness to control partial vs complete PPR result: #81627
- [dynamicIO] Do not use
React.unstable_postpone(): #81652 - feat: new detachable panel UI: #81483
- Turbopack: content-hash PageLoaderAsset: #81450
- [segment explorer] fix content overflow styling: #81649
- Improve reliability of owner stacks for async I/O errors: #81501
- fix(router): Prevent redirect loop on root data requests with basePath: #81096
- Ensure custom NextServer config is honored: #81681
- Fix before interactive incorrectly render css: #81146
- perf: memorize exclude function in webpack config: #81525
- Also enforce experimental features when there's no next config file: #81679
- feat(next/image): warn when
images.qualitiesis undefined: #81690 - feat(build): optimize filterUniqueParamsCombinations to generate sub-combinations: #81321
- Update NextAdapter type and re-export: #81692
- upgrade to path-to-regexp@6.3.0: #80123
- [metadata] replace for initial body icon case: #81688
- [segment explorer] remove dev panel ui flag: #81670
- Simplify running test apps locally with
pprordynamicIOenabled: #81668 - [turbopack] Return cached Promise from
__turbopack_load_by_url__: #81663 - Upgrade React from
97cdd5d3-20250710to2f0e7e57-20250715: #81678 - Delete unused
renderToStringfunction: #81707 - Discard prerendered route handler data from FS cache after revalidation: #81611
- Upgrade React from
2f0e7e57-20250715tod85ec5f5-20250716: #81708 - Ignore pending revalidations during prerendering: #81621
- [turbopack] Clear chunk cache on HMR instead of creating new
next-serverVM: #81664 - fix: rootParams should throw in client when fallbackParams are not present: #81711
- perf(build): optimize buildAppStaticPaths performance and add helper function: #81386
- Turbopack: Support string without options for @next/mdx: #81713
- [Segment Cache] Support dynamic head prefetching: #81677
- [sourcemaps] Consistent cursor columns: #81375
- fix: revert client segment route changes for sub shell generation: #81731
- fix: pages router metadata bugs with React 19: #81733
- Improve error handling for
headers/cookies/draftModein'use cache': #81716 - [devtool] fix duplicate rendered indicator on server: #81729
- [devtool] enable segment explorer by default: #81737
- [turbopack] Stop exposing globals from Turbopack runtime: #81727
- Remove unnecessary await: #81761
- [chore] bump zod to latest v3: #81757
- feat(turbopack): Log anonymized internal error (panic) information to telemetry: #81272
- fix: revert client segment route changes for sub shell generation: #81740
- bugfix: static resources staleTime should be renewed once refetched: #81771
- [devtool] move font styling to global.css: #81782
- [devtool] copy decoded info of error details: #81735
- fix(build): add sourcePage context for PPR dynamic route lambda creation: #81781
- refactor: rename experimental.dynamicIO to experimental.cacheComponents: #81562
- Properly handle hanging promise rejections during prerendering: #81754
- Upgrade React from
d85ec5f5-20250716todffacc7b-20250717: #81767 - Refactor: Get rid of overly generic
getExpectedRequestStorefunction: #81791 - [devtool] migrate css reset to global.css: #81783
- [dev-tools] Robust shortcut detection: #81756
- [segment explorer] hide for pages router: #81813
- [devtool] fix scrollbar styling: #81814
- fix(ppr): ensure fallback route params trigger dynamic resume: #81812
- [devtools] restart server pending state: #80858
- Turbopack: fix dist dir on Windows: #81758
- fix: remove boundary sentinel from RSC responses: #81857
- [sourcemaps] Try VM for retrieving source maps first: #81869
- [devtools] save user config inside
.next/cache: #81807 - Server: Remove unused code: #81886
- refactor: encapsulate content type within RenderResult: #81861
- refactor: handle null RenderResult responses gracefully: #81895
- Upgrade React from
dffacc7b-20250717toe9638c33-20250721: #81899 - chore(devtools): sync todos to linear: #81901
- Introduce
'use cache: private': #81816 - chore(deps): update
browserslist: #81851 - Remove web-server from edge-ssr-app: #81389
- Stabilize node middleware support: #81907
- Add
run-turbopack-compilertrace span: #81917 - fix: support calling onClose multiple times in edge-ssr-app: #81911
- fix: logging the correct process for listened port: #81903
- Build: Include rewrites in manifest generation: #81894
- Routing: Clean up some code: #81932
- [sourcemaps] Ensure codeframe when calling Client Functions from Server: #81918
- [segment explorer] missing file suggestion: #81617
- [turbopack] Always print trace labels in headers: #81728
- Revert "[metadata] use https protocol for schema urls": #81934
- Upgrade React from
e9638c33-20250721to7513996f-20250722: #81940 - Upgrade to swc v33: #81750
- Remove extra base-server code: #81944
- Turbopack: flatten sourceInfo to avoid objects, reorder args, compress node.js entry: #81545
- Fix dynamicParams false layout case in dev: #81990
- Initial MCP implementation: #81770
- Fix: Unresolved param in x-nextjs-rewritten-query: #81991
- Turbopack: Add an option to use system TLS certificates (fixes #79060, fixes #79059): #81818
- Turbopack: Remove unused proxy option in turbo-tasks-fetch, lightly document HTTP_PROXY/HTTPS_PROXY environment variables: #81905
- Upgrade React from
7513996f-20250722toedac0dde-20250723: #81984 - [devtools] Cleanup folder structure: #82012
- [devtools] Fix "open in editor" for locations in stackframes: #82013
- [Segment Cache] Fix: Key by rewritten search: #81986
- Upgrade vercel og and remove yoga type patching: #81937
- [perf] cache load config results: #80570
- Turbopack: use prototype for turbopack context for better runtime performance: #81547
- [reactcompiler] Test with latest RC: #82002
- [devtools] Fix various
exhaustive-depsviolations: #82010 - [devtools] Apply React Compiler to Next.js DevTools source: #82004
- Upgrade React from
edac0dde-20250723to3d14fcf0-20250724: #82020 - Adjusted the warning message to be more descriptive: #82054
- Track fallback params on workUnitStore: #82003
- Fix API stripping JSON incorrectly: #82061
- Upgrade React from
3d14fcf0-20250724to19baee81-20250725: #82063 - use FetchStrategy to control prefetching behavior everywhere: #82032
- [Segment Cache] set fetchStrategy on segments from a dynamic request: #82059
- Revert "Upgrade vercel og and remove yoga type patching (#81937)": #82066
- Optimize segment data routes: #82033
- Turbopack: write tasks doesn't need to be session dependent, as effects will restore: #78727
- [sourcemaps] Fully sourcemap stacks on the Server: #81904
- fix(Rspack): use loaderContext.utils.contextify to replace ModuleFilenameHelpers.createFilename: #82104
- next/root-params: #80255
- fix(next/image): fix image-optimizer.ts headers: #82114
- Upgrade React from
19baee81-20250725toeaee5308-20250728: #82120 - Fix validateRSCRequestHeaders incorrect redirect: #82119
- fix(next/image): improve and simplify detect-content-type: #82118
- [CacheComponents] Use fallback params when validating dynamic routes in dev: #82069
- Extract getDynamicParam to a shared module: #82137
- Fix i18n fallback: false collision: #82136
- [segment explorer] normalize path when running inside monorepo: #82146
- [segment explorer] windows compatibility: #82147
- Upgrade React from
eaee5308-20250728to9be531cd-20250729: #82159 - Ensure setAssetPrefix updates config instance: #82160
- Revert "Fix tracing of server actions imported by client components (#78968): #82161
- Remove useMDXComponents argument: #80871
- Fix RSC hash validation for middleware external rewrites: #82176
@next/codemod: update docs url in README: #82135@next/codemod: Addexperimental.turbototurbopackcodemod for Next.js configs: #82134- refactor: lowercase app router header values: #82169
- Strip internals from
NextRequesttypes: #82172 - allow root params access in private caches: #82125
- [devtool] bump base-ui to 1.0.0-beta.2: #82206
- Upgrade @vercel og: #82201
- Upgrade React from
9be531cd-20250729to9784cb37-20250730: #82207 - Fix: the unexpected clearing of symbolic link directories: #82191
- [next-dev] Set
TURBOPACKenv before loading config: #82162 - fix: display multiple lockfile warn if neither
outputFileTracingRootorturbopack.rootoption is provided: #82164 - Revert "Initial MCP implementation (#81770)": #82217
- Revert "Upgrade @vercel og (#82201)": #82219
- Fix: Don't bail out of prefetch if head is missing: #82216
- Upgrade React from
9784cb37-20250730toc260b38d-20250731: #82247 - [Cache Components] Runtime prefetching: #81088
- Parse dynamic params on the client: #82185
- Mark bun builtin modules as external (fixes #75220): #77616
- Turbopack: Compact only at the end for short sessions: #82224
- feat: add fallback root params support for prefetch segment data routes: #82282
- feat: add route context to prerender error messages: #82283
- feat: automatically generate route types: #81396
- [Cache Components] Reset PrerenderStore after generating RSC payload: #82286
- Include
eslint-plugin-react-hooksin React sync: #82294 - [devtools] Remove unnecessary cascading update: #82295
- Turbopack: name the module factory function: #73553
- Update font data: #82292
- fix: next/root-params erroring when rerendering after action: #82326
- Remove params from segment path: #82249
- Upgrade React from
c260b38d-20250731tobe11cb5c-20250804: #82339 - fix: OTel root span should indicate error status on exceptions: #82212
- [Cache Components] Allow span creation while prerendering: #82350
- feat(turbopack): improve compile-time define value to support more data types and expr evaluation: #81042
- [Pages] fix:
_errorpage'sreq.urlcan be overwritten to dynamic param on minimal mode: #82347 - [Pages] fix: use
asPathfor query-only navigation withuseRouter: #82236 - loader tree: add special segment name to virtual parallel route segments: #82383
- fix: add
?dplto fonts in/_next/static/media: #82384 - Upgrade React from
be11cb5c-20250804to7deda941-20250804: #82373 - [devtools] Make state read-only in types: #82396
- Add experimental clientParamParsing feature flag: #82393
- add unstable_isUnrecognizedActionError: #78933
- [Cache Components] give the "seconds" profile a 30s staleTime: #82332
- Represent "virtual" segments like route groups: #82422
- [Segment Cache]: fix infinite prefetching when staleTime is 0: #82388
- Remove param values from static route tree: #82376
- [Cache Components] Only validate the shell on SSR render: #82381
- fix: static not-found missing in prerender manifest: #82199
- Turbopack: Share entrypoint template logic between Turbopack/webpack: #82385
- Add
pathto Image documentation: #82329 - [errors] revamp graceful degrade error boundary: #82474
- Fix: Do not force BLOCKING_STATIC_RENDER for DOM bots: #82427
- Update build-complete for adapter API: #82452
- fix: swc tracing: #82470
- Upgrade React from
7deda941-20250804to3958d5d8-20250807: #82447 - Delete abandoned segment parsing code: #82458
- Upgrade React from
3958d5d8-20250807tof1e70b5e-20250811: #82534 - Upgrade React from
f1e70b5e-20250811toac7820a9-20250811: #82543 - fix(next/image): use
image-sizepkg as additional format detector: #82538 - fix: add
?dplto fonts in/_next/static/mediapart 2: #82488 - Fix: Disambiguate Mediapartners-Google user agent: #82536
- Fix: Allow dynamic rendering when root layout is wrapped in Suspense: #82378
- wrap devtools stories in context providers: #82345
- [devtools] Remove unused
componentStackFramesfield: #82395 - [Deprecation Warnings]: add amp deprecation warning: #82551
- fix(next/image): handle empty buffer and experimental flag for
skipMetadata: #82569 - fix: amp deprecation warning should assert on user config: #82572
- fix: Prevent duplicate file entries in modulesCode: #82550
- feat: Turbopack typed links: #81528
- Upgrade React from
ac7820a9-20250811to1dc3bdea-20250812: #82575 - [Runtime prefetch] resolve runtime APIs in a separate task: #82475
- Clean up unused code in restart server button: #82409
- chore: Update babel types and do some light cleanup of babel loader: #82486
- [Cache Components] Avoid cache misses when resuming a cached page: #82578
- chore: Remove unused
Mapsupport fromnext/dynamictransform: #82487 - [Deprecation Warnings]: add unstable_rootParams deprecation warning: #82582
- Turbopack: set
window.next.turbopackinstead: #82580 - fix router handling when setting a location response header: #82588
- Fix: Resolve PPR resume mismatch by search params: #82587
- Upgrade React from
1dc3bdea-20250812tof1222f76-20250812: #82595 - [devtools] Move ShadowRoot into context: #82296
- Remove React 17 logic from Pages Router static generation: #82604
- [Segment Cache] Optimistic prefetch for search params: #82586
- Handle badged console calls when dimming console output: #81889
- run config deprecation checks only on user-provided configuration: #82613
- [devtools] Remove unused code: #82299
- [turbopack] Update Turbopack build warning message : #82591
- [Cache Components] Disallow sync access of cookies & headers at runtime: #82564
- feat: type guard file generation: #81400
- fix: find root dir on fs root: #82590
- fix: use in operator to check dev indicator option when its obj: #82629
- Upgrade React from
f1222f76-20250812to379a083b-20250813: #82642 - feat(next/image): warn when images.localPatterns is undefined and src has query: #82627
- Turbopack: add
turbo_tasks::spawn: #82634 - Fix fetch logging after revalidation via server action: #82643
- Fix request type in typed route validator: #82644
- fix: use .js extension for relative imports: #82669
- feat: add RouteContext type for app router route handlers: #82670
- Add additional handling for build-complete: #82671
- fix: Combine the hrtime tuple to get a better seconds representation: #82687
- test: migrate manifest tests to snapshot testing with normalizeManifest utility: #82675
- perf(router): replace LRU cache with optimized doubly-linked list implementation: #82633
- Turbopack: use a source content regexp for the react compiler: #82631
- Upgrade React from
379a083b-20250813toa96a0f39-20250815: #82691 - fix: memory leak from cloneResponse: #82678
- Turbopack: Fix logic in HMR logging code that could emit a NaN build time: #82389
- fix: use
turbopack.rootvalue foroutputFileTracingRootto have consistent tracing root: #82653 - fix: return plain text 404 for invalid static asset paths: #75111
- Turbopack: show timing event for database compaction: #82369
- chore(test): update sharp api test: #82740
- [type] dynamic skip generating unused types: #82755
Example Changes
- Add Prisma ORM example to Next.js examples: #75290
- chore: Update
with-supabaseexample to usegetClaims(): #81383 - docs: Improve Content Security Policy documentation: #80580
Misc Changes
- Update Rspack development test manifest: #81603
- Allow
beforePageLoadto be async: #81650 - Docs: POC: #81419
- chore(bot): update comment: #81672
- Fix build-native.ts on Windows: #81673
- Update Rspack development test manifest: #81660
- Update Rspack production test manifest: #81661
- Add create release branch workflow: #81687
- fix patch-next by adding missing script: #81430
- Turbopack: Generalize
ImportedBindingeffect creation to avoid as much special-casing of SimpleAssignTarget: #81653 - docs: Update redirects i18n documentation for App Router: #81347
- Include
use-cachetest suite in the Cache Components tests: #81610 - Improve error message for sync server functions: #81705
- [lint] keep lint-stage use faster linting: #81710
- [test] Fix
app-staticdeploy test: #81712 - Fix: createRouterAct "reject" config: #81720
- Update Rspack development test manifest: #81702
- Update Rspack production test manifest: #81701
- Add an e2e test for the css serving issue: #81683
- chore: update username from 'nebrelbug' to 'bgub': #81734
- Turbopack: consistently name runtime chunk: #81769
- Turbopack: include more details in panic: #81773
- fix(turbopack) Adjust the way catchall routes are handled when a more specific parallel route exists: #81634
- Add trigger for v0 sync workflow: #81645
- Update Rspack production test manifest: #81746
- Update Rspack development test manifest: #81747
- Turbopack: Split DynamicEqHash trait into smaller traits in a separate re-usable crate: #81741
- [turbopack] Reuse shared Promise for loaded chunks: #81755
- Add VSCode tasks to show TypeScript compilation errors in problems view: #81799
- Turbopack: remove unneeded manifests for API routes: #81536
- [turbopack] use
requireto load chunks in our node runtime: #81738 - Turbopack: fix unhelpful error message when deleting folder fails: #81718
- Remove
experimental.strictNextHead: #81882 - Remove some random commas: #81875
- Turbopack: Add cache for reqwest clients: #81742
- Update Rspack development test manifest: #81878
- Update Rspack production test manifest: #81879
- Turbopack: Track variable usage inside of visit_assign_target_pat: #81654
- Turbopack: Replace
current_valueset/restore mutation pattern with a saferwith_pat_valuehelper: #81696 - Docs: Document
global-not-found: #81803 - [router-act] Fixes related to segment inlining: #81896
- [test] Add dedicated test for error when client functions are called from server components: #81930
- Fix an issue in how css references are collected under
next build --turbopack: #81704 - Turbopack: Update notify-rs crate, remove workaround for fixed bug: #81909
- Update Rspack development test manifest: #81913
- Update Rspack production test manifest: #81914
- Turbopack: Use workaround for rustc miscompilation bug on macos intel: #81950
- [test] workaround test that needs stylus: #81965
- Bump to swc_sourcemap 9.3.3: #81971
- fix(Turbopack): Remove the duplicate SlowFilesystem warning: #81972
- CI: add workflow_branch data to deploy test failure message: #81949
- Update Rspack production test manifest: #81961
- Update Rspack development test manifest: #81960
- [turbopack] Rename ClientReferenceSet: #81942
- Turbopack: fix scope hoisting variable renaming bug: #81640
- Revert "[test] workaround test that needs stylus": #81981
- [docs] fix rewrites example wording: #81985
- Turbopack: improve named spans in tracing: #81458
- Turbopack: update mimalloc: #81993
- Turbopack: Update bundled webpki-roots: #81906
- Allow specifying CLI version for e2e deploy: #81998
- Turbopack: Move fs watcher anyhow::Context import inline to fix compilation warnings: #81997
- Add link to manually trigger preview builds: #81977
- Update Rspack production test manifest: #82007
- Update Rspack development test manifest: #82008
- Turbopack: Make turbo-tasks-fetch a bit more OOP-like: #81995
- Update Rspack development test manifest: #82038
- [test] Allow running
lint-eslinton a specific directory: #82009 - Adjusted the warning message to be more descriptive: #82052
- Update Rspack production test manifest: #82039
- [turbopack] mark
rcstr!allocated Rcstr values as 'static' and stop refcounting them: #81994 - Turbopack: only schedule tasks when task becomes active on active counter increase: #81414
- docs: Update styling example links : #82111
- [turbopack] Documentation fixes for rcstr! and a tiny improvement to
hash: #82084 - [turbopack] Improve our
constcompatible hash routine performance: #82088 - Update Rspack production test manifest: #82139
- Turbopack: Fix accidental doctest in globset module license: #82127
- [turbopack] tweak the ui of the module-cost benchmark: #81817
- [test] revert config change in hello-world test: #82173
- docs: cookies.set encode option is not supported: #82154
- docs: change Dashboard component to async for session verification: #81880
- Update create-release-branch to disable test-new-tests: #82182
- docs: update cacheTag.mdx: #82051
- Turbopack: Make the "non-recursive" logic for the fs watcher a runtime flag instead of a build-time one: #82031
- Turbopack: Add a flag to the fs watch fuzzer to print missing but expected invalidations: #82131
- docs: fix typo in docs: #82186
- docs: Add more links to app docs root: #82126
- docs: App Router's React version: #82180
- Turbopack: Use
Path/PathBuffor all of the invalidation logic: #82132 - Turbopack: Use a BTreeMap in InvalidatorMap to avoid many
O(n)traversals when finding child paths: #82133 - Turbopack: Watch the root and every parent directory in non-recursive mode: #82129
- Turbopack: Remove unused
ignored_subpathsfeature from DiskWatcher: #82210 - Grammar fix on forms.mdx: #82209
- Update Rspack production test manifest: #82108
- Update Rspack development test manifest: #82192
- Turbopack: implement shutdown for backing storage correct: #82220
- Update Rspack development test manifest: #82227
- fix: turbopack loader ipc field mapping: #82112
- Turbopack: fix dev test manifest: #82241
- fix(Turbopack): Fix duplicated layout rendering in edge cases: #81948
- [turbopack] Adopt rcstr! more consistently: #80552
- Turbopack: use mimalloc v3: #82221
- Turbopack: no need to avoid allocations anymore: #82222
- Turbopack: ensure max merge segments is respected accros families: #82223
- docs: to indicate that redirect can be used in both server and client…: #82092
- Turbopack: improve compression dictionary generation: #80061
- test: reduce artificial timeouts in runtime prefetch tests: #82276
- Turbopack: fix glob with empty alternative branch: #82275
- [turbopack] Optimize ESM exports: #82214
- [turbopack] Fix a snapshot test: #82281
- [turbopack] Avoid calling
find_server_entriesin the whole_app_module_graph case: #81943 - docs: Add Tolgee to app router localization resources: #81366
- Update Rspack development test manifest: #82268
- Update Rspack production test manifest: #82267
- Turbopack: Remove the
lazy-regexdependency: #82288 - Turbopack: move block offsets from header to footer: #82047
- Turbopack: Streaming write of SST files: #82048
- [turbopack] Use Arrays instead of objects to bootstrap chunks: #81877
- Turbopack: set env in tracing context: #75254
- [test] Update snapshots: #82327
- chore: fix eslint-typechecked-require with template: #82328
- docs: add React Developer Tools section for debugging: #82320
- docs: Clarify revalidatePath : #82142
- Turbopack: Update
jsonc-parser, dedupe with SWC: #82343 - [turbopack] vibecode a benchmark runner for module-cost: #82287
- Documentation: Removed reference to treeShaking in 08-turbopack.mdx: #82352
- Turbopack: run styled-jsx after typescript transform: #82359
- Turbopack: pass
is_developmenttonext_page_config: #82363 - refactor(turbo-tasks-fs): change FS to_sys_path to be synchronous: #82341
- Turbopack: clean up some old TODOs: #82364
- Docs: Updating guides on PPR and ISR: #81307
- fix(Turbopack): Address duplicated metadata image modules when they are impored: #82367
- Bump swc to 35: #82237
- docs: CSP with SRI corrections: #82365
- fix: implications of global-not-found skipping 'normal' rendering: #82399
- update rspack-dev-tests-manifest for failing tests: #82414
- Docs: Add more info about TW and TW 3 option: #82203
- Update Rspack production test manifest: #82397
- fix(turbopack): external module shouldn't wrap by esm when type as global: #82374
- docs: polyfills usage in app router: #80447
- global-error, revalidatePath and PWA headings: #82408
- chore(Next.js sync): open draft PRs immediately: #82424
- Turbopack: improve loop breaks: #77964
- Update Rspack development test manifest: #82433
- Turbopack: remove a few clones: #82435
- Update Rspack production test manifest: #82432
- Update to run rspack tests on release: #82453
- Docs/polyfills fix pages only: #82462
- Turbopack: enable side effects optimization by default in all test cases: #82463
- Turbopack: split basic side effects optimization test: #82464
- Turbopack: add more side effects test cases: #82465
- Turbopack: refactor side effects optimization: #82466
- Devcontainer: Replace Dockerfile with prebuilt image+features: #82450
- Update Rspack development test manifest: #82461
- docs: update revalidatePath, revalidateTag docs to be more consistent + highlight res.revalidate case: #82479
- use correct workflow id for v0: #82484
- Turbopack: increase time before persisting: #82403
- [turbopack] Fix a small issue in the analyzer where we wouldn't skip assignments to free vars that were just identifiers: #82392
- [turbopack] Promote
exportsand module to factory parameters for cjs: #82285 - [turbopack] Fix the build under
--features=tokio_tracing: #81979 - Turbopack: Restore watchers for children when using non-recursive FS watcher: #82130
- Turbopack: fix CSS module references, take 2: #82448
- Turbopack: respect
productionBrowserSourceMaps: #78014 - chore: Ignore
compiledfolder in ripgrep/ast-grep/ag/etc: #82482 - Update Rspack development test manifest: #82526
- Update Rspack production test manifest: #82525
- Test that there are no server-side CSS chunks: #82471
- docs: experimental config browserDebugInfoInTerminal: #82532
- Turbopack: Rework watcher data structures, store watched list and watcher behind the same RwLock: #82258
- Bump React types: #82541
- Turbopack: fix postcss in RSC CSS: #82554
- Turbopack: improve Lightning CSS error handling: #82561
- [turbopack] Handle relative paths before matching in node file traces: #82539
- Turbopack: symlinks and parent globs in
outputFileTracingIncludes: #82528 - Turbopack: fix module rules for
.module.scss: #82570 - Turbopack: Watch parent directories before watching children in
non_recursive_helpers::start_watching_dir_and_parents: #82454 - feat(turbo-tasks-hash): update twox-hash: #82518
- Update Rspack development test manifest: #82558
- Update Rspack production test manifest: #82557
- [turbopack] Fix a crash under turbopackPersistentCaching: #82592
- Turbopack: don't block on parsing traced modules: #82602
- Docs/feedback round aug: #82549
- Turbopack: avoid using rayon in favor of tokio tasks: #82256
- Turbopack: support requests with dynamic part in module name: #82401
- Cleanup
shouldRunTurboDevTestusage: #82603 - Update Rspack production test manifest: #82601
- Update Rspack development test manifest: #82600
- Fix generate-metadata.mdx typo: #82624
- docs: fix typos: #82503
- Turbopack: fix edge function name: #82617
- Turbopack: avoid REEXPORTED_OBJECTS property on Module object: #82622
- Turbopack: patch sourcemap crate: #82641
- Turbopack: do not run a compaction when opening the db: #82635
- Revert "Turbopack: avoid using rayon in favor of tokio tasks (#82256)": #82658
- [turbopack] Fix a bug where our
globalrewrite could introduce a TDZ issue: #82659 - chore: Bump Turborepo: #82652
- test: improve tests for typed route validation: #82660
- docs: add
experimental.typedEnv: #82647 - Turbopack: use published sourcemap crate: #82646
- chore: set Turborepo version correctly: #82680
- Turbopack: run snapshot in normal task instead of blocking task: #82636
- docs: fix typo in vitest.mdx: #82690
- Update Rspack production test manifest: #82681
- Update Rspack development test manifest: #82682
- Remove stability disclamer on Node runtime in middleware: #82181
- Add metadata to server reference manifest: #82695
- Turbopack: refactor idle process queue and fix bugs and race conditions: #82630
- Turbopack: Stop persisting background task correctly on stop: #82727
- Turbopack: fix race condition in test case: #82728
- [turbopack] Remove a debug assertions in client references endpoint: #82725
- Turbopack: use bail instead of panic: #82745
- Update Rspack production test manifest: #82732
- fix(turbopack): webpack-loaders failed to resolve relative path: #82720
create-next-app: use Turbopack for both dev and build: #82753- fix: make sure validator.ts uses relative paths for imports: #82761
Credits
Huge thanks to @unstubbable, @gnoff, @RobPruzan, @mischnic, @huozhi, @delbaoliveira, @styfle, @ankur-arch, @skt-t1-byungi, @ijjk, @Han5991, @SyMind, @Anas-github-acc, @hf, @bgw, @wyattjoh, @ztanner, @prateekkish, @eps1lon, @lubieowoce, @timneutkens, @acdlite, @lukesandberg, @bgub, @Cy-Tek, @padmaia, @raunofreiberg, @devjiwonchoi, @sokra, @MidnightDesign, @stephenliang, @allenzhou101, @icyJoseph, @gaojude, @remcohaszing, @wesjune, @wbinnssmith, @m1abdullahh, @Sayakie, @startracex, @chadfennell, @dlehmhus, @Jarred-Sumner, @candymask0712, @stepan662, @PuppyOne, @huperniketes, @xusd320, @MichalMoravik, @fireairforce, @kitfoster, @feedthejim, @r34son, @guoci, @JamBalaya56562, @adkile, @snyamathi, and @kachkaev for helping!
Please see the Next.js Security Update for information about this security patch.
Please see CVE-2025-66478 for additional details about this release.
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix router handling when setting a location response header #82588
Credits
Huge thanks to @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix:
_errorpage'sreq.urlcan be overwritten to dynamic param on minimal mode (#82347) - fix: add
?dplto fonts in/_next/static/media(#82384)
Credits
Huge thanks to @devjiwonchoi, @ijjk, and @styfle for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix API stripping JSON incorrectly (#82062)
- Fix i18n fallback: false collision (#82158)
- Revert "Fix tracing of server actions imported by client components (#82167)
- Ensure setAssetPrefix updates config instance (#82165)
- Turbopack: update mimalloc (#82166)
- fix(next/image): fix image-optimizer.ts headers (#82175)
- fix(next/image): improve and simplify detect-content-type (#82174)
Credits
Huge thanks to @ijjk, @sokra, and @styfle for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix dynamicParams false layout case in dev (#82026)
- Turbopack: fix scope hoisting variable renaming bug (#81640)
- Upgrade to swc v33 (#81750)
- Revert "[metadata] use https protocol for schema urls" (#81934)
Credits
Huge thanks to @bgw @mischnic @huozhi @lukesandberg and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Turbopack: fix dist dir on Windows (#81758)
Credits
Huge thanks to @mischnic for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- pages router metadata bugs with React 19 (#81733)
- [metadata] replace for initial body icon case (#81688)
- Ensure custom NextServer config is honored (#81681)
Credits
Huge thanks to @huozhi, @ijjk, and @ztanner for helping!
Misc Changes
- fix: remove a few old references to 'next lint': #82800
- docs: fix TS error in Node.js runtime local assets example: #82672
- docs: Route props helpers, typegen and next lint deprecation: #82784
Credits
Huge thanks to @bgub, @EAzZY-1wnL, and @icyJoseph for helping!
Core Changes
- [Cache Components] Fix HMR for nested pages: #82776
- Upgrade React from
a96a0f39-20250815tof508edc8-20250818: #82747 - Avoid duplicate WebSocket connection for global error pages: #82788
- Update linter options: #82266
- React from
f508edc8-20250818to0bdb9206-20250818: #82792 - feat: stabilize experimental.typedRoutes flag: #82762
- [Cache Components] Faster partial hydration in PPR resumes: #82742
- Turbopack: Define built-in webpack conditions using an enum and typescript union: #82765
- Turbopack: Remove beta warning: #82797
- feat: add a codemod to migrate from the deprecated "next lint" command: #82685
- fix: don't fail with amp config in JS: #82798
- fix: possible null access: #82799
Misc Changes
- Update Rspack production test manifest: #82771
Credits
Huge thanks to @unstubbable, @bgub, @vercel-release-bot, @lubieowoce, and @bgw for helping!
Core Changes
- [Cache Components] Defer Request Data API resolution to another task in dev when it would suspend when prerendering: #82386
- [devtool] migrate global inline style tag to css: #82778
Misc Changes
- [turbopack] Update next docs with information about turbopack known adoption issues: #82560
- Use
jsxextension instead ofjsin global-error documentation: #82710 - [sourcemaps] Fix sourcemapping in Redbox on Windows: #82078
- [test] separate metadata font tests: #82746
- Turbopack: don't look into fallback import map twice: #82786
Credits
Huge thanks to @lukesandberg, @gnoff, @cypherab01, @eps1lon, @huozhi, and @mischnic for helping!
Core Changes
- chore(test): update sharp api test: #82740
- [type] dynamic skip generating unused types: #82755
Misc Changes
- Turbopack: Stop persisting background task correctly on stop: #82727
- Turbopack: fix race condition in test case: #82728
- [turbopack] Remove a debug assertions in client references endpoint: #82725
- Turbopack: use bail instead of panic: #82745
- Update Rspack production test manifest: #82732
- fix(turbopack): webpack-loaders failed to resolve relative path: #82720
create-next-app: use Turbopack for both dev and build: #82753- fix: make sure validator.ts uses relative paths for imports: #82761
Credits
Huge thanks to @sokra, @lukesandberg, @mischnic, @vercel-release-bot, @fireairforce, @wbinnssmith, @styfle, @huozhi, and @bgub for helping!
Core Changes
- Turbopack: show timing event for database compaction: #82369
Credits
Huge thanks to @sokra for helping!
Core Changes
- fix: return plain text 404 for invalid static asset paths: #75111
Misc Changes
- Turbopack: refactor idle process queue and fix bugs and race conditions: #82630
Credits
Huge thanks to @sokra and @devjiwonchoi for helping!
Core Changes
- fix: use
turbopack.rootvalue foroutputFileTracingRootto have consistent tracing root: #82653
Misc Changes
- Add metadata to server reference manifest: #82695
Credits
Huge thanks to @devjiwonchoi and @ijjk for helping!
Core Changes
- feat: add RouteContext type for app router route handlers: #82670
- Add additional handling for build-complete: #82671
- fix: Combine the hrtime tuple to get a better seconds representation: #82687
- test: migrate manifest tests to snapshot testing with normalizeManifest utility: #82675
- perf(router): replace LRU cache with optimized doubly-linked list implementation: #82633
- Turbopack: use a source content regexp for the react compiler: #82631
- Upgrade React from
379a083b-20250813toa96a0f39-20250815: #82691 - fix: memory leak from cloneResponse: #82678
- Turbopack: Fix logic in HMR logging code that could emit a NaN build time: #82389
Misc Changes
- test: improve tests for typed route validation: #82660
- docs: add
experimental.typedEnv: #82647 - Turbopack: use published sourcemap crate: #82646
- chore: set Turborepo version correctly: #82680
- Turbopack: run snapshot in normal task instead of blocking task: #82636
- docs: fix typo in vitest.mdx: #82690
- Update Rspack production test manifest: #82681
- Update Rspack development test manifest: #82682
- Remove stability disclamer on Node runtime in middleware: #82181
Credits
Huge thanks to @bgub, @ijjk, @devjiwonchoi, @icyJoseph, @wyattjoh, @mischnic, @sokra, @adkile, @vercel-release-bot, @snyamathi, @kachkaev, and @bgw for helping!
Core Changes
- fix: use .js extension for relative imports: #82669
Misc Changes
- Revert "Turbopack: avoid using rayon in favor of tokio tasks (#82256)": #82658
- [turbopack] Fix a bug where our
globalrewrite could introduce a TDZ issue: #82659 - chore: Bump Turborepo: #82652
Credits
Huge thanks to @sokra, @lukesandberg, @mischnic, and @bgub for helping!
Core Changes
- Upgrade React from
f1222f76-20250812to379a083b-20250813: #82642 - feat(next/image): warn when images.localPatterns is undefined and src has query: #82627
- Turbopack: add
turbo_tasks::spawn: #82634 - Fix fetch logging after revalidation via server action: #82643
- Fix request type in typed route validator: #82644
Misc Changes
- Turbopack: fix edge function name: #82617
- Turbopack: avoid REEXPORTED_OBJECTS property on Module object: #82622
- Turbopack: patch sourcemap crate: #82641
- Turbopack: do not run a compaction when opening the db: #82635
Credits
Huge thanks to @mischnic, @sokra, @styfle, @unstubbable, and @eps1lon for helping!
Core Changes
- fix: find root dir on fs root: #82590
- fix: use in operator to check dev indicator option when its obj: #82629
Misc Changes
- Fix generate-metadata.mdx typo: #82624
- docs: fix typos: #82503
Credits
Huge thanks to @icyJoseph, @guoci, @huozhi, and @JamBalaya56562 for helping!
Core Changes
- [devtools] Move ShadowRoot into context: #82296
- Remove React 17 logic from Pages Router static generation: #82604
- [Segment Cache] Optimistic prefetch for search params: #82586
- Handle badged console calls when dimming console output: #81889
- run config deprecation checks only on user-provided configuration: #82613
- [devtools] Remove unused code: #82299
- [turbopack] Update Turbopack build warning message : #82591
- [Cache Components] Disallow sync access of cookies & headers at runtime: #82564
- feat: type guard file generation: #81400
Misc Changes
- [turbopack] Fix a crash under turbopackPersistentCaching: #82592
- Turbopack: don't block on parsing traced modules: #82602
- Docs/feedback round aug: #82549
- Turbopack: avoid using rayon in favor of tokio tasks: #82256
- Turbopack: support requests with dynamic part in module name: #82401
- Cleanup
shouldRunTurboDevTestusage: #82603 - Update Rspack production test manifest: #82601
- Update Rspack development test manifest: #82600
Credits
Huge thanks to @lukesandberg, @mischnic, @eps1lon, @icyJoseph, @sokra, @acdlite, @ztanner, @unstubbable, @vercel-release-bot, and @bgub for helping!
Core Changes
- Upgrade React from
1dc3bdea-20250812tof1222f76-20250812: #82595
Core Changes
- fix router handling when setting a location response header: #82588
- Fix: Resolve PPR resume mismatch by search params: #82587
Credits
Huge thanks to @ztanner and @gaojude for helping!
Core Changes
- feat: Turbopack typed links: #81528
- Upgrade React from
ac7820a9-20250811to1dc3bdea-20250812: #82575 - [Runtime prefetch] resolve runtime APIs in a separate task: #82475
- Clean up unused code in restart server button: #82409
- chore: Update babel types and do some light cleanup of babel loader: #82486
- [Cache Components] Avoid cache misses when resuming a cached page: #82578
- chore: Remove unused
Mapsupport fromnext/dynamictransform: #82487 - [Deprecation Warnings]: add unstable_rootParams deprecation warning: #82582
- Turbopack: set
window.next.turbopackinstead: #82580
Misc Changes
- feat(turbo-tasks-hash): update twox-hash: #82518
- Update Rspack development test manifest: #82558
- Update Rspack production test manifest: #82557
Credits
Huge thanks to @xusd320, @bgub, @lubieowoce, @vercel-release-bot, @devjiwonchoi, @bgw, @unstubbable, @ztanner, and @mischnic for helping!
Core Changes
- fix: amp deprecation warning should assert on user config: #82572
- fix: Prevent duplicate file entries in modulesCode: #82550
Misc Changes
- Turbopack: fix module rules for
.module.scss: #82570 - Turbopack: Watch parent directories before watching children in
non_recursive_helpers::start_watching_dir_and_parents: #82454
Credits
Huge thanks to @mischnic, @huozhi, @icyJoseph, and @bgw for helping!
Core Changes
- [Deprecation Warnings]: add amp deprecation warning: #82551
- fix(next/image): handle empty buffer and experimental flag for
skipMetadata: #82569
Misc Changes
- Turbopack: improve Lightning CSS error handling: #82561
- [turbopack] Handle relative paths before matching in node file traces: #82539
- Turbopack: symlinks and parent globs in
outputFileTracingIncludes: #82528
Credits
Huge thanks to @mischnic, @lukesandberg, @ztanner, and @styfle for helping!
Core Changes
- Fix: Disambiguate Mediapartners-Google user agent: #82536
- Fix: Allow dynamic rendering when root layout is wrapped in Suspense: #82378
- wrap devtools stories in context providers: #82345
- [devtools] Remove unused
componentStackFramesfield: #82395
Misc Changes
- Turbopack: Rework watcher data structures, store watched list and watcher behind the same RwLock: #82258
- Bump React types: #82541
- Turbopack: fix postcss in RSC CSS: #82554
Credits
Huge thanks to @bgw, @gaojude, @RobPruzan, @eps1lon, and @sokra for helping!
Misc Changes
- Test that there are no server-side CSS chunks: #82471
- docs: experimental config browserDebugInfoInTerminal: #82532
Credits
Huge thanks to @mischnic and @icyJoseph for helping!
Core Changes
- fix(next/image): use
image-sizepkg as additional format detector: #82538 - fix: add
?dplto fonts in/_next/static/mediapart 2: #82488
Misc Changes
- chore: Ignore
compiledfolder in ripgrep/ast-grep/ag/etc: #82482 - Update Rspack development test manifest: #82526
- Update Rspack production test manifest: #82525
Credits
Huge thanks to @bgw, @styfle, and @vercel-release-bot for helping!
Core Changes
- Delete abandoned segment parsing code: #82458
- Upgrade React from
3958d5d8-20250807tof1e70b5e-20250811: #82534 - Upgrade React from
f1e70b5e-20250811toac7820a9-20250811: #82543
Misc Changes
- Turbopack: increase time before persisting: #82403
- [turbopack] Fix a small issue in the analyzer where we wouldn't skip assignments to free vars that were just identifiers: #82392
- [turbopack] Promote
exportsand module to factory parameters for cjs: #82285 - [turbopack] Fix the build under
--features=tokio_tracing: #81979 - Turbopack: Restore watchers for children when using non-recursive FS watcher: #82130
- Turbopack: fix CSS module references, take 2: #82448
- Turbopack: respect
productionBrowserSourceMaps: #78014
Credits
Huge thanks to @acdlite, @sokra, @lukesandberg, @bgw, and @mischnic for helping!
Core Changes
- Upgrade React from
7deda941-20250804to3958d5d8-20250807: #82447
Misc Changes
- use correct workflow id for v0: #82484
Credits
Huge thanks to @padmaia for helping!
Core Changes
- Turbopack: Share entrypoint template logic between Turbopack/webpack: #82385
- Add
pathto Image documentation: #82329 - [errors] revamp graceful degrade error boundary: #82474
- Fix: Do not force BLOCKING_STATIC_RENDER for DOM bots: #82427
- Update build-complete for adapter API: #82452
- fix: swc tracing: #82470
Misc Changes
- Docs/polyfills fix pages only: #82462
- Turbopack: enable side effects optimization by default in all test cases: #82463
- Turbopack: split basic side effects optimization test: #82464
- Turbopack: add more side effects test cases: #82465
- Turbopack: refactor side effects optimization: #82466
- Devcontainer: Replace Dockerfile with prebuilt image+features: #82450
- Update Rspack development test manifest: #82461
- docs: update revalidatePath, revalidateTag docs to be more consistent + highlight res.revalidate case: #82479
Credits
Huge thanks to @bgw, @icyJoseph, @sokra, @kitfoster, @huozhi, @gaojude, @vercel-release-bot, @feedthejim, @ijjk, and @r34son for helping!
Core Changes
- Remove param values from static route tree: #82376
- [Cache Components] Only validate the shell on SSR render: #82381
- fix: static not-found missing in prerender manifest: #82199
Misc Changes
- global-error, revalidatePath and PWA headings: #82408
- chore(Next.js sync): open draft PRs immediately: #82424
- Turbopack: improve loop breaks: #77964
- Update Rspack development test manifest: #82433
- Turbopack: remove a few clones: #82435
- Update Rspack production test manifest: #82432
- Update to run rspack tests on release: #82453
Credits
Huge thanks to @acdlite, @icyJoseph, @padmaia, @mischnic, @vercel-release-bot, @gnoff, @huozhi, and @ijjk for helping!
Core Changes
- fix: add
?dplto fonts in/_next/static/media: #82384 - Upgrade React from
be11cb5c-20250804to7deda941-20250804: #82373 - [devtools] Make state read-only in types: #82396
- Add experimental clientParamParsing feature flag: #82393
- add unstable_isUnrecognizedActionError: #78933
- [Cache Components] give the "seconds" profile a 30s staleTime: #82332
- Represent "virtual" segments like route groups: #82422
- [Segment Cache]: fix infinite prefetching when staleTime is 0: #82388
Misc Changes
- docs: CSP with SRI corrections: #82365
- fix: implications of global-not-found skipping 'normal' rendering: #82399
- update rspack-dev-tests-manifest for failing tests: #82414
- Docs: Add more info about TW and TW 3 option: #82203
- Update Rspack production test manifest: #82397
- fix(turbopack): external module shouldn't wrap by esm when type as global: #82374
- docs: polyfills usage in app router: #80447
Credits
Huge thanks to @styfle, @icyJoseph, @eps1lon, @acdlite, @devjiwonchoi, @lubieowoce, @vercel-release-bot, @fireairforce, and @ztanner for helping!
Core Changes
- fix: OTel root span should indicate error status on exceptions: #82212
- [Cache Components] Allow span creation while prerendering: #82350
- feat(turbopack): improve compile-time define value to support more data types and expr evaluation: #81042
- [Pages] fix:
_errorpage'sreq.urlcan be overwritten to dynamic param on minimal mode: #82347 - [Pages] fix: use
asPathfor query-only navigation withuseRouter: #82236 - loader tree: add special segment name to virtual parallel route segments: #82383
Misc Changes
- Documentation: Removed reference to treeShaking in 08-turbopack.mdx: #82352
- Turbopack: run styled-jsx after typescript transform: #82359
- Turbopack: pass
is_developmenttonext_page_config: #82363 - refactor(turbo-tasks-fs): change FS to_sys_path to be synchronous: #82341
- Turbopack: clean up some old TODOs: #82364
- Docs: Updating guides on PPR and ISR: #81307
- fix(Turbopack): Address duplicated metadata image modules when they are impored: #82367
- Bump swc to 35: #82237
Credits
Huge thanks to @huperniketes, @mischnic, @xusd320, @devjiwonchoi, @MichalMoravik, @gnoff, @Cy-Tek, and @ztanner for helping!
Core Changes
- fix: next/root-params erroring when rerendering after action: #82326
- Remove params from segment path: #82249
- Upgrade React from
c260b38d-20250731tobe11cb5c-20250804: #82339
Example Changes
- docs: Improve Content Security Policy documentation: #80580
Misc Changes
- Turbopack: set env in tracing context: #75254
- [test] Update snapshots: #82327
- chore: fix eslint-typechecked-require with template: #82328
- docs: add React Developer Tools section for debugging: #82320
- docs: Clarify revalidatePath : #82142
- Turbopack: Update
jsonc-parser, dedupe with SWC: #82343 - [turbopack] vibecode a benchmark runner for module-cost: #82287
Credits
Huge thanks to @mischnic, @eps1lon, @lubieowoce, @PuppyOne, @acdlite, @icyJoseph, @bgw, and @lukesandberg for helping!
Core Changes
- Update font data: #82292
Credits
Huge thanks to @vercel-release-bot for helping!
Core Changes
- feat: automatically generate route types: #81396
- [Cache Components] Reset PrerenderStore after generating RSC payload: #82286
- Include
eslint-plugin-react-hooksin React sync: #82294 - [devtools] Remove unnecessary cascading update: #82295
- Turbopack: name the module factory function: #73553
Misc Changes
- Turbopack: Remove the
lazy-regexdependency: #82288 - Turbopack: move block offsets from header to footer: #82047
- Turbopack: Streaming write of SST files: #82048
- [turbopack] Use Arrays instead of objects to bootstrap chunks: #81877
Credits
Huge thanks to @bgub, @bgw, @gnoff, @sokra, @eps1lon, and @lukesandberg for helping!
Core Changes
- Turbopack: Compact only at the end for short sessions: #82224
- feat: add fallback root params support for prefetch segment data routes: #82282
- feat: add route context to prerender error messages: #82283
Misc Changes
- docs: to indicate that redirect can be used in both server and client…: #82092
- Turbopack: improve compression dictionary generation: #80061
- test: reduce artificial timeouts in runtime prefetch tests: #82276
- Turbopack: fix glob with empty alternative branch: #82275
- [turbopack] Optimize ESM exports: #82214
- [turbopack] Fix a snapshot test: #82281
- [turbopack] Avoid calling
find_server_entriesin the whole_app_module_graph case: #81943 - docs: Add Tolgee to app router localization resources: #81366
- Update Rspack development test manifest: #82268
- Update Rspack production test manifest: #82267
Credits
Huge thanks to @sokra, @candymask0712, @lubieowoce, @mischnic, @lukesandberg, @wyattjoh, @stepan662, and @vercel-release-bot for helping!
Core Changes
- Mark bun builtin modules as external (fixes #75220): #77616
Misc Changes
- [turbopack] Adopt rcstr! more consistently: #80552
- Turbopack: use mimalloc v3: #82221
- Turbopack: no need to avoid allocations anymore: #82222
- Turbopack: ensure max merge segments is respected accros families: #82223
Credits
Huge thanks to @lukesandberg, @sokra, and @Jarred-Sumner for helping!
Core Changes
- Upgrade React from
9784cb37-20250730toc260b38d-20250731: #82247 - [Cache Components] Runtime prefetching: #81088
- Parse dynamic params on the client: #82185
Misc Changes
- fix: turbopack loader ipc field mapping: #82112
- Turbopack: fix dev test manifest: #82241
- fix(Turbopack): Fix duplicated layout rendering in edge cases: #81948
Credits
Huge thanks to @dlehmhus, @mischnic, @Cy-Tek, @lubieowoce, and @acdlite for helping!
Core Changes
- Fix: Don't bail out of prefetch if head is missing: #82216
Misc Changes
- Turbopack: implement shutdown for backing storage correct: #82220
- Update Rspack development test manifest: #82227
Credits
Huge thanks to @acdlite, @sokra, and @vercel-release-bot for helping!
Core Changes
- Revert "Initial MCP implementation (#81770)": #82217
- Revert "Upgrade @vercel og (#82201)": #82219
Misc Changes
- Update Rspack production test manifest: #82108
- Update Rspack development test manifest: #82192
Credits
Huge thanks to @vercel-release-bot, @sokra, and @huozhi for helping!
Core Changes
- allow root params access in private caches: #82125
- [devtool] bump base-ui to 1.0.0-beta.2: #82206
- Upgrade @vercel og: #82201
- Upgrade React from
9be531cd-20250729to9784cb37-20250730: #82207 - Fix: the unexpected clearing of symbolic link directories: #82191
- [next-dev] Set
TURBOPACKenv before loading config: #82162 - fix: display multiple lockfile warn if neither
outputFileTracingRootorturbopack.rootoption is provided: #82164
Misc Changes
- Turbopack: Use
Path/PathBuffor all of the invalidation logic: #82132 - Turbopack: Use a BTreeMap in InvalidatorMap to avoid many
O(n)traversals when finding child paths: #82133 - Turbopack: Watch the root and every parent directory in non-recursive mode: #82129
- Turbopack: Remove unused
ignored_subpathsfeature from DiskWatcher: #82210 - Grammar fix on forms.mdx: #82209
Credits
Huge thanks to @lubieowoce, @huozhi, @bgw, @startracex, @chadfennell, and @devjiwonchoi for helping!
Core Changes
- Fix RSC hash validation for middleware external rewrites: #82176
@next/codemod: update docs url in README: #82135@next/codemod: Addexperimental.turbototurbopackcodemod for Next.js configs: #82134- refactor: lowercase app router header values: #82169
- Strip internals from
NextRequesttypes: #82172
Misc Changes
- docs: update cacheTag.mdx: #82051
- Turbopack: Make the "non-recursive" logic for the fs watcher a runtime flag instead of a build-time one: #82031
- Turbopack: Add a flag to the fs watch fuzzer to print missing but expected invalidations: #82131
- docs: fix typo in docs: #82186
- docs: Add more links to app docs root: #82126
- docs: App Router's React version: #82180
Credits
Huge thanks to @gaojude, @wbinnssmith, @m1abdullahh, @bgw, @Sayakie, @icyJoseph, @lubieowoce, and @eps1lon for helping!
Core Changes
- Extract getDynamicParam to a shared module: #82137
- Fix i18n fallback: false collision: #82136
- [segment explorer] normalize path when running inside monorepo: #82146
- [segment explorer] windows compatibility: #82147
- Upgrade React from
eaee5308-20250728to9be531cd-20250729: #82159 - Ensure setAssetPrefix updates config instance: #82160
- Revert "Fix tracing of server actions imported by client components (#78968): #82161
- Remove useMDXComponents argument: #80871
Misc Changes
- Update Rspack production test manifest: #82139
- Turbopack: Fix accidental doctest in globset module license: #82127
- [turbopack] tweak the ui of the module-cost benchmark: #81817
- [test] revert config change in hello-world test: #82173
- docs: cookies.set encode option is not supported: #82154
- docs: change Dashboard component to async for session verification: #81880
- Update create-release-branch to disable test-new-tests: #82182
Credits
Huge thanks to @acdlite, @ijjk, @huozhi, @vercel-release-bot, @bgw, @lukesandberg, @icyJoseph, @remcohaszing, and @wesjune for helping!
Core Changes
- Turbopack: write tasks doesn't need to be session dependent, as effects will restore: #78727
- [sourcemaps] Fully sourcemap stacks on the Server: #81904
- fix(Rspack): use loaderContext.utils.contextify to replace ModuleFilenameHelpers.createFilename: #82104
- next/root-params: #80255
- fix(next/image): fix image-optimizer.ts headers: #82114
- Upgrade React from
19baee81-20250725toeaee5308-20250728: #82120 - Fix validateRSCRequestHeaders incorrect redirect: #82119
- fix(next/image): improve and simplify detect-content-type: #82118
- [CacheComponents] Use fallback params when validating dynamic routes in dev: #82069
Misc Changes
- Turbopack: only schedule tasks when task becomes active on active counter increase: #81414
- docs: Update styling example links : #82111
- [turbopack] Documentation fixes for rcstr! and a tiny improvement to
hash: #82084 - [turbopack] Improve our
constcompatible hash routine performance: #82088
Credits
Huge thanks to @sokra, @eps1lon, @icyJoseph, @SyMind, @lubieowoce, @styfle, @gaojude, and @lukesandberg for helping!
Core Changes
- Revert "Upgrade vercel og and remove yoga type patching (#81937)": #82066
- Optimize segment data routes: #82033
Credits
Huge thanks to @huozhi and @ijjk for helping!
Core Changes
- Upgrade vercel og and remove yoga type patching: #81937
- [perf] cache load config results: #80570
- Turbopack: use prototype for turbopack context for better runtime performance: #81547
- [reactcompiler] Test with latest RC: #82002
- [devtools] Fix various
exhaustive-depsviolations: #82010 - [devtools] Apply React Compiler to Next.js DevTools source: #82004
- Upgrade React from
edac0dde-20250723to3d14fcf0-20250724: #82020 - Adjusted the warning message to be more descriptive: #82054
- Track fallback params on workUnitStore: #82003
- Fix API stripping JSON incorrectly: #82061
- Upgrade React from
3d14fcf0-20250724to19baee81-20250725: #82063 - use FetchStrategy to control prefetching behavior everywhere: #82032
- [Segment Cache] set fetchStrategy on segments from a dynamic request: #82059
Misc Changes
- Update Rspack development test manifest: #82038
- [test] Allow running
lint-eslinton a specific directory: #82009 - Adjusted the warning message to be more descriptive: #82052
- Update Rspack production test manifest: #82039
- [turbopack] mark
rcstr!allocated Rcstr values as 'static' and stop refcounting them: #81994
Credits
Huge thanks to @huozhi, @vercel-release-bot, @sokra, @eps1lon, @Cy-Tek, @gnoff, @lukesandberg, @ijjk, and @lubieowoce for helping!
Core Changes
- Initial MCP implementation: #81770
- Fix: Unresolved param in x-nextjs-rewritten-query: #81991
- Turbopack: Add an option to use system TLS certificates (fixes #79060, fixes #79059): #81818
- Turbopack: Remove unused proxy option in turbo-tasks-fetch, lightly document HTTP_PROXY/HTTPS_PROXY environment variables: #81905
- Upgrade React from
7513996f-20250722toedac0dde-20250723: #81984 - [devtools] Cleanup folder structure: #82012
- [devtools] Fix "open in editor" for locations in stackframes: #82013
- [Segment Cache] Fix: Key by rewritten search: #81986
Misc Changes
- Turbopack: improve named spans in tracing: #81458
- Turbopack: update mimalloc: #81993
- Turbopack: Update bundled webpki-roots: #81906
- Allow specifying CLI version for e2e deploy: #81998
- Turbopack: Move fs watcher anyhow::Context import inline to fix compilation warnings: #81997
- Add link to manually trigger preview builds: #81977
- Update Rspack production test manifest: #82007
- Update Rspack development test manifest: #82008
- Turbopack: Make turbo-tasks-fetch a bit more OOP-like: #81995
Credits
Huge thanks to @sokra, @acdlite, @bgw, @ijjk, @eps1lon, and @vercel-release-bot for helping!
Core Changes
- Upgrade React from
e9638c33-20250721to7513996f-20250722: #81940 - Upgrade to swc v33: #81750
- Remove extra base-server code: #81944
- Turbopack: flatten sourceInfo to avoid objects, reorder args, compress node.js entry: #81545
- Fix dynamicParams false layout case in dev: #81990
Misc Changes
- [test] workaround test that needs stylus: #81965
- Bump to swc_sourcemap 9.3.3: #81971
- fix(Turbopack): Remove the duplicate SlowFilesystem warning: #81972
- CI: add workflow_branch data to deploy test failure message: #81949
- Update Rspack production test manifest: #81961
- Update Rspack development test manifest: #81960
- [turbopack] Rename ClientReferenceSet: #81942
- Turbopack: fix scope hoisting variable renaming bug: #81640
- Revert "[test] workaround test that needs stylus": #81981
- [docs] fix rewrites example wording: #81985
Credits
Huge thanks to @huozhi, @mischnic, @Cy-Tek, @ztanner, @vercel-release-bot, @ijjk, @lukesandberg, @sokra, and @allenzhou101 for helping!
Misc Changes
- Update Rspack development test manifest: #81913
- Update Rspack production test manifest: #81914
- Turbopack: Use workaround for rustc miscompilation bug on macos intel: #81950
Credits
Huge thanks to @vercel-release-bot and @bgw for helping!
Core Changes
- Stabilize node middleware support: #81907
- Add
run-turbopack-compilertrace span: #81917 - fix: support calling onClose multiple times in edge-ssr-app: #81911
- fix: logging the correct process for listened port: #81903
- Build: Include rewrites in manifest generation: #81894
- Routing: Clean up some code: #81932
- [sourcemaps] Ensure codeframe when calling Client Functions from Server: #81918
- [segment explorer] missing file suggestion: #81617
- [turbopack] Always print trace labels in headers: #81728
- Revert "[metadata] use https protocol for schema urls": #81934
Misc Changes
- Turbopack: Track variable usage inside of visit_assign_target_pat: #81654
- Turbopack: Replace
current_valueset/restore mutation pattern with a saferwith_pat_valuehelper: #81696 - Docs: Document
global-not-found: #81803 - [router-act] Fixes related to segment inlining: #81896
- [test] Add dedicated test for error when client functions are called from server components: #81930
- Fix an issue in how css references are collected under
next build --turbopack: #81704 - Turbopack: Update notify-rs crate, remove workaround for fixed bug: #81909
Credits
Huge thanks to @bgw, @ijjk, @mischnic, @delbaoliveira, @lubieowoce, @huozhi, @timneutkens, @acdlite, @eps1lon, and @lukesandberg for helping!
Core Changes
- Upgrade React from
dffacc7b-20250717toe9638c33-20250721: #81899 - chore(devtools): sync todos to linear: #81901
- Introduce
'use cache: private': #81816 - chore(deps): update
browserslist: #81851 - Remove web-server from edge-ssr-app: #81389
Misc Changes
- Remove
experimental.strictNextHead: #81882 - Remove some random commas: #81875
- Turbopack: Add cache for reqwest clients: #81742
- Update Rspack development test manifest: #81878
- Update Rspack production test manifest: #81879
Credits
Huge thanks to @RobPruzan, @eps1lon, @unstubbable, @MidnightDesign, @bgw, @stephenliang, @vercel-release-bot, and @ijjk for helping!
Core Changes
- [sourcemaps] Try VM for retrieving source maps first: #81869
- [devtools] save user config inside
.next/cache: #81807 - Server: Remove unused code: #81886
- refactor: encapsulate content type within RenderResult: #81861
- refactor: handle null RenderResult responses gracefully: #81895
Misc Changes
- Turbopack: fix unhelpful error message when deleting folder fails: #81718
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @timneutkens, @wyattjoh, and @sokra for helping!
Core Changes
- Turbopack: fix dist dir on Windows: #81758
- fix: remove boundary sentinel from RSC responses: #81857
Credits
Huge thanks to @mischnic and @wyattjoh for helping!
Core Changes
- [devtool] migrate css reset to global.css: #81783
- [dev-tools] Robust shortcut detection: #81756
- [segment explorer] hide for pages router: #81813
- [devtool] fix scrollbar styling: #81814
- fix(ppr): ensure fallback route params trigger dynamic resume: #81812
- [devtools] restart server pending state: #80858
Misc Changes
- [turbopack] use
requireto load chunks in our node runtime: #81738
Credits
Huge thanks to @huozhi, @raunofreiberg, @lukesandberg, @wyattjoh, and @devjiwonchoi for helping!
Core Changes
- [devtool] move font styling to global.css: #81782
- [devtool] copy decoded info of error details: #81735
- fix(build): add sourcePage context for PPR dynamic route lambda creation: #81781
- refactor: rename experimental.dynamicIO to experimental.cacheComponents: #81562
- Properly handle hanging promise rejections during prerendering: #81754
- Upgrade React from
d85ec5f5-20250716todffacc7b-20250717: #81767 - Refactor: Get rid of overly generic
getExpectedRequestStorefunction: #81791
Misc Changes
- Update Rspack production test manifest: #81746
- Update Rspack development test manifest: #81747
- Turbopack: Split DynamicEqHash trait into smaller traits in a separate re-usable crate: #81741
- [turbopack] Reuse shared Promise for loaded chunks: #81755
- Add VSCode tasks to show TypeScript compilation errors in problems view: #81799
- Turbopack: remove unneeded manifests for API routes: #81536
Credits
Huge thanks to @vercel-release-bot, @huozhi, @bgw, @wyattjoh, @unstubbable, @eps1lon, and @mischnic for helping!
Core Changes
- bugfix: static resources staleTime should be renewed once refetched: #81771
Misc Changes
- fix(turbopack) Adjust the way catchall routes are handled when a more specific parallel route exists: #81634
- Add trigger for v0 sync workflow: #81645
Credits
Huge thanks to @ztanner, @Cy-Tek, and @padmaia for helping!
Core Changes
- [devtool] enable segment explorer by default: #81737
- [turbopack] Stop exposing globals from Turbopack runtime: #81727
- Remove unnecessary await: #81761
- [chore] bump zod to latest v3: #81757
- feat(turbopack): Log anonymized internal error (panic) information to telemetry: #81272
- fix: revert client segment route changes for sub shell generation: #81740
Misc Changes
- Turbopack: consistently name runtime chunk: #81769
- Turbopack: include more details in panic: #81773
Credits
Huge thanks to @huozhi, @eps1lon, @mischnic, @bgw, and @wyattjoh for helping!
Core Changes
- fix: pages router metadata bugs with React 19: #81733
- Improve error handling for
headers/cookies/draftModein'use cache': #81716 - [devtool] fix duplicate rendered indicator on server: #81729
Misc Changes
- chore: update username from 'nebrelbug' to 'bgub': #81734
Credits
Huge thanks to @bgub, @ztanner, @unstubbable, and @huozhi for helping!
Core Changes
- [Segment Cache] Support dynamic head prefetching: #81677
- [sourcemaps] Consistent cursor columns: #81375
- fix: revert client segment route changes for sub shell generation: #81731
Misc Changes
- Fix: createRouterAct "reject" config: #81720
- Update Rspack development test manifest: #81702
- Update Rspack production test manifest: #81701
- Add an e2e test for the css serving issue: #81683
Credits
Huge thanks to @acdlite, @vercel-release-bot, @lukesandberg, @eps1lon, and @wyattjoh for helping!
Misc Changes
- [test] Fix
app-staticdeploy test: #81712
Credits
Huge thanks to @eps1lon for helping!
Core Changes
- feat(next/image): warn when
images.qualitiesis undefined: #81690 - feat(build): optimize filterUniqueParamsCombinations to generate sub-combinations: #81321
- Update NextAdapter type and re-export: #81692
- upgrade to path-to-regexp@6.3.0: #80123
- [metadata] replace for initial body icon case: #81688
- [segment explorer] remove dev panel ui flag: #81670
- Simplify running test apps locally with
pprordynamicIOenabled: #81668 - [turbopack] Return cached Promise from
__turbopack_load_by_url__: #81663 - Upgrade React from
97cdd5d3-20250710to2f0e7e57-20250715: #81678 - Delete unused
renderToStringfunction: #81707 - Discard prerendered route handler data from FS cache after revalidation: #81611
- Upgrade React from
2f0e7e57-20250715tod85ec5f5-20250716: #81708 - Ignore pending revalidations during prerendering: #81621
- [turbopack] Clear chunk cache on HMR instead of creating new
next-serverVM: #81664 - fix: rootParams should throw in client when fallbackParams are not present: #81711
- perf(build): optimize buildAppStaticPaths performance and add helper function: #81386
- Turbopack: Support string without options for @next/mdx: #81713
Misc Changes
- docs: Update redirects i18n documentation for App Router: #81347
- Include
use-cachetest suite in the Cache Components tests: #81610 - Improve error message for sync server functions: #81705
- [lint] keep lint-stage use faster linting: #81710
Credits
Huge thanks to @styfle, @wyattjoh, @ijjk, @ztanner, @huozhi, @prateekkish, @unstubbable, @eps1lon, @lubieowoce, and @timneutkens for helping!
Core Changes
- Enable
@typescript-eslint/switch-exhaustiveness-checkrule: #81583 - [dynamicIO] use RSC dynamicness to control partial vs complete PPR result: #81627
- [dynamicIO] Do not use
React.unstable_postpone(): #81652 - feat: new detachable panel UI: #81483
- Turbopack: content-hash PageLoaderAsset: #81450
- [segment explorer] fix content overflow styling: #81649
- Improve reliability of owner stacks for async I/O errors: #81501
- fix(router): Prevent redirect loop on root data requests with basePath: #81096
- Ensure custom NextServer config is honored: #81681
- Fix before interactive incorrectly render css: #81146
- perf: memorize exclude function in webpack config: #81525
- Also enforce experimental features when there's no next config file: #81679
Example Changes
- Add Prisma ORM example to Next.js examples: #75290
- chore: Update
with-supabaseexample to usegetClaims(): #81383
Misc Changes
- Update Rspack development test manifest: #81603
- Allow
beforePageLoadto be async: #81650 - Docs: POC: #81419
- chore(bot): update comment: #81672
- Fix build-native.ts on Windows: #81673
- Update Rspack development test manifest: #81660
- Update Rspack production test manifest: #81661
- Add create release branch workflow: #81687
- fix patch-next by adding missing script: #81430
- Turbopack: Generalize
ImportedBindingeffect creation to avoid as much special-casing of SimpleAssignTarget: #81653
Credits
Huge thanks to @unstubbable, @vercel-release-bot, @gnoff, @RobPruzan, @mischnic, @huozhi, @delbaoliveira, @styfle, @ankur-arch, @skt-t1-byungi, @ijjk, @Han5991, @SyMind, @Anas-github-acc, @hf, and @bgw for helping!
Core Changes
- Use and enforce exhaustive switch statements for work unit store: #81577
Credits
Huge thanks to @unstubbable for helping!
[!TIP]
Check out our Next v15.4 Blog Post to learn more about this release.
Core Changes
- [next-server] fix params duplicate in query after rewrite: #77939
- [next-server] preserve rsc query for rsc redirects: #77963
- Turbopack: fix a bug where marking a task a completed causes a panic when reading the output: #77922
- Turbopack warning spelling fix: #77999
- Allow URL schemes that include
+,-or.: #77932 - [dev-overlay] Remove unused hydration error related code: #77929
- [dev-overlay] Unify error deduplication logic: #78017
- fix: use the match result after matching using the matched path header: #77994
- Upgrade React from
3fbfb9ba-20250409toc44e4a25-20250409: #78031 - Move unhandled rejection handling to shared path: #77997
- fix: ensure app router not found works when deployed with pages i18n config: #77905
- Uninstall existing uncaughtException listeners to prevent the process from crashing: #78042
- Experimental bfcache: Restore state w/
: #77992 - Add graceful error fallback for bots requests: #77916
- Upgrade React from
c44e4a25-20250409to1d6c8168-20250411: #78067 - [next-server] remove unnecessary query shallow copy: #78003
- [dev-overlay] disable copy button when clipboard is not available: #78101
- [dev-overlay] Stop stashing React error details on error instances: #77975
- [dynamicIO] Model invalid dynamic on empty shells: #77270
- fix: bump
image-size@1.2.1: #78149 - Handle graceful fallback for custom error boundaries: #78121
- [dev-overlay] Stop squashing hydration related errors in App Router: #78140
- [test] Enable
strictNullChecksin test utils: #78142 - Document Turbopack trace viewer: #78184
- [dev-overlay] Fix error dialog resizing logic: #78144
- Include types in published
eslint-plugin-next: #78109 - [dev-overlay] Stop appending wrong Owner Stacks to SSR-only shell errors: #77302
- [dev-overlay] Add dedicated label for recoverable errors: #78186
- [chore] remove unused __NEXT_PRIVATE_RUNTIME_TYPE: #78230
- Preserve slashes when custom URL schemes are used in redirects: #78176
- ignore-list published sources if they have a sourcemap: #78242
- Upgrade React from
1d6c8168-20250411to39cad7af-20250411: #78152 - Turbopack: add test case for persistent caching: #77030
- Upgrade React from
39cad7af-20250411tob04254fd-20250415: #78253 - fix: alternate bundler support for dropping client pages in AMP: #77601
- [errors] refactor default global-error into a separate file: #78182
- [metadata] render streaming metadata on the top level: #77620
- [metadata] skip head cache in default slot: #78206
- chore: Backport SWC-based RC optimization (#78260)
- fix: bump image-size@1.2.1 (#78164)
@next/mdx: Use stable turbopack config options: #78261- Upgrade React from
b04254fd-20250415to4a36d3ea-20250416: #78297 - Add graceful error boundary for bots requests: #78298
- make sure eslint-plugin-next is built when running 'pnpm dev': #78305
- Migrate pages API routes to handler interface: #78166
- Update middleware public/static matching: #78325
- Fix dynamic route param encoding: #78326
- [Turbopack] refactor persistent caching from log based to cow approach: #76234
- Add onInvalidate option to router.prefetch: #77880
- Reserve bandwidth for most recently hovered link : #78362
- fix: handle incremental PPR with client segment cache: #78387
- fix: amphtml-validator WASM errors (for real): #78379
- Turbopack: Remove
next start --turbopack: #78384 - Upgrade React from
4a36d3ea-20250416tobc6184dd-20250417: #78322 - [chore] remove dead code missing required error: #78403
- [ts-next-plugin] remove typescript vfs and related metadata plugin: #78237
- [ts-next-plugin] auto import metadata type: #78258
- [ts-next-plugin] warn to add correct type for metadata exports: #78254
- [ts-next-plugin] fix: validate metadata node before checking type: #78414
- [errors] fix edge server initial error is not sent via hmr: #78415
- misc: use correct capitals for React terms: #78445
- Skip empty prefetch request for dynamic routes: #78436
- Turbopack: don’t warn about webpack being configured when
experimental.turbois set: #77998 - Upgrade React from
bc6184dd-20250417to914319ae-20250423: #78468 - Update turbopack to syn2: #78385
- [next-server] ensure prepare is done before preloading entry: #78454
- Upgrade React from
914319ae-20250423to197d6a04-20250424: #78516 - [dev-overlay] Move
error.nameto label: #78198 - [ts-next-plugin] update log for utils: #78538
- [ppr] Route Cardinality Updates: #78476
- Turbopack: support ignore comments for NFT fs access tracing: #78460
- Externalize manifest loading in pages-api: #78358
- Update font data: #78525
- refactor: skip the prospective render when there's a more specific route to be rendered: #78555
- fix: bodySizeLimit error responses + limit for non-multipart actions: #77746
- [dynamicIO] Do not skip dynamic validation when metadata is dynamic: #78574
- [dynamicIO] log dynamic validation errors consistently in dev: #78575
- [ts-next-plugin] clean up unused proxy: #78539
- [dynamicIO] Disallow only dynamic metadata: #78576
- fix: make webpack handle "use cache" in node_modules : #78606
- Use React's
prerenderfunction for"use cache"with Dynamic IO: #78382 - Use
node:prefixed in ESM emit of standalone server.js: #78624 - feat: add ravendb library to server-external-packages.json: #78319
- docs: fix typo in ppr.ts: #78590
- Pre-compile busboy dependency: #78634
- Pages API handler interface follow-ups: #78638
- Repeat fix in #78387 for routes without params: #78568
- [dev-tools] Fix
widthtransition logic: #78635 - [ts-next-plugin] fix: warn only if no type: #78628
- [ts-next-plugin] fix: warn only if no type for separate export: #78629
- chore: Drop
@swc/counter: #78674 - Turbopack: use small thread local collector that flushes to global collector: #78343
- Upgrade React from
197d6a04-20250424to5dc00d6b-20250428: #78640 - Fix bad decoding for x-matched-path header: #78677
- Fix pages API rewrite case: #78644
- chore: update rspack to 1.3.8: #78485
- Always apply render preparations after running an action: #77898
- Exclude config package from bundling: #78671
- Upgrade builtin babel packages: #78673
- Upgrade loader-utils v2 to latest patch: #78707
- [Link] Add prefetch="auto" option: #78689
- [build-sourcemaps] Ensure errors during prerender can be sourcemapped: #78709
- Upgrade React from
5dc00d6b-20250428to408d055a-20250430: #78715 - build: Fix minifier options for webpack builds: #78717
- refactor(next-swc): Do not amend minifier options from Rust code: #78719
- Change stylistic ESLint TypeScript defaults: #78679
- fix: replace original request body after middleware execution: #77662
- remove
draft.isEnabledsetter from exotic draftMode wrappers: #77972 - Turbopack: limit compaction merging by size instead of count: #78669
- [build-sourcemaps] Include codeframes in prod when sourcemaps are enabled: #78710
- feat: build lifecycle hooks - afterProductionCompile: #77345
- fix: make sure that the patched fetch cache set promise is properly awaited: #75971
- [dev-overlay] Make badge draggable: #78716
- Turbopack: fix ESM project in standalone mode: #78774
- Revert "[Link] Add prefetch="auto" option": #78820
- Downgrade React from
408d055a-20250430to197d6a04-20250424: #78834 - Reland "[Link] Add prefetch="auto" option": #78821
- build: Update
@swc/corenpm package tov1.11.24: #77668 - Turbopack: Implement regex support for matching webpack loaders: #78733
- Turbopack: Add support for
extensionregex in@next/mdx: #78734 - backport: fix(turbopack): Store persistence of wrapped task on RawVc::LocalOutput (#78488) (#78883)
- @next/mdx: Use stable turbopack config options (#78880)
- Fix react-compiler: Fix detection of interest (#78879)
- Fix turbopack: Backport sourcemap bugfix (#78881)
- [next-server] preserve rsc query for rsc redirects (#78876)
- Update middleware public/static matching (#78875)
- [dev-overlay] Polish mobile view: #78863
- [dev-overlay] Consider scrollbar width for drag positioning: #78865
- Add handling for setting deployment id via cookie: #78841
- Run export child process with runtime's default
max-old-space-size: #78712 - [dynamicIO] cache tracking for import(): #74152
- [dev-overlay] solidate the line number parsing: #78868
- Update send to v0.18.0: #78816
- Scope
runInCleanSnapshotto Work Store: #78930 - Removes onNavigate from transition scope: #78605
- Add nonce handling from CSP in pages router: #78936
- Ensure manual nonce on Script works as expected: #78939
- Treat _debugInfo as a wellknown property for sync request data access purposes: #78942
- chore(CI): Run rspack tests in build_and_test.yml: #78757
- bugfix: Fix a bug that caused conflicting assets when adding a child compiler: #78011
- [Fix] Inverse prefetch segment for Pages routes: #78932
- Fix tracing of server actions imported by client components: #78968
- Revert "fix: alternate bundler support for dropping client page": #78974
- Fix
--no-manglingfor"use cache"functions: #78993 - chore: update rspack to 1.3.9: #78984
- [not-found] Add global-not-found convention: #78783
- [not-found] support metadata exports of global-not-found: #78961
- Prevent
"use cache"timeout errors from being caught in userland code: #78998 - patch react via recast instead of string replacements: #78916
- [link] Avoid inlining of
LinkPropsin emitted declarations: #78773 - [next-config-ts] fix: read tsconfig file using TypeScript API: #79055
- Replace node:url usage in server-utils: #79094
- [build-sourcemaps] Remove unused static workers: #79107
- fix: cli test failed when using rspack: #79081
- [build-sourcemaps] Allow inspecting prerender worker: #79098
- Add initial modifyConfig hook: #79162
- Re-land updated bundler for pre-bundling: #79164
- [dynamicIO] model pathname access in metadata as async : #79136
- Update font data: #79179
- bugfix (pages): assetPrefix should not cause hard nav in development: #79176
- Reland "Ensure mangling is disabled for dev runtime builds (#75297)": #79201
- docs: add graceful error boundary example: #77781
- turbo-tasks: Encode location information into panics: #78945
- feat(turbopack): Add basic compilation event support: #78785
- chore(dev-overlay): Minor cleanups to useDelayedRender hook: #79119
- Update font data: #79227
- Rename
define-env-plugin.tstodefine-env.ts: #79224 - Always pass implicit/soft tags into the
CacheHandler.getmethod: #79213 - fix(dev-overlay): Ignore right clicks on the indicator draggable: #79120
- Fix dangling promise in unstable-cache: #79248
- Revert "Partial Fallback Prerendering Route Shells (#69282)": #79258
- [devtool] initial support for segment explorer: #78858
- Client router should discard stale prefetch entries for static pages: #79309
- [dynamicIO] fix: do not apply import tracking transform in edge: #79284
- Turbopack build: Fix type: module with output: standalone: #79292
- [TypeScript Plugin] Moved the diagnostics' positions to the prop's type instead of the value for client-boundary warnings: #79193
- Use
onPostponeto determine if segment prefetch is partial: #79299 - Enable
pprwhendynamicIOis enabled: #79302 - fix: replaceIdentifiersInAst takes an expression, not a string: #79196
- Remove DIO w/o PPR branch from
app-render.tsx: #79303 - Remove prospective fallback prerenders: #79304
- Fixed rewrite param parsing for interception routes in Vercel deployments: #79204
- [build-sourcemaps] Sourcemap errors during prerender if
experimental.enablePrerenderSourceMapsis enabled: #79109 - [release] use
@changesets/changelog-githubfor changelog format: #79040 - next.config.ts: Implement
compiler.defineServerfor server-only constants: #79225 - Always show warning if fetch cache limit hit: #79384
- feat(turbopack) Added sending events to log how long writing entrypoints to disk takes.: #79256
- [release] use
@changesets/changelog-githubfor changelog format: #79040 - next.config.ts: Implement
compiler.defineServerfor server-only constants: #79225 - Always show warning if fetch cache limit hit: #79384
- feat(turbopack) Added sending events to log how long writing entrypoints to disk takes.: #79256
- Only share incremental cache for edge in next start (#79389)
- [TypeScript Plugin] Match method signature (
someFunc(): void) type for client boundary warnings: #79144 - Only share incremental cache for edge in next start: #79386
- fix: rspack framework and lib cacheGroups: #79172
- Make sure bundle analyzer does not trigger warning with turbopack: #79399
- [dynamicIO] Avoid timeout errors with dynamic params in
"use cache": #78882 - Implement initial handler interface for pages routes: #79260
- [Segment Cache] Fix: Ensure server references can be prerendered: #79448
- [dynamicIO] Avoid timeout errors with dynamic params in
"use cache": #78882 - Implement initial handler interface for pages routes: #79260
- [Segment Cache] Fix: Ensure server references can be prerendered: #79448
- [Segment Cache] Fix: Skew during dynamic prefetch: #79416
- [dynamicIO] reimplement dynamicIO validation on prerender: #79414
- fix: remove redundant performance.measure usage: #79475
- [devtools] Add a very minimal API for restarting the dev server: #79265
- Model prerender store as separate server and client scopes: #79429
- fix: Merge link header from middleware with the ones from React (#73431)
- fix(edge): run after() if request is cancelled mid-streaming (#76013)
- gate segmentCache branch in base-server (#79505)
- Model prerender store as separate server and client scopes: #79429
- Use metadata for cache entry status code: #79512
- fix(dev-overlay): Better handle edge-case file paths in launchEditor: #79526
- [build-sourcemaps] Increase stacktrace limit during prerender: #79498
- fix: Rspack not skip .d.ts file: #79285
- Revert "[next-server] skip setting vary header for basic routes": #79426
- [ppr] Narrow condition for fallback shell generation at runtime: #79565
- Turbopack: derive de/serialize for loader config: #79581
- Update font data: #79642
- Avoid bundling dev overlay in page template: #79641
- Enable preview builds for forks: #79648
- misc: remove leftover
clientInstrumentationHooktype: #79701 - cleanup(turbopack): Embed Global vs Specific channel type in the Rust type system: #79291
- [dev-overlay] Show error overlay on any thrown value in /app: #79658
- [dev-overlay] Move error handlers into dispatcher in /app: #79660
- Verify cache-busting param during segment prefetch: #79563
- update(turbopack): Update the messaging UX for timing writing files to disk: #79469
- [dev-overlay] Move Redbox open/close into dispatcher: #79698
- chore: update rspack to 1.3.12: #79428
- Enable repeated
tscruns inpackages/nextwithout having to build first: #79782 - Run
tscin watch mode duringpnpm dev: #79785 - Reinstate
vary(#79939) - fix(next-swc): Fix interestingness detection for React Compiler (#79558)
- fix(next-swc): Fix react compiler usefulness detector (#79480)
- fix(dev-overlay): Better handle edge-case file paths in launchEditor (#79526)
- Client router should discard stale prefetch entries for static pages (#79362)
- fix: preload fonts in template.js: #79417
- feat: using eval source map plugin for Rspack: #79199
- feat: using builtin CssChunkingPlugin for rspack: #79762
- fix(napi): Update generated types, add alias for RcStr: #79915
- [dev-overlay] Fix highlighted line cut off on scroll: #79930
- fix(next/font): allow custom font-family in declarations: #76274
- Remove
subissuesfromIssue: #79988 - [devtools] Add a query parameter to restart endpoint to invalidate the persistent cache: #79425
- Implement handler interface for app-page: #79568
- Migrate app route to handler interface: #80008
- Turbopack Build: Fix underscore path tests: #79778
- Fix watchmode for
taskrtasks: #80020 - Update font data: #80036
- Fix defunct ESLint overrides: #80053
- [devtools] Add an endpoint to poll for server status: #80005
- [dynamicIO] Only report client sync IO errors if they are above a Suspense boundary: #80026
- [dev-overlay] Parse stacks in reducer not during dispatch: #79788
- Remove obsolete
@ts-expect-error: #80065 - [dev-tools] Navigation header replaces close button: #80097
- [dev-overlay] Inject
get*Stackimplementation: #79789 - [dev-overlay] Fix dark‐mode styling for
<option>in Preferences dropdowns: #80025 - Use relative sources in
require()instead ofnext/dist/if possible: #80054 - [dev-overlay] Inject
isRecoverableErrorimplementation: #80003 - [devtool] fix explorer flag consuming and style: #80110
- [dev-tools] add restart dev server button to error overlay: #80060
- [dev-tools] add restart dev server button on dev-tools indicator preferences: #80072
- [chore] remove legacy useEarlyImport flag: #80112
- [testmode] Fix types of
wrapRequestHandler: #80055 - Extend bot list with googleweblight, Storebot-Google, Google-Inspecti…: #77728
- [dev-overlay] Inject
getSquashedHydrationErrorDetailsimplementation: #80046 - [dev-tools] better description for restart server button: #80118
- [dev-tools] style: preferences section title: #80120
- [metadata] refactor to remove async metadata: #78495
- [dynamicIO] Document client component remediations for sync IO: #79787
- [dynamicIO] prioritize preprocessing RSC rows when prerendering: #80125
- [dev-overlay] Remove unused
onErrorin /pages: #79982 - Remove unused vendored
server-inserted-metadatamodule: #80143 - Webpack Build: Use name-contenthash instead of name-chunkhash for dynamic imports: #80153
- [dev-overlay] Remove unnecessary code from /pages dev error boundary: #79983
- Turbopack Build: Implement helpful error for missing sass package: #80155
- [global-not-found] fix shared css imports not being picked: #80151
- Add experimental flag for RSC request validation: #80157
- [dev-overlay] Remove indirection in app dev error boundary : #79984
- Docs: preload entries impact on memory consumption: #80098
- [dev-overlay] Move building indicator into Dev Overlay state: #79985
- [metadata] only render one metadata outlet: #80146
- Add a
regionsproperty to the Functions Config Manifest file: #80104 - [metadata] fix nonce prop for hoist script: #80174
- docs: fix grammar in Code of Conduct section ('them' → 'it') : #80181
- [error-overlay] remove footer message: #80169
- Turbopack: Log persistent cache store time: #80149
- fix(turbopack): Next.js package not found panics in Turbopack: #79572
- [turbopack] Compute Import Traces for Issues: #79351
- Typecheck
require()calls: #80056 - Revert "[turbopack] Compute Import Traces for Issues": #80215
- remove unique metadata prop from initial RSC payload #79388
- Replay redirect if RSC parameter is missing: #80180
- [devtool] style the segment explorer as nested view: #80212
- Prerender with streaming metadata during revalidation: #80245
- fix: invalid middleware configs should fail the build: #80221
- [dev-overlay] Render /app Dev Overlay with a separate React instance: #79699
- [devtool] display segment explorer as tree view: #80261
- [dev-overlay] Use same bundle for Pages and App Router: #80019
- Revert "Revert "[turbopack] Compute Import Traces for Issues"": #80220
- [dev-overlay] Publish as production bundle: #80295
- [metadata] only serve block streaming metadata for html bots: #80272
- Update font data: #80301
- Update font data: #80340
- [dev-overlay] fix duplicate re-render of errors: #80322
- [build-sourcemaps] Only compute codeframe once: #80326
- [test] Fix Dev Overlay Storybook: #80288
- [test] Fix crashes in Dev Overlay Stories: #80292
- [metadata] use https protocol for schema urls: #80356
- [dev-overlay] Remove positive tab-index: #80289
- [devtools] Implement default
/.well-known/appspecific/com.chrome.devtools.jsonendpoint in dev: #80260 - [dev-overlay] Fix outstanding a11y issues reported by Axe: #80290
- provide declarations for server-only/client-only: #80361
- [test] Stop opening browser by default in local Dev Overlay Storybook: #80291
- [dev-overlay] Move hot reloader client code out of react-dev-overlay: #80278
- [dev-overlay] Remove unused code: #80279
- [dev-overlay] Move app/pages related features closers together: #80280
- Discard
Infinityexpiration for implicit tags: #80387 - fix(next-swc-wasm): Only enable turbo-rcstr's napi feature when building the next-swc-napi crate/package: #80390
- Add response handling inside handlers: #80189
- feat(turbopack): Add simple tree shaker: #78286
- Fix a couple typos: #80080
- [dev-overlay] Move code into new top-level folder in src/next-devtools: #80281
- Ensure we normalize .rsc/.prefetch.rsc: #80409
- Turbopack Build: Fix /index/index handling: #80413
- [segment-explorer] optimize tree view: #80392
- Upgrade @playwright/test and cleanup internal APIs: #80334
- Backport
config.allowedDevOrigins(#80410) (Learn More) - [segment-explorer] Signal updates to React: #80316
- [segment explorer] fix soft navigation case: #80443
- Update the warning text for when multiple lockfiles are found: #80214
- feat: in Rspack using native fn implemented by us using SWC to replace load module: #80342
- chore: fix link to good first issue: #80478
- Disable fetch cache size limit for implicit caching during build: #80480
- [dynamicIO] Split up static generation into two phases: #79629
- fix(turbopack): Fix config caching for turbopack + React Compiler: #80498
- [dynamicIO] Use filled Resume Data Cache for final-phase prerenders: #79743
- fix: Rspack dev gets stuck after removing a page: #80555
- Ensure custom relative distDir resolves properly: #80569
- fix: mark file system incremental cache as external so it's memory is shared: #80586
- [fix] clone the config module to avoid mutation: #80573
- Improve Incremental Cache Locking Algorithm: #80497
- [devtools] add feature flag for new panel ui: #80251
- [devtools] fork devtools-indicator: #80456
- [devtools] fork next-logo: #80457
- guarantee cache busting param correctness: #80381
- Normalize filepaths when parsing patterns from js values: #80511
- [metadata] render streaming metadata on the top level (#80566)
- [fix] clone the config module to avoid mutation (#80573)
- feat: rspack use swc to warn for edge runtime: #80485
- Avoid timeout error when transformed params are passed to
"use cache": #80463 - Respond with
404for unknown server actions: #80613 - [segment explorer] single row layout segment: #80576
- Fix: Rules of Hooks violation in AppRouter: #80623
- fix: Add Chrome-ligthouse to htmlLimitedBots: #80656
- Turn on clientSegmentCache during PPR CI runs: #80581
- [devtools] port overlay backdrop out of overlay: #80460
- Revert "(E2E) Log which config file is used for
next start": #80666 - fix(turbopack): Fix static immutability analysis: #80646
- [devtools] add panel ui placeholder under feature flag: #80354
- [devtools] add dialog behavior to panel ui: #80355
- Add
--debug-prerenderoption fornext build: #80667 - [devtools] port devtools-indicator position to dispatcher: #80536
- fix: mark the shared cache controls as external so it's memory is shared: #80588
- [devtools] apply draggable to panel ui: #80517
- Apply normalizers for init URL used for handlers: #80694
- overwrite redirect SSG meta.status to 200 for RSC requests: #80391
- [devtools] panel ui header: #80509
- [development-server] Display pid of already-running process that is using port: #80069
- [devtools] panel ui footer: #80515
- Fix Next DevTools Storybook in recent Node.js versions: #80713
- [devtools] set up panel ui tab infra: #80535
- [devtools] port devtools scale to dispatcher: #80537
- [devtools] panel ui settings tab: #80538
- Upgrade React from
197d6a04-20250424to79d9aed7-20250620: #79477 - fix: rspack code analyzer should only handle javascript module: #80711
- [devtools] port call stack: #80550
- [devtools] port runtime error handling to hook: #80567
- Upgrade React from
79d9aed7-20250620to06e89951-20250620: #80730 - chore(swc-wasm): Fix and clean up various issues with swc-wasm tests: #80471
- Add onBuildComplete adapter hook: #80446
- [ppr] RDC for RSCs: #79638
- docs: add csp and content disposition type: #80735
- omit searchParam data from FlightRouterState before transport: #80734
- feat(turbopack): Print a warning about performance when starting with an invalidated cache: #80631
- perf(next-swc): Remove needless JSON conversion: #80671
- [devtools] Fix Turbopack indicator: #80753
- Downgrade React from
79d9aed7-20250620to197d6a04-20250424: #80762 - devtools: couple restart dev server UI with persistent cache flag: #80751
- [devtools] panel ui responsiveness: #80732
- [turbopack] Update Napi CLI to the latest 2x release: #80697
- Revert "[ppr] RDC for RSCs": #80794
- [segment explorer] handle edge and pages router: #80668
- [segment explorer] handle builtin not-found: #80607
- [devtools] fix: adjust width for responsiveness: #80777
- [build] remove obsolete module field alias for barrel optimized pkg: #80769
- [segment explorer] handle custom global-error segment: #80685
- [devtools] storybook: port utils to be reusable: #80726
- [segment explorer] display navigation error boundaries: #80691
- [devtools] set up panel ui issues tab infra: #80727
- [devtools] add correct scrollbar to dialog body: #80776
- [devtools] panel ui issues tab sidebar: #80728
- [devtools] panel ui issues tab content: #80729
- [devtools] add fullscreen mode: #80788
- [devtools] proper draggable for header and footer only: #80792
- [segment explorer] handle display loading: #80698
- [segment explorer] handle custom error boundary: #80714
- [segment explorer] display default page in segment explorer: #80716
- Add htmlrewriter to default server externals: #80819
- fix to use https urls in meta data images when using experimental-https: #80276
- Add a fallback for the mdx-components file: #59693
- Revert "Respond with
404for unknown server actions (#80613)": #80662 - [devtools] segment explorer tab: #80805
- [devtools] fix: error overlay closes when footer is clicked: #80513
- fix: respond with 404 for unrecognized action ids: #77012
- [turbopack] Enable debug assertions in CI: #80739
- Turbopack Build: Implement browserslist for CSS / JS: #80603
- Fix fallback: true cache-control: #80865
- Turbopack: scope hoisting: #79459
- [devtools] refactor segment explorer styles: #80848
- Turbopack: CSS Global Import Validation for Pages: #80585
- [devtools] overlay backdrop visibility hidden when not fullscreen: #80844
- Allow intercepting dynamic routes to be partially prerendered: #80851
- Turbopack: fix chunking context caching: #80862
- [devtools] replace the old error overlay with the issues tab view: #80814
- [devtools] fullscreen mode should not be draggable: #80845
- Turbopack: add task execution reason to tracing: #80861
- [devtools] Allow opting out of environment feature flags: #80897
- [devtools] fix: build error should share the issue content layout: #80850
- [devtools] increase max-width/height limit: #80846
- [devtools] memorize tab in session storage: #80900
- Check cache busting search params on all RSC requests: #80669
- Perf: Use canonicalUrl from prefetch for dynamic RSC requests: #80817
- Fix PPR no fallback case: #80908
- Add comment explaining staticPathKey vs ssgCacheKey: #80911
- add turbo tasks fuzzing: #79372
- [devtools] fix style of issue count label: #80854
- [devtools] Remove unused footer buttons: #80864
- [devtools] Hide issue count on empty state: #80898
- [turbopack] Add user friendly names to trace labels: #80388
- Upgrade React from
197d6a04-20250424tofa3feba6-20250623: #80804 - [segment explorer] open in editor: #80856
- Roll out validateRSCRequestHeaders: #80954
- [refactor] group the built-in conventions: #80957
- fix: webpack config context when using rspack: #80921
- Turbopack: pass current Node.js version from JS side instead of invoking node: #80949
- Turbopack/Webpack Build: Remove dead code: #80938
- Upgrade React from
fa3feba6-20250623tocee7939b-20250625: #80904 - [segment explorer] hover state for open-in-editor color: #80950
- Upgrade React from
cee7939b-20250625to4db4b21c-20250626: #80959 - [devtools] polish icon and label color: #80976
- Use proper reexports in entry-base.ts: #80988
- [segment-explorer] display the builtin conventions: #80961
- [segment explorer] builtin slots style: #80972
- [segment explorer] trigger boundary initial support: #80948
- [devtools]: width/height adjustments: #81072
- [test] fix browser chunk test failure: #81074
- [segment explorer] show current route: #81003
- [devtools]: move RestartServerButton to panel footer: #81082
- Update font data: #81093
- Upgrade React from
4db4b21c-20250626to65c4decb-20250630: #81077 - [node-webstreams] Remove unused App externals from next-server bundler config: #81039
- Turbopack: apply browserslist config in dev: #81075
- [build] remove the default imports for error boundary: #81000
- Turbopack: also inline env vars with undefined value: #80990
- [devtools]: default to issues tab when error overlay is programmatically toggled: #81091
- [devtool] merge segment explorer flag into panel ui flag: #81085
- Revert "[devtool] merge segment explorer flag into panel ui flag (#81085)": #81131
- [segment explorer] reset error and not-found boundary: #81115
- [devtool] enable segment explorer when new panel present by default: #81152
- [dynamicIO] Don't abort on sync request data access: #81162
- [dynamicIO] recognize prerender interrupted errors as well known: #81160
- Fix resolvedPathname for middleware rewrite: #81144
- [node-webstreams] Exhaustive React aliases in App Router: #81040
- [node-webstreams] Use React builds for Node.js: #81048
- Upgrade React from
65c4decb-20250630to7216c0f0-20250630: #81133 - Turbopack: fix and finish immutable tasks: #80996
- [segment explorer] custom tooltip: #80974
- [segment explorer] refactor boundary trigger with ui primitives: #81147
- Migrate usage of web-server in edge-ssr: #80915
- Upgrade React from
7216c0f0-20250630to73aa744b-20250702: #81192 - [segment explorer] fix route path in top navbar: #81195
- Reuse resolvedPathname from prepare: #81194
- Turbopack: exclude resolve-rewrites if possible: #80939
- [devtool] styling fixes: #81228
- [devtools] Omit line/col numbers for anonymous sources: #81223
- Fix NEXT_CPU_PROF during development: #81248
- Turbopack: list assert/strict as external (#80884)
- omit searchParam data from FlightRouterState before transport (#80734)
- bugfix: propagate staleTime to seeded prefetch entry (#81263)
- [Segment Cache] Support third-party redirects in output: "export" mode: #81247
- [devtool] css imports and share css variables: #81236
- Update matching query and route param handling: #81209
- bugfix: propagate staleTime to seeded prefetch entry: #81263
- Ensure resolvedPathname normalizes trailing slash: #81265
- [sourcemaps] ignore-list Webpack runtime: #81229
- Allow
pnpm buildto be run when offline: #81273 - [sourcemaps] Ignore-list sources whose sourcemaps ignore-list everything: #81231
- [dynamicIO] Use owner stacks for dynamic validation errors: #81277
- [dynamicIO] Don't abort prospective render on sync access during SSR: #81258
- [refactor] Move sourcemapping logic to dedicated file: #81310
- [sourcemaps] Improve ignore-listing performance: #81311
- [devtool] handle click outscope child element: #81296
- [build] remove devtool from client chunks in prod: #81376
- chore: align css loader in storybook: #81403
- feat: make typed routes output deterministic: #80432
- [dev-tools] Custom keyboard shortcut to toggle visibility: #81064
- chore: update rspack to 1.4.5: #81216
- [use-cache] track cache read earlier when encrypting bound args: #81427
- Upgrade React from
5d87cd22-20250704toa7a11657-20250708: #81428 - [segment explorer] capture defined boundaries: #81232
- [segment explorer] trigger the actual same level boundary: #81268
- feat: forward browser errors/logs to terminal: #80909
- fix: referencing unavailable __dirname: #81436
- Upgrade vercel og to 0.7.2: #81447
- [build-sourcemaps] Default
experimental.enablePrerenderSourceMapstoexperimental.dynamicIO: #81449 - Upgrade React from
a7a11657-20250708to60b5271a-20250709: #81463 - Support
Uint8Arraybodies when generating cache keys for POST requests: #81465 - [devtool] dynamically import segment explorer when enabled: #81473
- Add @sparticuz/chromium-min to default server externals: #81309
- [devtool] patch base-ui and migrate segment explorer inline styles: #81474
- Pass
filterStackFrameeverywhere: #81516 - Upgrade React from
60b5271a-20250709to96c61b7f-20250709: #81505 - [segment explorer] redesign file pills and boundary trigger: #81302
- Update eslint and restore
.eslintrc.cli.jsonbeing used for CLI/CI-based linting: #81553 - [sourcemaps] Properly devirtualize
rsc:URLs: #81554 - Upgrade React from
96c61b7f-20250709to97cdd5d3-20250710: #81551 - fix: update useEffect closure when menu is truly mounted: #81531
- rename
handleSmoothScrollutil: #81546 - add flag to opt into smooth scroll detection & add warning: #81563
- fix: revert focus trap dependency change: #81571
- Hide
stackframes if sandwiched between two ignore-listed frames: #81067 - Dim console logs from prospective prerender in dev: #81515
- Augment React types internally instead of overwriting them: #81561
- [sourcemaps] Don't check for vendor chunks when Node.js 18 is used: #81619
- [Segment Cache] Fix isHeadPartial logic: #81566
- [segment explorer] fix route url is missing cases: #81622
- [segment explorer] fix boundary trigger state: #81623
- fix(next/image): bump sharp to 0.34.3: #81556
Example Changes
- [test] Use React 19.1 everywhere: #77895
- chore(examples): replace uuid dependency with crypto.randomUUID: #77901
- examples: fix readmes: #78483
- chore: Update the
with-supabaseexample to use the Supabase Auth block: #78913 - refactor(napi): Implement napi traits for RcStr: #79806
- remove with-fauna example: #80440
- chore: fix typos in rust files: #81113
- Add Biome example: #81334
Misc Changes
- Turbopack: use correct env var for uploading test results: #77988
- chore(cna): use short tailwind classname of font-family: #77271
- Fix CSS Data URL test on Turbopack: #77970
- Turbopack: fix dynamic request lookup with only a single match: #77986
- Update Turbopack production test manifest: #78007
- Update Turbopack development test manifest: #78008
- [test] Assert on all errors in Redbox matchers: #77907
- Turbopack: check css requests in test: #77285
- 15.3 Docs: Turbopack for
build: #77730 - [test] Stop asserting on internal stackframes when features are working as intended: #78015
- Turbopack: asset ident instead of chunk item ID in CSS: #78018
- fix(turbopack): Consider scoping of
vardeclarations: #77954 - [test] Remove global styled-components install : #77782
- Cleanup
config.experimental.reactOwnerstack: #78021 - Docs: Improve
"use cache"andcacheLifeAPI references: #78024 - Docs: Update
useLinkStatusAPI reference: #78022 - Turbopack: add debug assertion to check for duplicate modules: #78025
- Turbopack: bundle only
new Workerwithnew URL: #78010 - Turbopack: use hashbrown HashMaps instead of now-removed std raw entry api: #78032
- Turbopack: proper error message for swcPlugins: #77990
- Update Rust toolchain to nightly-2025-04-10: #78039
- [test] separate rsc-basic tests: #78038
- chore(github): remove redundant markdown body: #76187
- chore(CI): Mention Rspack explicitly, use arewerspackyet.com domain: #77995
- Update Turbopack production test manifest: #78053
- Turbopack: support for CSS Modules in Data URLs: #78040
- test: adjust default timeouts for [waitFor]elementByCss: #78026
- Revert Rust upgrade to nightly-2025-04-10: #78062
- Update Rspack development test manifest: #78049
- Update Rspack production test manifest: #78050
- chore(CI): Add lukesandberg to turbopack team: #78074
- [test] Activity has types and supports react-server: #78066
- refactor(turbo-tasks): Check for transient tasks called from persistent tasks in more places: #77760
- [font] prefix leading numeric google-font name with underscore: #78127
- build: Update
swc_coretov22.3.1: #78129 - Update Turbopack production test manifest: #78124
- [test] isolate parallel metadata test: #78134
- Update Turbopack development test manifest: #78125
- Update Rspack production test manifest: #78123
- [test] Add dedicated tsconfig for test utils: #78141
- Turbopack: load chunks only once: #75143
- Reenable a few more Turbopack tests: #78153
- test: remove "@testing-library/jest-dom" from default jest setup: #78157
- Turbopack: Update toolchain to 2025-04-14 (Reapply #78062): #78167
- [test] Assert on all errors in app/ hydration-error suite: #78132
- Skip failing test via manifest instead: #78161
- Update Turbopack development test manifest: #78179
- Correct require.context relative import keys to match Webpack: #78148
- Getting Started Docs: Clean up
docs/appanddocs/pagespages: #78151 - Update Rspack production test manifest: #78177
- Update Turbopack production test manifest: #78180
- Update Rspack development test manifest: #78178
- Turbopack: fix duplicate facade module: #78191
- Added @types/jest in installtion commands.: #78090
- Update turbopack.mdx: #78082
- docs: improve wording around NextRequest and query params: #77923
- Docs IA 2.0: Move version upgrade docs under
Guides: #78189 - Docs IA 2.0: Move SPA docs under
Guides: #78195 - Docs IA 2.0: Move migration docs under
Guides: #78193 - Docs Papercuts: #78200
- feat(turbo-tasks): Generate a trace of transient tasks when panicking: #77600
- Turbopack: fix duplicate module from internal ref: #78194
- Fix externals doc validation: #78208
- [docs] Update 03-fonts.mdx: #77965
- Turbopack Persistent Caching: Use SmallVec to avoid allocations for small values written to DB: #78136
- Turbopack: wait for tracing to be written before exiting: #78210
- refactor(turbopack): Prepare removal of fake AST in tree-shaking: #78172
- Turbopack: more module ident collisions: #78207
- fix(turbo-tasks-fs): Update notify-rs, handle recursive symlinks in realpath implementation, add an e2e test for symlinked files: #78220
- Update Turbopack production test manifest: #78224
- Update Turbopack development test manifest: #78225
- Turbopack: normalize ref type for external tracing: #78226
- Update Rspack production test manifest: #78222
- Getting Started Docs: Add
deployingpage: #77720 - Docs IA 2.0: Move multi-zones docs to
Guides: #78238 - Turbopack: Do multiple unit test runs: #78212
- Turbopack: fix cell not found bug: #78246
- Prevent typescript errors in IDE for newly generated tests: #78247
- Turbopack: Support ECMAScript styleregex with negative lookahead in
require.contextcalls: #78251 - Docs IA 2.0: Move Production Checklist under
Guides: #78240 - Docs: Fix nav item lettercasing for multi-zones: #78250
- [docs] fix function signature of og image: #78277
- Turbopack: dedupe additional traced references: #78241
- Update Turbopack development test manifest: #78274
- [test] Improve coverage for fetch errors in Edge runtime: #78257
- Update Turbopack production test manifest: #78273
- Turbopack: fix duplicate unsupported edge import modules: #78236
- Turbopack: Include Next.js version in panic handler report: #78263
- fix(turbopack): Fix duplicate modules when tree shaking: true: #78203
- test: try to fix flakiness in amphtml util: #78304
- remove BrowserInterface: #78308
- fix(turbo-tasks-fs): Handle filesystem watcher rescan events: #78045
- docs: improve userAgent device.type example in userAgent.mdx: #78368
- fix(turbo-tasks): Make vc types use repr(transparent): #78327
- refactor(turbopack): Remove needless code: #78331
- Update Turbopack production test manifest: #78371
- fix(turbo-persistence): Fix
verify_sst_contentfeature, improve unit test performance: #78388 - Turbopack: Use content for async loader digests, not availability info: #78386
- refactor(turbo-tasks): Use ResolvedVc for CollectiblesSource: #78392
- Turbopack: add random_change test case to test persistent caching changes: #78211
- Update Turbopack development test manifest: #78399
- Update Turbopack production test manifest: #78400
- Docs IA 2.0: Move
Static Exportsto guides, createSelf-hostingguide: #78244 - docs(turbo-tasks): Lots of minor fixes, tweaks, and updates to the docs: #78329
- Docs IA 2.0: Move CI build caching page under guides, and create equivalent
/appguide: #78416 - Docs IA 2.0: Move authentication page under
guides: #78412 - docs: fix the path of the program attribute in debugging page: #78268
- test: log html output for a flaky test to debug it: #78424
- fix bad next.browser() arguments in socket.io test: #78309
- docs: update React Compiler docs: #78427
- [ts-next-plugin] test: add
metadataandgenerateMetadatafixtures: #78409 - Turbopack: fix data-url CSS Module client references: #78428
- Update Turbopack production test manifest: #78441
- Turbopack: Use single write to loader ipc socket: #78423
- Update Turbopack development test manifest: #78442
- test: flake debugging - avoid logs being eaten by jest: #78449
- test: ignore streaming metadata in toBeEmpty assertions: #78456
- build: Update
mdxjs-rstov1: #78469 - fix(turbopack): Fix sourcemap path on windows: #78453
- fix(turbo-tasks): Add a few more transient-from-persistent task assertions: #78301
- fix(CI): Reduce Rspack test retries from 2 to 0 to reduce timeouts: #78390
- test: attempt to de-flake graceful shutdown test: #78464
- Fix potential race condition in createRouterAct: #78473
- feat(turbopack): Implement side-effect optimization: #78047
- Docs IA 2.0: Move testing guides: #78418
- Update Turbopack production test manifest: #78491
- Turbopack: add app-dir alias for
next/*subpackages: #78447 - Docs IA 2.0: Move pages from Config section into guides: #78496
- Docs IA 2.0: Move
srcfolder page to API reference: #78499 - Docs: fix reference to
experimental.turbo: #78507 - docs: added a few legacy version tags: #78506
- Turbopack: Add react refresh runtime stubs to workers: #78433
- Docs IA 2.0: Move optimizing pages to guides: #78500
- Docs IA 2.0: Delete config page in app docs: #78521
- fix(turbo-tasks): Store persistence of wrapped task on RawVc::LocalOutput: #78488
- docs: update redirected link: #78527
- Docs IA 2.0: Create
publicfolder API reference: #78531 - Update Turbopack development test manifest: #78535
- Docs IA 2.0: Move Sass and CSS-in-JS pages to guides: #78536
- Turbopack: prevent hanging due to content hashing: #78545
- Docs IA 2.0: Move caching page to deep dive: #78537
- Batch ipc info messages to improve performance.: #78522
- docs: remove Vercel mentions and improve deployment page: #78557
- Clarify documentation on
to_resolved. s/strongly/statically/: #78560 - Updating to AWS Amplify Hosting: #78564
- docs: add better-auth auth provider: #74075
- Turbopack: handle webpack loader event backpressure: #78462
- Turbopack: parallel search_index in trace server: #78357
- Update Turbopack development test manifest: #78614
- Update Turbopack production test manifest: #78613
- Turbopack: fix unused import on mac: #78341
- Update MDX documentation to use next-mdx-remote-client: #78347
- perf(turbopack): Remove
ImportBindingfragments: #78470 - Turbopack: fix search_index merging in trace server: #78625
- docs: Add missing deprecation notice for legacyBehavior in Link component: #78405
- Turbopack: don't resolve traced references in dev: #78623
- Turbopack: Support passing binary data to Webpack loaders: #75056
- docs: link the Cloudflare adapter for Workers: #78610
- perf(turbo-tasks): Filter out
selfarguments: #78554 - refactor(turbo-tasks): Tighten up id factory overflow checks, tweak API to make construction easier: #78486
- refactor(turbo-tasks): Use an execution id instead of the parent task id to prevent local Vc escapes: #78487
- refactor(turbo-tasks): Remove task id from RawVc::LocalOutput: #78561
- Turbopack: avoid compation on initial write: #78342
- Turbopack: Extract
EsRegexintoturbo-esregexcrate: #78639 - nit(turbo-tasks): Reorder the fields in RawVc::LocalOutput, add more documentation: #78562
- Update Turbopack development test manifest: #78660
- Turbopack: write a LOG file for the database: #78650
- Turbopack: Fix sizes=any with icon.svg metadata file: #78663
- Turbopack: commit compaction only when there are updates: #78651
- docs: improve
"use server"inline example: #78653 - Update Nissuer to alert for vulnerability reports: #78417
- Enable prettier for turbopack: #78559
- fix: broken deploy test from #77898: #78692
- Fix timings data for deploy tests: #78681
- Turbopack: refactor codegen of module fragments: #78642
- Update Turbopack development test manifest: #78698
- Update Turbopack production test manifest: #78697
- test: migrate svgo webpack test: #78704
- fix(turbopack): Provide full path to SWC Wasm plugins: #78637
- Revert "[next-lint] test: remove eslint config snapshot testing": #77824
- Turbopack: initially shard SST files: #78652
- Turbopack: reduce max coverage for compaction: #78649
- chore(turbopack): Bump rustc-hash from 2.1.0 to 2.1.1: #78721
- Turbopack: make_task_dirty only needs meta data: #78699
- chore(CI): Line-wrap afterBuild blocks in build_and_test.yml: #78718
- chore(CI): Re-run
pnpm installafterpnpm buildinbuild_reusable.yml: #78720 - Update authentication.mdx: #78738
- chore(CI): Use
TEST_CONCURRENCYby default inrun-tests.js: #78731 - Update test new tests for deploy mode: #78737
- Update Turbopack development test manifest: #78741
- Turbopack: assign a high aggregation number to session dependent tasks: #78668
- Turbopack: Use separate meta and data modified flags: #78724
- Turbopack: add concurrency limit to effects: #78725
- Turbopack: refactor codegen: #78685
- Turbopack: correctly reference injected variable for Wasm on Edge: #78771
- Docs IA 2.0: Improve landing page, add intro to Getting Started page: #78765
- Stabilize back-forward-cache test cases: #78735
- De-dupe build_and_deploy run for PRs: #78792
- Revert "De-dupe build_and_deploy run for PRs": #78809
- Update flakey app-action test: #78797
- Update anyhow to 1.0.98: #78827
- Update Turbopack production test manifest: #78830
- [test] Repro for dropped
ignoreListby Turbopack in browser sourcemaps: #78822 - Update multi-zones.mdx: #78812
- chore(CI): Remove unused environment variables from
build_and_test.yml: #78732 - Turbopack: avoid tracking a modification when adding an already existing item: #78726
- Turbopack: reduce the amount of task modifications caused by recomputation: #78728
- Turbopack: avoid depending on the Project: #78730
- Turbopack: use unstable sort for better performance: #78764
- chore(CI): Break pages-dir client-navigation dev tests into smaller parallelizable files/suites: #78787
- Turbopack: avoid storing task data and task cache concurrenctly: #78775
- Add a new
fsmethod to track a glob.: #78686 - Add tests for normalize_path: #78840
- Turbopack: flush key spaces when done with them: #78776
- fix: error build if fixture typechecking fails: #78839
- doc: add build lifecycle hooks documentation: #78842
- Share logic across our two transforms: #78680
- Turbopack: add tracing to turbo-persistence: #78777
- Turbopack: fix task data category: #78873
- fix(react-compiler): Fix detection of interest: #78874
- Update Turbopack production test manifest: #78900
- Update Turbopack development test manifest: #78901
- Docs IA 2.0: Fonts: #78899
- Docs IA 2.0: Metadata: #78905
- Docs IA 2.0: Create tailwind guide: #78908
- feat(next-swc): Add a fast path to RC detector: #78920
- Turbopack: defer sourcemaps processing to codegen: #78855
- build: Update
swc_coretov23.2.0: #78885 - Turbopack: create smaller initial files to reduce memory usage: #78778
- fix CSP docs: #78937
- Revert "build: Update
swc_coretov23.2.0": #78935 - fix(CI): Remove e2e test timeout overrides from rspack & turbopack suites: #78934
- Update Turbopack development test manifest: #78953
- Turbopack:
ChunkingType::Parallelwithhoistedbool: #78922 - Update Turbopack production test manifest: #78952
- fix(CI): Avoid rebuilding native code in jobs that don't depend on native code: #78944
- Docs IA 2.0: Images: #78769
- chore(test/e2e): Remove stale TODO comment from webpack persistent caching test: #78946
- Docs: Fix headings in Getting Started: #78965
- Docs IA 2.0: Delete empty optimizing folder: #78966
- chore(CI): Split trailing-slashes suite cases into smaller suites, port to more modern e2e framework: #78890
- Turbopack: properly replace
__dirnameand__filename: #78843 - perf(turbopack): Remove needless clone of sourcemap: #78972
- build: Update
swc_coretov23.1.0again with macos build fix: #78940 - Turbopack: cache directory creation: #78729
- Update Turbopack production test manifest: #78988
- Update Turbopack development test manifest: #78989
- fix(CI): Wait for lock when running apt-get: #78979
- chore(CI): Add a few more turbopack paths to labeler config: #78980
- chore(CI): Add Rspack labeler config: #79004
- perf(turbopack): Remove needless clone of SWC AST: #79007
- chore(CI): Split next-form tests into smaller suites/files that can be run more-in-parallel: #78891
- fix(CI): Remove comments from labeler config: #79015
- Turbopack next/font: Use a custom enum instead of
Resultfor failed local font files: #78941 - Update middleware prefetch test: #79025
- Docs IA 2.0: CSS: #78996
- Update Rspack production test manifest: #79072
- docs: Fix grammar on
Update static-exports.mdx: #79091 - Update Rspack development test manifest: #79071
- perf(turbopack): Update
modularize_imports: #79012 - build: Update
swc_coretov24.0.0: #79092 - Revert "build: Update
swc_coretov24.0.0": #79102 - chore(CI): Add back test retries (again) to arewerspackyet tests: #79014
- Turbopack: hash next/font filename to shorten it: #79089
- Upgrade lightningcss: #79096
- Turbopack: refactor into
traverse_edges_fixed_point: #79078 - [test] Move test selectors as close to the actual value as possible: #78931
- test: split basic HMR test into multiple files: #79064
- test: split full reload HMR test into multiple files: #79065
- Update rust toolchain to 2025-05-12: #79099
- Rust: Update safe crates to 2024 Edition: #79104
- build(next-swc): Drop
swc_bundler: #79113 - chore(CI): Split basepath test suite into smaller and more parallel test suites: #78892
- test: split error recovery HMR test into multiple files: #79066
- test: split hot module reload HMR test into multiple files: #79067
- test: remove unnecessary conditionals in error recovery tests: #73625
- Revert toolchain update to 2025-05-12: #79117
- test: replace duplicate test utils to next instance: #73624
- chore(CI): Split i18n-data-fetching-redirect test suite into smaller and more parallel test suites: #78893
- fix: pnp test cases failed when using rspack: #79084
- Turbopack: Make
turbopack-coreRust 2024: #79131 - Docs: Add PPR page to getting started section: #79076
- Update Turbopack production test manifest: #79139
- Update Turbopack development test manifest: #79140
- Update Rspack production test manifest: #79138
- Fix false-positive
"use cache"misplacement error: #79151 - docs: use single quote for
'use client'directive: #79114 - docs: improve
'use client'directive and client components: #79115 - Turbopack: remove unused
EcmascriptInputTransform::CommonJs: #79148 - [test] Add
debug-brkpackage script: #79097 - perf(turbopack): Optimize
next_page_static_info: #79009 - Reference the workUnitStore when determining bailout to CSR: #79118
- Revert "Fix false-positive
"use cache"misplacement error": #79160 - build: Update
swc_coretov24.0.0: #79103 - docs: Fix grammar in
vitest.mdx(How to set up Vitest with Next.js): #78654 - [release] enable changesets: #79035
- Remove uses of
read_globfromnode_native_bindings: #79154 - chore(turbopack): Add a span for sourcemap generation: #79170
- Add
rustc-icefiles to gitignore: #79167 - Update Rspack development test manifest: #79174
- Update Rspack production test manifest: #79185
- Update Turbopack production test manifest: #79186
- Update Rspack development test manifest: #79184
- Docs: Change
mjscodeblocks tojs: #79163 - chore: Update DevEx team changes in labeler: #79191
- Docs: Visual nits: #79198
- Docs IA 2.0: Move Edge Runtime information to API reference: #79152
- Prettier ignore changeset's format: #79203
- perf(turbopack): Do not inline synthesized content for sourcemaps: #79173
- Revert "Update mappings in
launch.jsonto improve debugging in VSCode (#76559)": #79206 - perf(turbopack): Use
Byte::from_staticwhen possible: #79215 - Add recent Turbopack reformats to blame-ignore: #79187
- perf(turbopack): Drop AST node before generating source maps: #79219
- [turbopack] Delete the
read_globfunction: #79166 - [ts-next-plugin] test: add client-boundary test: #79194
- Reland: Fix false-positive
"use cache"misplacement error: #79222 - Turbopack: Allow fully dynamic import() in node_modules: #79153
- Update Turbopack development test manifest: #79233
- Docs: Fix page order in Getting Started: #79240
- Docs IA 2.0: Server and Client Components: #79143
- Docs IA 2.0: Delete rendering section: #79244
- Docs: Fix syntax highlighting, add missing js code blocks: #79246
- perf(turbopack): Implement
ShrinkToFitforAutoMap: #79218 - docs: add missing links and imports to
cacheLifeandcacheTagfor prerender-missing-suspense error: #79247 - test: fix snapshots in failing tests: #79254
- fix(turbopack): prepend a question mark in AssetIdent display: #78977
- Update Turbopack development test manifest: #79278
- Update Turbopack production test manifest: #79277
- Update Rspack production test manifest: #79275
- Turbopack: remove dead code: #79280
- perf(turbopack): Use rayon threadpool for
minify(): #79261 - Revert "perf(turbopack): Use rayon threadpool for
minify()": #79296 - perf(turbopack): Update
sourcemapto makeflatten()faster: #79297 - docs: streaming responses with pages API routes: #79269
- feat:
--rspackflag for create next app: #79077 - Do not run CI for modifying changeset related files: #79315
- build(next-swc): Update
swc_coretov25.0.0: #79319 - Disable
dynamicIOin global default cache handler test: #79300 - Enable PPR in Dynamic IO tests: #79301
- Turbopack build: Add test skip that is also skipped for dev: #79241
- Add missing / to deploying link
- [test] Use unique error messages in
server-source-maps: #79108 - refactor(turbopack-resolver): rename filed plugins to after_resolve_plugins: #79286
- Update Rspack development test manifest: #79356
- Update Rspack production test manifest: #79357
- Docs: Experimental taint option in next.config.js: #79293
- docs: --verbose option in dev mode is not yet supported: #79366
- Update Turbopack development test manifest: #79358
- docs: Fix flag for taint: #79370
- test: fix more Runtime/Recoverable Error flakiness in HMR: #79371
- Remove obsolete
pprconfigs from Dynamic IO tests: #79305 - Turbopack: don't emit unnecessary block: #79361
- perf(turbopack): Spawn only one thread for one
write fileeffect: #79318 - [release] add new ci to use changesets/action for stable release: #79037
- fix(doc): fix typo: #79369
- [release] couple
nextand@next/swcversions: #79036 - [release] use changesets/action for canary release: #79038
- [release] create empty changeset for next when no changeset found during canary release: #79049
- [release] couple
nextand@next/swcversions: #79036 - [release] use changesets/action for canary release: #79038
- [release] create empty changeset for next when no changeset found during canary release: #79049
- Unroll recursion in
RuleCondition::matchesThis trades allocations due toBox::pincalls during recursion for an explicit stack and a tiny interpreter loop.: #79310 - Update Turbopack production test manifest: #79359
- Update Rspack development test manifest: #79392
- Update Rspack production test manifest: #79393
- Update Turbopack production test manifest: #79395
- Update Turbopack development test manifest: #79396
- Turbopack Build: Fix next/dynamic test: #79407
- [release] fix: use correct step id when publishing: #79408
- Turbopack build: Fix NODE_ENV test: #79377
- Turbopack build: Fix production-browser-sourcemaps test: #79374
- Fork the globset strategy for turbopack: #79333
- build: Update
swc_coretov26.0.0: #79411 - docs: fix spacing in installation instructions: #79257
- Turbopack build: Skip test that is not relevant for Turbopack: #79376
- Update test E2E deploy workflow to accept version: #79420
- Turbopack Build: Add comment explaining reason for skipped test: #79418
- Docs IA 2.0: Move ISR page to guides: #79283
- Update Turbopack production test manifest: #79435
- Update Turbopack development test manifest: #79436
- Turbopack build: Skip test that is not relevant for Turbopack: #79376
- Update test E2E deploy workflow to accept version: #79420
- Turbopack Build: Add comment explaining reason for skipped test: #79418
- Docs IA 2.0: Move ISR page to guides: #79283
- Update Turbopack production test manifest: #79435
- Update Turbopack development test manifest: #79436
- Turbopack Build: Fix css-modules test: #79441
- docs:
htmlLimitedBotsconfig value should be a RegExp: #79454 - Docs IA 2.0: Review fetching page and move examples: #79200
- Docs IA 2.0: Add i18n guides: #79391
- Docs: Fix broken link: #79456
- Turbopack: add webpack scope-hoisting tests: #79457
- [test] Use NEXT_TEST_CI when forking test in CI: #79354
- Docs: Remove non breaking space: #79468
- [sync-react] Base PR on target ref of workflow: #79466
- disallow unstable_rootParams in client components: #79471
- Update Rspack production test manifest: #79432
- Turbopack: avoid negative uppers and follower and use retry loop instead: #79451
- build: Update
swc_coretov26.0.1andstyled-jsx: #79464 - fix(next-swc): Fix react compiler usefulness detector: #79479
- fix(test/e2e): Increase timeout of flaky basepath test: #79481
- build: Update
swc_coretov26.0.1andstyled-jsx: #79464 - fix(next-swc): Fix react compiler usefulness detector: #79479
- fix(test/e2e): Increase timeout of flaky basepath test: #79481
- Docs IA 2.0: Reorder PPR page and fix some nits: #79282
- Docs: Align with react docs server functions: #79442
- Turbopack Build: Fix _error loading test: #79455
- Turbopack Build: Fix dynamic-missing-gsp test: #79472
- Turbopack: remove unused ModuleWithDirection from Node runtime: #79458
- Turbopack Build: Fix next/font test: #79502
- perf(turbopack): Use sourcemap with perf patches: #79501
- [turbopack] Fix a buggy serializer: #79520
- chore(turbopack): Remove unused macro definition: #79521
- Update Rspack production test manifest: #79484
- Update Rspack development test manifest: #79485
- Update Turbopack production test manifest: #79487
- Update Turbopack development test manifest: #79488
- docs: Rename CSS snippet to blog.module.css: #79507
- add feature flag to verify aggregation graph: #78964
- Turbopack: leave
chunksinrscModuleMappingempty: #79511 - [release] use changesets/action for release-candidate: #79039
- [release] notify release status via slack: #79409
- refactor(turbopack): Refactor usage of visitors: #79525
- [turbopack] Fix the stubbed out implementation of
signatureso that it works in a web worker.: #79509 - fix(next-swc): Fix interestingness detection for React Compiler: #79499
- perf(turbopack): Remove extra indirection: #79553
- refactor(turbopack): Remove
PassFactory: #79555 - Fix build and deploy workflow: #79569
- Add final build job to validate: #79570
- de-flake ReactRefreshLogBox (app): #79573
- Disable
"use cache"deploy tests: #79586 - report build-and-deploy failures only after retries: #79574
- [release-legacy] fix: set
stabledist tag for backport releases instead oflatest: #79596 - docs (data fetching): fix typo in startTransition call: #79578
- Fix --tag argument in publish-release: #79599
- Ensure scripts are included in root tsconfig: #79600
- [release] fix:
GITHUB_TOKENis needed to open release pr: #79609 - [release-old] use
backportNPM dist tag instead ofstablefor backports: #79612 - Turbopack: use unsigned values for follower and upper edges: #79489
- [release] fix: correctly set tag during publish: #79548
- [release] use
backportNPM dist tag for backports: #79538 - [release-new] fix: release pr commit contains
(#number)at last: #79611 - Unflake
Undefined default exporttest: #79632 - [release-new] move "add label to pr" workflow from publish to trigger: #79619
- chore(turbo-tasks): Remove old and unused
turbo-tasks-memorybackend: #79560 - Update Turbopack development test manifest: #79603
- Enforce consistency between packages in preview builds: #79610
- Turbopack: improve error handling when DB read/deserialization fails: #79545
- Docs IA 2.0: Create Forms guide: #79288
- Docs IA 2.0: Create intercepting and parallel routes API reference: #79405
- Docs IA 2.0: Add examples to layout.js: #79453
- Docs IA 2.0: Update template.js API reference: #79490
- Docs IA 2.0: Create Dynamic Segments API reference, add example to getting started. : #79439
- Turbopack: avoid panics due to eventual consistency: #79242
- Next IA 2.0: Create Route Groups API reference, simplifying wording: #79444
- Update Turbopack production test manifest: #79647
- Docs IA 2.0: Move Redirects page to guides: #79447
- Docs IA 2.0: Add
Caching and Revalidatingpage: #79493 - Docs: scrub html in
ld+jsonscript: #79627 - Turbopack Build: Fix edge _document test: #79628
- Turbopack Build: Fix conflicting page error: #79634
- Turbopack Build: Fix runtime value test: #79654
- Docs IA 2.0: Delete Error Handling page: #79495
- Turbopack Build: Skip edge stacktrace test: #79661
- Fix name tracking for closures in server actions transform: #79657
- Turbopack Build: Fix middleware rewrite test: #79697
- Update flakey empty-project test: #79734
- Update Rspack production test manifest: #79645
- Update Turbopack development test manifest: #79646
- Update Rspack development test manifest: #79644
- perf(turbopack): Remove indent in intermediate string: #79754
- fix(turbopack): Use comments instead of AST nodes for unreachables: #79703
- Docs: Fix headings: #79777
- Turbopack Build: Fix metadata test: #79776
- chore(turbopack): Update
swc_coretov26.2.2: #79756 - re-enable vary header deploy test: #79753
- refactor(turbopack): Preserve indents in dev mode codegen: #79786
- Docs:
force-staticw/ revalidate, revalidatePath, and revalidateTag: #79780 - Turbopack: split meta data and AQMF into separate files: #79659
- Update script location used in
pnpm unpack-next: #79626 - chore(ci): Configure automated benchmark for turbopack: #79791
- [turbopack] Reduce the size of module graph datastructures: #79706
- chore(ci): Add large benchmark: #79793
- Update Turbopack development test manifest: #79774
- Update Turbopack production test manifest: #79773
- fix(next-swc): Fix specificity issue of
styled-jsxin lightningcss mode: #79802 - Update Rspack development test manifest: #79772
- chore(turbo-tasks-backend): Fix build with
--features turbo-tasks-backend/lmdb: #79530 - Turbopack: persist and compare errors and panics: #77935
- Turbopack: add test for reexport cycles: #79792
- [release-new] fix: slack notification only if is a publish workflow: #79933
- Update Rspack production test manifest: #79923
- chore(ci): Configure small benchmark for builds: #79796
- [turbopack] Fix URL fragment and query handling in Turbopack: #79993
- chore(turbopack): Cleanup benchmark code: #79943
- chore(ci): Run turbopack benchmark from custom runners: #79979
- fix: update rspack production build output snapshot: #79766
- [turbopack] Create a macro rcstr! for constructing RcStr from string literals.: #79759
- Turbopack: add print_cache_item_size feature flag to print cache size per task: #80043
- Turbopack: remove verbose output: #80044
- docs: Reference to statically imported images: #80048
- Docs: Drop innacurate override information for dynamicParams: #79966
- chore: Use same function references in useReportWebVitals examples: #79963
- refactor(turbopack): Do not use
ResultforRope#read: #80004 - Turbopack Build: Fix next-font test: #80049
- chore(ci): Disable flaky turbopack benchmarks: #80058
- Turbopack Build: Implement locale:false middleware matcher: #80057
- [turbopack] Simplify the definition of AssetIdent: #79805
- Update Rspack production test manifest: #80038
- Update Turbopack production test manifest: #80040
- Update Rspack development test manifest: #80039
- chore(turbopack): Update
rust-sourcemaptov9.2.2: #80066 - chore(turbopack): Remove
Lightningcssprefix for CSS types: #80067 - build(turbopack): Update
swc_coretov26.3.3: #80059 - perf(turbopack): Use owned instance of
Codeforminify(): #79991 - Update Turbopack development test manifest: #80041
- docs: Manual calls to action should we wrapped in startTransition: #80101
- [dev-tools] Re-focus previous item after closing sub menu: #80099
- perf(turbopack/rcstr): Precompute hash for equality bailout: #78943
- perf(turbopack/rcstr): Use precomputed hash: #80074
- Docs: Improve Turbopack webpack loader documentation: #79523
- fix(turbopack): Allow google font fetch errors to propagate when in production: #79999
- chore(turbopack): Fix building local crates with
--all-features: #80117 - fix React 18 test failures: #80119
- chore(turbopack): Remove unused dependencies reported by cargo-shear: #80121
- [turbopack] Eliminate many calls to
intoand from and cell involving RcStr: #80076 - fix(turbo-persistence): Atomically mark old versioned directories for deletion before deleting them: #80082
- Turbopack: Improve errors when opening SST files: #80106
- chore(turbopack): Use label for large benchmark: #80114
- [test] add custom timeout for start server: #80160
- Turbopack: Fix sst filter handling and order for meta files: #80147
- Turbopack Build: Fix metadata dynamic force-dynamic: #80167
- [turbopack] Remove turbo_tasks::value attribute from NativeFunction
- Turbopack: add tool to print DB structure: #80148
- Update Rspack production test manifest: #80136
- small typo fix: #80171
- build(turbopack): Update
swc_coretov26.4.4: #80161 - [turbopack] Remove uses of
Value<ClientContextType>by makingClientContextTypea TaskInput: #80127 - Update Turbopack development test manifest: #80196
- Update Rspack production test manifest: #80192
- Update Rspack development test manifest: #80193
- Update Turbopack production test manifest: #80195
- [turbopack] Remove uses of
Value<ReferenceType>by makingReferenceTypea TaskInput: #80130 - Upgrade rust version to 2025-06-04: #80200
- Fix race condition in
types-and-precompiled: #80162 - Turbopack: ignore module ids config in dev: #80204
- Remove forks to switch back to upstream crates: #80198
- Add a test to show that
'use cache'works ingenerateMetadata: #80172 - [test] Add test for dev rendering indicator: #80205
- docs: add Docker development performance guidance for Mac/Windows: #80002
- [test] fix flaky test of basepath navigation: #80213
- [turbopack] Remove Value::new wrapper for Availabilityinfo parameters: #80132
- [turbopack] Remove Value::new wrapper for ServerContextType parameters: #80133
- Turbopack: fix export collection: #80203
- Docs: Linking and Navigating Page: #80103
- Turbopack Build: docs for unsupported composes handling: #80238
- Turbopack Build: Update manifest for #80238: #80244
- [test] More robust extraction off CSS sources in Flight chunks: #80243
- [turbopack] Replace uses of
Value<Pattern>with justPattern - [test] Unflake back-forward-cache test: #80250
- perf(turbopack): Decode sourcemap partially: #80177
- [turbopack] Replace uses of
Value<ExecutionEnvironment>with justExecutionEnvironment: #80135 - [turbopack] Replace uses of
Value<ContentSourceData>with justContentSourceData: #80140 - Revert "[test] fix flaky test of basepath navigation": #80259
- Turbopack: really fix export collection: #80240
- fix typo: #80282
- [turbopack] Remove uses of
Value<..>instead make the payloads impl Taskinput: #80141 - [turbopack] Remove uses of
Value<..>instead make the payloads impl Taskinput - [turbopack] Remove the final uses of
Value<..>and delete the type: #80144 - [turbopack] Remove the
_for_inputoptions fromturbo_tasks::valueand theTypedForInputtrait.: #80185 - Docs: Add rspack community collab: #80217
- chore(turbopack/ci): Make codspeed stable: #80323
- [test] separate tracing error test from action test suite: #80324
- chore(next-swc-napi): Update tracing-chrome crate to 0.7.2: #80331
- [turbopack] optimize the TurboMalloc threadlocals: #80265
- [test] Only run build_and_deploy once for PRs from upstream: #80329
- chore(turbo-tasks-fetch): Port tests from httpmock to mockito: #80341
- feat(turbopack): Invalidate the persistent cache upon panic: #80225
- perf(turbopack): Optimize
Ropecorrectly: #80335 - fix(turbopack): Restore
sourcesfield in the source map: #80337 - Update Rspack development test manifest: #80349
- Update Rspack production test manifest: #80348
- Update Turbopack development test manifest: #80351
- Update Turbopack production test manifest: #80350
- docs: Incremental cache is not used for cache-control: no-cache requests: #80352
- Docs: Add Data Security Guide: #80249
- Docs IA 2.0: Move examples to route.js API reference: #80360
- Docs IA 2.0: Move examples to middleware.js API reference: #80363
- Docs: Add prefetching guide: #80152
- [test] add rspack flaky test to build manifest: #80366
- Docs: broken links in caching: #80369
- docs: Middleware fetching is not cached: #80378
- Turbopack: include obsolete entries in computation: #80362
- build(turbopack): Update
swc_coretov27.0.1: #80338 - Docs: Clarify how intercepting routes work and update example: #80145
- Require that
turbo_tasks::value_traititems be annotated withturbo-tasks::function: #79178 - Update Turbopack production test manifest: #80400
- Update Rspack production test manifest: #80398
- Update Rspack development test manifest: #80397
- Update Turbopack development test manifest: #80399
- Use new
browserWithResponse()method inempty-fallback-shellstests: #80406 - [test] unflake turbopack dev navigation test case: #80407
- Docs: Getting Started feedback: #80401
- docs: server-only/client-only in Next.js: #80408
- Docs: Polish Getting Started section: #80402
- build(turbopack): Update
swc_coretov27.0.2: #80412 - refactor(turbopack): remove lazy_static dependency: #80226
- [test] Move test selectors as close to the actual value as possible (Part 2): #80416
- Turbopack: fix persistent caching bit number typo: #80431
- chore: Remove useActionState from auto wrapping list: #80420
- Update Turbopack development test manifest: #80437
- Update Rspack development test manifest: #80435
- test(turbopack): Configure HMR benchmark: #80219
- refactor(turbopack): Make invalidator flag explicit: #80414
- fix(next-swc): Update
styled-jsxSWC plugin: #80459 - test(turbopack): Remove flaky benchmark: #80465
- Revert "refactor(turbopack): Make invalidator flag explicit": #80466
- fix(turbopack): Improve error message for PURE selector error: #80068
- build(turbopack): Update
swc_coretov27.0.4: #80467 - Rename
empty-fallback-shellstest suite to justfallback-shells: #80461 - Turbopack: don't revisit nodes: #80455
- Update Turbopack development test manifest: #80476
- Update Rspack development test manifest: #80474
- Update Rspack production test manifest: #80473
- Update Turbopack production test manifest: #80475
- Update from-create-react-app.mdx: #80451
- Fix variable assignment in docs example: #80418
- perf(turbopack): Remove needless alloc for AQMF: #80468
- [turbopack] Allow
value_traititems to not be annotated withturbo_tasks::function: #79217 - refactor(turbopack): Make invalidator flag explicit: #80487
- test(turbopack): Make HMR benchmark less flaky: #80488
- perf(turbopack): Introduce static analysis for immutable tasks: #80415
- docs: fix typo: #80549
- Fix small grammar error in searchParams section: #80548
- docs: fix a typo in
static-exports.mdx: #80541 - docs: fix typos: #80503
- docs: fix typo: #80500
- docs: fix typo: #80501
- Docs IA 2.0: Delete routing section, add BFF guide, polish getting started: #80365
- Turbopack Build: Refactor browserslist CSS test to not use .next folder: #80571
- Explain how to use searchParams prop: #80579
- Update Turbopack development test manifest: #80563
- [turbopack] Simplify
Request::parse(Pattern)the recursive portion doesn't need to be async: #80510 - Update Rspack development test manifest: #80560
- Update Rspack production test manifest: #80561
- Update Turbopack production test manifest: #80562
- perf(turbopack): Introduce runtime analysis for immutable tasks: #80422
- perf(turbopack): Do not allocate vectors if we are not going to use it: #80504
- test: fix failures caused by format discrepancies between rspack and other bundlers: #80314
- perf(turbopack): Detect more immutable tasks: #80423
- docs: streaming metadata, dynamic pages and generateMetadata: #80453
- Turbopack: correct export usage in EcmascriptModulePartReference: #80526
- Turbopack: make another callback return a result: #80608
- Remove
turbo_tasks::functionfromAssetContext::layer: #80592 - build(turbopack): Update
swc_coretov27.0.6: #80626 - Update Rspack production test manifest: #80598
- Update Turbopack production test manifest: #80600
- Update Turbopack development test manifest: #80599
- Update Rspack development test manifest: #80597
- Turbopack: resolve
sourceMap.file: #80625 - perf(turbopack): Mark async fns without
awaitas non-async: #80628 - [turbopack] Merge identical match cases: #80630
- perf(turbopack): Load
is_immutableflag dynamically: #80506 - chore(turbo-tasks): Remove unused deprecated methods from manager: #80594
- chore(turbopack): Dedupe rustls dependencies by updating reqwest: #80632
- Add test cases without
generateStaticParamstofallback-shellssuite: #80462 - feat(turbopack): externalType support global: #80542
- Docs: Remove reference to deleted experimental
turbotracefeature: #80572 - Docs: Update code snippets in linking and navigating guide: #80652
- Update Turbopack development test manifest: #80647
- Update Rspack development test manifest: #80644
- Prevent typescript errors in IDE for newly generated tests (part 2): #80664
- Update Turbopack development test manifest: #80679
- Show string values for configured experimental features: #80686
- fix: server actions should fetch from the router canonicalUrl: #80690
- test: improve action test reliability: #80587
- [turbopack] Simplify the implementations of TaskOutput::try_from_raw_vc: #80689
- refactor(turbopack): Refactor
turbo-tasks-fsto take&selfinstead: #80633 - [test] Reduce flakiness of instrumentation-order: #80712
- [test] Add repro for SSR bug when large chunks are deferred in Flight: #80661
- add git merge driver for errors.json: #80722
- Update Rspack development test manifest: #80705
- Update Rspack production test manifest: #80704
- Update Turbopack development test manifest: #80707
- Update Turbopack production test manifest: #80706
- Turbopack: Allow distdir in project directory, outside of the application: #80683
- [turbopack] Reduce indirection in turbo-tasks dispatching: #80695
- [turbopack] Reorganize the fields in LocalTaskType to avoid an allocation: #80738
- fix(turbopack): Do not run
inject_helperspass multiple times: #80755 - fix: fixed merge driver output, does not expect debugging messages to output on stdout: #80736
- Update Turbopack production test manifest: #80785
- Update Turbopack development test manifest: #80786
- Turbopack: Don't convert script to module when using preset-env: #80724
- [segment-explorer] Fix segment alignment: #80797
- chore: Dynamic error does not change dynamicParams: #80796
- fix(turbopack): Fix usage of
HELPERSof SWC: #80791 - Turbopack: use correct mark for swc: #80789
- build(turbopack): Update
swc_coretov29.1.2: #80659 - Update Turbopack production test manifest: #80836
- Turbopack Build: Fix metadata-edge test: #80842
- [test] separate hmr env test: #80802
- Turbopack Build: Fix edge-config-validation test: #80847
- [turbopack] Delete
FunctionId: #80809 - Turbopack Build: Update manifest: #80859
- build(turbopack): Update
swc_coreto29.1.4: #80872 - perf(turbopack): Mark more async fns without await as sync: #80642
- Switch back to upstream lightningcss: #80863
- Turbopack: list
assert/strictas external: #80884 - Update Turbopack production test manifest: #80888
- Update Turbopack development test manifest: #80887
- Fix preview builds for forks: #80833
- [test] Account for React's usage of
evalin dev: #80857 - Turbopack: fix
thiswhen accessing named properties of namespace: #80896 - docs: add explanation of --disable-git command: #80882
- refactor(turbo-tasks-backend): Use ringmap crate instead of custom DequeSet type for aggregation updates: #80867
- fix(test/integration): Check the right thing when resetting the server-side-dev-errors tests: #80873
- Update Rspack production test manifest: #80886
- Update Rspack development test manifest: #80885
- fix(turbo-tasks): Temporarily disable immutable task optimizations: #80914
- Turbopack Build: Implement outputFileTracingIgnores and outputFileTracingIncludes: #80890
- test(turbopack): Use
mimallocfor codspeed to make it realistic: #80877 - [turbopack] Add execution tests to demonstrate a bug: #80918
- build(turbopack): Update
swc_coretov29.2.0: #80919 - test(codspeed): Make codspeed concurrent on
canarybranch: #80928 - Turbopack: respect PURE comments for minification: #80893
- Update Turbopack production test manifest: #80932
- Update Turbopack development test manifest: #80933
- Turbopack: slightly more correct
ModuleIdtype: #80605 - docs: Use phosphor icons import perf optimization: #80811
- docs: Add a link to what opts into dynamic rendering: #80910
- Docs/fetching data deduping: #80806
- Turbopack: Improve unreachable code error message: #80934
- chore: add self to labelers: #80924
- cleanup(turbopack): Added documentation comments and small optimizations to CSS import validations: #80901
- Reenable debug assertions for dependencies in dev: #80958
- docs: link api reference pages/app router divergence: #80955
- Docs/feedback june batch: #80651
- Update backend-for-frontend.mdx: #80942
- fix(turbopack): Fix a panic when the generated hash is too short when radix formatting a string.: #80966
- [tests]: add failing deploy test to manifest: #80973
- [tubopack] Compile time replace top level
thisexpressions to fix a subtle esm bug and simplify the client side runtime: #80925 - chore(turbopack): Add
swc_ecma_minifierto turbopack trace target: #80977 - chore(turbopack): Add instrumentation to
Code::generate_source_map: #80978 - perf(turbopack): Remove needless allocation: #80980
- perf(turbopack): Apply small-vector optimization for
TaskIds: #80830 - Turbopack: improve unit tests: #80940
- [Segment Cache] Enable deploy tests: #80947
- Turbopack: Add PURE comments for FreeVarReference::EcmaScriptModule: #80902
- Turbopack: fix codegen of directives : #80895
- Use snapshots to verify error stack traces for dynamic validation errors: #80946
- Turbopack: fix sourcemaps of scopehoisted comments: #80987
- Use snapshots to verify dynamic validation errors in dev mode: #80992
- Don't start next server unnecessarily to assert build output: #80994
- [tests]: fix failing searchparams test: #81013
- feat(turbopack): externalType support script: #80768
- Ignore
JSON.parse <anonymous> (0:0)stack frames in test snapshots: #81044 - Stop installing test apps that are skipped anyways: #81043
- chore(turbopack): Fix typo: #80983
- refactor(turbopack): Make
create_visitorrustfmt-able: #81053 - Turbopack: move tests to backend: #80995
- Turbopack: @next/mdx extension option is supported: #81058
- docs(fetch): update wording on conflicting cache and revalidate options: #80591
- perf(turbopack): Drop
tokio::fsusages: #80674 - perf(turbopack/rcstr): Add serialization-time optimization: #78645
- refactor(turbopack): Use
FileSystemPathinstead ofVc<T>: #80634 - [test] Add case for import conditions in Pages Router API routes: #81036
- chore:
.tsext is most commonly used for middleware and routes: #81059 - Turbopack: correctly apply generate_source_map with scope hoisting: #81060
- Turbopack: inline
typeof windowin node_modules for server: #80945 - [turbopack[ Fix a bug in top level
thisanalysis: #81076 - Turbopack: cleanup NextConfig derives: #81071
- Turbopack: fix exposed modules in scope hoisting: #81073
- [turbopack] Make internal functions private and use rcstr! macro: #81041
- build(turbopack): Update
swc_coretov29.4.0: #81092 - Turbopack: Improve compaction in Persistent Caching: #80860
- Turbopack: guard against more eventual consistency: #81080
- Turbopack: instrument scope hoisting with tracing spans: #81078
- [node-webstreams] Remove unused PagesApi matching condition when setting react-server: #81037
- docs: fix grammatical error in upgrading to v15 guide: #81038
- perf(turbopack): Disable
concurrentof the SWC minifier.: #80981 - Revert "perf(turbopack/rcstr): Add serialization-time optimization (#78645)": #81112
- Docs: paper cuts July 1st : #81109
- Turbopack: scope hoist tree shaking modules as well: #80527
- Fix flakey devtools test: #81127
- [turbopack] Defend against json cyles in our execution tests: #81079
- [turbopack] Implement
Issue::sourceon more Issue subtypes: #80874 - Fix flakey devtools test: #81127
- [turbopack] Defend against json cyles in our execution tests: #81079
- [turbopack] Implement
Issue::sourceon more Issue subtypes: #80874 - Update workflows for nextjs-bot: #81134
- Update nextjs-bot config: #81138
- [turbopack] Remove some unnecessary awaits now that FileSystemPath is synchronously available.: #81090
- Run front-sync after deployment tests finish : #81023
- Docs: moved table for Unsupported Metadata to the correct location: #80979
- fix(next-swc): Apply SWC minifier bugfixes: #81098
- Update Rspack development test manifest: #81103
- Update Rspack production test manifest: #81102
- Update Turbopack production test manifest: #81105
- Update Turbopack development test manifest: #81104
- Add more test cases to the
dynamicIOsync IO access test suite: #81045 - chore(turbo-tasks-backend): Remove unused support for nested database operations: #80816
- Turbopack: simplify
ReducedGraphsandfind_server_entries: #81118 - [turbopack] Remove an unnecessary clone: #81153
- [turbopack] Move static type ID variables into getters: #81150
- refactor(turbo-tasks-backend): Remove
ExecuteContextImpl::lower_read_transaction: #80822 - refactor(turbopack): Implement
BackingStorageforEither, replaceNextTurboTaskswith a type alias: #80823 - Remove unneccesary step that's making workflow fail: #81164
- Update caching.mdx: #81129
- build(turbopack): Update
swc_coretov30.0.1: #81179 - Turbopack: rename simple tree shaking: #81181
- Disable Turbopack manifest: #81170
- perf(turbopack): let some Clone be conditional in insert_alias_option: #81175
- [turbopack] Move global names onto the NativeFunction object: #81143
- Turbopack: Rewrite IntervalMap using a BTreeMap: #81095
- Bump lightningcss to not include browserslist-rs twice: #81184
- Turbopack: lazily create syntax contexts for scope hoisting: #81193
- feat(turbopack): turbo-esregex support captures method: #81119
- cleanup(turbopack) Show users an error message when Webpack loaders have a glob in only the extension: #81084
- Only retry deploy tests for canary: #81207
- Skip alert as well for non-canary e2e deploy: #81210
- Fix if condition in retry workflow: #81211
- Format Turbopack NFT tests: #81199
- Turbopack: add
EcmascriptExports::Unknown: #81214 - Sync NFT test suite from upstream: #81189
- docs: Getting started pages and search params: #80616
- Fix future Rust warnings: #81217
- Turbopack: fix source map panic: #81212
- chore(turbopack): Remove unused dependencies reported by cargo-shear: #81221
- Docs/after function mdx fix: #81174
- Docs: include effect in docs for default optimized libraries: #81203
- Update caching.mdx: #81185
- perf(next-napi): optimize output assets collection using flat_map: #81222
- [turbopack] Add FileSystemPath.has_extension and optimize module graph operations: #81205
- Turbopack: move write_version feature to env var: #81250
- document turbopack trace viewer (#78184)
- Turbopack: codegen modules without module graph: #81238
- Turbopack: delete module_context.remove_unused_exports: #81239
- Ensure default run name is correct for deploy tests: #81255
- Turbopack: prevent ParseResult recomputation: #81244
- [turbopack] Remove a vec clone from
primary_chunkable_referenced_modules: #81206 - Update Rspack development test manifest: #81219
- [turbopack] Remove unused no_move_vec code: #81141
- Add regression test for conflicting search and route params: #81249
- build: Update
swc_coretov30.1.1: #81276 - [test] Keep Playwright stackframes out of tests: #81240
- perf(turbopack): Make
File=> json faster: #81279 - Turbopack: sourceMappingURL for Node.js runtime chunk: #81300
- Turbopack: fix instrumentation-edge layer name: #81304
- Current behavior for module evaluation sourcemapping: #73737
- fix typo: #81336
- fix(docs): correct section count from 4 to 3 in intro: #81323
- Remove incorrect PostCSS config type: #81338
- Remove duplicate CSS properties: #81333
- [test] Dedicate suite for React's Server Request performance track: #81312
- reverts test copy change in dynamicIO tests: #81358
- fix(CI): Update llvm when building native musl targets: #81392
- fix(turbopack): external script should under async module: #81362
- Update Rspack production test manifest: #81364
- Turbopack: don't emit
blurDataURL: null: #81387 - Turbopack: fix incorrect graph state bug: #81202
- [test] Avoid flaky assertions due to dynamic metadata: #81373
- fix(turbopack) Adjust tree loader to respect parent module overrides: #81139
- Turbopack: remove unused code: #81411
- Turbopack: improve var names, add some unit tests: #81412
- Fix auth preflight check when triggering Front sync: #81166
- [turbopack] Install late loaded script and link tags at the end of the
headinstead of the end of thebody: #81425 - refactor(turbopack/napi): Add a NextTurbopackContext type, rename VcArc to DetachedVc: #80881
- [test] Skip flaky cdn-cache-busting test: #81429
- Unflake
segment cache (CDN cache busting)redirect test: #80967 - Check if target workflow is enabled before triggering front sync: #81432
- Revert "[test] Skip flaky cdn-cache-busting test": #81433
- refactor(turbopack): Rewrite
EsRegex::capturesto return an iterator, useNonefor unmatched capture groups: #81200 - update: add nebrelbug to labeler.json: #81437
- Update Rspack development test manifest: #81398
- Turbopack: fix hanging problem due to stale tasks: #81413
- Turbopack: filter NftJsonAsset entries earlier: #81446
- Allow server functions to be used as client component props in
'use cache': #81431 - Turbopack: fix duplicate externals modules: #81306
- Turbopack: fix unused export removal with mixed reexport and locals: #81422
- Turbopack: handle all side effects and improve pattern: #81455
- Fail task if one of the parallel ones fails: #81464
- Consolidate dynamic IO errors test suites into a single fixture: #81451
- Update image.mdx: #81454
- Turbopack: reduce temp allocation during compute_blocks: #81459
- fix(CI): On musl/alpine builds, pin llvm to llvm20, add llvm bin directory to path: #81519
- Turbopack: refactor ReadRef deref + clone to the intended pattern: #81537
- Turbopack: remove
clone_valueagain: #81539 - docs: root layout + opengraph-image + cna-eslit vs next lint bootstrap: #81542
- Turbopack: add module cost benchmark: #81530
- Turbopack: fix
@opentelemetry/apiresolve fallback: #81541 - [test] Use same pnpm in temporary repo directory: #81540
- Turbopack: only emit
*.single.csschunks in dev: #81490 - Update rust-cache action to v1.0.9: #81555
- docs: update Page example to use Promise-based params in 05-server-and-client-components.mdx: #81557
- Temporarily disable failing
fallback-shellsdeploy test: #81593 - Update help link for inlined use server in client components: #81495
- Turbopack: fix hanging problem with reexport cycles: #81620
- [test] improve segment explorer tests snapshot: #81616
- 15.4 Docs: Minor feature updates: #81618
- docs: onInvalidate router.prefetch: #81609
- Turbopack: Fix turbopack-swc-ast-explorer with multi-line inputs: #81635
- Turbopack: Clean up some of the logic in visit_assign_expr: #81636
- [turbopack] Rename
traverse_edges_from_entries_topologicaltotraverse_edges_from_entries_dfs: #81481
Credits
Huge thanks to @sokra, @huozhi, @Marukome0743, @mischnic, @wbinnssmith, @eps1lon, @razzeee, @delbaoliveira, @kdy1, @wyattjoh, @acdlite, @ztanner, @bgw, @jantimon, @lubieowoce, @Fonger, @ospira, @gnoff, @styfle, @Cy-Tek, @timneutkens, @raunofreiberg, @devchaudhary24k, @Neschadin, @OreQr, @drewlong314, @ijjk, @praizjosh, @unstubbable, @lukesandberg, @ScriptedAlchemy, @sqidermad, @Juneezee, @devjiwonchoi, @Kamitenshi, @feedthejim, @leerob, @mauerbac, @miki-tebe, @gaearon, @mrbadri, @luwes, @lucacasonato, @M4xymm, @jirihofman, @vicb, @jackwilson323, @SyMind, @kevva, @xyf7, @gaojude, @dario-piotrowicz, @mastoj, @nicole0707, @lourd, @Karibash, @chipit24, @icyJoseph, @xusd320, @fireairforce, @GenhaoLi, @igas, @Macw07, @amannn, @bcdipesh, @r34son, @ivasilov, @lpalmes, @imskyleen, @teamleaderleo, @vitaliemiron, @agadzik, @chdeskur, @nakanoh, @luiscobot, @GameRoMan, @dferber90, @maurobonfietti, @navandstokes, @sajadtorkamani, @bobziroll, @lumirlumir, @KkOoSsTtAa, @msabramo, @sommeeeer, @schoenwaldnils, @remcohaszing, @HerringtonDarkholme, @nebrelbug, @RobPruzan, @lmammino, @MohammedYehia, @extoci, @padmaia, @aacosta11, @vercel-release-bot, @maral, @ethanniser, @MichalMoravik, @rajrawat37, @kidonng, @dnhn, @kristian240, @rachnac-emeritus, @rortan134, and @nick20name17 for helping!
Core Changes
- Hide
stackframes if sandwiched between two ignore-listed frames: #81067 - Dim console logs from prospective prerender in dev: #81515
- Augment React types internally instead of overwriting them: #81561
- [sourcemaps] Don't check for vendor chunks when Node.js 18 is used: #81619
- [Segment Cache] Fix isHeadPartial logic: #81566
- [segment explorer] fix route url is missing cases: #81622
- [segment explorer] fix boundary trigger state: #81623
- fix(next/image): bump sharp to 0.34.3: #81556
Misc Changes
- Update help link for inlined use server in client components: #81495
- Turbopack: fix hanging problem with reexport cycles: #81620
- [test] improve segment explorer tests snapshot: #81616
- 15.4 Docs: Minor feature updates: #81618
- docs: onInvalidate router.prefetch: #81609
- Turbopack: Fix turbopack-swc-ast-explorer with multi-line inputs: #81635
- Turbopack: Clean up some of the logic in visit_assign_expr: #81636
- [turbopack] Rename
traverse_edges_from_entries_topologicaltotraverse_edges_from_entries_dfs: #81481
Credits
Huge thanks to @icyJoseph, @eps1lon, @sokra, @huozhi, @delbaoliveira, @gaojude, @bgw, @styfle, and @lukesandberg for helping!
Misc Changes
- Temporarily disable failing
fallback-shellsdeploy test: #81593
Credits
Huge thanks to @unstubbable for helping!
Core Changes
- rename
handleSmoothScrollutil: #81546 - add flag to opt into smooth scroll detection & add warning: #81563
- fix: revert focus trap dependency change: #81571
Credits
Huge thanks to @ztanner and @RobPruzan for helping!
Core Changes
- Pass
filterStackFrameeverywhere: #81516 - Upgrade React from
60b5271a-20250709to96c61b7f-20250709: #81505 - [segment explorer] redesign file pills and boundary trigger: #81302
- Update eslint and restore
.eslintrc.cli.jsonbeing used for CLI/CI-based linting: #81553 - [sourcemaps] Properly devirtualize
rsc:URLs: #81554 - Upgrade React from
96c61b7f-20250709to97cdd5d3-20250710: #81551 - fix: update useEffect closure when menu is truly mounted: #81531
Misc Changes
- Turbopack: refactor ReadRef deref + clone to the intended pattern: #81537
- Turbopack: remove
clone_valueagain: #81539 - docs: root layout + opengraph-image + cna-eslit vs next lint bootstrap: #81542
- Turbopack: add module cost benchmark: #81530
- Turbopack: fix
@opentelemetry/apiresolve fallback: #81541 - [test] Use same pnpm in temporary repo directory: #81540
- Turbopack: only emit
*.single.csschunks in dev: #81490 - Update rust-cache action to v1.0.9: #81555
- docs: update Page example to use Promise-based params in 05-server-and-client-components.mdx: #81557
Credits
Huge thanks to @eps1lon, @mischnic, @icyJoseph, @sokra, @huozhi, @ijjk, @unstubbable, @nick20name17, and @RobPruzan for helping!
Misc Changes
- fix(CI): On musl/alpine builds, pin llvm to llvm20, add llvm bin directory to path: #81519
Credits
Huge thanks to @bgw for helping!
Core Changes
- Add @sparticuz/chromium-min to default server externals: #81309
- [devtool] patch base-ui and migrate segment explorer inline styles: #81474
Misc Changes
- Turbopack: reduce temp allocation during compute_blocks: #81459
Credits
Huge thanks to @sokra, @rortan134, and @huozhi for helping!
Core Changes
- Support
Uint8Arraybodies when generating cache keys for POST requests: #81465 - [devtool] dynamically import segment explorer when enabled: #81473
Misc Changes
- Fail task if one of the parallel ones fails: #81464
- Consolidate dynamic IO errors test suites into a single fixture: #81451
- Update image.mdx: #81454
Credits
Huge thanks to @eps1lon, @unstubbable, @rachnac-emeritus, and @huozhi for helping!
Core Changes
- Upgrade React from
a7a11657-20250708to60b5271a-20250709: #81463
Misc Changes
- Turbopack: fix duplicate externals modules: #81306
- Turbopack: fix unused export removal with mixed reexport and locals: #81422
- Turbopack: handle all side effects and improve pattern: #81455
Credits
Huge thanks to @mischnic and @sokra for helping!
Core Changes
- feat: forward browser errors/logs to terminal: #80909
- fix: referencing unavailable __dirname: #81436
- Upgrade vercel og to 0.7.2: #81447
- [build-sourcemaps] Default
experimental.enablePrerenderSourceMapstoexperimental.dynamicIO: #81449
Misc Changes
- Revert "[test] Skip flaky cdn-cache-busting test": #81433
- refactor(turbopack): Rewrite
EsRegex::capturesto return an iterator, useNonefor unmatched capture groups: #81200 - update: add nebrelbug to labeler.json: #81437
- Update Rspack development test manifest: #81398
- Turbopack: fix hanging problem due to stale tasks: #81413
- Turbopack: filter NftJsonAsset entries earlier: #81446
- Allow server functions to be used as client component props in
'use cache': #81431
Credits
Huge thanks to @RobPruzan, @unstubbable, @bgw, @nebrelbug, @vercel-release-bot, @sokra, @huozhi, @mischnic, and @eps1lon for helping!
Core Changes
- [segment explorer] capture defined boundaries: #81232
- [segment explorer] trigger the actual same level boundary: #81268
Misc Changes
- [test] Skip flaky cdn-cache-busting test: #81429
- Unflake
segment cache (CDN cache busting)redirect test: #80967 - Check if target workflow is enabled before triggering front sync: #81432
Credits
Huge thanks to @eps1lon, @huozhi, @unstubbable, and @padmaia for helping!
Core Changes
- [build] remove devtool from client chunks in prod: #81376
- chore: align css loader in storybook: #81403
- feat: make typed routes output deterministic: #80432
- [dev-tools] Custom keyboard shortcut to toggle visibility: #81064
- chore: update rspack to 1.4.5: #81216
- [use-cache] track cache read earlier when encrypting bound args: #81427
- Upgrade React from
5d87cd22-20250704toa7a11657-20250708: #81428
Example Changes
- Add Biome example: #81334
Misc Changes
- fix(CI): Update llvm when building native musl targets: #81392
- fix(turbopack): external script should under async module: #81362
- Update Rspack production test manifest: #81364
- Turbopack: don't emit
blurDataURL: null: #81387 - Turbopack: fix incorrect graph state bug: #81202
- [test] Avoid flaky assertions due to dynamic metadata: #81373
- fix(turbopack) Adjust tree loader to respect parent module overrides: #81139
- Turbopack: remove unused code: #81411
- Turbopack: improve var names, add some unit tests: #81412
- Fix auth preflight check when triggering Front sync: #81166
- [turbopack] Install late loaded script and link tags at the end of the
headinstead of the end of thebody: #81425 - refactor(turbopack/napi): Add a NextTurbopackContext type, rename VcArc to DetachedVc: #80881
Credits
Huge thanks to @bgw, @fireairforce, @dnhn, @vercel-release-bot, @mischnic, @sokra, @huozhi, @eps1lon, @RobPruzan, @Cy-Tek, @kristian240, @lukesandberg, @raunofreiberg, @SyMind, and @gnoff for helping!
Core Changes
- [refactor] Move sourcemapping logic to dedicated file: #81310
- [sourcemaps] Improve ignore-listing performance: #81311
- [devtool] handle click outscope child element: #81296
Misc Changes
- Remove duplicate CSS properties: #81333
- [test] Dedicate suite for React's Server Request performance track: #81312
- reverts test copy change in dynamicIO tests: #81358
Credits
Huge thanks to @dnhn, @eps1lon, @gnoff, and @huozhi for helping!
Misc Changes
- fix typo: #81336
- fix(docs): correct section count from 4 to 3 in intro: #81323
- Remove incorrect PostCSS config type: #81338
Credits
Huge thanks to @sajadtorkamani, @rajrawat37, and @kidonng for helping!
Core Changes
- [sourcemaps] ignore-list Webpack runtime: #81229
- Allow
pnpm buildto be run when offline: #81273 - [sourcemaps] Ignore-list sources whose sourcemaps ignore-list everything: #81231
- [dynamicIO] Use owner stacks for dynamic validation errors: #81277
- [dynamicIO] Don't abort prospective render on sync access during SSR: #81258
Misc Changes
- Update Rspack development test manifest: #81219
- [turbopack] Remove unused no_move_vec code: #81141
- Add regression test for conflicting search and route params: #81249
- build: Update
swc_coretov30.1.1: #81276 - [test] Keep Playwright stackframes out of tests: #81240
- perf(turbopack): Make
File=> json faster: #81279 - Turbopack: sourceMappingURL for Node.js runtime chunk: #81300
- Turbopack: fix instrumentation-edge layer name: #81304
- Current behavior for module evaluation sourcemapping: #73737
Credits
Huge thanks to @vercel-release-bot, @lukesandberg, @gaojude, @kdy1, @eps1lon, @mischnic, @unstubbable, and @gnoff for helping!
Core Changes
- [Segment Cache] Support third-party redirects in output: "export" mode: #81247
- [devtool] css imports and share css variables: #81236
- Update matching query and route param handling: #81209
- bugfix: propagate staleTime to seeded prefetch entry: #81263
- Ensure resolvedPathname normalizes trailing slash: #81265
Misc Changes
- Turbopack: codegen modules without module graph: #81238
- Turbopack: delete module_context.remove_unused_exports: #81239
- Ensure default run name is correct for deploy tests: #81255
- Turbopack: prevent ParseResult recomputation: #81244
- [turbopack] Remove a vec clone from
primary_chunkable_referenced_modules: #81206
Credits
Huge thanks to @mischnic, @acdlite, @ijjk, @huozhi, @lukesandberg, and @ztanner for helping!
Misc Changes
- Turbopack: move write_version feature to env var: #81250
Credits
Huge thanks to @mischnic for helping!
Core Changes
- Reuse resolvedPathname from prepare: #81194
- Turbopack: exclude resolve-rewrites if possible: #80939
- [devtool] styling fixes: #81228
- [devtools] Omit line/col numbers for anonymous sources: #81223
- Fix NEXT_CPU_PROF during development: #81248
Misc Changes
- Only retry deploy tests for canary: #81207
- Skip alert as well for non-canary e2e deploy: #81210
- Fix if condition in retry workflow: #81211
- Format Turbopack NFT tests: #81199
- Turbopack: add
EcmascriptExports::Unknown: #81214 - Sync NFT test suite from upstream: #81189
- docs: Getting started pages and search params: #80616
- Fix future Rust warnings: #81217
- Turbopack: fix source map panic: #81212
- chore(turbopack): Remove unused dependencies reported by cargo-shear: #81221
- Docs/after function mdx fix: #81174
- Docs: include effect in docs for default optimized libraries: #81203
- Update caching.mdx: #81185
- perf(next-napi): optimize output assets collection using flat_map: #81222
- [turbopack] Add FileSystemPath.has_extension and optimize module graph operations: #81205
Credits
Huge thanks to @ijjk, @mischnic, @icyJoseph, @ethanniser, @huozhi, @MichalMoravik, @eps1lon, @fireairforce, @lukesandberg, and @timneutkens for helping!
Core Changes
- Turbopack: fix and finish immutable tasks: #80996
- [segment explorer] custom tooltip: #80974
- [segment explorer] refactor boundary trigger with ui primitives: #81147
- Migrate usage of web-server in edge-ssr: #80915
- Upgrade React from
7216c0f0-20250630to73aa744b-20250702: #81192 - [segment explorer] fix route path in top navbar: #81195
Misc Changes
- Update caching.mdx: #81129
- build(turbopack): Update
swc_coretov30.0.1: #81179 - Turbopack: rename simple tree shaking: #81181
- Disable Turbopack manifest: #81170
- perf(turbopack): let some Clone be conditional in insert_alias_option: #81175
- [turbopack] Move global names onto the NativeFunction object: #81143
- Turbopack: Rewrite IntervalMap using a BTreeMap: #81095
- Bump lightningcss to not include browserslist-rs twice: #81184
- Turbopack: lazily create syntax contexts for scope hoisting: #81193
- feat(turbopack): turbo-esregex support captures method: #81119
- cleanup(turbopack) Show users an error message when Webpack loaders have a glob in only the extension: #81084
Credits
Huge thanks to @maral, @kdy1, @mischnic, @sokra, @xusd320, @huozhi, @lukesandberg, @ijjk, @bgw, @vercel-release-bot, @fireairforce, and @Cy-Tek for helping!
Core Changes
- [dynamicIO] Don't abort on sync request data access: #81162
- [dynamicIO] recognize prerender interrupted errors as well known: #81160
- Fix resolvedPathname for middleware rewrite: #81144
- [node-webstreams] Exhaustive React aliases in App Router: #81040
- [node-webstreams] Use React builds for Node.js: #81048
- Upgrade React from
65c4decb-20250630to7216c0f0-20250630: #81133
Misc Changes
- refactor(turbopack): Implement
BackingStorageforEither, replaceNextTurboTaskswith a type alias: #80823 - Remove unneccesary step that's making workflow fail: #81164
Credits
Huge thanks to @bgw, @unstubbable, @gnoff, @padmaia, @ijjk, @eps1lon, and @vercel-release-bot for helping!
Core Changes
- [segment explorer] reset error and not-found boundary: #81115
- [devtool] enable segment explorer when new panel present by default: #81152
Example Changes
- chore: fix typos in rust files: #81113
Misc Changes
- Update nextjs-bot config: #81138
- [turbopack] Remove some unnecessary awaits now that FileSystemPath is synchronously available.: #81090
- Run front-sync after deployment tests finish : #81023
- Docs: moved table for Unsupported Metadata to the correct location: #80979
- fix(next-swc): Apply SWC minifier bugfixes: #81098
- Update Rspack development test manifest: #81103
- Update Rspack production test manifest: #81102
- Update Turbopack production test manifest: #81105
- Update Turbopack development test manifest: #81104
- Add more test cases to the
dynamicIOsync IO access test suite: #81045 - chore(turbo-tasks-backend): Remove unused support for nested database operations: #80816
- Turbopack: simplify
ReducedGraphsandfind_server_entries: #81118 - [turbopack] Remove an unnecessary clone: #81153
- [turbopack] Move static type ID variables into getters: #81150
- refactor(turbo-tasks-backend): Remove
ExecuteContextImpl::lower_read_transaction: #80822
Credits
Huge thanks to @ijjk, @lukesandberg, @padmaia, @aacosta11, @xusd320, @kdy1, @huozhi, @vercel-release-bot, @unstubbable, @bgw, and @mischnic for helping!
Core Changes
- Revert "[devtool] merge segment explorer flag into panel ui flag (#81085)": #81131
Misc Changes
- Fix flakey devtools test: #81127
- [turbopack] Defend against json cyles in our execution tests: #81079
- [turbopack] Implement
Issue::sourceon more Issue subtypes: #80874 - Update workflows for nextjs-bot: #81134
Credits
Huge thanks to @mischnic, @lukesandberg, @ijjk, and @huozhi for helping!
Misc Changes
- Fix flakey devtools test: #81127
- [turbopack] Defend against json cyles in our execution tests: #81079
- [turbopack] Implement
Issue::sourceon more Issue subtypes: #80874
Credits
Huge thanks to @mischnic and @lukesandberg for helping!
Core Changes
- Update font data: #81093
- Upgrade React from
4db4b21c-20250626to65c4decb-20250630: #81077 - [node-webstreams] Remove unused App externals from next-server bundler config: #81039
- Turbopack: apply browserslist config in dev: #81075
- [build] remove the default imports for error boundary: #81000
- Turbopack: also inline env vars with undefined value: #80990
- [devtools]: default to issues tab when error overlay is programmatically toggled: #81091
- [devtool] merge segment explorer flag into panel ui flag: #81085
Misc Changes
- [turbopack] Make internal functions private and use rcstr! macro: #81041
- build(turbopack): Update
swc_coretov29.4.0: #81092 - Turbopack: Improve compaction in Persistent Caching: #80860
- Turbopack: guard against more eventual consistency: #81080
- Turbopack: instrument scope hoisting with tracing spans: #81078
- [node-webstreams] Remove unused PagesApi matching condition when setting react-server: #81037
- docs: fix grammatical error in upgrading to v15 guide: #81038
- perf(turbopack): Disable
concurrentof the SWC minifier.: #80981 - Revert "perf(turbopack/rcstr): Add serialization-time optimization (#78645)": #81112
- Docs: paper cuts July 1st : #81109
- Turbopack: scope hoist tree shaking modules as well: #80527
Credits
Huge thanks to @lukesandberg, @kdy1, @sokra, @mischnic, @eps1lon, @extoci, @huozhi, @icyJoseph, and @ztanner for helping!
Core Changes
- [segment explorer] trigger boundary initial support: #80948
- [devtools]: width/height adjustments: #81072
- [test] fix browser chunk test failure: #81074
- [segment explorer] show current route: #81003
- [devtools]: move RestartServerButton to panel footer: #81082
Misc Changes
- chore(turbopack): Fix typo: #80983
- refactor(turbopack): Make
create_visitorrustfmt-able: #81053 - Turbopack: move tests to backend: #80995
- Turbopack: @next/mdx extension option is supported: #81058
- docs(fetch): update wording on conflicting cache and revalidate options: #80591
- perf(turbopack): Drop
tokio::fsusages: #80674 - perf(turbopack/rcstr): Add serialization-time optimization: #78645
- refactor(turbopack): Use
FileSystemPathinstead ofVc<T>: #80634 - [test] Add case for import conditions in Pages Router API routes: #81036
- chore:
.tsext is most commonly used for middleware and routes: #81059 - Turbopack: correctly apply generate_source_map with scope hoisting: #81060
- Turbopack: inline
typeof windowin node_modules for server: #80945 - [turbopack[ Fix a bug in top level
thisanalysis: #81076 - Turbopack: cleanup NextConfig derives: #81071
- Turbopack: fix exposed modules in scope hoisting: #81073
Credits
Huge thanks to @kdy1, @sokra, @timneutkens, @MohammedYehia, @eps1lon, @icyJoseph, @mischnic, @huozhi, @ztanner, and @lukesandberg for helping!
Misc Changes
- Ignore
JSON.parse <anonymous> (0:0)stack frames in test snapshots: #81044 - Stop installing test apps that are skipped anyways: #81043
Credits
Huge thanks to @unstubbable for helping!
Core Changes
- [segment explorer] builtin slots style: #80972
Misc Changes
- Use snapshots to verify dynamic validation errors in dev mode: #80992
- Don't start next server unnecessarily to assert build output: #80994
- [tests]: fix failing searchparams test: #81013
- feat(turbopack): externalType support script: #80768
Credits
Huge thanks to @huozhi, @unstubbable, @ztanner, and @fireairforce for helping!
Core Changes
- fix: webpack config context when using rspack: #80921
- Turbopack: pass current Node.js version from JS side instead of invoking node: #80949
- Turbopack/Webpack Build: Remove dead code: #80938
- Upgrade React from
fa3feba6-20250623tocee7939b-20250625: #80904 - [segment explorer] hover state for open-in-editor color: #80950
- Upgrade React from
cee7939b-20250625to4db4b21c-20250626: #80959 - [devtools] polish icon and label color: #80976
- Use proper reexports in entry-base.ts: #80988
- [segment-explorer] display the builtin conventions: #80961
Misc Changes
- [tests]: add failing deploy test to manifest: #80973
- [tubopack] Compile time replace top level
thisexpressions to fix a subtle esm bug and simplify the client side runtime: #80925 - chore(turbopack): Add
swc_ecma_minifierto turbopack trace target: #80977 - chore(turbopack): Add instrumentation to
Code::generate_source_map: #80978 - perf(turbopack): Remove needless allocation: #80980
- perf(turbopack): Apply small-vector optimization for
TaskIds: #80830 - Turbopack: improve unit tests: #80940
- [Segment Cache] Enable deploy tests: #80947
- Turbopack: Add PURE comments for FreeVarReference::EcmaScriptModule: #80902
- Turbopack: fix codegen of directives : #80895
- Use snapshots to verify error stack traces for dynamic validation errors: #80946
- Turbopack: fix sourcemaps of scopehoisted comments: #80987
Credits
Huge thanks to @ztanner, @lukesandberg, @kdy1, @SyMind, @mischnic, @timneutkens, @unstubbable, and @huozhi for helping!
Core Changes
- Roll out validateRSCRequestHeaders: #80954
- [refactor] group the built-in conventions: #80957
Misc Changes
- chore: add self to labelers: #80924
- cleanup(turbopack): Added documentation comments and small optimizations to CSS import validations: #80901
- Reenable debug assertions for dependencies in dev: #80958
- docs: link api reference pages/app router divergence: #80955
- Docs/feedback june batch: #80651
- Update backend-for-frontend.mdx: #80942
- fix(turbopack): Fix a panic when the generated hash is too short when radix formatting a string.: #80966
Credits
Huge thanks to @RobPruzan, @Cy-Tek, @mischnic, @icyJoseph, @lmammino, @gaojude, and @huozhi for helping!
Core Changes
- [segment explorer] open in editor: #80856
Misc Changes
- docs: Use phosphor icons import perf optimization: #80811
- docs: Add a link to what opts into dynamic rendering: #80910
- Docs/fetching data deduping: #80806
- Turbopack: Improve unreachable code error message: #80934
Credits
Huge thanks to @icyJoseph, @huozhi, and @timneutkens for helping!
Core Changes
- [devtools] fix style of issue count label: #80854
- [devtools] Remove unused footer buttons: #80864
- [devtools] Hide issue count on empty state: #80898
- [turbopack] Add user friendly names to trace labels: #80388
- Upgrade React from
197d6a04-20250424tofa3feba6-20250623: #80804
Misc Changes
- Turbopack Build: Implement outputFileTracingIgnores and outputFileTracingIncludes: #80890
- test(turbopack): Use
mimallocfor codspeed to make it realistic: #80877 - [turbopack] Add execution tests to demonstrate a bug: #80918
- build(turbopack): Update
swc_coretov29.2.0: #80919 - test(codspeed): Make codspeed concurrent on
canarybranch: #80928 - Turbopack: respect PURE comments for minification: #80893
- Update Turbopack production test manifest: #80932
- Update Turbopack development test manifest: #80933
- Turbopack: slightly more correct
ModuleIdtype: #80605
Credits
Huge thanks to @timneutkens, @kdy1, @lukesandberg, @devjiwonchoi, @eps1lon, and @mischnic for helping!
Core Changes
- Turbopack: fix chunking context caching: #80862
- [devtools] replace the old error overlay with the issues tab view: #80814
- [devtools] fullscreen mode should not be draggable: #80845
- Turbopack: add task execution reason to tracing: #80861
- [devtools] Allow opting out of environment feature flags: #80897
- [devtools] fix: build error should share the issue content layout: #80850
- [devtools] increase max-width/height limit: #80846
- [devtools] memorize tab in session storage: #80900
- Check cache busting search params on all RSC requests: #80669
- Perf: Use canonicalUrl from prefetch for dynamic RSC requests: #80817
- Fix PPR no fallback case: #80908
- Add comment explaining staticPathKey vs ssgCacheKey: #80911
- add turbo tasks fuzzing: #79372
Misc Changes
- Turbopack: fix
thiswhen accessing named properties of namespace: #80896 - docs: add explanation of --disable-git command: #80882
- refactor(turbo-tasks-backend): Use ringmap crate instead of custom DequeSet type for aggregation updates: #80867
- fix(test/integration): Check the right thing when resetting the server-side-dev-errors tests: #80873
- Update Rspack production test manifest: #80886
- Update Rspack development test manifest: #80885
- fix(turbo-tasks): Temporarily disable immutable task optimizations: #80914
Credits
Huge thanks to @sokra, @devjiwonchoi, @mischnic, @eps1lon, @huozhi, @gaojude, @nebrelbug, @bgw, and @ijjk for helping!
Core Changes
- Turbopack: CSS Global Import Validation for Pages: #80585
- [devtools] overlay backdrop visibility hidden when not fullscreen: #80844
- Allow intercepting dynamic routes to be partially prerendered: #80851
Misc Changes
- build(turbopack): Update
swc_coreto29.1.4: #80872 - perf(turbopack): Mark more async fns without await as sync: #80642
- Switch back to upstream lightningcss: #80863
- Turbopack: list
assert/strictas external: #80884 - Update Turbopack production test manifest: #80888
- Update Turbopack development test manifest: #80887
- Fix preview builds for forks: #80833
- [test] Account for React's usage of
evalin dev: #80857
Credits
Huge thanks to @kdy1, @HerringtonDarkholme, @mischnic, @Cy-Tek, @eps1lon, @devjiwonchoi, and @unstubbable for helping!
Core Changes
- fix to use https urls in meta data images when using experimental-https: #80276
- Add a fallback for the mdx-components file: #59693
- Revert "Respond with
404for unknown server actions (#80613)": #80662 - [devtools] segment explorer tab: #80805
- [devtools] fix: error overlay closes when footer is clicked: #80513
- fix: respond with 404 for unrecognized action ids: #77012
- [turbopack] Enable debug assertions in CI: #80739
- Turbopack Build: Implement browserslist for CSS / JS: #80603
- Fix fallback: true cache-control: #80865
- Turbopack: scope hoisting: #79459
- [devtools] refactor segment explorer styles: #80848
Misc Changes
- build(turbopack): Update
swc_coretov29.1.2: #80659 - Update Turbopack production test manifest: #80836
- Turbopack Build: Fix metadata-edge test: #80842
- [test] separate hmr env test: #80802
- Turbopack Build: Fix edge-config-validation test: #80847
- [turbopack] Delete
FunctionId: #80809 - Turbopack Build: Update manifest: #80859
Credits
Huge thanks to @schoenwaldnils, @remcohaszing, @kdy1, @unstubbable, @huozhi, @devjiwonchoi, @lubieowoce, @timneutkens, @lukesandberg, @ijjk, and @mischnic for helping!
Core Changes
- [segment explorer] handle edge and pages router: #80668
- [segment explorer] handle builtin not-found: #80607
- [devtools] fix: adjust width for responsiveness: #80777
- [build] remove obsolete module field alias for barrel optimized pkg: #80769
- [segment explorer] handle custom global-error segment: #80685
- [devtools] storybook: port utils to be reusable: #80726
- [segment explorer] display navigation error boundaries: #80691
- [devtools] set up panel ui issues tab infra: #80727
- [devtools] add correct scrollbar to dialog body: #80776
- [devtools] panel ui issues tab sidebar: #80728
- [devtools] panel ui issues tab content: #80729
- [devtools] add fullscreen mode: #80788
- [devtools] proper draggable for header and footer only: #80792
- [segment explorer] handle display loading: #80698
- [segment explorer] handle custom error boundary: #80714
- [segment explorer] display default page in segment explorer: #80716
- Add htmlrewriter to default server externals: #80819
Misc Changes
- [segment-explorer] Fix segment alignment: #80797
- chore: Dynamic error does not change dynamicParams: #80796
- fix(turbopack): Fix usage of
HELPERSof SWC: #80791 - Turbopack: use correct mark for swc: #80789
Credits
Huge thanks to @eps1lon, @huozhi, @icyJoseph, @kdy1, @devjiwonchoi, @mischnic, and @ijjk for helping!
Core Changes
- [turbopack] Update Napi CLI to the latest 2x release: #80697
- Revert "[ppr] RDC for RSCs": #80794
Misc Changes
- Update Turbopack production test manifest: #80785
- Update Turbopack development test manifest: #80786
- Turbopack: Don't convert script to module when using preset-env: #80724
Credits
Huge thanks to @lukesandberg, @timneutkens, and @eps1lon for helping!
Core Changes
- [devtools] Fix Turbopack indicator: #80753
- Downgrade React from
79d9aed7-20250620to197d6a04-20250424: #80762 - devtools: couple restart dev server UI with persistent cache flag: #80751
- [devtools] panel ui responsiveness: #80732
Misc Changes
- fix(turbopack): Do not run
inject_helperspass multiple times: #80755 - fix: fixed merge driver output, does not expect debugging messages to output on stdout: #80736
Credits
Huge thanks to @eps1lon, @kdy1, @wyattjoh, @ztanner, and @devjiwonchoi for helping!
Core Changes
- perf(next-swc): Remove needless JSON conversion: #80671
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- chore(swc-wasm): Fix and clean up various issues with swc-wasm tests: #80471
- Add onBuildComplete adapter hook: #80446
- [ppr] RDC for RSCs: #79638
- docs: add csp and content disposition type: #80735
- omit searchParam data from FlightRouterState before transport: #80734
- feat(turbopack): Print a warning about performance when starting with an invalidated cache: #80631
Misc Changes
- [turbopack] Reduce indirection in turbo-tasks dispatching: #80695
- [turbopack] Reorganize the fields in LocalTaskType to avoid an allocation: #80738
Credits
Huge thanks to @bgw, @lukesandberg, @ijjk, @wyattjoh, @sommeeeer, and @ztanner for helping!
Core Changes
- fix: rspack code analyzer should only handle javascript module: #80711
- [devtools] port call stack: #80550
- [devtools] port runtime error handling to hook: #80567
- Upgrade React from
79d9aed7-20250620to06e89951-20250620: #80730
Misc Changes
- add git merge driver for errors.json: #80722
- Update Rspack development test manifest: #80705
- Update Rspack production test manifest: #80704
- Update Turbopack development test manifest: #80707
- Update Turbopack production test manifest: #80706
- Turbopack: Allow distdir in project directory, outside of the application: #80683
Credits
Huge thanks to @lubieowoce, @SyMind, @devjiwonchoi, and @timneutkens for helping!
Core Changes
- overwrite redirect SSG meta.status to 200 for RSC requests: #80391
- [devtools] panel ui header: #80509
- [development-server] Display pid of already-running process that is using port: #80069
- [devtools] panel ui footer: #80515
- Fix Next DevTools Storybook in recent Node.js versions: #80713
- [devtools] set up panel ui tab infra: #80535
- [devtools] port devtools scale to dispatcher: #80537
- [devtools] panel ui settings tab: #80538
- Upgrade React from
197d6a04-20250424to79d9aed7-20250620: #79477
Misc Changes
- refactor(turbopack): Refactor
turbo-tasks-fsto take&selfinstead: #80633 - [test] Reduce flakiness of instrumentation-order: #80712
- [test] Add repro for SSR bug when large chunks are deferred in Flight: #80661
Credits
Huge thanks to @gaojude, @devjiwonchoi, @msabramo, @kdy1, and @eps1lon for helping!
Core Changes
- [devtools] port overlay backdrop out of overlay: #80460
- Revert "(E2E) Log which config file is used for
next start": #80666 - fix(turbopack): Fix static immutability analysis: #80646
- [devtools] add panel ui placeholder under feature flag: #80354
- [devtools] add dialog behavior to panel ui: #80355
- Add
--debug-prerenderoption fornext build: #80667 - [devtools] port devtools-indicator position to dispatcher: #80536
- fix: mark the shared cache controls as external so it's memory is shared: #80588
- [devtools] apply draggable to panel ui: #80517
- Apply normalizers for init URL used for handlers: #80694
Misc Changes
- Update Rspack development test manifest: #80644
- Prevent typescript errors in IDE for newly generated tests (part 2): #80664
- Update Turbopack development test manifest: #80679
- Show string values for configured experimental features: #80686
- fix: server actions should fetch from the router canonicalUrl: #80690
- test: improve action test reliability: #80587
- [turbopack] Simplify the implementations of TaskOutput::try_from_raw_vc: #80689
Credits
Huge thanks to @devjiwonchoi, @gaojude, @kdy1, @unstubbable, @ztanner, @wyattjoh, @ijjk, and @lukesandberg for helping!
Core Changes
- feat: rspack use swc to warn for edge runtime: #80485
- Avoid timeout error when transformed params are passed to
"use cache": #80463 - Respond with
404for unknown server actions: #80613 - [segment explorer] single row layout segment: #80576
- Fix: Rules of Hooks violation in AppRouter: #80623
- fix: Add Chrome-ligthouse to htmlLimitedBots: #80656
- Turn on clientSegmentCache during PPR CI runs: #80581
Misc Changes
- [turbopack] Merge identical match cases: #80630
- perf(turbopack): Load
is_immutableflag dynamically: #80506 - chore(turbo-tasks): Remove unused deprecated methods from manager: #80594
- chore(turbopack): Dedupe rustls dependencies by updating reqwest: #80632
- Add test cases without
generateStaticParamstofallback-shellssuite: #80462 - feat(turbopack): externalType support global: #80542
- Docs: Remove reference to deleted experimental
turbotracefeature: #80572 - Docs: Update code snippets in linking and navigating guide: #80652
- Update Turbopack development test manifest: #80647
Credits
Huge thanks to @lukesandberg, @kdy1, @bgw, @SyMind, @unstubbable, @fireairforce, @KkOoSsTtAa, @huozhi, @acdlite, and @icyJoseph for helping!
Core Changes
- fix: Rspack dev gets stuck after removing a page: #80555
- Ensure custom relative distDir resolves properly: #80569
- fix: mark file system incremental cache as external so it's memory is shared: #80586
- [fix] clone the config module to avoid mutation: #80573
- Improve Incremental Cache Locking Algorithm: #80497
- [devtools] add feature flag for new panel ui: #80251
- [devtools] fork devtools-indicator: #80456
- [devtools] fork next-logo: #80457
- guarantee cache busting param correctness: #80381
- Normalize filepaths when parsing patterns from js values: #80511
Misc Changes
- perf(turbopack): Introduce runtime analysis for immutable tasks: #80422
- perf(turbopack): Do not allocate vectors if we are not going to use it: #80504
- test: fix failures caused by format discrepancies between rspack and other bundlers: #80314
- perf(turbopack): Detect more immutable tasks: #80423
- docs: streaming metadata, dynamic pages and generateMetadata: #80453
- Turbopack: correct export usage in EcmascriptModulePartReference: #80526
- Turbopack: make another callback return a result: #80608
- Remove
turbo_tasks::functionfromAssetContext::layer: #80592 - build(turbopack): Update
swc_coretov27.0.6: #80626 - Update Rspack production test manifest: #80598
- Update Turbopack production test manifest: #80600
- Update Turbopack development test manifest: #80599
- Update Rspack development test manifest: #80597
- Turbopack: resolve
sourceMap.file: #80625 - perf(turbopack): Mark async fns without
awaitas non-async: #80628
Credits
Huge thanks to @kdy1, @ScriptedAlchemy, @SyMind, @icyJoseph, @mischnic, @ijjk, @wyattjoh, @huozhi, @devjiwonchoi, @lukesandberg, and @gaojude for helping!
Misc Changes
- docs: fix typo: #80549
- Fix small grammar error in searchParams section: #80548
- docs: fix a typo in
static-exports.mdx: #80541 - docs: fix typos: #80503
- docs: fix typo: #80500
- docs: fix typo: #80501
- Docs IA 2.0: Delete routing section, add BFF guide, polish getting started: #80365
- Turbopack Build: Refactor browserslist CSS test to not use .next folder: #80571
- Explain how to use searchParams prop: #80579
- Update Turbopack development test manifest: #80563
- [turbopack] Simplify
Request::parse(Pattern)the recursive portion doesn't need to be async: #80510 - Update Rspack development test manifest: #80560
- Update Rspack production test manifest: #80561
- Update Turbopack production test manifest: #80562
Credits
Huge thanks to @sajadtorkamani, @bobziroll, @lumirlumir, @delbaoliveira, @timneutkens, @gaearon, and @lukesandberg for helping!
Core Changes
- [dynamicIO] Use filled Resume Data Cache for final-phase prerenders: #79743
Misc Changes
- perf(turbopack): Introduce static analysis for immutable tasks: #80415
Credits
Huge thanks to @kdy1 and @unstubbable for helping!
Core Changes
- feat: in Rspack using native fn implemented by us using SWC to replace load module: #80342
- chore: fix link to good first issue: #80478
- Disable fetch cache size limit for implicit caching during build: #80480
- [dynamicIO] Split up static generation into two phases: #79629
- fix(turbopack): Fix config caching for turbopack + React Compiler: #80498
Misc Changes
- Rename
empty-fallback-shellstest suite to justfallback-shells: #80461 - Turbopack: don't revisit nodes: #80455
- Update Turbopack development test manifest: #80476
- Update Rspack development test manifest: #80474
- Update Rspack production test manifest: #80473
- Update Turbopack production test manifest: #80475
- Update from-create-react-app.mdx: #80451
- Fix variable assignment in docs example: #80418
- perf(turbopack): Remove needless alloc for AQMF: #80468
- [turbopack] Allow
value_traititems to not be annotated withturbo_tasks::function: #79217 - refactor(turbopack): Make invalidator flag explicit: #80487
- test(turbopack): Make HMR benchmark less flaky: #80488
Credits
Huge thanks to @SyMind, @unstubbable, @mischnic, @maurobonfietti, @navandstokes, @icyJoseph, @kdy1, and @lukesandberg for helping!
Core Changes
- [segment-explorer] Signal updates to React: #80316
- [segment explorer] fix soft navigation case: #80443
- Update the warning text for when multiple lockfiles are found: #80214
Example Changes
- remove with-fauna example: #80440
Misc Changes
- chore: Remove useActionState from auto wrapping list: #80420
- Update Turbopack development test manifest: #80437
- Update Rspack development test manifest: #80435
- test(turbopack): Configure HMR benchmark: #80219
- refactor(turbopack): Make invalidator flag explicit: #80414
- fix(next-swc): Update
styled-jsxSWC plugin: #80459 - test(turbopack): Remove flaky benchmark: #80465
- Revert "refactor(turbopack): Make invalidator flag explicit": #80466
- fix(turbopack): Improve error message for PURE selector error: #80068
- build(turbopack): Update
swc_coretov27.0.4: #80467
Credits
Huge thanks to @dferber90, @icyJoseph, @eps1lon, @huozhi, @Cy-Tek, and @kdy1 for helping!
Core Changes
- Upgrade @playwright/test and cleanup internal APIs: #80334
Misc Changes
- Turbopack: fix persistent caching bit number typo: #80431
Credits
Huge thanks to @huozhi and @sokra for helping!
Core Changes
- feat(turbopack): Add simple tree shaker: #78286
- Fix a couple typos: #80080
- [dev-overlay] Move code into new top-level folder in src/next-devtools: #80281
- Ensure we normalize .rsc/.prefetch.rsc: #80409
- Turbopack Build: Fix /index/index handling: #80413
- [segment-explorer] optimize tree view: #80392
Misc Changes
- docs: server-only/client-only in Next.js: #80408
- Docs: Polish Getting Started section: #80402
- build(turbopack): Update
swc_coretov27.0.2: #80412 - refactor(turbopack): remove lazy_static dependency: #80226
- [test] Move test selectors as close to the actual value as possible (Part 2): #80416
Credits
Huge thanks to @icyJoseph, @kdy1, @GameRoMan, @delbaoliveira, @eps1lon, @ijjk, @timneutkens, @huozhi, and @xusd320 for helping!
Core Changes
- Add response handling inside handlers: #80189
Misc Changes
- build(turbopack): Update
swc_coretov27.0.1: #80338 - Docs: Clarify how intercepting routes work and update example: #80145
- Require that
turbo_tasks::value_traititems be annotated withturbo-tasks::function: #79178 - Update Turbopack production test manifest: #80400
- Update Rspack production test manifest: #80398
- Update Rspack development test manifest: #80397
- Update Turbopack development test manifest: #80399
- Use new
browserWithResponse()method inempty-fallback-shellstests: #80406 - [test] unflake turbopack dev navigation test case: #80407
- Docs: Getting Started feedback: #80401
Credits
Huge thanks to @kdy1, @delbaoliveira, @lukesandberg, @unstubbable, @huozhi, and @ijjk for helping!
Core Changes
- [dev-overlay] Move app/pages related features closers together: #80280
- Discard
Infinityexpiration for implicit tags: #80387 - fix(next-swc-wasm): Only enable turbo-rcstr's napi feature when building the next-swc-napi crate/package: #80390
Misc Changes
- Turbopack: include obsolete entries in computation: #80362
Credits
Huge thanks to @eps1lon, @unstubbable, @bgw, and @sokra for helping!
Core Changes
- Update font data: #80340
- [dev-overlay] fix duplicate re-render of errors: #80322
- [build-sourcemaps] Only compute codeframe once: #80326
- [test] Fix Dev Overlay Storybook: #80288
- [test] Fix crashes in Dev Overlay Stories: #80292
- [metadata] use https protocol for schema urls: #80356
- [dev-overlay] Remove positive tab-index: #80289
- [devtools] Implement default
/.well-known/appspecific/com.chrome.devtools.jsonendpoint in dev: #80260 - [dev-overlay] Fix outstanding a11y issues reported by Axe: #80290
- provide declarations for server-only/client-only: #80361
- [test] Stop opening browser by default in local Dev Overlay Storybook: #80291
- [dev-overlay] Move hot reloader client code out of react-dev-overlay: #80278
- [dev-overlay] Remove unused code: #80279
Misc Changes
- Update Rspack development test manifest: #80349
- Update Rspack production test manifest: #80348
- Update Turbopack development test manifest: #80351
- Update Turbopack production test manifest: #80350
- docs: Incremental cache is not used for cache-control: no-cache requests: #80352
- Docs: Add Data Security Guide: #80249
- Docs IA 2.0: Move examples to route.js API reference: #80360
- Docs IA 2.0: Move examples to middleware.js API reference: #80363
- Docs: Add prefetching guide: #80152
- [test] add rspack flaky test to build manifest: #80366
- Docs: broken links in caching: #80369
- docs: Middleware fetching is not cached: #80378
Credits
Huge thanks to @huozhi, @icyJoseph, @eps1lon, @delbaoliveira, and @lubieowoce for helping!
Misc Changes
- chore(turbo-tasks-fetch): Port tests from httpmock to mockito: #80341
- feat(turbopack): Invalidate the persistent cache upon panic: #80225
- perf(turbopack): Optimize
Ropecorrectly: #80335 - fix(turbopack): Restore
sourcesfield in the source map: #80337
Credits
Huge thanks to @bgw and @kdy1 for helping!
Core Changes
- Update font data: #80301
Misc Changes
- [test] separate tracing error test from action test suite: #80324
- chore(next-swc-napi): Update tracing-chrome crate to 0.7.2: #80331
- [turbopack] optimize the TurboMalloc threadlocals: #80265
- [test] Only run build_and_deploy once for PRs from upstream: #80329
Credits
Huge thanks to @huozhi, @bgw, @lukesandberg, and @eps1lon for helping!
Core Changes
- [dev-overlay] Publish as production bundle: #80295
- [metadata] only serve block streaming metadata for html bots: #80272
Misc Changes
- [turbopack] Remove uses of
Value<..>instead make the payloads impl Taskinput : #80142 - [turbopack] Remove the final uses of
Value<..>and delete the type: #80144 - [turbopack] Remove the
_for_inputoptions fromturbo_tasks::valueand theTypedForInputtrait.: #80185 - Docs: Add rspack community collab: #80217
- chore(turbopack/ci): Make codspeed stable: #80323
Credits
Huge thanks to @lukesandberg, @icyJoseph, @eps1lon, @kdy1, and @huozhi for helping!
Misc Changes
- fix typo: #80282
- [turbopack] Remove uses of
Value<..>instead make the payloads impl Taskinput: #80141
Credits
Huge thanks to @luiscobot and @lukesandberg for helping!
Core Changes
- [dev-overlay] Use same bundle for Pages and App Router: #80019
- Revert "Revert "[turbopack] Compute Import Traces for Issues"": #80220
Misc Changes
- Revert "[test] fix flaky test of basepath navigation": #80259
- Turbopack: really fix export collection: #80240
Credits
Huge thanks to @huozhi, @mischnic, @eps1lon, and @lukesandberg for helping!
Core Changes
- fix: invalid middleware configs should fail the build: #80221
- [dev-overlay] Render /app Dev Overlay with a separate React instance: #79699
- [devtool] display segment explorer as tree view: #80261
Misc Changes
- [turbopack] Replace uses of
Value<Pattern>with justPattern: #80134 - [test] Unflake back-forward-cache test: #80250
- perf(turbopack): Decode sourcemap partially: #80177
- [turbopack] Replace uses of
Value<ExecutionEnvironment>with justExecutionEnvironment: #80135 - [turbopack] Replace uses of
Value<ContentSourceData>with justContentSourceData: #80140
Credits
Huge thanks to @lukesandberg, @eps1lon, @kdy1, @ztanner, and @huozhi for helping!
Core Changes
- Replay redirect if RSC parameter is missing: #80180
- [devtool] style the segment explorer as nested view: #80212
- Prerender with streaming metadata during revalidation: #80245
Misc Changes
- [turbopack] Remove Value::new wrapper for ServerContextType parameters: #80133
- Turbopack: fix export collection: #80203
- Docs: Linking and Navigating Page: #80103
- Turbopack Build: docs for unsupported composes handling: #80238
- Turbopack Build: Update manifest for #80238: #80244
- [test] More robust extraction off CSS sources in Flight chunks: #80243
Credits
Huge thanks to @acdlite, @lukesandberg, @mischnic, @delbaoliveira, @timneutkens, @eps1lon, @huozhi, and @unstubbable for helping!
Core Changes
- docs: fix grammar in Code of Conduct section ('them' → 'it') : #80181
- [error-overlay] remove footer message: #80169
- Turbopack: Log persistent cache store time: #80149
- fix(turbopack): Next.js package not found panics in Turbopack: #79572
- [turbopack] Compute Import Traces for Issues: #79351
- Typecheck
require()calls: #80056 - Revert "[turbopack] Compute Import Traces for Issues": #80215
- remove unique metadata prop from initial RSC payload #79388
Misc Changes
- Update Rspack production test manifest: #80136
- small typo fix: #80171
- build(turbopack): Update
swc_coretov26.4.4: #80161 - [turbopack] Remove uses of
Value<ClientContextType>by makingClientContextTypea TaskInput: #80127 - Update Turbopack development test manifest: #80196
- Update Rspack production test manifest: #80192
- Update Rspack development test manifest: #80193
- Update Turbopack production test manifest: #80195
- [turbopack] Remove uses of
Value<ReferenceType>by makingReferenceTypea TaskInput: #80130 - Upgrade rust version to 2025-06-04: #80200
- Fix race condition in
types-and-precompiled: #80162 - Turbopack: ignore module ids config in dev: #80204
- Remove forks to switch back to upstream crates: #80198
- Add a test to show that
'use cache'works ingenerateMetadata: #80172 - [test] Add test for dev rendering indicator: #80205
- docs: add Docker development performance guidance for Mac/Windows: #80002
- [test] fix flaky test of basepath navigation: #80213
- [turbopack] Remove Value::new wrapper for Availabilityinfo parameters: #80132
Credits
Huge thanks to @chdeskur, @nakanoh, @kdy1, @lukesandberg, @devjiwonchoi, @mischnic, @eps1lon, @sokra, @Cy-Tek, @unstubbable, @ztanner, and @huozhi for helping!
Core Changes
- [metadata] fix nonce prop for hoist script: #80174
Misc Changes
- Turbopack Build: Fix metadata dynamic force-dynamic: #80167
- [turbopack] Remove turbo_tasks::value attribute from NativeFunction : #80170
- Turbopack: add tool to print DB structure: #80148
Credits
Huge thanks to @timneutkens, @lukesandberg, @huozhi, and @sokra for helping!
Core Changes
- [dev-overlay] Remove indirection in app dev error boundary : #79984
- Docs: preload entries impact on memory consumption: #80098
- [dev-overlay] Move building indicator into Dev Overlay state: #79985
- [metadata] only render one metadata outlet: #80146
- Add a
regionsproperty to the Functions Config Manifest file: #80104
Misc Changes
- chore(turbopack): Use label for large benchmark: #80114
- [test] add custom timeout for start server: #80160
- Turbopack: Fix sst filter handling and order for meta files: #80147
Credits
Huge thanks to @eps1lon, @icyJoseph, @kdy1, @huozhi, @agadzik, and @sokra for helping!
Core Changes
- [dev-overlay] Remove unnecessary code from /pages dev error boundary: #79983
- Turbopack Build: Implement helpful error for missing sass package: #80155
- [global-not-found] fix shared css imports not being picked: #80151
- Add experimental flag for RSC request validation: #80157
Credits
Huge thanks to @eps1lon, @timneutkens, @huozhi, and @acdlite for helping!
Core Changes
- [dynamicIO] Document client component remediations for sync IO: #79787
- [dynamicIO] prioritize preprocessing RSC rows when prerendering: #80125
- [dev-overlay] Remove unused
onErrorin /pages: #79982 - Remove unused vendored
server-inserted-metadatamodule: #80143 - Webpack Build: Use name-contenthash instead of name-chunkhash for dynamic imports: #80153
Misc Changes
- chore(turbopack): Remove unused dependencies reported by cargo-shear: #80121
- [turbopack] Eliminate many calls to
intoand from and cell involving RcStr: #80076 - fix(turbo-persistence): Atomically mark old versioned directories for deletion before deleting them: #80082
- Turbopack: Improve errors when opening SST files: #80106
Credits
Huge thanks to @gnoff, @bgw, @lukesandberg, @eps1lon, @sokra, and @timneutkens for helping!
Core Changes
- [dev-overlay] Parse stacks in reducer not during dispatch: #79788
- Remove obsolete
@ts-expect-error: #80065 - [dev-tools] Navigation header replaces close button: #80097
- [dev-overlay] Inject
get*Stackimplementation: #79789 - [dev-overlay] Fix dark‐mode styling for
<option>in Preferences dropdowns: #80025 - Use relative sources in
require()instead ofnext/dist/if possible: #80054 - [dev-overlay] Inject
isRecoverableErrorimplementation: #80003 - [devtool] fix explorer flag consuming and style: #80110
- [dev-tools] add restart dev server button to error overlay: #80060
- [dev-tools] add restart dev server button on dev-tools indicator preferences: #80072
- [chore] remove legacy useEarlyImport flag: #80112
- [testmode] Fix types of
wrapRequestHandler: #80055 - Extend bot list with googleweblight, Storebot-Google, Google-Inspecti…: #77728
- [dev-overlay] Inject
getSquashedHydrationErrorDetailsimplementation: #80046 - [dev-tools] better description for restart server button: #80118
- [dev-tools] style: preferences section title: #80120
- [metadata] refactor to remove async metadata: #78495
Misc Changes
- docs: Manual calls to action should we wrapped in startTransition: #80101
- [dev-tools] Re-focus previous item after closing sub menu: #80099
- perf(turbopack/rcstr): Precompute hash for equality bailout: #78943
- perf(turbopack/rcstr): Use precomputed hash: #80074
- Docs: Improve Turbopack webpack loader documentation: #79523
- fix(turbopack): Allow google font fetch errors to propagate when in production: #79999
- chore(turbopack): Fix building local crates with
--all-features: #80117 - fix React 18 test failures: #80119
Credits
Huge thanks to @icyJoseph, @eps1lon, @raunofreiberg, @teamleaderleo, @kdy1, @huozhi, @devjiwonchoi, @Cy-Tek, @vitaliemiron, @bgw, and @ztanner for helping!
Core Changes
- Update font data: #80036
- Fix defunct ESLint overrides: #80053
- [devtools] Add an endpoint to poll for server status: #80005
- [dynamicIO] Only report client sync IO errors if they are above a Suspense boundary: #80026
Misc Changes
- Turbopack: add print_cache_item_size feature flag to print cache size per task: #80043
- Turbopack: remove verbose output: #80044
- docs: Reference to statically imported images: #80048
- Docs: Drop innacurate override information for dynamicParams: #79966
- chore: Use same function references in useReportWebVitals examples: #79963
- refactor(turbopack): Do not use
ResultforRope#read: #80004 - Turbopack Build: Fix next-font test: #80049
- chore(ci): Disable flaky turbopack benchmarks: #80058
- Turbopack Build: Implement locale:false middleware matcher: #80057
- [turbopack] Simplify the definition of AssetIdent: #79805
- Update Rspack production test manifest: #80038
- Update Turbopack production test manifest: #80040
- Update Rspack development test manifest: #80039
- chore(turbopack): Update
rust-sourcemaptov9.2.2: #80066 - chore(turbopack): Remove
Lightningcssprefix for CSS types: #80067 - build(turbopack): Update
swc_coretov26.3.3: #80059 - perf(turbopack): Use owned instance of
Codeforminify(): #79991 - Update Turbopack development test manifest: #80041
Credits
Huge thanks to @sokra, @icyJoseph, @kdy1, @timneutkens, @lukesandberg, @eps1lon, @bgw, and @gnoff for helping!
Misc Changes
- [turbopack] Create a macro rcstr! for constructing RcStr from string literals.: #79759
Credits
Huge thanks to @lukesandberg for helping!
Core Changes
- [devtools] Add a query parameter to restart endpoint to invalidate the persistent cache: #79425
- Implement handler interface for app-page: #79568
- Migrate app route to handler interface: #80008
- Turbopack Build: Fix underscore path tests: #79778
- Fix watchmode for
taskrtasks: #80020
Misc Changes
- fix: update rspack production build output snapshot: #79766
Credits
Huge thanks to @SyMind, @bgw, @ijjk, @timneutkens, and @eps1lon for helping!
Core Changes
- Remove
subissuesfromIssue: #79988
Misc Changes
- [turbopack] Fix URL fragment and query handling in Turbopack: #79993
- chore(turbopack): Cleanup benchmark code: #79943
- chore(ci): Run turbopack benchmark from custom runners: #79979
Credits
Huge thanks to @lukesandberg and @kdy1 for helping!
Core Changes
- fix: preload fonts in template.js: #79417
- feat: using eval source map plugin for Rspack: #79199
- feat: using builtin CssChunkingPlugin for rspack: #79762
- fix(napi): Update generated types, add alias for RcStr: #79915
- [dev-overlay] Fix highlighted line cut off on scroll: #79930
- fix(next/font): allow custom font-family in declarations: #76274
Example Changes
- refactor(napi): Implement napi traits for RcStr: #79806
Misc Changes
- Update Rspack development test manifest: #79772
- chore(turbo-tasks-backend): Fix build with
--features turbo-tasks-backend/lmdb: #79530 - Turbopack: persist and compare errors and panics: #77935
- Turbopack: add test for reexport cycles: #79792
- [release-new] fix: slack notification only if is a publish workflow: #79933
- Update Rspack production test manifest: #79923
- chore(ci): Configure small benchmark for builds: #79796
Credits
Huge thanks to @lpalmes, @bgw, @SyMind, @raunofreiberg, @sokra, @imskyleen, @devjiwonchoi, and @kdy1 for helping!
Core Changes
- chore: update rspack to 1.3.12: #79428
- Enable repeated
tscruns inpackages/nextwithout having to build first: #79782 - Run
tscin watch mode duringpnpm dev: #79785
Example Changes
- chore: Update the
with-supabaseexample to use the Supabase Auth block: #78913
Misc Changes
- Docs: Fix headings: #79777
- Turbopack Build: Fix metadata test: #79776
- chore(turbopack): Update
swc_coretov26.2.2: #79756 - re-enable vary header deploy test: #79753
- refactor(turbopack): Preserve indents in dev mode codegen: #79786
- Docs:
force-staticw/ revalidate, revalidatePath, and revalidateTag: #79780 - Turbopack: split meta data and AQMF into separate files: #79659
- Update script location used in
pnpm unpack-next: #79626 - chore(ci): Configure automated benchmark for turbopack: #79791
- [turbopack] Reduce the size of module graph datastructures: #79706
- chore(ci): Add large benchmark: #79793
- Update Turbopack development test manifest: #79774
- Update Turbopack production test manifest: #79773
- fix(next-swc): Fix specificity issue of
styled-jsxin lightningcss mode: #79802
Credits
Huge thanks to @SyMind, @delbaoliveira, @timneutkens, @eps1lon, @kdy1, @gaojude, @unstubbable, @icyJoseph, @sokra, @ivasilov, and @lukesandberg for helping!
Core Changes
- misc: remove leftover
clientInstrumentationHooktype: #79701 - cleanup(turbopack): Embed Global vs Specific channel type in the Rust type system: #79291
- [dev-overlay] Show error overlay on any thrown value in /app: #79658
- [dev-overlay] Move error handlers into dispatcher in /app: #79660
- Verify cache-busting param during segment prefetch: #79563
- update(turbopack): Update the messaging UX for timing writing files to disk: #79469
- [dev-overlay] Move Redbox open/close into dispatcher: #79698
Misc Changes
- Turbopack Build: Fix middleware rewrite test: #79697
- Update flakey empty-project test: #79734
- Update Rspack production test manifest: #79645
- Update Turbopack development test manifest: #79646
- Update Rspack development test manifest: #79644
- perf(turbopack): Remove indent in intermediate string: #79754
- fix(turbopack): Use comments instead of AST nodes for unreachables: #79703
Credits
Huge thanks to @r34son, @Cy-Tek, @eps1lon, @timneutkens, @ijjk, @acdlite, and @kdy1 for helping!
Core Changes
- Turbopack: derive de/serialize for loader config: #79581
- Update font data: #79642
- Avoid bundling dev overlay in page template: #79641
- Enable preview builds for forks: #79648
Misc Changes
- chore(turbo-tasks): Remove old and unused
turbo-tasks-memorybackend: #79560 - Update Turbopack development test manifest: #79603
- Enforce consistency between packages in preview builds: #79610
- Turbopack: improve error handling when DB read/deserialization fails: #79545
- Docs IA 2.0: Create Forms guide: #79288
- Docs IA 2.0: Create intercepting and parallel routes API reference: #79405
- Docs IA 2.0: Add examples to layout.js: #79453
- Docs IA 2.0: Update template.js API reference: #79490
- Docs IA 2.0: Create Dynamic Segments API reference, add example to getting started. : #79439
- Turbopack: avoid panics due to eventual consistency: #79242
- Next IA 2.0: Create Route Groups API reference, simplifying wording: #79444
- Update Turbopack production test manifest: #79647
- Docs IA 2.0: Move Redirects page to guides: #79447
- Docs IA 2.0: Add
Caching and Revalidatingpage: #79493 - Docs: scrub html in
ld+jsonscript: #79627 - Turbopack Build: Fix edge _document test: #79628
- Turbopack Build: Fix conflicting page error: #79634
- Turbopack Build: Fix runtime value test: #79654
- Docs IA 2.0: Delete Error Handling page: #79495
- Turbopack Build: Skip edge stacktrace test: #79661
- Fix name tracking for closures in server actions transform: #79657
Credits
Huge thanks to @bgw, @wbinnssmith, @eps1lon, @sokra, @delbaoliveira, @icyJoseph, @timneutkens, @ijjk, and @unstubbable for helping!
Core Changes
- [ppr] Narrow condition for fallback shell generation at runtime: #79565
Misc Changes
- Turbopack: use unsigned values for follower and upper edges: #79489
- [release] fix: correctly set tag during publish: #79548
- [release] use
backportNPM dist tag for backports: #79538 - [release-new] fix: release pr commit contains
(#number)at last: #79611 - Unflake
Undefined default exporttest: #79632 - [release-new] move "add label to pr" workflow from publish to trigger: #79619
Credits
Huge thanks to @sokra, @devjiwonchoi, @wyattjoh, and @unstubbable for helping!
Misc Changes
- Fix --tag argument in publish-release: #79599
- Ensure scripts are included in root tsconfig: #79600
- [release] fix:
GITHUB_TOKENis needed to open release pr: #79609 - [release-old] use
backportNPM dist tag instead ofstablefor backports: #79612
Credits
Huge thanks to @ijjk and @devjiwonchoi for helping!
Misc Changes
- Disable
"use cache"deploy tests: #79586 - report build-and-deploy failures only after retries: #79574
- [release-legacy] fix: set
stabledist tag for backport releases instead oflatest: #79596 - docs (data fetching): fix typo in startTransition call: #79578
Credits
Huge thanks to @unstubbable, @ztanner, @devjiwonchoi, and @bcdipesh for helping!
Misc Changes
- de-flake ReactRefreshLogBox (app): #79573
Credits
Huge thanks to @ztanner for helping!
Core Changes
- fix(dev-overlay): Better handle edge-case file paths in launchEditor: #79526
- [build-sourcemaps] Increase stacktrace limit during prerender: #79498
- fix: Rspack not skip .d.ts file: #79285
- Revert "[next-server] skip setting vary header for basic routes": #79426
Misc Changes
- Update Rspack production test manifest: #79484
- Update Rspack development test manifest: #79485
- Update Turbopack production test manifest: #79487
- Update Turbopack development test manifest: #79488
- docs: Rename CSS snippet to blog.module.css: #79507
- add feature flag to verify aggregation graph: #78964
- Turbopack: leave
chunksinrscModuleMappingempty: #79511 - [release] use changesets/action for release-candidate: #79039
- [release] notify release status via slack: #79409
- refactor(turbopack): Refactor usage of visitors: #79525
- [turbopack] Fix the stubbed out implementation of
signatureso that it works in a web worker.: #79509 - fix(next-swc): Fix interestingness detection for React Compiler: #79499
- perf(turbopack): Remove extra indirection: #79553
- refactor(turbopack): Remove
PassFactory: #79555 - Fix build and deploy workflow: #79569
- Add final build job to validate: #79570
Credits
Huge thanks to @bgw, @eps1lon, @icyJoseph, @sokra, @mischnic, @devjiwonchoi, @kdy1, @lukesandberg, @SyMind, @ijjk, and @gaojude for helping!
Core Changes
- Model prerender store as separate server and client scopes: #79429
- Use metadata for cache entry status code: #79512
Misc Changes
- build: Update
swc_coretov26.0.1andstyled-jsx: #79464 - fix(next-swc): Fix react compiler usefulness detector: #79479
- fix(test/e2e): Increase timeout of flaky basepath test: #79481
- Docs IA 2.0: Reorder PPR page and fix some nits: #79282
- Docs: Align with react docs server functions: #79442
- Turbopack Build: Fix _error loading test: #79455
- Turbopack Build: Fix dynamic-missing-gsp test: #79472
- Turbopack: remove unused ModuleWithDirection from Node runtime: #79458
- Turbopack Build: Fix next/font test: #79502
- perf(turbopack): Use sourcemap with perf patches: #79501
- [turbopack] Fix a buggy serializer: #79520
- chore(turbopack): Remove unused macro definition: #79521
Credits
Huge thanks to @kdy1, @gnoff, @bgw, @delbaoliveira, @icyJoseph, @timneutkens, @mischnic, @ijjk, and @lukesandberg for helping!
Core Changes
- Model prerender store as separate server and client scopes: #79429
Misc Changes
- build: Update
swc_coretov26.0.1andstyled-jsx: #79464 - fix(next-swc): Fix react compiler usefulness detector: #79479
- fix(test/e2e): Increase timeout of flaky basepath test: #79481
Credits
Huge thanks to @kdy1, @gnoff, and @bgw for helping!
Core Changes
- [dynamicIO] reimplement dynamicIO validation on prerender: #79414
- fix: remove redundant performance.measure usage: #79475
- [devtools] Add a very minimal API for restarting the dev server: #79265
Misc Changes
- Turbopack: add webpack scope-hoisting tests: #79457
- [test] Use NEXT_TEST_CI when forking test in CI: #79354
- Docs: Remove non breaking space: #79468
- [sync-react] Base PR on target ref of workflow: #79466
- disallow unstable_rootParams in client components: #79471
- Update Rspack production test manifest: #79432
- Turbopack: avoid negative uppers and follower and use retry loop instead: #79451
Credits
Huge thanks to @mischnic, @eps1lon, @icyJoseph, @gnoff, @gaojude, @bgw, and @sokra for helping!
Core Changes
- [dynamicIO] Avoid timeout errors with dynamic params in
"use cache": #78882 - Implement initial handler interface for pages routes: #79260
- [Segment Cache] Fix: Ensure server references can be prerendered: #79448
- [Segment Cache] Fix: Skew during dynamic prefetch: #79416
Misc Changes
- Turbopack build: Skip test that is not relevant for Turbopack: #79376
- Update test E2E deploy workflow to accept version: #79420
- Turbopack Build: Add comment explaining reason for skipped test: #79418
- Docs IA 2.0: Move ISR page to guides: #79283
- Update Turbopack production test manifest: #79435
- Update Turbopack development test manifest: #79436
- Turbopack Build: Fix css-modules test: #79441
- docs:
htmlLimitedBotsconfig value should be a RegExp: #79454 - Docs IA 2.0: Review fetching page and move examples: #79200
- Docs IA 2.0: Add i18n guides: #79391
- Docs: Fix broken link: #79456
Credits
Huge thanks to @timneutkens, @ijjk, @unstubbable, @delbaoliveira, @icyJoseph, and @acdlite for helping!
Core Changes
- [dynamicIO] Avoid timeout errors with dynamic params in
"use cache": #78882 - Implement initial handler interface for pages routes: #79260
- [Segment Cache] Fix: Ensure server references can be prerendered: #79448
Misc Changes
- Turbopack build: Skip test that is not relevant for Turbopack: #79376
- Update test E2E deploy workflow to accept version: #79420
- Turbopack Build: Add comment explaining reason for skipped test: #79418
- Docs IA 2.0: Move ISR page to guides: #79283
- Update Turbopack production test manifest: #79435
- Update Turbopack development test manifest: #79436
Credits
Huge thanks to @timneutkens, @ijjk, @unstubbable, and @delbaoliveira for helping!
Core Changes
- [TypeScript Plugin] Match method signature (
someFunc(): void) type for client boundary warnings: #79144 - Only share incremental cache for edge in next start: #79386
- fix: rspack framework and lib cacheGroups: #79172
- Make sure bundle analyzer does not trigger warning with turbopack: #79399
Misc Changes
- Update Rspack development test manifest: #79392
- Update Rspack production test manifest: #79393
- Update Turbopack production test manifest: #79395
- Update Turbopack development test manifest: #79396
- Turbopack Build: Fix next/dynamic test: #79407
- [release] fix: use correct step id when publishing: #79408
- Turbopack build: Fix NODE_ENV test: #79377
- Turbopack build: Fix production-browser-sourcemaps test: #79374
- Fork the globset strategy for turbopack: #79333
- build: Update
swc_coretov26.0.0: #79411 - docs: fix spacing in installation instructions: #79257
Credits
Huge thanks to @devjiwonchoi, @ijjk, @ScriptedAlchemy, @mischnic, @timneutkens, @lukesandberg, @igas, @kdy1, and @Macw07 for helping!
Core Changes
- [release] use
@changesets/changelog-githubfor changelog format: #79040 - next.config.ts: Implement
compiler.defineServerfor server-only constants: #79225 - Always show warning if fetch cache limit hit: #79384
- feat(turbopack) Added sending events to log how long writing entrypoints to disk takes.: #79256
Misc Changes
- [release] couple
nextand@next/swcversions: #79036 - [release] use changesets/action for canary release: #79038
- [release] create empty changeset for next when no changeset found during canary release: #79049
- Unroll recursion in
RuleCondition::matchesThis trades allocations due toBox::pincalls during recursion for an explicit stack and a tiny interpreter loop.: #79310 - Update Turbopack production test manifest: #79359
Credits
Huge thanks to @devjiwonchoi, @wbinnssmith, @ijjk, @Cy-Tek, and @lukesandberg for helping!
Core Changes
- [release] use
@changesets/changelog-githubfor changelog format: #79040 - next.config.ts: Implement
compiler.defineServerfor server-only constants: #79225 - Always show warning if fetch cache limit hit: #79384
- feat(turbopack) Added sending events to log how long writing entrypoints to disk takes.: #79256
Misc Changes
- [release] couple
nextand@next/swcversions: #79036 - [release] use changesets/action for canary release: #79038
- [release] create empty changeset for next when no changeset found during canary release: #79049
Credits
Huge thanks to @devjiwonchoi, @wbinnssmith, @ijjk, and @Cy-Tek for helping!
Core Changes
- fix: replaceIdentifiersInAst takes an expression, not a string: #79196
- Remove DIO w/o PPR branch from
app-render.tsx: #79303 - Remove prospective fallback prerenders: #79304
- Fixed rewrite param parsing for interception routes in Vercel deployments: #79204
- [build-sourcemaps] Sourcemap errors during prerender if
experimental.enablePrerenderSourceMapsis enabled: #79109
Misc Changes
- [test] Use unique error messages in
server-source-maps: #79108 - refactor(turbopack-resolver): rename filed plugins to after_resolve_plugins: #79286
- Update Rspack development test manifest: #79356
- Update Rspack production test manifest: #79357
- Docs: Experimental taint option in next.config.js: #79293
- docs: --verbose option in dev mode is not yet supported: #79366
- Update Turbopack development test manifest: #79358
- docs: Fix flag for taint: #79370
- test: fix more Runtime/Recoverable Error flakiness in HMR: #79371
- Remove obsolete
pprconfigs from Dynamic IO tests: #79305 - Turbopack: don't emit unnecessary block: #79361
- perf(turbopack): Spawn only one thread for one
write fileeffect: #79318 - [release] add new ci to use changesets/action for stable release: #79037
- fix(doc): fix typo: #79369
Credits
Huge thanks to @eps1lon, @fireairforce, @icyJoseph, @lubieowoce, @unstubbable, @mischnic, @kdy1, @devjiwonchoi, and @GenhaoLi for helping!
Misc Changes
- Turbopack build: Add test skip that is also skipped for dev: #79241
- Add missing / to deploying link
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- [dynamicIO] fix: do not apply import tracking transform in edge: #79284
- Turbopack build: Fix type: module with output: standalone: #79292
- [TypeScript Plugin] Moved the diagnostics' positions to the prop's type instead of the value for client-boundary warnings: #79193
- Use
onPostponeto determine if segment prefetch is partial: #79299 - Enable
pprwhendynamicIOis enabled: #79302
Misc Changes
- build(next-swc): Update
swc_coretov25.0.0: #79319 - Disable
dynamicIOin global default cache handler test: #79300 - Enable PPR in Dynamic IO tests: #79301
Credits
Huge thanks to @lubieowoce, @timneutkens, @kdy1, @devjiwonchoi, and @unstubbable for helping!
Core Changes
- [devtool] initial support for segment explorer: #78858
- Client router should discard stale prefetch entries for static pages: #79309
Misc Changes
- fix(turbopack): prepend a question mark in AssetIdent display: #78977
- Update Turbopack development test manifest: #79278
- Update Turbopack production test manifest: #79277
- Update Rspack production test manifest: #79275
- Turbopack: remove dead code: #79280
- perf(turbopack): Use rayon threadpool for
minify(): #79261 - Revert "perf(turbopack): Use rayon threadpool for
minify()": #79296 - perf(turbopack): Update
sourcemapto makeflatten()faster: #79297 - docs: streaming responses with pages API routes: #79269
- feat:
--rspackflag for create next app: #79077 - Do not run CI for modifying changeset related files: #79315
Credits
Huge thanks to @xusd320, @huozhi, @mischnic, @kdy1, @leerob, @SyMind, @unstubbable, and @devjiwonchoi for helping!
Core Changes
- chore(dev-overlay): Minor cleanups to useDelayedRender hook: #79119
- Update font data: #79227
- Rename
define-env-plugin.tstodefine-env.ts: #79224 - Always pass implicit/soft tags into the
CacheHandler.getmethod: #79213 - fix(dev-overlay): Ignore right clicks on the indicator draggable: #79120
- Fix dangling promise in unstable-cache: #79248
- Revert "Partial Fallback Prerendering Route Shells (#69282)": #79258
Misc Changes
- [ts-next-plugin] test: add client-boundary test: #79194
- Reland: Fix false-positive
"use cache"misplacement error: #79222 - Turbopack: Allow fully dynamic import() in node_modules: #79153
- Update Turbopack development test manifest: #79233
- Docs: Fix page order in Getting Started: #79240
- Docs IA 2.0: Server and Client Components: #79143
- Docs IA 2.0: Delete rendering section: #79244
- Docs: Fix syntax highlighting, add missing js code blocks: #79246
- perf(turbopack): Implement
ShrinkToFitforAutoMap: #79218 - docs: add missing links and imports to
cacheLifeandcacheTagfor prerender-missing-suspense error: #79247 - test: fix snapshots in failing tests: #79254
Credits
Huge thanks to @bgw, @wbinnssmith, @devjiwonchoi, @unstubbable, @timneutkens, @delbaoliveira, @kdy1, @lubieowoce, @ijjk, and @wyattjoh for helping!
Core Changes
- [dynamicIO] model pathname access in metadata as async : #79136
- Update font data: #79179
- bugfix (pages): assetPrefix should not cause hard nav in development: #79176
- Reland "Ensure mangling is disabled for dev runtime builds (#75297)": #79201
- docs: add graceful error boundary example: #77781
- turbo-tasks: Encode location information into panics: #78945
- feat(turbopack): Add basic compilation event support: #78785
Misc Changes
- Update Rspack production test manifest: #79185
- Update Turbopack production test manifest: #79186
- Update Rspack development test manifest: #79184
- Docs: Change
mjscodeblocks tojs: #79163 - chore: Update DevEx team changes in labeler: #79191
- Docs: Visual nits: #79198
- Docs IA 2.0: Move Edge Runtime information to API reference: #79152
- Prettier ignore changeset's format: #79203
- perf(turbopack): Do not inline synthesized content for sourcemaps: #79173
- Revert "Update mappings in
launch.jsonto improve debugging in VSCode (#76559)": #79206 - perf(turbopack): Use
Byte::from_staticwhen possible: #79215 - Add recent Turbopack reformats to blame-ignore: #79187
- perf(turbopack): Drop AST node before generating source maps: #79219
- [turbopack] Delete the
read_globfunction: #79166
Credits
Huge thanks to @gnoff, @icyJoseph, @delbaoliveira, @devjiwonchoi, @kdy1, @ztanner, @ijjk, @feedthejim, @wbinnssmith, @unstubbable, @Cy-Tek, @mischnic, and @lukesandberg for helping!
Core Changes
- [build-sourcemaps] Remove unused static workers: #79107
- fix: cli test failed when using rspack: #79081
- [build-sourcemaps] Allow inspecting prerender worker: #79098
- Add initial modifyConfig hook: #79162
- Re-land updated bundler for pre-bundling: #79164
Misc Changes
- Turbopack: Make
turbopack-coreRust 2024: #79131 - Docs: Add PPR page to getting started section: #79076
- Update Turbopack production test manifest: #79139
- Update Turbopack development test manifest: #79140
- Update Rspack production test manifest: #79138
- Fix false-positive
"use cache"misplacement error: #79151 - docs: use single quote for
'use client'directive: #79114 - docs: improve
'use client'directive and client components: #79115 - Turbopack: remove unused
EcmascriptInputTransform::CommonJs: #79148 - [test] Add
debug-brkpackage script: #79097 - perf(turbopack): Optimize
next_page_static_info: #79009 - Reference the workUnitStore when determining bailout to CSR: #79118
- Revert "Fix false-positive
"use cache"misplacement error": #79160 - build: Update
swc_coretov24.0.0: #79103 - docs: Fix grammar in
vitest.mdx(How to set up Vitest with Next.js): #78654 - [release] enable changesets: #79035
- Remove uses of
read_globfromnode_native_bindings: #79154 - chore(turbopack): Add a span for sourcemap generation: #79170
- Add
rustc-icefiles to gitignore: #79167 - Update Rspack development test manifest: #79174
Credits
Huge thanks to @wbinnssmith, @delbaoliveira, @unstubbable, @eps1lon, @devjiwonchoi, @mischnic, @kdy1, @gnoff, @SyMind, @ijjk, @chipit24, and @lukesandberg for helping!
Core Changes
- patch react via recast instead of string replacements: #78916
- [link] Avoid inlining of
LinkPropsin emitted declarations: #78773 - [next-config-ts] fix: read tsconfig file using TypeScript API: #79055
- Replace node:url usage in server-utils: #79094
Misc Changes
- Docs IA 2.0: CSS: #78996
- Update Rspack production test manifest: #79072
- docs: Fix grammar on
Update static-exports.mdx: #79091 - Update Rspack development test manifest: #79071
- perf(turbopack): Update
modularize_imports: #79012 - build: Update
swc_coretov24.0.0: #79092 - Revert "build: Update
swc_coretov24.0.0": #79102 - chore(CI): Add back test retries (again) to arewerspackyet tests: #79014
- Turbopack: hash next/font filename to shorten it: #79089
- Upgrade lightningcss: #79096
- Turbopack: refactor into
traverse_edges_fixed_point: #79078 - [test] Move test selectors as close to the actual value as possible: #78931
- test: split basic HMR test into multiple files: #79064
- test: split full reload HMR test into multiple files: #79065
- Update rust toolchain to 2025-05-12: #79099
- Rust: Update safe crates to 2024 Edition: #79104
- build(next-swc): Drop
swc_bundler: #79113 - chore(CI): Split basepath test suite into smaller and more parallel test suites: #78892
- test: split error recovery HMR test into multiple files: #79066
- test: split hot module reload HMR test into multiple files: #79067
- test: remove unnecessary conditionals in error recovery tests: #73625
- Revert toolchain update to 2025-05-12: #79117
- test: replace duplicate test utils to next instance: #73624
- chore(CI): Split i18n-data-fetching-redirect test suite into smaller and more parallel test suites: #78893
- fix: pnp test cases failed when using rspack: #79084
Credits
Huge thanks to @devjiwonchoi, @bgw, @SyMind, @lubieowoce, @eps1lon, @delbaoliveira, @chipit24, @kdy1, @ijjk, @timneutkens, @mischnic, and @wbinnssmith for helping!
Core Changes
- Prevent
"use cache"timeout errors from being caught in userland code: #78998
Misc Changes
- chore(CI): Split next-form tests into smaller suites/files that can be run more-in-parallel: #78891
- fix(CI): Remove comments from labeler config: #79015
- Turbopack next/font: Use a custom enum instead of
Resultfor failed local font files: #78941 - Update middleware prefetch test: #79025
Credits
Huge thanks to @bgw, @wbinnssmith, @unstubbable, and @ijjk for helping!
Core Changes
- Fix
--no-manglingfor"use cache"functions: #78993 - chore: update rspack to 1.3.9: #78984
- [not-found] Add global-not-found convention: #78783
- [not-found] support metadata exports of global-not-found: #78961
Misc Changes
- fix(CI): Wait for lock when running apt-get: #78979
- chore(CI): Add a few more turbopack paths to labeler config: #78980
- chore(CI): Add Rspack labeler config: #79004
- perf(turbopack): Remove needless clone of SWC AST: #79007
Credits
Huge thanks to @unstubbable, @bgw, @SyMind, @huozhi, and @kdy1 for helping!
Misc Changes
- Turbopack: cache directory creation: #78729
- Update Turbopack production test manifest: #78988
- Update Turbopack development test manifest: #78989
Credits
Huge thanks to @sokra for helping!
Core Changes
- Treat _debugInfo as a wellknown property for sync request data access purposes: #78942
- chore(CI): Run rspack tests in build_and_test.yml: #78757
- bugfix: Fix a bug that caused conflicting assets when adding a child compiler: #78011
- [Fix] Inverse prefetch segment for Pages routes: #78932
- Fix tracing of server actions imported by client components: #78968
- Revert "fix: alternate bundler support for dropping client page": #78974
Misc Changes
- Docs: Fix headings in Getting Started: #78965
- Docs IA 2.0: Delete empty optimizing folder: #78966
- chore(CI): Split trailing-slashes suite cases into smaller suites, port to more modern e2e framework: #78890
- Turbopack: properly replace
__dirnameand__filename: #78843 - perf(turbopack): Remove needless clone of sourcemap: #78972
- build: Update
swc_coretov23.1.0again with macos build fix: #78940
Credits
Huge thanks to @delbaoliveira, @bgw, @gnoff, @lukesandberg, @kdy1, @Karibash, @acdlite, @ijjk, and @ScriptedAlchemy for helping!
Core Changes
- Add nonce handling from CSP in pages router: #78936
- Ensure manual nonce on Script works as expected: #78939
Misc Changes
- fix(CI): Remove e2e test timeout overrides from rspack & turbopack suites: #78934
- Update Turbopack development test manifest: #78953
- Turbopack:
ChunkingType::Parallelwithhoistedbool: #78922 - Update Turbopack production test manifest: #78952
- fix(CI): Avoid rebuilding native code in jobs that don't depend on native code: #78944
- Docs IA 2.0: Images: #78769
- chore(test/e2e): Remove stale TODO comment from webpack persistent caching test: #78946
Credits
Huge thanks to @ijjk, @bgw, @mischnic, and @delbaoliveira for helping!
Core Changes
- [dev-overlay] solidate the line number parsing: #78868
- Update send to v0.18.0: #78816
- Scope
runInCleanSnapshotto Work Store: #78930 - Removes onNavigate from transition scope: #78605
Misc Changes
- Update Turbopack production test manifest: #78900
- Update Turbopack development test manifest: #78901
- Docs IA 2.0: Fonts: #78899
- Docs IA 2.0: Metadata: #78905
- Docs IA 2.0: Create tailwind guide: #78908
- feat(next-swc): Add a fast path to RC detector: #78920
- Turbopack: defer sourcemaps processing to codegen: #78855
- build: Update
swc_coretov23.2.0: #78885 - Turbopack: create smaller initial files to reduce memory usage: #78778
- fix CSP docs: #78937
- Revert "build: Update
swc_coretov23.2.0": #78935
Credits
Huge thanks to @huozhi, @delbaoliveira, @nicole0707, @kdy1, @mischnic, @sokra, @unstubbable, @ztanner, and @lourd for helping!
Core Changes
- [dev-overlay] Polish mobile view: #78863
- [dev-overlay] Consider scrollbar width for drag positioning: #78865
- Add handling for setting deployment id via cookie: #78841
- Run export child process with runtime's default
max-old-space-size: #78712 - [dynamicIO] cache tracking for import(): #74152
Misc Changes
- chore(CI): Break pages-dir client-navigation dev tests into smaller parallelizable files/suites: #78787
- Turbopack: avoid storing task data and task cache concurrenctly: #78775
- Add a new
fsmethod to track a glob.: #78686 - Add tests for normalize_path: #78840
- Turbopack: flush key spaces when done with them: #78776
- fix: error build if fixture typechecking fails: #78839
- doc: add build lifecycle hooks documentation: #78842
- Share logic across our two transforms: #78680
- Turbopack: add tracing to turbo-persistence: #78777
- Turbopack: fix task data category: #78873
- fix(react-compiler): Fix detection of interest: #78874
Credits
Huge thanks to @bgw, @sokra, @lukesandberg, @lubieowoce, @gaojude, @raunofreiberg, @ijjk, @kdy1, and @eps1lon for helping!
Core Changes
- build: Update
@swc/corenpm package tov1.11.24: #77668 - Turbopack: Implement regex support for matching webpack loaders: #78733
- Turbopack: Add support for
extensionregex in@next/mdx: #78734
Misc Changes
- Update multi-zones.mdx: #78812
- chore(CI): Remove unused environment variables from
build_and_test.yml: #78732 - Turbopack: avoid tracking a modification when adding an already existing item: #78726
- Turbopack: reduce the amount of task modifications caused by recomputation: #78728
- Turbopack: avoid depending on the Project: #78730
- Turbopack: use unstable sort for better performance: #78764
Credits
Huge thanks to @mastoj, @kdy1, @bgw, @sokra, and @wbinnssmith for helping!
Core Changes
- Reland "[Link] Add prefetch="auto" option": #78821
Credits
Huge thanks to @eps1lon for helping!
Core Changes
- Turbopack: fix ESM project in standalone mode: #78774
- Revert "[Link] Add prefetch="auto" option": #78820
- Downgrade React from
408d055a-20250430to197d6a04-20250424: #78834
Misc Changes
- Update anyhow to 1.0.98: #78827
- Update Turbopack production test manifest: #78830
- [test] Repro for dropped
ignoreListby Turbopack in browser sourcemaps: #78822
Credits
Huge thanks to @wbinnssmith, @mischnic, and @eps1lon for helping!
Core Changes
- [dev-overlay] Make badge draggable: #78716
Misc Changes
- Revert "De-dupe build_and_deploy run for PRs": #78809
- Update flakey app-action test: #78797
Credits
Huge thanks to @raunofreiberg and @ijjk for helping!
Core Changes
- [build-sourcemaps] Include codeframes in prod when sourcemaps are enabled: #78710
- feat: build lifecycle hooks - afterProductionCompile: #77345
- fix: make sure that the patched fetch cache set promise is properly awaited: #75971
Misc Changes
- Turbopack: assign a high aggregation number to session dependent tasks: #78668
- Turbopack: Use separate meta and data modified flags: #78724
- Turbopack: add concurrency limit to effects: #78725
- Turbopack: refactor codegen: #78685
- Turbopack: correctly reference injected variable for Wasm on Edge: #78771
- Docs IA 2.0: Improve landing page, add intro to Getting Started page: #78765
- Stabilize back-forward-cache test cases: #78735
- De-dupe build_and_deploy run for PRs: #78792
Credits
Huge thanks to @sokra, @eps1lon, @mischnic, @gaojude, @delbaoliveira, @dario-piotrowicz, and @ijjk for helping!
Core Changes
- remove
draft.isEnabledsetter from exotic draftMode wrappers: #77972 - Turbopack: limit compaction merging by size instead of count: #78669
Misc Changes
- Update authentication.mdx: #78738
- chore(CI): Use
TEST_CONCURRENCYby default inrun-tests.js: #78731 - Update test new tests for deploy mode: #78737
- Update Turbopack development test manifest: #78741
Credits
Huge thanks to @xyf7, @bgw, @ijjk, @lubieowoce, and @sokra for helping!
Core Changes
- Upgrade loader-utils v2 to latest patch: #78707
- [Link] Add prefetch="auto" option: #78689
- [build-sourcemaps] Ensure errors during prerender can be sourcemapped: #78709
- Upgrade React from
5dc00d6b-20250428to408d055a-20250430: #78715 - build: Fix minifier options for webpack builds: #78717
- refactor(next-swc): Do not amend minifier options from Rust code: #78719
- Change stylistic ESLint TypeScript defaults: #78679
- fix: replace original request body after middleware execution: #77662
Misc Changes
- test: migrate svgo webpack test: #78704
- fix(turbopack): Provide full path to SWC Wasm plugins: #78637
- Revert "[next-lint] test: remove eslint config snapshot testing": #77824
- Turbopack: initially shard SST files: #78652
- Turbopack: reduce max coverage for compaction: #78649
- chore(turbopack): Bump rustc-hash from 2.1.0 to 2.1.1: #78721
- Turbopack: make_task_dirty only needs meta data: #78699
- chore(CI): Line-wrap afterBuild blocks in build_and_test.yml: #78718
- chore(CI): Re-run
pnpm installafterpnpm buildinbuild_reusable.yml: #78720
Credits
Huge thanks to @huozhi, @kdy1, @acdlite, @devjiwonchoi, @eps1lon, @sokra, @bgw, @ijjk, and @kevva for helping!
Core Changes
- Always apply render preparations after running an action: #77898
- Exclude config package from bundling: #78671
- Upgrade builtin babel packages: #78673
Misc Changes
- fix: broken deploy test from #77898: #78692
- Fix timings data for deploy tests: #78681
- Turbopack: refactor codegen of module fragments: #78642
- Update Turbopack development test manifest: #78698
- Update Turbopack production test manifest: #78697
Credits
Huge thanks to @lubieowoce, @ijjk, @timneutkens, @mischnic, and @huozhi for helping!
Core Changes
- [dev-tools] Fix
widthtransition logic: #78635 - [ts-next-plugin] fix: warn only if no type: #78628
- [ts-next-plugin] fix: warn only if no type for separate export: #78629
- chore: Drop
@swc/counter: #78674 - Turbopack: use small thread local collector that flushes to global collector: #78343
- Upgrade React from
197d6a04-20250424to5dc00d6b-20250428: #78640 - Fix bad decoding for x-matched-path header: #78677
- Fix pages API rewrite case: #78644
- chore: update rspack to 1.3.8: #78485
Misc Changes
- refactor(turbo-tasks): Remove task id from RawVc::LocalOutput: #78561
- Turbopack: avoid compation on initial write: #78342
- Turbopack: Extract
EsRegexintoturbo-esregexcrate: #78639 - nit(turbo-tasks): Reorder the fields in RawVc::LocalOutput, add more documentation: #78562
- Update Turbopack development test manifest: #78660
- Turbopack: write a LOG file for the database: #78650
- Turbopack: Fix sizes=any with icon.svg metadata file: #78663
- Turbopack: commit compaction only when there are updates: #78651
- docs: improve
"use server"inline example: #78653 - Update Nissuer to alert for vulnerability reports: #78417
- Enable prettier for turbopack: #78559
Credits
Huge thanks to @bgw, @sokra, @wbinnssmith, @raunofreiberg, @devjiwonchoi, @timneutkens, @leerob, @kdy1, @ijjk, @jackwilson323, @SyMind, and @lukesandberg for helping!
Misc Changes
- refactor(turbo-tasks): Use an execution id instead of the parent task id to prevent local Vc escapes: #78487
Credits
Huge thanks to @bgw for helping!
Core Changes
- fix: make webpack handle "use cache" in node_modules : #78606
- Use React's
prerenderfunction for"use cache"with Dynamic IO: #78382 - Use
node:prefixed in ESM emit of standalone server.js: #78624 - feat: add ravendb library to server-external-packages.json: #78319
- docs: fix typo in ppr.ts: #78590
- Pre-compile busboy dependency: #78634
- Pages API handler interface follow-ups: #78638
- Repeat fix in #78387 for routes without params: #78568
Misc Changes
- Turbopack: parallel search_index in trace server: #78357
- Update Turbopack development test manifest: #78614
- Update Turbopack production test manifest: #78613
- Turbopack: fix unused import on mac: #78341
- Update MDX documentation to use next-mdx-remote-client: #78347
- perf(turbopack): Remove
ImportBindingfragments: #78470 - Turbopack: fix search_index merging in trace server: #78625
- docs: Add missing deprecation notice for legacyBehavior in Link component: #78405
- Turbopack: don't resolve traced references in dev: #78623
- Turbopack: Support passing binary data to Webpack loaders: #75056
- docs: link the Cloudflare adapter for Workers: #78610
- perf(turbo-tasks): Filter out
selfarguments: #78554 - refactor(turbo-tasks): Tighten up id factory overflow checks, tweak API to make construction easier: #78486
Credits
Huge thanks to @sokra, @gaearon, @kdy1, @mischnic, @mrbadri, @lubieowoce, @unstubbable, @luwes, @lucacasonato, @M4xymm, @jirihofman, @vicb, @ijjk, @bgw, and @acdlite for helping!
Core Changes
- [ts-next-plugin] clean up unused proxy: #78539
- [dynamicIO] Disallow only dynamic metadata: #78576
Misc Changes
- Turbopack: handle webpack loader event backpressure: #78462
Credits
Huge thanks to @timneutkens, @devjiwonchoi, and @gnoff for helping!
Core Changes
- fix: bodySizeLimit error responses + limit for non-multipart actions: #77746
- [dynamicIO] Do not skip dynamic validation when metadata is dynamic: #78574
- [dynamicIO] log dynamic validation errors consistently in dev: #78575
Misc Changes
- docs: add better-auth auth provider: #74075
Credits
Huge thanks to @lubieowoce, @gnoff, and @miki-tebe for helping!
Core Changes
- Upgrade React from
914319ae-20250423to197d6a04-20250424: #78516 - [dev-overlay] Move
error.nameto label: #78198 - [ts-next-plugin] update log for utils: #78538
- [ppr] Route Cardinality Updates: #78476
- Turbopack: support ignore comments for NFT fs access tracing: #78460
- Externalize manifest loading in pages-api: #78358
- Update font data: #78525
- refactor: skip the prospective render when there's a more specific route to be rendered: #78555
Misc Changes
- docs: update redirected link: #78527
- Docs IA 2.0: Create
publicfolder API reference: #78531 - Update Turbopack development test manifest: #78535
- Docs IA 2.0: Move Sass and CSS-in-JS pages to guides: #78536
- Turbopack: prevent hanging due to content hashing: #78545
- Docs IA 2.0: Move caching page to deep dive: #78537
- Batch ipc info messages to improve performance.: #78522
- docs: remove Vercel mentions and improve deployment page: #78557
- Clarify documentation on
to_resolved. s/strongly/statically/: #78560 - Updating to AWS Amplify Hosting: #78564
Credits
Huge thanks to @leerob, @delbaoliveira, @eps1lon, @devjiwonchoi, @mischnic, @lukesandberg, @wyattjoh, @ijjk, and @mauerbac for helping!
Misc Changes
- Docs IA 2.0: Delete config page in app docs: #78521
- fix(turbo-tasks): Store persistence of wrapped task on RawVc::LocalOutput: #78488
Credits
Huge thanks to @delbaoliveira and @bgw for helping!
Core Changes
- [next-server] ensure prepare is done before preloading entry: #78454
Example Changes
- examples: fix readmes: #78483
Misc Changes
- feat(turbopack): Implement side-effect optimization: #78047
- Docs IA 2.0: Move testing guides: #78418
- Update Turbopack production test manifest: #78491
- Turbopack: add app-dir alias for
next/*subpackages: #78447 - Docs IA 2.0: Move pages from Config section into guides: #78496
- Docs IA 2.0: Move
srcfolder page to API reference: #78499 - Docs: fix reference to
experimental.turbo: #78507 - docs: added a few legacy version tags: #78506
- Turbopack: Add react refresh runtime stubs to workers: #78433
- Docs IA 2.0: Move optimizing pages to guides: #78500
Credits
Huge thanks to @kdy1, @leerob, @delbaoliveira, @mischnic, @huozhi, and @wbinnssmith for helping!
Core Changes
- Turbopack: don’t warn about webpack being configured when
experimental.turbois set: #77998 - Upgrade React from
bc6184dd-20250417to914319ae-20250423: #78468 - Update turbopack to syn2: #78385
Misc Changes
- build: Update
mdxjs-rstov1: #78469 - fix(turbopack): Fix sourcemap path on windows: #78453
- fix(turbo-tasks): Add a few more transient-from-persistent task assertions: #78301
- fix(CI): Reduce Rspack test retries from 2 to 0 to reduce timeouts: #78390
- test: attempt to de-flake graceful shutdown test: #78464
- Fix potential race condition in createRouterAct: #78473
Credits
Huge thanks to @wbinnssmith, @kdy1, @bgw, @lubieowoce, @lukesandberg, and @acdlite for helping!
Core Changes
- [errors] fix edge server initial error is not sent via hmr: #78415
- misc: use correct capitals for React terms: #78445
- Skip empty prefetch request for dynamic routes: #78436
Misc Changes
- Update Turbopack production test manifest: #78441
- Turbopack: Use single write to loader ipc socket: #78423
- Update Turbopack development test manifest: #78442
- test: flake debugging - avoid logs being eaten by jest: #78449
- test: ignore streaming metadata in toBeEmpty assertions: #78456
Credits
Huge thanks to @timneutkens, @lubieowoce, @huozhi, @devjiwonchoi, and @acdlite for helping!
Core Changes
- [ts-next-plugin] fix: validate metadata node before checking type: #78414
Misc Changes
- docs: update React Compiler docs: #78427
- [ts-next-plugin] test: add
metadataandgenerateMetadatafixtures: #78409 - Turbopack: fix data-url CSS Module client references: #78428
Credits
Huge thanks to @feedthejim, @devjiwonchoi, and @mischnic for helping!
Misc Changes
- Docs IA 2.0: Move
Static Exportsto guides, createSelf-hostingguide: #78244 - docs(turbo-tasks): Lots of minor fixes, tweaks, and updates to the docs: #78329
- Docs IA 2.0: Move CI build caching page under guides, and create equivalent
/appguide: #78416 - Docs IA 2.0: Move authentication page under
guides: #78412 - docs: fix the path of the program attribute in debugging page: #78268
- test: log html output for a flaky test to debug it: #78424
- fix bad next.browser() arguments in socket.io test: #78309
Credits
Huge thanks to @delbaoliveira, @bgw, @Kamitenshi, and @lubieowoce for helping!
Core Changes
- fix: amphtml-validator WASM errors (for real): #78379
- Turbopack: Remove
next start --turbopack: #78384 - Upgrade React from
4a36d3ea-20250416tobc6184dd-20250417: #78322 - [chore] remove dead code missing required error: #78403
- [ts-next-plugin] remove typescript vfs and related metadata plugin: #78237
- [ts-next-plugin] auto import metadata type: #78258
- [ts-next-plugin] warn to add correct type for metadata exports: #78254
Example Changes
- chore(examples): replace uuid dependency with crypto.randomUUID: #77901
Misc Changes
- Turbopack: Use content for async loader digests, not availability info: #78386
- refactor(turbo-tasks): Use ResolvedVc for CollectiblesSource: #78392
- Turbopack: add random_change test case to test persistent caching changes: #78211
- Update Turbopack development test manifest: #78399
- Update Turbopack production test manifest: #78400
Credits
Huge thanks to @lubieowoce, @wbinnssmith, @bgw, @sokra, @Juneezee, @huozhi, and @devjiwonchoi for helping!
Misc Changes
- Update Turbopack production test manifest: #78371
- fix(turbo-persistence): Fix
verify_sst_contentfeature, improve unit test performance: #78388
Credits
Huge thanks to @bgw for helping!
Core Changes
- fix: handle incremental PPR with client segment cache: #78387
Misc Changes
- refactor(turbopack): Remove needless code: #78331
Credits
Huge thanks to @wyattjoh and @kdy1 for helping!
Core Changes
- Add onInvalidate option to router.prefetch: #77880
- Reserve bandwidth for most recently hovered link : #78362
Misc Changes
- docs: improve userAgent device.type example in userAgent.mdx: #78368
- fix(turbo-tasks): Make vc types use repr(transparent): #78327
Credits
Huge thanks to @acdlite, @sqidermad, and @bgw for helping!
Please see the Next.js Security Update for information about this security patch.
Please see CVE-2025-66478 for additional details about this release.
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Turbopack: list assert/strict as external (#80884)
- omit searchParam data from FlightRouterState before transport (#80734)
- bugfix: propagate staleTime to seeded prefetch entry (#81263)
Misc Changes
- document turbopack trace viewer (#78184)
Credits
Huge thanks to @ztanner, @mischnic, and @bgw for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- [metadata] render streaming metadata on the top level (#80566)
- [fix] clone the config module to avoid mutation (#80573)
Credits
Huge thanks to @huozhi for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Reinstate
vary(#79939) - fix(next-swc): Fix interestingness detection for React Compiler (#79558)
- fix(next-swc): Fix react compiler usefulness detector (#79480)
- fix(dev-overlay): Better handle edge-case file paths in launchEditor (#79526)
- Client router should discard stale prefetch entries for static pages (#79362)
Credits
Huge thanks to @gaojude, @kdy1, @bgw, and @unstubbable for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- backport: fix(turbopack): Store persistence of wrapped task on RawVc::LocalOutput (#78488) (#78883)
- @next/mdx: Use stable turbopack config options (#78880)
- Fix react-compiler: Fix detection of interest (#78879)
- Fix turbopack: Backport sourcemap bugfix (#78881)
- [next-server] preserve rsc query for rsc redirects (#78876)
- Update middleware public/static matching (#78875)
Credits
Huge thanks to @ijjk, @huozhi, @kdy1, @wbinnssmith, and @bgw for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- chore: Backport SWC-based RC optimization (#78260)
- fix: bump image-size@1.2.1 (#78164)
Credits
Huge thanks to @kdy1 and @styfle for helping!
Core Changes
- [Turbopack] refactor persistent caching from log based to cow approach: #76234
Misc Changes
- fix(turbo-tasks-fs): Handle filesystem watcher rescan events: #78045
Credits
Huge thanks to @bgw and @sokra for helping!
Core Changes
- Add graceful error boundary for bots requests: #78298
- make sure eslint-plugin-next is built when running 'pnpm dev': #78305
- Migrate pages API routes to handler interface: #78166
- Update middleware public/static matching: #78325
- Fix dynamic route param encoding: #78326
Misc Changes
- fix(turbopack): Fix duplicate modules when tree shaking: true: #78203
- test: try to fix flakiness in amphtml util: #78304
- remove BrowserInterface: #78308
Credits
Huge thanks to @kdy1, @huozhi, @lubieowoce, and @ijjk for helping!
Core Changes
@next/mdx: Use stable turbopack config options: #78261- Upgrade React from
b04254fd-20250415to4a36d3ea-20250416: #78297
Misc Changes
- Turbopack: fix duplicate unsupported edge import modules: #78236
- Turbopack: Include Next.js version in panic handler report: #78263
Credits
Huge thanks to @wbinnssmith and @mischnic for helping!
Core Changes
- fix: alternate bundler support for dropping client pages in AMP: #77601
- [errors] refactor default global-error into a separate file: #78182
- [metadata] render streaming metadata on the top level: #77620
- [metadata] skip head cache in default slot: #78206
Misc Changes
- Docs IA 2.0: Move Production Checklist under
Guides: #78240 - Docs: Fix nav item lettercasing for multi-zones: #78250
- [docs] fix function signature of og image: #78277
- Turbopack: dedupe additional traced references: #78241
- Update Turbopack development test manifest: #78274
- [test] Improve coverage for fetch errors in Edge runtime: #78257
- Update Turbopack production test manifest: #78273
Credits
Huge thanks to @delbaoliveira, @ScriptedAlchemy, @huozhi, @mischnic, and @eps1lon for helping!
Core Changes
- Preserve slashes when custom URL schemes are used in redirects: #78176
- ignore-list published sources if they have a sourcemap: #78242
- Upgrade React from
1d6c8168-20250411to39cad7af-20250411: #78152 - Turbopack: add test case for persistent caching: #77030
- Upgrade React from
39cad7af-20250411tob04254fd-20250415: #78253
Misc Changes
- Turbopack: Support ECMAScript styleregex with negative lookahead in
require.contextcalls: #78251
Credits
Huge thanks to @eps1lon, @sokra, and @lukesandberg for helping!
Core Changes
- [dev-overlay] Add dedicated label for recoverable errors: #78186
- [chore] remove unused __NEXT_PRIVATE_RUNTIME_TYPE: #78230
Misc Changes
- [docs] Update 03-fonts.mdx: #77965
- Turbopack Persistent Caching: Use SmallVec to avoid allocations for small values written to DB: #78136
- Turbopack: wait for tracing to be written before exiting: #78210
- refactor(turbopack): Prepare removal of fake AST in tree-shaking: #78172
- Turbopack: more module ident collisions: #78207
- fix(turbo-tasks-fs): Update notify-rs, handle recursive symlinks in realpath implementation, add an e2e test for symlinked files: #78220
- Update Turbopack production test manifest: #78224
- Update Turbopack development test manifest: #78225
- Turbopack: normalize ref type for external tracing: #78226
- Update Rspack production test manifest: #78222
- Getting Started Docs: Add
deployingpage: #77720 - Docs IA 2.0: Move multi-zones docs to
Guides: #78238 - Turbopack: Do multiple unit test runs: #78212
- Turbopack: fix cell not found bug: #78246
- Prevent typescript errors in IDE for newly generated tests: #78247
Credits
Huge thanks to @praizjosh, @sokra, @kdy1, @mischnic, @eps1lon, @bgw, @huozhi, @delbaoliveira, and @unstubbable for helping!
Core Changes
- [dev-overlay] Stop squashing hydration related errors in App Router: #78140
- [test] Enable
strictNullChecksin test utils: #78142 - Document Turbopack trace viewer: #78184
- [dev-overlay] Fix error dialog resizing logic: #78144
- Include types in published
eslint-plugin-next: #78109 - [dev-overlay] Stop appending wrong Owner Stacks to SSR-only shell errors: #77302
Misc Changes
- [test] Assert on all errors in app/ hydration-error suite: #78132
- Skip failing test via manifest instead: #78161
- Update Turbopack development test manifest: #78179
- Correct require.context relative import keys to match Webpack: #78148
- Getting Started Docs: Clean up
docs/appanddocs/pagespages: #78151 - Update Rspack production test manifest: #78177
- Update Turbopack production test manifest: #78180
- Update Rspack development test manifest: #78178
- Turbopack: fix duplicate facade module: #78191
- Added @types/jest in installtion commands.: #78090
- Update turbopack.mdx: #78082
- docs: improve wording around NextRequest and query params: #77923
- Docs IA 2.0: Move version upgrade docs under
Guides: #78189 - Docs IA 2.0: Move SPA docs under
Guides: #78195 - Docs IA 2.0: Move migration docs under
Guides: #78193 - Docs Papercuts: #78200
- feat(turbo-tasks): Generate a trace of transient tasks when panicking: #77600
- Turbopack: fix duplicate module from internal ref: #78194
- Fix externals doc validation: #78208
Credits
Huge thanks to @eps1lon, @mischnic, @Cy-Tek, @delbaoliveira, @timneutkens, @raunofreiberg, @devchaudhary24k, @Neschadin, @OreQr, @drewlong314, @bgw, and @ijjk for helping!
Core Changes
- [next-server] remove unnecessary query shallow copy: #78003
- [dev-overlay] disable copy button when clipboard is not available: #78101
- [dev-overlay] Stop stashing React error details on error instances: #77975
- [dynamicIO] Model invalid dynamic on empty shells: #77270
- fix: bump
image-size@1.2.1: #78149 - Handle graceful fallback for custom error boundaries: #78121
Misc Changes
- refactor(turbo-tasks): Check for transient tasks called from persistent tasks in more places: #77760
- [font] prefix leading numeric google-font name with underscore: #78127
- build: Update
swc_coretov22.3.1: #78129 - Update Turbopack production test manifest: #78124
- [test] isolate parallel metadata test: #78134
- Update Turbopack development test manifest: #78125
- Update Rspack production test manifest: #78123
- [test] Add dedicated tsconfig for test utils: #78141
- Turbopack: load chunks only once: #75143
- Reenable a few more Turbopack tests: #78153
- test: remove "@testing-library/jest-dom" from default jest setup: #78157
- Turbopack: Update toolchain to 2025-04-14 (Reapply #78062): #78167
Credits
Huge thanks to @bgw, @Fonger, @huozhi, @ospira, @eps1lon, @kdy1, @gnoff, @styfle, @mischnic, @lubieowoce, and @wbinnssmith for helping!
Core Changes
- Upgrade React from
c44e4a25-20250409to1d6c8168-20250411: #78067
Misc Changes
- chore(CI): Add lukesandberg to turbopack team: #78074
- [test] Activity has types and supports react-server: #78066
Credits
Huge thanks to @bgw and @eps1lon for helping!
Core Changes
- Add graceful error fallback for bots requests: #77916
Misc Changes
- chore(github): remove redundant markdown body: #76187
- chore(CI): Mention Rspack explicitly, use arewerspackyet.com domain: #77995
- Update Turbopack production test manifest: #78053
- Turbopack: support for CSS Modules in Data URLs: #78040
- test: adjust default timeouts for [waitFor]elementByCss: #78026
- Revert Rust upgrade to nightly-2025-04-10: #78062
- Update Rspack development test manifest: #78049
- Update Rspack production test manifest: #78050
Credits
Huge thanks to @Marukome0743, @bgw, @jantimon, @lubieowoce, @mischnic, and @huozhi for helping!
Core Changes
- Experimental bfcache: Restore state w/
: #77992
Misc Changes
- [test] separate rsc-basic tests: #78038
Credits
Huge thanks to @huozhi and @acdlite for helping!
Core Changes
- fix: ensure app router not found works when deployed with pages i18n config: #77905
- Uninstall existing uncaughtException listeners to prevent the process from crashing: #78042
Misc Changes
- Update Rust toolchain to nightly-2025-04-10: #78039
Credits
Huge thanks to @wbinnssmith, @ztanner, and @acdlite for helping!
Core Changes
- Move unhandled rejection handling to shared path: #77997
Misc Changes
- Turbopack: bundle only
new Workerwithnew URL: #78010 - Turbopack: use hashbrown HashMaps instead of now-removed std raw entry api: #78032
- Turbopack: proper error message for swcPlugins: #77990
Credits
Huge thanks to @mischnic, @wbinnssmith, and @acdlite for helping!
Core Changes
- [dev-overlay] Unify error deduplication logic: #78017
- fix: use the match result after matching using the matched path header: #77994
- Upgrade React from
3fbfb9ba-20250409toc44e4a25-20250409: #78031
Misc Changes
- [test] Remove global styled-components install : #77782
- Cleanup
config.experimental.reactOwnerstack: #78021 - Docs: Improve
"use cache"andcacheLifeAPI references: #78024 - Docs: Update
useLinkStatusAPI reference: #78022 - Turbopack: add debug assertion to check for duplicate modules: #78025
Credits
Huge thanks to @eps1lon, @delbaoliveira, @wyattjoh, and @sokra for helping!
Core Changes
- [next-server] fix params duplicate in query after rewrite: #77939
- [next-server] preserve rsc query for rsc redirects: #77963
- Turbopack: fix a bug where marking a task a completed causes a panic when reading the output: #77922
- Turbopack warning spelling fix: #77999
- Allow URL schemes that include
+,-or.: #77932 - [dev-overlay] Remove unused hydration error related code: #77929
Example Changes
- [test] Use React 19.1 everywhere: #77895
Misc Changes
- chore(cna): use short tailwind classname of font-family: #77271
- Fix CSS Data URL test on Turbopack: #77970
- Turbopack: fix dynamic request lookup with only a single match: #77986
- Update Turbopack production test manifest: #78007
- Update Turbopack development test manifest: #78008
- [test] Assert on all errors in Redbox matchers: #77907
- Turbopack: check css requests in test: #77285
- 15.3 Docs: Turbopack for
build: #77730 - [test] Stop asserting on internal stackframes when features are working as intended: #78015
- Turbopack: asset ident instead of chunk item ID in CSS: #78018
- fix(turbopack): Consider scoping of
vardeclarations: #77954
Credits
Huge thanks to @huozhi, @Marukome0743, @sokra, @mischnic, @wbinnssmith, @eps1lon, @razzeee, @delbaoliveira, and @kdy1 for helping!
Misc Changes
- Turbopack: use correct env var for uploading test results: #77988
Credits
Huge thanks to @sokra for helping!
Core Changes
- [dev-overlay] Customize
<select>styling for consistency: #76973 - Upgrade React from
029e8bd6-20250306to0ca3deeb-20250311: #76989 - [metadata]: add pinterest meta tag: #76988
- [dev-overlay] ensure stripping overlay bundle in prod build: #76976
- Apply env inlining during generate build mode: #76990
- Turbopack: Implement deploymentId: #76904
- track persistent caching usage: #76996
- [metadata] re-insert icons to head for streamed metadata: #76915
- Upgrade React from
0ca3deeb-20250311to6aa8254b-20250312: #77033 - Move static-env imports: #77035
- [dev-overlay] Add
sizesetting to preferences: #77027 - Add config for only generating static env: #77038
- chore(HMR clients): Clean up and share code between app and pages router: #76960
- Add dev warning for cross-origin and stabilize allowedDevOrigins: #77044
- unify allowed origin detection handling: #77053
- Handle hash change in all files for static env: #77058
- [dev-overlay] highlight errored code line for runtime errors: #77078
- NFT: Ignore all of Webpack: #77081
- Add experimental build mode flag for env: #77089
- (feat) support client-side instrumentation: #76916
- Fix JSDoc comment for
'seconds'cache life profile: #77084 - refactor(HMR clients): Encapsulate some of the turbopack state tracking into a shared TurbopackHmr class: #76994
- Slightly improve error handling for unknown server actions: #77135
- Fix output standalone for alternative bundler: #76971
- Add alternate bundler plugin information to
next info: #77059 - [metadata] remove the default segement check for metadata rendering: #77119
- [dev-overlay] Fix stacking order of highlighted line: #77189
- Upgrade React from
6aa8254b-20250312to5398b711-20250314: #77129 - fix(styled-jsx): Pass
useLightningcssoption tostyled-jsxcorrectly: #77008 - log the instrumentation-client execution time: #77121
- Turbopack: canary-gate production builds: #77146
- [dev-overlay] remove special handling for missing tag error : #77147
- chore(react-dev-overlay): Remove confusingly underscored variables in
useErrorOverlayReducer: #77205 - Update middleware request header: #77201
- Update default allowed origins list: #77212
- Ensure deploymentId is used for CSS preloads: #77210
- chore(HMR clients): Fix a bunch of typescript errors by including the appropriate webpack type declarations: #77207
- Update cache handler interface: #76687
- Turbopack: don't include AMP optimizer in NFT: #77242
- Server actions should not read stale data after calling
revalidate*: #76885 - [dev-overlay] Blur fader for scrollable container: #77196
- Make
revalidate*work when followed by a redirect in a route handler: #77090 - feat: onNavigate for link: #77209
- fix: pass telemetry plugin rspack tests: #77257
- feat(eslint-plugin): add minimal built-in flat presets: #73873
- [perf] skip loading client manifest for static metadata routes: #77260
- Upgrade React from
5398b711-20250314toc69a5fc5-20250318: #77249 - [ppr] Handle failed resume data cache entries: #77258
- Bypass
"use cache"caches when Draft Mode is enabled: #77141 - chore(HMR clients): Clean up tryApplyUpdates, reduce differences between app/pages versions: #77219
- Upgrade React from
c69a5fc5-20250318todb7dfe05-20250319: #77295 - Turbopack: layout segment optimization for Pages: #74815
- [dev-overlay] Make footer sticky without side effects: #77327
- Alternate bundler: show state in app info message: #77259
- Revert "Turbopack: layout segment optimization for Pages": #77339
- [metadata] add Yeti to html limited bots: #77335
- [dev-overlay] Remove unused code from pages: #77325
- [metadata] remove dead code of metadata routes handling: #77336
- Alternate bundler: pass more tests and update to 1.3.0-beta: #77269
- [metadata] fix the metadata route like pages and refactor utils: #77264
- fix: absolute assetPrefix url with path: #77256
- clean up useReducer code re dev indicator: #77354
- test: ensure that router identity stays stable when navigating: #77356
- [dev-overlay] Remove unused fields from hydration error state: #77332
- Turbopack: implement optimized css production chunking: #77284
- only log when instrumentation client takes too long: #77378
- switch development origin verification to be opt-in rather than opt-out: #77395
- remove direct ip/port bypass in dev origin check: #77414
- ensure /__next middleware URLs are included in the origin check: #77416
- exclude images and static media from dev origin check: #77417
- Refactor metadata and viewport preloading: #77400
- [dev-overlay] Remove unused fields from unhandled error action event: #77333
- Turbopack: Add --turbopack for next start: #77442
- Update README: #77464
- Remove unnecessary indirections around dispatch-related methods: #77423
- Lift public router instance to module level : #77426
- directly import param resolver in metadata: #77401
- [metadata] always serve streaming metadata in build: #77437
- directly import search param resolver in metadata: #77402
- Remove forwardRef from Link in App Router: #77471
- Match subrequest handling for edge and node: #77474
- Add deprecation warning for legacyBehavior prop: #77473
- feat: useLinkStatus: #77300
- [dynamicIO] Avoid memory leak warning for hanging promises: #77480
- [dev-overlay] Remove "Unhandled Runtime Error" label: #77484
- Upgrade React from
db7dfe05-20250319to740a4f7a-20250325: #77507 - Upgrade React from
740a4f7a-20250325to313332d1-20250326: #77527 - Do not call
expireTags/getExpirationunnecessarily: #77570 - fix(jest): stricter regex for 'server-only' in default config: #77588
- Fix: RESTORE_ACTION should not be thenable: #77582
- Use
NEXT_PRIVATE_DEBUG_CACHEenv variable for cache handler debug logs: #77585 - fix: make sure body can be read using
nodejsruntime in middleware: #77553 - Update alternate bundler and pass more tests : #77579
- Refactor build scripts and rewrite pack-next in TypeScript: #77536
- fix isCsrfOriginAllowed handling for localhost: #77594
- Turbopack build: fix deterministic build test: #77618
- Turbopack build: Fix urlencoding test: #77622
- [og] fix vercel og build issue on windows: #77650
- [Segment Cache] Add "client-only" option: #77655
- Remove useSyncExternalStore from useIsDevRendering: #77651
- Track navigation timestamp on CacheNode: #77251
- Upgrade @playwright/test and cleanup internal APIs: #77659
- Refactor: move
"use cache"revalidation logic out of incremental cache: #77577 - Remove obsolete update of implicit tags expiration after server action: #77595
- Revert "Remove useSyncExternalStore from useIsDevRendering (#77651)": #77672
- Upgrade React from
313332d1-20250326to63779030-20250328: #77643 - Turbopack build: Add marker for when a build used Turbopack: #77674
- feat(images): use experimental
isrFlushToDiskoption to prevent writing optimized images to cache: #70645 - doc: instrumentation-client: #77649
- Alternate bundler: use equivalent native plugins for built-in plugins: #77355
- Resolve Viewport separately from Metadata: #77427
- fix(turbopack): Suppress logging for short no-op turbopack HMRs: #76924
- Turbopack build: Fix node-file-trace test: #77641
- Turbopack build: Implement error when using next start without --turbopack: #77678
- legacyBehavior deprecation error should only trigger once: #77687
- Pass only required props to NonIndex: #77685
- Revert "fix: make sure body can be read using
nodejsruntime in middleware": #77690 - [dev-overlay] Harden types when handling hydration mismatches: #77334
- [dev-overlay] Fix ref warning when Pages Router with React 18 is used: #77726
- add support for cssmodules-pure-no-check to allow global CSS features like View Transitions: #77321
- [dev-overlay] Only warn once per invalid sourcemap: #77444
- [dynamicIO] only abort once per prerender: #77747
- Turbopack build: Move Turbopack marker to SERVER_FILES_MANIFEST: #77711
- Reapply "Turbopack: layout segment optimization for Pages" (#77339): #77696
- feat(next/image): support
new URL()forimages.remotePatterns: #77692 - [dev-overlay] remove text wrap for terminal: #76953
- Upgrade React from
63779030-20250328to040f8286-20250402: #77742 - Optimize server runtime bundles: #77723
- Turbopack Build: Remove cases of process.env.TURBOPACK: #77757
- [dev-overlay] Fix unactionable
useLayoutEffectwarning if React 18 is used: #77737 - [dev-tools] Fix flashing of disabled state on indicator: #77727
- Webpack build: Add compiled in x seconds in missing places: #77751
- Ignore an existing HMR refresh hash cookie with
next start: #77714 - Turbopack build: Replace process.env.TURBOPACK usage: #77783
- Client instrumentation: onRouterTransitionStart: #77791
- Turbopack: log telemetry events when
TurbopackInternalErrors occur: #77660 - Rename alternate bundler package name: #77793
- Turbopack: fix
sideEffectsmatching for non-relative globs: #77693 - Revert "Upgrade @playwright/test and cleanup internal APIs": #77814
- [next-ts-plugin] fix: language service crashes / metadata plugin not working: #77213
- [dev-overlay] always display bundler name on version info: #77739
- [dev-overlay] sync horizontal scrollbar style: #77769
- [dev-overlay] Read
issueCountfrom non-asyncerrorsarray: #77821 - [dev-overlay] Fix error dialog resizing logic: #77830
- Turbopack Build: Optimize instrumentation hook generation: #77832
- [next-server] skip setting vary header for basic routes: #77797
- Lazily call
refreshTagsandgetExpiration: #77779 - Add debug logging to default cache handler and
"use cache"wrapper: #77827 - [ts-next-plugin] fix: properly exit when failed to initialize: #77842
- Alternate bundler: correctly inject react refresh loader: #77713
- [dynamicIO] Fix dev warmup: #77829
- fix: don't reset the prefetch segment data routes on loop: #77845
- Ensure
searchParamsaccess in"use cache"triggers error when caught: #77838 - Revert "[dev-overlay] Fix error dialog resizing logic": #77849
- fix: add cache tags to segment prefetch responses: #77846
- Avoid microtaskiness when lazily fetching from cache handlers: #77843
- [Experiment] : #77866
- [dev-overlay] disable font ligatures: #77865
- Enable process.env.TURBOPACK when process.env.IS_TURBOPACK_TEST is set: #77894
- [ts-next-plugin] fix: use
getSourceFileinstead offileExiststo check file existence: #77863 - fix: only set request phase to "action" when actually running an action: #76993
- Alternate bundler: fix react refresh and adjust sourcemap: #77875
- Upgrade React from
040f8286-20250402to33661467-20250407: #77899 - refactor: rename isAction to isPossibleServerAction: #77011
- [logging] improve logging of port retry: #77868
- Remove canary-gate and add experimental warning for alternate bundler: #77806
- fix(next/image): bump sharp@0.34.1: #77839
- Turbopack builds: Remove canary-gate and add experimental warning: #77808
- feat: Disable char frequency analysis for mangler: #77887
- Set Turbopack env var for internal modules: #77902
- Don't externalize various new
next/*entrypoints: #77844 - Revert "Fix: RESTORE_ACTION should not be thenable": #77909
- Fix resolve alternate bundler in monorepo: #77913
- Output server.mjs for standalone with type: module: #77944
Example Changes
- with-polyfills example: only link to specific browsers: #77211
- Add example for alternate bundler: #77057
- chore(examples): remove examples that can be v0'd: #77349
- Alternate bundler example: use
canaryversion: #77754 - Fix Wasm example: #77924
Misc Changes
- [test] consolidate hmr test for react 18.3: #76975
- docs: update API example: #76987
- docs: add Pinterest Rich Pins metadata example: #77025
- fix(CI): Correctly call test/update-bundler-manifest.js script: #77000
- Update bundler development test manifest: #77040
- Update bundler production test manifest: #77043
- Update Turbopack development test manifest: #77041
- chore(github): remove /examples from contribution guidelines, remove examples issue template: #77050
- Turbopack: when reading a non yet existing cell from a in progress tasks, wait for the computation to finish: #77029
- Turbopack: wait before reading cells when the task is scheduled: #77031
- Turbopack: don't call individual() again: #77048
- Turbopack: create module graph strongly consistent: #77051
- Turbopack: Vc stability of ModuleGraph: #77052
- Turbopack: fix corrected time calcuation for trace server: #77080
- Turbopack: fewer manifests for static metadata: #77087
- Update Turbopack development test manifest: #77071
- Update bundler production test manifest: #77069
- Update bundler development test manifest: #77068
- Revert "Update rust toolchain to 2025-03-12": #77103
- perf(turbopack): Merge nodes with same starting point: #76938
- refactor(actions): Remove turbopack magic comments: #77063
- Update Turbopack development test manifest: #77108
- Turbopack: move must_use to actually have an effect: #77111
- Turbopack: align chunking with graph entries: #76441
- Turbopack: ChunkGroup in evaluated_chunk_group: #76593
- Turbopack:
charset=utf-8in data-url source maps: #77112 - Update bundler production test manifest: #77107
- Update bundler development test manifest: #77106
- Update Turbopack production test manifest: #77109
- docs(scripts): update Script -> beforeInteractive docs: #77136
- Add doc for instrumentation client hook: #77134
- docs(scripts): missing 'soon': #77137
- doc: diff between instrumentation vs instrumentation-client: #77143
- Alternate bundler: add index.d.ts types to plugin: #77144
- Alternate bundler: Add
react-refreshas a dependency of plugin: #77142 - build: Update
swc_coretov16.6.0: #77155 - Allow building node-pty in tests: #77187
- Don't mark ppr-errors Turbopack dev tests as failed: #76951
- Bump lightningcss: #77132
- Update Turbopack production test manifest: #77183
- Turbopack: fix graph layout segment optimization: #77094
- Turbopack: split up server actions modules for better treeshaking: #76877
- Turbopack: conditional parse in apply_module_type: #77191
- build: Update
swc_coretov16.6.2: #77194 - Turbopack: more tracing: #75351
- Update bundler development test manifest: #77180
- Better failure tracking for middleware-custom-matchers-i18n: #76974
- Update bundler production test manifest: #77179
- fix(test/e2e/prerender): Remove race condition in test: #77222
- Update Turbopack production test manifest: #77228
- Update Turbopack development test manifest: #77227
- [Turbopack] basic production chunking for CSS: #75049
- docs: optimizing local dev: #77140
- Update bundler production test manifest: #77225
- devlow-bench: wait for complete ready for server startup event: #77217
- fix(CI): Re-enable retries for bundler integration tests: #77265
- Turbopack: handle non chunkable modules in module batches: #77282
- Update Turbopack development test manifest: #77276
- Update Turbopack production test manifest: #77275
- Turbopack: avoid single css chunks when there is only a single chunk item: #77283
- Update bundler development test manifest: #77272
- Update bundler production test manifest: #77273
- Turbopack: compute ordered entries in module batches: #77294
- Update Turbopack production test manifest: #77316
- Update Turbopack development test manifest: #77317
- Update bundler production test manifest: #77314
- fix(turbopack): Call
.minify()of lightningcssStyleSheet: #77313 - fix(CI build_and_deploy): Use a larger fetch-depth for build-native job: #77307
- chore(turbopack): Fix a few syntactic nits: #77310
- Update bundler development test manifest: #77315
- Turbopack: refactor CssEmbed to avoid creating a chunk item: #77303
- fix: Update
swc_coreand userayoninstead ofchili: #77338 - Fix chakra link: #77280
- Update Turbopack production test manifest: #77366
- Update Turbopack development test manifest: #77365
- Turbopack: ignore static asset imports for Edge: #77382
- Update bundler development test manifest: #77364
- docs: clarify middleware use cases: #77438
- fix(turbopack-bench): Limit
copy_dirconcurrency to avoid running out of file descriptors: #77468 - docs: fix typo: #77483
- Update
swc_coretov16.10.0: #77489 - fix(turbopack): Use strongly consistent reads for sourcemaps in napi FFI boundary: #77511
- Update mappings in
launch.jsonto improve debugging in VSCode: #76559 - chore(ci): Configure codspeed: #76884
- Update bundler production test manifest: #77602
- Update bundler development test manifest: #77603
- Update Turbopack development test manifest: #77605
- Update Turbopack production test manifest: #77604
- Turbopack build: Fix symbolic-file-links test: #77615
- Update pnpm swc-build-native's file path: #77623
- fix: Use standard PostCSS configuration in create-next-app format for ecosystem compatibility: #77376
- Turbopack build: Fix basepath test: #77630
- Turbopack: disable pages dir css test cases: #77380
- Update bundler development test manifest: #77627
- Update Turbopack development test manifest: #77628
- Update bundler production test manifest: #77626
- refactor(turbo-tasks): Make TraceRawVcs a supertrait of TaskInput: #77397
- refactor(turbo-tasks): Make TraceRawVcs a supertrait of MagicAny: #77596
- fix(turbopack): Recognize urls starting with // as external: #77526
- Update CI build caching docs to include
bunand other package manager: #77633 - fix(turbopack): Fix panic while tree shaking optimization: #77492
- fix(turbopack): Prevent duplicate in tree shaking: #77491
- Turbopack: Skip ssr processing when next/dynamic ssr: false: #77636
- Turbopack Build: CSR bailout test skip check for file path: #77639
- Turbopack: fix side effects optimization bug: #77640
- Turbopack: add tracing for fetch calls: #77673
- [test] Update stale snapshots: #77680
- Turbopack: fix bug in handling of module batches: #77638
- pack-next: use default
--js-buildas option instead of--no-js-build: #77686 - Turbopack: Allow overriding tsconfig path via next-config: #77563
- Scripts: migrate unpack-next to TypeScript: #77538
- chore(turbopack): Make TaskInputs use ResolvedVc: #77700
- Getting Started Docs: Add
Metadata and OG imagespage: #74077 - Getting Started Docs: Add
Upgradepage: #77717 - Docs IA 2.0: Rename
ExamplestoGuides: #77722 - build: Update
swc_coretov19.0.0: #77669 - Add Josh to Turbopack team for created-by label: #77738
- Turbopack: use better ident for worker chunk group: #77731
- chore(turbo-tasks): Remove redundant ast-grep lint rule: #77701
- fix(docs): update error type in notFound function description: #77503
- Update bundler development test manifest: #77706
- Update Turbopack production test manifest: #77709
- Turbopack: refactor resolve_url_reference to avoid chunk_path: #77732
- Update Turbopack development test manifest: #77708
- Port "app-document" test to e2e: #77748
- [ci]: skip build-windows job for docs only change: #77743
- Update bundler production test manifest: #77707
- chore(turbo-tasks): Audit all remaining uses of
Vcin a struct: #77756 - docs:
instrumentation-clientfollow up: #77752 - [test] Get rid of unrelated "Invalid hook call" error from tests using
styled-components: #77736 - Turbopack: keep side-effect-full imports: #76545
- Docs: Recommend inline
use serverand update examples: #77770 - Revert "Docs: Recommend inline
use serverand update examples": #77771 - doc: useLinkStatus: #77648
- Update Turbopack production test manifest: #77767
- Update bundler development test manifest: #77765
- [docs] fix lint issue in use link status doc: #77785
- doc: onNavigate: #77647
- Update bundler production test manifest: #77764
- doc: useLinkStatus doc follow-up: #77790
- Update Turbopack development test manifest: #77766
- [ci] remove needs build-native for lint job: #77787
- test(examples): update turbopack manifest: #75092
- [test] fix bad test fixuture for perf test: #77804
- [test] fix react 19.1 related tests: #77809
- doc: onNavigate follow-up: #77805
- fix(turbopack): Apply
hygieneif mangling is disabled: #77815 - Turbopack: omit empty source map when code starts with a new line: #77734
- [next-lint] test: remove eslint config snapshot testing: #77818
- Turbopack: avoid deriving css source map path from generated code path: #77735
- Turbopack: pass asset to chunk_path to allow to use content hash later: #77772
- Docs IA 2.0: Add
Deep Divesection placeholder: #77724 - Turbopack: use document.currentScript instead of chunk path literal: #77773
- Turbopack: don't include client-fs assets in NFT: #77799
- Turbopack: enable content hashing in production: #77775
- Turbopack: correctly track
await import("path")in static analysis: #77811 - fix(turbopack-cli): Make turbopack_cli::dev::source a persistent (non-transient) task: #77798
- [test] temporarily disable flaky test for react 18: #77848
- Update Turbopack production test manifest: #77872
- Rename process.env.TURBOPACK to process.env.IS_TURBOPACK_TEST for tests: #77892
- [test] consolidate missing tag dev test: #77896
- fix(Turbopack): Intermittent CapacityExceeded Error in Persistent Caching: #77691
- fix: flaky test detection needs to use new turbopack flag: #77908
- fix: apply Geist fonts correctly on default cna template: #77237
- Update bundler development test manifest: #77884
- Update bundler production test manifest: #77885
- Update Turbopack development test manifest: #77886
- Update bundler production test manifest: #77914
- Update bundler development test manifest: #77915
- fix(turbopack): Apply
import_mapoption ofswc_emotioncorrectly: #71776 - Turbopack: handle removed routes: #77890
- build: Update
swc_coretov21.0.1: #77918 - IA 2.0: Review
Getting StartedSection: #77921 - test: attempt to de-flake rsc-basic: #77934
- docs: revert image 15.3 change until live: #77941
- Turbopack: remove CSS comments when minifying: #77940
Credits
Huge thanks to @raunofreiberg, @huozhi, @ijjk, @timneutkens, @gaojude, @leerob, @mezotv, @bgw, @samcx, @ztanner, @sokra, @mischnic, @wbinnssmith, @kdy1, @unstubbable, @ahabhgk, @ScriptedAlchemy, @SukkaW, @wyattjoh, @eps1lon, @Amirroid, @Netail, @lubieowoce, @gnoff, @jackwilson323, @acdlite, @sbougerel, @kevva, @kasperpeulen, @Cy-Tek, @dvoytenko, @husseinraoouf, @isBatak, @iamkd, @delbaoliveira, @jantimon, @padmaia, @Bernardoow, @styfle, @devjiwonchoi, @JamBalaya56562, and @Marukome0743 for helping!
Core Changes
- Turbopack: write
.next/turbopackto mark Turbopack builds: #77949 - Telemetry: track failed builds and build bundler usage: #77943
- Update alternate bundler to 1.3.4: #77955
- Turbopack: shutdown turbo-tasks even when build crashes: #77937
- Turbopack: support
config.turbopackand deprecateconfig.experimental.turbopack.: #77850 - Add experimental.routerBFCache to NextConfig: #77951
- Revert standalone extension change for module type: #77978
- Upgrade React from
33661467-20250407to3fbfb9ba-20250409: #77982
Misc Changes
- Update bundler development test manifest: #77919
- doc: fix useLinkStatus import: #77834
- Turbopack: add attribute name to trace server search: #77938
- fix(turbopack): Consider break label as conditional: #77953
- compile-time error for useLinkStatus imports in server components: #77962
- add build script for next-error-code-swc-plugin: #77931
- docs: improve file tree: #77889
- Turbopack: only invalidate removed cells once: #77936
- test: attempt to unflake useLinkStatus interrupted navigation test: #77969
- Ignore generated
@next/swc-wasm-nodejsJS code during linting: #77971 - Turbopack: update docs for
config.turbopack: #77853 - Turbopack: fix instrumentation asset context name: #77973
- Revert "docs: revert image 15.3 change until live": #77977
- Update bundler production test manifest: #77958
- Update bundler development test manifest: #77959
- Turbopack: read asset entries strongly consistent: #77974
Credits
Huge thanks to @masterkain, @wbinnssmith, @ahabhgk, @sokra, @kdy1, @lubieowoce, @devjiwonchoi, @eps1lon, @acdlite, @mischnic, @styfle, and @ijjk for helping!
Core Changes
- Fix resolve alternate bundler in monorepo: #77913
- Output server.mjs for standalone with type: module: #77944
Misc Changes
- docs: revert image 15.3 change until live: #77941
- Turbopack: remove CSS comments when minifying: #77940
Credits
Huge thanks to @leerob, @ahabhgk, @ijjk, and @mischnic for helping!
Core Changes
- Don't externalize various new
next/*entrypoints: #77844 - Revert "Fix: RESTORE_ACTION should not be thenable": #77909
Example Changes
- Fix Wasm example: #77924
Misc Changes
- Turbopack: handle removed routes: #77890
- build: Update
swc_coretov21.0.1: #77918 - IA 2.0: Review
Getting StartedSection: #77921 - test: attempt to de-flake rsc-basic: #77934
Credits
Huge thanks to @sokra, @mischnic, @kdy1, @delbaoliveira, @lubieowoce, and @devjiwonchoi for helping!
Core Changes
- Remove canary-gate and add experimental warning for alternate bundler: #77806
- fix(next/image): bump sharp@0.34.1: #77839
- Turbopack builds: Remove canary-gate and add experimental warning: #77808
- feat: Disable char frequency analysis for mangler: #77887
- Set Turbopack env var for internal modules: #77902
Misc Changes
- Update Turbopack development test manifest: #77886
- Update bundler production test manifest: #77914
- Update bundler development test manifest: #77915
- fix(turbopack): Apply
import_mapoption ofswc_emotioncorrectly: #71776
Credits
Huge thanks to @wbinnssmith, @styfle, @kdy1, and @timneutkens for helping!
Core Changes
- refactor: rename isAction to isPossibleServerAction: #77011
- [logging] improve logging of port retry: #77868
Misc Changes
- fix(Turbopack): Intermittent CapacityExceeded Error in Persistent Caching: #77691
- fix: flaky test detection needs to use new turbopack flag: #77908
- fix: apply Geist fonts correctly on default cna template: #77237
- Update bundler development test manifest: #77884
- Update bundler production test manifest: #77885
Credits
Huge thanks to @lubieowoce, @Cy-Tek, @huozhi, @ztanner, and @Marukome0743 for helping!
Core Changes
- [dev-overlay] disable font ligatures: #77865
- Enable process.env.TURBOPACK when process.env.IS_TURBOPACK_TEST is set: #77894
- [ts-next-plugin] fix: use
getSourceFileinstead offileExiststo check file existence: #77863 - fix: only set request phase to "action" when actually running an action: #76993
- Alternate bundler: fix react refresh and adjust sourcemap: #77875
- Upgrade React from
040f8286-20250402to33661467-20250407: #77899
Misc Changes
- Update Turbopack production test manifest: #77872
- Rename process.env.TURBOPACK to process.env.IS_TURBOPACK_TEST for tests: #77892
- [test] consolidate missing tag dev test: #77896
Credits
Huge thanks to @devjiwonchoi, @timneutkens, @lubieowoce, @huozhi, and @ahabhgk for helping!
Core Changes
- [Experiment] : #77866
Credits
Huge thanks to @acdlite for helping!
Core Changes
- Revert "[dev-overlay] Fix error dialog resizing logic": #77849
- fix: add cache tags to segment prefetch responses: #77846
- Avoid microtaskiness when lazily fetching from cache handlers: #77843
Credits
Huge thanks to @huozhi, @wyattjoh, and @unstubbable for helping!
Core Changes
- fix: don't reset the prefetch segment data routes on loop: #77845
- Ensure
searchParamsaccess in"use cache"triggers error when caught: #77838
Misc Changes
- fix(turbopack-cli): Make turbopack_cli::dev::source a persistent (non-transient) task: #77798
- [test] temporarily disable flaky test for react 18: #77848
Credits
Huge thanks to @wyattjoh, @bgw, @huozhi, and @unstubbable for helping!
Core Changes
- [dev-overlay] sync horizontal scrollbar style: #77769
- [dev-overlay] Read
issueCountfrom non-asyncerrorsarray: #77821 - [dev-overlay] Fix error dialog resizing logic: #77830
- Turbopack Build: Optimize instrumentation hook generation: #77832
- [next-server] skip setting vary header for basic routes: #77797
- Lazily call
refreshTagsandgetExpiration: #77779 - Add debug logging to default cache handler and
"use cache"wrapper: #77827 - [ts-next-plugin] fix: properly exit when failed to initialize: #77842
- Alternate bundler: correctly inject react refresh loader: #77713
- [dynamicIO] Fix dev warmup: #77829
Misc Changes
- Turbopack: omit empty source map when code starts with a new line: #77734
- [next-lint] test: remove eslint config snapshot testing: #77818
- Turbopack: avoid deriving css source map path from generated code path: #77735
- Turbopack: pass asset to chunk_path to allow to use content hash later: #77772
- Docs IA 2.0: Add
Deep Divesection placeholder: #77724 - Turbopack: use document.currentScript instead of chunk path literal: #77773
- Turbopack: don't include client-fs assets in NFT: #77799
- Turbopack: enable content hashing in production: #77775
- Turbopack: correctly track
await import("path")in static analysis: #77811
Credits
Huge thanks to @sokra, @devjiwonchoi, @raunofreiberg, @delbaoliveira, @timneutkens, @mischnic, @huozhi, @unstubbable, and @ahabhgk for helping!
Core Changes
- [next-ts-plugin] fix: language service crashes / metadata plugin not working: #77213
- [dev-overlay] always display bundler name on version info: #77739
Misc Changes
- fix(turbopack): Apply
hygieneif mangling is disabled: #77815
Credits
Huge thanks to @devjiwonchoi and @kdy1 for helping!
Core Changes
- Turbopack: fix
sideEffectsmatching for non-relative globs: #77693 - Revert "Upgrade @playwright/test and cleanup internal APIs": #77814
Misc Changes
- [test] fix bad test fixuture for perf test: #77804
- [test] fix react 19.1 related tests: #77809
- doc: onNavigate follow-up: #77805
Credits
Huge thanks to @huozhi, @gaojude, and @mischnic for helping!
Core Changes
- Client instrumentation: onRouterTransitionStart: #77791
- Turbopack: log telemetry events when
TurbopackInternalErrors occur: #77660 - Rename alternate bundler package name: #77793
Credits
Huge thanks to @acdlite and @wbinnssmith for helping!
Core Changes
- Ignore an existing HMR refresh hash cookie with
next start: #77714 - Turbopack build: Replace process.env.TURBOPACK usage: #77783
Misc Changes
- doc: onNavigate: #77647
- Update bundler production test manifest: #77764
- doc: useLinkStatus doc follow-up: #77790
- Update Turbopack development test manifest: #77766
- [ci] remove needs build-native for lint job: #77787
- test(examples): update turbopack manifest: #75092
Credits
Huge thanks to @gaojude, @unstubbable, @huozhi, @JamBalaya56562, and @timneutkens for helping!
Core Changes
- [dev-overlay] remove text wrap for terminal: #76953
- Upgrade React from
63779030-20250328to040f8286-20250402: #77742 - Optimize server runtime bundles: #77723
- Turbopack Build: Remove cases of process.env.TURBOPACK: #77757
- [dev-overlay] Fix unactionable
useLayoutEffectwarning if React 18 is used: #77737 - [dev-tools] Fix flashing of disabled state on indicator: #77727
- Webpack build: Add compiled in x seconds in missing places: #77751
Misc Changes
- chore(turbo-tasks): Audit all remaining uses of
Vcin a struct: #77756 - docs:
instrumentation-clientfollow up: #77752 - [test] Get rid of unrelated "Invalid hook call" error from tests using
styled-components: #77736 - Turbopack: keep side-effect-full imports: #76545
- Docs: Recommend inline
use serverand update examples: #77770 - Revert "Docs: Recommend inline
use serverand update examples": #77771 - doc: useLinkStatus: #77648
- Update Turbopack production test manifest: #77767
- Update bundler development test manifest: #77765
- [docs] fix lint issue in use link status doc: #77785
Credits
Huge thanks to @bgw, @leerob, @devjiwonchoi, @unstubbable, @timneutkens, @eps1lon, @raunofreiberg, @mischnic, @delbaoliveira, @gaojude, and @huozhi for helping!
Core Changes
- Reapply "Turbopack: layout segment optimization for Pages" (#77339): #77696
- feat(next/image): support
new URL()forimages.remotePatterns: #77692
Misc Changes
- Update bundler production test manifest: #77707
Credits
Huge thanks to @huozhi and @styfle for helping!
Core Changes
- [dev-overlay] Harden types when handling hydration mismatches: #77334
- [dev-overlay] Fix ref warning when Pages Router with React 18 is used: #77726
- add support for cssmodules-pure-no-check to allow global CSS features like View Transitions: #77321
- [dev-overlay] Only warn once per invalid sourcemap: #77444
- [dynamicIO] only abort once per prerender: #77747
- Turbopack build: Move Turbopack marker to SERVER_FILES_MANIFEST: #77711
Example Changes
- chore(examples): remove examples that can be v0'd: #77349
- Alternate bundler example: use
canaryversion: #77754
Misc Changes
- chore(turbopack): Make TaskInputs use ResolvedVc: #77700
- Getting Started Docs: Add
Metadata and OG imagespage: #74077 - Getting Started Docs: Add
Upgradepage: #77717 - Docs IA 2.0: Rename
ExamplestoGuides: #77722 - build: Update
swc_coretov19.0.0: #77669 - Add Josh to Turbopack team for created-by label: #77738
- Turbopack: use better ident for worker chunk group: #77731
- chore(turbo-tasks): Remove redundant ast-grep lint rule: #77701
- fix(docs): update error type in notFound function description: #77503
- Update bundler development test manifest: #77706
- Update Turbopack production test manifest: #77709
- Turbopack: refactor resolve_url_reference to avoid chunk_path: #77732
- Update Turbopack development test manifest: #77708
- Port "app-document" test to e2e: #77748
- [ci]: skip build-windows job for docs only change: #77743
Credits
Huge thanks to @bgw, @eps1lon, @delbaoliveira, @jantimon, @kdy1, @padmaia, @sokra, @Bernardoow, @gnoff, @samcx, @mischnic, @huozhi, @wbinnssmith, and @timneutkens for helping!
Core Changes
- legacyBehavior deprecation error should only trigger once: #77687
- Pass only required props to NonIndex: #77685
- Revert "fix: make sure body can be read using
nodejsruntime in middleware": #77690
Misc Changes
- pack-next: use default
--js-buildas option instead of--no-js-build: #77686 - Turbopack: Allow overriding tsconfig path via next-config: #77563
- Scripts: migrate unpack-next to TypeScript: #77538
Credits
Huge thanks to @ztanner, @iamkd, @huozhi, and @wbinnssmith for helping!
Core Changes
- Revert "Remove useSyncExternalStore from useIsDevRendering (#77651)": #77672
- Upgrade React from
313332d1-20250326to63779030-20250328: #77643 - Turbopack build: Add marker for when a build used Turbopack: #77674
- feat(images): use experimental
isrFlushToDiskoption to prevent writing optimized images to cache: #70645 - doc: instrumentation-client: #77649
- Alternate bundler: use equivalent native plugins for built-in plugins: #77355
- Resolve Viewport separately from Metadata: #77427
- fix(turbopack): Suppress logging for short no-op turbopack HMRs: #76924
- Turbopack build: Fix node-file-trace test: #77641
- Turbopack build: Implement error when using next start without --turbopack: #77678
Misc Changes
- Turbopack: add tracing for fetch calls: #77673
- [test] Update stale snapshots: #77680
- Turbopack: fix bug in handling of module batches: #77638
Credits
Huge thanks to @acdlite, @sokra, @eps1lon, @timneutkens, @isBatak, @gaojude, @wbinnssmith, @gnoff, and @bgw for helping!
Core Changes
- Turbopack build: Fix urlencoding test: #77622
- [og] fix vercel og build issue on windows: #77650
- [Segment Cache] Add "client-only" option: #77655
- Remove useSyncExternalStore from useIsDevRendering: #77651
- Track navigation timestamp on CacheNode: #77251
- Upgrade @playwright/test and cleanup internal APIs: #77659
- Refactor: move
"use cache"revalidation logic out of incremental cache: #77577 - Remove obsolete update of implicit tags expiration after server action: #77595
Misc Changes
- Update pnpm swc-build-native's file path: #77623
- fix: Use standard PostCSS configuration in create-next-app format for ecosystem compatibility: #77376
- Turbopack build: Fix basepath test: #77630
- Turbopack: disable pages dir css test cases: #77380
- Update bundler development test manifest: #77627
- Update Turbopack development test manifest: #77628
- Update bundler production test manifest: #77626
- refactor(turbo-tasks): Make TraceRawVcs a supertrait of TaskInput: #77397
- refactor(turbo-tasks): Make TraceRawVcs a supertrait of MagicAny: #77596
- fix(turbopack): Recognize urls starting with // as external: #77526
- Update CI build caching docs to include
bunand other package manager: #77633 - fix(turbopack): Fix panic while tree shaking optimization: #77492
- fix(turbopack): Prevent duplicate in tree shaking: #77491
- Turbopack: Skip ssr processing when next/dynamic ssr: false: #77636
- Turbopack Build: CSR bailout test skip check for file path: #77639
- Turbopack: fix side effects optimization bug: #77640
Credits
Huge thanks to @wbinnssmith, @timneutkens, @kasperpeulen, @sokra, @bgw, @Cy-Tek, @huozhi, @acdlite, @dvoytenko, @husseinraoouf, @kdy1, and @unstubbable for helping!
Core Changes
- Turbopack build: fix deterministic build test: #77618
Misc Changes
- Turbopack build: Fix symbolic-file-links test: #77615
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Do not call
expireTags/getExpirationunnecessarily: #77570 - fix(jest): stricter regex for 'server-only' in default config: #77588
- Fix: RESTORE_ACTION should not be thenable: #77582
- Use
NEXT_PRIVATE_DEBUG_CACHEenv variable for cache handler debug logs: #77585 - fix: make sure body can be read using
nodejsruntime in middleware: #77553 - Update alternate bundler and pass more tests : #77579
- Refactor build scripts and rewrite pack-next in TypeScript: #77536
- fix isCsrfOriginAllowed handling for localhost: #77594
Misc Changes
- Update mappings in
launch.jsonto improve debugging in VSCode: #76559 - chore(ci): Configure codspeed: #76884
- Update bundler production test manifest: #77602
- Update bundler development test manifest: #77603
- Update Turbopack development test manifest: #77605
- Update Turbopack production test manifest: #77604
Credits
Huge thanks to @unstubbable, @sbougerel, @gaojude, @kevva, @ahabhgk, @wbinnssmith, @kdy1, and @ztanner for helping!
Core Changes
- Upgrade React from
740a4f7a-20250325to313332d1-20250326: #77527
Misc Changes
- fix(turbopack): Use strongly consistent reads for sourcemaps in napi FFI boundary: #77511
Credits
Huge thanks to @bgw for helping!
Core Changes
- [dynamicIO] Avoid memory leak warning for hanging promises: #77480
- [dev-overlay] Remove "Unhandled Runtime Error" label: #77484
- Upgrade React from
db7dfe05-20250319to740a4f7a-20250325: #77507
Misc Changes
- docs: fix typo: #77483
- Update
swc_coretov16.10.0: #77489
Credits
Huge thanks to @leerob, @gnoff, @kdy1, and @eps1lon for helping!
Core Changes
- Turbopack: Add --turbopack for next start: #77442
- Update README: #77464
- Remove unnecessary indirections around dispatch-related methods: #77423
- Lift public router instance to module level : #77426
- directly import param resolver in metadata: #77401
- [metadata] always serve streaming metadata in build: #77437
- directly import search param resolver in metadata: #77402
- Remove forwardRef from Link in App Router: #77471
- Match subrequest handling for edge and node: #77474
- Add deprecation warning for legacyBehavior prop: #77473
- feat: useLinkStatus: #77300
Misc Changes
- fix(turbopack-bench): Limit
copy_dirconcurrency to avoid running out of file descriptors: #77468
Credits
Huge thanks to @timneutkens, @jackwilson323, @acdlite, @gnoff, @huozhi, @ijjk, @bgw, and @gaojude for helping!
Core Changes
- remove direct ip/port bypass in dev origin check: #77414
- ensure /__next middleware URLs are included in the origin check: #77416
- exclude images and static media from dev origin check: #77417
- Refactor metadata and viewport preloading: #77400
- [dev-overlay] Remove unused fields from unhandled error action event: #77333
Misc Changes
- docs: clarify middleware use cases: #77438
Credits
Huge thanks to @ztanner, @leerob, @gnoff, and @eps1lon for helping!
Core Changes
- switch development origin verification to be opt-in rather than opt-out: #77395
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Turbopack: implement optimized css production chunking: #77284
- only log when instrumentation client takes too long: #77378
Misc Changes
- Update Turbopack production test manifest: #77366
- Update Turbopack development test manifest: #77365
- Turbopack: ignore static asset imports for Edge: #77382
- Update bundler development test manifest: #77364
Credits
Huge thanks to @sokra, @mischnic, and @gaojude for helping!
Core Changes
- clean up useReducer code re dev indicator: #77354
- test: ensure that router identity stays stable when navigating: #77356
- [dev-overlay] Remove unused fields from hydration error state: #77332
Credits
Huge thanks to @gaojude, @lubieowoce, and @eps1lon for helping!
Core Changes
- [dev-overlay] Make footer sticky without side effects: #77327
- Alternate bundler: show state in app info message: #77259
- Revert "Turbopack: layout segment optimization for Pages": #77339
- [metadata] add Yeti to html limited bots: #77335
- [dev-overlay] Remove unused code from pages: #77325
- [metadata] remove dead code of metadata routes handling: #77336
- Alternate bundler: pass more tests and update to 1.3.0-beta: #77269
- [metadata] fix the metadata route like pages and refactor utils: #77264
- fix: absolute assetPrefix url with path: #77256
Misc Changes
- fix(CI build_and_deploy): Use a larger fetch-depth for build-native job: #77307
- chore(turbopack): Fix a few syntactic nits: #77310
- Update bundler development test manifest: #77315
- Turbopack: refactor CssEmbed to avoid creating a chunk item: #77303
- fix: Update
swc_coreand userayoninstead ofchili: #77338 - Fix chakra link: #77280
Credits
Huge thanks to @raunofreiberg, @bgw, @wbinnssmith, @huozhi, @sokra, @eps1lon, @kdy1, @ahabhgk, @Amirroid, and @Netail for helping!
Core Changes
- Upgrade React from
c69a5fc5-20250318todb7dfe05-20250319: #77295 - Turbopack: layout segment optimization for Pages: #74815
Misc Changes
- Update Turbopack production test manifest: #77316
- Update Turbopack development test manifest: #77317
- Update bundler production test manifest: #77314
- fix(turbopack): Call
.minify()of lightningcssStyleSheet: #77313
Credits
Huge thanks to @kdy1 and @mischnic for helping!
Core Changes
- Upgrade React from
5398b711-20250314toc69a5fc5-20250318: #77249 - [ppr] Handle failed resume data cache entries: #77258
- Bypass
"use cache"caches when Draft Mode is enabled: #77141 - chore(HMR clients): Clean up tryApplyUpdates, reduce differences between app/pages versions: #77219
Misc Changes
- devlow-bench: wait for complete ready for server startup event: #77217
- fix(CI): Re-enable retries for bundler integration tests: #77265
- Turbopack: handle non chunkable modules in module batches: #77282
- Update Turbopack development test manifest: #77276
- Update Turbopack production test manifest: #77275
- Turbopack: avoid single css chunks when there is only a single chunk item: #77283
- Update bundler development test manifest: #77272
- Update bundler production test manifest: #77273
- Turbopack: compute ordered entries in module batches: #77294
Credits
Huge thanks to @wbinnssmith, @bgw, @sokra, @wyattjoh, and @unstubbable for helping!
Core Changes
- chore(HMR clients): Fix a bunch of typescript errors by including the appropriate webpack type declarations: #77207
- Update cache handler interface: #76687
- Turbopack: don't include AMP optimizer in NFT: #77242
- Server actions should not read stale data after calling
revalidate*: #76885 - [dev-overlay] Blur fader for scrollable container: #77196
- Make
revalidate*work when followed by a redirect in a route handler: #77090 - feat: onNavigate for link: #77209
- fix: pass telemetry plugin rspack tests: #77257
- feat(eslint-plugin): add minimal built-in flat presets: #73873
- [perf] skip loading client manifest for static metadata routes: #77260
Misc Changes
- fix(test/e2e/prerender): Remove race condition in test: #77222
- Update Turbopack production test manifest: #77228
- Update Turbopack development test manifest: #77227
- [Turbopack] basic production chunking for CSS: #75049
- docs: optimizing local dev: #77140
- Update bundler production test manifest: #77225
Credits
Huge thanks to @bgw, @sokra, @unstubbable, @leerob, @mischnic, @raunofreiberg, @gaojude, @ScriptedAlchemy, @SukkaW, and @huozhi for helping!
Core Changes
- chore(react-dev-overlay): Remove confusingly underscored variables in
useErrorOverlayReducer: #77205 - Update middleware request header: #77201
- Update default allowed origins list: #77212
- Ensure deploymentId is used for CSS preloads: #77210
Example Changes
- with-polyfills example: only link to specific browsers: #77211
- Add example for alternate bundler: #77057
Misc Changes
- Turbopack: more tracing: #75351
- Update bundler development test manifest: #77180
- Better failure tracking for middleware-custom-matchers-i18n: #76974
- Update bundler production test manifest: #77179
Credits
Huge thanks to @mischnic, @bgw, @ijjk, and @wbinnssmith for helping!
Core Changes
- [dev-overlay] Fix stacking order of highlighted line: #77189
- Upgrade React from
6aa8254b-20250312to5398b711-20250314: #77129 - fix(styled-jsx): Pass
useLightningcssoption tostyled-jsxcorrectly: #77008 - log the instrumentation-client execution time: #77121
- Turbopack: canary-gate production builds: #77146
- [dev-overlay] remove special handling for missing tag error : #77147
Misc Changes
- build: Update
swc_coretov16.6.0: #77155 - Allow building node-pty in tests: #77187
- Don't mark ppr-errors Turbopack dev tests as failed: #76951
- Bump lightningcss: #77132
- Update Turbopack production test manifest: #77183
- Turbopack: fix graph layout segment optimization: #77094
- Turbopack: split up server actions modules for better treeshaking: #76877
- Turbopack: conditional parse in apply_module_type: #77191
- build: Update
swc_coretov16.6.2: #77194
Credits
Huge thanks to @kdy1, @raunofreiberg, @mischnic, @gaojude, @wbinnssmith, and @huozhi for helping!
Core Changes
- [metadata] remove the default segement check for metadata rendering: #77119
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Fix JSDoc comment for
'seconds'cache life profile: #77084 - refactor(HMR clients): Encapsulate some of the turbopack state tracking into a shared TurbopackHmr class: #76994
- Slightly improve error handling for unknown server actions: #77135
- Fix output standalone for alternative bundler: #76971
- Add alternate bundler plugin information to
next info: #77059
Misc Changes
- Turbopack:
charset=utf-8in data-url source maps: #77112 - Update bundler production test manifest: #77107
- Update bundler development test manifest: #77106
- Update Turbopack production test manifest: #77109
- docs(scripts): update Script -> beforeInteractive docs: #77136
- Add doc for instrumentation client hook: #77134
- docs(scripts): missing 'soon': #77137
- doc: diff between instrumentation vs instrumentation-client: #77143
- Alternate bundler: add index.d.ts types to plugin: #77144
- Alternate bundler: Add
react-refreshas a dependency of plugin: #77142
Credits
Huge thanks to @unstubbable, @mischnic, @bgw, @ahabhgk, @wbinnssmith, @samcx, and @gaojude for helping!
Core Changes
- Alternate bundler: use built-in minifiers: #77056
- [ts-hint] fix vscode type hint plugin enabling: #77099
- fix: fixes double encoded parameters when deployed to Vercel: #77095
- [dev-overlay] Fix "Hide" preference setting ARIA labelling: #77072
- (feat) support client-side instrumentation: #76916
Misc Changes
- chore(github): add Not Found label: #77097
- Update rust toolchain to 2025-03-12: #77054
- Update Turbopack development test manifest: #77071
- Update bundler production test manifest: #77069
- Update bundler development test manifest: #77068
- Revert "Update rust toolchain to 2025-03-12": #77103
- perf(turbopack): Merge nodes with same starting point: #76938
- refactor(actions): Remove turbopack magic comments: #77063
- Update Turbopack development test manifest: #77108
- Turbopack: move must_use to actually have an effect: #77111
- Turbopack: align chunking with graph entries: #76441
- Turbopack: ChunkGroup in evaluated_chunk_group: #76593
Credits
Huge thanks to @wbinnssmith, @samcx, @huozhi, @wyattjoh, @raunofreiberg, @kdy1, @mischnic, and @gaojude for helping!
Core Changes
- [dev-overlay] highlight errored code line for runtime errors: #77078
- NFT: Ignore all of Webpack: #77081
- Add experimental build mode flag for env: #77089
Misc Changes
- Turbopack: don't call individual() again: #77048
- Turbopack: create module graph strongly consistent: #77051
- Turbopack: Vc stability of ModuleGraph: #77052
- Turbopack: fix corrected time calcuation for trace server: #77080
- Turbopack: fewer manifests for static metadata: #77087
Credits
Huge thanks to @mischnic, @sokra, @huozhi, and @ijjk for helping!
Core Changes
- Handle hash change in all files for static env: #77058
Misc Changes
- Turbopack: when reading a non yet existing cell from a in progress tasks, wait for the computation to finish: #77029
- Turbopack: wait before reading cells when the task is scheduled: #77031
Credits
Huge thanks to @sokra and @ijjk for helping!
Core Changes
- unify allowed origin detection handling: #77053
Misc Changes
- Update Turbopack development test manifest: #77041
- chore(github): remove /examples from contribution guidelines, remove examples issue template: #77050
Credits
Huge thanks to @samcx and @ztanner for helping!
Core Changes
- Add config for only generating static env: #77038
- chore(HMR clients): Clean up and share code between app and pages router: #76960
- Add dev warning for cross-origin and stabilize allowedDevOrigins: #77044
Misc Changes
- fix(CI): Correctly call test/update-bundler-manifest.js script: #77000
- Update bundler development test manifest: #77040
- Update bundler production test manifest: #77043
Credits
Huge thanks to @bgw and @ijjk for helping!
Core Changes
- [metadata] re-insert icons to head for streamed metadata: #76915
- Upgrade React from
0ca3deeb-20250311to6aa8254b-20250312: #77033 - Move static-env imports: #77035
- [dev-overlay] Add
sizesetting to preferences: #77027
Misc Changes
- docs: update API example: #76987
- docs: add Pinterest Rich Pins metadata example: #77025
Credits
Huge thanks to @leerob, @huozhi, @mezotv, @ijjk, and @raunofreiberg for helping!
Core Changes
- Apply env inlining during generate build mode: #76990
- Turbopack: Implement deploymentId: #76904
- track persistent caching usage: #76996
Credits
Huge thanks to @ijjk, @timneutkens, and @gaojude for helping!
Core Changes
- [dev-overlay] Customize
<select>styling for consistency: #76973 - Upgrade React from
029e8bd6-20250306to0ca3deeb-20250311: #76989 - [metadata]: add pinterest meta tag: #76988
- [dev-overlay] ensure stripping overlay bundle in prod build: #76976
Misc Changes
- [test] consolidate hmr test for react 18.3: #76975
Credits
Huge thanks to @raunofreiberg and @huozhi for helping!
Please see the Next.js Security Update for information about this security patch.
Please see CVE-2025-66478 for additional details about this release.
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Update swc_core and use rayon instead of chili (#77338)
- Update swc_core to v16.6.2 (#77194)
- Update swc_core to v16.6.0 (#77155)
- [og] fix vercel og build issue on windows (#77650)
- clean up useReducer code re dev indicator (#77354)
- [dev-overlay] ensure stripping overlay bundle in prod build (#76976)
Credits
Huge thanks to @huozhi, @gaojude and @kdy1 for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Match subrequest handling for edge and node (#77474)
- exclude images and static media from dev origin check (#77417)
- ensure /__next middleware URLs are included in the origin check (#77416)
- remove direct ip/port bypass in dev origin check (#77414)
- switch development origin verification to be opt-in rather than opt-out (#77395)
Credits
Huge thanks to @ijjk and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary. This release contains a security patch for CVE-2025-29927.
Core Changes
- Update default allowed origins list (#77212)
- unify allowed origin detection handling (#77053)
- Add dev warning for cross-origin and stabilize allowedDevOrigins (#77044)
- Ensure deploymentId is used for CSS preloads (#77210)
- Update middleware request header (#77201)
- [metadata] remove the default segement check for metadata rendering (#77119)
- [ts-hint] fix vscode type hint plugin enabling (#77099)
- [metadata] re-insert icons to head for streamed metadata (#76915)
Credits
Huge thanks to @ijjk, @ztanner, and @huozhi for helping!
Core Changes
- [dev-overlay] fix styling on overflow error messages, add button hover state: #76771
- Fix: respond 405 status code on OPTIONS request to SSG page: #76767
- [dev-overlay] Always show relative paths: #76742
- [metadata] remove the duplicate metadata in the error boundary: #76791
- Upgrade React from
d55cc79b-20250228to443b7ff2-20250303: #76804 - [dev-overlay] Ignore animations on page load: #76834
- fix: remove useless set-cookie in action-handler: #76839
- Turbopack: handle task cancelation: #76831
- Upgrade React from
443b7ff2-20250303toe03ac20f-20250305: #76842 - add types for
__next_app__module loading functions: #74566 - fix duplicated noindex when server action is triggered: #76847
- fix: don't drop queued actions when navigating: #75362
- [dev-overlay]: remove dependency on platform for focus trapping: #76849
- Turbopack: Add turbopack_load_by_url: #76814
- Add handling of origin in dev mode: #76880
- [dev-overlay] Stop grouping callstack frames into ignored vs. not ignored: #76861
- Upgrade React from
e03ac20f-20250305to029e8bd6-20250306: #76870 - [dev-overlay] Increase padding if no
xbutton present: #76898 - fix: prevent incorrect searchParams being applied on certain navs: #76914
- [dev-overlay] Dim ignore-listed callstack frames when shown: #76862
Example Changes
- chore(cna): update tailwind styles to be closer to non-tw cna: #76647
Misc Changes
- Fix canary only warning for devlow-bench: #76772
- [test] Add special placeholder if stackframes point into dist dir: #76741
- [test] Use new Redbox matchers in pages/ service-side-dev-errors: #76779
- [test] Use new Redbox matchers in app/ dynamic-error-trace: #76783
- [test] Use new Redbox matchers in app/ owner-stack-invalid-element-type: #76786
- [test] Use new Redbox matchers in app/ hook-functuon-names: #76785
- [test] Use new Redbox matchers in app/ undefined-default-export: #76781
- [test] Use new Redbox matchers in server-navigation-error: #76787
- [test] Fix flaky error-recovery test: #76789
- [test] Use new Redbox matchers in pages/ gssp-ssr-change-reloading: #76788
- [docs] update Tailwind CSS installation and configuration instructions: #76259
- docs: Tailwind v4: #76801
- chore(docs): update minimumCacheTTL example to 31 days: #76796
- Turbopack: improve sectioned source maps: #76627
- [test] Use new Redbox matchers in pages/ middleware-errors: #76797
- doc: use
redirectin client components: #76332 - [docs] document experimental viewTransition flag: #76832
- docs(errors): remove confusing good-to-know since global-errors.tsx also show in dev as of 15.2: #76825
- Turbopack: don't use HashMap in manifests: #76833
- Update
labeler.json: #76828 - Fix missing turbo command for rust-check: #76851
- fix(turbopack): Use correct
SyntaxContextfor__turbopack_esm__: #73544 - Cleanup pure span handling: #76846
- Turbopack: remove unused IncludeModulesModule: #76868
- Update test snapshots for alternative bundler [5/n]: #76617
- Update test snapshots for alternative bundler [6/n]: #76768
- [test] Use
next.browserinstead ofwebdriverin pages/ client-navigation: #76867 - fix(turbopack): Use vergen-git2 instead of shadow-rs for napi and next-api crates to fix stale git lock files: #76773
- Revert "fix(turbopack): Use vergen-git2 instead of shadow-rs for napi and next-api crates to fix stale git lock files": #76879
- build: Update
swc_coretov16.4.0: #76596 - docs: update Turbopack docs: #76799
- build: Update lightningcss to
v1.0.0-alpha.64: #76856 - build: Fix warning: #76890
- Turbopack: fix
__dirname: #76902 - Turbopack: deterministic server action order: #76905
- docs: reword the docs of veiw transition flag: #76841
- fix(turbopack): Use vergen-gitcl instead of shadow-rs (or vergen-git2) for napi and next-api crates to fix stale git lock files: #76889
- Turbopack: ensure default layout is provided in default not-found entrypoint: #76912
- chore(github): add moar labels: #76922
- [test] Use new Redbox matchers in pages/ client-navigation/rendering: #76798
- docs: fix create-next-app cli title: #76908
Credits
Huge thanks to @pranathip, @gaojude, @ijjk, @eps1lon, @Nayeem-XTREME, @leerob, @styfle, @samcx, @sokra, @huozhi, @raunofreiberg, @mischnic, @lubieowoce, @unstubbable, @ztanner, @kdy1, @timneutkens, @wbinnssmith, @bgw, and @oscr for helping!
Core Changes
- Production builds: write endpoints all at once: #75304
- Telemetry: include alternate bundler state in key events: #76886
- fix(next/image): use
100% 100%for placeholder image background-size when object-fitfillis used instead of cover: #67482 - [dev-overlay] Discontinue using
remfor the UI: #76969
Misc Changes
- fix(turbopack): Fix the span of a magic comment: #76939
- fix(turbo-persistence): Update qfilter to 0.2.3 to fix CapacityExceeded panic: #76921
- de-flake searchparams test: #76947
- Turbopack: JSON is always side effect free: #76869
- Turbopack: Support data URI sources: #76865
- Turbopack panics: create discussions with pre-filled errors: #76850
- docs(use-cache): add invalidating section to use cache docs: #76958
- Turbopack: side effect directive: #76876
- perf(turbopack): Use last side effect as
ModuleEvaluationfragment: #76940
Credits
Huge thanks to @kdy1, @bgw, @ztanner, @mischnic, @wbinnssmith, @samcx, @qkrwogns9703, and @raunofreiberg for helping!
Misc Changes
- [test] Use new Redbox matchers in pages/ client-navigation/rendering: #76798
- docs: fix create-next-app cli title: #76908
Credits
Huge thanks to @eps1lon and @oscr for helping!
Core Changes
- [dev-overlay] Dim ignore-listed callstack frames when shown: #76862
Misc Changes
- chore(github): add moar labels: #76922
Credits
Huge thanks to @samcx and @eps1lon for helping!
Core Changes
- [dev-overlay] Stop grouping callstack frames into ignored vs. not ignored: #76861
- Upgrade React from
e03ac20f-20250305to029e8bd6-20250306: #76870 - [dev-overlay] Increase padding if no
xbutton present: #76898 - fix: prevent incorrect searchParams being applied on certain navs: #76914
Misc Changes
- docs: update Turbopack docs: #76799
- build: Update lightningcss to
v1.0.0-alpha.64: #76856 - build: Fix warning: #76890
- Turbopack: fix
__dirname: #76902 - Turbopack: deterministic server action order: #76905
- docs: reword the docs of veiw transition flag: #76841
- fix(turbopack): Use vergen-gitcl instead of shadow-rs (or vergen-git2) for napi and next-api crates to fix stale git lock files: #76889
- Turbopack: ensure default layout is provided in default not-found entrypoint: #76912
Credits
Huge thanks to @leerob, @kdy1, @eps1lon, @raunofreiberg, @mischnic, @huozhi, @bgw, and @ztanner for helping!
Core Changes
- fix: don't drop queued actions when navigating: #75362
- [dev-overlay]: remove dependency on platform for focus trapping: #76849
- Turbopack: Add turbopack_load_by_url: #76814
- Add handling of origin in dev mode: #76880
Misc Changes
- Fix missing turbo command for rust-check: #76851
- fix(turbopack): Use correct
SyntaxContextfor__turbopack_esm__: #73544 - Cleanup pure span handling: #76846
- Turbopack: remove unused IncludeModulesModule: #76868
- Update test snapshots for alternative bundler [5/n]: #76617
- Update test snapshots for alternative bundler [6/n]: #76768
- [test] Use
next.browserinstead ofwebdriverin pages/ client-navigation: #76867 - fix(turbopack): Use vergen-git2 instead of shadow-rs for napi and next-api crates to fix stale git lock files: #76773
- Revert "fix(turbopack): Use vergen-git2 instead of shadow-rs for napi and next-api crates to fix stale git lock files": #76879
- build: Update
swc_coretov16.4.0: #76596
Credits
Huge thanks to @lubieowoce, @ztanner, @ijjk, @kdy1, @mischnic, @timneutkens, @wbinnssmith, @eps1lon, and @bgw for helping!
Core Changes
- [metadata] remove the duplicate metadata in the error boundary: #76791
- Upgrade React from
d55cc79b-20250228to443b7ff2-20250303: #76804 - [dev-overlay] Ignore animations on page load: #76834
- fix: remove useless set-cookie in action-handler: #76839
- Turbopack: handle task cancelation: #76831
- Upgrade React from
443b7ff2-20250303toe03ac20f-20250305: #76842 - add types for
__next_app__module loading functions: #74566 - fix duplicated noindex when server action is triggered: #76847
Misc Changes
- [test] Use new Redbox matchers in pages/ middleware-errors: #76797
- doc: use
redirectin client components: #76332 - [docs] document experimental viewTransition flag: #76832
- docs(errors): remove confusing good-to-know since global-errors.tsx also show in dev as of 15.2: #76825
- Turbopack: don't use HashMap in manifests: #76833
- Update
labeler.json: #76828
Credits
Huge thanks to @huozhi, @eps1lon, @gaojude, @samcx, @raunofreiberg, @mischnic, @lubieowoce, @unstubbable, and @sokra for helping!
Core Changes
- [dev-overlay] Always show relative paths: #76742
Example Changes
- chore(cna): update tailwind styles to be closer to non-tw cna: #76647
Misc Changes
- [test] Add special placeholder if stackframes point into dist dir: #76741
- [test] Use new Redbox matchers in pages/ service-side-dev-errors: #76779
- [test] Use new Redbox matchers in app/ dynamic-error-trace: #76783
- [test] Use new Redbox matchers in app/ owner-stack-invalid-element-type: #76786
- [test] Use new Redbox matchers in app/ hook-functuon-names: #76785
- [test] Use new Redbox matchers in app/ undefined-default-export: #76781
- [test] Use new Redbox matchers in server-navigation-error: #76787
- [test] Fix flaky error-recovery test: #76789
- [test] Use new Redbox matchers in pages/ gssp-ssr-change-reloading: #76788
- [docs] update Tailwind CSS installation and configuration instructions: #76259
- docs: Tailwind v4: #76801
- chore(docs): update minimumCacheTTL example to 31 days: #76796
- Turbopack: improve sectioned source maps: #76627
Credits
Huge thanks to @eps1lon, @Nayeem-XTREME, @leerob, @styfle, @samcx, and @sokra for helping!
Core Changes
- [dev-overlay] fix styling on overflow error messages, add button hover state: #76771
- Fix: respond 405 status code on OPTIONS request to SSG page: #76767
Misc Changes
- Fix canary only warning for devlow-bench: #76772
Credits
Huge thanks to @pranathip, @gaojude, and @ijjk for helping!
Core Changes
- Unify Link and Form prefetching: #76184
- Turbopack: Ensure server actions sourcemaps tests pass: #76157
- [dev-overlay] control dark theme in one place: #76528
- [dev-overlay] change css var for terminal: #76590
- [dev-overlay] Discriminate stack frame settled typed: #76517
- Remove obsolete
sourcePackagereferences: #76550 - refactor: remove unused variable in externals handling: #76599
- fix: Add popular embedding libraries to serverExternalPackages: #76574
- [Segment Cache] Implement hash-only navigations: #76179
- Webpack: abstract away getting compilation spans: #76579
- report compiler duration for webpack and improve numbers: #76665
- [dev-overlay] fix dark theme missing close bracket: #76672
- Remove
revalidateproperty from incremental cachectxforFETCHkind: #76500 - [dev-overlay] fix: env name label style was out of sync with error type label: #76668
- Turbopack: avoid celling source maps before minify: #76626
- refactor(CI): Merge all four bundler test manifest scripts into one: #76652
- [metadata] fix duplicate metadata for parallel routes: #76669
- [Segment Cache] Omit from bundle if flag disabled: #76622
- [Segment Cache] Support output: "export" mode: #75671
- [Segment Cache] Refresh on same-page navigation: #76223
- [metadata] re-enable streaming metadata with PPR: #76119
- [Segment Cache] Search param fallback handling: #75990
- [Segment Cache] Fix: canonicalURL omits origin: #76444
- fix metadata basePath for manifest: #76681
- Propagate expire time to
cache-controlheader and prerender manifest: #76207 - Show revalidate/expire columns in build output: #76343
- Gate alternate bundler behind canary only: #76634
- [dynamicIO] routes with dynamic segments should be able to be static in dev: #76691
- [repo] upgrade ts
5.8.2: #76709 - [metadata]: ensure metadata boundary is only rendered once on client nav: #76692
- [metadata] clean up redudant options: #76712
- Fix uniqueness detection for
generateStaticParams: #76713 - Upgrade React from
22e39ea7-20250225tod55cc79b-20250228: #76680 - [Turbopack] Compute module batches and use them for chunking: #76133
- [Dev Tools] Improve keyboard interactions for menu & overlays: #76754
- Keep server code out of browser chunks: #76660
- Turbopack: inline minify into code generation and make it a plain function instead of a turbo tasks function: #76628
- fix edge runtime asset fetch in pages api: #76750
- Update use-cache-unknown-cache-kind.test.ts snapshot for alternate bundler: #76682
Example Changes
- docs: fix reading
paramscode blocks: #76705
Misc Changes
- fix(rustdoc): Fix rustdoc warnings, block on rustdoc failures in CI: #76448
- Update more global turbo CLI usage: #76576
- docs: Node.js runtime support for Middleware: #76556
- build: Update
swc_coretov16.0.0: #76414 - Turbopack: prevent panic in swc issue emitter: #76595
- Unflake
parallel-routes-revalidationtest: #76600 - Fix
octokit.rest.issues.addLabelscall: #76601 - [test] Use new Redbox matchers in app/ error-recovery: #76552
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox-app-doc: #76551
- Run nightly bundler integration tests also with React 18: #76606
- 15.2: Add version history for
devIndicatorsand note on deprecated options: #76611 - 15.2 docs: document missing
htmlLimitedBotsoption: #76616 - Update bundler production test manifest: #76584
- Update bundler development test manifest: #76585
- Fix test after CI switched to pnpm 10: #76615
- chore(cna): fix theme extend for tailwind v4: #76583
- [test] Use new Redbox matchers in app/ ReactRefreshLogBoxMisc: #76563
- Don’t use native built-ins for additional bundler: #76577
- Revert "Run nightly bundler integration tests also with React 18": #76640
- Update bundler production test manifest: #76643
- Update bundler development test manifest: #76644
- Turbopack: dedupe middleware-manifest entries: #76621
- Turbopack: Improve edge tests: #76607
- Turbopack: add test test for css order: #76675
- Turbopack: fix order of chunk items in cycles: #76676
- [ci] Fix
test-turbopack-integrationnot having any shards : #76355 - Update Turbopack development test manifest: #76658
- Update Turbopack production test manifest: #76659
- fix(CI): Upload to areweturboyet immediately after a manifest is updated, not only on a fixed cron schedule: #76688
- Update test snapshots for alternative bundler [4/n]: #76578
- fix(turbopack): Fix analysis of private properties: #76654
- Turbopack: Simplify emitDecoratorMetadata test: #76678
- [test] Use new Redbox matchers in pages/ ReactRefreshRegression: #76743
- [test] Remove
describeVariantshelper: #76631 - [test] Fix flaky error-recovery test: #76753
- [test] Use new Redbox matchers in app/ dynamic-error: #76744
- [test] Use new Redbox matchers in app/ rsc-runtime-errors: #76745
- Turbopack: avoid panic in module batches: #76757
- Revert "test: temporarily disable after deploy test": #74990
toDisplayRedbox(): replace all occurrences of testDir: #76618- Fix: missing close brace in demo code: #76549
- Disable flaky Turbopack tests: #76760
- feat(CI): Revalidate vercel data cache on areweturboyet after uploading data to KV store: #76693
- chore(github): move top prs and feature requests to different Slack channel: #76764
- Fix flaky Bun test: #76763
Credits
Huge thanks to @acdlite, @bgw, @ijjk, @molebox, @kdy1, @timneutkens, @devjiwonchoi, @mischnic, @unstubbable, @eps1lon, @huozhi, @philipithomas, @delbaoliveira, @samcx, @wbinnssmith, @sokra, @gnoff, @leerob, @ztanner, @raunofreiberg, @lubieowoce, and @LihaoWang for helping!
Core Changes
- Upgrade React from
22e39ea7-20250225tod55cc79b-20250228: #76680 - [Turbopack] Compute module batches and use them for chunking: #76133
- [Dev Tools] Improve keyboard interactions for menu & overlays: #76754
- Keep server code out of browser chunks: #76660
- Turbopack: inline minify into code generation and make it a plain function instead of a turbo tasks function: #76628
- fix edge runtime asset fetch in pages api: #76750
- Update use-cache-unknown-cache-kind.test.ts snapshot for alternate bundler: #76682
Misc Changes
- fix(turbopack): Fix analysis of private properties: #76654
- Turbopack: Simplify emitDecoratorMetadata test: #76678
- [test] Use new Redbox matchers in pages/ ReactRefreshRegression: #76743
- [test] Remove
describeVariantshelper: #76631 - [test] Fix flaky error-recovery test: #76753
- [test] Use new Redbox matchers in app/ dynamic-error: #76744
- [test] Use new Redbox matchers in app/ rsc-runtime-errors: #76745
- Turbopack: avoid panic in module batches: #76757
- Revert "test: temporarily disable after deploy test": #74990
toDisplayRedbox(): replace all occurrences of testDir: #76618- Fix: missing close brace in demo code: #76549
- Disable flaky Turbopack tests: #76760
- feat(CI): Revalidate vercel data cache on areweturboyet after uploading data to KV store: #76693
- chore(github): move top prs and feature requests to different Slack channel: #76764
- Fix flaky Bun test: #76763
Credits
Huge thanks to @kdy1, @timneutkens, @eps1lon, @sokra, @raunofreiberg, @unstubbable, @lubieowoce, @wbinnssmith, @LihaoWang, @huozhi, @bgw, and @samcx for helping!
Core Changes
- [dynamicIO] routes with dynamic segments should be able to be static in dev: #76691
- [repo] upgrade ts
5.8.2: #76709 - [metadata]: ensure metadata boundary is only rendered once on client nav: #76692
- [metadata] clean up redudant options: #76712
- Fix uniqueness detection for
generateStaticParams: #76713
Example Changes
- docs: fix reading
paramscode blocks: #76705
Credits
Huge thanks to @gnoff, @leerob, @devjiwonchoi, @ztanner, @huozhi, and @unstubbable for helping!
Core Changes
- [Segment Cache] Search param fallback handling: #75990
- [Segment Cache] Fix: canonicalURL omits origin: #76444
- fix metadata basePath for manifest: #76681
- Propagate expire time to
cache-controlheader and prerender manifest: #76207 - Show revalidate/expire columns in build output: #76343
- Gate alternate bundler behind canary only: #76634
Misc Changes
- [ci] Fix
test-turbopack-integrationnot having any shards : #76355 - Update Turbopack development test manifest: #76658
- Update Turbopack production test manifest: #76659
- fix(CI): Upload to areweturboyet immediately after a manifest is updated, not only on a fixed cron schedule: #76688
- Update test snapshots for alternative bundler [4/n]: #76578
Credits
Huge thanks to @eps1lon, @acdlite, @huozhi, @unstubbable, @bgw, and @wbinnssmith for helping!
Core Changes
- report compiler duration for webpack and improve numbers: #76665
- [dev-overlay] fix dark theme missing close bracket: #76672
- Remove
revalidateproperty from incremental cachectxforFETCHkind: #76500 - [dev-overlay] fix: env name label style was out of sync with error type label: #76668
- Turbopack: avoid celling source maps before minify: #76626
- refactor(CI): Merge all four bundler test manifest scripts into one: #76652
- [metadata] fix duplicate metadata for parallel routes: #76669
- [Segment Cache] Omit from bundle if flag disabled: #76622
- [Segment Cache] Support output: "export" mode: #75671
- [Segment Cache] Refresh on same-page navigation: #76223
- [metadata] re-enable streaming metadata with PPR: #76119
Misc Changes
- Update bundler production test manifest: #76643
- Update bundler development test manifest: #76644
- Turbopack: dedupe middleware-manifest entries: #76621
- Turbopack: Improve edge tests: #76607
- Turbopack: add test test for css order: #76675
- Turbopack: fix order of chunk items in cycles: #76676
Credits
Huge thanks to @mischnic, @timneutkens, @sokra, @devjiwonchoi, @unstubbable, @bgw, @huozhi, and @acdlite for helping!
Core Changes
- [dev-overlay] change css var for terminal: #76590
- [dev-overlay] Discriminate stack frame settled typed: #76517
- Remove obsolete
sourcePackagereferences: #76550 - refactor: remove unused variable in externals handling: #76599
- fix: Add popular embedding libraries to serverExternalPackages: #76574
- [Segment Cache] Implement hash-only navigations: #76179
- Webpack: abstract away getting compilation spans: #76579
Misc Changes
- Turbopack: prevent panic in swc issue emitter: #76595
- Unflake
parallel-routes-revalidationtest: #76600 - Fix
octokit.rest.issues.addLabelscall: #76601 - [test] Use new Redbox matchers in app/ error-recovery: #76552
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox-app-doc: #76551
- Run nightly bundler integration tests also with React 18: #76606
- 15.2: Add version history for
devIndicatorsand note on deprecated options: #76611 - 15.2 docs: document missing
htmlLimitedBotsoption: #76616 - Update bundler production test manifest: #76584
- Update bundler development test manifest: #76585
- Fix test after CI switched to pnpm 10: #76615
- chore(cna): fix theme extend for tailwind v4: #76583
- [test] Use new Redbox matchers in app/ ReactRefreshLogBoxMisc: #76563
- Don’t use native built-ins for additional bundler: #76577
- Revert "Run nightly bundler integration tests also with React 18": #76640
Credits
Huge thanks to @devjiwonchoi, @mischnic, @unstubbable, @eps1lon, @huozhi, @philipithomas, @delbaoliveira, @samcx, @wbinnssmith, @acdlite, and @bgw for helping!
Core Changes
- Turbopack: Ensure server actions sourcemaps tests pass: #76157
- [dev-overlay] control dark theme in one place: #76528
Misc Changes
- fix(rustdoc): Fix rustdoc warnings, block on rustdoc failures in CI: #76448
- Update more global turbo CLI usage: #76576
- docs: Node.js runtime support for Middleware: #76556
- build: Update
swc_coretov16.0.0: #76414
Credits
Huge thanks to @bgw, @ijjk, @molebox, @kdy1, @timneutkens, and @devjiwonchoi for helping!
Core Changes
- Unify Link and Form prefetching: #76184
Credits
Huge thanks to @acdlite for helping!
Core Changes
- Fix
unstable_allowDynamicwhen used with pnpm: #73732 - [dynamicIO] use new heuristic to track whether server render is dynamic: #73751
- Fix receiveExpiredTags not always called: #73759
- error-overlay: Rename "Error" to "Issue": #72817
- remove redundant segment collection call: #73773
- Metadata resolvers can be fetched synchronously: #73771
- Turbopack: migrate client references to single-graph-traversal: #73322
- next-codemod: update gitignore file for parity for yarn recommendations: #71963
- feat: error code: #73332
- Detach next-error-code-swc-plugin from workspace: #73806
- [CI] Prominent error message for check_error_codes: #73807
- [Segment Cache] Add PPR header to segment prefetch: #73756
- fix: path escaping issue on windows: #73843
- Rename variables in LayoutRouter for clarity: #73826
- [Segment Cache] Skip prefetched segments on server: #73626
- [Segment Cache] No data on tree prefetch if no PPR: #73767
- Remove segmentPath from RSC payload: #73827
- build: better error if fetching AMP validator fails: #73851
- Escape the '.' in '.json' when making static data routes.: #73850
- fix(next@15): use the asset prefix when loading a CSS in App Router: #72095
- Exclude
.test.files from using error code plugin: #73868 - Refactor telemetry API: #73865
- Add additional error classes and error codes: #73862
- refactor: collectAppPageSegments: #73908
- cleanup unnecessary map in dev server: #73745
- Retry manifest file loading only in dev mode: #73900
- Turbopack: ignore empty NEXT_TURBOPACK_TRACING var: #73903
- Ignore RSC fetch errors after hard navigation: #73975
- Fix error code check in windows: #73981
- Separate viewport and metadata in rsc and cache: #73867
- Add feature flag for new dev overlay: #73977
- Restore RSC fetch error handling after navigating back: #73985
- refactor: make locales array immutable: #74037
- fix: skip rendering dynamic root segment routes: #74039
- refactor: cache lowercasing all the locales: #74038
- Add SRI support for Node.js Runtime : #73891
- Separate bots detection utils: #74000
- docs: remove a duplicated word in redirect code comment: #74043
- examples: update gitignore files for parity for yarn recommendations: #71956
- chore: update turbopack document path in the warning message: #72597
- Clean up
react-dev-overlaybefore fork: #74016 - chore(next/image): improve imgopt api bypass detection for unsupported images: #73909
- [Segment Cache] Add CacheStatus.Empty: #73667
- chore: move static paths utils into own folder: #73928
- Delete unused
GroupedStackFrames.tsx: #74028 - [Segment Cache] Move cache key creation to client : #73853
- feat: added partial shell generation using root params: #73816
- feat: added error when there's missing root params in generateStaticParams: #73933
- Remove parentRendered argument: #73877
- Generate per-segment responses for any static page: #73945
- feat: added fallback route params to prerender manifest: #74004
- refactor(turbopack): Make various types directly or indirectly included in
State<T>types into OperationValues and/or NonLocalValues: #74008 - Fork
react-dev-overlayfor new UI: #74017 - fix: added fallback source route to prerender manifest: #74052
- Add storybook for UI testing: #74032
- [Segment Cache] Support for non-PPR projects/pages: #73960
- exclude
.stories.and.test.files from taskfile watch and error plugin: #74064 - Upgrade React from
7283a213-20241206to372ec00c-20241209: #73749 - fix: aria attribute typo for error overlay: #74074
- fix: set x-deployment-id to every middleware prefetch request: #71193
- Add middleware handler for error code telemetry: #74088
- Create ErrorOverlay component: #74073
- fix(typed-routes): Fix route type fallback: #73271
- Rename
root-layout-missing-tags-error.tsxto pascal case: #74089 - Turbopack: next/dynamic use transitions instead of AST analysis: #73627
- [Turbopack] fix root and project path usages in a monorepo: #73552
- support
bun.lockas package manager lockfile: #74056 - Stop sourcemapping function names: #74085
- Move ErrorIndicator to separate file: #74090
- Upgrade React from
372ec00c-20241209to518d06d2-20241219: #74155 - used shared worker for lint & typecheck steps: #74154
- chore(turbopack): Ignore no-vc-struct lint in trybuild proc macro tests: #74110
- Use provided waitUntil for pending revalidates: #74164
- Port ErrorPagination: #74097
- Port LeftIcon RightIcon from ErrorPagination: #74098
- Port ToolButtonsGroup: #74099
- [Turbopack] fix import.meta.url in monorepo: #72612
- refactor: rename the react client error callbacks module: #74192
- Use ErrorOverlayLayout in Errors component: #74107
- refactor: remove internal queries, move to request metadata: #74100
- Fix accessing headers in progressively enhanced form actions: #74196
- Use Geist font in Dev Overlay: #74160
- [metadata] Align prefetch head type with head: #74161
- refactor: error boundary rendering in app-render: #74259
- [metadata] Merge the metadata resolve apis into one api: #74191
- [DevOverlay] fix: restore pagination style: #74296
- fix: update broken links in config-shared.d.ts: #74122
- fix: fix typos in errors.json & create-component-tree.tsx: #74471
- Safely retrieve router, improve page reload logic: #74209
- docs: bump year: #74475
- [DevOverlay] Remove Dialog Banner: #74464
- [DevOverlay] Add color palette script: #74465
- Fix: Preserve intentional percent encoding in search param for client nav: #74473
- [DevOverlay] Implement New Overlay Layout with Bottom Stacks: #74466
- [DevOverlay] Add error overlay footer and feedback: #74472
- [DevOverlay] Remove temporary header children: #74490
- fix: server functions x-forwarded-host possible multiple values: #73701
- [DevOverlay] Pass footer message from error containers: #74493
- feat(rsc): allow host or forwarded: #74199
- [DevOverlay] Adjust border style for header and footer: #74480
- feat(next/image): add support for
images.qualitiesin next.config: #74257 - Upgrade React from
518d06d2-20241219to3b009b4c-20250102: #74492 - fix: add node internals stack frames to ignored list: #73698
- chore: break calls to forEach into for loops: #74523
- [DevOverlay] Add error message: #74541
- [DevOverlay] Add error type label: #74543
- feat: connect error rating buttons to telemetry API: #74496
- [metadata] Move metadata rendering adjacent to page component: #74262
- Delete set-cache-busting-search-param.test.ts: #74561
- fix: enhance a11y, prevent double firing in error rating: #74563
- fix: add aria-hidden to error overlay voting icons: #74568
- Update font data: #74572
- Upgrade React from
3b009b4c-20250102to3ce77d55-20250106: #74557 - [metadata] Change the array head to single node in flight data: #74299
- [DevOverlay] Add Toolbar: #74555
- restore deleted comment in next-app-loader: #74597
- Turbopack dev: Remove client to server websocket ping event: #74584
- Fix prerender tags when notFound is called: #74577
- fix: add prerender abort errors to unstable rethrow: #74556
- Upgrade React from
3ce77d55-20250106to7b402084-20250107: #74599 - fix: handle optional catchall parameters properly when deployed: #74562
- refactor: generic dev build indicator: #74615
- ensure custom cache handlers are preloaded: #74622
- feat: dev build indicator for App Router: #74618
- fix fetch lock not being consistently released: #74623
- Ensure global cache handlers are used properly: #74626
- Ensure custom Suspense boundaries in layouts resolve if they contain the page: #74552
- test: exclude the ts testing files from tsconfig during local dev in nextjs repo: #74647
- Remove unused dependencyFactory plugin code: #74661
- test: do not log the changes for local dev tsconfig: #74674
- [metadata] initial support of streaming metadata: #74619
- Remove PPR feature check from Segment Cache client: #74669
- [Segment Cache] Add act-inspired internal router testing helper: #74668
- [Segment Cache] Background segment revalidation: #74057
- Upgrade React from
7b402084-20250107to42687267-20250108: #74649 - Indicate boolean value for configured experimental features on startup: #74691
- Implement encryption key into turbopack as hash salt: #72933
- Show numerical values for configured experimental features: #74692
- Upgrade React from
42687267-20250108to74ea0c73-20250109: #74693 - feat: DevToolsIndicator: #74679
- Fix presentation when onerror receives an event without error: #74643
- refactor: move the global client error code: #74699
- fix: ts language server rule metadata should allow null: #74704
- [DevTools] create error state for indicator: #74717
- [DevOverlay] Add Basic Stories for Error Containers: #74697
- Add experimental flag for View Transitions: #74659
- [DevOverlay] Floating Header and Bottom Stacks: #74581
- [DevOverlay] Add Pagination: #74583
- Fix @vercel/og license SPDX expression: #74745
- [DevOverlay] Add Next.js version staleness indicator: #74601
- Write errors.json fully formatted: #74753
- [DevOverlay] Fix style details and correctly pass version info: #74606
- [DevOverlay] Decouple Dialog component from Error Overlay: #74638
- [DevOverlay] Apply Turbopack Styling: #74636
- [DevOverlay] Add Call Stack: #74658
- [DevOverlay] Add Runtime Error CodeFrame: #74682
- Do not warn during build for supported modules in the Edge runtime: #74752
- Ensure metadata doesn't break scroll-to-top on navigation: #74748
- [Segment Cache] Fix stale time unit conversion: #74759
- [metadata] add option of configuring ua of async metadata: #74594
- SingleModuleGraph: yield edge weights during traversal: #74620
- refactor(turbopack/next-api): Implement NonLocalValue for TracedDiGraph and SingleModuleGraph: #74506
- Always display version indicator: #74774
- Update font data: #74777
- Upgrade React from
74ea0c73-20250109to056073de-20250109: #74754 - [DevOverlay] Improve Storybook Structure: #74764
- fix: always show indicator in app router: #74758
- Upgrade React from
056073de-20250109to540efebc-20250112: #74805 - [DevOverlay] Fix Style Regression: #74768
- Fix output files warning by Turborepo: #74811
- perf(lint): cache the returned regex result: #74827
- Upgrade React from
540efebc-20250112tocabd8a0e-20250113: #74828 - feat: added rewrite headers after user-supplied rewrites: #74776
- Add partial support for
"use cache"in metadata route handlers: #74835 - [DevOverlay] Hydration Error Code Frame: #74822
- fix: when metadatabase is set we should not warn: #74840
- [DevOverlay] Sync Terminal component with CodeFrame for Build Error: #74831
- feat: animated dev build/render indicator: #74833
- Fix mojibake in server action inputs (fixes #74843): #74845
- [DevOverlay] Add Turbopack story for Error Containers: #74834
- Add pagination SEO link tags: #74737
- chore: fix local development warnings inside next monorepo: #74863
- fix: eslint rule of using img in metadata routes: #74864
- Upgrade React from
cabd8a0e-20250113tob3a95caf-20250113: #74868 - [Segment Cache] Support
<Link prefetch={true}>: #74172 - Remove unnecessary re render on link reveal: #74670
- [Segment Cache] Cancel prefetch on viewport exit: #74671
- [Segment Cache] Prioritize hovered links: #74672
- Refine NextLogo Accessibility and Styling: #74869
- Disable failed scroll restoration warning: #74875
- Polish UI for dev indicator popover: #74872
- [DevTools] Add
CMD + .keyboard shortcut to show/hide: #74878 - [DevOverlay] use buttons for interactive indicator row options: #74887
- [DevOverlay] close popover/overlay on Esc: #74889
- Skip client reference manifests for static metadata route handlers: #74876
- Upgrade React from
b3a95caf-20250113tof0edf41e-20250115: #74890 - fix: moved down segment path handling after cache headers are set: #74893
- [Turbopack] improve task optimization: #74837
- Ensure client reference manifest is traced for global not found page: #74919
- Polish error feedback row: #74880
- fix: static indicator for new overlay decoupled from appIsrStatus: #74933
- [test] Avoid hydration errors in react-compiler tests: #74928
- feat: write the segment path data out from the incremental cache: #74892
- Track dynamic IO feature usage: #74942
- Upgrade React from
f0edf41e-20250115tob158439a-20250115: #74936 - Turbopack: chunk_group_multiple: #74859
- [DevOverlay] Fix floating header invisble on small screen: #74886
- rest errors queue after passing to handler: #74982
- [DevOverlay] Keep pagination on Build Error: #74905
- [Segment Cache] Evict client cache on revalidate: #74874
- Upgrade React from
b158439a-20250115to5b51a2b9-20250116: #74993 - [DevOverlay] Gather Feedback per Error: #74908
- Fix dev server ignores ENOENT error when loading page: #65213
- refactor: updated route regexp handling to simplify: #74996
- [DevOverlay] Rename file names to kebab: #75000
- Fix dhat support for turbo dev: #67166
- Fix missing revalidate with notFound(): #75009
- fix: always ensure element before set to weakmap: #75012
- Fix ping event being sent unintentionally for Pages Router with Turbopack: #75030
- fix: don't memory-leak promises passed to
waitUntil: #75041 - refactor: include new option for including prefixes: #75015
- Disable
colorminfeature fromcssnano: #53393 - types: improve types in app-index: #75045
- feature(error): capture ssr error in overlay during dev: #74983
- [DevOverlay] Polish new Error Overlay badge: #74975
- [DevOverlay]: hook up issue click handlers in NextLogo: #75069
- error when output: export is used with intercepting routes: #75058
- Display global-error along dev overlay during development: #75101
- [DevOverlay] Decouple Error Overlay with DevTools Indicator: #74999
- [DevOverlay] Open Error Overlay when DevTools Indicator clicked: #75025
- fix: be more defensive in useMergedRef: #75088
- [Dev Badge] Focus states and fluid transitioning between states: #75141
- polish indicator loading behaviour for new dev overlay: #75149
- clean unused stop: #75156
- [Segment Cache] Remove segment access tokens: #75157
- [Segment Cache] Minimize special root key handling: #75159
- [next:dev] fix: console error conflicting public file: #75140
- [Turbopack] allow to disable source maps: #75136
- Allow disabling HTTP request logs in dev server: #74349
- [metadata] Fix streaming metadata was missing in ssr: #75155
- fix(turbopack/napi): Flush optional task cache hit statistics upon completion of build: #75122
- add hostname to default error boundary message: #75151
- [Segment Cache] Predictable fallback param encoding: #75166
- misc: remove authors section in the readme: #75184
- Track
use cacheusage: #75007 - Upgrade React from
5b51a2b9-20250116to9b62ee71-20250122: #75187 - fix
afterexport in next-types-plugin: #75190 - fix: Merge
linkheader from middleware with the ones from React: #73431 - Restore and enhance error handling for hanging inputs in
"use cache": #74652 - Error handling for hanging promises in
"use cache"closures: #74750 - Fix source mapping of generated cache wrapper calls: #74987
- [Turbopack] use new backend by default: #72434
- eslint: allow ts extensions for config: #75222
- Split entrypoint/route handling into separate dev and prod versions: #75169
- [Segment Cache] Prioritize route trees over segments: #75213
- Remove
internal_disableSyncDynamicAPIWarningsflag: #75231 - router.prefetch should not trigger a React update: #75238
- [DevOverlay] Enable reactOwnerStack when newDevOverlay is enabled: #75199
- fix: typeof msg should compare to object: #75221
- [DevOverlay] Align old and new overlay: #74935
- Introduce standalone
experimental.useCacheflag: #75240 - [metadata] keep blocking metadata rendered in head: #75227
- Upgrade React from
9b62ee71-20250122toae9017ce-20250122: #75233 - Update React types: #75245
- docs:
opengraph-imagefiles work with the node.js runtime: #75274 - Upgrade vercel/og: #75247
- Turbopack: migrate global module ids to single-graph: #73752
- Emit build error when
useCacheis enabled and Edge runtime is used: #75279 - Fix
use serverdiagnostics for type exports: #74256 - Turbopack: don't hardcode
edge-instrumentation.js: #75289 - Upgrade React from
ae9017ce-20250122tode1eaa26-20250124: #75286 - Update bundler for pre-bundling runtime: #75294
- Ensure mangling is disabled for dev runtime builds: #75297
- Configure correct app dir when building
/_errorfallback in dev: #75354 - Upgrade React from
de1eaa26-20250124to9eabb373-20250124: #75367 - tweak static generation retry wait time: #75381
- [Dev Badge] Accessibility improvements to dropdown menu: #75268
- Gate
captureOwnerStackaccess onexperimental.reactOwnerStack: #75241 - [DevOverlay] Remove unused props from
errors.tsxand its story: #75392 - feat: slow module detection for webpack: #75368
- UI polish: dev overlay feedback button: #75400
- [DevOverlay] fix: shadow host element affects parent's display: #70676
- [DevOverlay] Display Correct Number of Errors on Indicator: #75395
- [dev-overlay] fix: do not open error overlay when click indicator: #75404
- fix: handle optional catchalls correctly: #75377
- [dev-overlay] do not close overlay when click indicator elements: #75406
- fix: add parser metadata for eslint 9 cache: #74791
- Fixed
null is not an object (evaluating 't.parallelRoutes.get'): #75360 - Turbopack: Move build to separate file: #75390
- Upgrade React from
9eabb373-20250124to37906d4d-20250127: #75398 - Turbopack: Implement build worker: #75391
- Revert changing bundler for runtime bundle but keep externals fix: #75412
- Revert "fix: handle optional catchalls correctly": #75442
- [Turbopack] allow to manually mark tasks as root: #75436
- [Turbopack] disable dependency tracking when running build without persistent caching: #75243
- [DevOverlay] fix total error count: #75500
- [DevOverlay] fix total error count: #75500
- fix: incoming requests should use plural: #75582
- Don't warn about Turbopack config if disabled: #75618
- Unfork stack frame utils: #75532
- [use-cache] Exclude warmup render when dynamicIO is off: #75527
- add additional x-middleware-set-cookie filtering: #75561
- [use-cache] use computed size of the ReadableStream for LRU evicting: #75607
- Include HMR refresh hash in
"use cache"cache keys: #75474 - [DevOverlay] cleanup hydration error UI: #75499
- [metadata] Remove deadcode and extract separate test suite: #75528
- refactor: decouple getOriginalStackFrame from endpoint: #75553
- fix: dev overlay style to add wrap + adjust bg width: #75485
- fix: preserve custom Vary headers: #75536
- Clean-up: remove unused errorMessage param in stack frames: #75554
- Upgrade React from
37906d4d-20250127toc492f975-20250128: #75434 - Fix console replaying and
React.cacheusage in"use cache"functions: #75520 - Upgrade React from
c492f975-20250128toa4b2d0d5-20250203: #75649 - DX: Reduce devtools clutter by batching stack frame requests: #75557
- Add nodejs runtime support for middleware: #75624
- polish hydration errors: #75632
- feat: added support for prefetch segments when deployed: #75202
- [Turbopack] await shutdown before ending pool: #75545
- [Error Overlay] Comprehensive refinement: #75471
- Upgrade React from
a4b2d0d5-20250203to0a82580b-20250203: #75660 - Ensure src/middleware handles correctly: #75702
- Unused
searchParamsin"use cache"page should not cause dynamic: #75662 rootParams()is now a plain Proimse (not exotic): #75717- Invalidator: don’t call invalidate at all if there’s nothing to invalidate: #75706
- add script for quickly updating error codes: #75690
- [dev-overlay] fix: color contrast for terminal: #75736
- fix: enable new overlay properly when env var is set: #75747
- fix: work around setTimeout memory leak, improve wrappers: #75727
- [DevOverlay] fix style regression: #75756
- [dev-overlay] fix: proceed to get runtime error when fails to fetch original stack frames: #75743
- [dev-overlay] add and apply merge class names util: #75758
- docs: Update README for experimental testmode: #75722
- fix: middleware not applied to _next/image: #75729
- fix: ensure lint worker errors aren't silenced: #75766
- Ensure node middleware is handled with standalone: #75765
- Fix incorrect error count : #75759
- Upgrade React from
0a82580b-20250203tod85cf3e5-20250205: #75698 - Only disable Prettier for original Turbopack source: #75716
- [dev-overlay] fix: pagination focus ring was invisible: #75790
- test: Exclude
turbo-tasks-macrofromtest-cargo-unit: #75776 - Send formatted error to frontend if sourcemapping fails: #75712
- Upgrade React from
d85cf3e5-20250205toff628334-20250205: #75757 - [dev-overlay] fix link styling on hydration errors: #75792
- Only reference published
@types/react-domversions: #75606 - Dedupe cached data from
"use cache"functions in RSC payload: #75786 - Allow
"use cache"withoutput: 'export': #75794 - [metadata] new metadata insertion API and support PPR: #75366
- Handle invalid sourcemaps: #75713
- [error overlay] fix missing html error is not displayed: #75831
- docs: improve JSDocs for
metadataand<Link>: #75576 - [error overlay] missing html tags error should be blocking: #75839
- Upgrade React from
ff628334-20250205to8759c5c8-20250207: #75796 - Use TypeScript to check if a default case is required in
switch: #75854 - Revert "[metadata] new metadata insertion API and support PPR": #75858
- [Error Overlay] Fix bottom stack animation: #75867
- [Error Overlay] New design: #75679
- Upgrade React from
8759c5c8-20250207to93b58361-20250209: #75868 - [dev-overlay] HOTFIX: clicking nav escapes the overlay: #75876
- dev error overlay: async boundary for original stack frame call: #75718
- fix(turbopack): Always console.log the "done in" message after receiving a BUILT event: #75730
- Add test to verify that inner caches are excluded from Resume Data Cache: #75883
- Respect
no-storerequest header for"use cache"entries in dev mode: #75754 - Reland "[metadata] new metadata insertion API and support PPR #75366": #75873
- [metadata] do not rethrow postpone when streaming metadata is not enabled: #75887
- refactor(webpack-config): Pass through jsConfigPath: #75886
- refactor(webpack-config): Disable some options based on bundler version: #75888
- Improve hydration diff view: #75799
- [dev-overlay] Introduce motion to surface new errors: #75734
- Upgrade React from
93b58361-20250209tocd90a4d8-20250210: #75914 - [DevOverlay]: render indicator in pages router: #75918
- error code should preserve after stitching: #75929
- [error overlay] display different error info individually: #75916
- refactor: minor cleanups in webpack actions code: #75912
- [DevOverlay]: fix missing Error context for build-time errors: #75932
- [error overlay] align data attributes between 2 UIs: #75937
- fix: typos in documentation files: #75816
- [error overlay] fix highlighted lines: #75940
- [error overlay] hornor the original erroring order: #75934
- Restore
--no-manglingCLI option fornext build: #75921 - Turbopack: make tracing easier: #75958
- Upgrade React from
cd90a4d8-20250210tof83903bf-20250212: #75967 - Use
compilation.{emitAsset,updateAsset}api rather than mutatingassetsobject: #75927 - Use resource to detect feature usage in telemetry: #75917
- Create unique source URLs between Client and Server in Pages dir: #75878
- cleanup: remove unused NEXT_RSC_ERR_* error parsing code: #75982
- [error overlay] fix infinite loop when frames are failed to fetch: #75988
- [dev-overlay] fix: call stack silently fails to open editor with 204: #75785
- Cleanup webpack sourcemap middleware source URL handling: #75879
- Upgrade React from
f83903bf-20250212tocbbe8666-20250213: #76010 - [dev-overlay] sync style diffs with new design: #75949
- [dev-overlay] update overlay toolbar icons: #75998
- webpack: Sourcemap externals when replayed in the browser: #75863
- [DevOverlay]: enable by default: #75882
- [dev-overlay] style: version info staleness click text to learn more: #75768
- [ppr] Improve experimental debugging: #76016
- [metadata] set bypass ua regex string for ppr routes: #75977
- fix: handle parsing destination with patterns in hostname: #75973
- Fix: Build error causes infinite loop on new dev overlay in Turbopack: #75984
- [metadata] disable streaming metadata for ppr deployment: #75978
- [dev-overlay] fix: hydration error style: #76049
- Remove
experimental.reactOwnerStackflag: #76021 - [dev-overlay] style: improve version staleness indicator version unknown: #76061
- [dev-overlay] add aria to disabled docs button: #76055
- [dev-overlay] fix: terminal symbols are longer than text: #76059
- Disallow
rootParams()incachescope: #75801 - Remove tracestate header from fetch cache key: #76041
- [dev-overlay] remove hide dev tools shortcut: #76066
- [dev-overlay] hide dev overlay when printing: #73489
- Create valid URLs in source map sources with Turbopack: #76075
- [metadata] fix ppr deployment by not disabling ppr: #76087
- [dev-overlay] add error env name label: #76003
- [dev-overlay] deprecate
devIndicatorsoptionsappIsrStatusandbuildActivity: #76067 - [dev-overlay] deprecate
devIndicators.buildActivityPositionand rename toposition: #76069 - Fix runtime error in
writeConfigurationDefaults: #76106 - [dev-overlay] change dev indicator position by next config option: #76077
- perf: Do not run react compiler needlessly: #75676
- Handle more known protocols in stackframe locations: #76086
- Bump webpack to 5.98.0: #75847
- fix(edge): run after() if request is cancelled mid-streaming: #76013
- Clean module path if Fast Refresh full reload was caused by files outside project: #76108
- Revalidate
"use cache"caches during on-demand revalidation: #76100 - Fix cache kind validation: #76064
- [dev-overlay] add false option to disable dev indicator: #76079
- Fix on-demand revalidation with
"use cache"in dev mode: #76122 - [dev-overlay] handle ssrd nextjs internal errors in overlay: #76124
- [dev-overlay] fix: overlay is located relatively low when long content: #76113
- [dev-overlay] Fix off-by-one column sourcemapping in Webpack: #76152
- [metadata] handle navigation API in streaming metadata: #76156
- [dev-overlay] refactor to group the middleware response utils: #76199
- [dev-overlay] fix geist font woff2 name: #76201
- [dev-overlay] rename
readyErrorstoruntimeErrors: #76208 - [dev-overlay] do not allow dismissing build error for dev indicator: #76209
- [dev-overlay] use stop icon for hide devtools button: #76212
- Add basic profiling plugin for alternative bundler: #76030
- [dev-overlay] font style backward compat with react 18: #76225
- Implement foundations for additional bundler option: #75981
- Remove hmr socket code from prod build: #76232
- fix: overlapping query and param names should not conflict: #76177
- Built-in app loader plugin for additional bundler: #76017
- Built-in flight plugin for additional bundler: #76014
- Built-in swc loader plugin for additional bundler
- misc: remove vendored node-fetch usages: #75741
- Consolidate
next/linkerror tests: #76214 - fix: NextConfig.rewrites type for fallback: #75784
- [dev-overlay] use absolute font src url: #76229
- [dev-overlay]: remove old CollapseIcon: #76239
- fix: add appDir path to middleware output path: #75923
- [Turbopack] pass inner modules to chunking to match chunking types: #76227
- [dev-overlay] Remove old Dev Overlay: #76256
- [dev-overlay]: make open in editor button a separate click region: #76243
- [dev-overlay] dead code elimination: #76276
- [dev-overlay] use unique font name: #76230
- [dev-overlay] align border color: #76288
- Add canary warning for node middleware: #76292
- fix: top level await in node middleware: #76012
- docs(errors): add failed-to-find-server-action error page: #75678
- Ensure middleware layer is applied for node: #76293
- [metadata] fix streaming metadata triggering error boundaries: #76280
- [errors]: default export error should distinguish between layout/page: #76294
- Remove unused nccd node-fetch: #76241
- [dev-overlay] expandable error message container: #76297
- feat: option to disable next types plugin: #76300
- [dev-overlay] pick up build error message: #76290
- [dev-overlay] fix: line number handling for cursor editor: #76151
- [dev-overlay] restructure dev-overlay project: #76291
- Upgrade React from
32b0cad8-20250213to662957cc-20250221: #76333 - Revert null check in mountLinkInstance: #76289
- [dev-overlay] Isolate overlay from user space Components: #76277
- [global-error] fallback to default error when user one fails: #76339
- [misc]: remove unused render worker code: #76345
- [dev-overlay] do not attach hydration info to non hydration errors: #76349
- [dev-overlay] adjust Next.js logo stroke color during dev builds: #76351
- [dev-overlay] fix: restore the missing Cursor editor case in dev-overlay : #76371
- [dev-overlay] remove the experiment config for overlay: #76356
- [dev-overlay] minify css: #76370
- [dev-overlay] remove unused base styles: #76372
- [dev-overlay] use css var for
<a>tag focus ring: #76374 - [dev-overlay] fix: fallback to local machine's Geist Font if applicable: #76377
- [dev-overlay] fix: bottom stack count: #76375
- [next] use
tsconfig.build.jsonfor production build: #76373 - [metadata] only blocking render for html bots in ppr pages: #76379
- [metadata] enable streaming metadata by default: #76221
- [dev-overlay] toggle overlay when clicking
N issuessection: #76398 - [dev-overlay]: hiding devtools shouldn't hide errors: #76399
- [dev-overlay] docs: add readme: #76396
- Add test to assert on current build output tree view: #76342
- Flight loader: use
normalModule.typeto determine module type: #76338 - update type for next/dynamic
loadingoption to acceptReactNode: #76402 - [dev-overlay] Link to section explaining opt-in error feedback: #76424
- [dev-overlay] polish component stack mask css: #76434
- [dev-overlay] Disable error feedback in UI if
NEXT_TELEMETRY_DISABLEDis set: #76423 - [metadata] promote streaming metadata configs to stable: #76344
- [metadata] update metadat docs for streaming metadata: #76282
- [app] Send errors not handled by explicit error boundaries through
reportError: #76101 - Upgrade React from
662957cc-20250221to25677265-20250224: #76437 - [Testing] Update middleware/next-config tests to include search params: #76354
- Add node middleware handling for turbopack: #76360
- Upgrade React from
25677265-20250224to22e39ea7-20250225: #76481 - [app i18n]: warn about i18n configuration deprecation in app router: #76346
- [dev-overlay] style: improve error label background color contrast: #76490
- Fork Form implementation for Pages and App Router: #76498
- Webpack: handle file:// urls when finding sourcemaps: #76443
- Ensure middleware layer is bundled: #76466
- [dev-overlay] do not force hide scrollbar: #76504
- [Segment Cache] Hard nav when root layout changes: #76163
- [metadata] clarify the default list behavior: #76450
- [dev-overlay]: generalize ISR status functions for pages/app: #76457
- [dev-overlay]: wire up ISR status for pages router: #76458
- [dev-overlay]: fix inline docs to show correct info for given router: #76461
- [dev-overlay] add title for the dev indicator menu items: #76510
- [dev-overlay] sync suffix
Nof--size-Nwithpxvalue of base font16px: #76384 - Add event for webpack plugin customization: #76477
- [dev-overlay] use
remfor sizes andpxfor spacings: #76385 - [dev-overlay] hide dev indicator for server session or 1 day: #76430
- [dev-overlay] customize scrollbar styling: #76509
- [dev-overlay] Add indicator when sourcemapping fails: #76516
- refactor: clean up forked Form implementations: #76495
- [dev-overlay]: fix invalid font in info panels: #76519
- [dev-overlay] upgrade
storybook@8.6.0: #76511 - [dev-overlay]: add preference panel: #76522
- [dev-overlay]: remove background on custom select: #76526
- [dev-overlay]: tweak system icon: #76527
- fix: remove initial-scale=1 from viewport when set to false: #76397
- [dev-overlay] control scrollbar by selected theme: #76553
- [dev-overlay] misc:
Ignored-listed->Ignore-listed: #76554 - [dev-overlay] add disabled backround-color for toolbar buttons: #76555
- [dev-overlay]: update docs for devIndicators & outdated screenshot: #76463
- [dev-overlay] improve color contrast for terminal: #76525
- [dev-overlay]: use proper labels for preferences: #76558
- Handle duplex automatically for NextRequest: #76531
- [Segment Cache] Implement scroll-to-new-page: #76170
- Do not pass an empty string tag into
receiveExpiredTags: #76561 - [Segment Cache] Re-prefetch links on navigation: #76060
- [dev-overlay] fix: svg icon ids are not unique: #76566
- [dev-overlay] change button to lowercase except leading letter: #76565
- Remove rewrite query params from request URL when deployed to Vercel: #76548
- exclude AppDevOverlayErrorBoundary from prod build: #76568
- [dev-overlay] rephrase docs button title as link to related docs: #76571
- [dev-overlay]: allow disabled state to be dismissable: #76572
Example Changes
- chore(docs): add missing
search: ''onremotePatterns: #73925 - examples: remove
with-tailwindcssexample: #73919 - examples: update
next-config-jsdocument path: #73774 - examples: convert @next/third-parties examples from JS to TS: #73602
- updated with-orbit-components example to utilize the App Router.: #73266
- examples: update
with-styled-componentsREADME: #73729 - examples: update
with-orbit-componentsREADME: #74011 - examples: update
with-mdx-remoteexample to utilize the App Router: #74067 - Removed duplicated cn function declaration from lib dir: #74065
- Fix linting between lint-check and lint-staged: #74503
- chore(examples): update React in reproduction templates to stable 19: #74499
- chore(examples): updated the example of with-react-jss to utlize the App router: #74440
- chore(examples): updated the example of with-styled-components-rtl to utlize the App router: #74180
- examples: remove
app-dirandwithprefix in themdxdirectory name: #73458 - examples: add StackBlitz preview to README.md: #73546
- examples: improve DX while copying command to create new project: #73463
- examples: fix
with-zonesrepository name in the deploy link: #74852 - with-mux-video: recommend environment variables instead of secrets: #74879
- with-mux-video: updates for next 15 compat: #74881
- Update readme for with-mux-video: #74966
- docs: recommend webp over avif: #75966
- examples: fix search usage: #75972
- example: add next config to hello-world app: #76022
- Fix cms-plasmic example: #75750
- examples: Fix prettier issue: #76027
- Update with urql example: #76485
- Updated remove-console example to utilize the app router.: #76543
- Fix createclient: #76567
Misc Changes
- Add NEXT_PRIVATE_SKIP_CANARY_CHECK env for bench job: #73763
- refactor(turbopack): Add
NonLocalValuederives to types deriving TraceRawVcs: #73714 - Turbopack: support module workers: #72614
- docs: add versions to connection API: #73798
- Increase test retries from 1 to 2: #73795
- refactor(turbo-tasks): Implement
NonLocalValuefor allResolvedVcs andOperationVcs: #73764 - docs: supporting after for providers: #73743
- [E2E] Fix config file conflict: #73818
- feat: Update
swc_coretov9.0.0: #73696 - Turbopack: resolve some to-resolved-in-loop: #73794
- Bump Rust version: #73169
- fix(turbopack): Enable
explicit_resource_managementtransform: #73802 - docs: fix code block extension on
afteranderror handling: #73844 - Revert "feat: Update
swc_coretov9.0.0": #73866 - refactor(turbo-tasks): Derive NonLocalValue by default in value/value_trait macros: #73766
- refactor(turbo-tasks): Implement
NonLocalValueforState<T>whereT: NonLocalValue: #73770 - chore(github): fix typo in close-issue-message: #73878
- Docs: Remove
unstable_expirePathandunstable_expireTagdocs: #73856 - Docs: Create
Examplessection: #73858 - Docs clean up: Merge and delete content from
routing/index.mdx: #73859 - Docs clean up: delete
defining-routes.mdxandpages.mdx: #73863 - Turbopack: store ChunkingType in single-module-graph: #73837
- chore(turbopack-browser): Pedantically fix minor typos in comments about TraitRef: #73772
- chore(docs): update version history of
next/image: #73923 - docs: update
WebVitalscomponent: #73869 - Correct typo in Update 04-images-and-fonts.mdx: #73790
- chore(github): add issue_wrong_template workflow: #73882
- docs(mdx): add a dynamic imports section for App Router: #73466
- chore: increase test sharding: #73852
- fix(turbo): sassOptions
silenceDeprecationswas not overwritten with user options: #73937 - Docs: fix typo in
examplespage: #73907 - docs: add
next.config.tscode switcher to Redirecting docs: #73848 - docs: add tsx switcher to
linking and navigation: #73846 - docs: update file structure on contribution guide: #73778
- docs: add
next-intlayerinto i18n solution list: #73750 - docs: minor typos and fixes: #73955
- docs: fix sitemap changelog table formatting: #73760
- fix(docs): vitest manual setup: #73754
- docs: fix file extension and missing export: #73842
- docs: update
tailwind.config.tsto usesatisfiesoperator: #73924 - docs: Fix MDX syntax error: #73970
- chore(next-custom-transforms): Mark fixture outputs as generated: #73918
- docs(use-cache): add missing jsx switcher example and types: #73473
- docs(internalization): add typescript examples and fix params as promise: #73240
- docs: add missing quotation marks in exmaple code: #73720
- chore(turbo-tasks-macros): Remove use of associated items for NativeFunction construction: #73929
- refactor(turbo-tasks-macros): Strip (already hidden) doc attributes from inline function signatures: #73931
- chore(github): fix wrong-issue-template body: #74003
- chore(turbopack): Fix build error when CI environment variable is not supplied: #74041
- Make
ChunkItems reference onlyOutputAssets: #73824 - Install Vercel CLI at start of E2E deploy tests: #74047
- Fixed small typo in the doc: #73971
- docs: fixed regex for parsing base64String, and updated subscribeToPush function.: #73940
- exclude some modules from auto-import: #74020
- [Docs]: Clarify redirects in next.config to negate potential infinite redirects: #74019
- Update Turbopack development test manifest: #74013
- Turbopack: use old client reference collection implementation: #74029
- Create Jest project for Turbopack: #73769
- [Turbopack] move git version info to top-level crate to fix caching issues: #74015
- docs(redirect): add typescript example and fix params as promise: #73963
- docs: Fix filename for Turbopack traces: #74066
- Fix flakey deploy test assertion: #74060
- Specify PPR test dimension via environment variable only: #74031
- Name default Jest project according to used env variables: #74084
- test: assert that app exited without signal: #74087
- sync-react: Handle version bumps across SemVer minors and release channels: #74091
- Turbopack: change COMMON_CHUNKING_TYPE: #74080
- Turbopack: only inherit visited modules from parent layouts: #74072
- fix: improve types in turbopack runtime: #74119
- Fix merge conflicts: #74157
- refactor(turbopack/next-core): Migrate app_page_loader_tree structs to ResolvedVc: #74114
- refactor(turbo-tasks): Remove public OperationVc constructor, introduce a macro annotation for creating OperationVc types: #72871
- refactor(turbo-tasks): Make State require OperationValue: #73876
- chore(turbopack): Remove or improve a few uses of
.to_resolved().awaitinside a loop: #74112 - refactor(turbopack): Rewrite CollectiblesSource callsites to use OperationVc (part 1/3): #74051
- chore(turbopack): Delete to-resolved-in-loop lint (too low signal): #74113
- Allow usage of
thisandargumentsin nested function expression: #74179 - docs: update ISR self-hosting example code: #74211
- ci: use consistent playwright-chromium version: #74251
- Fixed typo in documentation: #74254
- docs: fix typo in self-host after() details: #74243
- chore(github): update comments stale period: #74291
- Fix typo in generateViewport docs: #74288
- docs: remove catch-all for opengraph-image: #74338
- docs(generate-static-params): add typescript example and missing jsx switcher: #73962
- docs(fetching-data-and-streaming): add missing types to example: #74081
- docs(use-cache): add missing
switchercode blocks and types in examples: #74083 - refactor(next-core): Remove local annotations from structs in next-core/src/app_structure.rs: #74200
- test: add missing await for hydration test: #74542
- Getting Started Docs: Add
Mutating Datapage: #74018 - Getting Started docs: Add
Error Handlingpage: #74069 - test: update test for async client component with snapshot: #74550
- test utils: Include origin of failed
browser.*in stack: #74553 - fix react being incorrectly mentioned as extending fetch API: #74278
- docs: pin react version to 18 in Next.js 14 upgrade guide: #74222
- chore(github): update issue_stale token to release bot token: #74575
- chore(ci): Ensure all 6 shards are used equally in deploy tests: #74574
- fix: force module format for virtual client-proxy file: #74162
- [Turbopack] fix shadow-rs build caching: #74579
- Relocate
SingleModuleGraphtoturbopack-core: #74571 - misc: add
.stories.tsxto vscode file nesting: #74593 - ci(eslint): remove unecessary react/self-closing-comp: #74120
- docs(images): update distinction between priority and fetchPriority: #74650
- docs: SPAs: #74605
- docs: fix typo: #74657
- Use prefer offline flag for CI: #74663
- perf(rcstr): Support inline string: #74482
- refactor(turbopack-ecmascript) Use ResolvedVc in EsmExport type: #74508
- test: assert the logs has updated after revaluate js value: #74686
- Recommend styled-components VSCode extension to get CSS autocomplete in Dev Overlay: #74688
- fix(turbopack): Stop analyzer if IIFE is recursive: #74628
- refactor(turbo-tasks): Add NonLocalValue marker trait implementation for TransientState: #74509
- build(scripts/pack-next): Add support for compressing debuginfo with zlib: #74662
- refactor(turbopack-core): Use ResolvedVc in IntrospectableChildren: #74510
- refactor(turbopack-core): Use ResolvedVc in ProcessResult and ModuleResolveResultItem: #74511
- Update lightningcss: #74695
- refactor(turbopack-core): Use ResolvedVc for IntrospectableModule and IntrospectableSource: #74512
- Turbopack: add flag to switch between envs: #74135
- Upgrade Turborepo to v2.3.3: #74736
- build: Update
swc_coretov10.1.0: #74580 - Improve memory usage of the new backend: #74740
- test: add feature of overriding files: #74716
- Update 09-error-handling.mdx: #74656
- misc: add
.cursorignore: #74763 - chore(github): update how we handle stale issues: #73488
- chore(github): ignore PRs in for stale issue bot: #74767
- Turbopack chunking: use ChunkableModules in
chunk_content, not ChunkItems: #74040 - chore(turbopack): Delete some dead code that was using unresolved Vcs: #74705
- refactor(turbopack-core): Remove remaining "local" value type opt-outs in turbopack-core: #74706
- refactor(turbopack-dev-server): Remove unresolved Vc from DevHtmlEntry, use a named struct: #74707
- Update incorrect comment: #74687
- Typo in nextjs-compiler.mdx: #74645
- Fix small bug in getting started docs: #74744
- docs update: Remove public access modifier from resetRequestCache method in CacheHandler class, it's not available in js file (only in typescript): #74788
- docs: unstable_cache clarify usage: #74802
- fix: unauthorized.mdx: #74799
- [Turbopack] make the single module graph a root task: #74778
- docs: mark app router dynamic example as client component: #74806
- docs: disclaimer for only canary version available for ppr: #74813
- refactor(turbopack-dev-server): Use ResolvedVc/NonLocalValue in RewriteType, remove all "local" opt-outs from structs: #74708
- refactor(turbopack-ecmascript): Use ResolvedVc in CodeGen type: #74709
- refactor(turbopack/next-core): Use ResolvedVc in VisitClientReferenceNodeState: #74710
- refactor(turbopack-core): Use ResolvedVc in ContextCondition: #74711
- refactor(turbopack/next-core): Use ResolvedVc in PackagesGlobs: #74712
- docs: mention special case for trailing slash: #74839
- refactor(turbopack): Remove last known (non-test) usages of unresolved vcs in turbo_tasks::value (!!!): #74713
- docs: fix typos in 08-mutating-data.mdx: #74856
- [Turbopack] add count method to storage: #74830
- [Turbopack] add tracing to task execution: #74770
- [Turbopack] improve task aggregation update: #74771
- [Turbopack] add active_counter to keep tasks active: #74772
- Update CI config for Windows runner: #74850
- fix(turbopack): Fix tree shaking with
import * as R: #74725 - ci: ensure fnm is installed in build_reusable: #74891
- feat(turbopack): Add a compile-time feature to turbopack to enable tokio-console support: #74675
- [Turbopack] fix task optimization by removing children count: #74907
- fix(turbopack-swc-utils): Don't panic if issues aren't emitted, use
#[must_use]annotation: #74906 - Create synchronous snapshots of recursive AvailableModuleInfo struct: #74894
- fix persisent caching restore bug: #74917
- Fix missing
awaitofparamswhen metadata with an image file pt2: #74193 - Turbopack: capture all references in module graph: #74873
- Add reference library that supports React Server and uses React Compiler: #74923
- [Turbopack] refactor to pass ModuleGraph to chunk_group: #74937
- [Turbopack] fix unemit collectible: #74932
- refactor(turbo-tasks): Convert local Vcs to non-local Vcs when returning from task functions: #74714
- perf(turbo-tasks): Add a synchronous try_sidecast method to ResolvedVc: #74844
- perf(turbopack): Reduce size of
ConstantValue: #74965 - Turbopack: singular EcmascriptClientReferenceModule: #74946
- refactor(turbopack): Merge
AtomandJsWordvariant ofConstantString: #74967 - Turbopack: add server actions loader to module graph: #74951
- perf(turbopack): Box
ConstantValue::Regex: #74968 - perf(turbopack): Reduce size of
Effect: #74969 - test: temporarily disable after deploy test: #74989
- test: add turbopack hmr flaky test: #74995
- Turbopack error logging: check NEXT_TEST_CI to use verbose behavior: #75001
- Turbopack: compute chunk group info: #74947
- build: Update
swc_coretov10.2.5: #75002 - Re-enable app-dir logging test: #75003
- chore(github): use Issue Types: #75006
- chore(github): remove documentation label from area dropdown: #75008
- refactor(turbopack/next-api): Make VcArc use OperationVc: #74479
- Add
next-custom-transformstests to verify source maps: #75005 - build: Update
swc_coretov10.3.0: #75018 - put dirty task tracing behind a feature flag: #75022
- Turbopack: fix layout segment optimization: #75026
- fix layout segment optimization: #75035
- Turbopack: don't search for layout segments in routes: #73847
- Turbopack: resolve arguments to
EsmAssetReference::new: #75040 - perf(turbo-tasks): Optionally schedule ResolveNative/ResolveTrait tasks as local tasks: #69126
- hopefully fix infinite recursion in optimize: #75043
- [Turbopack] implement chunking based on the module graph: #74979
- [Turbopack] avoid crashing on e.g. .DS_Store: #75050
- perf(turbo-tasks): Use the type information we already have for all ResolvedVc casts, expose synchronous versions of functions: #75055
- docs: update Next.js 15 versions in upgrade guide: #74960
- [Turbopack] Production Chunking: #75010
- Include CI runner labels in Turborepo hashes: #75099
- [Turbopack] try to avoid too small chunks size when optimizing for production: #75048
- perf(turbopack): Reduce size of
EffectArg: #74973 - build: Update
swc_coretov10.5.0: #75098 - perf(turbopack): Use
u32for the total node count: #75100 - test: add dynamic api usage test case for streaming metadata: #75109
- Turbopack: optimize NftJsonAsset: #75105
- [Turbopack] Low hanging fixes and improvement on module graph: #75106
- Turbopack: don't create span for parallel chunking type: #75094
- refactor(turbopack): Only perform strongly consistent reads/resolves on VcOperation: #75016
- fix: remove unnecessary parentheses in draft mode API: #75153
- perf(turbo-tasks): Turn on
local_resolutionfeature by default: #75051 - [Turbopack] allocation improvements for SingleModuleGraph: #75145
- [Turbopack] pass sourceMap flag to webpack loaders and postcss: #75144
- Update 06-data-fetching-and-streaming.mdx (Removed duplicate word): #74810
- add test case for intercepting route + catchall + generateStaticParams: #75167
- [Turbopack] remove verbose new backend tracing: #75165
- optimize read matches to reduce FileSystemPath calls: #75164
- chore(turbo-tasks): Remove the ability to opt-out of NonLocalValue for VcValueType and VcValueTrait: #75053
- chore(turbopack): Mark
ResolvedVc::resolveas deprecated to prevent resolving an already-resolved ResolvedVc: #75168 - Turbopack: don't generate CSS for Node.js: #75117
- chore(tests): Remove linguist-generated git attribute from test snapshot data/fixtures: #75194
- chore(github): remove Developer Experience area: #75198
- [Turbopack] fix invalidation and counting with collectibles: #75195
- chore(github): add CSS area/label: #75201
- Remove
endpoint.write_to_disk()in favor of standardizedendpoint.output(): #75059 - perf(turbopack): Use
Cow::into_ownedinstead of.to_string(): #75216 - [Turbopack] Memory improvements: #75210
- docs: Update
robotsforgenerateMetadataspec: #75229 - refactor(turbo-tasks): Use Return Position Impl Traits (RPIT) to reimplement GraphTraversal: #74896
- chore(turbo-tasks): Delete
non_local_returnsupport from#[turbo_tasks::function]: #75209 - perf(turbopack): Update SWC plugins (
styled-jsx,emotion): #75236 - refactor(turbopack): Remove
ReadRawVcFuture.turbo_task: #75217 - test: Move
should not cause error when removing loading.jsto flaky manifest: #75239 - test: skip dev/deploy testing for
test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts: #75249 - misc: add Rauno to CI approved: #75269
- [Turbopack] include async loaders in chunking instead of separating it: #75052
- perf(turbopack): Use
PassAPI forstyled-jsxSWC plugin: #75271 - perf(turbopack): Reduce needless allocations for SWC plugins: #75275
- Add test fixtures demonstrating export statement validation bugs: #75277
- Fix export statement validations for app router pages: #75278
- change turbopack-cli to new backend: #75242
- chore(turbo-tasks): Remove argument resolution from backends, only allow local-task-based argument resolution: #75214
- refactor(turbo-tasks): Merge dynamic_call/native_call with dynamic_this_call/native_this_call: #75253
- chore(turbo-tasks): Clean up consistency/untracked APIs around local outputs and cells: #75171
- fix(turbo-tasks): Implement
is_transientonOperationVc: #75291 - [Turbopack] box InnerStorage to avoid overallocation: #75287
- [Turbopack] Inline commonly used storages: #75284
- perf(turbo-tasks): Add a 'local' option to
#[turbo_tasks::function(..)]: #75259 - [Turbopack] avoid some allocations: #75285
- chore(turbo-tasks): Loosen some type bounds on ShrinkToFit for IndexMap, update indexmap crate: #75193
- perf: Update SWC plugins: #75324
- Getting Started docs: Consistent casing and naming: #74637
- Turbopack: CLI / perf improvements: #75373
- docs: fixed typo to auth.ts: #75345
- fix(create-next-app): use web standard error check for URL: #71473
- docs: remove infinite looping redirect: #75376
- chore(github): update more labels: #75382
- docs: let searchParams be Promise in
<Form>example.: #75386 - [Turbopack] cleanup tracing spans and names: #75385
- Convert remaining sync (search)params access: #75389
- Turbopack: use type alias: #75300
- [cna] upgrade templates tailwind to v4: #75407
- chore(github): update more labels: #75409
- create-next-app: default to ESLint disabled: #73864
- Turbopack: Use from_utf8_unchecked for minify output: #75422
- docs: add optimizations for navigating between App/Pages router: #75427
- Add temporary CI workflows for testing: #75432
- [Turbopack] fix is_empty implementation: #75426
- docs: specify encryption for custom actions key: #75425
- chore(github): update more labels: #75444
- [Turbopack] only the first task read need to be strongly consistent: #75435
- perf(turbo-tasks): Filter out and do not cache unused arguments: #75261
- build: Update
swc_coretov12.0.0: #75327 - chore(github): update github labels: #75452
- fix rustflags for musl targets: #75599
- Fix rewrite-headers test: #75602
- Turbopack CI: Update test results artifact: #75429
- Add package.json script for building turbopack-cli: #75031
- [Turbopack] update event_listener to fix hanging bug: #75481
- Turbopack: add dedicated TracedAsset: #75510
- Turbopack: generate shorter variable idents: #75611
- [Turbopack] connect children in a batch when task is about to finish: #74773
- Update test-junit-report path: #75612
- [Turbopack] add more options for production chunking: #75544
- Turbopack: Skip Traced chunking type in module graph: #75608
- fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
- Turbopack: Disable react_refresh code in production: #75535
- chore: remove global-error in hello-world example: #75509
- [Turbopack] limit the number of concurrent fs operations: #75480
- Fix rustflags in *-musl builds: #75614
- Update test-junit-report path: #75612
- [Turbopack] add more options for production chunking: #75544
- Turbopack: Skip Traced chunking type in module graph: #75608
- fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
- Turbopack: Disable react_refresh code in production: #75535
- chore: remove global-error in hello-world example: #75509
- [Turbopack] limit the number of concurrent fs operations: #75480
- Fix rustflags in *-musl builds: #75614
- Ensure junit-report is uploaded: #75615
- refactor(turbo-tasks): Port task statistics to the new backend: #75303
- Bring back rust bindings path: #75620
- Turbopack: short module ids in cli: #75357
- perf(turbo-rcstr): Fix the fast codepath for RcStr::into_owned(): #75504
- Fix corepack keys in deploy e2e tests: #75622
- chore(turbo-tasks): Add test for argument filtering: #75585
- perf: Make
next-page-static-infouseAtominstead ofString: #75587 - refactor(turbo-tasks): Codemod/migrate all ResolvedVc casting callsites to use the new synchronous APIs: #75547
- perf: Make
cjs_optimizeruseAtominstead ofString: #75588 - perf(turbo-tasks-fs): Call shrink_to_fit when building an immutable Rope: #75505
- chore(turbopack): Remove unmaintained fxhash crate, use rustc-hash instead: #75530
- chore(github): add conditional to triage workflow: #75524
- chore(github): update stale bot: #75630
- perf(turbopack): Update rustc-hash from 1.1.0 to 2.1.0: #75531
- perf(next-custom-transforms): Replace non-
SyncRc<DashMap<_, _>>usage withRc<RefCell<FxHashMap<_, _>>>: #75534 - refactor(turbopack): Define and use an FxDashMap alias everywhere: #75538
- perf(turbopack): Migrate as many data structures to FxHash as possible: #75546
- Disable
rewrite-headerstests that are dependent on Vercel site config: #75647 - docs: remove unused imports: #75653
- Run build-nextjs for Turbopack test runs on metal machines instead of GitHub hosted runner: #75654
- perf: Make
next_ssguseAtominstead ofString: #75591 - Remove github runner specific step: #75655
- [Turbopack] fix dependencies on own task: #75658
- Turbopack:
OutputAsset::path(): #75659 - [Turbopack] use Timestamp type, allow spans less than 1µs: #75479
- Turbopack: generate less JS before minification: #75358
- [Turbopack] correctly apply defines: #75643
- Turbopack: don't cell CodeGen-s: #75513
- perf: Make barrel optimizer use
Atominstead ofString: #75592 - perf: Make RSC pass use
Atominstead ofString: #75593 - perf: Make server action pass use
Atominstead ofString: #75594 - [Turbopack] sort spans by start date in tracing: #75642
- [Turbopack] setup aggregation number before connecting children: #74910
- perf: Make page exports stripper use
Atominstead ofString: #75595 - perf: Make page static info use
Atominstead ofString: #75596 - [Turbopack] reduce the number of spans created in task completion: #75437
- [Turbopack] wait for output instead of waiting for task completion: #75438
- perf: Remove needless
Arc: #75601 - Turbopack: make IssueSource a TaskInput: #75542
- Unflake
cookies/headers/draftMode in "use cache"test: #75675 - Turbopack: don't watch output FS: #75680
- Turbopack: uncell RequireContextValue: #75683
- Turbopack: cache variables in linker: #75440
- Turbopack: disambiguate
TaskInput::resolve: #75661 - Turbopack: remove last stray lint ignore comments: #75519
- Update
swc_coretov13.0.4: #75684 - test: fix eslint plugin test: #75687
- Add regression test for previously hanging compilation with Turbopack: #75507
- chore(turbo-tasks): Remove support for local_cells (a specific mode of local tasks we ended up not using): #75672
- docs: fix example for multiple tags in cacheTag usage: #75693
- Turbopack: lazily evaluate
objfor member replacements: #75453 - Fix lint for cacheTag doc: #75703
- [Turbopack] disable dependency tracking for next build: #75704
- Add test to verify which pages are prerendered in
use-cachetest suite: #75681 - chore(next-swc-napi): Remove unused(?) rlib target: #75707
- Turbopack: add test for local tasks in traits: #75708
- Revert "chore(next-swc-napi): Remove unused(?) rlib target": #75745
- [Turbopack] use new backend in next-build-test: #75724
- [Turbopack] Reduce memory: #75723
- Report build-and-deploy failures: #75749
- Turbopack: uncell AstPath: #75695
- Turbopack: switch some deps back to upstream: #75752
- Turbopack: less tasks in
with_modules: #75700 - chore(turbopack): Remove legacy next.js HMR compat code: #75725
- Turbopack: make
ModulePartaTaskInput: #75364 - Turbopack: remove SWC CSS sourcemap variant: #75753
- docs: follow up fix: #75760
- chore(github): add labels-to-add-when-unstale label -> not stale: #75721
- docs(route-segment-config): remove line in force-dynamic mentioning it's like getServerSideProps: #75773
- Return
nullif Redbox has no component stack: #75744 - unsupported should be supported in docs: #75772
- build: Update
swc_coretov13.1.0: #75771 - chore(github): skip nissuer when Documentation issue template is used: #75802
- refactor: Use
shrink-to-fitcrate instead: #75777 - Delete expirePath and expireTag pages (again): #75691
- docs: add Chrome debugging port configuration steps: #75845
- [test] More accurate stack assertions in terminal: #75355
- refactor(tests): Refactor environment reload HMR test: #75875
- [Turbopack] fix recompute invalidation: #75850
- [Turbopack] allow to configure last successful parse cache state: #75851
- [Turbopack] remove asset context and layer from static files: #75892
- [Turbopack] fix hanging bug caused by incorrect active counter handling on stale tasks: #75732
- [Turbopack] prefer to use the node.js process where we invested the most time: #75894
- Turbopack: remove unused code: #75897
- [Turbopack] allow to disable active tracking in turbo-tasks: #75899
- [Turbopack] add fast path for increase active count: #75900
- test: align existing testing util: #75844
- [Turbopack] Add
final_read_hintAPI and changeclone_valuetoowned: #75852 - Turbopack: use result instead of panic: #75903
- fix(turbopack): Update Cargo.toml/package.json license field for turbopack-related crates: #75889
- Turbopack: source locations as u32: #75705
- test: Write files before install: #75906
- docs(css-in-js): update warning about using css-in-js with server components: #75931
- docs: update CRA guide: #75939
- docs: fix typo in
use-cache.mdx: #75848 - Update 01-installation.mdx: #75788
- fix typo in 07-updating-data.mdx: #75711
- docs: fixed wrong import for
unauthorized: #75420 - docs: incorrect anchor on searchParams link: #75266
- Fixed link to stale-while-revalidate article: #74949
- Stop using deprecated
TURBO_REMOTE_ONLY: #75832 - Turbopack: store serialized sourcemaps instead: #75791
- Add test for missing sourcemap loader support of
ignoreList: #75907 - Update sourcemap tests due to recent Turbopack changes: #75954
- [Turbopack] scale down process pool when module graph is finished: #75896
- Fix flaky error-recovery test: #75948
- [Turbopack] disable session dependent tasks when dependency tracking is disabled: #75965
- docs: fix
usepattern: #75529 - docs: fix prettier error: #75968
- Add (failing) test for module based feature telemetry in App Router: #75952
- [docs] update tailwind installation instruction to v4: #75739
- fix: compiler error when next/cache is used in a client module: #75979
- Update toolchain to nightly-2025-02-12: #75983
- fix(CI): Initialize non-existent bundler manifests: #75987
- [Turbopack] improve race condition handling of scheduling: #75748
- Check for visibility not just existence of Redbox: #75846
- ci: fix version-staleness test: #76020
- fix(turbopack CI): Pin corepack version for production tests manifest update action: #75986
- Fix unisolated tests: #76018
- [Turbopack] fix hanging and flaky issues: #76032
- [Turbopack] only invalidate fs writes with a different content: #75936
- [Turbopack] fix tree shake ident on code generation: #75970
- [Turbopack] avoid allocating on AggregationUpdateQueue::new: #76034
- [Turbopack] add tracing to turbopack-tests: #76033
- [Turbopack] avoid creating many ModuleOptions: #76035
- fix recomputation when reading gc'ed cells from in progress tasks: #75969
- [Turbopack] try to avoid cloning AST during code generation, pass final_read_hint: #75853
- [Turbopack] make
make_chunksa non-turbo-tasks-function: #76042 - Turbopack: less CodeGenerateable for references: #75963
- Turbopack: refactor how EsmAssetReferences are added: #76011
- Turbopack: codegen EsmAssetReference without turbo tasks: #76024
- Fix stale snapshots: #76116
- Turbopack: Fix static generation test: #76125
- Cleanup
experimental.reactOwnerStack: #76123 - Turbopack: Fix middleware test: #76126
- Current behavior for
reportError: #76115 - test: replace explicit
padding-bottomwithdevIndicators: falsefor scroll position testing: #76105 - Turbopack: less turbo tasks for
chunk_item.id(): #76110 - Turbopack: Add passing test to manifest: #76143
- Improve server actions sourcemap test: #76129
- build: Update
swc_coretov14.0.0: #76135 - refactor(turbopack): Simplify
minify(): #76139 - feat(turboyet): Upload test data for both bundlers: #76090
- chore(github): add Error Overlay area: #76167
- Put flaky
use-cache-unknown-cache-kinddev tests in sandboxes: #76171 - Turbopack: compute async info from module graph: #76118
- Report tests to Datadog from Job that executed them: #73180
- Align Redbox test helpers: #76213
- Fix stale snapshots: #76237
- Ensure datadog upload is skipped for forks: #76238
- docs: Fix link on UPGRADING.md: #75761
- [Turbopack] add many pages bench: #76244
- [Turbopack] remove ChunkingType::Passthrough: #76217
- [Turbopack] add concept of ChunkGroups: #76218
- [Turbopack] increase hash length to avoid hash conflict: #76245
- [Turbopack] add ChunkingType::Shared: #76228
- Turbopack: Fix 500 handling in edge with pages router: #76155
- Turbopack: Update app-dir tests: #76145
- Turbopack panic handler: link to bug report issue template: #76226
- Disable turbo daemon by default: #76248
- Unflake
ppr-fulltests: #76271 - docs(errors): minor update to failed-to-find-server-action error page: #76296
- docs(cookies): update good-to-know for cookie.delete: #76303
- Turbopack: ignore invalid sourcemaps for now: #76215
- Update outdated snapshots: #76318
- [Turbopack] smarter merging of small chunks in production chunking: #76319
- [ci]: skip use-cache deployment test: #76334
- [Turbopack] merged chunks need to have min overlap of 2 merge remainers into chunk: #76320
- test: disable metadata streaming deployment tests: #76335
- [Turbopack] allow to merge into big enough chunk candidate when 100% overlap: #76321
- [Turbopack] compute expected benefit of merging chunks and use that as factor: #76331
- Update datadog job to use pnpm dlx: #76337
- docs: add Logto auth library: #75176
- [test] Use new Redbox matchers in pages/ hydration-error test: #76350
- test: update snapshot for component stack: #76359
- Update error-recovery test snapshots for alternative bundler: #76299
- Turbopack: ChunkGroupType for graph entries: #76235
- Turbopack: accept ChunkGroup in chunking context: #76242
- [test] Use new Redbox matchers in pages/ error-recovery test: #76348
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox-builtins: #76392
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox: #76391
- [test] Use new Redbox matchers in app/ ReactRefreshLogBox-builtins: #76394
- docs: update
building.mdto contain descriptive build process: #76393 - fix(turbopack): Fix pure span check in advanced tree shaking: #76406
- Turbopack: fix graph chunk groups: #76383
toDisplayRedbox()matcher: trim line endings: #76404- Turbopack: rename reverse topological to postorder topological, fix async referenced modules: #76429
- Turbopack: handle removed assets similar to non-existing assets: #76420
- Turbopack: fix duplicate modules due to import context: #76432
- typechecking inputs/outputs in action transform tests: #75935
- [test] Use new Redbox matchers in app/ ReactRefreshLogBox: #76431
- [test] fix client navigation error count in react 18: #76442
- docs: add note to language and filename section: #74239
- docs: fix duplicate "scroll" parameter in Link component documentation: #74820
- refactor(CI): Convert daily turbopack (areweturboyet) integration tests into reusable workflows: #76251
- fix: workaround for TS bug in Object.defineProperty: #75944
- [docs]: add --api option information: #76493
- refactor(CI): Extend areweturboyet integration test jobs for all bundlers: #76361
- [repo] misc: rename
.cursorignoreto.cursorindexingignore: #76494 - [ci]: PPR tests should run on development/acceptance-app: #76505
- chore(CI): Only update areweturboyet datasets for other bundlers from canary branch results: #76449
- docs: fix typo in route-segment-config: #74403
- Docs: Fix minor typo in
api-reference/functions/cookies.mdx: #76376 - Correcting typo: #76440
- Update error-recovery test snapshots for alternative bundler [3/n]: #76446
- refactor(CI): Assign tests to groups round-robin instead of sequentially when we don't have timings: #76462
- Update Turbopack development test manifest: #76471
- Update Turbopack production test manifest: #76472
- Move known failed test back into
failedset in Turbopack manifest: #76542 - Run React 18 tests for automated update PRs: #76544
- Skip globally installing turbo CLI: #76532
- docs(errors): update suppressHydrationWarning section: #76521
Credits
Huge thanks to @ijjk, @unstubbable, @bgw, @gnoff, @eps1lon, @ztanner, @mischnic, @Marukome0743, @leerob, @gaojude, @lubieowoce, @acdlite, @kdy1, @JamBalaya56562, @creationix, @noreiller, @samcx, @delbaoliveira, @styfle, @abdonrd, @ollyw, @wyattjoh, @devjiwonchoi, @aymericzip, @davidhu2000, @attilarepka, @devpla, @dydals3440, @huozhi, @wbinnssmith, @suu3, @PapatMayuri, @Sahil4883, @abyii, @molebox, @sokra, @maciej-ka, @abvthecity, @damiensedgwick, @alitas, @RiskyMH, @ytreister, @sommeeeer, @n1ckoates, @yongholeeme, @spidersouris, @gurkerl83, @cassiossantos, @Netail, @tknickman, @eur00t, @cseas, @nnnnoel, @timneutkens, @Manoj-M-S, @lfades, @sebmarkbage, @matmannion, @mikeboensel, @nphmuller, @apostolos, @k15a, @pavelee, @locothedev, @vexcat, @Zach-Jaensch, @decepulis, @gadcam, @lukahartwig, @jsanford8, @RobinMalfait, @raunofreiberg, @mohsen1, @skushagra, @feedthejim, @amannn, @HQidea, @jrandolf, @smit-err, @littledivy, @k35o, @martinsione, @CvX, @msereniti, @Timer, @Iftee97, @chibicode, @RobPruzan, @padmaia, @PlagueFPS, @bjunix, @maximevtush, @michaelven, @sedlukha, @johannpinson, @AxelUser, @Nayeem-XTREME, @IcaroG, @blurrah, @lachlanjc, @ashi009, @conico974, @raphaelcosta, @dulmandakh, @khuezy, @Knoa0405, @wangsijie, @stefanprobst, @wentsul, @loopy-lim, @bratvanov, @hedgeday, @cassian-goode, @artemszelenov, and @saltcod for helping!
Core Changes
- [dev-overlay]: remove background on custom select: #76526
- [dev-overlay]: tweak system icon: #76527
- fix: remove initial-scale=1 from viewport when set to false: #76397
- [dev-overlay] control scrollbar by selected theme: #76553
- [dev-overlay] misc:
Ignored-listed->Ignore-listed: #76554 - [dev-overlay] add disabled backround-color for toolbar buttons: #76555
- [dev-overlay]: update docs for devIndicators & outdated screenshot: #76463
- [dev-overlay] improve color contrast for terminal: #76525
- [dev-overlay]: use proper labels for preferences: #76558
- Handle duplex automatically for NextRequest: #76531
- [Segment Cache] Implement scroll-to-new-page: #76170
- Do not pass an empty string tag into
receiveExpiredTags: #76561 - [Segment Cache] Re-prefetch links on navigation: #76060
- [dev-overlay] fix: svg icon ids are not unique: #76566
- [dev-overlay] change button to lowercase except leading letter: #76565
- Remove rewrite query params from request URL when deployed to Vercel: #76548
- exclude AppDevOverlayErrorBoundary from prod build: #76568
- [dev-overlay] rephrase docs button title as link to related docs: #76571
- [dev-overlay]: allow disabled state to be dismissable: #76572
Example Changes
- Updated remove-console example to utilize the app router.: #76543
- Fix createclient: #76567
Misc Changes
- Move known failed test back into
failedset in Turbopack manifest: #76542 - Run React 18 tests for automated update PRs: #76544
- Skip globally installing turbo CLI: #76532
- docs(errors): update suppressHydrationWarning section: #76521
Credits
Huge thanks to @ztanner, @unstubbable, @artemszelenov, @huozhi, @devjiwonchoi, @ijjk, @acdlite, @gaojude, @samcx, @PapatMayuri, and @saltcod for helping!
Core Changes
- [dev-overlay] Add indicator when sourcemapping fails: #76516
- refactor: clean up forked Form implementations: #76495
- [dev-overlay]: fix invalid font in info panels: #76519
- [dev-overlay] upgrade
storybook@8.6.0: #76511 - [dev-overlay]: add preference panel: #76522
Misc Changes
- docs: fix typo in route-segment-config: #74403
- Docs: Fix minor typo in
api-reference/functions/cookies.mdx: #76376 - Correcting typo: #76440
- Update error-recovery test snapshots for alternative bundler [3/n]: #76446
- refactor(CI): Assign tests to groups round-robin instead of sequentially when we don't have timings: #76462
- Update Turbopack development test manifest: #76471
- Update Turbopack production test manifest: #76472
Credits
Huge thanks to @bratvanov, @hedgeday, @cassian-goode, @eps1lon, @wbinnssmith, @bgw, @lubieowoce, @ztanner, and @devjiwonchoi for helping!
Core Changes
- Upgrade React from
25677265-20250224to22e39ea7-20250225: #76481 - [app i18n]: warn about i18n configuration deprecation in app router: #76346
- [dev-overlay] style: improve error label background color contrast: #76490
- Fork Form implementation for Pages and App Router: #76498
- Webpack: handle file:// urls when finding sourcemaps: #76443
- Ensure middleware layer is bundled: #76466
- [dev-overlay] do not force hide scrollbar: #76504
- [Segment Cache] Hard nav when root layout changes: #76163
- [metadata] clarify the default list behavior: #76450
- [dev-overlay]: generalize ISR status functions for pages/app: #76457
- [dev-overlay]: wire up ISR status for pages router: #76458
- [dev-overlay]: fix inline docs to show correct info for given router: #76461
- [dev-overlay] add title for the dev indicator menu items: #76510
- [dev-overlay] sync suffix
Nof--size-Nwithpxvalue of base font16px: #76384 - Add event for webpack plugin customization: #76477
- [dev-overlay] use
remfor sizes andpxfor spacings: #76385 - [dev-overlay] hide dev indicator for server session or 1 day: #76430
- [dev-overlay] customize scrollbar styling: #76509
Example Changes
- Update with urql example: #76485
Misc Changes
- fix: workaround for TS bug in Object.defineProperty: #75944
- [docs]: add --api option information: #76493
- refactor(CI): Extend areweturboyet integration test jobs for all bundlers: #76361
- [repo] misc: rename
.cursorignoreto.cursorindexingignore: #76494 - [ci]: PPR tests should run on development/acceptance-app: #76505
- chore(CI): Only update areweturboyet datasets for other bundlers from canary branch results: #76449
Credits
Huge thanks to @lubieowoce, @ztanner, @devjiwonchoi, @bgw, @acdlite, @wbinnssmith, @ijjk, @huozhi, @timneutkens, and @PapatMayuri for helping!
Misc Changes
- refactor(CI): Convert daily turbopack (areweturboyet) integration tests into reusable workflows: #76251
Credits
Huge thanks to @bgw for helping!
Core Changes
- [Testing] Update middleware/next-config tests to include search params: #76354
- Add node middleware handling for turbopack: #76360
Misc Changes
- [test] fix client navigation error count in react 18: #76442
- docs: add note to language and filename section: #74239
- docs: fix duplicate "scroll" parameter in Link component documentation: #74820
Credits
Huge thanks to @wentsul, @ijjk, @huozhi, @JamBalaya56562, and @loopy-lim for helping!
Core Changes
- Flight loader: use
normalModule.typeto determine module type: #76338 - update type for next/dynamic
loadingoption to acceptReactNode: #76402 - [dev-overlay] Link to section explaining opt-in error feedback: #76424
- [dev-overlay] polish component stack mask css: #76434
- [dev-overlay] Disable error feedback in UI if
NEXT_TELEMETRY_DISABLEDis set: #76423 - [metadata] promote streaming metadata configs to stable: #76344
- [metadata] update metadat docs for streaming metadata: #76282
- [app] Send errors not handled by explicit error boundaries through
reportError: #76101 - Upgrade React from
662957cc-20250221to25677265-20250224: #76437
Misc Changes
- fix(turbopack): Fix pure span check in advanced tree shaking: #76406
- Turbopack: fix graph chunk groups: #76383
toDisplayRedbox()matcher: trim line endings: #76404- Turbopack: rename reverse topological to postorder topological, fix async referenced modules: #76429
- Turbopack: handle removed assets similar to non-existing assets: #76420
- Turbopack: fix duplicate modules due to import context: #76432
- typechecking inputs/outputs in action transform tests: #75935
- [test] Use new Redbox matchers in app/ ReactRefreshLogBox: #76431
Credits
Huge thanks to @wbinnssmith, @kdy1, @sokra, @stefanprobst, @eps1lon, @huozhi, and @lubieowoce for helping!
Core Changes
- [dev-overlay] fix: bottom stack count: #76375
- [next] use
tsconfig.build.jsonfor production build: #76373 - [metadata] only blocking render for html bots in ppr pages: #76379
- [metadata] enable streaming metadata by default: #76221
- [dev-overlay] toggle overlay when clicking
N issuessection: #76398 - [dev-overlay]: hiding devtools shouldn't hide errors: #76399
- [dev-overlay] docs: add readme: #76396
- Add test to assert on current build output tree view: #76342
Misc Changes
- Turbopack: ChunkGroupType for graph entries: #76235
- Turbopack: accept ChunkGroup in chunking context: #76242
- [test] Use new Redbox matchers in pages/ error-recovery test: #76348
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox-builtins: #76392
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox: #76391
- [test] Use new Redbox matchers in app/ ReactRefreshLogBox-builtins: #76394
- docs: update
building.mdto contain descriptive build process: #76393
Credits
Huge thanks to @mischnic, @devjiwonchoi, @eps1lon, @huozhi, @ztanner, and @unstubbable for helping!
Core Changes
- [dev-overlay] do not attach hydration info to non hydration errors: #76349
- [dev-overlay] adjust Next.js logo stroke color during dev builds: #76351
- [dev-overlay] fix: restore the missing Cursor editor case in dev-overlay : #76371
- [dev-overlay] remove the experiment config for overlay: #76356
- [dev-overlay] minify css: #76370
- [dev-overlay] remove unused base styles: #76372
- [dev-overlay] use css var for
<a>tag focus ring: #76374 - [dev-overlay] fix: fallback to local machine's Geist Font if applicable: #76377
Misc Changes
- test: update snapshot for component stack: #76359
- Update error-recovery test snapshots for alternative bundler: #76299
Credits
Huge thanks to @huozhi, @gaojude, @Knoa0405, @devjiwonchoi, and @wbinnssmith for helping!
Core Changes
- Revert null check in mountLinkInstance: #76289
- [dev-overlay] Isolate overlay from user space Components: #76277
- [global-error] fallback to default error when user one fails: #76339
- [misc]: remove unused render worker code: #76345
Misc Changes
- Update datadog job to use pnpm dlx: #76337
- docs: add Logto auth library: #75176
- [test] Use new Redbox matchers in pages/ hydration-error test: #76350
Credits
Huge thanks to @acdlite, @ijjk, @eps1lon, @huozhi, @ztanner, and @wangsijie for helping!
Core Changes
- feat: option to disable next types plugin: #76300
- [dev-overlay] pick up build error message: #76290
- [dev-overlay] fix: line number handling for cursor editor: #76151
- [dev-overlay] restructure dev-overlay project: #76291
- Upgrade React from
32b0cad8-20250213to662957cc-20250221: #76333
Misc Changes
- docs(cookies): update good-to-know for cookie.delete: #76303
- Turbopack: ignore invalid sourcemaps for now: #76215
- Update outdated snapshots: #76318
- [Turbopack] smarter merging of small chunks in production chunking: #76319
- [ci]: skip use-cache deployment test: #76334
- [Turbopack] merged chunks need to have min overlap of 2 merge remainers into chunk: #76320
- test: disable metadata streaming deployment tests: #76335
- [Turbopack] allow to merge into big enough chunk candidate when 100% overlap: #76321
- [Turbopack] compute expected benefit of merging chunks and use that as factor: #76331
Credits
Huge thanks to @samcx, @huozhi, @mischnic, @unstubbable, @Knoa0405, @devjiwonchoi, @sokra, and @ztanner for helping!
Core Changes
- [Turbopack] pass inner modules to chunking to match chunking types: #76227
- [dev-overlay] Remove old Dev Overlay: #76256
- [dev-overlay]: make open in editor button a separate click region: #76243
- [dev-overlay] dead code elimination: #76276
- [dev-overlay] use unique font name: #76230
- [dev-overlay] align border color: #76288
- Add canary warning for node middleware: #76292
- fix: top level await in node middleware: #76012
- docs(errors): add failed-to-find-server-action error page: #75678
- Ensure middleware layer is applied for node: #76293
- [metadata] fix streaming metadata triggering error boundaries: #76280
- [errors]: default export error should distinguish between layout/page: #76294
- Remove unused nccd node-fetch: #76241
- [dev-overlay] expandable error message container: #76297
Misc Changes
- [Turbopack] add many pages bench: #76244
- [Turbopack] remove ChunkingType::Passthrough: #76217
- [Turbopack] add concept of ChunkGroups: #76218
- [Turbopack] increase hash length to avoid hash conflict: #76245
- [Turbopack] add ChunkingType::Shared: #76228
- Turbopack: Fix 500 handling in edge with pages router: #76155
- Turbopack: Update app-dir tests: #76145
- Turbopack panic handler: link to bug report issue template: #76226
- Disable turbo daemon by default: #76248
- Unflake
ppr-fulltests: #76271 - docs(errors): minor update to failed-to-find-server-action error page: #76296
Credits
Huge thanks to @sokra, @devjiwonchoi, @timneutkens, @wbinnssmith, @ztanner, @gaojude, @huozhi, @ijjk, @conico974, @samcx, and @unstubbable for helping!
Core Changes
- [dev-overlay] refactor to group the middleware response utils: #76199
- [dev-overlay] fix geist font woff2 name: #76201
- [dev-overlay] rename
readyErrorstoruntimeErrors: #76208 - [dev-overlay] do not allow dismissing build error for dev indicator: #76209
- [dev-overlay] use stop icon for hide devtools button: #76212
- Add basic profiling plugin for alternative bundler: #76030
- [dev-overlay] font style backward compat with react 18: #76225
- Implement foundations for additional bundler option: #75981
- Remove hmr socket code from prod build: #76232
- fix: overlapping query and param names should not conflict: #76177
- Built-in app loader plugin for additional bundler: #76017
- Built-in flight plugin for additional bundler: #76014
- Built-in swc loader plugin for additional bundler : #76023
- misc: remove vendored node-fetch usages: #75741
- Consolidate
next/linkerror tests: #76214 - fix: NextConfig.rewrites type for fallback: #75784
- [dev-overlay] use absolute font src url: #76229
- [dev-overlay]: remove old CollapseIcon: #76239
- fix: add appDir path to middleware output path: #75923
Misc Changes
- Turbopack: compute async info from module graph: #76118
- Report tests to Datadog from Job that executed them: #73180
- Align Redbox test helpers: #76213
- Fix stale snapshots: #76237
- Ensure datadog upload is skipped for forks: #76238
- docs: Fix link on UPGRADING.md: #75761
Credits
Huge thanks to @mischnic, @huozhi, @eps1lon, @devjiwonchoi, @wbinnssmith, @gaojude, @wyattjoh, @ijjk, @feedthejim, @raphaelcosta, @dulmandakh, @ztanner, and @khuezy for helping!
Core Changes
- [dev-overlay] handle ssrd nextjs internal errors in overlay: #76124
- [dev-overlay] fix: overlay is located relatively low when long content: #76113
- [dev-overlay] Fix off-by-one column sourcemapping in Webpack: #76152
- [metadata] handle navigation API in streaming metadata: #76156
Misc Changes
- Turbopack: Add passing test to manifest: #76143
- Improve server actions sourcemap test: #76129
- build: Update
swc_coretov14.0.0: #76135 - refactor(turbopack): Simplify
minify(): #76139 - feat(turboyet): Upload test data for both bundlers: #76090
- chore(github): add Error Overlay area: #76167
- Put flaky
use-cache-unknown-cache-kinddev tests in sandboxes: #76171
Credits
Huge thanks to @timneutkens, @kdy1, @huozhi, @devjiwonchoi, @bgw, @eps1lon, @samcx, and @unstubbable for helping!
Core Changes
- [dev-overlay] add error env name label: #76003
- [dev-overlay] deprecate
devIndicatorsoptionsappIsrStatusandbuildActivity: #76067 - [dev-overlay] deprecate
devIndicators.buildActivityPositionand rename toposition: #76069 - Fix runtime error in
writeConfigurationDefaults: #76106 - [dev-overlay] change dev indicator position by next config option: #76077
- perf: Do not run react compiler needlessly: #75676
- Handle more known protocols in stackframe locations: #76086
- Bump webpack to 5.98.0: #75847
- fix(edge): run after() if request is cancelled mid-streaming: #76013
- Clean module path if Fast Refresh full reload was caused by files outside project: #76108
- Revalidate
"use cache"caches during on-demand revalidation: #76100 - Fix cache kind validation: #76064
- [dev-overlay] add false option to disable dev indicator: #76079
- Fix on-demand revalidation with
"use cache"in dev mode: #76122
Misc Changes
- Turbopack: codegen EsmAssetReference without turbo tasks: #76024
- Fix stale snapshots: #76116
- Turbopack: Fix static generation test: #76125
- Cleanup
experimental.reactOwnerStack: #76123 - Turbopack: Fix middleware test: #76126
- Current behavior for
reportError: #76115 - test: replace explicit
padding-bottomwithdevIndicators: falsefor scroll position testing: #76105 - Turbopack: less turbo tasks for
chunk_item.id(): #76110
Credits
Huge thanks to @devjiwonchoi, @unstubbable, @kdy1, @eps1lon, @ashi009, @mischnic, @lubieowoce, @conico974, and @timneutkens for helping!
Core Changes
- [metadata] fix ppr deployment by not disabling ppr: #76087
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Create valid URLs in source map sources with Turbopack: #76075
Credits
Huge thanks to @eps1lon for helping!
Core Changes
- [dev-overlay] fix: hydration error style: #76049
- Remove
experimental.reactOwnerStackflag: #76021 - [dev-overlay] style: improve version staleness indicator version unknown: #76061
- [dev-overlay] add aria to disabled docs button: #76055
- [dev-overlay] fix: terminal symbols are longer than text: #76059
- Disallow
rootParams()incachescope: #75801 - Remove tracestate header from fetch cache key: #76041
- [dev-overlay] remove hide dev tools shortcut: #76066
- [dev-overlay] hide dev overlay when printing: #73489
Misc Changes
- Turbopack: less CodeGenerateable for references: #75963
- Turbopack: refactor how EsmAssetReferences are added: #76011
Credits
Huge thanks to @mischnic, @devjiwonchoi, @gnoff, @blurrah, and @lachlanjc for helping!
Misc Changes
- [Turbopack] make
make_chunksa non-turbo-tasks-function: #76042
Credits
Huge thanks to @sokra for helping!
Misc Changes
- [Turbopack] try to avoid cloning AST during code generation, pass final_read_hint: #75853
Credits
Huge thanks to @sokra for helping!
Core Changes
- [metadata] disable streaming metadata for ppr deployment: #75978
Example Changes
- examples: Fix prettier issue: #76027
Misc Changes
- [Turbopack] fix hanging and flaky issues: #76032
- [Turbopack] only invalidate fs writes with a different content: #75936
- [Turbopack] fix tree shake ident on code generation: #75970
- [Turbopack] avoid allocating on AggregationUpdateQueue::new: #76034
- [Turbopack] add tracing to turbopack-tests: #76033
- [Turbopack] avoid creating many ModuleOptions: #76035
- fix recomputation when reading gc'ed cells from in progress tasks: #75969
Credits
Huge thanks to @leerob, @huozhi, and @sokra for helping!
Core Changes
- [error overlay] fix infinite loop when frames are failed to fetch: #75988
- [dev-overlay] fix: call stack silently fails to open editor with 204: #75785
- Cleanup webpack sourcemap middleware source URL handling: #75879
- Upgrade React from
f83903bf-20250212tocbbe8666-20250213: #76010 - [dev-overlay] sync style diffs with new design: #75949
- [dev-overlay] update overlay toolbar icons: #75998
- webpack: Sourcemap externals when replayed in the browser: #75863
- [DevOverlay]: enable by default: #75882
- [dev-overlay] style: version info staleness click text to learn more: #75768
- [ppr] Improve experimental debugging: #76016
- [metadata] set bypass ua regex string for ppr routes: #75977
- fix: handle parsing destination with patterns in hostname: #75973
- Fix: Build error causes infinite loop on new dev overlay in Turbopack: #75984
Example Changes
- example: add next config to hello-world app: #76022
- Fix cms-plasmic example: #75750
Misc Changes
- Update toolchain to nightly-2025-02-12: #75983
- fix(CI): Initialize non-existent bundler manifests: #75987
- [Turbopack] improve race condition handling of scheduling: #75748
- Check for visibility not just existence of Redbox: #75846
- ci: fix version-staleness test: #76020
- fix(turbopack CI): Pin corepack version for production tests manifest update action: #75986
- Fix unisolated tests: #76018
Credits
Huge thanks to @huozhi, @wbinnssmith, @devjiwonchoi, @bgw, @sokra, @eps1lon, @ztanner, @wyattjoh, @gaojude, and @IcaroG for helping!
Core Changes
- Turbopack: make tracing easier: #75958
- Upgrade React from
cd90a4d8-20250210tof83903bf-20250212: #75967 - Use
compilation.{emitAsset,updateAsset}api rather than mutatingassetsobject: #75927 - Use resource to detect feature usage in telemetry: #75917
- Create unique source URLs between Client and Server in Pages dir: #75878
- cleanup: remove unused NEXT_RSC_ERR_* error parsing code: #75982
Example Changes
- docs: recommend webp over avif: #75966
- examples: fix search usage: #75972
Misc Changes
- [Turbopack] disable session dependent tasks when dependency tracking is disabled: #75965
- docs: fix
usepattern: #75529 - docs: fix prettier error: #75968
- Add (failing) test for module based feature telemetry in App Router: #75952
- [docs] update tailwind installation instruction to v4: #75739
- fix: compiler error when next/cache is used in a client module: #75979
Credits
Huge thanks to @mischnic, @sokra, @leerob, @eps1lon, @wbinnssmith, @Nayeem-XTREME, and @lubieowoce for helping!
Core Changes
- Restore
--no-manglingCLI option fornext build: #75921
Misc Changes
- [Turbopack] scale down process pool when module graph is finished: #75896
- Fix flaky error-recovery test: #75948
Credits
Huge thanks to @unstubbable, @sokra, and @eps1lon for helping!
Core Changes
- error code should preserve after stitching: #75929
- [error overlay] display different error info individually: #75916
- refactor: minor cleanups in webpack actions code: #75912
- [DevOverlay]: fix missing Error context for build-time errors: #75932
- [error overlay] align data attributes between 2 UIs: #75937
- fix: typos in documentation files: #75816
- [error overlay] fix highlighted lines: #75940
- [error overlay] hornor the original erroring order: #75934
Misc Changes
- docs: update CRA guide: #75939
- docs: fix typo in
use-cache.mdx: #75848 - Update 01-installation.mdx: #75788
- fix typo in 07-updating-data.mdx: #75711
- docs: fixed wrong import for
unauthorized: #75420 - docs: incorrect anchor on searchParams link: #75266
- Fixed link to stale-while-revalidate article: #74949
- Stop using deprecated
TURBO_REMOTE_ONLY: #75832 - Turbopack: store serialized sourcemaps instead: #75791
- Add test for missing sourcemap loader support of
ignoreList: #75907 - Update sourcemap tests due to recent Turbopack changes: #75954
Credits
Huge thanks to @gaojude, @huozhi, @lubieowoce, @ztanner, @leerob, @PlagueFPS, @bjunix, @maximevtush, @michaelven, @sedlukha, @johannpinson, @AxelUser, @eps1lon, and @mischnic for helping!
Core Changes
- [dev-overlay] Introduce motion to surface new errors: #75734
- Upgrade React from
93b58361-20250209tocd90a4d8-20250210: #75914 - [DevOverlay]: render indicator in pages router: #75918
Misc Changes
- [Turbopack] Add
final_read_hintAPI and changeclone_valuetoowned: #75852 - Turbopack: use result instead of panic: #75903
- fix(turbopack): Update Cargo.toml/package.json license field for turbopack-related crates: #75889
- Turbopack: source locations as u32: #75705
- test: Write files before install: #75906
- docs(css-in-js): update warning about using css-in-js with server components: #75931
Credits
Huge thanks to @sokra, @mischnic, @bgw, @eps1lon, @raunofreiberg, @ztanner, and @samcx for helping!
Core Changes
- refactor(webpack-config): Pass through jsConfigPath: #75886
- refactor(webpack-config): Disable some options based on bundler version: #75888
- Improve hydration diff view: #75799
Misc Changes
- [Turbopack] fix recompute invalidation: #75850
- [Turbopack] allow to configure last successful parse cache state: #75851
- [Turbopack] remove asset context and layer from static files: #75892
- [Turbopack] fix hanging bug caused by incorrect active counter handling on stale tasks: #75732
- [Turbopack] prefer to use the node.js process where we invested the most time: #75894
- Turbopack: remove unused code: #75897
- [Turbopack] allow to disable active tracking in turbo-tasks: #75899
- [Turbopack] add fast path for increase active count: #75900
- test: align existing testing util: #75844
Credits
Huge thanks to @bgw, @sokra, @mischnic, and @huozhi for helping!
Core Changes
- [metadata] do not rethrow postpone when streaming metadata is not enabled: #75887
Misc Changes
- refactor(tests): Refactor environment reload HMR test: #75875
Credits
Huge thanks to @bgw and @huozhi for helping!
Core Changes
- [Error Overlay] Fix bottom stack animation: #75867
- [Error Overlay] New design: #75679
- Upgrade React from
8759c5c8-20250207to93b58361-20250209: #75868 - [dev-overlay] HOTFIX: clicking nav escapes the overlay: #75876
- dev error overlay: async boundary for original stack frame call: #75718
- fix(turbopack): Always console.log the "done in" message after receiving a BUILT event: #75730
- Add test to verify that inner caches are excluded from Resume Data Cache: #75883
- Respect
no-storerequest header for"use cache"entries in dev mode: #75754 - Reland "[metadata] new metadata insertion API and support PPR #75366": #75873
Misc Changes
- Delete expirePath and expireTag pages (again): #75691
- docs: add Chrome debugging port configuration steps: #75845
- [test] More accurate stack assertions in terminal: #75355
Credits
Huge thanks to @delbaoliveira, @raunofreiberg, @gaojude, @devjiwonchoi, @eps1lon, @bgw, @unstubbable, and @huozhi for helping!
Core Changes
- Upgrade React from
ff628334-20250205to8759c5c8-20250207: #75796 - Use TypeScript to check if a default case is required in
switch: #75854 - Revert "[metadata] new metadata insertion API and support PPR": #75858
Credits
Huge thanks to @eps1lon and @huozhi for helping!
Core Changes
- Handle invalid sourcemaps: #75713
- [error overlay] fix missing html error is not displayed: #75831
- docs: improve JSDocs for
metadataand<Link>: #75576 - [error overlay] missing html tags error should be blocking: #75839
Credits
Huge thanks to @eps1lon, @huozhi, and @leerob for helping!
Core Changes
- Dedupe cached data from
"use cache"functions in RSC payload: #75786 - Allow
"use cache"withoutput: 'export': #75794 - [metadata] new metadata insertion API and support PPR: #75366
Misc Changes
- build: Update
swc_coretov13.1.0: #75771 - chore(github): skip nissuer when Documentation issue template is used: #75802
- refactor: Use
shrink-to-fitcrate instead: #75777
Credits
Huge thanks to @kdy1, @samcx, @unstubbable, and @huozhi for helping!
Core Changes
- Fix incorrect error count : #75759
- Upgrade React from
0a82580b-20250203tod85cf3e5-20250205: #75698 - Only disable Prettier for original Turbopack source: #75716
- [dev-overlay] fix: pagination focus ring was invisible: #75790
- test: Exclude
turbo-tasks-macrofromtest-cargo-unit: #75776 - Send formatted error to frontend if sourcemapping fails: #75712
- Upgrade React from
d85cf3e5-20250205toff628334-20250205: #75757 - [dev-overlay] fix link styling on hydration errors: #75792
- Only reference published
@types/react-domversions: #75606
Misc Changes
- docs(route-segment-config): remove line in force-dynamic mentioning it's like getServerSideProps: #75773
- Return
nullif Redbox has no component stack: #75744 - unsupported should be supported in docs: #75772
Credits
Huge thanks to @samcx, @eps1lon, @huozhi, @devjiwonchoi, @kdy1, and @padmaia for helping!
Core Changes
- fix: work around setTimeout memory leak, improve wrappers: #75727
- [DevOverlay] fix style regression: #75756
- [dev-overlay] fix: proceed to get runtime error when fails to fetch original stack frames: #75743
- [dev-overlay] add and apply merge class names util: #75758
- docs: Update README for experimental testmode: #75722
- fix: middleware not applied to _next/image: #75729
- fix: ensure lint worker errors aren't silenced: #75766
- Ensure node middleware is handled with standalone: #75765
Misc Changes
- Report build-and-deploy failures: #75749
- Turbopack: uncell AstPath: #75695
- Turbopack: switch some deps back to upstream: #75752
- Turbopack: less tasks in
with_modules: #75700 - chore(turbopack): Remove legacy next.js HMR compat code: #75725
- Turbopack: make
ModulePartaTaskInput: #75364 - Turbopack: remove SWC CSS sourcemap variant: #75753
- docs: follow up fix: #75760
- chore(github): add labels-to-add-when-unstale label -> not stale: #75721
Credits
Huge thanks to @eps1lon, @mischnic, @lubieowoce, @ztanner, @devjiwonchoi, @bgw, @chibicode, @leerob, @samcx, @RobPruzan, and @ijjk for helping!
Core Changes
- fix: enable new overlay properly when env var is set: #75747
Misc Changes
- [Turbopack] use new backend in next-build-test: #75724
- [Turbopack] Reduce memory: #75723
Credits
Huge thanks to @huozhi and @sokra for helping!
Core Changes
- Ensure src/middleware handles correctly: #75702
- Unused
searchParamsin"use cache"page should not cause dynamic: #75662 rootParams()is now a plain Proimse (not exotic): #75717- Invalidator: don’t call invalidate at all if there’s nothing to invalidate: #75706
- add script for quickly updating error codes: #75690
- [dev-overlay] fix: color contrast for terminal: #75736
Misc Changes
- Turbopack: disambiguate
TaskInput::resolve: #75661 - Turbopack: remove last stray lint ignore comments: #75519
- Update
swc_coretov13.0.4: #75684 - test: fix eslint plugin test: #75687
- Add regression test for previously hanging compilation with Turbopack: #75507
- chore(turbo-tasks): Remove support for local_cells (a specific mode of local tasks we ended up not using): #75672
- docs: fix example for multiple tags in cacheTag usage: #75693
- Turbopack: lazily evaluate
objfor member replacements: #75453 - Fix lint for cacheTag doc: #75703
- [Turbopack] disable dependency tracking for next build: #75704
- Add test to verify which pages are prerendered in
use-cachetest suite: #75681 - chore(next-swc-napi): Remove unused(?) rlib target: #75707
- Turbopack: add test for local tasks in traits: #75708
- Revert "chore(next-swc-napi): Remove unused(?) rlib target": #75745
Credits
Huge thanks to @gnoff, @wbinnssmith, @lubieowoce, @devjiwonchoi, @mischnic, @kdy1, @huozhi, @unstubbable, @bgw, @Iftee97, @ijjk, and @sokra for helping!
Core Changes
- [Turbopack] await shutdown before ending pool: #75545
- [Error Overlay] Comprehensive refinement: #75471
- Upgrade React from
a4b2d0d5-20250203to0a82580b-20250203: #75660
Misc Changes
- perf: Make barrel optimizer use
Atominstead ofString: #75592 - perf: Make RSC pass use
Atominstead ofString: #75593 - perf: Make server action pass use
Atominstead ofString: #75594 - [Turbopack] sort spans by start date in tracing: #75642
- [Turbopack] setup aggregation number before connecting children: #74910
- perf: Make page exports stripper use
Atominstead ofString: #75595 - perf: Make page static info use
Atominstead ofString: #75596 - [Turbopack] reduce the number of spans created in task completion: #75437
- [Turbopack] wait for output instead of waiting for task completion: #75438
- perf: Remove needless
Arc: #75601 - Turbopack: make IssueSource a TaskInput: #75542
- Unflake
cookies/headers/draftMode in "use cache"test: #75675 - Turbopack: don't watch output FS: #75680
- Turbopack: uncell RequireContextValue: #75683
- Turbopack: cache variables in linker: #75440
Credits
Huge thanks to @kdy1, @sokra, @raunofreiberg, @mischnic, and @unstubbable for helping!
Core Changes
- fix: preserve custom Vary headers: #75536
- Clean-up: remove unused errorMessage param in stack frames: #75554
- Upgrade React from
37906d4d-20250127toc492f975-20250128: #75434 - Fix console replaying and
React.cacheusage in"use cache"functions: #75520 - Upgrade React from
c492f975-20250128toa4b2d0d5-20250203: #75649 - DX: Reduce devtools clutter by batching stack frame requests: #75557
- Add nodejs runtime support for middleware: #75624
- polish hydration errors: #75632
- feat: added support for prefetch segments when deployed: #75202
Misc Changes
- chore(github): update stale bot: #75630
- perf(turbopack): Update rustc-hash from 1.1.0 to 2.1.0: #75531
- perf(next-custom-transforms): Replace non-
SyncRc<DashMap<_, _>>usage withRc<RefCell<FxHashMap<_, _>>>: #75534 - refactor(turbopack): Define and use an FxDashMap alias everywhere: #75538
- perf(turbopack): Migrate as many data structures to FxHash as possible: #75546
- Disable
rewrite-headerstests that are dependent on Vercel site config: #75647 - docs: remove unused imports: #75653
- Run build-nextjs for Turbopack test runs on metal machines instead of GitHub hosted runner: #75654
- perf: Make
next_ssguseAtominstead ofString: #75591 - Remove github runner specific step: #75655
- [Turbopack] fix dependencies on own task: #75658
- Turbopack:
OutputAsset::path(): #75659 - [Turbopack] use Timestamp type, allow spans less than 1µs: #75479
- Turbopack: generate less JS before minification: #75358
- [Turbopack] correctly apply defines: #75643
- Turbopack: don't cell CodeGen-s: #75513
Credits
Huge thanks to @Timer, @samcx, @bgw, @gaojude, @unstubbable, @leerob, @timneutkens, @kdy1, @sokra, @mischnic, @ijjk, @huozhi, and @wyattjoh for helping!
Core Changes
- [DevOverlay] cleanup hydration error UI: #75499
- [metadata] Remove deadcode and extract separate test suite: #75528
- refactor: decouple getOriginalStackFrame from endpoint: #75553
- fix: dev overlay style to add wrap + adjust bg width: #75485
Misc Changes
- refactor(turbo-tasks): Codemod/migrate all ResolvedVc casting callsites to use the new synchronous APIs: #75547
- perf: Make
cjs_optimizeruseAtominstead ofString: #75588 - perf(turbo-tasks-fs): Call shrink_to_fit when building an immutable Rope: #75505
- chore(turbopack): Remove unmaintained fxhash crate, use rustc-hash instead: #75530
- chore(github): add conditional to triage workflow: #75524
Credits
Huge thanks to @ztanner, @bgw, @kdy1, @huozhi, @samcx, and @gaojude for helping!
Core Changes
- [DevOverlay] fix total error count: #75500
- fix: incoming requests should use plural: #75582
- Don't warn about Turbopack config if disabled: #75618
- Unfork stack frame utils: #75532
- [use-cache] Exclude warmup render when dynamicIO is off: #75527
- add additional x-middleware-set-cookie filtering: #75561
- [use-cache] use computed size of the ReadableStream for LRU evicting: #75607
- Include HMR refresh hash in
"use cache"cache keys: #75474
Misc Changes
- Update test-junit-report path: #75612
- [Turbopack] add more options for production chunking: #75544
- Turbopack: Skip Traced chunking type in module graph: #75608
- fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
- Turbopack: Disable react_refresh code in production: #75535
- chore: remove global-error in hello-world example: #75509
- [Turbopack] limit the number of concurrent fs operations: #75480
- Fix rustflags in *-musl builds: #75614
- Ensure junit-report is uploaded: #75615
- refactor(turbo-tasks): Port task statistics to the new backend: #75303
- Bring back rust bindings path: #75620
- Turbopack: short module ids in cli: #75357
- perf(turbo-rcstr): Fix the fast codepath for RcStr::into_owned(): #75504
- Fix corepack keys in deploy e2e tests: #75622
- chore(turbo-tasks): Add test for argument filtering: #75585
- perf: Make
next-page-static-infouseAtominstead ofString: #75587
Credits
Huge thanks to @timneutkens, @sokra, @mischnic, @bgw, @huozhi, @eps1lon, @ztanner, @gaojude, @gnoff, @apostolos, @unstubbable, and @kdy1 for helping!
Core Changes
- [Turbopack] allow to manually mark tasks as root: #75436
- [Turbopack] disable dependency tracking when running build without persistent caching: #75243
- [DevOverlay] fix total error count: #75500
Misc Changes
- fix rustflags for musl targets: #75599
- Fix rewrite-headers test: #75602
- Turbopack CI: Update test results artifact: #75429
- Add package.json script for building turbopack-cli: #75031
- [Turbopack] update event_listener to fix hanging bug: #75481
- Turbopack: add dedicated TracedAsset: #75510
- Turbopack: generate shorter variable idents: #75611
- [Turbopack] connect children in a batch when task is about to finish: #74773
- Update test-junit-report path: #75612
- [Turbopack] add more options for production chunking: #75544
- Turbopack: Skip Traced chunking type in module graph: #75608
- fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
- Turbopack: Disable react_refresh code in production: #75535
- chore: remove global-error in hello-world example: #75509
- [Turbopack] limit the number of concurrent fs operations: #75480
- Fix rustflags in *-musl builds: #75614
Credits
Huge thanks to @sokra, @eps1lon, @timneutkens, @mischnic, @bgw, @huozhi, and @ztanner for helping!
Misc Changes
- chore(github): update more labels: #75444
- [Turbopack] only the first task read need to be strongly consistent: #75435
- perf(turbo-tasks): Filter out and do not cache unused arguments: #75261
- build: Update
swc_coretov12.0.0: #75327 - chore(github): update github labels: #75452
Credits
Huge thanks to @samcx, @sokra, @bgw, and @kdy1 for helping!
Core Changes
- Revert changing bundler for runtime bundle but keep externals fix: #75412
- Revert "fix: handle optional catchalls correctly": #75442
Misc Changes
- Turbopack: Use from_utf8_unchecked for minify output: #75422
- docs: add optimizations for navigating between App/Pages router: #75427
- Add temporary CI workflows for testing: #75432
- [Turbopack] fix is_empty implementation: #75426
- docs: specify encryption for custom actions key: #75425
Credits
Huge thanks to @timneutkens, @leerob, @ijjk, @sokra, and @ztanner for helping!
Core Changes
- Fixed
null is not an object (evaluating 't.parallelRoutes.get'): #75360 - Turbopack: Move build to separate file: #75390
- Upgrade React from
9eabb373-20250124to37906d4d-20250127: #75398 - Turbopack: Implement build worker: #75391
Credits
Huge thanks to @msereniti and @timneutkens for helping!
Core Changes
- [dev-overlay] do not close overlay when click indicator elements: #75406
- fix: add parser metadata for eslint 9 cache: #74791
Misc Changes
- Turbopack: use type alias: #75300
- [cna] upgrade templates tailwind to v4: #75407
- chore(github): update more labels: #75409
- create-next-app: default to ESLint disabled: #73864
Credits
Huge thanks to @devjiwonchoi, @sokra, @samcx, @leerob, and @CvX for helping!
Core Changes
- tweak static generation retry wait time: #75381
- [Dev Badge] Accessibility improvements to dropdown menu: #75268
- Gate
captureOwnerStackaccess onexperimental.reactOwnerStack: #75241 - [DevOverlay] Remove unused props from
errors.tsxand its story: #75392 - feat: slow module detection for webpack: #75368
- UI polish: dev overlay feedback button: #75400
- [DevOverlay] fix: shadow host element affects parent's display: #70676
- [DevOverlay] Display Correct Number of Errors on Indicator: #75395
- [dev-overlay] fix: do not open error overlay when click indicator: #75404
- fix: handle optional catchalls correctly: #75377
Misc Changes
- chore(github): update more labels: #75382
- docs: let searchParams be Promise in
<Form>example.: #75386 - [Turbopack] cleanup tracing spans and names: #75385
- Convert remaining sync (search)params access: #75389
Credits
Huge thanks to @ztanner, @samcx, @k35o, @raunofreiberg, @eps1lon, @devjiwonchoi, @sokra, @gaojude, @martinsione, and @wyattjoh for helping!
Core Changes
- Configure correct app dir when building
/_errorfallback in dev: #75354 - Upgrade React from
de1eaa26-20250124to9eabb373-20250124: #75367
Misc Changes
- chore(turbo-tasks): Loosen some type bounds on ShrinkToFit for IndexMap, update indexmap crate: #75193
- perf: Update SWC plugins: #75324
- Getting Started docs: Consistent casing and naming: #74637
- Turbopack: CLI / perf improvements: #75373
- docs: fixed typo to auth.ts: #75345
- fix(create-next-app): use web standard error check for URL: #71473
- docs: remove infinite looping redirect: #75376
Credits
Huge thanks to @bgw, @kdy1, @delbaoliveira, @eps1lon, @timneutkens, @smit-err, @littledivy, and @leerob for helping!
Core Changes
- Ensure mangling is disabled for dev runtime builds: #75297
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Upgrade React from
9b62ee71-20250122toae9017ce-20250122: #75233 - Update React types: #75245
- docs:
opengraph-imagefiles work with the node.js runtime: #75274 - Upgrade vercel/og: #75247
- Turbopack: migrate global module ids to single-graph: #73752
- Emit build error when
useCacheis enabled and Edge runtime is used: #75279 - Fix
use serverdiagnostics for type exports: #74256 - Turbopack: don't hardcode
edge-instrumentation.js: #75289 - Upgrade React from
ae9017ce-20250122tode1eaa26-20250124: #75286 - Update bundler for pre-bundling runtime: #75294
Misc Changes
- misc: add Rauno to CI approved: #75269
- [Turbopack] include async loaders in chunking instead of separating it: #75052
- perf(turbopack): Use
PassAPI forstyled-jsxSWC plugin: #75271 - perf(turbopack): Reduce needless allocations for SWC plugins: #75275
- Add test fixtures demonstrating export statement validation bugs: #75277
- Fix export statement validations for app router pages: #75278
- change turbopack-cli to new backend: #75242
- chore(turbo-tasks): Remove argument resolution from backends, only allow local-task-based argument resolution: #75214
- refactor(turbo-tasks): Merge dynamic_call/native_call with dynamic_this_call/native_this_call: #75253
- chore(turbo-tasks): Clean up consistency/untracked APIs around local outputs and cells: #75171
- fix(turbo-tasks): Implement
is_transientonOperationVc: #75291 - [Turbopack] box InnerStorage to avoid overallocation: #75287
- [Turbopack] Inline commonly used storages: #75284
- perf(turbo-tasks): Add a 'local' option to
#[turbo_tasks::function(..)]: #75259 - [Turbopack] avoid some allocations: #75285
Credits
Huge thanks to @devjiwonchoi, @eps1lon, @sokra, @kdy1, @leerob, @unstubbable, @huozhi, @mischnic, @jrandolf, @bgw, and @ijjk for helping!
Core Changes
- Introduce standalone
experimental.useCacheflag: #75240 - [metadata] keep blocking metadata rendered in head: #75227
Credits
Huge thanks to @unstubbable and @huozhi for helping!
Core Changes
- [DevOverlay] Enable reactOwnerStack when newDevOverlay is enabled: #75199
- fix: typeof msg should compare to object: #75221
- [DevOverlay] Align old and new overlay: #74935
Misc Changes
- refactor(turbopack): Remove
ReadRawVcFuture.turbo_task: #75217 - test: Move
should not cause error when removing loading.jsto flaky manifest: #75239 - test: skip dev/deploy testing for
test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts: #75249
Credits
Huge thanks to @devjiwonchoi, @kdy1, and @HQidea for helping!
Core Changes
- Remove
internal_disableSyncDynamicAPIWarningsflag: #75231 - router.prefetch should not trigger a React update: #75238
Misc Changes
- refactor(turbo-tasks): Use Return Position Impl Traits (RPIT) to reimplement GraphTraversal: #74896
- chore(turbo-tasks): Delete
non_local_returnsupport from#[turbo_tasks::function]: #75209 - perf(turbopack): Update SWC plugins (
styled-jsx,emotion): #75236
Credits
Huge thanks to @bgw, @eps1lon, @acdlite, and @kdy1 for helping!
Core Changes
- Error handling for hanging promises in
"use cache"closures: #74750 - Fix source mapping of generated cache wrapper calls: #74987
- [Turbopack] use new backend by default: #72434
- eslint: allow ts extensions for config: #75222
- Split entrypoint/route handling into separate dev and prod versions: #75169
- [Segment Cache] Prioritize route trees over segments: #75213
Misc Changes
- perf(turbopack): Use
Cow::into_ownedinstead of.to_string(): #75216 - [Turbopack] Memory improvements: #75210
- docs: Update
robotsforgenerateMetadataspec: #75229
Credits
Huge thanks to @unstubbable, @sokra, @kdy1, @devjiwonchoi, @wbinnssmith, @acdlite, and @leerob for helping!
Core Changes
- fix: Merge
linkheader from middleware with the ones from React: #73431 - Restore and enhance error handling for hanging inputs in
"use cache": #74652
Misc Changes
- Remove
endpoint.write_to_disk()in favor of standardizedendpoint.output(): #75059
Credits
Huge thanks to @amannn, @wbinnssmith, and @unstubbable for helping!
Core Changes
- fix(turbopack/napi): Flush optional task cache hit statistics upon completion of build: #75122
- add hostname to default error boundary message: #75151
- [Segment Cache] Predictable fallback param encoding: #75166
- misc: remove authors section in the readme: #75184
- Track
use cacheusage: #75007 - Upgrade React from
5b51a2b9-20250116to9b62ee71-20250122: #75187 - fix
afterexport in next-types-plugin: #75190
Misc Changes
- Update 06-data-fetching-and-streaming.mdx (Removed duplicate word): #74810
- add test case for intercepting route + catchall + generateStaticParams: #75167
- [Turbopack] remove verbose new backend tracing: #75165
- optimize read matches to reduce FileSystemPath calls: #75164
- chore(turbo-tasks): Remove the ability to opt-out of NonLocalValue for VcValueType and VcValueTrait: #75053
- chore(turbopack): Mark
ResolvedVc::resolveas deprecated to prevent resolving an already-resolved ResolvedVc: #75168 - Turbopack: don't generate CSS for Node.js: #75117
- chore(tests): Remove linguist-generated git attribute from test snapshot data/fixtures: #75194
- chore(github): remove Developer Experience area: #75198
- [Turbopack] fix invalidation and counting with collectibles: #75195
- chore(github): add CSS area/label: #75201
Credits
Huge thanks to @skushagra, @bgw, @ztanner, @acdlite, @sokra, @feedthejim, @gaojude, @mischnic, and @samcx for helping!
Core Changes
- [DevOverlay] Decouple Error Overlay with DevTools Indicator: #74999
- [DevOverlay] Open Error Overlay when DevTools Indicator clicked: #75025
- fix: be more defensive in useMergedRef: #75088
- [Dev Badge] Focus states and fluid transitioning between states: #75141
- polish indicator loading behaviour for new dev overlay: #75149
- clean unused stop: #75156
- [Segment Cache] Remove segment access tokens: #75157
- [Segment Cache] Minimize special root key handling: #75159
- [next:dev] fix: console error conflicting public file: #75140
- [Turbopack] allow to disable source maps: #75136
- Allow disabling HTTP request logs in dev server: #74349
- [metadata] Fix streaming metadata was missing in ssr: #75155
Misc Changes
- refactor(turbopack): Only perform strongly consistent reads/resolves on VcOperation: #75016
- fix: remove unnecessary parentheses in draft mode API: #75153
- perf(turbo-tasks): Turn on
local_resolutionfeature by default: #75051 - [Turbopack] allocation improvements for SingleModuleGraph: #75145
- [Turbopack] pass sourceMap flag to webpack loaders and postcss: #75144
Credits
Huge thanks to @devjiwonchoi, @lubieowoce, @raunofreiberg, @bgw, @gaojude, @sokra, @acdlite, @mohsen1, and @huozhi for helping!
Misc Changes
- Turbopack: don't create span for parallel chunking type: #75094
Credits
Huge thanks to @mischnic for helping!
Core Changes
- Display global-error along dev overlay during development: #75101
Misc Changes
- [Turbopack] Production Chunking: #75010
- Include CI runner labels in Turborepo hashes: #75099
- [Turbopack] try to avoid too small chunks size when optimizing for production: #75048
- perf(turbopack): Reduce size of
EffectArg: #74973 - build: Update
swc_coretov10.5.0: #75098 - perf(turbopack): Use
u32for the total node count: #75100 - test: add dynamic api usage test case for streaming metadata: #75109
- Turbopack: optimize NftJsonAsset: #75105
- [Turbopack] Low hanging fixes and improvement on module graph: #75106
Credits
Huge thanks to @sokra, @unstubbable, @kdy1, @huozhi, and @mischnic for helping!
Core Changes
- [DevOverlay] Polish new Error Overlay badge: #74975
- [DevOverlay]: hook up issue click handlers in NextLogo: #75069
- error when output: export is used with intercepting routes: #75058
Misc Changes
- perf(turbo-tasks): Use the type information we already have for all ResolvedVc casts, expose synchronous versions of functions: #75055
- docs: update Next.js 15 versions in upgrade guide: #74960
Credits
Huge thanks to @bgw, @leerob, @raunofreiberg, and @ztanner for helping!
Core Changes
- fix: don't memory-leak promises passed to
waitUntil: #75041 - refactor: include new option for including prefixes: #75015
- Disable
colorminfeature fromcssnano: #53393 - types: improve types in app-index: #75045
- feature(error): capture ssr error in overlay during dev: #74983
Misc Changes
- Turbopack: don't search for layout segments in routes: #73847
- Turbopack: resolve arguments to
EsmAssetReference::new: #75040 - perf(turbo-tasks): Optionally schedule ResolveNative/ResolveTrait tasks as local tasks: #69126
- hopefully fix infinite recursion in optimize: #75043
- [Turbopack] implement chunking based on the module graph: #74979
- [Turbopack] avoid crashing on e.g. .DS_Store: #75050
Credits
Huge thanks to @mischnic, @lubieowoce, @bgw, @sokra, @wyattjoh, @RobinMalfait, and @huozhi for helping!
Core Changes
- Fix dhat support for turbo dev: #67166
- Fix missing revalidate with notFound(): #75009
- fix: always ensure element before set to weakmap: #75012
- Fix ping event being sent unintentionally for Pages Router with Turbopack: #75030
Misc Changes
- refactor(turbopack/next-api): Make VcArc use OperationVc: #74479
- Add
next-custom-transformstests to verify source maps: #75005 - build: Update
swc_coretov10.3.0: #75018 - put dirty task tracing behind a feature flag: #75022
- Turbopack: fix layout segment optimization: #75026
- fix layout segment optimization: #75035
Credits
Huge thanks to @bgw, @unstubbable, @kdy1, @sokra, @ijjk, @huozhi, and @timneutkens for helping!
Core Changes
- Turbopack: chunk_group_multiple: #74859
- [DevOverlay] Fix floating header invisble on small screen: #74886
- rest errors queue after passing to handler: #74982
- [DevOverlay] Keep pagination on Build Error: #74905
- [Segment Cache] Evict client cache on revalidate: #74874
- Upgrade React from
b158439a-20250115to5b51a2b9-20250116: #74993 - [DevOverlay] Gather Feedback per Error: #74908
- Fix dev server ignores ENOENT error when loading page: #65213
- refactor: updated route regexp handling to simplify: #74996
- [DevOverlay] Rename file names to kebab: #75000
Example Changes
- Update readme for with-mux-video: #74966
Misc Changes
- perf(turbopack): Reduce size of
ConstantValue: #74965 - Turbopack: singular EcmascriptClientReferenceModule: #74946
- refactor(turbopack): Merge
AtomandJsWordvariant ofConstantString: #74967 - Turbopack: add server actions loader to module graph: #74951
- perf(turbopack): Box
ConstantValue::Regex: #74968 - perf(turbopack): Reduce size of
Effect: #74969 - test: temporarily disable after deploy test: #74989
- test: add turbopack hmr flaky test: #74995
- Turbopack error logging: check NEXT_TEST_CI to use verbose behavior: #75001
- Turbopack: compute chunk group info: #74947
- build: Update
swc_coretov10.2.5: #75002 - Re-enable app-dir logging test: #75003
- chore(github): use Issue Types: #75006
- chore(github): remove documentation label from area dropdown: #75008
Credits
Huge thanks to @mischnic, @kdy1, @devjiwonchoi, @lubieowoce, @huozhi, @acdlite, @lukahartwig, @jsanford8, @wyattjoh, @wbinnssmith, @gaojude, and @samcx for helping!
Core Changes
- Ensure client reference manifest is traced for global not found page: #74919
- Polish error feedback row: #74880
- fix: static indicator for new overlay decoupled from appIsrStatus: #74933
- [test] Avoid hydration errors in react-compiler tests: #74928
- feat: write the segment path data out from the incremental cache: #74892
- Track dynamic IO feature usage: #74942
- Upgrade React from
f0edf41e-20250115tob158439a-20250115: #74936
Misc Changes
- fix persisent caching restore bug: #74917
- Fix missing
awaitofparamswhen metadata with an image file pt2: #74193 - Turbopack: capture all references in module graph: #74873
- Add reference library that supports React Server and uses React Compiler: #74923
- [Turbopack] refactor to pass ModuleGraph to chunk_group: #74937
- [Turbopack] fix unemit collectible: #74932
- refactor(turbo-tasks): Convert local Vcs to non-local Vcs when returning from task functions: #74714
- perf(turbo-tasks): Add a synchronous try_sidecast method to ResolvedVc: #74844
Credits
Huge thanks to @sokra, @gadcam, @unstubbable, @gaojude, @mischnic, @eps1lon, @wyattjoh, and @bgw for helping!
Core Changes
- Skip client reference manifests for static metadata route handlers: #74876
- Upgrade React from
b3a95caf-20250113tof0edf41e-20250115: #74890 - fix: moved down segment path handling after cache headers are set: #74893
- [Turbopack] improve task optimization: #74837
Misc Changes
- ci: ensure fnm is installed in build_reusable: #74891
- feat(turbopack): Add a compile-time feature to turbopack to enable tokio-console support: #74675
- [Turbopack] fix task optimization by removing children count: #74907
- fix(turbopack-swc-utils): Don't panic if issues aren't emitted, use
#[must_use]annotation: #74906 - Create synchronous snapshots of recursive AvailableModuleInfo struct: #74894
Credits
Huge thanks to @ztanner, @unstubbable, @wyattjoh, @bgw, @sokra, and @wbinnssmith for helping!
Core Changes
- Disable failed scroll restoration warning: #74875
- Polish UI for dev indicator popover: #74872
- [DevTools] Add
CMD + .keyboard shortcut to show/hide: #74878 - [DevOverlay] use buttons for interactive indicator row options: #74887
- [DevOverlay] close popover/overlay on Esc: #74889
Example Changes
- with-mux-video: recommend environment variables instead of secrets: #74879
- with-mux-video: updates for next 15 compat: #74881
Misc Changes
- fix(turbopack): Fix tree shaking with
import * as R: #74725
Credits
Huge thanks to @eps1lon, @kdy1, @gaojude, @decepulis, @devjiwonchoi, and @ztanner for helping!
Core Changes
- Add partial support for
"use cache"in metadata route handlers: #74835 - [DevOverlay] Hydration Error Code Frame: #74822
- fix: when metadatabase is set we should not warn: #74840
- [DevOverlay] Sync Terminal component with CodeFrame for Build Error: #74831
- feat: animated dev build/render indicator: #74833
- Fix mojibake in server action inputs (fixes #74843): #74845
- [DevOverlay] Add Turbopack story for Error Containers: #74834
- Add pagination SEO link tags: #74737
- chore: fix local development warnings inside next monorepo: #74863
- fix: eslint rule of using img in metadata routes: #74864
- Upgrade React from
cabd8a0e-20250113tob3a95caf-20250113: #74868 - [Segment Cache] Support
<Link prefetch={true}>: #74172 - Remove unnecessary re render on link reveal: #74670
- [Segment Cache] Cancel prefetch on viewport exit: #74671
- [Segment Cache] Prioritize hovered links: #74672
- Refine NextLogo Accessibility and Styling: #74869
Example Changes
- examples: add StackBlitz preview to README.md: #73546
- examples: improve DX while copying command to create new project: #73463
- examples: fix
with-zonesrepository name in the deploy link: #74852
Misc Changes
- docs: fix typos in 08-mutating-data.mdx: #74856
- [Turbopack] add count method to storage: #74830
- [Turbopack] add tracing to task execution: #74770
- [Turbopack] improve task aggregation update: #74771
- [Turbopack] add active_counter to keep tasks active: #74772
- Update CI config for Windows runner: #74850
Credits
Huge thanks to @JamBalaya56562, @unstubbable, @devjiwonchoi, @huozhi, @sokra, @gaojude, @vexcat, @Zach-Jaensch, @ijjk, and @acdlite for helping!
Core Changes
- feat: added rewrite headers after user-supplied rewrites: #74776
Misc Changes
- refactor(turbopack-core): Use ResolvedVc in ContextCondition: #74711
- refactor(turbopack/next-core): Use ResolvedVc in PackagesGlobs: #74712
- docs: mention special case for trailing slash: #74839
- refactor(turbopack): Remove last known (non-test) usages of unresolved vcs in turbo_tasks::value (!!!): #74713
Credits
Huge thanks to @bgw, @huozhi, and @wyattjoh for helping!
Core Changes
- [DevOverlay] Fix Style Regression: #74768
- Fix output files warning by Turborepo: #74811
- perf(lint): cache the returned regex result: #74827
- Upgrade React from
540efebc-20250112tocabd8a0e-20250113: #74828
Misc Changes
- fix: unauthorized.mdx: #74799
- [Turbopack] make the single module graph a root task: #74778
- docs: mark app router dynamic example as client component: #74806
- docs: disclaimer for only canary version available for ppr: #74813
- refactor(turbopack-dev-server): Use ResolvedVc/NonLocalValue in RewriteType, remove all "local" opt-outs from structs: #74708
- refactor(turbopack-ecmascript): Use ResolvedVc in CodeGen type: #74709
- refactor(turbopack/next-core): Use ResolvedVc in VisitClientReferenceNodeState: #74710
Credits
Huge thanks to @locothedev, @devjiwonchoi, @sokra, @unstubbable, @huozhi, and @bgw for helping!
Core Changes
- Upgrade React from
056073de-20250109to540efebc-20250112: #74805
Misc Changes
- docs: unstable_cache clarify usage: #74802
Credits
Huge thanks to @leerob for helping!
Core Changes
- SingleModuleGraph: yield edge weights during traversal: #74620
- refactor(turbopack/next-api): Implement NonLocalValue for TracedDiGraph and SingleModuleGraph: #74506
- Always display version indicator: #74774
- Update font data: #74777
- Upgrade React from
74ea0c73-20250109to056073de-20250109: #74754 - [DevOverlay] Improve Storybook Structure: #74764
- fix: always show indicator in app router: #74758
Misc Changes
- chore(github): ignore PRs in for stale issue bot: #74767
- Turbopack chunking: use ChunkableModules in
chunk_content, not ChunkItems: #74040 - chore(turbopack): Delete some dead code that was using unresolved Vcs: #74705
- refactor(turbopack-core): Remove remaining "local" value type opt-outs in turbopack-core: #74706
- refactor(turbopack-dev-server): Remove unresolved Vc from DevHtmlEntry, use a named struct: #74707
- Update incorrect comment: #74687
- Typo in nextjs-compiler.mdx: #74645
- Fix small bug in getting started docs: #74744
- docs update: Remove public access modifier from resetRequestCache method in CacheHandler class, it's not available in js file (only in typescript): #74788
Credits
Huge thanks to @samcx, @wbinnssmith, @bgw, @huozhi, @nphmuller, @devjiwonchoi, @gaojude, @apostolos, @k15a, and @pavelee for helping!
Core Changes
- [DevTools] create error state for indicator: #74717
- [DevOverlay] Add Basic Stories for Error Containers: #74697
- Add experimental flag for View Transitions: #74659
- [DevOverlay] Floating Header and Bottom Stacks: #74581
- [DevOverlay] Add Pagination: #74583
- Fix @vercel/og license SPDX expression: #74745
- [DevOverlay] Add Next.js version staleness indicator: #74601
- Write errors.json fully formatted: #74753
- [DevOverlay] Fix style details and correctly pass version info: #74606
- [DevOverlay] Decouple Dialog component from Error Overlay: #74638
- [DevOverlay] Apply Turbopack Styling: #74636
- [DevOverlay] Add Call Stack: #74658
- [DevOverlay] Add Runtime Error CodeFrame: #74682
- Do not warn during build for supported modules in the Edge runtime: #74752
- Ensure metadata doesn't break scroll-to-top on navigation: #74748
- [Segment Cache] Fix stale time unit conversion: #74759
- [metadata] add option of configuring ua of async metadata: #74594
Misc Changes
- Turbopack: add flag to switch between envs: #74135
- Upgrade Turborepo to v2.3.3: #74736
- build: Update
swc_coretov10.1.0: #74580 - Improve memory usage of the new backend: #74740
- test: add feature of overriding files: #74716
- Update 09-error-handling.mdx: #74656
- misc: add
.cursorignore: #74763 - chore(github): update how we handle stale issues: #73488
Credits
Huge thanks to @gaojude, @devjiwonchoi, @eps1lon, @mischnic, @unstubbable, @matmannion, @kdy1, @sokra, @huozhi, @mikeboensel, @acdlite, and @samcx for helping!
Core Changes
- test: do not log the changes for local dev tsconfig: #74674
- [metadata] initial support of streaming metadata: #74619
- Remove PPR feature check from Segment Cache client: #74669
- [Segment Cache] Add act-inspired internal router testing helper: #74668
- [Segment Cache] Background segment revalidation: #74057
- Upgrade React from
7b402084-20250107to42687267-20250108: #74649 - Indicate boolean value for configured experimental features on startup: #74691
- Implement encryption key into turbopack as hash salt: #72933
- Show numerical values for configured experimental features: #74692
- Upgrade React from
42687267-20250108to74ea0c73-20250109: #74693 - feat: DevToolsIndicator: #74679
- Fix presentation when onerror receives an event without error: #74643
- refactor: move the global client error code: #74699
- fix: ts language server rule metadata should allow null: #74704
Misc Changes
- perf(rcstr): Support inline string: #74482
- refactor(turbopack-ecmascript) Use ResolvedVc in EsmExport type: #74508
- test: assert the logs has updated after revaluate js value: #74686
- Recommend styled-components VSCode extension to get CSS autocomplete in Dev Overlay: #74688
- fix(turbopack): Stop analyzer if IIFE is recursive: #74628
- refactor(turbo-tasks): Add NonLocalValue marker trait implementation for TransientState: #74509
- build(scripts/pack-next): Add support for compressing debuginfo with zlib: #74662
- refactor(turbopack-core): Use ResolvedVc in IntrospectableChildren: #74510
- refactor(turbopack-core): Use ResolvedVc in ProcessResult and ModuleResolveResultItem: #74511
- Update lightningcss: #74695
- refactor(turbopack-core): Use ResolvedVc for IntrospectableModule and IntrospectableSource: #74512
Credits
Huge thanks to @kdy1, @bgw, @huozhi, @eps1lon, @acdlite, @unstubbable, @lfades, @gaojude, and @sebmarkbage for helping!
Core Changes
- ensure custom cache handlers are preloaded: #74622
- feat: dev build indicator for App Router: #74618
- fix fetch lock not being consistently released: #74623
- Ensure global cache handlers are used properly: #74626
- Ensure custom Suspense boundaries in layouts resolve if they contain the page: #74552
- test: exclude the ts testing files from tsconfig during local dev in nextjs repo: #74647
- Remove unused dependencyFactory plugin code: #74661
Example Changes
- examples: remove
app-dirandwithprefix in themdxdirectory name: #73458
Misc Changes
- docs(images): update distinction between priority and fetchPriority: #74650
- docs: SPAs: #74605
- docs: fix typo: #74657
- Use prefer offline flag for CI: #74663
Credits
Huge thanks to @ztanner, @gaojude, @JamBalaya56562, @ijjk, @samcx, @leerob, @eps1lon, and @huozhi for helping!
Core Changes
- fix: handle optional catchall parameters properly when deployed: #74562
- refactor: generic dev build indicator: #74615
Credits
Huge thanks to @wyattjoh and @gaojude for helping!
Core Changes
- Fix prerender tags when notFound is called: #74577
- fix: add prerender abort errors to unstable rethrow: #74556
- Upgrade React from
3ce77d55-20250106to7b402084-20250107: #74599
Example Changes
- chore(examples): updated the example of with-react-jss to utlize the App router: #74440
- chore(examples): updated the example of with-styled-components-rtl to utlize the App router: #74180
Misc Changes
- Relocate
SingleModuleGraphtoturbopack-core: #74571 - misc: add
.stories.tsxto vscode file nesting: #74593 - ci(eslint): remove unecessary react/self-closing-comp: #74120
Credits
Huge thanks to @ijjk, @wbinnssmith, @devjiwonchoi, @wyattjoh, @Manoj-M-S, and @samcx for helping!
Please see the Next.js Security Update for information about this security patch.
Please see CVE-2025-66478 for additional details about this release.
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: Merge link header from middleware with the ones from React (#73431)
- fix(edge): run after() if request is cancelled mid-streaming (#76013)
- gate segmentCache branch in base-server (#79505)
Credits
Huge thanks to @amannn, @lubieowoce, and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: work around setTimeout memory leak, improve wrappers (#75727)
- add additional x-middleware-set-cookie filtering (#75869)
- fix: ensure lint worker errors aren't silenced (#75766)
Credits
Huge thanks to @lubieowoce and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: don't memory-leak promises passed to waitUntil (#75041)
- backport: fix prerender issue with intercepting routes + generateStaticParams (#75170)
Credits
Huge thanks to @lubieowoce and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix missing revalidate with notFound() (#75009)
- fix: when metadatabase is set we should not warn (#74840)
- Fix @vercel/og license SPDX expression (#74745)
- fix: ts language server rule metadata should allow null (#74704)
- fix: eslint rule of using img in metadata routes (#74864)
- Fix presentation when onerror receives an event without error (#74643)
- fix fetch lock not being consistently released #74623 (#75028)
Credits
Huge thanks to @ijjk, @huozhi, @matmannion and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- backport: force module format for virtual client-proxy (#74608)
- Fix prerender tags when notFound is called (#74607)
- Use provided waitUntil for pending revalidates (#74604)
- Feature: next/image: add support for images.qualities in next.config (#74588)
- Chore: docs: add missing search: '' on remotePatterns (#74587)
- Chore: docs: update version history of next/image (#73923) (#74570)
- Chore: next/image: improve imgopt api bypass detection for unsupported images (#74569)
Credits
Huge thanks to @ and @ for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Retry manifest file loading only in dev mode: #73900
- Use shared worker for lint & typecheck steps: #74154
Credits
Huge thanks to @unstubbable and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Update React from 7283a213-20241206 to 65e06cb7-20241218: https://github.com/vercel/next.js/pull/74117
Credits
Huge thanks to @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix(turbo): sassOptions silenceDeprecations was not overwritten with user options: https://github.com/vercel/next.js/pull/73937
- refactor collectAppPageSegments: https://github.com/vercel/next.js/pull/73908
Credits
Huge thanks to @devjiwonchoi and @ztanner for helping!
Core Changes
- Update font data: #74572
- Upgrade React from
3b009b4c-20250102to3ce77d55-20250106: #74557 - [metadata] Change the array head to single node in flight data: #74299
- [DevOverlay] Add Toolbar: #74555
- restore deleted comment in next-app-loader: #74597
- Turbopack dev: Remove client to server websocket ping event: #74584
Example Changes
- chore(examples): update React in reproduction templates to stable 19: #74499
Misc Changes
- chore(github): update issue_stale token to release bot token: #74575
- chore(ci): Ensure all 6 shards are used equally in deploy tests: #74574
- fix: force module format for virtual client-proxy file: #74162
- [Turbopack] fix shadow-rs build caching: #74579
Credits
Huge thanks to @samcx, @nnnnoel, @lubieowoce, @huozhi, @sokra, @devjiwonchoi, and @timneutkens for helping!
Core Changes
- Upgrade React from
518d06d2-20241219to3b009b4c-20250102: #74492 - fix: add node internals stack frames to ignored list: #73698
- chore: break calls to forEach into for loops: #74523
- [DevOverlay] Add error message: #74541
- [DevOverlay] Add error type label: #74543
- feat: connect error rating buttons to telemetry API: #74496
- [metadata] Move metadata rendering adjacent to page component: #74262
- Delete set-cache-busting-search-param.test.ts: #74561
- fix: enhance a11y, prevent double firing in error rating: #74563
- fix: add aria-hidden to error overlay voting icons: #74568
Misc Changes
- test: add missing await for hydration test: #74542
- Getting Started Docs: Add
Mutating Datapage: #74018 - Getting Started docs: Add
Error Handlingpage: #74069 - test: update test for async client component with snapshot: #74550
- test utils: Include origin of failed
browser.*in stack: #74553 - fix react being incorrectly mentioned as extending fetch API: #74278
- docs: pin react version to 18 in Next.js 14 upgrade guide: #74222
Credits
Huge thanks to @huozhi, @wyattjoh, @delbaoliveira, @eps1lon, @devjiwonchoi, @gaojude, @eur00t, and @cseas for helping!
Core Changes
- [DevOverlay] Remove Dialog Banner: #74464
- [DevOverlay] Add color palette script: #74465
- Fix: Preserve intentional percent encoding in search param for client nav: #74473
- [DevOverlay] Implement New Overlay Layout with Bottom Stacks: #74466
- [DevOverlay] Add error overlay footer and feedback: #74472
- [DevOverlay] Remove temporary header children: #74490
- fix: server functions x-forwarded-host possible multiple values: #73701
- [DevOverlay] Pass footer message from error containers: #74493
- feat(rsc): allow host or forwarded: #74199
- [DevOverlay] Adjust border style for header and footer: #74480
- feat(next/image): add support for
images.qualitiesin next.config: #74257
Example Changes
- Fix linting between lint-check and lint-staged: #74503
Misc Changes
- refactor(next-core): Remove local annotations from structs in next-core/src/app_structure.rs: #74200
Credits
Huge thanks to @bgw, @devjiwonchoi, @gaojude, @Netail, @tknickman, @styfle, and @ijjk for helping!
Core Changes
- fix: update broken links in config-shared.d.ts: #74122
- fix: fix typos in errors.json & create-component-tree.tsx: #74471
- Safely retrieve router, improve page reload logic: #74209
- docs: bump year: #74475
Misc Changes
- docs(generate-static-params): add typescript example and missing jsx switcher: #73962
- docs(fetching-data-and-streaming): add missing types to example: #74081
- docs(use-cache): add missing
switchercode blocks and types in examples: #74083
Credits
Huge thanks to @yongholeeme, @spidersouris, @devpla, @gurkerl83, and @cassiossantos for helping!
Misc Changes
- docs: remove catch-all for opengraph-image: #74338
Credits
Huge thanks to @leerob for helping!
Misc Changes
- Fix typo in generateViewport docs: #74288
Credits
Huge thanks to @n1ckoates for helping!
Misc Changes
- chore(github): update comments stale period: #74291
Credits
Huge thanks to @samcx for helping!
Core Changes
- [DevOverlay] fix: restore pagination style: #74296
Credits
Huge thanks to @devjiwonchoi for helping!
Core Changes
- refactor: error boundary rendering in app-render: #74259
- [metadata] Merge the metadata resolve apis into one api: #74191
Credits
Huge thanks to @huozhi for helping!
Misc Changes
- ci: use consistent playwright-chromium version: #74251
- Fixed typo in documentation: #74254
- docs: fix typo in self-host after() details: #74243
Credits
Huge thanks to @ztanner, @ytreister, and @sommeeeer for helping!
Misc Changes
- docs: update ISR self-hosting example code: #74211
Credits
Huge thanks to @leerob for helping!
Core Changes
- Use Geist font in Dev Overlay: #74160
- [metadata] Align prefetch head type with head: #74161
Credits
Huge thanks to @devjiwonchoi and @huozhi for helping!
Core Changes
- used shared worker for lint & typecheck steps: #74154
- chore(turbopack): Ignore no-vc-struct lint in trybuild proc macro tests: #74110
- Use provided waitUntil for pending revalidates: #74164
- Port ErrorPagination: #74097
- Port LeftIcon RightIcon from ErrorPagination: #74098
- Port ToolButtonsGroup: #74099
- [Turbopack] fix import.meta.url in monorepo: #72612
- refactor: rename the react client error callbacks module: #74192
- Use ErrorOverlayLayout in Errors component: #74107
- refactor: remove internal queries, move to request metadata: #74100
- Fix accessing headers in progressively enhanced form actions: #74196
Misc Changes
- refactor(turbo-tasks): Remove public OperationVc constructor, introduce a macro annotation for creating OperationVc types: #72871
- refactor(turbo-tasks): Make State require OperationValue: #73876
- chore(turbopack): Remove or improve a few uses of
.to_resolved().awaitinside a loop: #74112 - refactor(turbopack): Rewrite CollectiblesSource callsites to use OperationVc (part 1/3): #74051
- chore(turbopack): Delete to-resolved-in-loop lint (too low signal): #74113
- Allow usage of
thisandargumentsin nested function expression: #74179
Credits
Huge thanks to @ztanner, @bgw, @ijjk, @unstubbable, @devjiwonchoi, @sokra, @huozhi, and @wyattjoh for helping!
Core Changes
- fix(typed-routes): Fix route type fallback: #73271
- Rename
root-layout-missing-tags-error.tsxto pascal case: #74089 - Turbopack: next/dynamic use transitions instead of AST analysis: #73627
- [Turbopack] fix root and project path usages in a monorepo: #73552
- support
bun.lockas package manager lockfile: #74056 - Stop sourcemapping function names: #74085
- Move ErrorIndicator to separate file: #74090
- Upgrade React from
372ec00c-20241209to518d06d2-20241219: #74155
Misc Changes
- Turbopack: change COMMON_CHUNKING_TYPE: #74080
- Turbopack: only inherit visited modules from parent layouts: #74072
- fix: improve types in turbopack runtime: #74119
- Fix merge conflicts: #74157
- refactor(turbopack/next-core): Migrate app_page_loader_tree structs to ResolvedVc: #74114
Credits
Huge thanks to @alitas, @mischnic, @devjiwonchoi, @sokra, @RiskyMH, @lubieowoce, @eps1lon, and @bgw for helping!
Core Changes
- Add storybook for UI testing: #74032
- [Segment Cache] Support for non-PPR projects/pages: #73960
- exclude
.stories.and.test.files from taskfile watch and error plugin: #74064 - Upgrade React from
7283a213-20241206to372ec00c-20241209: #73749 - fix: aria attribute typo for error overlay: #74074
- fix: set x-deployment-id to every middleware prefetch request: #71193
- Add middleware handler for error code telemetry: #74088
- Create ErrorOverlay component: #74073
Example Changes
- examples: update
with-mdx-remoteexample to utilize the App Router: #74067 - Removed duplicated cn function declaration from lib dir: #74065
Misc Changes
- docs(redirect): add typescript example and fix params as promise: #73963
- docs: Fix filename for Turbopack traces: #74066
- Fix flakey deploy test assertion: #74060
- Specify PPR test dimension via environment variable only: #74031
- Name default Jest project according to used env variables: #74084
- test: assert that app exited without signal: #74087
- sync-react: Handle version bumps across SemVer minors and release channels: #74091
Credits
Huge thanks to @devjiwonchoi, @acdlite, @devpla, @mischnic, @ijjk, @eps1lon, @abvthecity, @JamBalaya56562, @damiensedgwick, @lubieowoce, and @gaojude for helping!
Core Changes
- refactor(turbopack): Make various types directly or indirectly included in
State<T>types into OperationValues and/or NonLocalValues: #74008 - Fork
react-dev-overlayfor new UI: #74017 - fix: added fallback source route to prerender manifest: #74052
Credits
Huge thanks to @bgw, @devjiwonchoi, and @wyattjoh for helping!
Core Changes
- refactor: cache lowercasing all the locales: #74038
- Add SRI support for Node.js Runtime : #73891
- Separate bots detection utils: #74000
- docs: remove a duplicated word in redirect code comment: #74043
- examples: update gitignore files for parity for yarn recommendations: #71956
- chore: update turbopack document path in the warning message: #72597
- Clean up
react-dev-overlaybefore fork: #74016 - chore(next/image): improve imgopt api bypass detection for unsupported images: #73909
- [Segment Cache] Add CacheStatus.Empty: #73667
- chore: move static paths utils into own folder: #73928
- Delete unused
GroupedStackFrames.tsx: #74028 - [Segment Cache] Move cache key creation to client : #73853
- feat: added partial shell generation using root params: #73816
- feat: added error when there's missing root params in generateStaticParams: #73933
- Remove parentRendered argument: #73877
- Generate per-segment responses for any static page: #73945
- feat: added fallback route params to prerender manifest: #74004
Example Changes
- examples: update
next-config-jsdocument path: #73774 - examples: convert @next/third-parties examples from JS to TS: #73602
- updated with-orbit-components example to utilize the App Router.: #73266
- examples: update
with-styled-componentsREADME: #73729 - examples: update
with-orbit-componentsREADME: #74011
Misc Changes
- Make
ChunkItems reference onlyOutputAssets: #73824 - Install Vercel CLI at start of E2E deploy tests: #74047
- Fixed small typo in the doc: #73971
- docs: fixed regex for parsing base64String, and updated subscribeToPush function.: #73940
- exclude some modules from auto-import: #74020
- [Docs]: Clarify redirects in next.config to negate potential infinite redirects: #74019
- Update Turbopack development test manifest: #74013
- Turbopack: use old client reference collection implementation: #74029
- Create Jest project for Turbopack: #73769
- [Turbopack] move git version info to top-level crate to fix caching issues: #74015
Credits
Huge thanks to @JamBalaya56562, @wyattjoh, @unstubbable, @wbinnssmith, @ijjk, @huozhi, @suu3, @Marukome0743, @PapatMayuri, @Sahil4883, @abyii, @devjiwonchoi, @lubieowoce, @styfle, @molebox, @mischnic, @eps1lon, @acdlite, @wyattjoh, @sokra, and @maciej-ka for helping!
Core Changes
- refactor: make locales array immutable: #74037
- fix: skip rendering dynamic root segment routes: #74039
Misc Changes
- chore(turbopack): Fix build error when CI environment variable is not supplied: #74041
Credits
Huge thanks to @wyattjoh and @bgw for helping!
Core Changes
- Ignore RSC fetch errors after hard navigation: #73975
- Fix error code check in windows: #73981
- Separate viewport and metadata in rsc and cache: #73867
- Add feature flag for new dev overlay: #73977
- Restore RSC fetch error handling after navigating back: #73985
Misc Changes
- docs: fix sitemap changelog table formatting: #73760
- fix(docs): vitest manual setup: #73754
- docs: fix file extension and missing export: #73842
- docs: update
tailwind.config.tsto usesatisfiesoperator: #73924 - docs: Fix MDX syntax error: #73970
- chore(next-custom-transforms): Mark fixture outputs as generated: #73918
- docs(use-cache): add missing jsx switcher example and types: #73473
- docs(internalization): add typescript examples and fix params as promise: #73240
- docs: add missing quotation marks in exmaple code: #73720
- chore(turbo-tasks-macros): Remove use of associated items for NativeFunction construction: #73929
- refactor(turbo-tasks-macros): Strip (already hidden) doc attributes from inline function signatures: #73931
- chore(github): fix wrong-issue-template body: #74003
Credits
Huge thanks to @davidhu2000, @attilarepka, @JamBalaya56562, @mischnic, @unstubbable, @gaojude, @bgw, @devpla, @dydals3440, @huozhi, @devjiwonchoi, and @samcx for helping!
Example Changes
- examples: remove
with-tailwindcssexample: #73919
Misc Changes
- Docs: fix typo in
examplespage: #73907 - docs: add
next.config.tscode switcher to Redirecting docs: #73848 - docs: add tsx switcher to
linking and navigation: #73846 - docs: update file structure on contribution guide: #73778
- docs: add
next-intlayerinto i18n solution list: #73750 - docs: minor typos and fixes: #73955
Credits
Huge thanks to @delbaoliveira, @JamBalaya56562, @aymericzip, and @leerob for helping!
Core Changes
- Turbopack: ignore empty NEXT_TURBOPACK_TRACING var: #73903
Misc Changes
- chore(github): add issue_wrong_template workflow: #73882
- docs(mdx): add a dynamic imports section for App Router: #73466
- chore: increase test sharding: #73852
- fix(turbo): sassOptions
silenceDeprecationswas not overwritten with user options: #73937
Credits
Huge thanks to @samcx, @wyattjoh, @mischnic, and @devjiwonchoi for helping!
Core Changes
- Retry manifest file loading only in dev mode: #73900
Example Changes
- chore(docs): add missing
search: ''onremotePatterns: #73925
Misc Changes
- Correct typo in Update 04-images-and-fonts.mdx: #73790
Credits
Huge thanks to @styfle, @ollyw, and @unstubbable for helping!
Core Changes
- Exclude
.test.files from using error code plugin: #73868 - Refactor telemetry API: #73865
- Add additional error classes and error codes: #73862
- refactor: collectAppPageSegments: #73908
- cleanup unnecessary map in dev server: #73745
Misc Changes
- refactor(turbo-tasks): Derive NonLocalValue by default in value/value_trait macros: #73766
- refactor(turbo-tasks): Implement
NonLocalValueforState<T>whereT: NonLocalValue: #73770 - chore(github): fix typo in close-issue-message: #73878
- Docs: Remove
unstable_expirePathandunstable_expireTagdocs: #73856 - Docs: Create
Examplessection: #73858 - Docs clean up: Merge and delete content from
routing/index.mdx: #73859 - Docs clean up: delete
defining-routes.mdxandpages.mdx: #73863 - Turbopack: store ChunkingType in single-module-graph: #73837
- chore(turbopack-browser): Pedantically fix minor typos in comments about TraitRef: #73772
- chore(docs): update version history of
next/image: #73923 - docs: update
WebVitalscomponent: #73869
Credits
Huge thanks to @bgw, @gaojude, @samcx, @delbaoliveira, @ztanner, @mischnic, @styfle, and @abdonrd for helping!
Core Changes
- [Segment Cache] Add PPR header to segment prefetch: #73756
- fix: path escaping issue on windows: #73843
- Rename variables in LayoutRouter for clarity: #73826
- [Segment Cache] Skip prefetched segments on server: #73626
- [Segment Cache] No data on tree prefetch if no PPR: #73767
- Remove segmentPath from RSC payload: #73827
- build: better error if fetching AMP validator fails: #73851
- Escape the '.' in '.json' when making static data routes.: #73850
- fix(next@15): use the asset prefix when loading a CSS in App Router: #72095
Misc Changes
- feat: Update
swc_coretov9.0.0: #73696 - Turbopack: resolve some to-resolved-in-loop: #73794
- Bump Rust version: #73169
- fix(turbopack): Enable
explicit_resource_managementtransform: #73802 - docs: fix code block extension on
afteranderror handling: #73844 - Revert "feat: Update
swc_coretov9.0.0": #73866
Credits
Huge thanks to @acdlite, @kdy1, @mischnic, @lubieowoce, @JamBalaya56562, @creationix, @ijjk, and @noreiller for helping!
Core Changes
- Fix receiveExpiredTags not always called: #73759
- error-overlay: Rename "Error" to "Issue": #72817
- remove redundant segment collection call: #73773
- Metadata resolvers can be fetched synchronously: #73771
- Turbopack: migrate client references to single-graph-traversal: #73322
- next-codemod: update gitignore file for parity for yarn recommendations: #71963
- feat: error code: #73332
- Detach next-error-code-swc-plugin from workspace: #73806
- [CI] Prominent error message for check_error_codes: #73807
Misc Changes
- Turbopack: support module workers: #72614
- docs: add versions to connection API: #73798
- Increase test retries from 1 to 2: #73795
- refactor(turbo-tasks): Implement
NonLocalValuefor allResolvedVcs andOperationVcs: #73764 - docs: supporting after for providers: #73743
- [E2E] Fix config file conflict: #73818
Credits
Huge thanks to @ijjk, @eps1lon, @ztanner, @gnoff, @mischnic, @Marukome0743, @leerob, @gaojude, @unstubbable, @bgw, and @lubieowoce for helping!
Core Changes
- Fix
unstable_allowDynamicwhen used with pnpm: #73732 - [dynamicIO] use new heuristic to track whether server render is dynamic: #73751
Misc Changes
- Add NEXT_PRIVATE_SKIP_CANARY_CHECK env for bench job: #73763
- refactor(turbopack): Add
NonLocalValuederives to types deriving TraceRawVcs: #73714
Credits
Huge thanks to @ijjk, @unstubbable, @bgw, and @gnoff for helping!
Core Changes
- fix: decrypt bound args before generating a cache key: #72463
- Fix the path to the next/experimental/testing/server export: #72527
- Expand
server-source-mapsscenarios to cover Edge runtime: #72288 - Ensure logged errors in Edge runtime include the stack: #72394
- fix: added cache control headers for static app routes: #72521
- capture console issues as console errors: #72468
- Add expireTag and expirePath APIs: #72485
- fix: try/catch access to localStorage within __NEXT_APP_ISR_INDICATOR useEffect: #72362
- Move client build ID to a global variable: #72592
- refactor(turbopack): Remove
swc_css: #72602 - Bypass source map dev middleware for client chunks: #72581
- chore: remove
rcfrom URL: #72599 - improve
no-img-elementlint error message: #72410 - Combine bound
"use cache"closure args into a single parameter: #72587 - [Turbopack] add BackendOptions and allow to disable dependencies, children and storage: #72426
- Omit unused args when calling
"use cache"functions: #72506 - Add experimental
clientSegmentCacheflag: #72626 - Add
compiler.defineoption: #71802 - Fix static indicator with dynamicIO: #72631
- Allow usage of Node.js prereleases: #72635
- improved network url in (dev) cli: #72634
- chore: update
getting-started/react-essentialspath: #72250 - Fix static indicator for pure IO case: #72639
- Bump the monorepo packages TypeScript to
5.6.3: #72625 - Bump
@capsizecss/metricsto 3.4.0 for Geist Google Font: #72746 - refactor: remove unused asNotFound property: #72585
- Remove unused
enabledconfig from server actions transforms: #72755 - Ensure Next.js is ignore-listed when used as external: #72498
- Bump
eslint-plugin-reactto 7.37.0: #72759 - upgrade amphtml-validator to 1.0.38: #72645
- fix multi-level redirect in server actions: #72770
- refactor: rename error boundary not-found to http-error-fallback: #72586
- Upgrade React from
5c56b873-20241107to7ac8e612-20241113: #72768 - Re-use randomly selected dev server port for automatic restarts: #72771
- Emit build error when
"use cache"is used withoutdynamicIOenabled: #72781 - fix: not found bounary prop: #72784
- silence sass
legacy-js-apiwarning: #72632 - [Segment Prefetch] Move access token to route tree: #72775
- Add internal affordances to show ignore-listed stackframes in terminal: #72763
- chore(turbopack): Centralize reqwest TLS feature configs in turbo-tasks-fetch: #72526
- Upgrade React from
7ac8e612-20241113to380f5d67-20241113: #72819 - Shorten unsourcemapped absolute locations in terminal stacktraces: #72764
- codemod: replace
revalidate(Tag|Path)toexpire(Tag|Path): #72826 - "Fix": Lift type check out of loop: #72840
- hide stack trace in CanaryOnlyError: #72859
- Allow missing CacheNodeSeedData during prefetch: #72857
- Add Segment Cache feature check to
prefetchAPI: #72861 - Extract shared fetchFromServerResponse logic to separate functions: #72865
- [Segment Cache] Implement behavior on cache miss : #72841
- Emit build error for unknown cache kinds: #72832
- Resolve mdx plugins string format: #72802
- MDX: Only set experimental.turbo if enabled: #72856
- [Turbopack] change persistent caching option to a boolean: #72458
- refactor: generalize next route error helpers: #72774
- Ensure host is in allowed headers: #72867
- refactor: types for collected cache info in route modules: #71434
- feat(turbopack): Enable tree shaking for modules with dynamic imports: #71692
- Fix unhandled rejection in proxy-request: #72530
- chore(build): remove injecting fast refresh to custom loader logs: #72870
- ensure webpack worker exits bubble to parent process: #72921
- Fix sourcemaps for internal client boundaries: #72922
- Turbopack: thread tracing through to resolve results: #72314
- Upgrade vercel og: #72954
- Turbopack NFT: trace manifests and externals: #72316
- Turbopack: NFT followups: #72517
- Support custom servers with minimal node modules: #72966
- Add support for ignore-listing sources in index maps: #72913
- Turbopack: fix loading of externals on Edge: #72349
- Bump SWC used for transpiling Next.js sources: #72993
- fix: ensure HTML validity for the
next-size-adjustmeta tag: #72994 - Revert "Support custom servers with minimal node modules": #73003
- Allow CacheNode.loading to be a promise: #72872
- Properly encode dynamic access in segment prefetch: #72874
- [Segment Cache] Send during route prefetch: #72890
- fix(next/image): improve svg heuristic for unoptimized: #72970
- [Segment Cache] Initial implementation: #72875
- Turbopack: Change edge wrapper to proxy exports : #72502
- experimental: css inlining: #72195
- Display where the env was loaded from when enabled
typedEnv: #70951 - create forked impl for Link component: #73019
- remove unnecessary handling in forked Link components: #73020
- Pass down ignored field to error overlay: #72925
- remove locale from app link: #73052
- fix: server action redirects between multiple root layouts: #73063
- Add forbidden and unauthorized APIs: #72785
- chore: rename modules for better meaning and searching: #73067
- fix(next/image): reduce avif sharp effort from 4 to 3 for faster encoding: #73030
- (E2E) Log which config file is used for
next start: #73105 - Remove extra space in envionment log: #73108
- remove inheritance from NextCustomServer: #73005
- Align navigation digest with message: #73074
- refactor: move redirect helpers into separate module: #73118
- Update font data: #73115
- Current behavior for fallbacks with async metadata and prefetching: #73106
- Revert "ensure webpack worker exits bubble to parent process (#72921)": #73136
- Reapply "ensure webpack worker exits bubble to parent process (#72921)": #73138
- Upgrade React from 380f5d67-20241113 to b01722d5-20241114: #73107
- Implement metadata types support for
exactOptionalPropertyTypes: #72936 - Reenable otel test for Turbopack: #73093
- Omit unnecessary cache wrapper import: #73160
- Increase max cache tags to 128: #73124
- Do not inline CSS in RSC payload for dynamic client nav: #73182
- fix(next/image): dpl query string should only be used for local images, not remote images: #73184
- feat(after): unflag unstable_after internals: #73190
- feat(after): allow using unstable_after in generateStaticParams: #73217
- Error on navigation API usage in pages router and middleware: #73100
- Undeprecate revalidate APIs and rename expire APIs: #73193
- Revert "codemod: replace
revalidate(Tag|Path)toexpire(Tag|Path)": #73269 - feat(after): wait for after-callbacks before server shutdown: #72590
- Fixed interception on a catch-all route: #72902
- add option to disable experimental CssChunkingPlugin: #73286
- rename cssChunkPlugin experimental options: #73291
- Replace the group frames with button for ignored frames: #72964
- handle pages router ignored frames: #73280
- fix(after): no request APIs in force-static: #73321
- fix(after): allow reading draftMode status in after: #73324
- [Turbopack] reland refactor filesystem writes to an effect based system: #73294
- fix(pages): dynamic css missing style after client navigation: #72959
- Make
notFound()work in"use cache"page: #73210 - refactor(after): remove unnecessary conditionals: #73447
- Bump
@swc/coreto 1.9.3: #73420 - fix: running cleanup before server is initialized: #73476
- [edge-runtime] drop node16: #73432
- feat(after): allow request APIs in after (actions/handlers): #73345
- Sourcemap errors logged in Edge runtime: #73438
- refactor: rename ALS instances to prevent bad auto imports: #73480
- Show a proper error if a server function's bound args cannot be serialized: #73471
- remove unnecessary internal middleware header from response: #73482
- Ensure Issue Overlay sourcemaps externals in Turbopack: #73439
- Fix missing error message in terminal for bound args serialization error: #73508
- fix: memory leak from
warnOnce(): #73483 - Upgrade React from
b01722d5-20241114to1b1283ad-20241203: #73506 - Fix: Importing an ESM file from next/dist/client/.js fails: #73485
- fix: fixed dedupe response cloning: #73274
- Upgrade React from
1b1283ad-20241203tode68d2f4-20241204: #73525 - fix(after): improve error message if promise arg rejects: #73524
- feat: added compression to resume data cache using deflate: #73227
- Use React 19 stable in Pages Router: #73562
- Use stable
@types/react: #73563 - Cache the bound args encryption result for inline server functions: #73521
- chore: remove non-existent hash fragments from URLs: #73165
- next-upgrade: Ensure highest versions are used not latest: #73566
- Upgrade React from
de68d2f4-20241204to1c9b1387-20241204: #73565 - Use consistent error formatting in terminal: #71909
- [Segment Cache] Interception routes: #73434
- Upgrade to typescript 5.7: #73594
- [Segment Cache] Use LRU to manage cache data : #73486
- [Segment Cache] Add isPartial to segment prefetch : #73528
- Fix missing client reference manifest error when using route groups: #73606
- feat(after): stabilize
unstable_after: #73605 - [Segment Cache] Add isHeadPartial: #73530
- fix: do not add suffix for sitemap under group routes: #73570
- Dynamic IO: Improve error handling: #73607
- fix: Update @swc/helpers: #73666
- Upgrade React from
1c9b1387-20241204to7283a213-20241206: #73608 - next-codemod(upgrade): handle absence of scripts in package.json: #73688
- Add inlineCss trade-offs/gotchas and remove canary check: #73609
- Ignore-list stack frames in node_modules even if not explicitly ignore-listed by their sourcemaps: #73689
- Remove ignore for anonymous stack frame: #73610
- test: move HMR Error Recovery test to a separate file: #73592
- test: move HMR basic test to a separate file: #73612
- fixes webpack persistent caching in development and add test case for persistent caching: #73697
- fix: empty generateStaticParams should still create an ISR route: #73358
- Limit the number of concurrently open file watchers on macos: #73741
- fix:
warnOnce()lru: #73742 - [Segment Cache] Respond with 204 on cache miss: #73649
- [Segment Cache] Skip dynamic request if possible: #73540
Example Changes
- example: add more files to
playwright.gitignore: #72447 - examples: update app-dir-i18n-routing to v15: #72636
- chore(example): add example for image optimization with secure compute: #72641
- examples: update app-dir-i18n-routing to v15: #72642
- examples: polish some README.md: #72117
- examples(with-supabase): fix action type error: #72783
- use explicit resource management for sandbox: #72780
- update: remove unnecessary in Dockerfile: #72534
- Fix Mongoose example failed build due to env variable not found: #72918
- (example) using
awaitparams when dynamic routing: #72896 - Updated the example of with-styled-jsx-scss to utilize the App Router.: #70567
- Updated the example of with-styled-jsx-plugins to utilize the App Router: #70663
- Updated the example of with-unstated to utilize the App Router.: #73211
- updated with-react-foundation example to utilize the App router.: #73243
- updated with-plausible example to utilize the app router.: #73255
- updated with-cssed example to utilize the app router.: #73348
- updated with-babel-macros example to utilize the app router.: #73347
- updated image-legacy-component example to utilize the app router.: #73344
- updated with-styletron example to utilize the app router.: #73252
- updated with-context-api example to utilize the App Router.: #73316
- updated with-mqtt-js example to utilize the App Router.: #73303
- chore(examples): update api-routes-cors: #73408
- chore: release turbopack npm packages: #73443
- examples: remove
app-dirini18n-routingdirectory name: #73453 - examples: move Postgres example: #73531
- Bump
examples/**Eslint to v9: #73560 - Update with next sass example: #73548
- examples: remove
next-env.d.tsfiles: #73673 - examples: update
with-sassREADME.md: #73668 - examples: remove
next-offlineexample: #73675 - examples: remove the old files from
with-postgres: #73587 - examples: remove
with-emotion-*directories: #73674 - updated with-ionic-typescript example to utilize the App Router.: #73418
- examples: update
with-styletronREADME.md: #73411 - examples: update
with-babel-macrosREADME.md: #73410 - examples: update
with-plausibleREADME: #73305 - examples: unify related CMS examples in README: #73247
- examples: fix view source pathname at
image-legacy-component: #73414 - examples: remove
with-styled-components-babel: #73229 - examples: replaced GTM component with GA in Google Analytics example: #73597
- examples: introduce LaunchPad in strapi: #73244
- examples: remove
with-storybook-styled-jsx-scss: #73228
Misc Changes
- Revert "[Turbopack] add rocksdb": #72505
- [Docs]: Remove try catch and link to error handling docs: #72500
- [Turbopack] improve performance of the trace server: #71661
- Docs: Move
next.config.jsAPI pages under aconfigfolder, fix headings in TS and ESLint config pages: #72465 - Skip canary checks during internal development with VSCode: #72504
- Devlow snowflake backend: use milliseconds instead of seconds for event time: #72490
- [Turbopack] add TODO comment: #72510
- docs: unify the header deps by removing #: #72451
- fix: remove unnecessary fragment: #72492
- Fix grammatical error: remove unnecessary 'a' in 03-server-actions-and-mutations.mdx: #72496
- docs: fix broken link: #72169
- codemod(turbopack): Replace
return Err(anyhow!())withanyhow::bail!(): #72487 - Upgrade React from
66855b96-20241106to5c56b873-20241107: #72469 - fix(turbopack): Remove self-references from tree shaking results: #72567
- Turbopack: Don't run PostCSS on internal assets: #72579
- Update
swc_coretov5.0.4fromv5.0.1: #72604 - (e2e) module-level
patchFileDelayflag: #72439 - docs: remove unstable_after from Dynamic APIs: #72595
- chore: release turbopack npm packages: #72491
- Include bound args param in server reference information byte arg mask: #72588
- [Turbopack] fix bug where task was not recomputed when stale: #72509
- CNA: prompt enable turbopack value to true: #72616
- docs(use-cache): add missing
functionto page component examples: #72620 - docs(data-fetching): fix static params as promise examples : #72565
- Re-enable fetch logging test - HMR: #72640
- [Turbopack] migrate benchmark to new backend: #72457
- test: add wait for the error page navigation: #72760
- CNA: use eslint 9: #72762
- CNA: replace geist font from local to google: #72618
- fix(turbopack): Depend on side effect from import binding: #72601
- chore: keep create-next-app messages and docs the same: #72444
- ci: flake detection should run in both bundlers: #72773
- [Turbopack] reduce nesting: #72747
- docs: update file structure: #72748
- chore(cna): switch to .mjs tailwind config: #72124
- [Turbopack] fix collectibles counting and aggregation: #72609
- [Turbopack] implement dispose root task: #72611
- feat(turbopack): Merge single-pointer nodes in reverse direction: #72571
- test: fix hydration error on not-found test texture: #72818
- docs(turbo-tasks): Improve RcStr docs: #72825
- fix(turbopack): type error when "dynamic_embed_contents" is on: #72828
- [Turbopack] make issue ordering stable: #72751
- refactor(turbopack): Use
ResolvedVcforturbopackcrate: #72791 - refactor(turbo-tasks): Simplify most type bounds on Vc
and related types: #72823 - fix(turbopack): Fix CSS Module renaming behavior for
@container: #72607 - refactor(turbopack): Cleanup tree shaking graph logic: #72836
- [Turbopack] fix hanging waiting on in progress cells: #72758
- [Turbopack] avoid writing manifests in data/rsc variant of page: #72767
- Consolidate server actions transform errors into
emit_errorfunction: #72811 - refactor(turbo-rcstr): Move turbo_tasks::RcStr into it's own crate: #72858
- Add explicit section about type overriding for v15: #72866
- refactor(turbopack): Use
ResolvedVcforturbopack-ecmascript: #72564 - refactor(turbopack): Use graph for server action workaround: #72812
- [Turbopack] refactor filesystem writes to an effect based system: #72847
- Fix sourcemaps for async Turbopack chunks: #72827
- docs(turbopack): Document build dependency on clang for rocksdb: #72493
- Clarify how MDX plugins are supported in Turbopack: #72917
- Turbopack: Don't replace constant conditions with sideeffects: #72608
- [Turbopack] fix effects tracing: #72928
- docs: fix code block language in redirecting docs: #72944
- docs: fix code block language in error pages: #72943
- docs: update "Migrate to async Dynamic APIs" docs: #72852
- Fix broken link to the
rootDirdoc: #72893 - docs: use relative urls: #72941
- docs: add the section titles to error page: #72942
- simplify vapid key generation docs: #72916
- docs: add and unify notes to error pages: #72838
- feat(turbopack): Implement module walking for side effect optimization: #71241
- docs: remove deprecated
frameborder, adjustallowFullScreenand update the demo: #72644 - docs: fix code block language: #72839
- Docs: Changing information about data fetching cache: #72301
- Turbopack: apply effects in tests: #72952
- doc: remove internal
customServerflag from custom server docs: #72962 - codemod(turbopack): Some more script-generated migrations to ResolvedVc: #72889
- Consolidate
FnExprandFnDeclserver function transforms: #72960 - Allow method properties to be server functions: #72969
- Include
debugscript in test directories: #72992 - docs(sitemap): remove extra 's': #73023
- chore(turbopack-core): Delete dead
all_modules_and_affecting_sourceshelper function: #73016 - [Turbopack] concurrent write batches and little endian encoding: #72929
- Remove unused
retryaroundbrowser.eval: #72999 - [Turbopack] Invalidation and Persisting fixes: #72950
- docs: missing
awaitwhen using params: #73044 - docs: incorrect
params.id: #73045 - Remove hardcoded timeouts in Redbox test helpers: #73000
- perf(turbopack): Enable merging of export fragments: #72813
- Turbopack build: Add bench for Turbopack cache: #73040
- 🍪 Understanding Cookie Behavior in Server Components: #73001
- docs: add Fleek's Next.js template: #72988
- docs(fetch): clarify default fetch behavior: #72982
- docs: update staleTimes.mdx: #72967
- docs:
Redirectingfix route handler path: #72617 - Rename
waitForAndOpenRuntimeErrortoopenRedbox: #72996 - Revert "docs: add Fleek's Next.js template": #73054
- fix benchmark directory: #73057
- hmr-test waits for compile signal: #73064
- docs(next-config): add experimental inline css docs: #73070
- docs: update tags when upgrading from 13 to 14: #73071
- docs: fix static params as promise examples: #72553
- fix: missing await, missing type Promise: #73088
- Disallow multiple server directives at the same level (file or function): #73018
- Docs: Add canary tags to
expirePathandexpireTag: #73096 - docs: update pages automatic static optimization rendering page: #72545
- docs(authentication): fix typescript code example: #72533
- docs: add details on React Compiler annotations with
"use memo": #73053 - docs: fix code block language on redirecting docs: #73073
- docs(routing): update params type to be async (v15): #73111
- docs: clarify Switching to Dynamic Rendering section: #73113
- Method/function props of exported objects are not server functions: #73058
- Forbid
thisandargumentsin server functions: #73059 - port turbopack-swc-utils to ResolvedVc: #73086
- port turbopack-mdx to use ResolvedVc: #73080
- feat: Update
lightningcsstov1.0.0-alpha.61: #73161 - port turbopack-resolve to ResolvedVc: #73083
- move turbopack-image to ResolvedVc: #73079
- Turbopack: more tracing spans: #73010
- Handle server function directives in class methods: #73060
- 15.1 docs:
forbidden,unauthorized, andauthInterrupts: #73039 - Enable another Turbopack build test: #73166
- CNA: replace
.eslintrc.jsonwitheslint.config.mjs: #73162 - Turbopack: don't compute all paths for builds: #73036
- perf(turbopack): Use
ResolvedVcforturbopack-css: #73172 - Revert change to ReactRefreshRequire test: #73186
- chore(CI): Remove sysroot override for macos arm64: #73188
- docs: Improve Accuracy and Type Safety on Data Fetching Examples: #73122
- docs: eslint flat config: #73167
- perf(turbopack): Use
ResolvedVcforturbopack-core: #73065 - perf(turbopack): Use
ResolvedVcforturbopack,turbopack-tests,turbopack-wasm: #73196 - perf(turbopack): Use
ResolvedVcforturbopack-nodejs: #73200 - perf(turbopack): Use
ResolvedVcforturbopack-env: #73202 - Getting Started Docs: Add new "Layouts and Pages" page: #73049
- Docs:
forbiddenandunauthorizednits: #73213 - Turbopack: make client references actual references: #73174
- Docs: Update
turbopackAPI Reference: #73215 - Update authentication docs to use useActionState: #72503
- Don't hoist a server function if a compile error was emitted: #73189
- Forbid
superin static class methods with server function directives: #73061 - port turbopack-node to ResolvedVc: #73082
- port turbopack-static to ResolvedVc: #73084
- perf(turbopack): Use
ResolvedVcfornext-api, part 1: #73234 - Pin undici in tests: #73263
- Turbopack: use try_join instead of future::try_join_all: #73261
- docs(server-actions): add missing formData type: #73257
- perf(turbopack): Use
ResolvedVcfornext-api, part 2: #73235 - docs: update static-tweet to react-tweet: #73253
- docs(fetching):
paramstoawait params: #73254 - convert let keyword to const keyword to data fetching and caching example: #73251
- [Turbopack] instead of depending on all env vars, track them via Proxy in webpack loaders: #73112
- docs: update the demo link of kontent.ai: #73250
- Docs: Fix headings in
Layouts and Pages: #73268 - remove ResolvedVc from trait functions: #73270
- perf(turbopack): Use
ResolvedVcfornext-api, part 3: #73236 - [Turbopack] Revert "refactor filesystem writes to an effect based system": #73287
- Devlow: exit with non-zero code on failure: #73276
- perf(turbopack): Use
ResolvedVcfornext-api, part 4: #73237 - perf(turbopack): Use
ResolvedVcforturbopack-browser: #73198 - perf(turbopack): Use
ResolvedVcfornext-core: #73177 - perf(turbopack): Use
ResolvedVcfornext-api, part 5: #73238 - test: reduce number of rendering loop causing flakiness: #73277
- Turbopack build: Fix css-minify test: #72990
- chore(turbo-tasks): Add a lint for
Vc<T>in turbo-tasks types: #73298 - docs: add await before headers() and cookies() calls: #73315
- port turbopack-ecmascript to ResolvedVc: #73226
- test: fix canary test with 18.3.1: #73327
- Pin version of
nwsapi(revert later): #73351 - fix Turbopack devlow bench: #73278
- Revert "Pin version of
nwsapi(revert later)": #73353 - [Turbopack] Performance improvements for Persistent Caching: #73265
- refactor(turbopack): Use
ResolvedVc<T>for struct fields innext-core: #73310 - refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbopack-ecmascript: #73302 - refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbopack-css: #73300 - refactor(turbopack): Use
ResolvedVc<T>for struct fields innext-api, part 1: #73366 - docs: add missing
defaultto page component examples: #73233 - Documentation Fix: Typo and URL Correction: #73397
- [Turbopack] Custom persistence layer: #73029
- chore(cna): add .pnpm-debug.log* to all cna gitignore: #73446
- cna: update
.gitignoreto ignore all.envfiles: #73415 - chore(turbo-tasks): improve ast-grep lint time: #73440
- [Turbopack] fix mmap advise on windows: #73462
- Getting Started docs: Images and Fonts: #73340
- Add mention of changing debugWithEdge to debugWithChrome.: #73409
- docs: Add note about remove of the
swcMinifyflag: #73281 - docs(typo): fix typos in
file conventions,functions, anderrors: #73376 - add more ResolvedVc best-practices lints: #73331
- docs: sort and update CMS examples: #73295
- Allow passing a nonce to google tag manager related script: #73370
- Getting Started Docs: CSS: #73341
- Getting Started docs: Fetching and Streaming: #73352
- Getting Started Docs:
Images and Fontsfeedback: #73470 - prevent accidentally re-creating ResolvedVc via deref by using a deprecated fn: #73428
- refactor(turbopack): Disable tree shaking by default: #73421
- [Turbopack] fix race condition in database compaction: #73495
- fix unnecessary to_resolved calls in test cases: #73501
- [Turbopack] small minor performance improvements for dirtyness tracking and scheduling: #73494
- turbopack-cli: Use correct fs and env for builds: #73487
- fix some trivial cases of to_resolved being used in a loop: #73435
- refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbopack-core: #73301 - refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbo-tasks: #73371 - refactor(turbopack): Use
ResolvedVc<T>for trivial struct fields: #73372 - test: Enable tree shaking tests: #73541
- [Turbopack] fix incorrect task access for Persistent Caching: #73549
- [Turbopack] more debugging options for Persistent Cache: #73550
- sync-react: Add affordance to stop syncing Pages Router: #73533
- Remove unused React 17 install: #73534
- create-next-app: Use stable React 19 types: #73569
- Fix PostCSS dependency message handling: #73529
- docs: update the outdated generate sitemaps doc with versioned changes: #73547
- [Turbopack] add telemetry for persistent caching usage: #73554
- docs: fix forbidden file paths: #73575
- docs(composition-patterns): add missing React.ReactNode type in layout.tsx example: #73577
- test: replace
checktoretryin hmr.test.ts: #73590 - chore(docs): mention uses for
unoptimized: #73604 - test: fix next-sass test: #73633
- refactor(turbopack): Use
ResolvedVc<T>for struct fields in extra crates: #73451 - refactor(turbopack): Use
ResolvedVc<T>for struct fields innext-api, final part: #73367 - docs: Fix image component API reference parsing: #73658
- docs: fix code block language in images-and-fonts docs: #73492
- fix(turbopack): Fix deprecation warnings from unnecessary
.to_resolved()calls: #73631 - [Turbopack] replace EnvLayer with a faster filter: #73614
- [Turbopack] fix invalid source maps on HMR: #72328
- [Turbopack] include task name in dirty cause of output change: #72574
- 15.1 docs: React 19: #73510
- Docs: Add
canarypage to upgrade guides: #73518 - [Turbopack] change emit collectible to require ResolvedVc: #73684
- Fix failing tests: #73707
- test: move HMR Full Reload test to a separate file: #73591
- test: change
with-next-sasstowith-sass: #73670 - test: move HMR main test to a separate file: #73611
- [Turbopack] Introduce OperationVc that wraps operations: #70242
- chore(github): update stale issue periods: #73709
- test: update
turbopack-dev-examples-manifest: #73230 - [Turbopack] use thread local trace collecting: #73615
- Skip
build_and_deployon docs-only changes: #73659 - 15.1 docs: request APIs in
after: #73692 - [Turbopack] fix lmdb feature: #73728
- [Turbopack] cleanup and documentation: #73496
- Turbopack: Single-graph-traversal and migrate next/dynamic: #73222
- Docs: Getting Started Nits: #73596
- 15.1 docs: Add experimental tags to
forbiddenandunauthorizedAPIs: #73513 - 15.1 docs: stable
after: #73038 - Turbopack: migrate server actions to single-graph-traversal: #73260
- re-enable middleware deploy tests: #73744
- docs(turbopack): Better document the Vc type, with references to ResolvedVc and VcOperation: #72524
- test: fix type error in segment-cache-basic test: #73755
Credits
Huge thanks to @sokra, @molebox, @delbaoliveira, @eps1lon, @wbinnssmith, @JamBalaya56562, @hyungjikim, @adrian-faustino, @mottox2, @lubieowoce, @bgw, @mknichel, @wyattjoh, @huozhi, @kdy1, @mischnic, @ijjk, @icyJoseph, @acdlite, @unstubbable, @gaojude, @devjiwonchoi, @cena-ko, @lforst, @devpla, @samcx, @styfle, @ztanner, @Marukome0743, @timneutkens, @JeremieDoctrine, @ductnn, @karlhorky, @reynaldichernando, @chogyejin, @y-yagi, @philparzer, @alfawal, @Rhynden, @arlyon, @MJez29, @Goodosky, @themattmayfield, @tobySolutions, @kevinmitch14, @leerob, @emmanuelgautier, @mrhrifat, @lid0a, @boar-is, @nisabmohd, @PapatMayuri, @ovogmap, @Reflex2468, @LioRael, @betterthanhajin, @HerringtonDarkholme, @bpb54321, @ahmoin, @Kikobeats, @abdelrahmanAbouelkheir, @lumirlumir, @yeeed711, @petter, and @suu3 for helping!
Please see the Next.js Security Update for information about this security patch.
Please see CVE-2025-66478 for additional details about this release.
[!NOTE]
This release is backporting changes. It does not include all pending features/changes on canary.
Core Changes
- Use React 19 stable in Pages Router: https://github.com/vercel/next.js/pull/73564
Credits
Huge thanks to @eps1lon
Core Changes
- [Segment Cache] Skip dynamic request if possible: #73540
Misc Changes
- docs(turbopack): Better document the Vc type, with references to ResolvedVc and VcOperation: #72524
- test: fix type error in segment-cache-basic test: #73755
Credits
Huge thanks to @acdlite, @bgw, and @huozhi for helping!
Core Changes
- fix:
warnOnce()lru: #73742 - [Segment Cache] Respond with 204 on cache miss: #73649
Misc Changes
- re-enable middleware deploy tests: #73744
Credits
Huge thanks to @styfle, @acdlite, and @ztanner for helping!
Core Changes
- fixes webpack persistent caching in development and add test case for persistent caching: #73697
- fix: empty generateStaticParams should still create an ISR route: #73358
- Limit the number of concurrently open file watchers on macos: #73741
Example Changes
- updated with-ionic-typescript example to utilize the App Router.: #73418
- examples: update
with-styletronREADME.md: #73411 - examples: update
with-babel-macrosREADME.md: #73410 - examples: update
with-plausibleREADME: #73305 - examples: unify related CMS examples in README: #73247
- examples: fix view source pathname at
image-legacy-component: #73414 - examples: remove
with-styled-components-babel: #73229 - examples: replaced GTM component with GA in Google Analytics example: #73597
- examples: introduce LaunchPad in strapi: #73244
- examples: remove
with-storybook-styled-jsx-scss: #73228
Misc Changes
- chore(github): update stale issue periods: #73709
- test: update
turbopack-dev-examples-manifest: #73230 - [Turbopack] use thread local trace collecting: #73615
- Skip
build_and_deployon docs-only changes: #73659 - 15.1 docs: request APIs in
after: #73692 - [Turbopack] fix lmdb feature: #73728
- [Turbopack] cleanup and documentation: #73496
- Turbopack: Single-graph-traversal and migrate next/dynamic: #73222
- Docs: Getting Started Nits: #73596
- 15.1 docs: Add experimental tags to
forbiddenandunauthorizedAPIs: #73513 - 15.1 docs: stable
after: #73038 - Turbopack: migrate server actions to single-graph-traversal: #73260
Credits
Huge thanks to @samcx, @PapatMayuri, @JamBalaya56562, @suu3, @sokra, @eps1lon, @delbaoliveira, @mischnic, and @ztanner for helping!
Core Changes
- fix: Update @swc/helpers: #73666
- Upgrade React from
1c9b1387-20241204to7283a213-20241206: #73608 - next-codemod(upgrade): handle absence of scripts in package.json: #73688
- Add inlineCss trade-offs/gotchas and remove canary check: #73609
- Ignore-list stack frames in node_modules even if not explicitly ignore-listed by their sourcemaps: #73689
- Remove ignore for anonymous stack frame: #73610
- test: move HMR Error Recovery test to a separate file: #73592
- test: move HMR basic test to a separate file: #73612
Example Changes
- examples: remove
next-env.d.tsfiles: #73673 - examples: update
with-sassREADME.md: #73668 - examples: remove
next-offlineexample: #73675 - examples: remove the old files from
with-postgres: #73587 - examples: remove
with-emotion-*directories: #73674
Misc Changes
- fix(turbopack): Fix deprecation warnings from unnecessary
.to_resolved()calls: #73631 - [Turbopack] replace EnvLayer with a faster filter: #73614
- [Turbopack] fix invalid source maps on HMR: #72328
- [Turbopack] include task name in dirty cause of output change: #72574
- 15.1 docs: React 19: #73510
- Docs: Add
canarypage to upgrade guides: #73518 - [Turbopack] change emit collectible to require ResolvedVc: #73684
- Fix failing tests: #73707
- test: move HMR Full Reload test to a separate file: #73591
- test: change
with-next-sasstowith-sass: #73670 - test: move HMR main test to a separate file: #73611
- [Turbopack] Introduce OperationVc that wraps operations: #70242
Credits
Huge thanks to @kdy1, @JamBalaya56562, @bgw, @sokra, @delbaoliveira, @petter, @gaojude, @eps1lon, @huozhi, and @devjiwonchoi for helping!
Misc Changes
- refactor(turbopack): Use
ResolvedVc<T>for struct fields in extra crates: #73451 - refactor(turbopack): Use
ResolvedVc<T>for struct fields innext-api, final part: #73367 - docs: Fix image component API reference parsing: #73658
- docs: fix code block language in images-and-fonts docs: #73492
Credits
Huge thanks to @kdy1, @eps1lon, and @JamBalaya56562 for helping!
Misc Changes
- test: fix next-sass test: #73633
Credits
Huge thanks to @samcx for helping!
Core Changes
- Use consistent error formatting in terminal: #71909
- [Segment Cache] Interception routes: #73434
- Upgrade to typescript 5.7: #73594
- [Segment Cache] Use LRU to manage cache data : #73486
- [Segment Cache] Add isPartial to segment prefetch : #73528
- Fix missing client reference manifest error when using route groups: #73606
- feat(after): stabilize
unstable_after: #73605 - [Segment Cache] Add isHeadPartial: #73530
- fix: do not add suffix for sitemap under group routes: #73570
- Dynamic IO: Improve error handling: #73607
Example Changes
- Bump
examples/**Eslint to v9: #73560 - Update with next sass example: #73548
Misc Changes
- Fix PostCSS dependency message handling: #73529
- docs: update the outdated generate sitemaps doc with versioned changes: #73547
- [Turbopack] add telemetry for persistent caching usage: #73554
- docs: fix forbidden file paths: #73575
- docs(composition-patterns): add missing React.ReactNode type in layout.tsx example: #73577
- test: replace
checktoretryin hmr.test.ts: #73590 - chore(docs): mention uses for
unoptimized: #73604
Credits
Huge thanks to @devjiwonchoi, @mischnic, @huozhi, @eps1lon, @sokra, @ztanner, @yeeed711, @acdlite, @unstubbable, @lubieowoce, @PapatMayuri, and @styfle for helping!
Core Changes
- Upgrade React from
de68d2f4-20241204to1c9b1387-20241204: #73565
Core Changes
- Use stable
@types/react: #73563 - Cache the bound args encryption result for inline server functions: #73521
- chore: remove non-existent hash fragments from URLs: #73165
- next-upgrade: Ensure highest versions are used not latest: #73566
Misc Changes
- create-next-app: Use stable React 19 types: #73569
Credits
Huge thanks to @eps1lon, @unstubbable, and @lumirlumir for helping!
Core Changes
- fix(after): improve error message if promise arg rejects: #73524
- feat: added compression to resume data cache using deflate: #73227
- Use React 19 stable in Pages Router: #73562
Misc Changes
- [Turbopack] more debugging options for Persistent Cache: #73550
- sync-react: Add affordance to stop syncing Pages Router: #73533
- Remove unused React 17 install: #73534
Credits
Huge thanks to @sokra, @lubieowoce, @eps1lon, and @wyattjoh for helping!
Example Changes
- examples: move Postgres example: #73531
Misc Changes
- turbopack-cli: Use correct fs and env for builds: #73487
- fix some trivial cases of to_resolved being used in a loop: #73435
- refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbopack-core: #73301 - refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbo-tasks: #73371 - refactor(turbopack): Use
ResolvedVc<T>for trivial struct fields: #73372 - test: Enable tree shaking tests: #73541
- [Turbopack] fix incorrect task access for Persistent Caching: #73549
Credits
Huge thanks to @wbinnssmith, @leerob, @arlyon, @kdy1, and @sokra for helping!
Core Changes
- Upgrade React from
1b1283ad-20241203tode68d2f4-20241204: #73525
Core Changes
- fix: fixed dedupe response cloning: #73274
Credits
Huge thanks to @wyattjoh for helping!
Core Changes
- Fix missing error message in terminal for bound args serialization error: #73508
- fix: memory leak from
warnOnce(): #73483 - Upgrade React from
b01722d5-20241114to1b1283ad-20241203: #73506 - Fix: Importing an ESM file from next/dist/client/.js fails: #73485
Misc Changes
- [Turbopack] small minor performance improvements for dirtyness tracking and scheduling: #73494
Credits
Huge thanks to @unstubbable, @styfle, and @sokra for helping!
Core Changes
- Ensure Issue Overlay sourcemaps externals in Turbopack: #73439
Misc Changes
- prevent accidentally re-creating ResolvedVc via deref by using a deprecated fn: #73428
- refactor(turbopack): Disable tree shaking by default: #73421
- [Turbopack] fix race condition in database compaction: #73495
- fix unnecessary to_resolved calls in test cases: #73501
Credits
Huge thanks to @arlyon, @kdy1, @sokra, and @eps1lon for helping!
Core Changes
- fix: running cleanup before server is initialized: #73476
- [edge-runtime] drop node16: #73432
- feat(after): allow request APIs in after (actions/handlers): #73345
- Sourcemap errors logged in Edge runtime: #73438
- refactor: rename ALS instances to prevent bad auto imports: #73480
- Show a proper error if a server function's bound args cannot be serialized: #73471
- remove unnecessary internal middleware header from response: #73482
Example Changes
- examples: remove
app-dirini18n-routingdirectory name: #73453
Misc Changes
- docs: Add note about remove of the
swcMinifyflag: #73281 - docs(typo): fix typos in
file conventions,functions, anderrors: #73376 - add more ResolvedVc best-practices lints: #73331
- docs: sort and update CMS examples: #73295
- Allow passing a nonce to google tag manager related script: #73370
- Getting Started Docs: CSS: #73341
- Getting Started docs: Fetching and Streaming: #73352
- Getting Started Docs:
Images and Fontsfeedback: #73470
Credits
Huge thanks to @icyJoseph, @ahmoin, @arlyon, @JamBalaya56562, @lubieowoce, @Kikobeats, @eps1lon, @abdelrahmanAbouelkheir, @delbaoliveira, @unstubbable, and @ztanner for helping!
Core Changes
- refactor(after): remove unnecessary conditionals: #73447
- Bump
@swc/coreto 1.9.3: #73420 - remove usage of "@vercel/request-context": #71383
- Add ensure-page span for development tracing: #73346
- chore(image-optimizer): cleanup unused code paths, refactor opts: #73373
Example Changes
- chore(examples): update api-routes-cors: #73408
- chore: release turbopack npm packages: #73443
- updating with-linaria example to utilize the App Router.: #73419
- updated with-polyfills example to utilize the App Router.: #73425
Misc Changes
- chore(cna): add .pnpm-debug.log* to all cna gitignore: #73446
- cna: update
.gitignoreto ignore all.envfiles: #73415 - chore(turbo-tasks): improve ast-grep lint time: #73440
- [Turbopack] fix mmap advise on windows: #73462
- Getting Started docs: Images and Fonts: #73340
- Add mention of changing debugWithEdge to debugWithChrome.: #73409
- [Turbopack] Persistent Caching fixups: #73423
- docs: Fix codeblock switcher: #73436
- docs: add missing punctuation in
developing-using-local-app.md: #73163 - Update max tag items limit in docs: #73444
- Retire replay-io: #73282
Credits
Huge thanks to @samcx, @lubieowoce, @JamBalaya56562, @HerringtonDarkholme, @sokra, @wbinnssmith, @eps1lon, @delbaoliveira, @sokra, @leerob, @timneutkens, @lumirlumir, @styfle, @ijjk, @gaojude, @PapatMayuri and @bpb54321 for helping!
Example Changes
- updated with-context-api example to utilize the App Router.: #73316
- updated with-mqtt-js example to utilize the App Router.: #73303
Misc Changes
- docs: add missing
defaultto page component examples: #73233 - Documentation Fix: Typo and URL Correction: #73397
- [Turbopack] Custom persistence layer: #73029
Credits
Huge thanks to @PapatMayuri, @devpla, @betterthanhajin, and @sokra for helping!
Misc Changes
- refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbopack-ecmascript: #73302 - refactor(turbopack): Use
ResolvedVc<T>for struct fields inturbopack-css: #73300 - refactor(turbopack): Use
ResolvedVc<T>for struct fields innext-api, part 1: #73366
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- fix(after): allow reading draftMode status in after: #73324
- [Turbopack] reland refactor filesystem writes to an effect based system: #73294
- fix(pages): dynamic css missing style after client navigation: #72959
- Make
notFound()work in"use cache"page: #73210
Example Changes
- updated with-cssed example to utilize the app router.: #73348
- updated with-babel-macros example to utilize the app router.: #73347
- updated image-legacy-component example to utilize the app router.: #73344
- updated with-styletron example to utilize the app router.: #73252
Misc Changes
- Pin version of
nwsapi(revert later): #73351 - fix Turbopack devlow bench: #73278
- Revert "Pin version of
nwsapi(revert later)": #73353 - [Turbopack] Performance improvements for Persistent Caching: #73265
- refactor(turbopack): Use
ResolvedVc<T>for struct fields innext-core: #73310
Credits
Huge thanks to @lubieowoce, @unstubbable, @sokra, @devjiwonchoi, @PapatMayuri, and @kdy1 for helping!
Core Changes
- rename cssChunkPlugin experimental options: #73291
- Replace the group frames with button for ignored frames: #72964
- handle pages router ignored frames: #73280
- fix(after): no request APIs in force-static: #73321
Example Changes
- updated with-react-foundation example to utilize the App router.: #73243
- updated with-plausible example to utilize the app router.: #73255
Misc Changes
- perf(turbopack): Use
ResolvedVcfornext-api, part 4: #73237 - perf(turbopack): Use
ResolvedVcforturbopack-browser: #73198 - perf(turbopack): Use
ResolvedVcfornext-core: #73177 - perf(turbopack): Use
ResolvedVcfornext-api, part 5: #73238 - test: reduce number of rendering loop causing flakiness: #73277
- Turbopack build: Fix css-minify test: #72990
- chore(turbo-tasks): Add a lint for
Vc<T>in turbo-tasks types: #73298 - docs: add await before headers() and cookies() calls: #73315
- port turbopack-ecmascript to ResolvedVc: #73226
- test: fix canary test with 18.3.1: #73327
Credits
Huge thanks to @ztanner, @PapatMayuri, @kdy1, @devjiwonchoi, @timneutkens, @huozhi, @LioRael, @arlyon, and @lubieowoce for helping!
Core Changes
- feat(after): unflag unstable_after internals: #73190
- feat(after): allow using unstable_after in generateStaticParams: #73217
- Error on navigation API usage in pages router and middleware: #73100
- Undeprecate revalidate APIs and rename expire APIs: #73193
- Revert "codemod: replace
revalidate(Tag|Path)toexpire(Tag|Path)": #73269 - feat(after): wait for after-callbacks before server shutdown: #72590
- Fixed interception on a catch-all route: #72902
- add option to disable experimental CssChunkingPlugin: #73286
Misc Changes
- port turbopack-node to ResolvedVc: #73082
- port turbopack-static to ResolvedVc: #73084
- perf(turbopack): Use
ResolvedVcfornext-api, part 1: #73234 - Pin undici in tests: #73263
- Turbopack: use try_join instead of future::try_join_all: #73261
- docs(server-actions): add missing formData type: #73257
- perf(turbopack): Use
ResolvedVcfornext-api, part 2: #73235 - docs: update static-tweet to react-tweet: #73253
- docs(fetching):
paramstoawait params: #73254 - convert let keyword to const keyword to data fetching and caching example: #73251
- [Turbopack] instead of depending on all env vars, track them via Proxy in webpack loaders: #73112
- docs: update the demo link of kontent.ai: #73250
- Docs: Fix headings in
Layouts and Pages: #73268 - remove ResolvedVc from trait functions: #73270
- perf(turbopack): Use
ResolvedVcfornext-api, part 3: #73236 - [Turbopack] Revert "refactor filesystem writes to an effect based system": #73287
- Devlow: exit with non-zero code on failure: #73276
Credits
Huge thanks to @arlyon, @lubieowoce, @kdy1, @mischnic, @huozhi, @ijjk, @devpla, @JamBalaya56562, @devjiwonchoi, @ovogmap, @sokra, @delbaoliveira, @Reflex2468, @ztanner, and @wbinnssmith for helping!
Core Changes
- Do not inline CSS in RSC payload for dynamic client nav: #73182
- fix(next/image): dpl query string should only be used for local images, not remote images: #73184
Example Changes
- (example) using
awaitparams when dynamic routing: #72896 - Updated the example of with-styled-jsx-scss to utilize the App Router.: #70567
- Updated the example of with-styled-jsx-plugins to utilize the App Router: #70663
- Updated the example of with-unstated to utilize the App Router.: #73211
Misc Changes
- docs: Improve Accuracy and Type Safety on Data Fetching Examples: #73122
- docs: eslint flat config: #73167
- perf(turbopack): Use
ResolvedVcforturbopack-core: #73065 - perf(turbopack): Use
ResolvedVcforturbopack,turbopack-tests,turbopack-wasm: #73196 - perf(turbopack): Use
ResolvedVcforturbopack-nodejs: #73200 - perf(turbopack): Use
ResolvedVcforturbopack-env: #73202 - Getting Started Docs: Add new "Layouts and Pages" page: #73049
- Docs:
forbiddenandunauthorizednits: #73213 - Turbopack: make client references actual references: #73174
- Docs: Update
turbopackAPI Reference: #73215 - Update authentication docs to use useActionState: #72503
- Don't hoist a server function if a compile error was emitted: #73189
- Forbid
superin static class methods with server function directives: #73061
Credits
Huge thanks to @hyungjikim, @gaojude, @styfle, @devjiwonchoi, @kdy1, @delbaoliveira, @mischnic, @nisabmohd, @unstubbable, and @PapatMayuri for helping!
Core Changes
- Reenable otel test for Turbopack: #73093
- Omit unnecessary cache wrapper import: #73160
- Increase max cache tags to 128: #73124
Misc Changes
- port turbopack-swc-utils to ResolvedVc: #73086
- port turbopack-mdx to use ResolvedVc: #73080
- feat: Update
lightningcsstov1.0.0-alpha.61: #73161 - port turbopack-resolve to ResolvedVc: #73083
- move turbopack-image to ResolvedVc: #73079
- Turbopack: more tracing spans: #73010
- Handle server function directives in class methods: #73060
- 15.1 docs:
forbidden,unauthorized, andauthInterrupts: #73039 - Enable another Turbopack build test: #73166
- CNA: replace
.eslintrc.jsonwitheslint.config.mjs: #73162 - Turbopack: don't compute all paths for builds: #73036
- perf(turbopack): Use
ResolvedVcforturbopack-css: #73172 - Revert change to ReactRefreshRequire test: #73186
- chore(CI): Remove sysroot override for macos arm64: #73188
Credits
Huge thanks to @arlyon, @kdy1, @mischnic, @unstubbable, @delbaoliveira, @devjiwonchoi, @ijjk, @gaojude, and @bgw for helping!
Core Changes
- Reapply "ensure webpack worker exits bubble to parent process (#72921)": #73138
- Upgrade React from 380f5d67-20241113 to b01722d5-20241114: #73107
- Implement metadata types support for
exactOptionalPropertyTypes: #72936
Credits
Huge thanks to @ztanner, @eps1lon, and @boar-is for helping!
Core Changes
- Current behavior for fallbacks with async metadata and prefetching: #73106
- Revert "ensure webpack worker exits bubble to parent process (#72921)": #73136
Credits
Huge thanks to @eps1lon and @ztanner for helping!
Core Changes
- (E2E) Log which config file is used for
next start: #73105 - Remove extra space in envionment log: #73108
- remove inheritance from NextCustomServer: #73005
- Align navigation digest with message: #73074
- refactor: move redirect helpers into separate module: #73118
- Update font data: #73115
Misc Changes
- docs: fix static params as promise examples: #72553
- fix: missing await, missing type Promise: #73088
- Disallow multiple server directives at the same level (file or function): #73018
- Docs: Add canary tags to
expirePathandexpireTag: #73096 - docs: update pages automatic static optimization rendering page: #72545
- docs(authentication): fix typescript code example: #72533
- docs: add details on React Compiler annotations with
"use memo": #73053 - docs: fix code block language on redirecting docs: #73073
- docs(routing): update params type to be async (v15): #73111
- docs: clarify Switching to Dynamic Rendering section: #73113
- Method/function props of exported objects are not server functions: #73058
- Forbid
thisandargumentsin server functions: #73059
Credits
Huge thanks to @gaojude, @ijjk, @emmanuelgautier, @hyungjikim, @unstubbable, @delbaoliveira, @mrhrifat, @lid0a, @leerob, @lubieowoce, @JamBalaya56562, @samcx, and @huozhi for helping!
Core Changes
- chore: rename modules for better meaning and searching: #73067
- fix(next/image): reduce avif sharp effort from 4 to 3 for faster encoding: #73030
Misc Changes
- docs(next-config): add experimental inline css docs: #73070
- docs: update tags when upgrading from 13 to 14: #73071
Credits
Huge thanks to @samcx, @huozhi, and @styfle for helping!
Core Changes
- create forked impl for Link component: #73019
- remove unnecessary handling in forked Link components: #73020
- Pass down ignored field to error overlay: #72925
- remove locale from app link: #73052
- fix: server action redirects between multiple root layouts: #73063
- Add forbidden and unauthorized APIs: #72785
Misc Changes
- docs: missing
awaitwhen using params: #73044 - docs: incorrect
params.id: #73045 - Remove hardcoded timeouts in Redbox test helpers: #73000
- perf(turbopack): Enable merging of export fragments: #72813
- Turbopack build: Add bench for Turbopack cache: #73040
- 🍪 Understanding Cookie Behavior in Server Components: #73001
- docs: add Fleek's Next.js template: #72988
- docs(fetch): clarify default fetch behavior: #72982
- docs: update staleTimes.mdx: #72967
- docs:
Redirectingfix route handler path: #72617 - Rename
waitForAndOpenRuntimeErrortoopenRedbox: #72996 - Revert "docs: add Fleek's Next.js template": #73054
- fix benchmark directory: #73057
- hmr-test waits for compile signal: #73064
Credits
Huge thanks to @hyungjikim, @eps1lon, @kdy1, @ztanner, @timneutkens, @huozhi, @themattmayfield, @tobySolutions, @samcx, @kevinmitch14, @leerob, @sokra, and @gaojude for helping!
Core Changes
- Display where the env was loaded from when enabled
typedEnv: #70951
Misc Changes
- [Turbopack] concurrent write batches and little endian encoding: #72929
- Remove unused
retryaroundbrowser.eval: #72999 - [Turbopack] Invalidation and Persisting fixes: #72950
Credits
Huge thanks to @sokra, @eps1lon, and @devjiwonchoi for helping!
Core Changes
- Add support for ignore-listing sources in index maps: #72913
- Turbopack: fix loading of externals on Edge: #72349
- Bump SWC used for transpiling Next.js sources: #72993
- fix: ensure HTML validity for the
next-size-adjustmeta tag: #72994 - Revert "Support custom servers with minimal node modules": #73003
- Allow CacheNode.loading to be a promise: #72872
- Properly encode dynamic access in segment prefetch: #72874
- [Segment Cache] Send during route prefetch: #72890
- fix(next/image): improve svg heuristic for unoptimized: #72970
- [Segment Cache] Initial implementation: #72875
- Turbopack: Change edge wrapper to proxy exports : #72502
- experimental: css inlining: #72195
Misc Changes
- Consolidate
FnExprandFnDeclserver function transforms: #72960 - Allow method properties to be server functions: #72969
- Include
debugscript in test directories: #72992 - docs(sitemap): remove extra 's': #73023
- chore(turbopack-core): Delete dead
all_modules_and_affecting_sourceshelper function: #73016
Credits
Huge thanks to @unstubbable, @eps1lon, @arlyon, @Goodosky, @gaojude, @acdlite, @styfle, @mischnic, @samcx, and @bgw for helping!
Core Changes
- Fix sourcemaps for internal client boundaries: #72922
- Turbopack: thread tracing through to resolve results: #72314
- Upgrade vercel og: #72954
- Turbopack NFT: trace manifests and externals: #72316
- Turbopack: NFT followups: #72517
- Support custom servers with minimal node modules: #72966
Misc Changes
- [Turbopack] fix effects tracing: #72928
- docs: fix code block language in redirecting docs: #72944
- docs: fix code block language in error pages: #72943
- docs: update "Migrate to async Dynamic APIs" docs: #72852
- Fix broken link to the
rootDirdoc: #72893 - docs: use relative urls: #72941
- docs: add the section titles to error page: #72942
- simplify vapid key generation docs: #72916
- docs: add and unify notes to error pages: #72838
- feat(turbopack): Implement module walking for side effect optimization: #71241
- docs: remove deprecated
frameborder, adjustallowFullScreenand update the demo: #72644 - docs: fix code block language: #72839
- Docs: Changing information about data fetching cache: #72301
- Turbopack: apply effects in tests: #72952
- doc: remove internal
customServerflag from custom server docs: #72962 - codemod(turbopack): Some more script-generated migrations to ResolvedVc: #72889
Credits
Huge thanks to @sokra, @JamBalaya56562, @chogyejin, @y-yagi, @philparzer, @eps1lon, @kdy1, @alfawal, @Rhynden, @mischnic, @arlyon, @huozhi, @lubieowoce, @bgw, and @MJez29 for helping!
Example Changes
- Fix Mongoose example failed build due to env variable not found: #72918
Credits
Huge thanks to @reynaldichernando for helping!
Core Changes
- refactor: generalize next route error helpers: #72774
- Ensure host is in allowed headers: #72867
- refactor: types for collected cache info in route modules: #71434
- feat(turbopack): Enable tree shaking for modules with dynamic imports: #71692
- Fix unhandled rejection in proxy-request: #72530
- chore(build): remove injecting fast refresh to custom loader logs: #72870
- ensure webpack worker exits bubble to parent process: #72921
Example Changes
- update: remove unnecessary in Dockerfile: #72534
Misc Changes
- Fix sourcemaps for async Turbopack chunks: #72827
- docs(turbopack): Document build dependency on clang for rocksdb: #72493
- Clarify how MDX plugins are supported in Turbopack: #72917
- Turbopack: Don't replace constant conditions with sideeffects: #72608
Credits
Huge thanks to @huozhi, @eps1lon, @ijjk, @lubieowoce, @bgw, @kdy1, @JeremieDoctrine, @ductnn, @karlhorky, @samcx, @mischnic, and @ztanner for helping!
Core Changes
- MDX: Only set experimental.turbo if enabled: #72856
- [Turbopack] change persistent caching option to a boolean: #72458
Credits
Huge thanks to @mischnic and @sokra for helping!
Core Changes
- Resolve mdx plugins string format: #72802
Misc Changes
- [Turbopack] refactor filesystem writes to an effect based system: #72847
Credits
Huge thanks to @sokra and @timneutkens for helping!
Core Changes
- Emit build error for unknown cache kinds: #72832
Credits
Huge thanks to @unstubbable for helping!
Misc Changes
- refactor(turbopack): Use
ResolvedVcforturbopack-ecmascript: #72564 - refactor(turbopack): Use graph for server action workaround: #72812
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- codemod: replace
revalidate(Tag|Path)toexpire(Tag|Path): #72826 - "Fix": Lift type check out of loop: #72840
- hide stack trace in CanaryOnlyError: #72859
- Allow missing CacheNodeSeedData during prefetch: #72857
- Add Segment Cache feature check to
prefetchAPI: #72861 - Extract shared fetchFromServerResponse logic to separate functions: #72865
- [Segment Cache] Implement behavior on cache miss : #72841
Misc Changes
- refactor(turbo-tasks): Simplify most type bounds on Vc
and related types: #72823 - fix(turbopack): Fix CSS Module renaming behavior for
@container: #72607 - refactor(turbopack): Cleanup tree shaking graph logic: #72836
- [Turbopack] fix hanging waiting on in progress cells: #72758
- [Turbopack] avoid writing manifests in data/rsc variant of page: #72767
- Consolidate server actions transform errors into
emit_errorfunction: #72811 - refactor(turbo-rcstr): Move turbo_tasks::RcStr into it's own crate: #72858
- Add explicit section about type overriding for v15: #72866
Credits
Huge thanks to @bgw, @kdy1, @sokra, @unstubbable, @devjiwonchoi, @acdlite, @ztanner, and @ijjk for helping!
Core Changes
- fix: not found bounary prop: #72784
- silence sass
legacy-js-apiwarning: #72632 - [Segment Prefetch] Move access token to route tree: #72775
- Add internal affordances to show ignore-listed stackframes in terminal: #72763
- chore(turbopack): Centralize reqwest TLS feature configs in turbo-tasks-fetch: #72526
- Upgrade React from
7ac8e612-20241113to380f5d67-20241113: #72819 - Shorten unsourcemapped absolute locations in terminal stacktraces: #72764
Example Changes
- use explicit resource management for sandbox: #72780
Misc Changes
- [Turbopack] implement dispose root task: #72611
- feat(turbopack): Merge single-pointer nodes in reverse direction: #72571
- test: fix hydration error on not-found test texture: #72818
- docs(turbo-tasks): Improve RcStr docs: #72825
- fix(turbopack): type error when "dynamic_embed_contents" is on: #72828
- [Turbopack] make issue ordering stable: #72751
- refactor(turbopack): Use
ResolvedVcforturbopackcrate: #72791
Credits
Huge thanks to @huozhi, @sokra, @devjiwonchoi, @gaojude, @kdy1, @acdlite, @eps1lon, @bgw, and @lubieowoce for helping!
Example Changes
- examples(with-supabase): fix action type error: #72783
Credits
Huge thanks to @samcx for helping!
Core Changes
- Re-use randomly selected dev server port for automatic restarts: #72771
- Emit build error when
"use cache"is used withoutdynamicIOenabled: #72781
Misc Changes
- docs: update file structure: #72748
- chore(cna): switch to .mjs tailwind config: #72124
- [Turbopack] fix collectibles counting and aggregation: #72609
Credits
Huge thanks to @JamBalaya56562, @sokra, and @unstubbable for helping!
Core Changes
- Bump the monorepo packages TypeScript to
5.6.3: #72625 - Bump
@capsizecss/metricsto 3.4.0 for Geist Google Font: #72746 - refactor: remove unused asNotFound property: #72585
- Remove unused
enabledconfig from server actions transforms: #72755 - Ensure Next.js is ignore-listed when used as external: #72498
- Bump
eslint-plugin-reactto 7.37.0: #72759 - upgrade amphtml-validator to 1.0.38: #72645
- fix multi-level redirect in server actions: #72770
- refactor: rename error boundary not-found to http-error-fallback: #72586
- Upgrade React from
5c56b873-20241107to7ac8e612-20241113: #72768
Example Changes
- chore(example): add example for image optimization with secure compute: #72641
- examples: update app-dir-i18n-routing to v15: #72642
- examples: polish some README.md: #72117
Misc Changes
- Re-enable fetch logging test - HMR: #72640
- [Turbopack] migrate benchmark to new backend: #72457
- test: add wait for the error page navigation: #72760
- CNA: use eslint 9: #72762
- CNA: replace geist font from local to google: #72618
- fix(turbopack): Depend on side effect from import binding: #72601
- chore: keep create-next-app messages and docs the same: #72444
- ci: flake detection should run in both bundlers: #72773
- [Turbopack] reduce nesting: #72747
Credits
Huge thanks to @gaojude, @sokra, @devjiwonchoi, @huozhi, @unstubbable, @eps1lon, @styfle, @kdy1, @ztanner, @Marukome0743, and @JamBalaya56562 for helping!
Core Changes
- chore: update
getting-started/react-essentialspath: #72250 - Fix static indicator for pure IO case: #72639
Credits
Huge thanks to @JamBalaya56562 and @ijjk for helping!
Core Changes
- Move client build ID to a global variable: #72592
- refactor(turbopack): Remove
swc_css: #72602 - Bypass source map dev middleware for client chunks: #72581
- chore: remove
rcfrom URL: #72599 - improve
no-img-elementlint error message: #72410 - Combine bound
"use cache"closure args into a single parameter: #72587 - [Turbopack] add BackendOptions and allow to disable dependencies, children and storage: #72426
- Omit unused args when calling
"use cache"functions: #72506 - Add experimental
clientSegmentCacheflag: #72626 - Add
compiler.defineoption: #71802 - Fix static indicator with dynamicIO: #72631
- Allow usage of Node.js prereleases: #72635
- improved network url in (dev) cli: #72634
Example Changes
- examples: update app-dir-i18n-routing to v15: #72636
Misc Changes
- Update
swc_coretov5.0.4fromv5.0.1: #72604 - (e2e) module-level
patchFileDelayflag: #72439 - docs: remove unstable_after from Dynamic APIs: #72595
- chore: release turbopack npm packages: #72491
- Include bound args param in server reference information byte arg mask: #72588
- [Turbopack] fix bug where task was not recomputed when stale: #72509
- CNA: prompt enable turbopack value to true: #72616
- docs(use-cache): add missing
functionto page component examples: #72620 - docs(data-fetching): fix static params as promise examples : #72565
Credits
Huge thanks to @acdlite, @kdy1, @unstubbable, @JamBalaya56562, @gaojude, @devjiwonchoi, @cena-ko, @wbinnssmith, @sokra, @lforst, @ijjk, @devpla, @eps1lon, and @samcx for helping!
Core Changes
- capture console issues as console errors: #72468
- Add expireTag and expirePath APIs: #72485
- fix: try/catch access to localStorage within __NEXT_APP_ISR_INDICATOR useEffect: #72362
Misc Changes
- Upgrade React from
66855b96-20241106to5c56b873-20241107: #72469 - fix(turbopack): Remove self-references from tree shaking results: #72567
- Turbopack: Don't run PostCSS on internal assets: #72579
Credits
Huge thanks to @huozhi, @kdy1, @mischnic, @ijjk, and @icyJoseph for helping!
Core Changes
- fix: added cache control headers for static app routes: #72521
Credits
Huge thanks to @wyattjoh for helping!
Core Changes
- Fix the path to the next/experimental/testing/server export: #72527
- Expand
server-source-mapsscenarios to cover Edge runtime: #72288 - Ensure logged errors in Edge runtime include the stack: #72394
Misc Changes
- codemod(turbopack): Replace
return Err(anyhow!())withanyhow::bail!(): #72487
Credits
Huge thanks to @bgw, @mknichel, and @eps1lon for helping!
Core Changes
- fix: decrypt bound args before generating a cache key: #72463
Example Changes
- example: add more files to
playwright.gitignore: #72447
Misc Changes
- [Docs]: Remove try catch and link to error handling docs: #72500
- [Turbopack] improve performance of the trace server: #71661
- Docs: Move
next.config.jsAPI pages under aconfigfolder, fix headings in TS and ESLint config pages: #72465 - Skip canary checks during internal development with VSCode: #72504
- Devlow snowflake backend: use milliseconds instead of seconds for event time: #72490
- [Turbopack] add TODO comment: #72510
- docs: unify the header deps by removing #: #72451
- fix: remove unnecessary fragment: #72492
- Fix grammatical error: remove unnecessary 'a' in 03-server-actions-and-mutations.mdx: #72496
- docs: fix broken link: #72169
Credits
Huge thanks to @molebox, @sokra, @delbaoliveira, @eps1lon, @wbinnssmith, @JamBalaya56562, @hyungjikim, @adrian-faustino, @mottox2, and @lubieowoce for helping!
Misc Changes
- Revert "[Turbopack] add rocksdb": #72505
Credits
Huge thanks to @sokra for helping!
Core Changes
- Read page name from work store in server module map proxy: #71669
- codemod: should not transform when param is not used: #71664
- [dynamicIO] complete refactor to prerender: #71687
- fix: metadata image route normalize path posix for windows: #71673
- next-codemod(upgrade): optional catch when missing dev script: #71598
- Avoid server action function indirection in Turbopack: #71628
- fix: exclude
basePathinfindSourceMapURL: #71719 - fix: stack frame text color in dark mode: #71656
- Fix: revert the bad node binary handling: #71723
- next-codemod: add empty
pnpm-workspace.yamlto test fixtures to bypass PNPM workspace checks: #71726 - warn on sync access if dynamicIO is not enabled: #71696
- Update React from
69d4b800-20241021to45804af1-20241021: #71718 - next-upgrade: do not add
--turbopackflag when--turboexists innext dev: #71730 - feat: stitch errors with react owner stack: #70393
- [dynamicIO] update data access error and documentation: #71738
- Test cached form action with revalidate: #71591
- Upgrade React from
45804af1-20241021to28668d39-20241023: #71745 - Fix race condition when setting client reference manifests: #71741
- Fix fetch with no-store inside of use cache: #71754
- Remove the bottom collapse button in dev overlay: #71658
- [dynamicIO] unify cache filling and lazy-module warming: #71749
- Don't filter out
source location frames through RSC: #71752 - fix undefined default export error msg: #71762
- Upgrade React from
28668d39-20241023to1631855f-20241023: #71769 - Enable owner stack in experimental build: #71716
- feat: add experiment for sharpjs cpu flags: #71733
- fix: handle server component replay error in error overlay: #71772
- Don't error asking for prebuilt bundles: #71778
- Replace
turbopack://[project]/...sourcemap uris withfile://...in development: #71489 - misc: update source map paths for bundled Next.js runtime: #71779
- [dynamicIO] refine error message and docs: #71781
- next-upgrade: change
--turboto--turbopackif applicable: #71737 - Show all diff when uncollapse: #71792
- Sourcemap errors in terminal by default : #71444
- Fully enable custom error callbacks for app router: #71794
- Simplify Server Action Webpack plugin: #71721
- ensure DIO development segment errors are cleared after correcting: #71811
- Include sourceframe in errors logged in the terminal during development: #71803
- [dynamicIO] update prerender cache scoping and cache warming for validation: #71822
- only force stack frame color in tty: #71860
- Add test for fetch with auth in use cache: #71768
- Fix race with hot-reloader-client clearing overlay errors: #71771
- Fix dynamic tracking in dev: #71867
- Revert "Sourcemap errors in terminal by default (#71444)": #71868
- Fix fetch caching inside of
"use cache": #71793 - Trace upload: only send traces for current session: #71838
- Reland "Sourcemap errors in terminal by default": #71877
- Implement information byte in Server Reference ID and other optimizations: #71463
- fix: webpack build error on Windows: #71943
- Run with
--enable-source-mapsby default innext dev: #71820 - fix global-error styles: #71914
- Use
registerClientReferencefor ESM client component modules: #71968 - Fix missing
awaitofparamswhen metadata is used with an image file: #71871 - Upgrade React from
1631855f-20241023to02c0e824-20241028: #71979 - Populate sourcemap
ignoreListwhen Webpack is used: #71821 - [dynamicIO] unify server and client prerender for non-ppr pathway: #71764
- codemod: add separator to the parenthenese expr: #71993
- Respect sourcemap's ignore list when printing errors in the terminal: #71908
- fix console color to be compatible in chrome devtools: #71939
- Delete obsolete codemod
next-dynamic-access-named-export: #72016 - fix: log the error instance modified extra location info: #71930
- Compare error stack to dedupe error: #71798
Example Changes
- experimental.instrumentationHook is not necessary anymore: #71808
- Add Jude to nextjs team: #71936
Misc Changes
- docs: fix broken link in Architecture/Turbopack documentation: #71412
- test: migrate rest async api usage in tests: #71663
- fix: docs for dynamic routing in next 15: #71531
- Remove the 'new' keyword from the GET function sample code.: #71671
- chore: fix wrong path of comments: #71682
- docs(next-config): remove mention of appIsrStatus is on canary: #71695
- react-sync: Ignore update notices from npm: #71717
- Docs: Update default marker for fetch cache option: #71728
- [docs] Fix page.tsx parameter types: #71680
- [docs] Fix table.js containing TS code: #71677
- docs(ppr): update note about ppr: #71697
- docs lint: #71748
- fixes error message asserts and lints: #71747
- Fix docs for configuring Turbopack: #71755
- docs(turbo): add experimental icon to turbo config section: #71761
- feat(turbopack): Add
__turbopack_original__while tree shaking: #71547 - test: re-enable test with note: #71789
- Docs: Remove beta marker from Turbopack docs: #71796
- Update docs 1: #71812
- docs lint fixes: #71813
- docs: remove
"use cache"on before code snippet: #71815 - Next docs broken links: #71823
- [Turbopack] add optimization based on upper count: #71606
- chore(turbo-tasks-backend): Use let instead of match for macro bindings: #71756
- chore(turbo-tasks-backend): Remove collapsible-if lints: #71758
- removing extra reference: #71853
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 3): #71665
- Update sync-dynamic-apis.mdx: #71907
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 4): #71804
- test: remove duplicated flaky test: #71967
- docs: Fix typo in cacheLife configs in use-cache docs: #71921
- Fix use cache example line highlights: #71883
- Allow breakpoints to be set in
packages/next/src/compiled: #71986 - updated upgrade to v15 command in docs: #71643
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 5): #71861
- Clarify that streaming is blocked on generateMetadata for initial load: #71985
- Docs: Add legacy tags: #71964
- Docs: Fix broken link: #72021
- (docs)
use cache: Add text code formatting: #71999 - docs: update file structure: #71951
- Documentation Fix: Correct
cacheTagFunction Usage: #71912 - correct expire calc & and Nested usage import in use-cache docs: #71899
- Docs: Address internal
use cachecomments : #71981 - Fix swc version mismatch when checking out an older version: #71978
Credits
Huge thanks to @ytori, @unstubbable, @huozhi, @SebassNoob, @tatsuteb, @Marukome0743, @gnoff, @samcx, @devjiwonchoi, @imprakharshukla, @migueldamota, @eps1lon, @ztanner, @timneutkens, @cantemizyurek, @sebmarkbage, @padmaia, @ijjk, @styfle, @wbinnssmith, @feedthejim, @kdy1, @shuding, @molebox, @ismaelrumzan, @sokra, @bgw, @timeyoutakeit, @AdonisAgelis, @chicoxyzzy, @gaojude, @elitalpa, @t3dotgg, @gaearon, @nisabmohd, @gadcam, @delbaoliveira, @bennettdams, @wiscaksono, and @Developerayo for helping!
Core Changes
- Fix a bug in the recently added unstable_getResponseFromNextConfig.: #72355
- createFromFetch -> createFromReadableStream: #72418
- Prevent client prefetch stream from closing: #72420
- Ignore error pages for cache revalidate: #72412
- [Prefetching] Fix: Read segment data from correct source: #72427
- Update font data: #72441
- feat(turbopack): Implement skipping of side effect free fragments: #71340
- feat(turbopack): Add an option to disable minification for builds: #72388
Example Changes
- chore: add
syntaxparser directive to Dockerfile: #72380
Misc Changes
- fix(font): don't break directives with inserted next/font import: #72350
- docs(output): update standalone docs with cp and start commands: #72432
- chore: release turbopack npm packages: #72372
- chore(turbopack): Update indexmap dependency from 1.x to 2.x: #72429
- chore(turbopack): Update criterion: #72431
- Docs: Vitest: Support for import aliases when using TypeScript: #72430
- Update Cloudflare Auto Minify link due to feature deprecation: #72417
- Remove the node-file-trace crate: #70998
- docs: unify the header deps by removing #: #72391
- [Turbopack] remove unneeded type annotation: #72390
- docs(route-handlers): add TS/JS
switchertoRoute Resolutionsection inRoute Handlers: #72222 - docs(parallel-routes): update 11-parallel-routes.mdx example for modal closing: #72210
- [ppr] Fixed deployment tests: #72428
- chore(turbopack): Update dashmap from 5.x to 6.x: #72433
- Getting Started Docs: Improve "Project Structure" page: #72399
- Add missing closing
</AppOnly>: #72453
Credits
Huge thanks to @emspishak, @acdlite, @huozhi, @lubieowoce, @samcx, @JamBalaya56562, @wbinnssmith, @bgw, @kdy1, @SanjoSolutions, @mayur9210, @arlyon, @sokra, @arfa123, @wyattjoh, @delbaoliveira, and @mischnic for helping!
Core Changes
- Append owner stack for captured string console error: #72115
- Update font data: #72371
- Show readable hook names in stack frames: #72340
- bugfix: revalidate + force-cache should work: #72347
- fetch cache: revalidate should take precedence over force-dynamic: #72357
- Use crypto API to generate prefetch token: #72348
- [Prefetching] Move resource hints to tree prefetch: #72367
- feat: add experimental
imgOptSequentialReadconfig: #72411 - Handle empty ESM client modules: #72404
Misc Changes
- refactor(turbopack): Use
ResolvedVc<T>instead ofVc<T>forturbopack-node: #72320 - refactor(turbopack-core): Migrate
Sourcestype (and related types) toResolvedVc: #72382 - Handle export default declaration in
debug_fn_nametransform: #72326 - [Turbopack] fix bug in the new backend that connects edges incorrectly: #72324
- [Turbopack] fix missing cell dependency: #72330
- [Turbopack] add stack traces of turbo tasks functions: #72329
- docs: fix double href typo in Link component: #72339
- docs: update
use cachewith inline links for relevant documentation: #72368 - docs: add filename to code block: #72275
- docs: change runtime value in example code: #72274
- docs: update error template.txt: #72263
- Fix code examples in error page: #72259
- docs(middleware): fix incorrect link to
PagesinMiddleware'sNextResponsesection: #72223 - Docs: Remove legacy tags from unstable_cache and unstable_noStore: #72134
- Docs: Split Getting Started between App and Pages, improve
Installationpage: #72178 - build: Update
swc_coretov5.0.1: #71683
Credits
Huge thanks to @huozhi, @kdy1, @bgw, @unstubbable, @sokra, @fadomire, @PlagueFPS, @JamBalaya56562, @molebox, @arfa123, @delbaoliveira, @ztanner, @acdlite, and @styfle for helping!
Core Changes
- [ppr] Move Resume Data Cache into Postponed State: #72284
- app build: don't merge dynamic params with query params: #72294
- Turbopack: use file:// uris for server resources in development: #71984
- bump webpack to 5.96.1: #72290
- feat(turbopack): Add an env var to debug-print the fast refresh invalidation reason: #72296
- Refactor prerender phase assignment: #72207
- [Per-Segment Prefetch] Add Route Tree prefetch: #72341
- [Per-Segment Prefetch] Parent segments must be prefetched before children: #72342
- refactor: renamed immutable and mutable as prerender and render: #72299
- Refactor prerender cookies: #72211
- Refactor: move url to app context to avoid passing requestStore : #72212
- [ppr] Stabilize Chained Prerenders: #72343
- Display the stitched error instead of react error: #72106
Example Changes
- examples:
blog-starterusedparamswithoutawait: #72327 - examples: pin react rc version for
blog-starter: #72334 - examples:
check-examples.shconsiderssrc/appas Pages Router: #72332
Misc Changes
- [Turbopack] Tracing improvements: #72323
- Note missing plugins support in mdxRs, refine: #72241
- Turbopack unhandled errors: ask for a description: #71384
- docs(typo): fix typos in
03-playwright.mdx: #72182 - Clarify serialization behavior of "use cache": #72286
- docs(typo): fix typos in
04-cypress.mdx: #72218 - Snowflake backend for devlow: #72162
- (e2e): improve app-hmr test stability: #72345
- docs: Fix typo in closing tag of sample code: #72361
Credits
Huge thanks to @sokra, @devjiwonchoi, @wyattjoh, @ztanner, @wbinnssmith, @gaojude, @karlhorky, @bgw, @gnoff, @acdlite, @lumirlumir, @gaearon, @huozhi, and @hato-poppo for helping!
Core Changes
- Strip
assetPrefixwhen resolving external source maps of client chunks: #72258 - [dynamicIO] normalize validation logic: #72145
- feat(turbopack): Use direct import for tree shaking: #71704
- fix(cli): respect SIGTERM and SIGINT exit codes in next build: #64871
- Generate per-segment prefetch responses: #72168
- fix:
next infocommand does not output the versions ofnpmyarnandpnpmcorrectly: #71134 - fix loading bailout condition & server patch mismatch tolerance: #72227
- docs: update
cookiesreference url: #72151
Example Changes
- Revert "docs: change
NextAuth.jstoAuth.js": #72257
Misc Changes
- fix(turbopack): Fix
EcmascriptModuleFacadeModule::ident(): #71338 - make failed fetch calls session dependent: #71667
- Docs: Fix css modules page in Pages docs: #72135
- perf(turbopack): Optimize read-write analysis of tree shaking: #71546
- perf(turbopack): Do not store export star in internal fragments: #71550
- Turbopack: font weight sorting feedback: #72109
- test: fix snapshots in next build and lint test: #72283
- docs(use-cache): fix typo and link: #72292
- patchFile awaits compilation: #72267
- updating information about fetch caching in the fetching docs: #72156
- docs: add missing before section name: #72277
- docs: typo file extension: #72272
Credits
Huge thanks to @kdy1, @sokra, @unstubbable, @balazsorban44, @delbaoliveira, @gnoff, @wbinnssmith, @jaysoo, @huozhi, @acdlite, @lumirlumir, @samcx, @gaojude, @RafaelAndeloci, @JamBalaya56562, and @ztanner for helping!
Core Changes
- Upgrade React from
603e6108-20241029to7c8e5e7a-20241101: #72199 - Fix
expiretime forcacheLife('seconds'): #72190
Example Changes
- docs: change
NextAuth.jstoAuth.js: #72201
Misc Changes
- docs(cacheTag): remove unused
cacheLifeimport and add missingswitcher: #72217 - docs(draft-mode): fix missing
switcherfor TS and JS codeblock: #72215 - docs(cacheLife): fix incorrect highlight and missing
switcher: #72216 - docs(server-actions-mutations): Add missing TS/JS switcher to
Passing Additional Argumentssection inServer Actions and Mutationsdocs: #72226
Credits
Huge thanks to @Juneezee, @arfa123, @JamBalaya56562, and @jonathanhefner for helping!
Core Changes
- Sync types of
NextNodeServerandBaseServer: #62694 - Clickable stack trace links in logged terminal errors: #71940
- refactor: replace withWorkStore with createWorkStore and run: #72159
@next/codemod: Usenpm viewto support NPM registry mirrors: #72123- [Testing] Export utilities to help test middleware and next.config.js routing: #70731
- perf: merge app metadata route and rsc layer: #71167
- skip seeding prefetch cache in development: #72191
Example Changes
- examples: Add .npmrc to Dockerfile to support custom npm configs: #72132
Misc Changes
- fix: use
satisfiesoperator instead of type intailwind.config.ts: #72121 - docs: fix code block extension for
cacheLife: #72171 - Document default values in cookies options: #72183
- perf(turbo-tasks): Call
.shrink_to_fit()on common collection types when constructing a cell: #72113
Credits
Huge thanks to @JamBalaya56562, @alecmev, @ytori, @eps1lon, @wyattjoh, @bartlangelaan, @karlhorky, @AliReza99, @mknichel, @bgw, @huozhi, and @ztanner for helping!
Core Changes
- Do not cache fetch calls inside
"use cache"implicitly: #72105 - Fix source mapping dev middlewares for Windows: #72139
Example Changes
- examples: change
--turboto--turbopack: #72125
Misc Changes
- feat(turbo-tasks): Implement
IntoFuturefor&mut Vcand&mut ResolvedVc: #71746 - Docs: Add canary metadata tags to new caching APIs: #72129
- Docs: Iterate on caching APIs pages, add
cacheLifefunction page: #72081 - docs: typo useFormState import statement: #72120
- docs: change
cookies()→await cookies(): #72119 - docs: add missing root directory
/to path: #72118 - Firefox Debugger instructions : #71938
- refactor(turbopack-core): Change
Modulestype to use ResolvedVc: #71945 - unbreak canary: #72146
- chore(github): add dynamicIO label to issue template: #72154
- Reduce turbo hmr e2e flakiness: #72114
- refactor(turbopack-resolve): Port all struct fields in the
turbopack-resolvecrate toturbo_tasks::ResolvedVc: #71948 - refactor(turbopack-core): Change
OutputAssetstype to use ResolvedVc: #72041 - Revert "unbreak canary (#72146)": #72157
Credits
Huge thanks to @bgw, @delbaoliveira, @JamBalaya56562, @l1n, @unstubbable, @gaojude, and @samcx for helping!
Core Changes
- fix: redundant double space in
middleware-plugin.ts: #72058 - Upgrade React from
02c0e824-20241028to603e6108-20241029: #72089 - use server component transform for segment validation: #72051
- fix: specify supported nodejs version range: #72087
- Relax the type on the has/missing type field of the middleware match config.: #72042
- fix: handle logging cicurlar object: #72078
Misc Changes
- Correct runtime capitalization: #72086
- fix: redundant double space in
http.rs: #72059 - tiny fix: heading in docs not showing correctly: #71743
- temporarily skip failing turbopack build test: #72094
- docs: change
treeshakingtotreeShakingto align with actual property name: #72083 - Fix docs for generateMetadata typescript error: #71844
- Docs/fix cookie store: #71702
- Update 05-error-handling.mdx: #71584
- fix typo in doc : #71600
- Update cookies.mdx: #71404
- Docs: fix wrong file extension: #71382
- docs(upgrading): add missing promise keyword: #71329
- docs: clarify that
unstable_afterversion is unstable: #71484 - docs: add
Oryto the list of auth libraries: #71295 - fix: Correct typo from 'errror' to 'error': #71413
- fix /app-dir/middleware-matching turbopack test failure: #72098
- test: fix redundant double spaces: #72055
- Added documentation about potential XSS in router.push: #71645
- docs: Add --inspect=0.0.0.0 to server-side debugging: #72069
Credits
Huge thanks to @lumirlumir, @Mr-Meshky, @josiahwiebe, @ztanner, @mezotv, @kyktommy, @notwatermango, @oschleic, @CNLHC, @Unsleeping, @dorianbaffier-dev, @salimabsi, @PlagueFPS, @aeneasr, @Seoheeda, @devjiwonchoi, @gaojude, @emspishak, @huozhi, @aickin, and @chrisdrifte for helping!
Core Changes
- [dynamicIO] update controller to be non-optional: #72048
- Support named pipes when loading .env files: #70725
Example Changes
- examples: replace the all
docker-compose.ymlwithcompose.yaml: #71006
Misc Changes
- Update labeler config: #72047
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 6): #71941
Credits
Huge thanks to @ijjk, @Marukome0743, @gnoff, @bgw, and @watsonian for helping!
Core Changes
- chore: update path of
basic-features: #71791 - Update documentation for experimental Playwright test mode + msw v2: #71841
- remove turbotrace from webpack codepath: #71359
- Fix relative redirect: #71932
- Expose allowHeader: #72033
- fix: uri encode dynamic routes in dev: #71588
Example Changes
- example: fix typo
_app_.tsx→_app.tsx: #71686 - chore: delete redundant blank spaces in
examples: #71239 - Fix deployment and auth links to align with Next.js App Router : #71589
- examples: rename
dbConnect.tsat comment in payload example: #71685
Misc Changes
- docs: fix broken link of new comments path: #71674
- docs: remove canary marker from
next.config.ts: #71678 - docs: change pages to app router links: #71782
- docs: fix URL for error message: #71788
- docs: rename
mdtomdxinerrorsdirectory: #71785 - docs(javascript): fix wrong javascript code in
script.mdx: #71509 - chore(workflow): typo some actions path: #71594
- docs(typo): fix typos in
webpack.mdx: #71510 - Small Typo,
paramstoawait params: #71699 - docs(javascript): add module exports and experimental metadata: #71238
- docs: add deploy templates: #71742
- docs(ppr): remove v14 PPR config description: #71592
- docs: add version metadata to optional fields in contribution-guide: #71777
Credits
Huge thanks to @Marukome0743, @lumirlumir, @ariawisp, @q1b, @arlyon, @mayur9210, @leerob, @vordgi, @wyattjoh, and @samcx for helping!
Core Changes
- Read page name from work store in server module map proxy: #71669
- codemod: should not transform when param is not used: #71664
- [dynamicIO] complete refactor to prerender: #71687
- fix: metadata image route normalize path posix for windows: #71673
- next-codemod(upgrade): optional catch when missing dev script: #71598
- Avoid server action function indirection in Turbopack: #71628
- fix: exclude
basePathinfindSourceMapURL: #71719 - fix: stack frame text color in dark mode: #71656
- Fix: revert the bad node binary handling: #71723
- next-codemod: add empty
pnpm-workspace.yamlto test fixtures to bypass PNPM workspace checks: #71726 - warn on sync access if dynamicIO is not enabled: #71696
- Update React from
69d4b800-20241021to45804af1-20241021: #71718 - next-upgrade: do not add
--turbopackflag when--turboexists innext dev: #71730 - feat: stitch errors with react owner stack: #70393
- [dynamicIO] update data access error and documentation: #71738
- Test cached form action with revalidate: #71591
- Upgrade React from
45804af1-20241021to28668d39-20241023: #71745 - Fix race condition when setting client reference manifests: #71741
- Fix fetch with no-store inside of use cache: #71754
- Remove the bottom collapse button in dev overlay: #71658
- [dynamicIO] unify cache filling and lazy-module warming: #71749
- Don't filter out
source location frames through RSC: #71752 - fix undefined default export error msg: #71762
- Upgrade React from
28668d39-20241023to1631855f-20241023: #71769 - Enable owner stack in experimental build: #71716
- feat: add experiment for sharpjs cpu flags: #71733
- fix: handle server component replay error in error overlay: #71772
- Don't error asking for prebuilt bundles: #71778
- Replace
turbopack://[project]/...sourcemap uris withfile://...in development: #71489 - misc: update source map paths for bundled Next.js runtime: #71779
- [dynamicIO] refine error message and docs: #71781
- next-upgrade: change
--turboto--turbopackif applicable: #71737 - Show all diff when uncollapse: #71792
- Sourcemap errors in terminal by default : #71444
- Fully enable custom error callbacks for app router: #71794
- Simplify Server Action Webpack plugin: #71721
- ensure DIO development segment errors are cleared after correcting: #71811
- Include sourceframe in errors logged in the terminal during development: #71803
- [dynamicIO] update prerender cache scoping and cache warming for validation: #71822
- only force stack frame color in tty: #71860
- Add test for fetch with auth in use cache: #71768
- Fix race with hot-reloader-client clearing overlay errors: #71771
- Fix dynamic tracking in dev: #71867
- Revert "Sourcemap errors in terminal by default (#71444)": #71868
- Fix fetch caching inside of
"use cache": #71793 - Trace upload: only send traces for current session: #71838
- Reland "Sourcemap errors in terminal by default": #71877
- Implement information byte in Server Reference ID and other optimizations: #71463
- fix: webpack build error on Windows: #71943
- Run with
--enable-source-mapsby default innext dev: #71820 - fix global-error styles: #71914
- Use
registerClientReferencefor ESM client component modules: #71968 - Fix missing
awaitofparamswhen metadata is used with an image file: #71871 - Upgrade React from
1631855f-20241023to02c0e824-20241028: #71979 - Populate sourcemap
ignoreListwhen Webpack is used: #71821 - [dynamicIO] unify server and client prerender for non-ppr pathway: #71764
- codemod: add separator to the parenthenese expr: #71993
- Respect sourcemap's ignore list when printing errors in the terminal: #71908
- fix console color to be compatible in chrome devtools: #71939
- Delete obsolete codemod
next-dynamic-access-named-export: #72016 - fix: log the error instance modified extra location info: #71930
- Compare error stack to dedupe error: #71798
Example Changes
- experimental.instrumentationHook is not necessary anymore: #71808
- Add Jude to nextjs team: #71936
Misc Changes
- docs: fix broken link in Architecture/Turbopack documentation: #71412
- test: migrate rest async api usage in tests: #71663
- fix: docs for dynamic routing in next 15: #71531
- Remove the 'new' keyword from the GET function sample code.: #71671
- chore: fix wrong path of comments: #71682
- docs(next-config): remove mention of appIsrStatus is on canary: #71695
- react-sync: Ignore update notices from npm: #71717
- Docs: Update default marker for fetch cache option: #71728
- [docs] Fix page.tsx parameter types: #71680
- [docs] Fix table.js containing TS code: #71677
- docs(ppr): update note about ppr: #71697
- docs lint: #71748
- fixes error message asserts and lints: #71747
- Fix docs for configuring Turbopack: #71755
- docs(turbo): add experimental icon to turbo config section: #71761
- feat(turbopack): Add
__turbopack_original__while tree shaking: #71547 - test: re-enable test with note: #71789
- Docs: Remove beta marker from Turbopack docs: #71796
- Update docs 1: #71812
- docs lint fixes: #71813
- docs: remove
"use cache"on before code snippet: #71815 - Next docs broken links: #71823
- [Turbopack] add optimization based on upper count: #71606
- chore(turbo-tasks-backend): Use let instead of match for macro bindings: #71756
- chore(turbo-tasks-backend): Remove collapsible-if lints: #71758
- removing extra reference: #71853
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 3): #71665
- Update sync-dynamic-apis.mdx: #71907
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 4): #71804
- test: remove duplicated flaky test: #71967
- docs: Fix typo in cacheLife configs in use-cache docs: #71921
- Fix use cache example line highlights: #71883
- Allow breakpoints to be set in
packages/next/src/compiled: #71986 - updated upgrade to v15 command in docs: #71643
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 5): #71861
- Clarify that streaming is blocked on generateMetadata for initial load: #71985
- Docs: Add legacy tags: #71964
- Docs: Fix broken link: #72021
- (docs)
use cache: Add text code formatting: #71999 - docs: update file structure: #71951
- Documentation Fix: Correct
cacheTagFunction Usage: #71912 - correct expire calc & and Nested usage import in use-cache docs: #71899
- Docs: Address internal
use cachecomments : #71981 - Fix swc version mismatch when checking out an older version: #71978
Credits
Huge thanks to @ytori, @unstubbable, @huozhi, @SebassNoob, @tatsuteb, @Marukome0743, @gnoff, @samcx, @devjiwonchoi, @imprakharshukla, @migueldamota, @eps1lon, @ztanner, @timneutkens, @cantemizyurek, @sebmarkbage, @padmaia, @ijjk, @styfle, @wbinnssmith, @feedthejim, @kdy1, @shuding, @molebox, @ismaelrumzan, @sokra, @bgw, @timeyoutakeit, @AdonisAgelis, @chicoxyzzy, @gaojude, @elitalpa, @t3dotgg, @gaearon, @nisabmohd, @gadcam, @delbaoliveira, @bennettdams, @wiscaksono, and @Developerayo for helping!
Core Changes
- Upgrade React from
1631855f-20241023to02c0e824-20241028: #71979 - Populate sourcemap
ignoreListwhen Webpack is used: #71821 - [dynamicIO] unify server and client prerender for non-ppr pathway: #71764
- codemod: add separator to the parenthenese expr: #71993
- Respect sourcemap's ignore list when printing errors in the terminal: #71908
- fix console color to be compatible in chrome devtools: #71939
- Delete obsolete codemod
next-dynamic-access-named-export: #72016 - fix: log the error instance modified extra location info: #71930
- Compare error stack to dedupe error: #71798
Misc Changes
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 5): #71861
- Clarify that streaming is blocked on generateMetadata for initial load: #71985
- Docs: Add legacy tags: #71964
- Docs: Fix broken link: #72021
- (docs)
use cache: Add text code formatting: #71999 - docs: update file structure: #71951
- Documentation Fix: Correct
cacheTagFunction Usage: #71912 - correct expire calc & and Nested usage import in use-cache docs: #71899
- Docs: Address internal
use cachecomments : #71981 - Fix swc version mismatch when checking out an older version: #71978
Credits
Huge thanks to @eps1lon, @bgw, @gnoff, @huozhi, @gaojude, @delbaoliveira, @unstubbable, @bennettdams, @Marukome0743, @wiscaksono, and @Developerayo for helping!
Core Changes
- Implement information byte in Server Reference ID and other optimizations: #71463
- fix: webpack build error on Windows: #71943
- Run with
--enable-source-mapsby default innext dev: #71820 - fix global-error styles: #71914
- Use
registerClientReferencefor ESM client component modules: #71968 - Fix missing
awaitofparamswhen metadata is used with an image file: #71871
Misc Changes
- test: remove duplicated flaky test: #71967
- docs: Fix typo in cacheLife configs in use-cache docs: #71921
- Fix use cache example line highlights: #71883
- Allow breakpoints to be set in
packages/next/src/compiled: #71986 - updated upgrade to v15 command in docs: #71643
Credits
Huge thanks to @shuding, @elitalpa, @eps1lon, @gaojude, @huozhi, @t3dotgg, @gaearon, @unstubbable, @nisabmohd, and @gadcam for helping!
Example Changes
- Add Jude to nextjs team: #71936
Misc Changes
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 4): #71804
Credits
Huge thanks to @gaojude and @bgw for helping!
Example Changes
- experimental.instrumentationHook is not necessary anymore: #71808
Misc Changes
- Update sync-dynamic-apis.mdx: #71907
Credits
Huge thanks to @AdonisAgelis and @chicoxyzzy for helping!
Core Changes
- only force stack frame color in tty: #71860
- Add test for fetch with auth in use cache: #71768
- Fix race with hot-reloader-client clearing overlay errors: #71771
- Fix dynamic tracking in dev: #71867
- Revert "Sourcemap errors in terminal by default (#71444)": #71868
- Fix fetch caching inside of
"use cache": #71793 - Trace upload: only send traces for current session: #71838
- Reland "Sourcemap errors in terminal by default": #71877
Misc Changes
- [Turbopack] add optimization based on upper count: #71606
- chore(turbo-tasks-backend): Use let instead of match for macro bindings: #71756
- chore(turbo-tasks-backend): Remove collapsible-if lints: #71758
- removing extra reference: #71853
- codemod(turbopack): Rewrite Vc fields in structs as ResolvedVc (part 3): #71665
Credits
Huge thanks to @sokra, @bgw, @huozhi, @timeyoutakeit, @ijjk, @ztanner, @gnoff, @eps1lon, @unstubbable, and @wbinnssmith for helping!
Core Changes
- [dynamicIO] update prerender cache scoping and cache warming for validation: #71822
Credits
Huge thanks to @gnoff for helping!
Core Changes
- ensure DIO development segment errors are cleared after correcting: #71811
- Include sourceframe in errors logged in the terminal during development: #71803
Misc Changes
- docs lint fixes: #71813
- docs: remove
"use cache"on before code snippet: #71815 - Next docs broken links: #71823
Credits
Huge thanks to @ztanner, @devjiwonchoi, @eps1lon, and @ismaelrumzan for helping!
Core Changes
- [dynamicIO] refine error message and docs: #71781
- next-upgrade: change
--turboto--turbopackif applicable: #71737 - Show all diff when uncollapse: #71792
- Sourcemap errors in terminal by default : #71444
- Fully enable custom error callbacks for app router: #71794
- Simplify Server Action Webpack plugin: #71721
Misc Changes
- feat(turbopack): Add
__turbopack_original__while tree shaking: #71547 - test: re-enable test with note: #71789
- Docs: Remove beta marker from Turbopack docs: #71796
- Update docs 1: #71812
Credits
Huge thanks to @gnoff, @kdy1, @devjiwonchoi, @huozhi, @timneutkens, @eps1lon, @shuding, and @molebox for helping!
Core Changes
- Upgrade React from
28668d39-20241023to1631855f-20241023: #71769 - Enable owner stack in experimental build: #71716
- feat: add experiment for sharpjs cpu flags: #71733
- fix: handle server component replay error in error overlay: #71772
- Don't error asking for prebuilt bundles: #71778
- Replace
turbopack://[project]/...sourcemap uris withfile://...in development: #71489 - misc: update source map paths for bundled Next.js runtime: #71779
Credits
Huge thanks to @huozhi, @styfle, @sebmarkbage, @wbinnssmith, and @feedthejim for helping!
Core Changes
- Fix fetch with no-store inside of use cache: #71754
- Remove the bottom collapse button in dev overlay: #71658
- [dynamicIO] unify cache filling and lazy-module warming: #71749
- Don't filter out
source location frames through RSC: #71752 - fix undefined default export error msg: #71762
Misc Changes
- Fix docs for configuring Turbopack: #71755
- docs(turbo): add experimental icon to turbo config section: #71761
Credits
Huge thanks to @padmaia, @ijjk, @huozhi, @gnoff, @sebmarkbage, and @samcx for helping!
Core Changes
- Update React from
69d4b800-20241021to45804af1-20241021: #71718 - next-upgrade: do not add
--turbopackflag when--turboexists innext dev: #71730 - feat: stitch errors with react owner stack: #70393
- [dynamicIO] update data access error and documentation: #71738
- Test cached form action with revalidate: #71591
- Upgrade React from
45804af1-20241021to28668d39-20241023: #71745 - Fix race condition when setting client reference manifests: #71741
Misc Changes
- Docs: Update default marker for fetch cache option: #71728
- [docs] Fix page.tsx parameter types: #71680
- [docs] Fix table.js containing TS code: #71677
- docs(ppr): update note about ppr: #71697
- docs lint: #71748
- fixes error message asserts and lints: #71747
Credits
Huge thanks to @timneutkens, @cantemizyurek, @eps1lon, @devjiwonchoi, @huozhi, @gnoff, @samcx, @sebmarkbage, @ztanner, and @unstubbable for helping!
Core Changes
- Read page name from work store in server module map proxy: #71669
- codemod: should not transform when param is not used: #71664
- [dynamicIO] complete refactor to prerender: #71687
- fix: metadata image route normalize path posix for windows: #71673
- next-codemod(upgrade): optional catch when missing dev script: #71598
- Avoid server action function indirection in Turbopack: #71628
- fix: exclude
basePathinfindSourceMapURL: #71719 - fix: stack frame text color in dark mode: #71656
- Fix: revert the bad node binary handling: #71723
- next-codemod: add empty
pnpm-workspace.yamlto test fixtures to bypass PNPM workspace checks: #71726 - warn on sync access if dynamicIO is not enabled: #71696
Misc Changes
- docs: fix broken link in Architecture/Turbopack documentation: #71412
- test: migrate rest async api usage in tests: #71663
- fix: docs for dynamic routing in next 15: #71531
- Remove the 'new' keyword from the GET function sample code.: #71671
- chore: fix wrong path of comments: #71682
- docs(next-config): remove mention of appIsrStatus is on canary: #71695
- react-sync: Ignore update notices from npm: #71717
Credits
Huge thanks to @ytori, @unstubbable, @huozhi, @SebassNoob, @tatsuteb, @Marukome0743, @gnoff, @samcx, @devjiwonchoi, @imprakharshukla, @migueldamota, @eps1lon, and @ztanner for helping!
Core Changes
- Reland "[dynamicIO] warn for disallowed dynamic in dev": #71567
- next-upgrade: prompt (un)install only when there's a change: #71308
- chore(next-codemod): remove
@next/fontfrom optional Next.js packages to install: #71563 - [dynamicIO] Avoid triggering memory leak false positive with makeHangingPromise: #71576
- Avoid triggering memory leak false positive with makeHangingPromise: #71579
- Upgrade React from
65a56d0e-20241020to69d4b800-20241021: #71568 - avoid logging stacks for internal errors: #71575
- Avoid server action
endpointfunction indirection: #71572 - fix: handle terminal color in chrome console: #71581
- [dynamicIO] Update prerender to use Fizz prerender: #71580
- misc(next-upgrade): reuse process.cwd() value: #71558
- [dynamicIO]: dev navigations should show disallowed dynamic errors: #71595
- next-lint: Use ESLint v9 by default: #71371
- fix: prevent router errors from being logged on the client: #71583
- fix: next package resolving in dev overlay: #71632
- Improve type coverage of setup-dev-bundler: #71443
- fix(turbo-tasks): Implement ValueDebugFormat for ResolvedVc: #71173
- Add --turbopack CLI flag: #71657
- [dynamicIO] detect metadata boundaries in dev using server component stacks: #71666
Example Changes
- chore: Update
with-supabaseto be compatible with Nextjs 15: #71631 - Update Sanity example to next v15: #71640
Misc Changes
- docs(ppr): remove v14 mention for ppr: #71498
- docs: fix upgrade codemod command: #71578
- Turbopack: Always use blob: URLs for assets in middleware: #71471
- fix: metadata image route Windows path escaping: #71615
- fix: third-parties package peer dependency: #71620
- Fix
module_resolution: "nodenext"withmjsorcjs: #71635 - react-sync: Automatically update peer dependencies in libraries: #71636
- chore(docs): fix typo in image.mdx docs: #71647
- docs: remove the canary note on instrumentation: #71649
- test: fix async api tests: #71652
- Enable source maps for
pnpm debug: #71653 - codemod(turbopack): Rewrite more Vc fields in structs as ResolvedVc: #71172
Credits
Huge thanks to @gnoff, @devjiwonchoi, @samcx, @ztanner, @unstubbable, @huozhi, @mischnic, @lubieowoce, @eps1lon, @ivasilov, @styfle, @bgw, @stipsan, and @timneutkens for helping!
Core Changes
- fix: next package resolving in dev overlay: #71632
- Improve type coverage of setup-dev-bundler: #71443
- fix(turbo-tasks): Implement ValueDebugFormat for ResolvedVc: #71173
- Add --turbopack CLI flag: #71657
- [dynamicIO] detect metadata boundaries in dev using server component stacks: #71666
Example Changes
- chore: Update
with-supabaseto be compatible with Nextjs 15: #71631 - Update Sanity example to next v15: #71640
Misc Changes
- react-sync: Automatically update peer dependencies in libraries: #71636
- chore(docs): fix typo in image.mdx docs: #71647
- docs: remove the canary note on instrumentation: #71649
- test: fix async api tests: #71652
- Enable source maps for
pnpm debug: #71653 - codemod(turbopack): Rewrite more Vc fields in structs as ResolvedVc: #71172
Credits
Huge thanks to @huozhi, @eps1lon, @ivasilov, @styfle, @bgw, @stipsan, @timneutkens, and @gnoff for helping!
Core Changes
- fix: handle terminal color in chrome console: #71581
- [dynamicIO] Update prerender to use Fizz prerender: #71580
- misc(next-upgrade): reuse process.cwd() value: #71558
- [dynamicIO]: dev navigations should show disallowed dynamic errors: #71595
- next-lint: Use ESLint v9 by default: #71371
- fix: prevent router errors from being logged on the client: #71583
Misc Changes
- Turbopack: Always use blob: URLs for assets in middleware: #71471
- fix: metadata image route Windows path escaping: #71615
- fix: third-parties package peer dependency: #71620
- Fix
module_resolution: "nodenext"withmjsorcjs: #71635
Credits
Huge thanks to @huozhi, @gnoff, @devjiwonchoi, @ztanner, @mischnic, and @lubieowoce for helping!
Core Changes
- Avoid triggering memory leak false positive with makeHangingPromise: #71579
- Upgrade React from
65a56d0e-20241020to69d4b800-20241021: #71568 - avoid logging stacks for internal errors: #71575
- Avoid server action
endpointfunction indirection: #71572
Misc Changes
- docs(ppr): remove v14 mention for ppr: #71498
- docs: fix upgrade codemod command: #71578
Credits
Huge thanks to @samcx, @ztanner, @gnoff, and @unstubbable for helping!
Core Changes
- Reland "[dynamicIO] warn for disallowed dynamic in dev": #71567
- next-upgrade: prompt (un)install only when there's a change: #71308
- chore(next-codemod): remove
@next/fontfrom optional Next.js packages to install: #71563 - [dynamicIO] Avoid triggering memory leak false positive with makeHangingPromise: #71576
Credits
Huge thanks to @gnoff and @devjiwonchoi for helping!
Core Changes
- refactor: next-flight-client-module-loader return conditions: #64348
- Fix Server Action error logs for unhandled POST requests: #64315
- Shared Revalidate Timings: #64370
- Freeze loaded manifests: #64313
- test: skip turbopack build test: #64356
- Fix: css in next/dynamic component in edge runtime: #64382
- Fix more Turbopack build tests: #64384
- use pathToFileUrl to make esm import()s work with absolute windows paths: #64386
- Improve rendering performance: #64408
- Fix the method prop case in Server Actions transform: #64398
- fix(next-lint): update option --report-unused-disable-directives to --report-unused-disable-directives-severity: #64405
- Revert "Fix: css in next/dynamic component in edge runtime": #64442
- default fetchCache to no-store when force-dynamic is set: #64145
- router restore should take priority over pending actions: #64449
- Fix client boundary inheritance for barrel optimization: #64467
- improve turborepo caching: #64493
- Update font data: #64481
- BREAKING CHANGE: remove deprecated analyticsId from config, and the corresponding performance-relayer files and tests: #64199
- feat: strip traceparent header from cachekey: #64499
- Fix typo in dynamic-rendering.ts: #64365
- fix(next): global not-found not working on multi-root layouts: #63053
- chore(next): add keywords on package.json: #64173
- Fix DynamicServerError not being thrown in fetch: #64511
- fix:
lib/helpers/install.tsto better support pnpm and properly respectrootargument: #64418 - fix(next):
Metadata.openGraphvalues not resolving basic values whentypeis set: #63620 - disable production chunking in dev: #64488
- update turbopack: #64501
- Turbopack: Allow client components to be imported in app routes: #64520
- refactor: remove always truthy flag: #64522
- Turbopack: don’t show long internal stack traces on build errors: #64427
- next/script: Correctly apply async and defer props: #52939
- chore(next/font): update @capsizecss/metrics package: #64528
- feat: add information that revalidate interval is in seconds: #64229
- Typo "Minifer" in config.ts: #64359
- Enhance types for Node and Edge envionments: #64454
- feat: Add a validation for
postcsswithuseLightningcss: #64379 - fix HMR for cases where chunking changes: #64367
- perf: improve Pages Router server rendering performance: #64461
- Fix cjs client components tree-shaking: #64558
- fix refresh behavior for discarded actions: #64532
- fix: filter out middleware requests in logging: #64549
- chore: remove unused rust dependencies: #62176
- fix(next-swc): correctly set wasm fallback for known target triples: #64567
- memoize layout router context: #64575
- fix incorrect refresh request when basePath is set: #64589
- fix TypeError edge-case for parallel slots rendered multiple times: #64271
- Fix ASL bundling for dynamic css: #64451
- Revert "fix(next): global not-found not working on multi-root layouts": #64601
- chore(test): run related E2E deploy tests on PRs: #63763
- Improve top level await coverage: #64508
- Upgrade typescript to 5.3: #64043
- add pathname normalizer for actions: #64592
- Fix experimental/testmode by removing console.log: #64670
- Don't output .test.ts files in next/font: #63472
- Fix reporting when performance.measure doesn't exist (Edge): #64669
- Reduce amount of data passed to collectBuildTraces: #59665
- fix(next-server): 'quiet' setting delegate for custom server: #64512
- Revert "chore(test): run related E2E deploy tests on PRs": #64682
- update turbopack: #64686
- Fix: resolve mixed re-exports module as cjs: #64681
- Revert "fix TypeError edge-case for parallel slots rendered multiple times": #64690
- Fix typo: 'serverComponentsExtenalPackages' should be 'serverComponentsExternalPackages': #64705
- prevent erroneous route interception during lazy fetch: #64692
- Add
@appsignal/nodejsto the external packages list: #64503 - fix root page revalidation when redirecting in a server action: #64730
- Clean-up fetch metrics tracking: #64746
- [actions] Enforce body limit using Transform stream: #64694
- Turbopack: Don’t show stack traces for internal modules: #64228
- Reapply "chore(test): run related E2E deploy tests on PRs" (#64682): #64712
- fix(fetch-cache): fix typo: #64786
- fix: remove traceparent from cachekey should not remove traceparent from original object: #64727
- fix interception route rewrite regex not supporting hyphenated segments: #64805
- Disable ncc cache instead of cache cleaning: #64804
- Move next-swc Turborepo config to packages/next-swc: #64789
- build: Update
swc_coretov0.90.33: #64553 - Enable loading source maps for Next Server and React: #64527
- fix: mixing namespace import and named import client components: #64809
- fext(next): extend next.config for mdxRs support options: #64801
- skip test_e2e_deploy_related when triggered from a fork: #64893
- fix(fetch-cache): fix additional typo, add type & data validation: #64799
- feat(next-core): support parsing matcher config object: #64678
- Fix mixed exports in server component with barrel optimization: #64894
- fix: improve tsconfig extends checks: #61413
- Fix next/image usage in mdx: #64875
- fix dynamic route interception not working when deployed with middleware: #64923
- feat(turbopack): Handle fragments in requests: #64232
- feat(turbopack): Check for duplicate parallel routes: #64181
- Speed up createNext test suite isolation: #64909
- fix(rewrites): support external rewrite destination: #64943
- Ensure edge prerender-manifest is minimal: #64946
- remove special-cased prefetch kind in dev mode: #64941
- feat: support import attributes: #59480
- NextJS App router: add
isolated-vmto server-external-packages.json: #64749 - Add
next experimental-testcommand: #64352 - Revert "feat: support import attributes": #65001
- NODE_OPTIONS updates: #65006
- Update React from 14898b6a9 to c3048aab4: #64798
- initialize ALS with cookies in middleware: #65008
- feat(next/image)!: remove
squooshin favor ofsharpas optional dependency: #63321 - fix: Workaround acorn bug/version issue by using SWC: #65021
- build: Update
@swc/coretov1.5.0: #65022 - Ensure escaped string are parsed in NODE_OPTIONS: #65046
- chore(fetch-cache): remove zod from fetch cache: #65079
- support breadcrumb style catch-all parallel routes: #65063
- Improve initial setup with new App Router TypeScript project: #64826
- Add experimental trace file field: #65071
- Fix playwright config merging for webServer property: #65090
- chore(logging): Disable info logging of critters in production: #62776
- [unstable_cache] Don't track dynamic fetches in an unstable_cache callback: #65010
- fix(page-static-info): refine warning message to emit once: #65091
- update redirect handling on forwarded action requests: #65097
- Tracing: allow opt-in flag to send build traces to url: #65019
- Turbopack: Allow client components from foreign code in app routes: #64751
- fix node.js module warning in middleware: #65112
- Fix: strip _rsc query for client navigation rsc request: #65084
- fix unhandled runtime error when notFound() triggered in generateMetadata w/ parallel routes: #65102
- Use vercel deployment url for metadataBase fallbacks: #65089
- Fix next/dynamic with babel and src dir: #65177
- update turbopack: #65191
- Fix crypto import in edge runtime with Turbopack: #65171
- Resolve global
nextWebpack alias last: #65123 - Add oslo, @node-rs/argon2, and @node-rs/bcrypt to external packages: #65204
- [trace] Reduce the size of .next/trace files: #65101
- Remove extra suspense boundary for default next/dynamic: #64716
- Only apply metadata manifest credentials for preview deployment: #64940
- fix(next): add missing browser.major type: #65185
- Turbopack: rename source map prefix: #64965
- Use POST for invokeIpcMethod: #65238
- fix redirect to url with semicolon: #65165
- Provide non-dynamic segments to catch-all parallel routes: #65233
- Fix an issue parsing catchall params: #65277
- Enable preloading entries by default: #65289
- Trace uploader: add worker spans to allowed events: #65255
- Update font data: #65301
- Update revalidateTag to batch tags in one request: #65296
- Revert "Remove extra suspense boundary for default next/dynamic": #65309
- Emit polyfill-nomodule.js into the build manifest polyfillFiles: #65223
- Remove broken
#[turbo_tasks::value(transparent)]attributes: #65336 - Delete dead
concatenate_output_assetsfunction: #65337 - Upgrade Turbopack: #65320
- Pages router: Use attribute-based head children reconciler when
strictNextHeadis enabled: #65408 - Revert "Implement Turbopack trace server bindings": #65419
- use correct not-found component when triggered from a parallel route: #65343
- Implement Turbopack trace server bindings: #65410
- fix(next/image): bypass icns images: #65414
- [PPR] Enable incremental adoption: #63847
- fix: replace deprecated/removed functions in eslint-plugin-next: #64251
- docs: update
revalidatePath& fix cache debug logic: #65365 - fix(next-core): mark turbopack embed fs to be internals: #65420
- fix(next/image): add missing svg test and refactor missing types: #65345
- build(edge): extract buildId into environment: #64521
- Revert "build(edge): extract buildId into environment": #65425
- fix(next/image): set max url length to 3072: #65457
- Support React 19 in App and Pages router: #65058
- Promote and rename server bundling options
serverComponentsExternalPackagesandbundlePagesExternals: #65421 - add experimental flag to allow forcing NODE_ENV=development in builds: #65463
- Support esm externals in app router: #65041
- fix: lazy load sharp: #65484
- make sure children is first in loader tree to fix head css bug on client navigation: #65279
- Re-land build(edge): extract buildId into environment: #65426
- improve versioned content map: #65466
- update turbopack: #65503
- Remove ineffective webpack rules and unused app-page context modules: #65321
- add page name to crashes: #65504
- Bump styled-jsx to 5.1.3: #65485
- Preload all chunks for next/dynamic in SSR: #65486
- fix!: add sharp timeout of 10 seconds: #65517
- Turbopack: new graph aggregation: #65206
- feat(next): revise server component error message: #65468
- chore: update prettier to 3.2.5: #65092
- Revert "Remove ineffective webpack rules and unused app-page context modules": #65558
- Remove auto appending xml extension to dynamic sitemap routes: #65507
- Remove rsc esm client module extra exports: #65519
- Handle nonce on Next.js injected script/link tags: #65508
- Fix multi-zone test by removing dependency list: #65589
- remove next-action header when following a redirect: #65615
- Remove @next/font resolving for font loaders: #65601
- remove legacy deprecated warnings: #65579
- feat(turbopack): add support for
bundlePagesRouterDependencies: #65520 - fix(next-swc): load wasm fallback if native bindings fail to load: #65623
- fix(next-swc): correct path interop to filepath for wasm: #65633
- Add proper deprecation/rename warnings for server bundling option: #65575
- feat!(next/image): change default
Content-Dispositiontoattachment: #65631 - Pages router: Enable strict
next/headchildren reconciler by default: #65418 - Apply react-server conditions to middleware: #65424
- fix(next-swc): Do not reuse compiler instance: #65602
- Show the new key of experimental config change warnings: #65651
- fix(next-swc): Fix SWC env target - include option: #65693
- Reapply "Implement Turbopack trace server bindings" (#65419): #65527
- fix(resolve-metadata): allow for search params in canonical URL: #65366
- Remove missingSuspenseWithCSRBailout config: #65688
- Reland Remove ineffective webpack rules and unused app-page context modules: #65694
- Remove swc minify related code branches: #65690
- fix: load the tags manifest asynchronously: #64563
- Bump acorn to replace swc class properties transform: #65715
- fix: watch experimental/testmode in when running "pnpm dev": #65689
- Revert "chore: externalize undici for bundling": #65727
- [ppr] Request normalization fixes: #65717
- fix(next/image)!: error when
srchas leading or trailing space: #65637 - fext(next-swc): extend internal env flag to all native bindings: #65748
- Update font data: #65719
- fix(next): add alias to new react exports: #65761
- Update font data: #65768
- feat: remove font family hashing in next/font css: #53608
- Add script to script loader when strategy prop is undefined: #65585
- fix: ensure websockets are correctly passed: #65759
- Add
clientTraceMetadataexperimental option to propagate tracing data to the client: #64256 - Remove process auto polyfill in edge runtime: #65751
- feat: support import attributes: #65749
- Turbopack: Remove
EcmascriptChunkingContext: #65716 - Error in build for middleware when import client-only: #65792
- fix(next): reject protocol-relative URLs in image optimization: #65752
- Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload: #65664
- Bundle the installed react for middleware: #65811
- fix middleware cookie initialization: #65820
- fix(next/image)!: set upstream timeout to 7 seconds: #65821
- feat(turbopack-ecmascript): use import attributes for annotations: #59370
- feat(next): experimental react compiler support: #65804
- Fix the runtime for rsc layer: #65850
- Ensure React Compiler only runs on first-party browser code: #65851
- fix: bump nft@0.27.1: #65854
- add effect packages into the optimized-by-default list: #65465
- Upgrade react@beta: #65845
- Ensure plugin-syntax-jsx doesn't have to be installed: #65865
- Update React from 4508873393 to 04b058868c: #65864
- Set default stale-while-revalidate header value to 1 year: #65867
- fix missing experimental warning for reactCompiler: #65866
- Error on mismatched minimal react version: #65806
- Revert "Set default stale-while-revalidate header value to 1 year": #65887
- Update turbopack & swc_core: #65450
- Revert "Fix broken HTML inlining of non UTF-8 decodable binary data f…: #65906
- experimental: unstable_after: #65038
- Docs: Replace "twitter.com" to "x.com": #65917
- fix(next/image): prefer sharp defaults, use mozjpeg for JPEG: #65846
- Update font data: #65961
- unstable_after: support nested unstable_after calls: #65950
- Fix revalidateTimings route for catchall index route: #65843
- fix(next): initial prefetch cache not set properly with different search params: #65977
- Add additional log to experimental ppr flag in next.config.js: #65944
- Change default of prerenderEarlyExit to true: #65830
- short-circuit OPTIONS requests to pages: #65295
- Turbopack: Implement
next/font/localwithBeforeResolvePluginand show custom error message: #65870 - [Breaking] Disable automatic static generation for route handlers: #65825
- Fix router.refresh missing canonical url override: #65999
- Fix typo in JSDoc of
pprflag ofnext.config.js: #66028 - Revert webpack bundling layer changes for middleware/pages: #66049
- Upgrade lightningcss, disable grid prefixing: #65986
- [Breaking] disable client router cache for page segments: #66039
- Add dedicated client entry for Turbopack builds: #65824
- Update React from 04b058868c to 81c5ff2e04 : #65869
- implement unstable_rethrow: #65831
- chore(next/image): remove unused
outputparameter: #66083 - next-swc-napi: Enable "plugin" feature by default: #66006
- [turbopack] Use updated RawOutput API: #65300
- Skip setting to fetch cache when not modified: #66055
- [Memory] Add option to reduce memory usage caused by duplicate strings in webpack-sources: #66003
- Ensure metadata routes dont skip static optimization: #66097
- [unstable_after] fix occasional dev-mode crash in edge runtime pages: #66099
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- [ppr] Remove canary requirement: #66112
- [ppr] Data route fixes: #66109
- [unstable_after] always use 'waitUntil' from '@next/request-context' if available: #66119
- Don't fail the build if
@types/packages appear to be missing: #66127 - Stabilize swrDelta config: #66108
- Revert "Don't fail the build if @types/ packages appear to be missing": #66130
- fix(next): global not-found not working on multi-root layouts: #63053
- chore(next): add keywords on package.json: #64173
- Fix DynamicServerError not being thrown in fetch: #64511
- fix:
lib/helpers/install.tsto better support pnpm and properly respectrootargument: #64418 - fix(next):
Metadata.openGraphvalues not resolving basic values whentypeis set: #63620 - disable production chunking in dev: #64488
- update turbopack: #64501
- Turbopack: Allow client components to be imported in app routes: #64520
- Turbopack: don’t show long internal stack traces on build errors: #64427
- next/script: Correctly apply async and defer props: #52939
- chore(next/font): update @capsizecss/metrics package: #64528
- feat: add information that revalidate interval is in seconds: #64229
- Typo "Minifer" in config.ts: #64359
- Enhance types for Node and Edge envionments: #64454
- feat: Add a validation for
postcsswithuseLightningcss: #64379 - fix HMR for cases where chunking changes: #64367
- perf: improve Pages Router server rendering performance: #64461
- Fix cjs client components tree-shaking: #64558
- fix refresh behavior for discarded actions: #64532
- fix: filter out middleware requests in logging: #64549
- chore: remove unused rust dependencies: #62176
- fix(next-swc): correctly set wasm fallback for known target triples: #64567
- memoize layout router context: #64575
- fix incorrect refresh request when basePath is set: #64589
- fix TypeError edge-case for parallel slots rendered multiple times: #64271
- Fix ASL bundling for dynamic css: #64451
- Revert "fix(next): global not-found not working on multi-root layouts": #64601
- chore(test): run related E2E deploy tests on PRs: #63763
- Improve top level await coverage: #64508
- Upgrade typescript to 5.3: #64043
- add pathname normalizer for actions: #64592
- Fix experimental/testmode by removing console.log: #64670
- Don't output .test.ts files in next/font: #63472
- Fix reporting when performance.measure doesn't exist (Edge): #64669
- Reduce amount of data passed to collectBuildTraces: #59665
- fix(next-server): 'quiet' setting delegate for custom server: #64512
- Revert "chore(test): run related E2E deploy tests on PRs": #64682
- update turbopack: #64686
- Fix: resolve mixed re-exports module as cjs: #64681
- Revert "fix TypeError edge-case for parallel slots rendered multiple times": #64690
- Fix typo: 'serverComponentsExtenalPackages' should be 'serverComponentsExternalPackages': #64705
- prevent erroneous route interception during lazy fetch: #64692
- Add
@appsignal/nodejsto the external packages list: #64503 - fix root page revalidation when redirecting in a server action: #64730
- Clean-up fetch metrics tracking: #64746
- [actions] Enforce body limit using Transform stream: #64694
- Turbopack: Don’t show stack traces for internal modules: #64228
- Reapply "chore(test): run related E2E deploy tests on PRs" (#64682): #64712
- fix(fetch-cache): fix typo: #64786
- fix: remove traceparent from cachekey should not remove traceparent from original object: #64727
- fix interception route rewrite regex not supporting hyphenated segments: #64805
- Disable ncc cache instead of cache cleaning: #64804
- Move next-swc Turborepo config to packages/next-swc: #64789
- build: Update
swc_coretov0.90.33: #64553 - Enable loading source maps for Next Server and React: #64527
- fix: mixing namespace import and named import client components: #64809
- fext(next): extend next.config for mdxRs support options: #64801
- skip test_e2e_deploy_related when triggered from a fork: #64893
- fix(fetch-cache): fix additional typo, add type & data validation: #64799
- feat(next-core): support parsing matcher config object: #64678
- Fix mixed exports in server component with barrel optimization: #64894
- fix: improve tsconfig extends checks: #61413
- Fix next/image usage in mdx: #64875
- fix dynamic route interception not working when deployed with middleware: #64923
- feat(turbopack): Handle fragments in requests: #64232
- feat(turbopack): Check for duplicate parallel routes: #64181
- Speed up createNext test suite isolation: #64909
- fix(rewrites): support external rewrite destination: #64943
- Ensure edge prerender-manifest is minimal: #64946
- remove special-cased prefetch kind in dev mode: #64941
- feat: support import attributes: #59480
- NextJS App router: add
isolated-vmto server-external-packages.json: #64749 - Add
next experimental-testcommand: #64352 - Revert "feat: support import attributes": #65001
- NODE_OPTIONS updates: #65006
- Update React from 14898b6a9 to c3048aab4: #64798
- initialize ALS with cookies in middleware: #65008
- feat(next/image)!: remove
squooshin favor ofsharpas optional dependency: #63321 - fix: Workaround acorn bug/version issue by using SWC: #65021
- build: Update
@swc/coretov1.5.0: #65022 - Ensure escaped string are parsed in NODE_OPTIONS: #65046
- chore(fetch-cache): remove zod from fetch cache: #65079
- support breadcrumb style catch-all parallel routes: #65063
- Improve initial setup with new App Router TypeScript project: #64826
- Add experimental trace file field: #65071
- Fix playwright config merging for webServer property: #65090
- chore(logging): Disable info logging of critters in production: #62776
- [unstable_cache] Don't track dynamic fetches in an unstable_cache callback: #65010
- fix(page-static-info): refine warning message to emit once: #65091
- update redirect handling on forwarded action requests: #65097
- Tracing: allow opt-in flag to send build traces to url: #65019
- Turbopack: Allow client components from foreign code in app routes: #64751
- fix node.js module warning in middleware: #65112
- Fix: strip _rsc query for client navigation rsc request: #65084
- fix unhandled runtime error when notFound() triggered in generateMetadata w/ parallel routes: #65102
- Use vercel deployment url for metadataBase fallbacks: #65089
- Fix next/dynamic with babel and src dir: #65177
- update turbopack: #65191
- Fix crypto import in edge runtime with Turbopack: #65171
- Resolve global
nextWebpack alias last: #65123 - Add oslo, @node-rs/argon2, and @node-rs/bcrypt to external packages: #65204
- [trace] Reduce the size of .next/trace files: #65101
- Remove extra suspense boundary for default next/dynamic: #64716
- Only apply metadata manifest credentials for preview deployment: #64940
- fix(next): add missing browser.major type: #65185
- Turbopack: rename source map prefix: #64965
- fix(next/image): detect react@19 for
fetchPriorityprop: #65235 - Use POST for invokeIpcMethod: #65238
- fix redirect to url with semicolon: #65165
- Provide non-dynamic segments to catch-all parallel routes: #65233
- Fix an issue parsing catchall params: #65277
- Enable preloading entries by default: #65289
- Trace uploader: add worker spans to allowed events: #65255
- Update font data: #65301
- Update revalidateTag to batch tags in one request: #65296
- Revert "Remove extra suspense boundary for default next/dynamic": #65309
- Emit polyfill-nomodule.js into the build manifest polyfillFiles: #65223
- Remove broken
#[turbo_tasks::value(transparent)]attributes: #65336 - Delete dead
concatenate_output_assetsfunction: #65337 - Upgrade Turbopack: #65320
- Pages router: Use attribute-based head children reconciler when
strictNextHeadis enabled: #65408 - Revert "Implement Turbopack trace server bindings": #65419
- use correct not-found component when triggered from a parallel route: #65343
- Implement Turbopack trace server bindings: #65410
- fix(next/image): bypass icns images: #65414
- [PPR] Enable incremental adoption: #63847
- fix: replace deprecated/removed functions in eslint-plugin-next: #64251
- docs: update
revalidatePath& fix cache debug logic: #65365 - fix(next-core): mark turbopack embed fs to be internals: #65420
- fix(next/image): add missing svg test and refactor missing types: #65345
- build(edge): extract buildId into environment: #64521
- Revert "build(edge): extract buildId into environment": #65425
- fix(next/image): set max url length to 3072: #65457
- Support React 19 in App and Pages router: #65058
- Promote and rename server bundling options
serverComponentsExternalPackagesandbundlePagesExternals: #65421 - add experimental flag to allow forcing NODE_ENV=development in builds: #65463
- Support esm externals in app router: #65041
- fix: lazy load sharp: #65484
- make sure children is first in loader tree to fix head css bug on client navigation: #65279
- Re-land build(edge): extract buildId into environment: #65426
- improve versioned content map: #65466
- update turbopack: #65503
- Remove ineffective webpack rules and unused app-page context modules: #65321
- add page name to crashes: #65504
- Bump styled-jsx to 5.1.3: #65485
- Preload all chunks for next/dynamic in SSR: #65486
- fix!: add sharp timeout of 10 seconds: #65517
- Turbopack: new graph aggregation: #65206
- feat(next): revise server component error message: #65468
- chore: update prettier to 3.2.5: #65092
- Revert "Remove ineffective webpack rules and unused app-page context modules": #65558
- Remove auto appending xml extension to dynamic sitemap routes: #65507
- Remove rsc esm client module extra exports: #65519
- Handle nonce on Next.js injected script/link tags: #65508
- Fix multi-zone test by removing dependency list: #65589
- remove next-action header when following a redirect: #65615
- Remove @next/font resolving for font loaders: #65601
- remove legacy deprecated warnings: #65579
- feat(turbopack): add support for
bundlePagesRouterDependencies: #65520 - fix(next-swc): load wasm fallback if native bindings fail to load: #65623
- fix(next-swc): correct path interop to filepath for wasm: #65633
- Add proper deprecation/rename warnings for server bundling option: #65575
- feat!(next/image): change default
Content-Dispositiontoattachment: #65631 - Pages router: Enable strict
next/headchildren reconciler by default: #65418 - Apply react-server conditions to middleware: #65424
- fix(next-swc): Do not reuse compiler instance: #65602
- Show the new key of experimental config change warnings: #65651
- fix(next-swc): Fix SWC env target - include option: #65693
- Reapply "Implement Turbopack trace server bindings" (#65419): #65527
- fix(resolve-metadata): allow for search params in canonical URL: #65366
- Remove missingSuspenseWithCSRBailout config: #65688
- Reland Remove ineffective webpack rules and unused app-page context modules: #65694
- Remove swc minify related code branches: #65690
- fix: load the tags manifest asynchronously: #64563
- Bump acorn to replace swc class properties transform: #65715
- fix: watch experimental/testmode in when running "pnpm dev": #65689
- Revert "chore: externalize undici for bundling": #65727
- [ppr] Request normalization fixes: #65717
- fix(next/image)!: error when
srchas leading or trailing space: #65637 - fext(next-swc): extend internal env flag to all native bindings: #65748
- Update font data: #65719
- fix(next): add alias to new react exports: #65761
- Update font data: #65768
- feat: remove font family hashing in next/font css: #53608
- Add script to script loader when strategy prop is undefined: #65585
- fix: ensure websockets are correctly passed: #65759
- Add
clientTraceMetadataexperimental option to propagate tracing data to the client: #64256 - Remove process auto polyfill in edge runtime: #65751
- feat: support import attributes: #65749
- Turbopack: Remove
EcmascriptChunkingContext: #65716 - Error in build for middleware when import client-only: #65792
- fix(next): reject protocol-relative URLs in image optimization: #65752
- Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload: #65664
- Bundle the installed react for middleware: #65811
- fix middleware cookie initialization: #65820
- fix(next/image)!: set upstream timeout to 7 seconds: #65821
- feat(turbopack-ecmascript): use import attributes for annotations: #59370
- feat(next): experimental react compiler support: #65804
- Fix the runtime for rsc layer: #65850
- Ensure React Compiler only runs on first-party browser code: #65851
- fix: bump nft@0.27.1: #65854
- add effect packages into the optimized-by-default list: #65465
- Upgrade react@beta: #65845
- Ensure plugin-syntax-jsx doesn't have to be installed: #65865
- Update React from 4508873393 to 04b058868c: #65864
- Set default stale-while-revalidate header value to 1 year: #65867
- fix missing experimental warning for reactCompiler: #65866
- Error on mismatched minimal react version: #65806
- Revert "Set default stale-while-revalidate header value to 1 year": #65887
- Update turbopack & swc_core: #65450
- Revert "Fix broken HTML inlining of non UTF-8 decodable binary data f…: #65906
- experimental: unstable_after: #65038
- Docs: Replace "twitter.com" to "x.com": #65917
- fix(next/image): prefer sharp defaults, use mozjpeg for JPEG: #65846
- Update font data: #65961
- unstable_after: support nested unstable_after calls: #65950
- Fix revalidateTimings route for catchall index route: #65843
- fix(next): initial prefetch cache not set properly with different search params: #65977
- Add additional log to experimental ppr flag in next.config.js: #65944
- Change default of prerenderEarlyExit to true: #65830
- short-circuit OPTIONS requests to pages: #65295
- Turbopack: Implement
next/font/localwithBeforeResolvePluginand show custom error message: #65870 - [Breaking] Disable automatic static generation for route handlers: #65825
- Fix router.refresh missing canonical url override: #65999
- Fix typo in JSDoc of
pprflag ofnext.config.js: #66028 - Revert webpack bundling layer changes for middleware/pages: #66049
- Upgrade lightningcss, disable grid prefixing: #65986
- [Breaking] disable client router cache for page segments: #66039
- Add dedicated client entry for Turbopack builds: #65824
- Update React from 04b058868c to 81c5ff2e04 : #65869
- implement unstable_rethrow: #65831
- chore(next/image): remove unused
outputparameter: #66083 - next-swc-napi: Enable "plugin" feature by default: #66006
- [turbopack] Use updated RawOutput API: #65300
- Skip setting to fetch cache when not modified: #66055
- [Memory] Add option to reduce memory usage caused by duplicate strings in webpack-sources: #66003
- Ensure metadata routes dont skip static optimization: #66097
- [unstable_after] fix occasional dev-mode crash in edge runtime pages: #66099
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- feat(turbopack): Attempt to detect and warn about slow file IO: #66057
- update typescript plugin to support experimental_ppr: #66141
- add next-build-test binary / library: #64121
- add bash script to run a benchmark: #64717
- Handle next/navigation import in middleware: #66175
- [ppr] Data route fix: #66190
- Implement
typeof windowinlining for Turbopack: #66128 - Bump React types to latest 18.3.x: #66181
- Bump styled-jsx to 5.1.6: #66185
- Fix source map loading failure for
path-to-regexp: #66242 - Bump React types to 19 rc: #66186
- Reland bunling webpack middleware changes (#66049): #66052
- fix dev overlay version indicator style: #66278
- [ppr] Don't mark RSC requests as /_next/data requests: #66249
- enhance: ignore nextjs version fetch error in dev overlay: #66271
- Trigger error for stream on client when it is not finished as expected: #65798
- chore(next-font): bump @capsizecss/metrics package to the latest: #66302
- refactor: remove isRSCRequestCheck: #65587
- feat: add copy button for runtime error: #65921
- Transform client reference in middleware layer: #66294
- feat(react-dev-overlay): Open nvim with line number: #66358
- Restore optimization to ignore legacy APIs in react-dom/server: #66371
- fix: ensure dynamic fetches are tracked correctly: #66349
- Update font data: #66359
- next-swc-napi: Remove "plugin" from default feature list: #66380
- Revert "Middleware RSC bundling changes": #66422
- chore: bump supported
mswversion tov2.3.0: #66351 - remove duplicate export workers: #66388
- refactor page export error tracking: #66392
- add experimental flag for retrying static generation: #66393
- Update rust toolchain to nightly-2024-05-31: #66428
- fix erroneous RSC calls on hash changes: #66434
- Improve JSDoc link for Metadata API: #66455
- Warn metadataBase missing in standalone mode or non vercel deployment: #66296
- fix: ensure route handlers properly track dynamic access: #66446
- Fix broken
BrowserInterfacetype: #66461 - Polish copy button state and styles: #66370
- expose experimental option to set a memory limit for turbo: #66101
- avoid filtering the error message: #65311
- Fix
next/navigationtype augmentation: #66489 - fix: only generate prefetch rsc for ppr enabled routes: #66395
- add layerAssets property to FlightDataPath: #66354
- fix missing stylesheets when parallel routes are present: #66300
- fix css order for some edge cases in App Dir: #66500
- Fix fetch deduping in dev after reload: #66507
- optimize server actions: #66523
- fixing next/dynamic transform for turbopack: #66527
- improve order of spans in tracing: #66516
- add more tracing: #66528
- refactor: deprecate future directory: #66432
- fix 'loading' segment not being copied into new CacheNode: #66538
- fix NextRequest proxy in edge runtime: #66551
- Re-land Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload #65664: #65988
- feat(turbopack): Introduce
RcStr: #66262 - Remove unused state in Server Actions transform: #66547
- Add playwright-core to server-external-packages.json: #66549
- Update to turbopack-240605.2: #66568
- update turbopack: #66575
- Fix loading navigation with metadata and prefetch: #66447
- Update font data: #66582
- Fix Server Actions closure idents tracking: #66601
- Update to turbopack-240606.2: #66606
- update turbopack: #66627
- revert app-render changes related to determining RSC/Prefetch requests: #66648
- Revert "feat: Update
swc_coretov0.92.10": #66640 - remove
staticWorkerRequestDedupingflag & unused IPC code: #66655 - prevent duplicate RSC fetch when action redirects: #66620
- Update URL provided from unstable_cache: #66651
- ensure router cache updates reference the latest cache values: #66681
- Fix esm property def in flight loader: #66286
- Update React from f994737d14 to 1df34bdf62 (19.0.0-rc.0): #66533
- fix(turbopack): remove tailwindcss from default external packages: #66706
- Append sitemap extension and optimize imafe metadata static generation: #66477
- feat(turbopack-ecmascript): cache external modules with wrapper: #63337
- [ppr] Enable static shell debugging in other environments: #65483
- Add timeout/retry handling for fetch cache: #66652
- Fix inconsistency with 404 getStaticProps cache-control: #66674
- [lint] Allow lint warnings to pass in CI: #66140
- Revert "Fix esm property def in flight loader": #66727
- Update React from
1df34bdf62to6230622a1a: #66726 - Prevent append of trailing slash in cases where path ends with a file extension: #66636
- Update font data: #66730
- Use addDependency to track metadata route file changes: #66714
- fix: app-router prefetch crash when an invalid URL is passed to Link: #66755
- Ensure urlPathname is always a pathname: #63846
- build: Update
swc_coretov0.93.2: #66698 - chore: bump turbo to 2.0.3: #66762
- Revert "chore: bump turbo to 2.0.3": #66775
- use node js chunking context for evaluation: #66710
- refactor: simplified async storage wrappers: #66767
- Update devdependecy commander: #66771
- chore: bump turbo to 2.0.3: #66784
- Make
InvalidImportResolvePluginaBeforeResolvePlugin: #66622 - Fix: only inject clientTraceMetadata into html page once: #66763
- Use turbo-tasks-malloc on all platforms: #66815
- [ppr] Improve DX for static shell debugging in dev mode: #66806
- Reland "Middleware to use react-server condition": #66534
- Revert "Use turbo-tasks-malloc on all platforms": #66884
- fix: wait for playwright fixture to setup before running test: #66842
- Handle action middleware rewrite case: #66852
- Revert "Revert "Use turbo-tasks-malloc on all platforms" (#66884)", fix aarch64 compilation in CI: #66885
- [Turbopack] improve memory measurement suite: #66748
- Fix: remove enegine requried pnpm version: #66914
- Remove
workercondition name when resolving files in the Edge runtime: #66808 - small memory and tracing improvement: #66899
- build: Update
swc_coretov0.95.2: #66902 - Testmode: use ipv4 address to reduce dependency on local system configuration: #66968
- Update font data: #66969
- Refactor internal routing headers to use request meta: #66987
- Remove lazyDataResolved flag: #66578
- refactor(next): package.json keywords
back-endshould bebackend: #66974 - Fix internal route redirection with absolute urls outside basePath: #64604
- Expand test for AsyncLocalStorage to avoid throwing in old chrome: #61873
- fix caching of client chunks: #66971
- Run and report benchmarks: #66851
- refactor: remove hydration link appending console interception: #67011
- Use
react-dom/server.edgeinstead of.browserin Next.js runtime: #66954 - feat(turbopack): add support for esm externals in app dir: #64918
- Add sassOption
implementationto support sass-embedded: #64577 - Fix esm property def in flight loader: #66990
- Upgrade Turbopack: #67017
- fix: bad script tag in layout hydration error: #66998
- Ensure Turbopack build runs when experimental-compile option is used: #67049
- Remove handling on findDOMNode warning: #67054
- ensure accessing search params mark dynamic usage: #67105
- Add build diagnostics for saving debug information during a build: #66187
- chore: add detection for image more types: #67112
- dx: add pagePath info to missing component error: #66916
- Add experimental flag for providing entry paths: #67134
- Fix noindex is missing on static not-found page: #67135
- Refactor code: #64429
- Fix server action edge redirect with middleware rewrite: #67148
- chore: turbopack metadata routes normalizing: #67159
- codemod: add next/dynamic imports codemod: #67126
- Create React aliases for SVG components: #67104
- chore: fix react-is RC version pinning: #66676
- Remove extra suspense boundary for default next/dynamic: #67014
- Remove devdependency uuid: #67190
- make next/dynamic visit more incremental and cacheable: #66912
- Make synced react-is version more obvious: #67189
- fix: Narrow down from
string | undefinedtostring: #65248 - Upgrade Turbopack: #67209
- [ppr] Handle corrupted postponed state: #67021
- fix(turbopack): add no-op
resolveAbsolutePathto browser runtime: #67215 - feat: enable @typescript-eslint/recommended in create-next-app --typescript: #52845
- fix missing command in next-codemod: #67216
- chore(docs): improve visual appearance of badges in README.md: #67254
- refactor: replace
globw/fast-globin eslint plugin: #67261 - reject actions with invalid RSC responses: #67059
- chore: bump pnpm to 9.4.0: #64945
- packages/next: opt ts-morph into serverExternalPackages: #67284
- fix(next/image): improve
wandqquery string validation for integers: #67293 - chore: throw when three dot character is detected in segment: #67348
- Add warn and telemetry for customized esmExternals: #67339
- perf: improve retrieving
versionInfoon Turbo HMR: #67309 - fix(next/image): undo tight coupling between
priority=trueandfetchPriority=high: #67351 - use fetch priority for app prefetches: #67356
- fix prefetch bailout detection for nested loading segments: #67358
- fix(turbopack): build all parallel routes to make sure HMR works: #67222
- Update
@swc/corenpm package tov1.6.6: #67379 - feat: Pass
module: "unknown"to SWC minfiier: #66817 - [chore] Update turbopack to turbopack-240703.1: #67406
- fix dynamic param extraction for interception routes: #67400
- Upgrade TypeScript to v5.5.2: #67113
- Fix typo in MDX documentation: #67432
- Transpile geist by default: #67402
- Turbopack + Relay: correctly implement artifact_directory to fix multi-project test: #67403
- fix(next/image): handle invalid url: #67465
- Bump minimum Node.js version to 18.18 (up from 18.17): #67274
- Update font data: #67472
- avoid merging global css in a way that leaks into other chunk groups: #67373
- refactor: avoid unnecessary after wrapper: #67463
- fix(next): add cross origin in react dom preload: #67423
- Remove obsolete
isNodeDebuggingoption from next server: #67492 - Fix VS Code debugging: #66254
- Dedupe double logged server errors: #67464
- Turbopack build: Ensure Pages Router manifests are loaded with buildId: #67317
- next-build-test improvements: #67460
- Update font data: #67574
- Tweak the display for error trace: #67572
- Turbopack build: Ensure build manifest routes are sorted: #67583
- Clean up flight headers: #67525
- feat(next):
next.config.ts: #63051 - Fix PPR navigations & revert
layerAssetsproperty from FlightData: #67435 - Update experimental trace handling to capture more deps: #67599
- Write out task statistics if NEXT_TURBOPACK_TASK_STATISTICS is set: #67164
- fix PPR navigations when visiting route with seeded cache: #67439
- Turbopack build: Add missing Compiled successfully message: #67598
- feat: type hint for
envin dev mode: #67157 - perf(turbopack): only build last parallel route: #67588
- feat: instrumentation onRequestError: #67539
- Reduce console error patching: #67433
- Share the hydration error info extraction util: #67639
- Add prerender indicator for app router: #67306
- cleanup unused server util: #67645
- fix: typo prerender indicator link: #67650
- style: simplify string formatting: #66772
- build: upgrade edge-runtime: #67565
- Update
swc_coretov0.96.9: #67378 - Move request header parsing for
app-renderinto a dedicated function: #67524 - refactor:
typedEnvis notreadonly: #67693 - Report HMR latency when a Server Component changes: #67699
- refactor: merge the same util to detect nextjs navigation errors: #67672
- Move .next/chunks folder to .next/build/chunks: #67610
- Add render source to onRequestError context: #67703
- refactor
<AppRouter />render structure: #64594 - cleanup unused pages router method: #67722
- fix(turbopack): allow page segments that don't alter the path after catchall: #67713
- Convert secondary
fetchServerResponseparams into options object: #67526 - Server Components HMR Cache: #67527
- pages router: ensure x-middleware-cache is respected: #67734
- Fix typescript setup for
packages/fontandturbo/generators: #67687 - Turbopack build: Exclude .d.ts files as routes: #67744
- chore: Update
@swc/coreand@swc/heleprs: #67757 - feat: facebook metadata: #65713
- fix: unstable_cache should not cache new result in draft mode: #67772
- Fix edge preview props are not matched with cookie: #67779
- Wait for
✓ Readylog inNextInstance#start: #67767 - Ensure serverSourceMaps is in webpack cache key: #67786
- TypeScript plugin: Allow functions in action-like props: #67211
- update turbopack: #67795
- Drop edge prerender manifest: #67787
- perf: Optmize
react_server_componenttransform: #67335 - Turbopack build: Implement app/global-error.tsx: #67803
- Ensure instrumentation register only call once: #67805
- Set @next/font to private and remove peer deps field: #67797
- Handle server actions error in onRequestError: #67769
- Don’t show long internal Rust stack traces to users: #67678
- Align the typeEnv value type with default process env value type: #67804
- ensure component tree is only rendered once during SSG/revalidations: #67680
- refactor client router initialization: #67821
- Fix for
typedRouteswhen settingpageExtensions- for typedRoutes MDX support: #67824 - [Diagnostics] Record framework.json after creating and cleaning distDir: #67819
- Enable
experimental.serverComponentsHmrCacheby default: #67800 - Drop the experimental env var for onRequestError API: #67856
- Add additional handling for experimental tracing: #67785
- Update font data: #67872
- update turbopack: #67874
- Hide caniuse-lite outdated warning in terminal: #67869
- Support
compiler.removeConsolewith Turbopack: #67849 - remove extraneous field from FetchServerResponse: #67865
- refactor FetchServerResponse shape: #67866
- Support
reactRemovePropertieswith Turbopack: #67853 - prerendered pages should use static staleTime: #67868
- ensure cookies set in middleware can be read in a server action: #67924
- Log fetch requests during client-side navigation: #67925
- Fix fetch logging in edge runtime: #67952
- fix: merged middleware cookies should preserve options: #67956
- feat: disable development logging by setting
logging: falsein next config: #67590 - Add experimental flag for chunk failure handling during app navigation: #67926
- Do not limit the number of fetch requests that are logged: #67957
- Fix a bug in the webpack-sources patch that happens sometimes when using the webpack cache: #67928
- Ensure "[Fast Refresh] rebuilding" logs have a matching "[Fast Refresh] done" log in Webpack: #67968
- Fix logging option internal consuming: #67972
- Turbopack build: Implement reactProductionProfiling: #67909
- Update metadata ready tracking: #67929
- Fix
next lintwith async eslint-formatters: #67860 - refactor: move rust crates to the repo root directory: #67780
- Wait for pending Webpack Hot Updates before evaluating JS from RSC responses: #67673
- Stop handling hydration errors from unsupported React versions: #67903
- Update React from
6230622a1a-20240610todfd30974ab-20240613: #66711 - Prevent unnecessary rsc reloads on navigation: #68049
- update prefetching jsdoc & documentation: #68047
- Improve caching of next-app-loader to prevent more fs calls.: #67792
- Update Next Command name, add types & update variable wording: #68007
- Ensure experimental trace invalidates correctly: #68076
- Env follow-up for experimental trace: #68086
- log FetchMetrics during SSG to diagnostics dir: #68078
- remove unused preloadConfig flag: #68082
- refactor: isolate the params type: #67981
- Ignore serverComponentChanges in pages: #66312
- Fix global hash for experimental tracing: #68122
- Restructure trace experiment manifest: #68131
- Fix race condition with experimental tracing: #68143
- update turbopack: #68129
- Apply serverExternalPackages inside node_modules and add keyv: #67948
- [image, link] fix ref merging for callback refs that return a cleanup function: #68123
- Revert "[image, link] fix ref merging for callback refs that return a cleanup function": #68176
- Revert "Update metadata ready tracking": #68200
- Reapply "[image, link] fix ref merging for callback refs that return a cleanup function" (#68176): #68199
- fix: properly patch lockfile against swc bindings: #66515
- Fix ImageResponse headers merging: #67642
- Update React from
6230622a1a-20240610to76002254-20240724: #68149 - fix: grammar in jsdoc: #68253
- Add telemetry for React Compiler usage: #68079
- Ensure we only handle app nav failure for actual error: #68285
- Drop @babel/plugin-transform-classes by default: #68290
- Move request logging code out of
NextNodeServer: #68286 - Fix hmr assetPrefix escaping and reuse logic from other files: #67983
- Add deployment id header for rsc payload if present: #67255
- Turbopack: Implement HMR for module-scoped environment variable changes: #68209
- Revert "Update React from 6230622a1a-20240610 to 76002254-20240724 (#68149)": #68300
- Log cached fetches during HMR refreshes if enabled in logging config: #68287
- Upgrade Turbopack: #68327
- next/form: #68102
- Remove legacy next/link prefetch={true} warning: #68326
- Drop react-dev-overlay from production bundle: #68197
- Update React from
6230622a1a-20240610to3208e73e-20240730: #68330 - Update metadata ready tracking (reland): #68342
- [form] typedRoutes support for action prop: #68323
- fix: allow empty string value for opengraph: #68262
- update turbopack: #68354
- fix renaming of page files, add handling of symlinked pages: #68195
- Remove quotation marks from object key : #68337
- Move static indicator into dev overlay: #68369
- Ensure we match comment minify behavior between terser and swc: #68372
- update turbopack: #68399
- chore: fix references for the new turbopack crates: #68128
- refactor: merge turbopack crates into next.js: #68127
- Allow users to use process.env.NEXT_SSG_FETCH_METRICS to control fetch metrics during SSG: #68378
- refactor: replace
indexOf === 0withstartsWith: #68116 - feat: Enable tree shaking of turbopack: #66689
- Use font color for static indictor close icon: #68417
- Support @next/mdx with Turbopack: #68397
- Update React from
3208e73e-20240730to06d0b89e-20240801: #68444 - Fix ncc clearing task: #68468
- Clean-up legacy terser code: #68462
- [ppr] Configuration for max react headers length: #67715
- Stabilize outputFileTracing configs: #68464
- Delete debug tarball file and add to gitignore: #68478
- ppr: prevent CacheNode.loading from being cleared on popstate: #68488
- Colocate
cssnanon-preset-simpleunit test with source: #68508 - Compile
path-to-regexpviancc: #68465 - Add env handling for experimental tracing: #68516
- chore: typo in bootrap to bootstrap: #68517
- Refactor ModuleOptionsContext API: #67864
- fix(turbopack): don't log errors when they are thrown: #68331
- Ensure client components are in experimental trace: #68492
- Ensure webpack cache does not conflict with experimental tracing: #68515
- Add store only mode for experimental tracing: #68548
- Move turbopack panic log to tmpdir: #67930
- Allow dev server to exit cleanly (SIGINT/SIGTERM): #67165
- Don't throw TurbopackInternalError if there are issues: #68529
- Handle more cases with env inlining: #68590
- make sure all the crates in turbopack are considered when caching: #68593
- refactor: cleanup types and logic in build: #68125
- Fix store only case for tracing: #68601
- Remove async module detection from client flight manifest: #68584
- fix: NPM Workspace throws
ENOWORKSPACESerror when fetching registry: #68522 - fix:
normalize-asset-prefixadding leading slash when URLassetPrefixis provided: #68518 - Sitemap image tag support: #68034
- chore(next-swc): avoid deleting .gitignore when running "clean" script: #68624
- Fix favicon merging with customized icons: #67982
- Add tests for self-importing packages: #68070
- refactor static workers to help with parallelization & cache sharing: #68546
- Handle pruning mismatching cache for experimental trace: #68635
- Ensure next-server prepare only execute once: #68616
- fix app router prefetch deduping: #68642
- Turbopack HMR: Reload the page when server session changes: #68630
- Remove extraneous configs from cache manifest: #68645
- fix: HMR not works when
assetPrefixset to URL: #68622 - Reject next image urls in image optimizer: #68628
- Check vendored
@ampproject/toolbox-optimizerinto version control: #68466 - Use proper react release channel for
react-dom/staticaliases: #68663 - Stop mangling server runtime in dev: #68641
- Ensure we hard error on invalid middleware config export: #68638
- Ensure we copy map file as well for experimental tracing: #68676
- chore: remove asset prefix warning log and update docs: #68681
- Update React from
06d0b89e-20240801to187dd6a7-20240806: #68594 - Prevent incompability with
'eval-source-map'andmangle: false: #68688 - Update font data: #68639
- Introduce prerenderAsyncStorage and refactor app-render: #68637
- chore: remove duplicate storeHydrationError call: #68736
- The patched
fetchfunction should not buffer a streamed response: #68447 - fix(create-next-app): link to app dir docs in next-env.d.ts in app dir templates: #68534
- Fix
pnpm build --filter nexton a clean repository: #68693 - Rename url to path for onRequestError request arg: #68672
- misc: add dd-trace to server externals: #68785
- [after] remove createCacheScope: #68744
- Remove obsolete
deleteAppClientCache()call from webpack plugin: #68535 - Clean up
require.cachehandling: #68743 - Fix duplicate logs for invalid config exports: #68696
- Always collect static icons for all segments: #68712
- [Turbopack] write action manifest atomically: #68538
- Add node-cron to server externals: #68788
- re-use
loadingfrom prefetch cache entries across searchParams: #68340 - Ensure bail out on ssr error in static generation: #68764
- rename fetchServerResponse response properties: #68814
- Only opt into navigation PPR flow if prefetched route was PPRed: #68815
- refactor: incremental cache cleanup: #68602
- unfork navigateReducer: #68816
- remove circular ExportError import from SSG worker: #68858
- re-order CacheNodeSeedData to put containing segment first: #68847
- Normalize vendored entrypoints: #68502
- fix(next): properly pass layout-level
maxDurationconfig to the children page segments on build: #68793 - chore: fix typos in comments: #68792
- Fix issue with afterFiles rewrites not working when prefixed with assetPrefix: #68694
- refactor(turbo-tasks): Add TaskPersistence enum for task creation functions: #68866
- Remove invalid app router etag normalizing: #68948
- perf(turbo-tasks-macros): Move
assert_returns_resolved_valueinto helper module: #68867 - fix i18n data pathname resolving: #68947
- refactor(turbo-tasks): Use an enum for
strongly_consistent/ReadConsistencyinstead of a bool: #68913 - Update React from
187dd6a7-20240806to49496d49-20240814: #68898 - Lookup alias and import maps using Pattern instead of String: #68274
- perf(turbopack): improve app structure performance: #67397
- Simplify static indicator: #68961
- use setImmediate (if present) in edge react-dom/RSDW/RSDT: #68952
- Fix flying-shuttle full mode breaking instrumentation: #68976
- Update font data: #68964
- Revert "Ensure bail out on ssr error in static generation": #68986
- Add draft mode flag for multi-zone: #68997
- Reland "Ensure bail out on ssr error in static generation": #68999
- Update React from
49496d49-20240814to1eaccd82-20240816: #68991 - Improve Metadata JSDoc: #69037
- Include proper instrumentation entry in required files manifest: #68983
- Resolve route interception problem with (..)(..): #69012
- fix: Move tree shaking config to
experimental.turbo: #69050 - Turbopack build: Fix metadata handling: #69086
- Remove references to removed react-dom/server APIs in Webpack shims: #68987
- misc: tweak fetch patch restoration timing during HMR to allow for userland fetch patching: #68193
- Remove unused react-dom/server.browser references: #68988
- refactor: fallback updates: #68631
- refactor: update fallbacks to use response cache: #68603
- Improve create not found tree and remove asNotFound: #68910
- bugfix: ensure rsc isn't reused for page segments when reusing loading data: #69123
- add support for css-in-js ressource mapping in experimental lightningcss-loader: #64551
- Stablize instrumentation.js: #68853
- Ensure vendored
react-dom/server.browseris used: #69142 - Ensure assertion failures include all versions in rsc-basic tests: #69138
- bugfix: ensure prefetch aliasing doesn't apply URL redirect: #69153
- Remove
optimizeFonts(Automatic font optimization) superseded by next/font: #69137 - Ensure fetch cache TTL is updated properly: #69164
- correctly rethrow instrumentation loading error: #65251
- disable prefetch aliasing in development: #69168
- refactor: create shared utils for mod resource: #69145
- remove action pathname normalizer: #69181
- Apply optimization for unused actions: #69178
- Improve SWC transform ID generation: #69183
- Update React from
1eaccd82-20240816toeb3ad065-20240822: #69196 - [Tracing] Trace next-dev spans to represent the dev server: #69206
- Refactor unused import and object in Flight plugin: #69266
- refactor: group react dev overlay entry: #69223
- handle uncaught exceptions in worker: #69335
- Set max retries for build failures to zero: #69340
- send initialCanonicalUrl in array format to prevent crawler confusion: #69370
- remove unused argument to applyPatch: #69376
- Respect webpackIgnore and turboIgnore comments in the parser: #68451
- refactor path creation in walkTreeWithFlightRouterState: #69383
- Partial Fallback Prerendering: #68958
- Upgrade React from
eb3ad065-20240822tof90a6bcc-20240827: #69415 - chore: add logs to download-swc ci job: #69425
- Upgrade React from
19.0.0-rc-f90a6bcc-20240827to19.0.0-rc-7771d3a7-20240827: #69417 - Introduce dynamicIO experiment: #67571
- Add module id strategy option to next config: #69319
- cleanup FlightDataPath array access/slicing: #69241
- normalize flight data after receiving server response: #69460
- Support turbo: true option for custom server: #69464
- bugfix: aliased prefetches should flow through PPR handling: #69476
- fix: bump sharp@0.33.5: #69524
- fix: styledComponents schema: #69230
- Add browser devtool inspect url copy button to dev overlay: #69357
- Lazily init fetch dedupe cache: #69492
- Turbopack build: Fix middleware matchers implementation: #69602
- chore(metadata): add clarifying comment: #69549
- Remove unsupported providerImportSource option: #69609
- fix: clientComponentLoading span type: #69295
- Fix typos: #69568
- fix(eslint): allow typescript-eslint v8: #68807
- Allow external image urls with _next/image pathname to be rendered via Image component: #69586
- [Turbopack] gracefully stop turbo-tasks to allow persisting to complete: #69661
- fix: ensure absolute paths are handled correctly with
--fileoption innext lintcommand forlint-stagedcompatibility: #69220 - dev-overlay: Implement CopyButton without useActionState or async transitions: #69494
- Update
swc_coretov0.103.1: #69605 - Run link-ref tests in /app and /pages: #69564
- Partial Fallback Prerendering Route Shells: #69282
- Ensure externalized React entrypoints use vendored React in App Router: #69610
- Turbopack build: Implement --experimental-app-only flag: #69722
- Use vendored React version in Middleware and Instrumentation: #69619
- [Turbopack] refactoring/todos: #69663
- misc: typo in var name: #69745
- Partial Prerendering Basepath Fix: #69520
- pages bugfix: prevent cancellation errors from being logged: #69766
- Disable experimental.optimizeServer by default: #69788
- Fix middleware fallback: false case: #69799
- ensure aliased prefetches return correct segment key: #69850
- feat(turbopack): add
experimental.turbo.rootconfig option: #69737 - Turbopack dev/build: Initial browserslist passing: #69781
- [Turbopack] only subscribe to changes in dev mode: #69862
- HMR: Log unexpected Turbopack errors to a file: #68698
- fix: use correct protocol when -H and --experimental-https are enabled: #69822
- fix: remove unnecessary console in
isDynamicPostpone: #69457 - Add ability to customize Cache-Control: #69802
- Support React 18 in Pages Router: #69484
- Revert "Support React 18 in Pages Router": #69911
- Pass client trace metadata to client in pages router: #69620
- Fix font size for build error version status: #69811
- feat(image-optimizer): use previously cached image cache entry if upstream image is identical: #67257
- [Turbopack] print invalid message correctly: #69964
- fix: correct metadata url suffix: #69959
- [Turbopack] add error for invalid exports: #69819
- handle empty query param issue in url redirects #68039: #68157
- ensure prefetch entry is not mutated: #69948
- Remove invalid fallback revalidate value: #69990
- Update font data: #70003
- [Turbopack] stable Vcs without TraitRef::cell: #70029
- [Turbopack] fix HmrEntryModule: #69965
- [Turbopack] remove entries from versioned content map again: #69913
- Fix not-found case with incremental tracing: #70041
- Upgrade React from
7771d3a7-20240827to94e652d5-20240912: #70037 - breaking: remove
geoandipfromNextRequest: #68379 - fix: Add
import-in-the-middleto server-external-packages: #68937 - Ensure .d.ts files are not processed in babel-loader / swc-loader: #66074
- [Turbopack] [HMR] Allow
Options to be returned byVersionedContentMap: #69079 - [Turbopack] report error to stderr when an error in a subscribtion happens: #69977
- Update experimental trace tracking: #70044
- fix(next): Fixed an error when next#dev runs in windows: #70013
- Upgrade React from
94e652d5-20240912to206df66e-20240912: #70076 - Add "@sparticuz/chromium" to server-external-packages.json: #69127
- skip generating cert each time: #67122
- fix: clone response in first handler to prevent race: #70082
- fix: eslint-plugin-next glob: #68773
- Fix eslint root dirs test on Windows: #70160
- fix: rsc content-type header not matching with charset: #70033
- Fix startTime error on Android 9 with Chrome 74: #67391
- Fix regression in TS plugin: allow
resetprop in error files: #69777 - Ensure we chunk revalidate tag requests: #70189
- fix(lint): no-html-link in appDir: #68770
- fix(next): skip conventional type check for
_privatefolder convention: #64177 - Only wait for metadata when dynamicIO experiment is on: #70192
- chore: bump jscodeshift version: #70203
- Upgrade React from
206df66e-20240912toa99d8e8d-20240916: #70190 - Fix vercel og package memory leak: #70214
- Replace URL.canParse: #70215
- Add support for
dynamicIOexperiment toroute.tsmodules: #70208 - [ppr] Allow fallback pages to be revalidated: #70199
- Re-add internal env for providing page paths: #70235
- feat: add polyfill of
URL.canParsefor browser compatibility: #70228 - Remove dependecy graceful-fs and types: #67194
- chore: add comments for polyfill imports and file paths: #70233
- Upgrade React from
a99d8e8d-20240916to5dcb0097-20240918: #70225 - Run
@next/codemodtests in CI: #70248 - Upgrade React from
5dcb0097-20240918toe740d4b1-20240919: #70260 - bugfix: actions that redirect should reject the action promise: #69945
- Fix missing cache-control on SSR app route: #70265
- Remove unused
app_structurefromnext-swc-napi: #70282 - fix: match file path url escaping during build and serve: #70256
- Rename
loader_treetoapp_page_loader_tree: #70283 - Rename app directory "components" to "modules": #70285
- Honor redirect type in server actions: #70279
- refactor: collect all isThenable/isPromise definitions: #70293
- feat(next/image): add support for
decodingprop: #70298 - Improve server directive SWC transform: #70257
- Remove unused Server IDs tracking on the server graph: #70317
- relocate dynamic APIs: #70300
- Update root not found boundary to not introduce Server Component: #70328
- feat(next): codemod for removed
geoandipofNextRequest: #70064 - Mention
appdir in TS setup tip: #70337 - Add additional fixes for experimental tracing: #70356
- Fix duplicate headers in response to static assets if overrides specified by user: #70127
- fix: change duplicated POST method to PUT method: #70308
- Externalize node binary modules for app router: #70330
- Support fallback params when the layout is a client component: #70329
- Codemod for Async Request API: #69572
- Extract
createAppRouteCodefromnext-app-loader.ts: #70352 - [Type Definition] - Updates the manifest types to reflect the current specifications: #68273
- Fix middleware experimental trace case: #70372
- Fix legacy env config with experimental tracing: #70380
- Update font data: #70377
- add missing node modules to externals: #70382
- Avoid prefetch request before meta-tag-based redirect: #70350
- Turbopack: improve stack trace in overlay: #70343
- refactor: more precise types for req/res in withRequestStore: #70357
- Add test for TLA in client references: #70022
- Upgrade React from
e740d4b1-20240919toe4953922-20240919: #70290 - feat(next-codemod): add
upgradecommand: #69935 - refactor: reorganize client error listeners: #70373
- refactor: reorganize patch console: #70374
- types: improve napi binding typing using generated types: #69680
- Upgrade React from
e4953922-20240919to5d19e1c8-20240923: #70351 - feat(next/image): add support for
images.remotePatterns.search: #70302 - chore: throw error when trying to use next.config.mts/.cjs/.cts (not supported yet): #70376
- Fix legacy env case with experimental tracing: #70411
- chore: auto-format generated types with prettier: #70405
- refactor(next-codemod): migrate to commander and prompts: #70409
- chore: auto-format generated types with prettier: #70405
- refactor(next-codemod): migrate to commander and prompts: #70409
- Extend support of Pages router to React 18: #70219
- Basic implementation of cache-wrapper with RSC serialization: #70435
- fix: updated typescript types for React API's: #70410
- Fix type error from merge: #70481
- Ensure validator is included in vendored AMP validator: #70482
- [Breaking] Update Dynamic APIs to be async: #68812
- Use Server/Client Manifests from Singleton in encryption-utils: #70485
- refactor: remove ability to call getStaticPaths from app directory pages: #70477
- refactor: extracted zod configuration: #70478
- [ppr] Added fallback shell debugging: #70528
- Remove shouldRevalidateStale concept from CacheHandlers: #70493
- fallback shell should not error when dynamic due to params access even with dynamic = "error": #70534
- Add cache scope handling for dynamic IO for dev/build: #70408
- remove unimplemented onError errorInfo argument: #70531
- Add env for setting cache handler path: #70537
- Disable "use cache" outside of dynamicIO: #70538
- Include buildId in the cache breaker until we have hashed Action IDs: #70542
- Support dynamicIO in middlware routes and generateStaticParams: #70544
- Unwrap
createServerReference, and pass additional parameters: #69190 - Turbopack build: Fix benchmark running with webpack: #70533
- [form] allow turning prefetching off: #68305
- [after] fix: execute revalidates added within unstable_after(): #70458
- Upgrade React from
778e1ed2-20240926to3edc000d-20240926: #70560 - Exclude Object and Promise prototype properties from shadowing for params and searchParams: #70568
- refactor prefetch alias handling: #70532
- refactor: handle onlyHashChange logic sooner: #70569
- Updates our sync property access for params and searchParams to allow value: #70570
- codemod: improve dynamic API cases: #70517
- Auto rotate Server Reference hash salt periodically: #70516
- remove leftover console.log introduced in #70532: #70615
- Add
connection()as a new dynamic API: #69949 - Fix: Set busboy defParamCharset to utf8: #70348
- Update
dynamicIOexperiment to use React canary: #70571 - refactor: remove unnecessary page segment check in ppr-navigations: #70572
- Wire AsyncLocalStorage within a cached context: #70573
- Fix
revalidateTag()behaviour when invoked in server components: #70446 - next-upgrade: Ensure install packages works on exotic package revisions: #70625
- Error consistently during prospective prerender: #70631
- next-upgrade: Infer React types version from runtime version: #70626
- next-upgrade(refactor): Improve type coverage: #70627
- next-upgrade: Remove extraneous if no channel is specified: #70628
- next-upgrade: select codemods by canary version: #70630
- next-upgrade: Hide install output by default: #70632
- next-upgrade: Allow custom selection of codemods: #70634
- next-upgrade: Allow choosing same codemods that are available in the currently used version: #70635
- Upgrade React from
3edc000d-20240926to2d16326d-20240930: #70629 - fix: fix warnings from invalid api's called from edge runtime: #70639
- Update font data: #70653
- refactor: added more strict app segment config parsing: #70479
- next-upgrade: Stop interleaving user-input with long tasks: #70636
- Replace depricated
apple-mobile-web-app-capablewith `mobile-web-ap…: #70363 - Fix interpolation of dynamic params in intercepting route pathnames: #70667
- bugfix: only replace with full prefetch if existing data was partial: #70650
- next-upgrade: Default to release channel that's used: #70638
- feat(turbopack): add support for polling file watcher: #69684
- chore: improve accessibility of static indicator: #70612
- initially visited static pages should respect static staletime: #70640
- codemod: improve dynamic api codemod cases: #70593
- feat(next/image): add
images.localPatternsconfig: #70529 - Recommend
React.use()to unwrap async APIs in the browser: #70677 - Change default SWR delta value to 1 year: #70674
- [form] pages dir support: #68333
- chore(docs): refactor README.md: #70503
- Fix missing
awaitofparamswhen metadata is used: #70698 - condense warnings for direct access of dynamic APIs: #70682
- Allow silencing direct access of dynamic APIs to unblock internal sync: #70705
- Separate the rendering of viewport from metadata: #70685
- codemod: fix merging react imports logic: #70706
- Rename StaticGenerationStore to WorkStore: #70721
- fix: Do not omit alt on getImgProps return type, ImgProps: #70608
- fix(next/image): handle undefined
images.localPatternsconfig inimages-manifest.json: #70730 - Run unstable_cache inside a CacheStore context: #70740
- Expand PrerenderStore to include the legacy mode static generation too: #70741
- Reapply "Dedupe sync access warning on the Server by callsite" (#70672): #70738
- Add RSC module ID mapping to the Client Manifest: #70524
- [i18n] Routing fix: #70761
- fix broken lock mechanism: #70764
- client router cache should still be cleared if server action revalidates + redirects: #70715
- ensure handleUnlock is called even for non-cached responses: #70766
- [dynamicIO] Error when dynamic behavior is outside of a Suspense boundary: #70734
- [Turbopack] add new backend: #69667
- Fix client reference access causing metadata missing: #70732
- Move reactLoadableManifest/assetPrefix to workStore: #70768
- Unwrap
registerServerReferencefunction: #70563 - Error if reading Request Store inside Prerender: #70775
- codemod: handle the async api type: #70785
- Create spans for
createServerReferenceandregisterServerReference: #70564 - Do not invoke server actions twice when
dynamicIOis enabled: #70784 - feat: decouple cookies and action state from redirect error: #70769
- refactor: added more strict app segment config validation: #70480
- Fix recently re-introduced unique "key" prop warnings: #70807
- Run Middleware within WorkStore: #70808
- ensure export workers that are killed bubble up to parent process: #70997
- next-upgrade: Ensure correct React and types version are resolved when upgrading to Next.js rc: #70981
- codemod: leave comment on spread props: #70979
- docs: add
app-dir-runtime-config-experimental-edgecodemod: #71008 - docs: add
next-dynamic-access-named-exportcodemod: #71012 - chore(next-upgrade): use process exit instead of throwing: #71018
- chore(next-upgrade): improve revision usage messages: #71019
- Revert "chore(next-upgrade): use process exit instead of throwing (#7…: #71021
- Disable server action transform in pages router: #71028
- chore(next-codemod): view current Next.js version, skip if already on or higher: #71034
- codemod: comment on reexport: #71017
- move workUnitAsyncStorage back into "client/components": #71046
- codemod: type cast async api calls in non entry file exports: #71040
- codemod upgrade: show link of migration guide after upgrade: #71036
- Defensively install patches: #71043
- fix(next/turbopack): Always preserve import attributes with esm modules: #71051
- codemod: fix type only react import: #71053
- types-plugin: enahnce type checking on interface params: #71059
- Move WorkStore and ActionStore to /server/app-render: #70934
- [Turbopack] Implement support for webpack’s
stats.json: #70996 - chore(next-codemod): add verbose option to transform: #71079
- chore: polish warning for esmExternals: #71082
- go back to ignoring revalidates from render: #71088
- [Turbopack] add support for collectibles to new backend: #70798
- codemod: do not await on invalid prop: #71089
- chore(next-codemod): move app-dir-runtime-config-experimental-edge to 13.1.2: #71081
- Add cacheLife() / cacheTag() APIs: #71064
- Eagerly Pass Implicit Tags: #71105
- chore(next-codemod): add prompts for (un)installing packages: #71038
- [Turbopack] formatIssue is expensive, so avoid it if possible: #71117
- add phase tracking to workUnitStore: #71030
- [Turbopack] add unstable prefix to persistent caching option and force to provide an expected level of stability: #71090
- codemod: make parser more comptible: #71122
- Don't warn on well-known properties in
searchParams: #71142 - Add source map support for server components/actions in the browser: #71042
- show webpack/turbopack compilation duration for next build: #71146
- tweak static indicator style & behavior: #71128
- feat(next-upgrade): suggest React codemod: #71016
- prevent revalidateTag/Path during render: #71093
- fix(turbopack): Fix
NextEcmascriptClientReferenceTransition: #70603 - turn withRequestStore into createRequestStore: #71107
- Initial implementation of per-segment prefetch request handling: #71113
- Upgrade React from
2d16326d-20240930to70fb1363-20241010: #71118 - Revert "chore(next-codemod): move app-dir-runtime-config-experimental-edge to 13.1.2": #71157
- feat: block compilation on codemod comments and ask to remove: #71103
- Scope request store in render: #71109
- Reject hanging promises: #70994
- fix: allow custom app routes for metadata conventions: #71153
- chore(next-codemod): suggest pre-release codemods by their "stable" version: #71158
- misc(next-codemod): inform user whether current version is higher or on target version: #71160
- Update loading cache handler: #71121
- prevent cookies from being set in the wrong phase: #71094
- avoid accessing performance APIs if fetch is untracked: #71164
- Handle source map requests for Turbopack client chunks: #71168
- fix:
getStaticPropsappears instead ofgenerateStaticParamsduring app router build: #71033 - Rename swrDelta config to expireTime: #71159
- tweak shadow on static indicator & update docs copy: #71171
- [dynamicIO] track Prerender environment name during dev: #71165
- chore: update migration comments: #71169
- Add support for
"use cache"in route handlers: #70897 - For route handlers, call
loadComponentsalso duringnext build: #71202 - Handle thrown values that aren't
Errorinstances in App router: #71210 - fix: add newrelic to server-external-packages.json: #71066
- chore: delete redundant blank spaces in
packagesdirectory: #71189 - Do not create client reference manifest for metadata route handlers: #71225
- Upgrade React from
70fb1363-20241010tocd22717c-20241013: #71223 - Cache in CacheScopeStore in use cache: #71221
- Encode binary cache keys as ucs-2 strings: #71224
- Hide stack for bad input by default: #71253
- [after] after is not dynamic anymore: #71231
- codemod: ensure install commands run in terminal: #71255
- codemod: install types into dev dependencies: #71257
- codemod: polish end message: #71259
- chore: Ensure Next.js is built with a specified version of TypeScript: #71256
- more detailed time display: #71248
- Propagate expire/stale times the same way we do with revalidate: #71228
- Update global cache handler ref: #71263
- Handle URL-encoded Turbopack client chunks when resolving source maps: #71274
- [BREAKING] Support ESLint v9 in plugin, config and
next lint: #71218 - Make cacheLife profiles configurable: #71232
- [dynamicIO] warn in debug mode when prospective renders error: #71266
- codemod: prettier the version logging at the beginning: #71264
- Fix missing key in
LoadingBoundary: #71222 - codemod: install core deps based on package.json group: #71265
- Set Next-Router-Stale-Time header from collected stale times: #71279
- Respect stale time header in client prefetch cache: #71280
- Mark revalidate: 0 on fetch or use cache as never resolving promise in Dynamic I/O: #71285
- static indicator shouldn't show for force-dynamic: #71284
- Implement cacheScope by caching a Promise
: #71286 - codemod: update react-is if needed: #71276
- chore: remove experimental warning for next-config-ts: #71297
- fix(next): eslint v9 not picking up config: #71298
- Add support for
'use cache'in route handlers using the Edge runtime: #71258 - Re-add canary gates for certain experimental features: #71307
- Fix symbol for cache: #71270
Documentation Changes
- Add WorkOS to list of auth solutions: #64395
- docs (mdx): update tree to include mdx-components.tsx file: #64376
- Update 02-server-actions-and-mutations.mdx: #64248
- Update 04-cypress.mdx: #64375
- Update 13-debugging.mdx: #64344
- docs: clarify
Internationalization (i18n) Routing: #63853 - docs(pages): update slug value for optional catch all routes: #64381
- Fix optimizePackageImports docs for Pages Router: #64439
- Adds MDX Components file convention page and updates MDX page: #63568
- docs: fix config variable usage in memory docs: #64469
- Fix missing PagesOnly in 05-mdx: #64505
- chore(docs): Add example usage of PixelBin custom image loader: #64074
- docs(09-authentication): fixes link to NextAuth.js: #64457
- Improve auth docs : #63140
- Docs: Fix broken link: #64581
- docs: clarify runtime: #64593
Example Changes
- Add TypeGen to Sanity example: #64198
- Update Sanity example deps and tsconfig: #64570
- chore: fix a wrong link for with-service-worker example: #64666
- Update Nav.tsx: #64818
- Update with-storybook example: #64911
- bug fix on a pull request #64911: #64925
- Update Sanity example deps: #64939
- deps updated for with-mongodb-mongoose example: #64928
- Docs: Explain why Layouts (RSCs) can't access
pathname: #64785 - fix(examples): blog-starter href, remove redundant public folder: #65025
- Ensure latest canary of Next.js is installed in repros: #64967
- Ensure latest canary of Next.js is installed in repros: #65197
- feat(examples): add with-turso: #61291
- Fix export function name on docs/routing/layouts-and-templates: #65240
- Fixes with-supertokens example: #65267
- @emotion/cache version fix: #65422
- update reproduction templates to use correct React: #65624
- Resolve grammatical errors in examples: #65644
- Update
middlewareexample to App Router: #65618 - update cache handler version and added better logic for opting out of…: #65330
- Update Sanity example deps and implementation: #65744
- update convex README.md: #65765
- chore: Bump react-modal to 3.16.2 in with-router-as-modal example: #65841
- Update Google Analytics example for App Router: #66021
- fix(examples): blog-starter href, remove redundant public folder: #65025
- Ensure latest canary of Next.js is installed in repros: #64967
- Ensure latest canary of Next.js is installed in repros: #65197
- feat(examples): add with-turso: #61291
- Fix export function name on docs/routing/layouts-and-templates: #65240
- Fixes with-supertokens example: #65267
- @emotion/cache version fix: #65422
- update reproduction templates to use correct React: #65624
- Resolve grammatical errors in examples: #65644
- Update
middlewareexample to App Router: #65618 - update cache handler version and added better logic for opting out of…: #65330
- Update Sanity example deps and implementation: #65744
- update convex README.md: #65765
- chore: Bump react-modal to 3.16.2 in with-router-as-modal example: #65841
- Update Google Analytics example for App Router: #66021
- adopt modern & supported Apollo Client patterns in the with-apollo example: #65316
- Update with-react-hook-form example: #66253
- chore(examples): update reproduction template: #66301
- Update to with-supertokens example: #66320
- refactor: rename API endpoint to '/api/protected-api' for comment: #66456
- Update Sanity example deps and prepare for next v15: #66158
- Update with-supertokens example: #66827
- fix: Prevent MongoDB client promise being cached: #66977
- Prepare for easier shadcn ui install: #66469
- Updated with-sitemap example for App Router: #66995
- Example/update blog starter: #66926
- fix: fix entry point for storybook, add storybook static ouput to gitignore: #67207
- examples(with-mdx): update to MDX 3: #62503
- Revert "examples(with-mdx): update to MDX 3": #67249
- add more examples to run-for-change script: #67250
- Fix Dead Links in @neshca/cache-handler-redis example README.md: #67415
- Update redirects example for App router: #67065
- Updated layout-component with new feature layout.js: #67447
- [Multi Zones] Update the with-zones example to use App Router: #67636
- fix: missing file when build docker: #67718
- Examples: updated the example of dynamic-routing to utilize the App Router: #67684
- Updated basic-export example with app router: #67760
- Migrated the active-class-name Example to App router: #67622
- Downgrade react and react-dom to 19.0.0-rc.0: #67788
- Examples: updated the example of head-elements to utilize the App Router: #67829
- Examples: updated the example of analyze-bundles to utilize the App Router: #67843
- fix[examples]: update example cache-handler-redis: #67350
- Examples: Updated the example of headers to utilize the App Router: #67920
- Updated/Migrated next-css example to the App Router: #67942
- [examples] fix: ant-design unstyled hydration issue: #68000
- Update cookie handling for Supabase SSR package: #67413
- Examples:Updated with-slate example to App Router: #68060
- Updated nested-components example to use App Router: #68065
- Examples: Updated the example of catch all routes to utilize the App Router: #68270
- docs: Custom Server for App Router: #68167
- update react remove properties to support app route: #68324
- Update Sanity example deps and fix readme typo: #68359
- Migrated svg-components to App-router: #68394
- with-mongodb update to add both App and Pages Router examples: #68461
- fix: ENV warn info: #68486
- Migrated 'with-absolute-imports' to App-router Convention: #68666
- Updated radix-ui example to use App Router: #68711
- updated the example of api-routes to utilize the App Router: #68771
- fix: inngest example for latest version: #68600
- Compose refactor: #68503
- Improve TypeGen in Sanity Example: #68580
- Update page.tsx - Fixing hydration error: #66868
- fix: cache-handler example should reconnect to redis after errors: #68221
- (Examples) Adds
with-google-tag-managerexample that uses@next/third-parties: #57364 - Fix linting from #57364: #68951
- examples: avoid duplicate css insert for ant design: #57947
- docs(examples): fix next-translate prod hydration error in layout: #52653
- (Example) Remove redirects plugin from Sitecore XM Cloud example: #69094
- Supabase: improve sign in and sign up, add reset password: #69066
- Add Meilisearch example: #53251
- updated the example of custom-routes-proxying to utilize the App Router: #68941
- examples: update "ENV key value" format format to "ENV key=value": #69053
- fix: ENV warning: #69091
- Reduce TypeGen boilerplate in Sanity Example: #69134
- Examples - Updated with-windcss example for App Router: #69365
- examples: Supabase | ui.shadcn, App Router Layouts: #69308
- Fix: Example Template | with-supabase - wrong file name breaking build: #69394
- Fix/ Examples
use-supabase| Multiple improvements : #69407 - examples: Updating WordPress example to Next 14: #62447
- Add
cms-umbracoexample: #52777 - Example: Updated the example of rewrites to utilize the App Router: #69495
- docs: Use
useFormStateoveruseActionState: #69547 - updated the example of modularize-imports to utilize the App Router: #69771
- updated the example of with-xstate to utilize the App Router: #69960
- Updated the example of with-eslint to utilize the App Router.: #70018
- Remove stores params: #69796
- Fix example URL for api-routes -> route-handlers: #69642
- Update with web worker example to utilize the App Router: #70058
- fix(examples): typo command name: #70094
- fix: button className in with_supabase example: #70121
- fix(examples): remove
versionattribute post deprecation: #70108 - Update examples/github-pages/README.md: #70057
- remove unsafe-inline from with-strict-csp: #69497
- chore/ examples use-supabase | update rate limit note: #69423
- examples(with-supabase): typo on env file name: #69291
- fix(examples/with-docker): remove not needed files from docker context: #68668
- updated the example of with-videojs to utilize the App Router: #70226
- updated the example of with-three-js to utilize the App Router: #70287
- Updated the example of with-vercel-fetch to utilize the App Router.: #70069
- Updated the example of ssr-caching to utilize the App Router.: #69560
- Updated the example of ssr-caching to utilize the App Router.: #69560
- fix(example): Change hostname in docker multiple env examples: #70105
- Updated the example of with-draft-js to utilize the App Router.: #70045
- Fix Stackblitz preview link on with-opentelemetry example: #70543
- [Multi-Zones] Update example and documentation with most recent practices for Multi-Zones: #70565
- updated the environment variables examples to utilize the App router: #70392
- chore(examples): updated the example of with-styled-components: #70796
- chore(examples):updated the example of with-stitches to utlize the App router: #71007
- docs(typo): fix typo in
cms-sanityexampleREADME.md: #71211
Credits
Huge thanks to @huozhi, @shuding, @wyattjoh, @PaulAsjes, @mcnaveen, @timneutkens, @stipsan, @aktoriukas, @sirTangale, @greatvivek11, @sokra, @anatoliik-lyft, @wbinnssmith, @coltonehrman, @hungdoansy, @kxlow, @ztanner, @manovotny, @leerob, @ryota-murakami, @ijjk, @pnutmath, @feugy, @Jeffrey-Zutt, @wiesson, @eps1lon, @devjiwonchoi, @Ethan-Arrowood, @kenji-webdev, @domdomegg, @samcx, @Jaaneek, @evanwinter, @kdy1, @balazsorban44, @feedthejim, @ForsakenHarmony, @kwonoj, @delbaoliveira, @xiaohanyu, @dvoytenko, @bobaaaaa, @bgw, @gaspar09, @souporserious, @unflxw, @kiner-tang, @Ehren12, @EffectDoplera, @IAmKushagraSharma, @Auxdible, @sean-rallycry, @jeanmax1me, @unstubbable, @NilsJacobsen, @adiguno, @ryan-nauman, @zsh77, @KagamiChan, @steveluscher, @MehfoozurRehman, @vkryachko, @chentsulin, @samijaber, @begalinsaf, @FluxCapacitor2, @lukahartwig, @brianshano, @pavelglac, @styfle, @symant233, @HristovCodes, @karlhorky, @jonluca, @jonathan-ingram, @mknichel, @sopranopillow, @Gomah, @imddc, @notrab, @gabrielrolfsen, @remorses, @AbhiShake1, @agadzik, @rishabhpoddar, @rezamauliadi, @IncognitoTGT, @webtinax, @BunsDev, @nisabmohd, @z0n, @bennettdams, @joeshub, @n1ckoates, @srkirkland, @RiskyMH, @coopbri, @okoyecharles, @diogocapela, @dnhn, @typeofweb, @davidsa03, @imranolas, @lubieowoce, @maxhaomh, @mirasayon, @blvdmitry, @hwangstar156, @lforst, @emmerich, @christian-bromann, @Lsnsh, @datner, @hiro0218, @flybayer, @ianmacartney, @ypessoa, @ryohidaka, @icyJoseph, @Arinji2, @lovell, @nsams, @Nayeem-XTREME, @JamBalaya56562, @Arindam200, @gaojude, @qqww08, @todor0v, @tokkiyaa, @arlyon, @lorensr, @Juneezee, @Sayakie, @IGassmann, @bosconian-dynamics, @phryneas, @akazwz, @atik-persei, @shubh73, @alpedia0, @chogyejin, @notomo, @ArnoldVanN, @dhruv-kaushik, @kevva, @Kahitar, @anay-208, @boris-szl, @devnyxie, @LorisSigrist, @M-YasirGhaffar, @Lada496, @kippmr, @torresgol10, @pkiv, @Netail, @jontewks, @ArnaudFavier, @chrisjstott, @mratlamwala, @mayank1513, @karlkeefer, @kshehadeh, @Marukome0743, @a89529294, @anku255, @KeisukeNagakawa, @andrii-bodnar, @aldosch, @versecafe, @steadily-worked, @cfrank, @QiuranHu, @farsabbutt, @joostmeijles, @saltcod, @archanaagivale30, @crutchcorn, @crebelskydico, @Maaz-Ahmed007, @jophy-ye, @remcohaszing, @JoshuaKGoldberg, @creativoma, @GyoHeon, @SukkaW, @MaxLeiter, @neila-a, @stylessh, @Teddir, @ManuLpz4, @Julian-Louis, @syi0808, @mert-duzgun, @amannn, @MonstraG, @hamirmahal, @tariknh, @Kikobeats, @LichuAcu, @Kuboczoch, @himself65, @Sam-Phillemon9493, @Shruthireddy04, @Hemanshu-Upadhyay, @timfuhrmann, @controversial, @pathliving, @mischnic, @mauroaccornero, @NavidNourani, @allanchau, @ekremkenter, @yurivangeffen, @gnoff, @darthmaim, @gdborton, @Willem-Jaap, @KentoMoriwaki, @TrevorSayre, @marlier, @Luluno01, @xixixao, @domin-mnd, @niketchandivade, @N2D4, @kjugi, @luciancah, @mud-ali, @codeSTACKr, @luojiyin1987, @mehmetozguldev, @ronanru, @tknickman, @joelhooks, @khawajaJunaid, @rubyisrust, @abdull-haseeb, @bewinsnw, @housseindjirdeh, @li-jia-nan, @aralroca, @s-ekai, @ah100101, @jantimon, @jordienr, @iscekic, @Strift, @slimbde, @nauvalazhar, @HughHzyb, @guisehn, @wesbos, @OlyaPolya, @paarthmadan, @AhmedBaset, @dineshh-m, @avdeev, @Bhavya031, @MildTomato, @Bjornnyborg, @amikofalvy, @yosefbeder, @kjac, @woutvanderploeg, @Ocheretovich, @ProchaLu, @luismiramirez, @omahs, @theoludwig, @abhi12299, @sommeeeer, @lumirlumir, @royalfig, @iampoul, @molebox, @txxxxc, @zce, @mamuso, @kahlstrm, @vercel-release-bot, @zhawtof, @PapatMayuri, @PlagueFPS, @IDNK2203, @jericopulvera, @liby, @CannonLock, @timfish, @whatisagi, @none23, @haouvw, @Pyr33x, @SouthLink, @frydj, @CrutchTheClutch, @sleevezip, @r34son, @yunsii, @md-rejoyan-islam, @kartheesan05, @nattui, @KonkenBonken, @weicheng95, @brekk, @Francoscopic, @B33fb0n3, @ImDR, @nurullah, @hdodov, @ebCrypto, @soedirgo, @floriangosse, @Tim-Zj, @raeyoung-kim, @erwannbst, @DerTimonius, @hirotomoyamada, @Develliot, @chandanpasunoori, @vicb, @ankur-dwivedi, @kidonng, @baeharam, @AnaTofuZ, @coderfin, @xugetsu, @alessiomaffeis, @kutsan, @jordyfontoura, @sebmarkbage, @tranvanhieu01012002, @jlbovenzo, @Luk-z, @jaredhan418, @bangseongbeom, @penicillin0, @neoFinch, @DeepakBalaraman, @Manoj-M-S, @Unsleeping, @lonr, @Aerilym, @ytori, @acdlite, @actopas, @n-ii-ma, @adcichowski, @mobeigi, @JohnGemstone, and @jjm2317 for helping!
Core Changes
- refactor: next-flight-client-module-loader return conditions: #64348
- Fix Server Action error logs for unhandled POST requests: #64315
- Shared Revalidate Timings: #64370
- Freeze loaded manifests: #64313
- test: skip turbopack build test: #64356
- Fix: css in next/dynamic component in edge runtime: #64382
- Fix more Turbopack build tests: #64384
- use pathToFileUrl to make esm import()s work with absolute windows paths: #64386
- Improve rendering performance: #64408
- Fix the method prop case in Server Actions transform: #64398
- fix(next-lint): update option --report-unused-disable-directives to --report-unused-disable-directives-severity: #64405
- Revert "Fix: css in next/dynamic component in edge runtime": #64442
- default fetchCache to no-store when force-dynamic is set: #64145
- router restore should take priority over pending actions: #64449
- Fix client boundary inheritance for barrel optimization: #64467
- improve turborepo caching: #64493
- Update font data: #64481
- BREAKING CHANGE: remove deprecated analyticsId from config, and the corresponding performance-relayer files and tests: #64199
- feat: strip traceparent header from cachekey: #64499
- Fix typo in dynamic-rendering.ts: #64365
- fix(next): global not-found not working on multi-root layouts: #63053
- chore(next): add keywords on package.json: #64173
- Fix DynamicServerError not being thrown in fetch: #64511
- fix:
lib/helpers/install.tsto better support pnpm and properly respectrootargument: #64418 - fix(next):
Metadata.openGraphvalues not resolving basic values whentypeis set: #63620 - disable production chunking in dev: #64488
- update turbopack: #64501
- Turbopack: Allow client components to be imported in app routes: #64520
- refactor: remove always truthy flag: #64522
- Turbopack: don’t show long internal stack traces on build errors: #64427
- next/script: Correctly apply async and defer props: #52939
- chore(next/font): update @capsizecss/metrics package: #64528
- feat: add information that revalidate interval is in seconds: #64229
- Typo "Minifer" in config.ts: #64359
- Enhance types for Node and Edge envionments: #64454
- feat: Add a validation for
postcsswithuseLightningcss: #64379 - fix HMR for cases where chunking changes: #64367
- perf: improve Pages Router server rendering performance: #64461
- Fix cjs client components tree-shaking: #64558
- fix refresh behavior for discarded actions: #64532
- fix: filter out middleware requests in logging: #64549
- chore: remove unused rust dependencies: #62176
- fix(next-swc): correctly set wasm fallback for known target triples: #64567
- memoize layout router context: #64575
- fix incorrect refresh request when basePath is set: #64589
- fix TypeError edge-case for parallel slots rendered multiple times: #64271
- Fix ASL bundling for dynamic css: #64451
- Revert "fix(next): global not-found not working on multi-root layouts": #64601
- chore(test): run related E2E deploy tests on PRs: #63763
- Improve top level await coverage: #64508
- Upgrade typescript to 5.3: #64043
- add pathname normalizer for actions: #64592
- Fix experimental/testmode by removing console.log: #64670
- Don't output .test.ts files in next/font: #63472
- Fix reporting when performance.measure doesn't exist (Edge): #64669
- Reduce amount of data passed to collectBuildTraces: #59665
- fix(next-server): 'quiet' setting delegate for custom server: #64512
- Revert "chore(test): run related E2E deploy tests on PRs": #64682
- update turbopack: #64686
- Fix: resolve mixed re-exports module as cjs: #64681
- Revert "fix TypeError edge-case for parallel slots rendered multiple times": #64690
- Fix typo: 'serverComponentsExtenalPackages' should be 'serverComponentsExternalPackages': #64705
- prevent erroneous route interception during lazy fetch: #64692
- Add
@appsignal/nodejsto the external packages list: #64503 - fix root page revalidation when redirecting in a server action: #64730
- Clean-up fetch metrics tracking: #64746
- [actions] Enforce body limit using Transform stream: #64694
- Turbopack: Don’t show stack traces for internal modules: #64228
- Reapply "chore(test): run related E2E deploy tests on PRs" (#64682): #64712
- fix(fetch-cache): fix typo: #64786
- fix: remove traceparent from cachekey should not remove traceparent from original object: #64727
- fix interception route rewrite regex not supporting hyphenated segments: #64805
- Disable ncc cache instead of cache cleaning: #64804
- Move next-swc Turborepo config to packages/next-swc: #64789
- build: Update
swc_coretov0.90.33: #64553 - Enable loading source maps for Next Server and React: #64527
- fix: mixing namespace import and named import client components: #64809
- fext(next): extend next.config for mdxRs support options: #64801
- skip test_e2e_deploy_related when triggered from a fork: #64893
- fix(fetch-cache): fix additional typo, add type & data validation: #64799
- feat(next-core): support parsing matcher config object: #64678
- Fix mixed exports in server component with barrel optimization: #64894
- fix: improve tsconfig extends checks: #61413
- Fix next/image usage in mdx: #64875
- fix dynamic route interception not working when deployed with middleware: #64923
- feat(turbopack): Handle fragments in requests: #64232
- feat(turbopack): Check for duplicate parallel routes: #64181
- Speed up createNext test suite isolation: #64909
- fix(rewrites): support external rewrite destination: #64943
- Ensure edge prerender-manifest is minimal: #64946
- remove special-cased prefetch kind in dev mode: #64941
- feat: support import attributes: #59480
- NextJS App router: add
isolated-vmto server-external-packages.json: #64749 - Add
next experimental-testcommand: #64352 - Revert "feat: support import attributes": #65001
- NODE_OPTIONS updates: #65006
- Update React from 14898b6a9 to c3048aab4: #64798
- initialize ALS with cookies in middleware: #65008
- feat(next/image)!: remove
squooshin favor ofsharpas optional dependency: #63321 - fix: Workaround acorn bug/version issue by using SWC: #65021
- build: Update
@swc/coretov1.5.0: #65022 - Ensure escaped string are parsed in NODE_OPTIONS: #65046
- chore(fetch-cache): remove zod from fetch cache: #65079
- support breadcrumb style catch-all parallel routes: #65063
- Improve initial setup with new App Router TypeScript project: #64826
- Add experimental trace file field: #65071
- Fix playwright config merging for webServer property: #65090
- chore(logging): Disable info logging of critters in production: #62776
- [unstable_cache] Don't track dynamic fetches in an unstable_cache callback: #65010
- fix(page-static-info): refine warning message to emit once: #65091
- update redirect handling on forwarded action requests: #65097
- Tracing: allow opt-in flag to send build traces to url: #65019
- Turbopack: Allow client components from foreign code in app routes: #64751
- fix node.js module warning in middleware: #65112
- Fix: strip _rsc query for client navigation rsc request: #65084
- fix unhandled runtime error when notFound() triggered in generateMetadata w/ parallel routes: #65102
- Use vercel deployment url for metadataBase fallbacks: #65089
- Fix next/dynamic with babel and src dir: #65177
- update turbopack: #65191
- Fix crypto import in edge runtime with Turbopack: #65171
- Resolve global
nextWebpack alias last: #65123 - Add oslo, @node-rs/argon2, and @node-rs/bcrypt to external packages: #65204
- [trace] Reduce the size of .next/trace files: #65101
- Remove extra suspense boundary for default next/dynamic: #64716
- Only apply metadata manifest credentials for preview deployment: #64940
- fix(next): add missing browser.major type: #65185
- Turbopack: rename source map prefix: #64965
- fix(next/image): detect react@19 for
fetchPriorityprop: #65235 - Use POST for invokeIpcMethod: #65238
- fix redirect to url with semicolon: #65165
- Provide non-dynamic segments to catch-all parallel routes: #65233
- Fix an issue parsing catchall params: #65277
- Enable preloading entries by default: #65289
- Trace uploader: add worker spans to allowed events: #65255
- Update font data: #65301
- Update revalidateTag to batch tags in one request: #65296
- Revert "Remove extra suspense boundary for default next/dynamic": #65309
- Emit polyfill-nomodule.js into the build manifest polyfillFiles: #65223
- Remove broken
#[turbo_tasks::value(transparent)]attributes: #65336 - Delete dead
concatenate_output_assetsfunction: #65337 - Upgrade Turbopack: #65320
- Pages router: Use attribute-based head children reconciler when
strictNextHeadis enabled: #65408 - Revert "Implement Turbopack trace server bindings": #65419
- use correct not-found component when triggered from a parallel route: #65343
- Implement Turbopack trace server bindings: #65410
- fix(next/image): bypass icns images: #65414
- [PPR] Enable incremental adoption: #63847
- fix: replace deprecated/removed functions in eslint-plugin-next: #64251
- docs: update
revalidatePath& fix cache debug logic: #65365 - fix(next-core): mark turbopack embed fs to be internals: #65420
- fix(next/image): add missing svg test and refactor missing types: #65345
- build(edge): extract buildId into environment: #64521
- Revert "build(edge): extract buildId into environment": #65425
- fix(next/image): set max url length to 3072: #65457
- Support React 19 in App and Pages router: #65058
- Promote and rename server bundling options
serverComponentsExternalPackagesandbundlePagesExternals: #65421 - add experimental flag to allow forcing NODE_ENV=development in builds: #65463
- Support esm externals in app router: #65041
- fix: lazy load sharp: #65484
- make sure children is first in loader tree to fix head css bug on client navigation: #65279
- Re-land build(edge): extract buildId into environment: #65426
- improve versioned content map: #65466
- update turbopack: #65503
- Remove ineffective webpack rules and unused app-page context modules: #65321
- add page name to crashes: #65504
- Bump styled-jsx to 5.1.3: #65485
- Preload all chunks for next/dynamic in SSR: #65486
- fix!: add sharp timeout of 10 seconds: #65517
- Turbopack: new graph aggregation: #65206
- feat(next): revise server component error message: #65468
- chore: update prettier to 3.2.5: #65092
- Revert "Remove ineffective webpack rules and unused app-page context modules": #65558
- Remove auto appending xml extension to dynamic sitemap routes: #65507
- Remove rsc esm client module extra exports: #65519
- Handle nonce on Next.js injected script/link tags: #65508
- Fix multi-zone test by removing dependency list: #65589
- remove next-action header when following a redirect: #65615
- Remove @next/font resolving for font loaders: #65601
- remove legacy deprecated warnings: #65579
- feat(turbopack): add support for
bundlePagesRouterDependencies: #65520 - fix(next-swc): load wasm fallback if native bindings fail to load: #65623
- fix(next-swc): correct path interop to filepath for wasm: #65633
- Add proper deprecation/rename warnings for server bundling option: #65575
- feat!(next/image): change default
Content-Dispositiontoattachment: #65631 - Pages router: Enable strict
next/headchildren reconciler by default: #65418 - Apply react-server conditions to middleware: #65424
- fix(next-swc): Do not reuse compiler instance: #65602
- Show the new key of experimental config change warnings: #65651
- fix(next-swc): Fix SWC env target - include option: #65693
- Reapply "Implement Turbopack trace server bindings" (#65419): #65527
- fix(resolve-metadata): allow for search params in canonical URL: #65366
- Remove missingSuspenseWithCSRBailout config: #65688
- Reland Remove ineffective webpack rules and unused app-page context modules: #65694
- Remove swc minify related code branches: #65690
- fix: load the tags manifest asynchronously: #64563
- Bump acorn to replace swc class properties transform: #65715
- fix: watch experimental/testmode in when running "pnpm dev": #65689
- Revert "chore: externalize undici for bundling": #65727
- [ppr] Request normalization fixes: #65717
- fix(next/image)!: error when
srchas leading or trailing space: #65637 - fext(next-swc): extend internal env flag to all native bindings: #65748
- Update font data: #65719
- fix(next): add alias to new react exports: #65761
- Update font data: #65768
- feat: remove font family hashing in next/font css: #53608
- Add script to script loader when strategy prop is undefined: #65585
- fix: ensure websockets are correctly passed: #65759
- Add
clientTraceMetadataexperimental option to propagate tracing data to the client: #64256 - Remove process auto polyfill in edge runtime: #65751
- feat: support import attributes: #65749
- Turbopack: Remove
EcmascriptChunkingContext: #65716 - Error in build for middleware when import client-only: #65792
- fix(next): reject protocol-relative URLs in image optimization: #65752
- Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload: #65664
- Bundle the installed react for middleware: #65811
- fix middleware cookie initialization: #65820
- fix(next/image)!: set upstream timeout to 7 seconds: #65821
- feat(turbopack-ecmascript): use import attributes for annotations: #59370
- feat(next): experimental react compiler support: #65804
- Fix the runtime for rsc layer: #65850
- Ensure React Compiler only runs on first-party browser code: #65851
- fix: bump nft@0.27.1: #65854
- add effect packages into the optimized-by-default list: #65465
- Upgrade react@beta: #65845
- Ensure plugin-syntax-jsx doesn't have to be installed: #65865
- Update React from 4508873393 to 04b058868c: #65864
- Set default stale-while-revalidate header value to 1 year: #65867
- fix missing experimental warning for reactCompiler: #65866
- Error on mismatched minimal react version: #65806
- Revert "Set default stale-while-revalidate header value to 1 year": #65887
- Update turbopack & swc_core: #65450
- Revert "Fix broken HTML inlining of non UTF-8 decodable binary data f…: #65906
- experimental: unstable_after: #65038
- Docs: Replace "twitter.com" to "x.com": #65917
- fix(next/image): prefer sharp defaults, use mozjpeg for JPEG: #65846
- Update font data: #65961
- unstable_after: support nested unstable_after calls: #65950
- Fix revalidateTimings route for catchall index route: #65843
- fix(next): initial prefetch cache not set properly with different search params: #65977
- Add additional log to experimental ppr flag in next.config.js: #65944
- Change default of prerenderEarlyExit to true: #65830
- short-circuit OPTIONS requests to pages: #65295
- Turbopack: Implement
next/font/localwithBeforeResolvePluginand show custom error message: #65870 - [Breaking] Disable automatic static generation for route handlers: #65825
- Fix router.refresh missing canonical url override: #65999
- Fix typo in JSDoc of
pprflag ofnext.config.js: #66028 - Revert webpack bundling layer changes for middleware/pages: #66049
- Upgrade lightningcss, disable grid prefixing: #65986
- [Breaking] disable client router cache for page segments: #66039
- Add dedicated client entry for Turbopack builds: #65824
- Update React from 04b058868c to 81c5ff2e04 : #65869
- implement unstable_rethrow: #65831
- chore(next/image): remove unused
outputparameter: #66083 - next-swc-napi: Enable "plugin" feature by default: #66006
- [turbopack] Use updated RawOutput API: #65300
- Skip setting to fetch cache when not modified: #66055
- [Memory] Add option to reduce memory usage caused by duplicate strings in webpack-sources: #66003
- Ensure metadata routes dont skip static optimization: #66097
- [unstable_after] fix occasional dev-mode crash in edge runtime pages: #66099
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- [ppr] Remove canary requirement: #66112
- [ppr] Data route fixes: #66109
- [unstable_after] always use 'waitUntil' from '@next/request-context' if available: #66119
- Don't fail the build if
@types/packages appear to be missing: #66127 - Stabilize swrDelta config: #66108
- Revert "Don't fail the build if @types/ packages appear to be missing": #66130
- fix(next): global not-found not working on multi-root layouts: #63053
- chore(next): add keywords on package.json: #64173
- Fix DynamicServerError not being thrown in fetch: #64511
- fix:
lib/helpers/install.tsto better support pnpm and properly respectrootargument: #64418 - fix(next):
Metadata.openGraphvalues not resolving basic values whentypeis set: #63620 - disable production chunking in dev: #64488
- update turbopack: #64501
- Turbopack: Allow client components to be imported in app routes: #64520
- refactor: remove always truthy flag: #64522
- Turbopack: don’t show long internal stack traces on build errors: #64427
- next/script: Correctly apply async and defer props: #52939
- chore(next/font): update @capsizecss/metrics package: #64528
- feat: add information that revalidate interval is in seconds: #64229
- Typo "Minifer" in config.ts: #64359
- Enhance types for Node and Edge envionments: #64454
- feat: Add a validation for
postcsswithuseLightningcss: #64379 - fix HMR for cases where chunking changes: #64367
- perf: improve Pages Router server rendering performance: #64461
- Fix cjs client components tree-shaking: #64558
- fix refresh behavior for discarded actions: #64532
- fix: filter out middleware requests in logging: #64549
- chore: remove unused rust dependencies: #62176
- fix(next-swc): correctly set wasm fallback for known target triples: #64567
- memoize layout router context: #64575
- fix incorrect refresh request when basePath is set: #64589
- fix TypeError edge-case for parallel slots rendered multiple times: #64271
- Fix ASL bundling for dynamic css: #64451
- Revert "fix(next): global not-found not working on multi-root layouts": #64601
- chore(test): run related E2E deploy tests on PRs: #63763
- Improve top level await coverage: #64508
- Upgrade typescript to 5.3: #64043
- add pathname normalizer for actions: #64592
- Fix experimental/testmode by removing console.log: #64670
- Don't output .test.ts files in next/font: #63472
- Fix reporting when performance.measure doesn't exist (Edge): #64669
- Reduce amount of data passed to collectBuildTraces: #59665
- fix(next-server): 'quiet' setting delegate for custom server: #64512
- Revert "chore(test): run related E2E deploy tests on PRs": #64682
- update turbopack: #64686
- Fix: resolve mixed re-exports module as cjs: #64681
- Revert "fix TypeError edge-case for parallel slots rendered multiple times": #64690
- Fix typo: 'serverComponentsExtenalPackages' should be 'serverComponentsExternalPackages': #64705
- prevent erroneous route interception during lazy fetch: #64692
- Add
@appsignal/nodejsto the external packages list: #64503 - fix root page revalidation when redirecting in a server action: #64730
- Clean-up fetch metrics tracking: #64746
- [actions] Enforce body limit using Transform stream: #64694
- Turbopack: Don’t show stack traces for internal modules: #64228
- Reapply "chore(test): run related E2E deploy tests on PRs" (#64682): #64712
- fix(fetch-cache): fix typo: #64786
- fix: remove traceparent from cachekey should not remove traceparent from original object: #64727
- fix interception route rewrite regex not supporting hyphenated segments: #64805
- Disable ncc cache instead of cache cleaning: #64804
- Move next-swc Turborepo config to packages/next-swc: #64789
- build: Update
swc_coretov0.90.33: #64553 - Enable loading source maps for Next Server and React: #64527
- fix: mixing namespace import and named import client components: #64809
- fext(next): extend next.config for mdxRs support options: #64801
- skip test_e2e_deploy_related when triggered from a fork: #64893
- fix(fetch-cache): fix additional typo, add type & data validation: #64799
- feat(next-core): support parsing matcher config object: #64678
- Fix mixed exports in server component with barrel optimization: #64894
- fix: improve tsconfig extends checks: #61413
- Fix next/image usage in mdx: #64875
- fix dynamic route interception not working when deployed with middleware: #64923
- feat(turbopack): Handle fragments in requests: #64232
- feat(turbopack): Check for duplicate parallel routes: #64181
- Speed up createNext test suite isolation: #64909
- fix(rewrites): support external rewrite destination: #64943
- Ensure edge prerender-manifest is minimal: #64946
- remove special-cased prefetch kind in dev mode: #64941
- feat: support import attributes: #59480
- NextJS App router: add
isolated-vmto server-external-packages.json: #64749 - Add
next experimental-testcommand: #64352 - Revert "feat: support import attributes": #65001
- NODE_OPTIONS updates: #65006
- Update React from 14898b6a9 to c3048aab4: #64798
- initialize ALS with cookies in middleware: #65008
- feat(next/image)!: remove
squooshin favor ofsharpas optional dependency: #63321 - fix: Workaround acorn bug/version issue by using SWC: #65021
- build: Update
@swc/coretov1.5.0: #65022 - Ensure escaped string are parsed in NODE_OPTIONS: #65046
- chore(fetch-cache): remove zod from fetch cache: #65079
- support breadcrumb style catch-all parallel routes: #65063
- Improve initial setup with new App Router TypeScript project: #64826
- Add experimental trace file field: #65071
- Fix playwright config merging for webServer property: #65090
- chore(logging): Disable info logging of critters in production: #62776
- [unstable_cache] Don't track dynamic fetches in an unstable_cache callback: #65010
- fix(page-static-info): refine warning message to emit once: #65091
- update redirect handling on forwarded action requests: #65097
- Tracing: allow opt-in flag to send build traces to url: #65019
- Turbopack: Allow client components from foreign code in app routes: #64751
- fix node.js module warning in middleware: #65112
- Fix: strip _rsc query for client navigation rsc request: #65084
- fix unhandled runtime error when notFound() triggered in generateMetadata w/ parallel routes: #65102
- Use vercel deployment url for metadataBase fallbacks: #65089
- Fix next/dynamic with babel and src dir: #65177
- update turbopack: #65191
- Fix crypto import in edge runtime with Turbopack: #65171
- Resolve global
nextWebpack alias last: #65123 - Add oslo, @node-rs/argon2, and @node-rs/bcrypt to external packages: #65204
- [trace] Reduce the size of .next/trace files: #65101
- Remove extra suspense boundary for default next/dynamic: #64716
- Only apply metadata manifest credentials for preview deployment: #64940
- fix(next): add missing browser.major type: #65185
- Turbopack: rename source map prefix: #64965
- fix(next/image): detect react@19 for
fetchPriorityprop: #65235 - Use POST for invokeIpcMethod: #65238
- fix redirect to url with semicolon: #65165
- Provide non-dynamic segments to catch-all parallel routes: #65233
- Fix an issue parsing catchall params: #65277
- Enable preloading entries by default: #65289
- Trace uploader: add worker spans to allowed events: #65255
- Update font data: #65301
- Update revalidateTag to batch tags in one request: #65296
- Revert "Remove extra suspense boundary for default next/dynamic": #65309
- Emit polyfill-nomodule.js into the build manifest polyfillFiles: #65223
- Remove broken
#[turbo_tasks::value(transparent)]attributes: #65336 - Delete dead
concatenate_output_assetsfunction: #65337 - Upgrade Turbopack: #65320
- Pages router: Use attribute-based head children reconciler when
strictNextHeadis enabled: #65408 - Revert "Implement Turbopack trace server bindings": #65419
- use correct not-found component when triggered from a parallel route: #65343
- Implement Turbopack trace server bindings: #65410
- fix(next/image): bypass icns images: #65414
- [PPR] Enable incremental adoption: #63847
- fix: replace deprecated/removed functions in eslint-plugin-next: #64251
- docs: update
revalidatePath& fix cache debug logic: #65365 - fix(next-core): mark turbopack embed fs to be internals: #65420
- fix(next/image): add missing svg test and refactor missing types: #65345
- build(edge): extract buildId into environment: #64521
- Revert "build(edge): extract buildId into environment": #65425
- fix(next/image): set max url length to 3072: #65457
- Support React 19 in App and Pages router: #65058
- Promote and rename server bundling options
serverComponentsExternalPackagesandbundlePagesExternals: #65421 - add experimental flag to allow forcing NODE_ENV=development in builds: #65463
- Support esm externals in app router: #65041
- fix: lazy load sharp: #65484
- make sure children is first in loader tree to fix head css bug on client navigation: #65279
- Re-land build(edge): extract buildId into environment: #65426
- improve versioned content map: #65466
- update turbopack: #65503
- Remove ineffective webpack rules and unused app-page context modules: #65321
- add page name to crashes: #65504
- Bump styled-jsx to 5.1.3: #65485
- Preload all chunks for next/dynamic in SSR: #65486
- fix!: add sharp timeout of 10 seconds: #65517
- Turbopack: new graph aggregation: #65206
- feat(next): revise server component error message: #65468
- chore: update prettier to 3.2.5: #65092
- Revert "Remove ineffective webpack rules and unused app-page context modules": #65558
- Remove auto appending xml extension to dynamic sitemap routes: #65507
- Remove rsc esm client module extra exports: #65519
- Handle nonce on Next.js injected script/link tags: #65508
- Fix multi-zone test by removing dependency list: #65589
- remove next-action header when following a redirect: #65615
- Remove @next/font resolving for font loaders: #65601
- remove legacy deprecated warnings: #65579
- feat(turbopack): add support for
bundlePagesRouterDependencies: #65520 - fix(next-swc): load wasm fallback if native bindings fail to load: #65623
- fix(next-swc): correct path interop to filepath for wasm: #65633
- Add proper deprecation/rename warnings for server bundling option: #65575
- feat!(next/image): change default
Content-Dispositiontoattachment: #65631 - Pages router: Enable strict
next/headchildren reconciler by default: #65418 - Apply react-server conditions to middleware: #65424
- fix(next-swc): Do not reuse compiler instance: #65602
- Show the new key of experimental config change warnings: #65651
- fix(next-swc): Fix SWC env target - include option: #65693
- Reapply "Implement Turbopack trace server bindings" (#65419): #65527
- fix(resolve-metadata): allow for search params in canonical URL: #65366
- Remove missingSuspenseWithCSRBailout config: #65688
- Reland Remove ineffective webpack rules and unused app-page context modules: #65694
- Remove swc minify related code branches: #65690
- fix: load the tags manifest asynchronously: #64563
- Bump acorn to replace swc class properties transform: #65715
- fix: watch experimental/testmode in when running "pnpm dev": #65689
- Revert "chore: externalize undici for bundling": #65727
- [ppr] Request normalization fixes: #65717
- fix(next/image)!: error when
srchas leading or trailing space: #65637 - fext(next-swc): extend internal env flag to all native bindings: #65748
- Update font data: #65719
- fix(next): add alias to new react exports: #65761
- Update font data: #65768
- feat: remove font family hashing in next/font css: #53608
- Add script to script loader when strategy prop is undefined: #65585
- fix: ensure websockets are correctly passed: #65759
- Add
clientTraceMetadataexperimental option to propagate tracing data to the client: #64256 - Remove process auto polyfill in edge runtime: #65751
- feat: support import attributes: #65749
- Turbopack: Remove
EcmascriptChunkingContext: #65716 - Error in build for middleware when import client-only: #65792
- fix(next): reject protocol-relative URLs in image optimization: #65752
- Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload: #65664
- Bundle the installed react for middleware: #65811
- fix middleware cookie initialization: #65820
- fix(next/image)!: set upstream timeout to 7 seconds: #65821
- feat(turbopack-ecmascript): use import attributes for annotations: #59370
- feat(next): experimental react compiler support: #65804
- Fix the runtime for rsc layer: #65850
- Ensure React Compiler only runs on first-party browser code: #65851
- fix: bump nft@0.27.1: #65854
- add effect packages into the optimized-by-default list: #65465
- Upgrade react@beta: #65845
- Ensure plugin-syntax-jsx doesn't have to be installed: #65865
- Update React from 4508873393 to 04b058868c: #65864
- Set default stale-while-revalidate header value to 1 year: #65867
- fix missing experimental warning for reactCompiler: #65866
- Error on mismatched minimal react version: #65806
- Revert "Set default stale-while-revalidate header value to 1 year": #65887
- Update turbopack & swc_core: #65450
- Revert "Fix broken HTML inlining of non UTF-8 decodable binary data f…: #65906
- experimental: unstable_after: #65038
- Docs: Replace "twitter.com" to "x.com": #65917
- fix(next/image): prefer sharp defaults, use mozjpeg for JPEG: #65846
- Update font data: #65961
- unstable_after: support nested unstable_after calls: #65950
- Fix revalidateTimings route for catchall index route: #65843
- fix(next): initial prefetch cache not set properly with different search params: #65977
- Add additional log to experimental ppr flag in next.config.js: #65944
- Change default of prerenderEarlyExit to true: #65830
- short-circuit OPTIONS requests to pages: #65295
- Turbopack: Implement
next/font/localwithBeforeResolvePluginand show custom error message: #65870 - [Breaking] Disable automatic static generation for route handlers: #65825
- Fix router.refresh missing canonical url override: #65999
- Fix typo in JSDoc of
pprflag ofnext.config.js: #66028 - Revert webpack bundling layer changes for middleware/pages: #66049
- Upgrade lightningcss, disable grid prefixing: #65986
- [Breaking] disable client router cache for page segments: #66039
- Add dedicated client entry for Turbopack builds: #65824
- Update React from 04b058868c to 81c5ff2e04 : #65869
- implement unstable_rethrow: #65831
- chore(next/image): remove unused
outputparameter: #66083 - next-swc-napi: Enable "plugin" feature by default: #66006
- [turbopack] Use updated RawOutput API: #65300
- Skip setting to fetch cache when not modified: #66055
- [Memory] Add option to reduce memory usage caused by duplicate strings in webpack-sources: #66003
- Ensure metadata routes dont skip static optimization: #66097
- [unstable_after] fix occasional dev-mode crash in edge runtime pages: #66099
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- feat(turbopack): Attempt to detect and warn about slow file IO: #66057
- update typescript plugin to support experimental_ppr: #66141
- add next-build-test binary / library: #64121
- add bash script to run a benchmark: #64717
- Handle next/navigation import in middleware: #66175
- [ppr] Data route fix: #66190
- Implement
typeof windowinlining for Turbopack: #66128 - Bump React types to latest 18.3.x: #66181
- Bump styled-jsx to 5.1.6: #66185
- Fix source map loading failure for
path-to-regexp: #66242 - Bump React types to 19 rc: #66186
- Reland bunling webpack middleware changes (#66049): #66052
- fix dev overlay version indicator style: #66278
- [ppr] Don't mark RSC requests as /_next/data requests: #66249
- enhance: ignore nextjs version fetch error in dev overlay: #66271
- Trigger error for stream on client when it is not finished as expected: #65798
- chore(next-font): bump @capsizecss/metrics package to the latest: #66302
- refactor: remove isRSCRequestCheck: #65587
- feat: add copy button for runtime error: #65921
- Transform client reference in middleware layer: #66294
- feat(react-dev-overlay): Open nvim with line number: #66358
- Restore optimization to ignore legacy APIs in react-dom/server: #66371
- fix: ensure dynamic fetches are tracked correctly: #66349
- Update font data: #66359
- next-swc-napi: Remove "plugin" from default feature list: #66380
- Revert "Middleware RSC bundling changes": #66422
- chore: bump supported
mswversion tov2.3.0: #66351 - remove duplicate export workers: #66388
- refactor page export error tracking: #66392
- add experimental flag for retrying static generation: #66393
- Update rust toolchain to nightly-2024-05-31: #66428
- fix erroneous RSC calls on hash changes: #66434
- Improve JSDoc link for Metadata API: #66455
- Warn metadataBase missing in standalone mode or non vercel deployment: #66296
- fix: ensure route handlers properly track dynamic access: #66446
- Fix broken
BrowserInterfacetype: #66461 - Polish copy button state and styles: #66370
- expose experimental option to set a memory limit for turbo: #66101
- avoid filtering the error message: #65311
- Fix
next/navigationtype augmentation: #66489 - fix: only generate prefetch rsc for ppr enabled routes: #66395
- add layerAssets property to FlightDataPath: #66354
- fix missing stylesheets when parallel routes are present: #66300
- fix css order for some edge cases in App Dir: #66500
- Fix fetch deduping in dev after reload: #66507
- optimize server actions: #66523
- fixing next/dynamic transform for turbopack: #66527
- improve order of spans in tracing: #66516
- add more tracing: #66528
- refactor: deprecate future directory: #66432
- fix 'loading' segment not being copied into new CacheNode: #66538
- fix NextRequest proxy in edge runtime: #66551
- Re-land Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload #65664: #65988
- feat(turbopack): Introduce
RcStr: #66262 - Remove unused state in Server Actions transform: #66547
- Add playwright-core to server-external-packages.json: #66549
- Update to turbopack-240605.2: #66568
- update turbopack: #66575
- Fix loading navigation with metadata and prefetch: #66447
- Update font data: #66582
- Fix Server Actions closure idents tracking: #66601
- Update to turbopack-240606.2: #66606
- update turbopack: #66627
- revert app-render changes related to determining RSC/Prefetch requests: #66648
- Revert "feat: Update
swc_coretov0.92.10": #66640 - remove
staticWorkerRequestDedupingflag & unused IPC code: #66655 - prevent duplicate RSC fetch when action redirects: #66620
- Update URL provided from unstable_cache: #66651
- ensure router cache updates reference the latest cache values: #66681
- Fix esm property def in flight loader: #66286
- Update React from f994737d14 to 1df34bdf62 (19.0.0-rc.0): #66533
- fix(turbopack): remove tailwindcss from default external packages: #66706
- Append sitemap extension and optimize imafe metadata static generation: #66477
- feat(turbopack-ecmascript): cache external modules with wrapper: #63337
- [ppr] Enable static shell debugging in other environments: #65483
- Add timeout/retry handling for fetch cache: #66652
- Fix inconsistency with 404 getStaticProps cache-control: #66674
- [lint] Allow lint warnings to pass in CI: #66140
- Revert "Fix esm property def in flight loader": #66727
- Update React from
1df34bdf62to6230622a1a: #66726 - Prevent append of trailing slash in cases where path ends with a file extension: #66636
- Update font data: #66730
- Use addDependency to track metadata route file changes: #66714
- fix: app-router prefetch crash when an invalid URL is passed to Link: #66755
- Ensure urlPathname is always a pathname: #63846
- build: Update
swc_coretov0.93.2: #66698 - chore: bump turbo to 2.0.3: #66762
- Revert "chore: bump turbo to 2.0.3": #66775
- use node js chunking context for evaluation: #66710
- refactor: simplified async storage wrappers: #66767
- Update devdependecy commander: #66771
- chore: bump turbo to 2.0.3: #66784
- Make
InvalidImportResolvePluginaBeforeResolvePlugin: #66622 - Fix: only inject clientTraceMetadata into html page once: #66763
- Use turbo-tasks-malloc on all platforms: #66815
- [ppr] Improve DX for static shell debugging in dev mode: #66806
- Reland "Middleware to use react-server condition": #66534
- Revert "Use turbo-tasks-malloc on all platforms": #66884
- fix: wait for playwright fixture to setup before running test: #66842
- Handle action middleware rewrite case: #66852
- Revert "Revert "Use turbo-tasks-malloc on all platforms" (#66884)", fix aarch64 compilation in CI: #66885
- [Turbopack] improve memory measurement suite: #66748
- Fix: remove enegine requried pnpm version: #66914
- Remove
workercondition name when resolving files in the Edge runtime: #66808 - small memory and tracing improvement: #66899
- build: Update
swc_coretov0.95.2: #66902 - Testmode: use ipv4 address to reduce dependency on local system configuration: #66968
- Update font data: #66969
- Refactor internal routing headers to use request meta: #66987
- Remove lazyDataResolved flag: #66578
- refactor(next): package.json keywords
back-endshould bebackend: #66974 - Fix internal route redirection with absolute urls outside basePath: #64604
- Expand test for AsyncLocalStorage to avoid throwing in old chrome: #61873
- fix caching of client chunks: #66971
- Run and report benchmarks: #66851
- refactor: remove hydration link appending console interception: #67011
- Use
react-dom/server.edgeinstead of.browserin Next.js runtime: #66954 - feat(turbopack): add support for esm externals in app dir: #64918
- Add sassOption
implementationto support sass-embedded: #64577 - Fix esm property def in flight loader: #66990
- Upgrade Turbopack: #67017
- fix: bad script tag in layout hydration error: #66998
- Ensure Turbopack build runs when experimental-compile option is used: #67049
- Remove handling on findDOMNode warning: #67054
- ensure accessing search params mark dynamic usage: #67105
- Add build diagnostics for saving debug information during a build: #66187
- chore: add detection for image more types: #67112
- dx: add pagePath info to missing component error: #66916
- Add experimental flag for providing entry paths: #67134
- Fix noindex is missing on static not-found page: #67135
- Refactor code: #64429
- Fix server action edge redirect with middleware rewrite: #67148
- chore: turbopack metadata routes normalizing: #67159
- codemod: add next/dynamic imports codemod: #67126
- Create React aliases for SVG components: #67104
- chore: fix react-is RC version pinning: #66676
- Remove extra suspense boundary for default next/dynamic: #67014
- Remove devdependency uuid: #67190
- make next/dynamic visit more incremental and cacheable: #66912
- Make synced react-is version more obvious: #67189
- fix: Narrow down from
string | undefinedtostring: #65248 - Upgrade Turbopack: #67209
- [ppr] Handle corrupted postponed state: #67021
- fix(turbopack): add no-op
resolveAbsolutePathto browser runtime: #67215 - feat: enable @typescript-eslint/recommended in create-next-app --typescript: #52845
- fix missing command in next-codemod: #67216
- chore(docs): improve visual appearance of badges in README.md: #67254
- refactor: replace
globw/fast-globin eslint plugin: #67261 - reject actions with invalid RSC responses: #67059
- chore: bump pnpm to 9.4.0: #64945
- packages/next: opt ts-morph into serverExternalPackages: #67284
- fix(next/image): improve
wandqquery string validation for integers: #67293 - chore: throw when three dot character is detected in segment: #67348
- Add warn and telemetry for customized esmExternals: #67339
- perf: improve retrieving
versionInfoon Turbo HMR: #67309 - fix(next/image): undo tight coupling between
priority=trueandfetchPriority=high: #67351 - use fetch priority for app prefetches: #67356
- fix prefetch bailout detection for nested loading segments: #67358
- fix(turbopack): build all parallel routes to make sure HMR works: #67222
- Update
@swc/corenpm package tov1.6.6: #67379 - feat: Pass
module: "unknown"to SWC minfiier: #66817 - [chore] Update turbopack to turbopack-240703.1: #67406
- fix dynamic param extraction for interception routes: #67400
- Upgrade TypeScript to v5.5.2: #67113
- Fix typo in MDX documentation: #67432
- Transpile geist by default: #67402
- Turbopack + Relay: correctly implement artifact_directory to fix multi-project test: #67403
- fix(next/image): handle invalid url: #67465
- Bump minimum Node.js version to 18.18 (up from 18.17): #67274
- Update font data: #67472
- avoid merging global css in a way that leaks into other chunk groups: #67373
- refactor: avoid unnecessary after wrapper: #67463
- fix(next): add cross origin in react dom preload: #67423
- Remove obsolete
isNodeDebuggingoption from next server: #67492 - Fix VS Code debugging: #66254
- Dedupe double logged server errors: #67464
- Turbopack build: Ensure Pages Router manifests are loaded with buildId: #67317
- next-build-test improvements: #67460
- Update font data: #67574
- Tweak the display for error trace: #67572
- Turbopack build: Ensure build manifest routes are sorted: #67583
- Clean up flight headers: #67525
- feat(next):
next.config.ts: #63051 - Fix PPR navigations & revert
layerAssetsproperty from FlightData: #67435 - Update experimental trace handling to capture more deps: #67599
- Write out task statistics if NEXT_TURBOPACK_TASK_STATISTICS is set: #67164
- fix PPR navigations when visiting route with seeded cache: #67439
- Turbopack build: Add missing Compiled successfully message: #67598
- feat: type hint for
envin dev mode: #67157 - perf(turbopack): only build last parallel route: #67588
- feat: instrumentation onRequestError: #67539
- Reduce console error patching: #67433
- Share the hydration error info extraction util: #67639
- Add prerender indicator for app router: #67306
- cleanup unused server util: #67645
- fix: typo prerender indicator link: #67650
- style: simplify string formatting: #66772
- build: upgrade edge-runtime: #67565
- Update
swc_coretov0.96.9: #67378 - Move request header parsing for
app-renderinto a dedicated function: #67524 - refactor:
typedEnvis notreadonly: #67693 - Report HMR latency when a Server Component changes: #67699
- refactor: merge the same util to detect nextjs navigation errors: #67672
- Move .next/chunks folder to .next/build/chunks: #67610
- Add render source to onRequestError context: #67703
- refactor
<AppRouter />render structure: #64594 - cleanup unused pages router method: #67722
- fix(turbopack): allow page segments that don't alter the path after catchall: #67713
- Convert secondary
fetchServerResponseparams into options object: #67526 - Server Components HMR Cache: #67527
- pages router: ensure x-middleware-cache is respected: #67734
- Fix typescript setup for
packages/fontandturbo/generators: #67687 - Turbopack build: Exclude .d.ts files as routes: #67744
- chore: Update
@swc/coreand@swc/heleprs: #67757 - feat: facebook metadata: #65713
- fix: unstable_cache should not cache new result in draft mode: #67772
- Fix edge preview props are not matched with cookie: #67779
- Wait for
✓ Readylog inNextInstance#start: #67767 - Ensure serverSourceMaps is in webpack cache key: #67786
- TypeScript plugin: Allow functions in action-like props: #67211
- update turbopack: #67795
- Drop edge prerender manifest: #67787
- perf: Optmize
react_server_componenttransform: #67335 - Turbopack build: Implement app/global-error.tsx: #67803
- Ensure instrumentation register only call once: #67805
- Set @next/font to private and remove peer deps field: #67797
- Handle server actions error in onRequestError: #67769
- Don’t show long internal Rust stack traces to users: #67678
- Align the typeEnv value type with default process env value type: #67804
- ensure component tree is only rendered once during SSG/revalidations: #67680
- refactor client router initialization: #67821
- Fix for
typedRouteswhen settingpageExtensions- for typedRoutes MDX support: #67824 - [Diagnostics] Record framework.json after creating and cleaning distDir: #67819
- Enable
experimental.serverComponentsHmrCacheby default: #67800 - Drop the experimental env var for onRequestError API: #67856
- Add additional handling for experimental tracing: #67785
- Update font data: #67872
- update turbopack: #67874
- Hide caniuse-lite outdated warning in terminal: #67869
- Support
compiler.removeConsolewith Turbopack: #67849 - remove extraneous field from FetchServerResponse: #67865
- refactor FetchServerResponse shape: #67866
- Support
reactRemovePropertieswith Turbopack: #67853 - prerendered pages should use static staleTime: #67868
- ensure cookies set in middleware can be read in a server action: #67924
- Log fetch requests during client-side navigation: #67925
- Fix fetch logging in edge runtime: #67952
- fix: merged middleware cookies should preserve options: #67956
- feat: disable development logging by setting
logging: falsein next config: #67590 - Add experimental flag for chunk failure handling during app navigation: #67926
- Do not limit the number of fetch requests that are logged: #67957
- Fix a bug in the webpack-sources patch that happens sometimes when using the webpack cache: #67928
- Ensure "[Fast Refresh] rebuilding" logs have a matching "[Fast Refresh] done" log in Webpack: #67968
- Fix logging option internal consuming: #67972
- Turbopack build: Implement reactProductionProfiling: #67909
- Update metadata ready tracking: #67929
- Fix
next lintwith async eslint-formatters: #67860 - refactor: move rust crates to the repo root directory: #67780
- Wait for pending Webpack Hot Updates before evaluating JS from RSC responses: #67673
- Stop handling hydration errors from unsupported React versions: #67903
- Update React from
6230622a1a-20240610todfd30974ab-20240613: #66711 - Prevent unnecessary rsc reloads on navigation: #68049
- update prefetching jsdoc & documentation: #68047
- Improve caching of next-app-loader to prevent more fs calls.: #67792
- Update Next Command name, add types & update variable wording: #68007
- Ensure experimental trace invalidates correctly: #68076
- Env follow-up for experimental trace: #68086
- log FetchMetrics during SSG to diagnostics dir: #68078
- remove unused preloadConfig flag: #68082
- refactor: isolate the params type: #67981
- Ignore serverComponentChanges in pages: #66312
- Fix global hash for experimental tracing: #68122
- Restructure trace experiment manifest: #68131
- Fix race condition with experimental tracing: #68143
- update turbopack: #68129
- Apply serverExternalPackages inside node_modules and add keyv: #67948
- [image, link] fix ref merging for callback refs that return a cleanup function: #68123
- Revert "[image, link] fix ref merging for callback refs that return a cleanup function": #68176
- Revert "Update metadata ready tracking": #68200
- Reapply "[image, link] fix ref merging for callback refs that return a cleanup function" (#68176): #68199
- fix: properly patch lockfile against swc bindings: #66515
- Fix ImageResponse headers merging: #67642
- Update React from
6230622a1a-20240610to76002254-20240724: #68149 - fix: grammar in jsdoc: #68253
- Add telemetry for React Compiler usage: #68079
- Ensure we only handle app nav failure for actual error: #68285
- Drop @babel/plugin-transform-classes by default: #68290
- Move request logging code out of
NextNodeServer: #68286 - Fix hmr assetPrefix escaping and reuse logic from other files: #67983
- Add deployment id header for rsc payload if present: #67255
- Turbopack: Implement HMR for module-scoped environment variable changes: #68209
- Revert "Update React from 6230622a1a-20240610 to 76002254-20240724 (#68149)": #68300
- Log cached fetches during HMR refreshes if enabled in logging config: #68287
- Upgrade Turbopack: #68327
- next/form: #68102
- Remove legacy next/link prefetch={true} warning: #68326
- Drop react-dev-overlay from production bundle: #68197
- Update React from
6230622a1a-20240610to3208e73e-20240730: #68330 - Update metadata ready tracking (reland): #68342
- [form] typedRoutes support for action prop: #68323
- fix: allow empty string value for opengraph: #68262
- update turbopack: #68354
- fix renaming of page files, add handling of symlinked pages: #68195
- Remove quotation marks from object key : #68337
- Move static indicator into dev overlay: #68369
- Ensure we match comment minify behavior between terser and swc: #68372
- update turbopack: #68399
- chore: fix references for the new turbopack crates: #68128
- refactor: merge turbopack crates into next.js: #68127
- Allow users to use process.env.NEXT_SSG_FETCH_METRICS to control fetch metrics during SSG: #68378
- refactor: replace
indexOf === 0withstartsWith: #68116 - feat: Enable tree shaking of turbopack: #66689
- Use font color for static indictor close icon: #68417
- Support @next/mdx with Turbopack: #68397
- Update React from
3208e73e-20240730to06d0b89e-20240801: #68444 - Fix ncc clearing task: #68468
- Clean-up legacy terser code: #68462
- [ppr] Configuration for max react headers length: #67715
- Stabilize outputFileTracing configs: #68464
- Delete debug tarball file and add to gitignore: #68478
- ppr: prevent CacheNode.loading from being cleared on popstate: #68488
- Colocate
cssnanon-preset-simpleunit test with source: #68508 - Compile
path-to-regexpviancc: #68465 - Add env handling for experimental tracing: #68516
- chore: typo in bootrap to bootstrap: #68517
- Refactor ModuleOptionsContext API: #67864
- fix(turbopack): don't log errors when they are thrown: #68331
- Ensure client components are in experimental trace: #68492
- Ensure webpack cache does not conflict with experimental tracing: #68515
- Add store only mode for experimental tracing: #68548
- Move turbopack panic log to tmpdir: #67930
- Allow dev server to exit cleanly (SIGINT/SIGTERM): #67165
- Don't throw TurbopackInternalError if there are issues: #68529
- Handle more cases with env inlining: #68590
- make sure all the crates in turbopack are considered when caching: #68593
- refactor: cleanup types and logic in build: #68125
- Fix store only case for tracing: #68601
- Remove async module detection from client flight manifest: #68584
- fix: NPM Workspace throws
ENOWORKSPACESerror when fetching registry: #68522 - fix:
normalize-asset-prefixadding leading slash when URLassetPrefixis provided: #68518 - Sitemap image tag support: #68034
- chore(next-swc): avoid deleting .gitignore when running "clean" script: #68624
- Fix favicon merging with customized icons: #67982
- Add tests for self-importing packages: #68070
- refactor static workers to help with parallelization & cache sharing: #68546
- Handle pruning mismatching cache for experimental trace: #68635
- Ensure next-server prepare only execute once: #68616
- fix app router prefetch deduping: #68642
- Turbopack HMR: Reload the page when server session changes: #68630
- Remove extraneous configs from cache manifest: #68645
- fix: HMR not works when
assetPrefixset to URL: #68622 - Reject next image urls in image optimizer: #68628
- Check vendored
@ampproject/toolbox-optimizerinto version control: #68466 - Use proper react release channel for
react-dom/staticaliases: #68663 - Stop mangling server runtime in dev: #68641
- Ensure we hard error on invalid middleware config export: #68638
- Ensure we copy map file as well for experimental tracing: #68676
- chore: remove asset prefix warning log and update docs: #68681
- Update React from
06d0b89e-20240801to187dd6a7-20240806: #68594 - Prevent incompability with
'eval-source-map'andmangle: false: #68688 - Update font data: #68639
- Introduce prerenderAsyncStorage and refactor app-render: #68637
- chore: remove duplicate storeHydrationError call: #68736
- The patched
fetchfunction should not buffer a streamed response: #68447 - fix(create-next-app): link to app dir docs in next-env.d.ts in app dir templates: #68534
- Fix
pnpm build --filter nexton a clean repository: #68693 - Rename url to path for onRequestError request arg: #68672
- misc: add dd-trace to server externals: #68785
- [after] remove createCacheScope: #68744
- Remove obsolete
deleteAppClientCache()call from webpack plugin: #68535 - Clean up
require.cachehandling: #68743 - Fix duplicate logs for invalid config exports: #68696
- Always collect static icons for all segments: #68712
- [Turbopack] write action manifest atomically: #68538
- Add node-cron to server externals: #68788
- re-use
loadingfrom prefetch cache entries across searchParams: #68340 - Ensure bail out on ssr error in static generation: #68764
- rename fetchServerResponse response properties: #68814
- Only opt into navigation PPR flow if prefetched route was PPRed: #68815
- refactor: incremental cache cleanup: #68602
- unfork navigateReducer: #68816
- remove circular ExportError import from SSG worker: #68858
- re-order CacheNodeSeedData to put containing segment first: #68847
- Normalize vendored entrypoints: #68502
- fix(next): properly pass layout-level
maxDurationconfig to the children page segments on build: #68793 - chore: fix typos in comments: #68792
- Fix issue with afterFiles rewrites not working when prefixed with assetPrefix: #68694
- refactor(turbo-tasks): Add TaskPersistence enum for task creation functions: #68866
- Remove invalid app router etag normalizing: #68948
- perf(turbo-tasks-macros): Move
assert_returns_resolved_valueinto helper module: #68867 - fix i18n data pathname resolving: #68947
- refactor(turbo-tasks): Use an enum for
strongly_consistent/ReadConsistencyinstead of a bool: #68913 - Update React from
187dd6a7-20240806to49496d49-20240814: #68898 - Lookup alias and import maps using Pattern instead of String: #68274
- perf(turbopack): improve app structure performance: #67397
- Simplify static indicator: #68961
- use setImmediate (if present) in edge react-dom/RSDW/RSDT: #68952
- Fix flying-shuttle full mode breaking instrumentation: #68976
- Update font data: #68964
- Revert "Ensure bail out on ssr error in static generation": #68986
- Add draft mode flag for multi-zone: #68997
- Reland "Ensure bail out on ssr error in static generation": #68999
- Update React from
49496d49-20240814to1eaccd82-20240816: #68991 - Improve Metadata JSDoc: #69037
- Include proper instrumentation entry in required files manifest: #68983
- Resolve route interception problem with (..)(..): #69012
- fix: Move tree shaking config to
experimental.turbo: #69050 - Turbopack build: Fix metadata handling: #69086
- Remove references to removed react-dom/server APIs in Webpack shims: #68987
- misc: tweak fetch patch restoration timing during HMR to allow for userland fetch patching: #68193
- Remove unused react-dom/server.browser references: #68988
- refactor: fallback updates: #68631
- refactor: update fallbacks to use response cache: #68603
- Improve create not found tree and remove asNotFound: #68910
- bugfix: ensure rsc isn't reused for page segments when reusing loading data: #69123
- add support for css-in-js ressource mapping in experimental lightningcss-loader: #64551
- Stablize instrumentation.js: #68853
- Ensure vendored
react-dom/server.browseris used: #69142 - Ensure assertion failures include all versions in rsc-basic tests: #69138
- bugfix: ensure prefetch aliasing doesn't apply URL redirect: #69153
- Remove
optimizeFonts(Automatic font optimization) superseded by next/font: #69137 - Ensure fetch cache TTL is updated properly: #69164
- correctly rethrow instrumentation loading error: #65251
- disable prefetch aliasing in development: #69168
- refactor: create shared utils for mod resource: #69145
- remove action pathname normalizer: #69181
- Apply optimization for unused actions: #69178
- Improve SWC transform ID generation: #69183
- Update React from
1eaccd82-20240816toeb3ad065-20240822: #69196 - [Tracing] Trace next-dev spans to represent the dev server: #69206
- Refactor unused import and object in Flight plugin: #69266
- refactor: group react dev overlay entry: #69223
- handle uncaught exceptions in worker: #69335
- Set max retries for build failures to zero: #69340
- send initialCanonicalUrl in array format to prevent crawler confusion: #69370
- remove unused argument to applyPatch: #69376
- Respect webpackIgnore and turboIgnore comments in the parser: #68451
- refactor path creation in walkTreeWithFlightRouterState: #69383
- Partial Fallback Prerendering: #68958
- Upgrade React from
eb3ad065-20240822tof90a6bcc-20240827: #69415 - chore: add logs to download-swc ci job: #69425
- Upgrade React from
19.0.0-rc-f90a6bcc-20240827to19.0.0-rc-7771d3a7-20240827: #69417 - Introduce dynamicIO experiment: #67571
- Add module id strategy option to next config: #69319
- cleanup FlightDataPath array access/slicing: #69241
- normalize flight data after receiving server response: #69460
- Support turbo: true option for custom server: #69464
- bugfix: aliased prefetches should flow through PPR handling: #69476
- fix: bump sharp@0.33.5: #69524
- fix: styledComponents schema: #69230
- Add browser devtool inspect url copy button to dev overlay: #69357
- Lazily init fetch dedupe cache: #69492
- Turbopack build: Fix middleware matchers implementation: #69602
- chore(metadata): add clarifying comment: #69549
- Remove unsupported providerImportSource option: #69609
- fix: clientComponentLoading span type: #69295
- Fix typos: #69568
- fix(eslint): allow typescript-eslint v8: #68807
- Allow external image urls with _next/image pathname to be rendered via Image component: #69586
- [Turbopack] gracefully stop turbo-tasks to allow persisting to complete: #69661
- fix: ensure absolute paths are handled correctly with
--fileoption innext lintcommand forlint-stagedcompatibility: #69220 - dev-overlay: Implement CopyButton without useActionState or async transitions: #69494
- Update
swc_coretov0.103.1: #69605 - Run link-ref tests in /app and /pages: #69564
- Partial Fallback Prerendering Route Shells: #69282
- Ensure externalized React entrypoints use vendored React in App Router: #69610
- Turbopack build: Implement --experimental-app-only flag: #69722
- Use vendored React version in Middleware and Instrumentation: #69619
- [Turbopack] refactoring/todos: #69663
- misc: typo in var name: #69745
- Partial Prerendering Basepath Fix: #69520
- pages bugfix: prevent cancellation errors from being logged: #69766
- Disable experimental.optimizeServer by default: #69788
- Fix middleware fallback: false case: #69799
- ensure aliased prefetches return correct segment key: #69850
- feat(turbopack): add
experimental.turbo.rootconfig option: #69737 - Turbopack dev/build: Initial browserslist passing: #69781
- [Turbopack] only subscribe to changes in dev mode: #69862
- HMR: Log unexpected Turbopack errors to a file: #68698
- fix: use correct protocol when -H and --experimental-https are enabled: #69822
- fix: remove unnecessary console in
isDynamicPostpone: #69457 - Add ability to customize Cache-Control: #69802
- Support React 18 in Pages Router: #69484
- Revert "Support React 18 in Pages Router": #69911
- Pass client trace metadata to client in pages router: #69620
- Fix font size for build error version status: #69811
- feat(image-optimizer): use previously cached image cache entry if upstream image is identical: #67257
- [Turbopack] print invalid message correctly: #69964
- fix: correct metadata url suffix: #69959
- [Turbopack] add error for invalid exports: #69819
- handle empty query param issue in url redirects #68039: #68157
- ensure prefetch entry is not mutated: #69948
- Remove invalid fallback revalidate value: #69990
- Update font data: #70003
- [Turbopack] stable Vcs without TraitRef::cell: #70029
- [Turbopack] fix HmrEntryModule: #69965
- [Turbopack] remove entries from versioned content map again: #69913
- Fix not-found case with incremental tracing: #70041
- Upgrade React from
7771d3a7-20240827to94e652d5-20240912: #70037 - breaking: remove
geoandipfromNextRequest: #68379 - fix: Add
import-in-the-middleto server-external-packages: #68937 - Ensure .d.ts files are not processed in babel-loader / swc-loader: #66074
- [Turbopack] [HMR] Allow
Options to be returned byVersionedContentMap: #69079 - [Turbopack] report error to stderr when an error in a subscribtion happens: #69977
- Update experimental trace tracking: #70044
- fix(next): Fixed an error when next#dev runs in windows: #70013
- Upgrade React from
94e652d5-20240912to206df66e-20240912: #70076 - Add "@sparticuz/chromium" to server-external-packages.json: #69127
- skip generating cert each time: #67122
- fix: clone response in first handler to prevent race: #70082
- fix: eslint-plugin-next glob: #68773
- Fix eslint root dirs test on Windows: #70160
- fix: rsc content-type header not matching with charset: #70033
- Fix startTime error on Android 9 with Chrome 74: #67391
- Fix regression in TS plugin: allow
resetprop in error files: #69777 - Ensure we chunk revalidate tag requests: #70189
- fix(lint): no-html-link in appDir: #68770
- fix(next): skip conventional type check for
_privatefolder convention: #64177 - Only wait for metadata when dynamicIO experiment is on: #70192
- chore: bump jscodeshift version: #70203
- Upgrade React from
206df66e-20240912toa99d8e8d-20240916: #70190 - Fix vercel og package memory leak: #70214
- Replace URL.canParse: #70215
- Add support for
dynamicIOexperiment toroute.tsmodules: #70208 - [ppr] Allow fallback pages to be revalidated: #70199
- Re-add internal env for providing page paths: #70235
- feat: add polyfill of
URL.canParsefor browser compatibility: #70228 - Remove dependecy graceful-fs and types: #67194
- chore: add comments for polyfill imports and file paths: #70233
- Upgrade React from
a99d8e8d-20240916to5dcb0097-20240918: #70225 - Run
@next/codemodtests in CI: #70248 - Upgrade React from
5dcb0097-20240918toe740d4b1-20240919: #70260 - bugfix: actions that redirect should reject the action promise: #69945
- Fix missing cache-control on SSR app route: #70265
- Remove unused
app_structurefromnext-swc-napi: #70282 - fix: match file path url escaping during build and serve: #70256
- Rename
loader_treetoapp_page_loader_tree: #70283 - Rename app directory "components" to "modules": #70285
- Honor redirect type in server actions: #70279
- refactor: collect all isThenable/isPromise definitions: #70293
- feat(next/image): add support for
decodingprop: #70298 - Improve server directive SWC transform: #70257
- Remove unused Server IDs tracking on the server graph: #70317
- relocate dynamic APIs: #70300
- Update root not found boundary to not introduce Server Component: #70328
- feat(next): codemod for removed
geoandipofNextRequest: #70064 - Mention
appdir in TS setup tip: #70337 - Add additional fixes for experimental tracing: #70356
- Fix duplicate headers in response to static assets if overrides specified by user: #70127
- fix: change duplicated POST method to PUT method: #70308
- Externalize node binary modules for app router: #70330
- Support fallback params when the layout is a client component: #70329
- Codemod for Async Request API: #69572
- Extract
createAppRouteCodefromnext-app-loader.ts: #70352 - [Type Definition] - Updates the manifest types to reflect the current specifications: #68273
- Fix middleware experimental trace case: #70372
- Fix legacy env config with experimental tracing: #70380
- Update font data: #70377
- add missing node modules to externals: #70382
- Avoid prefetch request before meta-tag-based redirect: #70350
- Turbopack: improve stack trace in overlay: #70343
- refactor: more precise types for req/res in withRequestStore: #70357
- Add test for TLA in client references: #70022
- Upgrade React from
e740d4b1-20240919toe4953922-20240919: #70290 - feat(next-codemod): add
upgradecommand: #69935 - refactor: reorganize client error listeners: #70373
- refactor: reorganize patch console: #70374
- types: improve napi binding typing using generated types: #69680
- Upgrade React from
e4953922-20240919to5d19e1c8-20240923: #70351 - feat(next/image): add support for
images.remotePatterns.search: #70302 - chore: throw error when trying to use next.config.mts/.cjs/.cts (not supported yet): #70376
- Fix legacy env case with experimental tracing: #70411
- chore: auto-format generated types with prettier: #70405
- refactor(next-codemod): migrate to commander and prompts: #70409
- chore: auto-format generated types with prettier: #70405
- refactor(next-codemod): migrate to commander and prompts: #70409
- Extend support of Pages router to React 18: #70219
- Basic implementation of cache-wrapper with RSC serialization: #70435
- fix: updated typescript types for React API's: #70410
- Fix type error from merge: #70481
- Ensure validator is included in vendored AMP validator: #70482
- [Breaking] Update Dynamic APIs to be async: #68812
- Use Server/Client Manifests from Singleton in encryption-utils: #70485
- refactor: remove ability to call getStaticPaths from app directory pages: #70477
- refactor: extracted zod configuration: #70478
- [ppr] Added fallback shell debugging: #70528
- Remove shouldRevalidateStale concept from CacheHandlers: #70493
- fallback shell should not error when dynamic due to params access even with dynamic = "error": #70534
- Add cache scope handling for dynamic IO for dev/build: #70408
- remove unimplemented onError errorInfo argument: #70531
- Add env for setting cache handler path: #70537
- Disable "use cache" outside of dynamicIO: #70538
- Include buildId in the cache breaker until we have hashed Action IDs: #70542
- Support dynamicIO in middlware routes and generateStaticParams: #70544
- Unwrap
createServerReference, and pass additional parameters: #69190 - Turbopack build: Fix benchmark running with webpack: #70533
- [form] allow turning prefetching off: #68305
- [after] fix: execute revalidates added within unstable_after(): #70458
- Upgrade React from
778e1ed2-20240926to3edc000d-20240926: #70560 - Exclude Object and Promise prototype properties from shadowing for params and searchParams: #70568
- refactor prefetch alias handling: #70532
- refactor: handle onlyHashChange logic sooner: #70569
- Updates our sync property access for params and searchParams to allow value: #70570
- codemod: improve dynamic API cases: #70517
- Auto rotate Server Reference hash salt periodically: #70516
- remove leftover console.log introduced in #70532: #70615
- Add
connection()as a new dynamic API: #69949 - Fix: Set busboy defParamCharset to utf8: #70348
- Update
dynamicIOexperiment to use React canary: #70571 - refactor: remove unnecessary page segment check in ppr-navigations: #70572
- Wire AsyncLocalStorage within a cached context: #70573
- Fix
revalidateTag()behaviour when invoked in server components: #70446 - next-upgrade: Ensure install packages works on exotic package revisions: #70625
- Error consistently during prospective prerender: #70631
- next-upgrade: Infer React types version from runtime version: #70626
- next-upgrade(refactor): Improve type coverage: #70627
- next-upgrade: Remove extraneous if no channel is specified: #70628
- next-upgrade: select codemods by canary version: #70630
- next-upgrade: Hide install output by default: #70632
- next-upgrade: Allow custom selection of codemods: #70634
- next-upgrade: Allow choosing same codemods that are available in the currently used version: #70635
- Upgrade React from
3edc000d-20240926to2d16326d-20240930: #70629 - fix: fix warnings from invalid api's called from edge runtime: #70639
- Update font data: #70653
- refactor: added more strict app segment config parsing: #70479
- next-upgrade: Stop interleaving user-input with long tasks: #70636
- Replace depricated
apple-mobile-web-app-capablewith `mobile-web-ap…: #70363 - Fix interpolation of dynamic params in intercepting route pathnames: #70667
- bugfix: only replace with full prefetch if existing data was partial: #70650
- next-upgrade: Default to release channel that's used: #70638
- feat(turbopack): add support for polling file watcher: #69684
- chore: improve accessibility of static indicator: #70612
- initially visited static pages should respect static staletime: #70640
- codemod: improve dynamic api codemod cases: #70593
- feat(next/image): add
images.localPatternsconfig: #70529 - Recommend
React.use()to unwrap async APIs in the browser: #70677 - Change default SWR delta value to 1 year: #70674
- [form] pages dir support: #68333
- chore(docs): refactor README.md: #70503
- Fix missing
awaitofparamswhen metadata is used: #70698 - condense warnings for direct access of dynamic APIs: #70682
- Allow silencing direct access of dynamic APIs to unblock internal sync: #70705
- Separate the rendering of viewport from metadata: #70685
- codemod: fix merging react imports logic: #70706
- Rename StaticGenerationStore to WorkStore: #70721
- fix: Do not omit alt on getImgProps return type, ImgProps: #70608
- fix(next/image): handle undefined
images.localPatternsconfig inimages-manifest.json: #70730 - Run unstable_cache inside a CacheStore context: #70740
- Expand PrerenderStore to include the legacy mode static generation too: #70741
- Reapply "Dedupe sync access warning on the Server by callsite" (#70672): #70738
- Add RSC module ID mapping to the Client Manifest: #70524
- [i18n] Routing fix: #70761
- fix broken lock mechanism: #70764
- client router cache should still be cleared if server action revalidates + redirects: #70715
- ensure handleUnlock is called even for non-cached responses: #70766
- [dynamicIO] Error when dynamic behavior is outside of a Suspense boundary: #70734
- [Turbopack] add new backend: #69667
- Fix client reference access causing metadata missing: #70732
- Move reactLoadableManifest/assetPrefix to workStore: #70768
- Unwrap
registerServerReferencefunction: #70563 - Error if reading Request Store inside Prerender: #70775
- codemod: handle the async api type: #70785
- Create spans for
createServerReferenceandregisterServerReference: #70564 - Do not invoke server actions twice when
dynamicIOis enabled: #70784 - feat: decouple cookies and action state from redirect error: #70769
- refactor: added more strict app segment config validation: #70480
- Fix recently re-introduced unique "key" prop warnings: #70807
- Run Middleware within WorkStore: #70808
- ensure export workers that are killed bubble up to parent process: #70997
- next-upgrade: Ensure correct React and types version are resolved when upgrading to Next.js rc: #70981
- codemod: leave comment on spread props: #70979
- docs: add
app-dir-runtime-config-experimental-edgecodemod: #71008 - docs: add
next-dynamic-access-named-exportcodemod: #71012 - chore(next-upgrade): use process exit instead of throwing: #71018
- chore(next-upgrade): improve revision usage messages: #71019
- Revert "chore(next-upgrade): use process exit instead of throwing (#7…: #71021
- Disable server action transform in pages router: #71028
- chore(next-codemod): view current Next.js version, skip if already on or higher: #71034
- codemod: comment on reexport: #71017
- move workUnitAsyncStorage back into "client/components": #71046
- codemod: type cast async api calls in non entry file exports: #71040
- codemod upgrade: show link of migration guide after upgrade: #71036
- Defensively install patches: #71043
- fix(next/turbopack): Always preserve import attributes with esm modules: #71051
- codemod: fix type only react import: #71053
- types-plugin: enahnce type checking on interface params: #71059
- Move WorkStore and ActionStore to /server/app-render: #70934
- [Turbopack] Implement support for webpack’s
stats.json: #70996 - chore(next-codemod): add verbose option to transform: #71079
- chore: polish warning for esmExternals: #71082
- go back to ignoring revalidates from render: #71088
- [Turbopack] add support for collectibles to new backend: #70798
- codemod: do not await on invalid prop: #71089
- chore(next-codemod): move app-dir-runtime-config-experimental-edge to 13.1.2: #71081
- Add cacheLife() / cacheTag() APIs: #71064
- Eagerly Pass Implicit Tags: #71105
- chore(next-codemod): add prompts for (un)installing packages: #71038
- [Turbopack] formatIssue is expensive, so avoid it if possible: #71117
- add phase tracking to workUnitStore: #71030
- [Turbopack] add unstable prefix to persistent caching option and force to provide an expected level of stability: #71090
- codemod: make parser more comptible: #71122
- Don't warn on well-known properties in
searchParams: #71142 - Add source map support for server components/actions in the browser: #71042
- show webpack/turbopack compilation duration for next build: #71146
- tweak static indicator style & behavior: #71128
- feat(next-upgrade): suggest React codemod: #71016
- prevent revalidateTag/Path during render: #71093
- fix(turbopack): Fix
NextEcmascriptClientReferenceTransition: #70603 - turn withRequestStore into createRequestStore: #71107
- Initial implementation of per-segment prefetch request handling: #71113
- Upgrade React from
2d16326d-20240930to70fb1363-20241010: #71118 - Revert "chore(next-codemod): move app-dir-runtime-config-experimental-edge to 13.1.2": #71157
- feat: block compilation on codemod comments and ask to remove: #71103
- Scope request store in render: #71109
- Reject hanging promises: #70994
- fix: allow custom app routes for metadata conventions: #71153
- chore(next-codemod): suggest pre-release codemods by their "stable" version: #71158
- misc(next-codemod): inform user whether current version is higher or on target version: #71160
- Update loading cache handler: #71121
- prevent cookies from being set in the wrong phase: #71094
- avoid accessing performance APIs if fetch is untracked: #71164
- Handle source map requests for Turbopack client chunks: #71168
- fix:
getStaticPropsappears instead ofgenerateStaticParamsduring app router build: #71033 - Rename swrDelta config to expireTime: #71159
- tweak shadow on static indicator & update docs copy: #71171
- [dynamicIO] track Prerender environment name during dev: #71165
- chore: update migration comments: #71169
- Add support for
"use cache"in route handlers: #70897 - For route handlers, call
loadComponentsalso duringnext build: #71202 - Handle thrown values that aren't
Errorinstances in App router: #71210 - fix: add newrelic to server-external-packages.json: #71066
- chore: delete redundant blank spaces in
packagesdirectory: #71189 - Do not create client reference manifest for metadata route handlers: #71225
- Upgrade React from
70fb1363-20241010tocd22717c-20241013: #71223 - Cache in CacheScopeStore in use cache: #71221
- Encode binary cache keys as ucs-2 strings: #71224
- Hide stack for bad input by default: #71253
- [after] after is not dynamic anymore: #71231
- codemod: ensure install commands run in terminal: #71255
- codemod: install types into dev dependencies: #71257
- codemod: polish end message: #71259
- chore: Ensure Next.js is built with a specified version of TypeScript: #71256
- more detailed time display: #71248
- Propagate expire/stale times the same way we do with revalidate: #71228
- Update global cache handler ref: #71263
- Handle URL-encoded Turbopack client chunks when resolving source maps: #71274
- [BREAKING] Support ESLint v9 in plugin, config and
next lint: #71218 - Make cacheLife profiles configurable: #71232
- [dynamicIO] warn in debug mode when prospective renders error: #71266
- codemod: prettier the version logging at the beginning: #71264
- Fix missing key in
LoadingBoundary: #71222 - codemod: install core deps based on package.json group: #71265
- Set Next-Router-Stale-Time header from collected stale times: #71279
- Respect stale time header in client prefetch cache: #71280
- Mark revalidate: 0 on fetch or use cache as never resolving promise in Dynamic I/O: #71285
- static indicator shouldn't show for force-dynamic: #71284
- Implement cacheScope by caching a Promise
: #71286 - codemod: update react-is if needed: #71276
- chore: remove experimental warning for next-config-ts: #71297
- fix(next): eslint v9 not picking up config: #71298
- Add support for
'use cache'in route handlers using the Edge runtime: #71258 - Re-add canary gates for certain experimental features: #71307
- Fix symbol for cache: #71270
- [after] fix waitUntil in edge runtime sandbox (pages/api): #71309
- codemod: override and install: #71318
Documentation Changes
- Add WorkOS to list of auth solutions: #64395
- docs (mdx): update tree to include mdx-components.tsx file: #64376
- Update 02-server-actions-and-mutations.mdx: #64248
- Update 04-cypress.mdx: #64375
- Update 13-debugging.mdx: #64344
- docs: clarify
Internationalization (i18n) Routing: #63853 - docs(pages): update slug value for optional catch all routes: #64381
- Fix optimizePackageImports docs for Pages Router: #64439
- Adds MDX Components file convention page and updates MDX page: #63568
- docs: fix config variable usage in memory docs: #64469
- Fix missing PagesOnly in 05-mdx: #64505
- chore(docs): Add example usage of PixelBin custom image loader: #64074
- docs(09-authentication): fixes link to NextAuth.js: #64457
- Improve auth docs : #63140
- Docs: Fix broken link: #64581
- docs: clarify runtime: #64593
- docs(09-authentication): fixes link to NextAuth.js: #64457
- Improve auth docs : #63140
- Docs: Fix broken link: #64581
- docs: clarify runtime: #64593
Example Changes
- Add TypeGen to Sanity example: #64198
- Update Sanity example deps and tsconfig: #64570
- chore: fix a wrong link for with-service-worker example: #64666
- Update Nav.tsx: #64818
- Update with-storybook example: #64911
- bug fix on a pull request #64911: #64925
- Update Sanity example deps: #64939
- deps updated for with-mongodb-mongoose example: #64928
- Docs: Explain why Layouts (RSCs) can't access
pathname: #64785 - fix(examples): blog-starter href, remove redundant public folder: #65025
- Ensure latest canary of Next.js is installed in repros: #64967
- Ensure latest canary of Next.js is installed in repros: #65197
- feat(examples): add with-turso: #61291
- Fix export function name on docs/routing/layouts-and-templates: #65240
- Fixes with-supertokens example: #65267
- @emotion/cache version fix: #65422
- update reproduction templates to use correct React: #65624
- Resolve grammatical errors in examples: #65644
- Update
middlewareexample to App Router: #65618 - update cache handler version and added better logic for opting out of…: #65330
- Update Sanity example deps and implementation: #65744
- update convex README.md: #65765
- chore: Bump react-modal to 3.16.2 in with-router-as-modal example: #65841
- Update Google Analytics example for App Router: #66021
- Update Sanity example deps and tsconfig: #64570
- chore: fix a wrong link for with-service-worker example: #64666
- Update Nav.tsx: #64818
- Update with-storybook example: #64911
- bug fix on a pull request #64911: #64925
- Update Sanity example deps: #64939
- deps updated for with-mongodb-mongoose example: #64928
- Docs: Explain why Layouts (RSCs) can't access
pathname: #64785 - fix(examples): blog-starter href, remove redundant public folder: #65025
- Ensure latest canary of Next.js is installed in repros: #64967
- Ensure latest canary of Next.js is installed in repros: #65197
- feat(examples): add with-turso: #61291
- Fix export function name on docs/routing/layouts-and-templates: #65240
- Fixes with-supertokens example: #65267
- @emotion/cache version fix: #65422
- update reproduction templates to use correct React: #65624
- Resolve grammatical errors in examples: #65644
- Update
middlewareexample to App Router: #65618 - update cache handler version and added better logic for opting out of…: #65330
- Update Sanity example deps and implementation: #65744
- update convex README.md: #65765
- chore: Bump react-modal to 3.16.2 in with-router-as-modal example: #65841
- Update Google Analytics example for App Router: #66021
- adopt modern & supported Apollo Client patterns in the with-apollo example: #65316
- Update with-react-hook-form example: #66253
- chore(examples): update reproduction template: #66301
- Update to with-supertokens example: #66320
- refactor: rename API endpoint to '/api/protected-api' for comment: #66456
- Update Sanity example deps and prepare for next v15: #66158
- Update with-supertokens example: #66827
- fix: Prevent MongoDB client promise being cached: #66977
- Prepare for easier shadcn ui install: #66469
- Updated with-sitemap example for App Router: #66995
- Example/update blog starter: #66926
- fix: fix entry point for storybook, add storybook static ouput to gitignore: #67207
- examples(with-mdx): update to MDX 3: #62503
- Revert "examples(with-mdx): update to MDX 3": #67249
- add more examples to run-for-change script: #67250
- Fix Dead Links in @neshca/cache-handler-redis example README.md: #67415
- Update redirects example for App router: #67065
- Updated layout-component with new feature layout.js: #67447
- [Multi Zones] Update the with-zones example to use App Router: #67636
- fix: missing file when build docker: #67718
- Examples: updated the example of dynamic-routing to utilize the App Router: #67684
- Updated basic-export example with app router: #67760
- Migrated the active-class-name Example to App router: #67622
- Downgrade react and react-dom to 19.0.0-rc.0: #67788
- Examples: updated the example of head-elements to utilize the App Router: #67829
- Examples: updated the example of analyze-bundles to utilize the App Router: #67843
- fix[examples]: update example cache-handler-redis: #67350
- Examples: Updated the example of headers to utilize the App Router: #67920
- Updated/Migrated next-css example to the App Router: #67942
- [examples] fix: ant-design unstyled hydration issue: #68000
- Update cookie handling for Supabase SSR package: #67413
- Examples:Updated with-slate example to App Router: #68060
- Updated nested-components example to use App Router: #68065
- Examples: Updated the example of catch all routes to utilize the App Router: #68270
- docs: Custom Server for App Router: #68167
- update react remove properties to support app route: #68324
- Update Sanity example deps and fix readme typo: #68359
- Migrated svg-components to App-router: #68394
- with-mongodb update to add both App and Pages Router examples: #68461
- fix: ENV warn info: #68486
- Migrated 'with-absolute-imports' to App-router Convention: #68666
- Updated radix-ui example to use App Router: #68711
- updated the example of api-routes to utilize the App Router: #68771
- fix: inngest example for latest version: #68600
- Compose refactor: #68503
- Improve TypeGen in Sanity Example: #68580
- Update page.tsx - Fixing hydration error: #66868
- fix: cache-handler example should reconnect to redis after errors: #68221
- (Examples) Adds
with-google-tag-managerexample that uses@next/third-parties: #57364 - Fix linting from #57364: #68951
- examples: avoid duplicate css insert for ant design: #57947
- docs(examples): fix next-translate prod hydration error in layout: #52653
- (Example) Remove redirects plugin from Sitecore XM Cloud example: #69094
- Supabase: improve sign in and sign up, add reset password: #69066
- Add Meilisearch example: #53251
- updated the example of custom-routes-proxying to utilize the App Router: #68941
- examples: update "ENV key value" format format to "ENV key=value": #69053
- fix: ENV warning: #69091
- Reduce TypeGen boilerplate in Sanity Example: #69134
- Examples - Updated with-windcss example for App Router: #69365
- examples: Supabase | ui.shadcn, App Router Layouts: #69308
- Fix: Example Template | with-supabase - wrong file name breaking build: #69394
- Fix/ Examples
use-supabase| Multiple improvements : #69407 - examples: Updating WordPress example to Next 14: #62447
- Add
cms-umbracoexample: #52777 - Example: Updated the example of rewrites to utilize the App Router: #69495
- docs: Use
useFormStateoveruseActionState: #69547 - updated the example of modularize-imports to utilize the App Router: #69771
- updated the example of with-xstate to utilize the App Router: #69960
- Updated the example of with-eslint to utilize the App Router.: #70018
- Remove stores params: #69796
- Fix example URL for api-routes -> route-handlers: #69642
- Update with web worker example to utilize the App Router: #70058
- fix(examples): typo command name: #70094
- fix: button className in with_supabase example: #70121
- fix(examples): remove
versionattribute post deprecation: #70108 - Update examples/github-pages/README.md: #70057
- remove unsafe-inline from with-strict-csp: #69497
- chore/ examples use-supabase | update rate limit note: #69423
- examples(with-supabase): typo on env file name: #69291
- fix(examples/with-docker): remove not needed files from docker context: #68668
- updated the example of with-videojs to utilize the App Router: #70226
- updated the example of with-three-js to utilize the App Router: #70287
- Updated the example of with-vercel-fetch to utilize the App Router.: #70069
- Updated the example of ssr-caching to utilize the App Router.: #69560
- Updated the example of ssr-caching to utilize the App Router.: #69560
- fix(example): Change hostname in docker multiple env examples: #70105
- Updated the example of with-draft-js to utilize the App Router.: #70045
- Fix Stackblitz preview link on with-opentelemetry example: #70543
- [Multi-Zones] Update example and documentation with most recent practices for Multi-Zones: #70565
- updated the environment variables examples to utilize the App router: #70392
- chore(examples): updated the example of with-styled-components: #70796
- chore(examples):updated the example of with-stitches to utlize the App router: #71007
- docs(typo): fix typo in
cms-sanityexampleREADME.md: #71211
Credits
Huge thanks to @huozhi, @shuding, @wyattjoh, @PaulAsjes, @mcnaveen, @timneutkens, @stipsan, @aktoriukas, @sirTangale, @greatvivek11, @sokra, @anatoliik-lyft, @wbinnssmith, @coltonehrman, @hungdoansy, @kxlow, @ztanner, @manovotny, @leerob, @ryota-murakami, @ijjk, @pnutmath, @feugy, @Jeffrey-Zutt, @wiesson, @eps1lon, @devjiwonchoi, @Ethan-Arrowood, @kenji-webdev, @domdomegg, @samcx, @Jaaneek, @evanwinter, @kdy1, @balazsorban44, @feedthejim, @ForsakenHarmony, @kwonoj, @delbaoliveira, @xiaohanyu, @dvoytenko, @bobaaaaa, @bgw, @gaspar09, @souporserious, @unflxw, @kiner-tang, @Ehren12, @EffectDoplera, @IAmKushagraSharma, @Auxdible, @sean-rallycry, @jeanmax1me, @unstubbable, @NilsJacobsen, @adiguno, @ryan-nauman, @zsh77, @KagamiChan, @steveluscher, @MehfoozurRehman, @vkryachko, @chentsulin, @samijaber, @begalinsaf, @FluxCapacitor2, @lukahartwig, @brianshano, @pavelglac, @styfle, @symant233, @HristovCodes, @karlhorky, @jonluca, @jonathan-ingram, @mknichel, @sopranopillow, @Gomah, @imddc, @notrab, @gabrielrolfsen, @remorses, @AbhiShake1, @agadzik, @rishabhpoddar, @rezamauliadi, @IncognitoTGT, @webtinax, @BunsDev, @nisabmohd, @z0n, @bennettdams, @joeshub, @n1ckoates, @srkirkland, @RiskyMH, @coopbri, @okoyecharles, @diogocapela, @dnhn, @typeofweb, @davidsa03, @imranolas, @lubieowoce, @maxhaomh, @mirasayon, @blvdmitry, @hwangstar156, @lforst, @emmerich, @christian-bromann, @Lsnsh, @datner, @hiro0218, @flybayer, @ianmacartney, @ypessoa, @ryohidaka, @icyJoseph, @Arinji2, @lovell, @nsams, @Nayeem-XTREME, @JamBalaya56562, @Arindam200, @gaojude, @qqww08, @todor0v, @tokkiyaa, @arlyon, @lorensr, @Juneezee, @Sayakie, @IGassmann, @bosconian-dynamics, @phryneas, @akazwz, @atik-persei, @shubh73, @alpedia0, @chogyejin, @notomo, @ArnoldVanN, @dhruv-kaushik, @kevva, @Kahitar, @anay-208, @boris-szl, @devnyxie, @LorisSigrist, @M-YasirGhaffar, @Lada496, @kippmr, @torresgol10, @pkiv, @Netail, @jontewks, @ArnaudFavier, @chrisjstott, @mratlamwala, @mayank1513, @karlkeefer, @kshehadeh, @Marukome0743, @a89529294, @anku255, @KeisukeNagakawa, @andrii-bodnar, @aldosch, @versecafe, @steadily-worked, @cfrank, @QiuranHu, @farsabbutt, @joostmeijles, @saltcod, @archanaagivale30, @crutchcorn, @crebelskydico, @Maaz-Ahmed007, @jophy-ye, @remcohaszing, @JoshuaKGoldberg, @creativoma, @GyoHeon, @SukkaW, @MaxLeiter, @neila-a, @stylessh, @Teddir, @ManuLpz4, @Julian-Louis, @syi0808, @mert-duzgun, @amannn, @MonstraG, @hamirmahal, @tariknh, @Kikobeats, @LichuAcu, @Kuboczoch, @himself65, @Sam-Phillemon9493, @Shruthireddy04, @Hemanshu-Upadhyay, @timfuhrmann, @controversial, @pathliving, @mischnic, @mauroaccornero, @NavidNourani, @allanchau, @ekremkenter, @yurivangeffen, @gnoff, @darthmaim, @gdborton, @Willem-Jaap, @KentoMoriwaki, @TrevorSayre, @marlier, @Luluno01, @xixixao, @domin-mnd, @niketchandivade, @N2D4, @kjugi, @luciancah, @mud-ali, @codeSTACKr, @luojiyin1987, @mehmetozguldev, @ronanru, @tknickman, @joelhooks, @khawajaJunaid, @rubyisrust, @abdull-haseeb, @bewinsnw, @housseindjirdeh, @li-jia-nan, @aralroca, @s-ekai, @ah100101, @jantimon, @jordienr, @iscekic, @Strift, @slimbde, @nauvalazhar, @HughHzyb, @guisehn, @wesbos, @OlyaPolya, @paarthmadan, @AhmedBaset, @dineshh-m, @avdeev, @Bhavya031, @MildTomato, @Bjornnyborg, @amikofalvy, @yosefbeder, @kjac, @woutvanderploeg, @Ocheretovich, @ProchaLu, @luismiramirez, @omahs, @theoludwig, @abhi12299, @sommeeeer, @lumirlumir, @royalfig, @iampoul, @molebox, @txxxxc, @zce, @mamuso, @kahlstrm, @vercel-release-bot, @zhawtof, @PapatMayuri, @PlagueFPS, @IDNK2203, @jericopulvera, @liby, @CannonLock, @timfish, @whatisagi, @none23, @haouvw, @Pyr33x, @SouthLink, @frydj, @CrutchTheClutch, @sleevezip, @r34son, @yunsii, @md-rejoyan-islam, @kartheesan05, @nattui, @KonkenBonken, @weicheng95, @brekk, @Francoscopic, @B33fb0n3, @ImDR, @nurullah, @hdodov, @ebCrypto, @soedirgo, @floriangosse, @Tim-Zj, @raeyoung-kim, @erwannbst, @DerTimonius, @hirotomoyamada, @Develliot, @chandanpasunoori, @vicb, @ankur-dwivedi, @kidonng, @baeharam, @AnaTofuZ, @coderfin, @xugetsu, @alessiomaffeis, @kutsan, @jordyfontoura, @sebmarkbage, @tranvanhieu01012002, @jlbovenzo, @Luk-z, @jaredhan418, @bangseongbeom, @penicillin0, @neoFinch, @DeepakBalaraman, @Manoj-M-S, @Unsleeping, @lonr, @Aerilym, @ytori, @acdlite, @actopas, @n-ii-ma, @adcichowski, @mobeigi, @JohnGemstone, and @jjm2317 for helping!
Core Changes
- fix(next): global not-found not working on multi-root layouts: #63053
- chore(next): add keywords on package.json: #64173
- Fix DynamicServerError not being thrown in fetch: #64511
- fix:
lib/helpers/install.tsto better support pnpm and properly respectrootargument: #64418 - fix(next):
Metadata.openGraphvalues not resolving basic values whentypeis set: #63620 - disable production chunking in dev: #64488
- update turbopack: #64501
- Turbopack: Allow client components to be imported in app routes: #64520
- refactor: remove always truthy flag: #64522
- Turbopack: don’t show long internal stack traces on build errors: #64427
- next/script: Correctly apply async and defer props: #52939
- chore(next/font): update @capsizecss/metrics package: #64528
- feat: add information that revalidate interval is in seconds: #64229
- Typo "Minifer" in config.ts: #64359
- Enhance types for Node and Edge envionments: #64454
- feat: Add a validation for
postcsswithuseLightningcss: #64379 - fix HMR for cases where chunking changes: #64367
- perf: improve Pages Router server rendering performance: #64461
- Fix cjs client components tree-shaking: #64558
- fix refresh behavior for discarded actions: #64532
- fix: filter out middleware requests in logging: #64549
- chore: remove unused rust dependencies: #62176
- fix(next-swc): correctly set wasm fallback for known target triples: #64567
- memoize layout router context: #64575
- fix incorrect refresh request when basePath is set: #64589
- fix TypeError edge-case for parallel slots rendered multiple times: #64271
- Fix ASL bundling for dynamic css: #64451
- Revert "fix(next): global not-found not working on multi-root layouts": #64601
- chore(test): run related E2E deploy tests on PRs: #63763
- Improve top level await coverage: #64508
- Upgrade typescript to 5.3: #64043
- add pathname normalizer for actions: #64592
- Fix experimental/testmode by removing console.log: #64670
- Don't output .test.ts files in next/font: #63472
- Fix reporting when performance.measure doesn't exist (Edge): #64669
- Reduce amount of data passed to collectBuildTraces: #59665
- fix(next-server): 'quiet' setting delegate for custom server: #64512
- Revert "chore(test): run related E2E deploy tests on PRs": #64682
- update turbopack: #64686
- Fix: resolve mixed re-exports module as cjs: #64681
- Revert "fix TypeError edge-case for parallel slots rendered multiple times": #64690
- Fix typo: 'serverComponentsExtenalPackages' should be 'serverComponentsExternalPackages': #64705
- prevent erroneous route interception during lazy fetch: #64692
- Add
@appsignal/nodejsto the external packages list: #64503 - fix root page revalidation when redirecting in a server action: #64730
- Clean-up fetch metrics tracking: #64746
- [actions] Enforce body limit using Transform stream: #64694
- Turbopack: Don’t show stack traces for internal modules: #64228
- Reapply "chore(test): run related E2E deploy tests on PRs" (#64682): #64712
- fix(fetch-cache): fix typo: #64786
- fix: remove traceparent from cachekey should not remove traceparent from original object: #64727
- fix interception route rewrite regex not supporting hyphenated segments: #64805
- Disable ncc cache instead of cache cleaning: #64804
- Move next-swc Turborepo config to packages/next-swc: #64789
- build: Update
swc_coretov0.90.33: #64553 - Enable loading source maps for Next Server and React: #64527
- fix: mixing namespace import and named import client components: #64809
- fext(next): extend next.config for mdxRs support options: #64801
- skip test_e2e_deploy_related when triggered from a fork: #64893
- fix(fetch-cache): fix additional typo, add type & data validation: #64799
- feat(next-core): support parsing matcher config object: #64678
- Fix mixed exports in server component with barrel optimization: #64894
- fix: improve tsconfig extends checks: #61413
- Fix next/image usage in mdx: #64875
- fix dynamic route interception not working when deployed with middleware: #64923
- feat(turbopack): Handle fragments in requests: #64232
- feat(turbopack): Check for duplicate parallel routes: #64181
- Speed up createNext test suite isolation: #64909
- fix(rewrites): support external rewrite destination: #64943
- Ensure edge prerender-manifest is minimal: #64946
- remove special-cased prefetch kind in dev mode: #64941
- feat: support import attributes: #59480
- NextJS App router: add
isolated-vmto server-external-packages.json: #64749 - Add
next experimental-testcommand: #64352 - Revert "feat: support import attributes": #65001
- NODE_OPTIONS updates: #65006
- Update React from 14898b6a9 to c3048aab4: #64798
- initialize ALS with cookies in middleware: #65008
- feat(next/image)!: remove
squooshin favor ofsharpas optional dependency: #63321 - fix: Workaround acorn bug/version issue by using SWC: #65021
- build: Update
@swc/coretov1.5.0: #65022 - Ensure escaped string are parsed in NODE_OPTIONS: #65046
- chore(fetch-cache): remove zod from fetch cache: #65079
- support breadcrumb style catch-all parallel routes: #65063
- Improve initial setup with new App Router TypeScript project: #64826
- Add experimental trace file field: #65071
- Fix playwright config merging for webServer property: #65090
- chore(logging): Disable info logging of critters in production: #62776
- [unstable_cache] Don't track dynamic fetches in an unstable_cache callback: #65010
- fix(page-static-info): refine warning message to emit once: #65091
- update redirect handling on forwarded action requests: #65097
- Tracing: allow opt-in flag to send build traces to url: #65019
- Turbopack: Allow client components from foreign code in app routes: #64751
- fix node.js module warning in middleware: #65112
- Fix: strip _rsc query for client navigation rsc request: #65084
- fix unhandled runtime error when notFound() triggered in generateMetadata w/ parallel routes: #65102
- Use vercel deployment url for metadataBase fallbacks: #65089
- Fix next/dynamic with babel and src dir: #65177
- update turbopack: #65191
- Fix crypto import in edge runtime with Turbopack: #65171
- Resolve global
nextWebpack alias last: #65123 - Add oslo, @node-rs/argon2, and @node-rs/bcrypt to external packages: #65204
- [trace] Reduce the size of .next/trace files: #65101
- Remove extra suspense boundary for default next/dynamic: #64716
- Only apply metadata manifest credentials for preview deployment: #64940
- fix(next): add missing browser.major type: #65185
- Turbopack: rename source map prefix: #64965
- fix(next/image): detect react@19 for
fetchPriorityprop: #65235 - Use POST for invokeIpcMethod: #65238
- fix redirect to url with semicolon: #65165
- Provide non-dynamic segments to catch-all parallel routes: #65233
- Fix an issue parsing catchall params: #65277
- Enable preloading entries by default: #65289
- Trace uploader: add worker spans to allowed events: #65255
- Update font data: #65301
- Update revalidateTag to batch tags in one request: #65296
- Revert "Remove extra suspense boundary for default next/dynamic": #65309
- Emit polyfill-nomodule.js into the build manifest polyfillFiles: #65223
- Remove broken
#[turbo_tasks::value(transparent)]attributes: #65336 - Delete dead
concatenate_output_assetsfunction: #65337 - Upgrade Turbopack: #65320
- Pages router: Use attribute-based head children reconciler when
strictNextHeadis enabled: #65408 - Revert "Implement Turbopack trace server bindings": #65419
- use correct not-found component when triggered from a parallel route: #65343
- Implement Turbopack trace server bindings: #65410
- fix(next/image): bypass icns images: #65414
- [PPR] Enable incremental adoption: #63847
- fix: replace deprecated/removed functions in eslint-plugin-next: #64251
- docs: update
revalidatePath& fix cache debug logic: #65365 - fix(next-core): mark turbopack embed fs to be internals: #65420
- fix(next/image): add missing svg test and refactor missing types: #65345
- build(edge): extract buildId into environment: #64521
- Revert "build(edge): extract buildId into environment": #65425
- fix(next/image): set max url length to 3072: #65457
- Support React 19 in App and Pages router: #65058
- Promote and rename server bundling options
serverComponentsExternalPackagesandbundlePagesExternals: #65421 - add experimental flag to allow forcing NODE_ENV=development in builds: #65463
- Support esm externals in app router: #65041
- fix: lazy load sharp: #65484
- make sure children is first in loader tree to fix head css bug on client navigation: #65279
- Re-land build(edge): extract buildId into environment: #65426
- improve versioned content map: #65466
- update turbopack: #65503
- Remove ineffective webpack rules and unused app-page context modules: #65321
- add page name to crashes: #65504
- Bump styled-jsx to 5.1.3: #65485
- Preload all chunks for next/dynamic in SSR: #65486
- fix!: add sharp timeout of 10 seconds: #65517
- Turbopack: new graph aggregation: #65206
- feat(next): revise server component error message: #65468
- chore: update prettier to 3.2.5: #65092
- Revert "Remove ineffective webpack rules and unused app-page context modules": #65558
- Remove auto appending xml extension to dynamic sitemap routes: #65507
- Remove rsc esm client module extra exports: #65519
- Handle nonce on Next.js injected script/link tags: #65508
- Fix multi-zone test by removing dependency list: #65589
- remove next-action header when following a redirect: #65615
- Remove @next/font resolving for font loaders: #65601
- remove legacy deprecated warnings: #65579
- feat(turbopack): add support for
bundlePagesRouterDependencies: #65520 - fix(next-swc): load wasm fallback if native bindings fail to load: #65623
- fix(next-swc): correct path interop to filepath for wasm: #65633
- Add proper deprecation/rename warnings for server bundling option: #65575
- feat!(next/image): change default
Content-Dispositiontoattachment: #65631 - Pages router: Enable strict
next/headchildren reconciler by default: #65418 - Apply react-server conditions to middleware: #65424
- fix(next-swc): Do not reuse compiler instance: #65602
- Show the new key of experimental config change warnings: #65651
- fix(next-swc): Fix SWC env target - include option: #65693
- Reapply "Implement Turbopack trace server bindings" (#65419): #65527
- fix(resolve-metadata): allow for search params in canonical URL: #65366
- Remove missingSuspenseWithCSRBailout config: #65688
- Reland Remove ineffective webpack rules and unused app-page context modules: #65694
- Remove swc minify related code branches: #65690
- fix: load the tags manifest asynchronously: #64563
- Bump acorn to replace swc class properties transform: #65715
- fix: watch experimental/testmode in when running "pnpm dev": #65689
- Revert "chore: externalize undici for bundling": #65727
- [ppr] Request normalization fixes: #65717
- fix(next/image)!: error when
srchas leading or trailing space: #65637 - fext(next-swc): extend internal env flag to all native bindings: #65748
- Update font data: #65719
- fix(next): add alias to new react exports: #65761
- Update font data: #65768
- feat: remove font family hashing in next/font css: #53608
- Add script to script loader when strategy prop is undefined: #65585
- fix: ensure websockets are correctly passed: #65759
- Add
clientTraceMetadataexperimental option to propagate tracing data to the client: #64256 - Remove process auto polyfill in edge runtime: #65751
- feat: support import attributes: #65749
- Turbopack: Remove
EcmascriptChunkingContext: #65716 - Error in build for middleware when import client-only: #65792
- fix(next): reject protocol-relative URLs in image optimization: #65752
- Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload: #65664
- Bundle the installed react for middleware: #65811
- fix middleware cookie initialization: #65820
- fix(next/image)!: set upstream timeout to 7 seconds: #65821
- feat(turbopack-ecmascript): use import attributes for annotations: #59370
- feat(next): experimental react compiler support: #65804
- Fix the runtime for rsc layer: #65850
- Ensure React Compiler only runs on first-party browser code: #65851
- fix: bump nft@0.27.1: #65854
- add effect packages into the optimized-by-default list: #65465
- Upgrade react@beta: #65845
- Ensure plugin-syntax-jsx doesn't have to be installed: #65865
- Update React from 4508873393 to 04b058868c: #65864
- Set default stale-while-revalidate header value to 1 year: #65867
- fix missing experimental warning for reactCompiler: #65866
- Error on mismatched minimal react version: #65806
- Revert "Set default stale-while-revalidate header value to 1 year": #65887
- Update turbopack & swc_core: #65450
- Revert "Fix broken HTML inlining of non UTF-8 decodable binary data f…: #65906
- experimental: unstable_after: #65038
- Docs: Replace "twitter.com" to "x.com": #65917
- fix(next/image): prefer sharp defaults, use mozjpeg for JPEG: #65846
- Update font data: #65961
- unstable_after: support nested unstable_after calls: #65950
- Fix revalidateTimings route for catchall index route: #65843
- fix(next): initial prefetch cache not set properly with different search params: #65977
- Add additional log to experimental ppr flag in next.config.js: #65944
- Change default of prerenderEarlyExit to true: #65830
- short-circuit OPTIONS requests to pages: #65295
- Turbopack: Implement
next/font/localwithBeforeResolvePluginand show custom error message: #65870 - [Breaking] Disable automatic static generation for route handlers: #65825
- Fix router.refresh missing canonical url override: #65999
- Fix typo in JSDoc of
pprflag ofnext.config.js: #66028 - Revert webpack bundling layer changes for middleware/pages: #66049
- Upgrade lightningcss, disable grid prefixing: #65986
- [Breaking] disable client router cache for page segments: #66039
- Add dedicated client entry for Turbopack builds: #65824
- Update React from 04b058868c to 81c5ff2e04 : #65869
- implement unstable_rethrow: #65831
- chore(next/image): remove unused
outputparameter: #66083 - next-swc-napi: Enable "plugin" feature by default: #66006
- [turbopack] Use updated RawOutput API: #65300
- Skip setting to fetch cache when not modified: #66055
- [Memory] Add option to reduce memory usage caused by duplicate strings in webpack-sources: #66003
- Ensure metadata routes dont skip static optimization: #66097
- [unstable_after] fix occasional dev-mode crash in edge runtime pages: #66099
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
Documentation Changes
- docs(09-authentication): fixes link to NextAuth.js: #64457
- Improve auth docs : #63140
- Docs: Fix broken link: #64581
- docs: clarify runtime: #64593
Example Changes
- Update Sanity example deps and tsconfig: #64570
- chore: fix a wrong link for with-service-worker example: #64666
- Update Nav.tsx: #64818
- Update with-storybook example: #64911
- bug fix on a pull request #64911: #64925
- Update Sanity example deps: #64939
- deps updated for with-mongodb-mongoose example: #64928
- Docs: Explain why Layouts (RSCs) can't access
pathname: #64785 - fix(examples): blog-starter href, remove redundant public folder: #65025
- Ensure latest canary of Next.js is installed in repros: #64967
- Ensure latest canary of Next.js is installed in repros: #65197
- feat(examples): add with-turso: #61291
- Fix export function name on docs/routing/layouts-and-templates: #65240
- Fixes with-supertokens example: #65267
- @emotion/cache version fix: #65422
- update reproduction templates to use correct React: #65624
- Resolve grammatical errors in examples: #65644
- Update
middlewareexample to App Router: #65618 - update cache handler version and added better logic for opting out of…: #65330
- Update Sanity example deps and implementation: #65744
- update convex README.md: #65765
- chore: Bump react-modal to 3.16.2 in with-router-as-modal example: #65841
- Update Google Analytics example for App Router: #66021
Misc Changes
- hotfix: hardcoded skip turbopack tests to manifest: #64515
- Update to latest rust-cache: #64524
- Require turbopack build jobs: #64526
- chore: tweak unhelpful comment weight: #64496
- Update Turbopack development test manifest: #64546
- Update Turbopack development test manifest: #64579
- chore: update labels in workflows/templates: #63713
- chore: update label: #64662
- docs: fix MDX codeblock: #64673
- Docs: Review auth guide: #64605
- Update Turbopack development test manifest: #64709
- add node example to open graph image docs: #64305
- docs: Suggest a blobless clone instead of a shallow clone: #64693
- Fix next-swc native binary write in tests: #64744
- docs: Add ant-design library info: #63965
- docs: fix default.js params example: #64748
- Update 07-route-groups.mdx, remove extra bracket: #64754
- chore: exit running related tests if there was no match: #64772
- docs: remove types in js example: #64761
- chore: rename 'example bug' label to 'examples': #64775
- Update Turbopack development test manifest: #64762
- chore: match label name during autolabeling: #64770
- Docs: Clarify template.js behavior: #64781
- Upgrade Turborepo: #64767
- Update index.mdx: #64794
- docs: "generateMetadata" to "generateViewport" in doc "generateViewport": #64795
- Update 06-bundle-analyzer.mdx: #64740
- Upgrade Turborepo: #64842
- Update
@testing-library/reactused in tests: #64851 - Update Turbopack development test manifest: #64838
- docs: remove types in js example: #64878
- fix app-dir-edge-runtime-with-wasm test: #64891
- chore(docs): added inlang to the list of i18n community libraries: #61323
- Add WorkOS to list of auth libraries: #64860
- Revert turborepo to 1.13.3-canary.2: #64892
- Revert turborepo to 1.13.3-canary.2 cont.: #64895
- Update 04-loading-ui-and-streaming.mdx: #64857
- Docs: Add section for
@next/envpackage: #64908 - test(manifest): skip font/proxy test for now: #64927
- docs: update og generation code with local assets: #64888
- Allow StackBlitz repro links in bug reports on GitHub: #64935
- Fix mock span: #64944
- Add --skip-install flag to create-next-app: #64691
- Fix windows CI due to node release: #64950
- Ensure install works in test fixtures when
NEXT_TEST_SKIP_CLEANUP=1is specified: #64829 - test(fixture): allow turbopack build with longer wait time: #64930
- Sync Cargo.lock with turbo: #64989
- fix(test-utils): more robust server teardown: #64991
- Update Turbopack development test manifest: #64996
- Removed the "-" sign on Bun option for create-next-app CLI tool in the documentation: #64972
- test(fixture): prevent unexpected errored exit with leaking error: #65007
- docs: fix Bun install command: #65016
- Fix Server Action closure example: #65029
- Update sitemap.mdx: #65003
- chore: notify on popular feature requests: #64877
- docs: add missing imports in auth article: #65039
- Replace createNextDescribe with nextTestSetup: #64817
- Update Turbopack production test manifest: #65055
- Update Turbopack development test manifest: #65054
- Fix typo in code example in index.mdx: #65075
- test: fix react version testing due to new release: #65081
- Combine necessary file for edge route in size calculation: #65053
- Bump
@testing-library/reactto 15.0.3 (from 13.x): #65119 - docs: Fix typo for
ReactDOM.prefetchDNSmethod inside Resource Hints section: #65111 - chore(github-workflow): update popular workflows cron time, fix undef…: #65172
- chore(github-templates): update docs_report template, update template descriptions: #65178
- chore: add more labels: #65209
- docs: Add @fluentui/react-components to list of libraries that support css-in-js with app router: #61521
- docs: fix skipTrailingSlashRedirect middleware example: #65220
- docs(app-routing-layoutsand-template): use the correct path: #65085
- Update Turbopack production test manifest: #65225
- Update Turbopack development test manifest: #65226
- chore(github-workflow): update to check all reactions: #65228
- docs(staletime): add clarification around prefetch false: #65252
- [create-next-app] remove "text-balance" custom class: #63742
- Extract slow tests to avoid wasteful start/stop: #65265
- Remove unnecessary mocks: #65284
- chore(github-workflow): add
linear: nextlabels to sync popular issues to linear: #65288 - Improve test assertions: #65285
- docs: update Route Handler streaming example: #65286
- chore(github-workflow): Update title for update-font-data workflow: #65293
- Update Turbopack development test manifest: #65312
- add explicit test for parallel routes in a root layout: #65338
- docs(unstable_cache): add data cache mentions: #65342
- Remove duplicate code example in authentication page: #65354
- Update Turbopack development test manifest: #65404
- use backticks instead of quotes: #65393
- Update 05-mdx.mdx: #65392
- Support interrupts and focus in react-profiling-mode test: #65200
- Improve
Head > scriptcoverage: #65399 - chore(test): add more tests for image optimizer formats: #65363
- Improve test assertions: #65319
- Use
@testing-libraryinstead of react-dom/test-utils: #65328 - Fixed wrong highlight in Building your application > authentication > useFormStatus hook example : #65400
- docs(caching): Fix typo for
staleTimes: #65427 - test: disable next-test playwright test: #65460
- fix isTurbopack check in test cases: #65446
- Updating the links to the
useActionStatedocs: #65476 - update create-next-app React versions: #65478
- Update docs on default
metadataBasevalue: #65428 - Update Turbopack development test manifest: #65497
- chore: add prettier update to blame ignore: #65529
- Sync Cargo.lock with Turbo: #65525
- chore(test): test image preload below the fold: #65528
- test: consolidate action flaky test: #65541
- Fix
/dynamicintest/.stats-app: #65543 - chore(create-next-app): add --empty flag: #65532
- fix: ignore all
.envfiles forcreate-next-appby default: #61920 - docs: explain about the conditional default metadataBase on vercel de…: #65583
- Fix
NEXT_SKIP_ISOLATE=1log for testing: #65590 - [eslint] Fix lint-staged to ensure eslint is ran: #65622
- Docs: Update server actions link to point at server actions page: #65593
create-next-app- Update links for READMEs: #65548- chore(create-next-app): update empty templates: #65620
- fix(docs): fix minor meta charset typo: #65596
- chore(create-next-app): update README links: #65634
- Add Ecmascript features tests: #65613
- Add missing type-only imports to documentation examples: #65687
- chore(CI): escape PR title for slack webhook: #65742
- Docs: Make "With URL Obeject" only displayed in Pages docs: #65547
- Update external links 07-edge.mdx: #65728
- chore: add git blame ignore-revs support to gitlens for vscode configuration: #65762
- chore: remove unnecessary dependency: #65819
- test: fix flaky tests and disabled constant failing ones: #65822
- Run CNA tests with Next.js from branch: #65852
- docs(css-in-js): alphabetize libraries name: #65832
- Fix typos in test descriptions in router-rerender integration tests: #65834
- fix: race condition in CLI output in react-compiler test: #65909
- Update create-next-app template: #65803
- Fix send-trace-to-jaeger boolean span values: #65920
- Mention Renaming of useFormState: #65934
- docs: clarify gSSP docs for runtime: #65962
- fix(docs): update styled components option: #65718
- feat: Add option to enable Turbopack with create-next-app: #65926
- chore(github-workflow): move issues, prs, features to #next-info channel: #65991
- Update Turbopack development test manifest: #66002
- docs: Update Route Handlers docs for dynamic: #66010
- Update Turbopack production test manifest: #66007
- Include base commit in changes included by a React sync: #65868
- add missing "prerenderEarlyExit: false" to dynamic-data test
- add pre-push hook to guard against accidental pushes directly to canary: #66030
- Add missing 'prerenderEarlyExit: false' in tests: #66032
- chore(docs): remove suggestion of manually installing
sharp: #66034 - Update Turbopack development test manifest: #66044
- Fix swc test path from node_modules: #66047
- Update
create-next-apptemplate CSS: #66043 - Update lightningcss to 1.0.0-alpha.56: #66046
- ci(workflow): skip building next-swc with latest turbopack: #66048
- Improve
sync-reactchangelog generator: #66051 - Tweak flakey metadata error tests: #66060
- Fix cloudflare transform images url: #66076
- React sync: Reduce manual tasks: #66095
- React sync: Handle React PRs landed via ghstack: #66069
- [Memory] Add docs for new experimental.webpackMemoryOptimizations option: #66096
Credits
Huge thanks to @devjiwonchoi, @ijjk, @Ethan-Arrowood, @sokra, @kenji-webdev, @wbinnssmith, @huozhi, @domdomegg, @samcx, @Jaaneek, @evanwinter, @wyattjoh, @kdy1, @balazsorban44, @feedthejim, @ztanner, @ForsakenHarmony, @kwonoj, @delbaoliveira, @stipsan, @leerob, @shuding, @xiaohanyu, @timneutkens, @dvoytenko, @bobaaaaa, @bgw, @gaspar09, @souporserious, @unflxw, @kiner-tang, @Ehren12, @EffectDoplera, @IAmKushagraSharma, @Auxdible, @sean-rallycry, @Jeffrey-Zutt, @eps1lon, @jeanmax1me, @unstubbable, @NilsJacobsen, @PaulAsjes, @adiguno, @ryan-nauman, @zsh77, @KagamiChan, @steveluscher, @MehfoozurRehman, @vkryachko, @chentsulin, @samijaber, @begalinsaf, @FluxCapacitor2, @lukahartwig, @brianshano, @pavelglac, @styfle, @symant233, @HristovCodes, @karlhorky, @jonluca, @jonathan-ingram, @mknichel, @sopranopillow, @Gomah, @imddc, @notrab, @gabrielrolfsen, @remorses, @AbhiShake1, @agadzik, @ryota-murakami, @rishabhpoddar, @rezamauliadi, @IncognitoTGT, @webtinax, @BunsDev, @nisabmohd, @z0n, @bennettdams, @joeshub, @n1ckoates, @srkirkland, @RiskyMH, @coopbri, @okoyecharles, @diogocapela, @dnhn, @typeofweb, @davidsa03, @imranolas, @lubieowoce, @maxhaomh, @mirasayon, @blvdmitry, @hwangstar156, @lforst, @emmerich, @christian-bromann, @Lsnsh, @datner, @hiro0218, @flybayer, @ianmacartney, @ypessoa, @ryohidaka, @icyJoseph, @Arinji2, @lovell, @nsams, @Nayeem-XTREME, @JamBalaya56562, @Arindam200, @gaojude, @qqww08, and @todor0v for helping!
Core Changes
- Revert "[dynamicIO] warn for disallowed dynamic in dev": #71566
Credits
Huge thanks to @ztanner for helping!
Core Changes
- chore(next-codemod): use "confirm" for consistent prompt: #71551
Misc Changes
- chore(docs): add docs for input image formats with next/image: #71565
Credits
Huge thanks to @devjiwonchoi and @styfle for helping!
Core Changes
- [dynamicIO] warn for disallowed dynamic in dev: #71526
- Format generated cacheLife() types as overloads with each value: #71544
- Ensure receiveExpiredTags is called per-request: #71543
- feat: dedupe consecutive captured console errors: #71483
- [Turbopack] add more tracing to dirty flagging: #71482
- improve typescript autocomplete for cacheLife: #71400
- Ensure workers are cleaned up always: #71564
Misc Changes
- DX improvements for
"use cache"functions: #71518 - chore(docs): remove recommendation about using
priorityoverloading=eagerwithnext/image: #71562
Credits
Huge thanks to @gnoff, @sebmarkbage, @ijjk, @huozhi, @sokra, @unstubbable, @lubieowoce, and @styfle for helping!
Core Changes
- Fix cache handlers in serialized config: #71541
Misc Changes
- docs: fix typo in Link component example: #71540
- test: fix dynamic io error deployment test: #71533
Credits
Huge thanks to @cwj1234567, @huozhi, and @ijjk for helping!
Core Changes
- Ensure custom cache handlers are traced: #71521
- Update React to bf7e210c: #71524
- Update React (again): #71528
- Remove double decoding of encrypted closures : #71527
- codemod: fix props types modify for type alias: #71537
- next-upgrade: Stop prompting for React 19 upgrade on pure App Router apps: #71486
- Ensure only one tags manifest is leveraged across handlers: #71522
Misc Changes
- test: de-flake rsc-cookies e2e tests: #71319
- docs: add TypeScript code blocks in ISR page: #71492
Credits
Huge thanks to @serhalp, @ijjk, @Juneezee, @sebmarkbage, @huozhi, and @eps1lon for helping!
Core Changes
- [dynamicIO] prospectively render SSR phase if needed: #71506
- [dynamicIO] show dev & build warnings when using incompatible segment configs: #71500
- Check tag staleness against the timestamp of the entry: #71520
- codemod: modify props types when arg is prop: #71516
- sync access warnings for Request APIs should include a stack: #71519
Misc Changes
- Transform
"use cache"functions exported via export default expression: #71512 - Allow
"use cache"functions in server action module (client layer): #71511
Credits
Huge thanks to @unstubbable, @gnoff, @ztanner, @sebmarkbage, and @huozhi for helping!
Core Changes
- Add default cache handlers and update tags manifest handling: #71455
- fix: set aria role on static indicator toast: #71420
- Pass cacheLifeProfiles during static path generation: #71502
- Follow up to default cache handler: #71504
- [dio] Prospective Fallback Render: #71450
- Add handling for custom cache handlers: #71505
- [dynamicIO] Move disallowed dynamic tracking to it's own object: #71499
Misc Changes
- Differentiate error messages in server function transforms: #71491
- Update flakey edge log test: #71501
- Updates workOS auth link for the Next.js : #71335
- docs: Move Static Rendering section into Behavior section: #71353
- Fix handling of local functions in
"use cache"modules: #71497
Credits
Huge thanks to @unstubbable, @ijjk, @mayur9210, @bangseongbeom, @makepanic, @sebmarkbage, @wyattjoh, and @gnoff for helping!
Core Changes
- enhance: polish hydration error layout to separate error link: #71456
- Let cache body execute with hanging inputs: #71452
- [Turbopack] Perf improvement new backend aggregation: #71356
- Upgrade React from
77b637d6-20241016tobf7e210c-20241017: #71436 - next-upgrade: Consistent version comparison to codemod decisions: #71457
- feat: handle server extra attribute hydration error: #71462
- fix: set overlay click outside touchstart handler as passive: #71449
- codemod: only turn function to async when no hooks: #71392
- Turbopack: rscModuleMapping without extra chunks: #71326
- Turbopack: Make UnableToExternalize a warning: #71477
- Turbopack: Improve externals plugin: #71375
- [dynamicIO] refine error messaging for sync API access: #71467
Misc Changes
- [dynamicIO] clarify date docs: #71459
- [Turbopack] Perf improvements new backend: #71249
- [Turbopack] fix unresolvable typo: #71414
- [Turbopack] refactor to allow different key value stores: #71430
- [Turbopack] make snapshot organization more efficient: #71466
- test: fix 18.3 hydration test: #71472
- [Turbopack] update total size when reached: #71354
- [Turbopack] add a startup cache which caches the first 100MB of accessed data: #71431
- [Turbopack] bugfixes persistent caching: #71481
- fix: add test helper back: #71495
- docs(route-groups): add an example about opting loading skeletons to a specific route: #71328
- Assign proper function names to server actions: #71478
Credits
Huge thanks to @huozhi, @sebmarkbage, @gnoff, @sokra, @eps1lon, @mischnic, @wyattjoh, @samcx, and @unstubbable for helping!
Core Changes
- Upgrade React from
cd22717c-20241013to77b637d6-20241016: #71391 - next-upgrade: Stop adding empty overrides: #71380
- next-upgrade: Fix React 19 upgrade not being prompted: #71378
- Ensure next-dev-server usages can be found: #71423
- [dynamicIO] Do not warn on arbitrary param access in browser: #71437
- capture console.error into error overlay: #71424
- next-upgrade: Only run React 19 codemods when we upgrade to React 19: #71389
Example Changes
- chore(examples): updated the example of with-goober to utlize the App router: #71349
- chore(examples): updated the example of with-styled-jsx to utilize the App Route: #71290
Misc Changes
- [Turbopack] bugfixes in persistent caching: #71355
- Adjust transforms for cached functions imported from client components: #71401
- refactor(turbopack): Simplify
EcmascriptModulePartAsset::ident: #71337 - [Turbopack] lmdb Backing Storage performance improvments: #71250
- Turbopack: Support resolving to index.js with fully_specified: #71367
- perf(turbopack): Optimize
last_side_effectsof tree shaking: #71418 - Unflake "cancels stream making progress" test: #71422
- Increase timeout for deploy tests from 120 (default) to 240 seconds: #71428
- Fix flaky app action test, take 2: #71427
- chore(github): update schema from url → html_url: #71429
- Skip unnecessary work in server action transforms for client modules: #71417
- Fix typo in version number: #70680
- test: fix flaky react 18 tests: #71403
- rename:
.mdto.mdxinerrorsdirectory: #71240
Credits
Huge thanks to @sokra, @unstubbable, @kdy1, @mischnic, @eps1lon, @samcx, @Manoj-M-S, @whatisagi, @Sam-Phillemon9493, @huozhi, @gnoff, and @lumirlumir for helping!
Core Changes
- next-upgrade: Update all Next.js packages: #71324
- Encode FormData for cache keys using custom algorithm: #71341
- [dynamicIO] Implement a warmup prefetch render in dev: #71278
- fix: stack frame format: #71366
- [dynamicIO] implement dynamic check using AbortSignal: #71344
- fix(after): broken error handling for unstable_after(promise): #71373
- [ppr] Stabilize Partial Prerendering Fallbacks: #71320
- remove NextCacheHandler from request context: #71381
- codemod: fix resolutions in bun: #71362
- next-upgrade: Reduce formatting artifacts when overrides are added: #71379
- next-upgrade: Add testfixtures: #71377
- [dynamicIO] track suspense boundaries only after excluding metadata and other boundaries: #71348
- fix(next/image): improve error message when
src={null}: #71398 - [ppr] PFPR Debugging Fixes: #71390
- [dynamicIO] track environment on requestStore : #71345
- [dynamicIO] Error in dev when using sync platform APIs that are dynamic : #71346
Misc Changes
- Improve Server Reference transform to support closure variables from nested directives: #71332
- Fix default export and exported function expressions handling of cache directive transform: #71334
- Fix flaky app action test: #71360
- docs: add secured server action ids section: #71368
Credits
Huge thanks to @eps1lon, @sebmarkbage, @gnoff, @shuding, @unstubbable, @huozhi, @lubieowoce, @wyattjoh, and @styfle for helping!
Core Changes
- Add built-in set of cacheLife profiles: #71322
Misc Changes
- Docs: Tweak staticGeneration page: #71315
- fix: make "Release stats" use the correct artifact name: #71323
- Add Turbopack support for
'use cache'in route handlers: #71306 - Skip failing stack frames test: #71325
Credits
Huge thanks to @delbaoliveira, @lubieowoce, @unstubbable, and @sebmarkbage for helping!
Core Changes
- [after] fix waitUntil in edge runtime sandbox (pages/api): #71309
- codemod: override and install: #71318
Misc Changes
- docs: update unstable_after docs: #71313
- docs: small updates for canary docs: #71317
Credits
Huge thanks to @lubieowoce, @leerob, and @huozhi for helping!
Core Changes
- Fix symbol for cache: #71270
Misc Changes
- misc: bump playwright: #71312
Credits
Huge thanks to @ijjk and @feedthejim for helping!
Core Changes
- Mark revalidate: 0 on fetch or use cache as never resolving promise in Dynamic I/O: #71285
- static indicator shouldn't show for force-dynamic: #71284
- Implement cacheScope by caching a Promise
: #71286 - codemod: update react-is if needed: #71276
- chore: remove experimental warning for next-config-ts: #71297
- fix(next): eslint v9 not picking up config: #71298
- Add support for
'use cache'in route handlers using the Edge runtime: #71258 - Re-add canary gates for certain experimental features: #71307
Misc Changes
- improve code style of string operation in MiddlewareEndpoint: #70780
- Use integrated terminal as console in vscode launch configs: #71303
Credits
Huge thanks to @sebmarkbage, @ztanner, @sokra, @huozhi, @devjiwonchoi, and @unstubbable for helping!
Core Changes
- Hide stack for bad input by default: #71253
- [after] after is not dynamic anymore: #71231
- codemod: ensure install commands run in terminal: #71255
- codemod: install types into dev dependencies: #71257
- codemod: polish end message: #71259
- chore: Ensure Next.js is built with a specified version of TypeScript: #71256
- more detailed time display: #71248
- Propagate expire/stale times the same way we do with revalidate: #71228
- Update global cache handler ref: #71263
- Handle URL-encoded Turbopack client chunks when resolving source maps: #71274
- [BREAKING] Support ESLint v9 in plugin, config and
next lint: #71218 - Make cacheLife profiles configurable: #71232
- [dynamicIO] warn in debug mode when prospective renders error: #71266
- codemod: prettier the version logging at the beginning: #71264
- Fix missing key in
LoadingBoundary: #71222 - codemod: install core deps based on package.json group: #71265
- Set Next-Router-Stale-Time header from collected stale times: #71279
- Respect stale time header in client prefetch cache: #71280
Misc Changes
- perf(turbopack): Do not perform tree shaking for modules without export: #71236
- perf(turbopack): Make
ModuleEvaluationdepend only on the last side effect: #71237 - fix(turbopack): Use module fragment for async module analysis: #71246
- Turbopack: Refactor resolver to accept bool instead of severity: #71254
- [Turbopack] use FxHasher for IndexMap/Set and DashMap: #71251
- test: fix flaky tests for hydration error with 18.3: #71260
- Sync @next/third-parties with React peer versions: #71261
Credits
Huge thanks to @kdy1, @eps1lon, @lubieowoce, @huozhi, @mischnic, @sokra, @sebmarkbage, @ijjk, @unstubbable, @mobeigi, @devjiwonchoi, @gnoff, and @acdlite for helping!
Core Changes
- Cache in CacheScopeStore in use cache: #71221
- Encode binary cache keys as ucs-2 strings: #71224
Credits
Huge thanks to @sebmarkbage for helping!
Core Changes
- fix: add newrelic to server-external-packages.json: #71066
- chore: delete redundant blank spaces in
packagesdirectory: #71189 - Do not create client reference manifest for metadata route handlers: #71225
- Upgrade React from
70fb1363-20241010tocd22717c-20241013: #71223
Example Changes
- docs(typo): fix typo in
cms-sanityexampleREADME.md: #71211
Misc Changes
- docs Remove depracated auth library (lucia): #71147
- Update @next/third-parties to support peerDependency for Next 15 and React 19 RC: #71186
- docs(typo): remove unnecessary spaces: #71213
- docs(typo): fix url to URL: #71214
- docs: fix typos in route handler documentation: #71208
- Fix typo fowards to forwards: #71212
- docs(typo): add punctuations and fix cases: #71203
- chore: remove
"from GitHub issue template: #71055
Credits
Huge thanks to @adcichowski, @mobeigi, @JohnGemstone, @lumirlumir, @actopas, @hiro0218, @JamBalaya56562, @jjm2317, and @unstubbable for helping!
Core Changes
- Add support for
"use cache"in route handlers: #70897 - For route handlers, call
loadComponentsalso duringnext build: #71202 - Handle thrown values that aren't
Errorinstances in App router: #71210
Misc Changes
- Improve error digest test suite: #71209
Credits
Huge thanks to @unstubbable and @eps1lon for helping!
Core Changes
- fix:
getStaticPropsappears instead ofgenerateStaticParamsduring app router build: #71033 - Rename swrDelta config to expireTime: #71159
- tweak shadow on static indicator & update docs copy: #71171
- [dynamicIO] track Prerender environment name during dev: #71165
- chore: update migration comments: #71169
Misc Changes
- docs(javascript): fix wrong javascript code and a typo in
link.mdx: #71143 - feat(turbopack): Minify CSS files while building: #71130
- docs(typo): fix typos in
turbo.mdx: #71188 - docs(typo): fix typo javascript: #71175
- fix: Next.js missed a file when renaming
swrDeltatoexpireTime: #71190 - Tweak expireTime document a bit more: #71199
- docs(typo): fix typo in contribution guide(#71200): #71201
- Fix grammar: #71181
- docs(terminal): fix wrong terminal command and add missing hash symbols: #71180
Credits
Huge thanks to @lumirlumir, @ijjk, @ztanner, @gnoff, @huozhi, @kdy1, @actopas, and @n-ii-ma for helping!
Core Changes
- Handle source map requests for Turbopack client chunks: #71168
Misc Changes
- Unflake "streaming responses cancel inner stream after disconnect" test: #71163
- Increase retry duration for HMR fetch logging tests: #71170
Credits
Huge thanks to @unstubbable for helping!
Core Changes
- Revert "chore(next-codemod): move app-dir-runtime-config-experimental-edge to 13.1.2": #71157
- feat: block compilation on codemod comments and ask to remove: #71103
- Scope request store in render: #71109
- Reject hanging promises: #70994
- fix: allow custom app routes for metadata conventions: #71153
- chore(next-codemod): suggest pre-release codemods by their "stable" version: #71158
- misc(next-codemod): inform user whether current version is higher or on target version: #71160
- Update loading cache handler: #71121
- prevent cookies from being set in the wrong phase: #71094
- avoid accessing performance APIs if fetch is untracked: #71164
Misc Changes
- docs(typo): fix typo github in cli related docs: #71152
- Increase retry duration from 3 to 5 seconds in RSC HMR cache tests: #70467
- codemod(turbopack): Rewrite a few instances of Vc as ResolvedVc: #70927
- chore(turbopack): Delete a bunch of dead/unused structs: #70987
- docs(typo): fix redundant double spaces: #71137
Credits
Huge thanks to @ztanner, @huozhi, @gnoff, @lumirlumir, @unstubbable, @bgw, @devjiwonchoi, @ijjk, and @lubieowoce for helping!
Core Changes
- [Turbopack] add unstable prefix to persistent caching option and force to provide an expected level of stability: #71090
- codemod: make parser more comptible: #71122
- Don't warn on well-known properties in
searchParams: #71142 - Add source map support for server components/actions in the browser: #71042
- show webpack/turbopack compilation duration for next build: #71146
- tweak static indicator style & behavior: #71128
- feat(next-upgrade): suggest React codemod: #71016
- prevent revalidateTag/Path during render: #71093
- fix(turbopack): Fix
NextEcmascriptClientReferenceTransition: #70603 - turn withRequestStore into createRequestStore: #71107
- Initial implementation of per-segment prefetch request handling: #71113
- Upgrade React from
2d16326d-20240930to70fb1363-20241010: #71118
Misc Changes
- docs: add missing space: #70825
- docs(route-handlers): fix missing
revalidateexport for JS code block: #70857 - docs: update incorrect link address: #70836
- chore(next/image): update priority prop docs with loading prop side effect warning: #70835
- Docs: Added JS code blocks that were missing in the Installation documentation: #70801
- [Turbopack] make filesystem tasks session dependent instead of invalidating on startup: #70945
- fix complete state for event spans: #71083
- build: Update
swc_coretov0.106.3: #70687 - [Turbopack] make persistent caching not printing so much: #71092
- [Turbopack] add simple versioning for persistent caching: #71091
- [Turbopack] new backend cleanup: #71132
- docs: self-hosting video: #71127
Credits
Huge thanks to @Unsleeping, @Juneezee, @lonr, @Aerilym, @ytori, @sokra, @kdy1, @huozhi, @eps1lon, @unstubbable, @ztanner, @devjiwonchoi, @lubieowoce, @leerob, @gnoff, and @acdlite for helping!
Core Changes
- Move WorkStore and ActionStore to /server/app-render: #70934
- [Turbopack] Implement support for webpack’s
stats.json: #70996 - chore(next-codemod): add verbose option to transform: #71079
- chore: polish warning for esmExternals: #71082
- go back to ignoring revalidates from render: #71088
- [Turbopack] add support for collectibles to new backend: #70798
- codemod: do not await on invalid prop: #71089
- chore(next-codemod): move app-dir-runtime-config-experimental-edge to 13.1.2: #71081
- Add cacheLife() / cacheTag() APIs: #71064
- Eagerly Pass Implicit Tags: #71105
- chore(next-codemod): add prompts for (un)installing packages: #71038
- [Turbopack] formatIssue is expensive, so avoid it if possible: #71117
- add phase tracking to workUnitStore: #71030
Example Changes
- chore(examples):updated the example of with-stitches to utlize the App router: #71007
Misc Changes
- polish async codemod docs: #71048
- polish sync-dynamic-apis error page: #71049
- docs: misc typo corrections in upgrade guide & codemod: #71098
- chore(turbo-tasks-backend): Clean up internal macros: #71061
- [Turbopack] change default module id strategy back to dev: #71052
- docs(javascript): fix wrong javascript code in
11-parallel-routes.mdx: #71074 - Fix SWC cache transform on the client layer: #71095
- chore: add --no-babel flag to codemod: #71106
- Fix handling of hot reloader middlewares: #71104
- [Turbopack] allow to disable tree shaking: #71114
- fix(turbopack): Do not create self-referencing fragments: #71102
Credits
Huge thanks to @sebmarkbage, @ztanner, @Manoj-M-S, @wbinnssmith, @devjiwonchoi, @huozhi, @lubieowoce, @sokra, @bgw, @lumirlumir, @shuding, @unstubbable, and @kdy1 for helping!
Core Changes
- next-upgrade: Ensure correct React and types version are resolved when upgrading to Next.js rc: #70981
- codemod: leave comment on spread props: #70979
- docs: add
app-dir-runtime-config-experimental-edgecodemod: #71008 - docs: add
next-dynamic-access-named-exportcodemod: #71012 - chore(next-upgrade): use process exit instead of throwing: #71018
- chore(next-upgrade): improve revision usage messages: #71019
- Revert "chore(next-upgrade): use process exit instead of throwing (#7…: #71021
- Disable server action transform in pages router: #71028
- chore(next-codemod): view current Next.js version, skip if already on or higher: #71034
- codemod: comment on reexport: #71017
- move workUnitAsyncStorage back into "client/components": #71046
- codemod: type cast async api calls in non entry file exports: #71040
- codemod upgrade: show link of migration guide after upgrade: #71036
- Defensively install patches: #71043
- fix(next/turbopack): Always preserve import attributes with esm modules: #71051
- codemod: fix type only react import: #71053
- types-plugin: enahnce type checking on interface params: #71059
Misc Changes
- docs: fix URL for error message: #71003
- Turbopack:
find client referenceslayout segment optimization: #70792 - Skip deployments for Dynamic IO error tests: #71024
- Skip
Math.randomtest with route handler and'use cache': #71025 - Remove windows i686 next-swc build target: #71041
- fix(docs): correct MDN URL for decoding attribute of next/image component: #71029
- Add ts-node dependency for jest.config.ts parsing: #70971
- chore: replace the all
path-namewithpathnamefor consistency: #71000
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @mischnic, @huozhi, @unstubbable, @ijjk, @DeepakBalaraman, @karlhorky, @lubieowoce, @Marukome0743, @gnoff, and @bgw for helping!
Core Changes
- ensure export workers that are killed bubble up to parent process: #70997
- Use perf_hooks for current time in incremental cache: #70925
- fix(next-upgrade): prompts has no
defaultoption, isinitial: #70928 - [dynamicio] Instrument Date to be dynamic when accessing current time: #70916
- [dynamicIO] Instrument crypto random APIs to be dynamic: #70939
- refactor(next-upgrade): remove monorepo detect, add to error message when fail to get next version: #70929
- codemod: skip transform when its properly used: #70936
- refactor(next-upgrade): ensures prompts are cancelled when user exits: #70930
cache: "default"shouldn't get cached in route handlers: #70937- refactor(next-upgrade): tailor turbopack suggestion message: #70931
- Run after() callbacks in the same context as the outer function: #70810
- codemod: fix missing route transform: #70959
- replace all 'athName' with 'athname' for consistency: #70690
- refactor: improve transformer selection prompt: #70932
- [Turbopack] add persistentCaching config option: #70904
- codemod: skip promise.all on params: #70972
- codemod: unify comments prefix for dynamic api: #70970
- feat(next-codemod): add
app-dir-runtime-config-experimental-edge: #70968 - Port #70933 "fix: remove unnecessary line break in prompt": #70978
- next-upgrade: Ensure path-like revisions are rejected: #70980
- Refactor prerender workUnitStores: #70986
Misc Changes
- Fix i686 next-swc build due to int overflow: #70995
- refactor(turbopack/next-{api,core}): Remove remaining uses of vc generics in non-test code: #70816
- chore(turbo-tasks): Delete vc generics support: #70817
- [Turbopack] add persisting to the new backend: #69668
- chore(turbo-tasks): Remove unused primitive helper types: #70890
- chore(turbo-tasks-backend): Disable flaky performance test by default: #70974
Credits
Huge thanks to @gnoff, @devjiwonchoi, @bgw, @huozhi, @sebmarkbage, @mjulstein, @sokra, @eps1lon, @ztanner and @ijjk for helping!
Core Changes
- Create spans for
createServerReferenceandregisterServerReference: #70564 - Do not invoke server actions twice when
dynamicIOis enabled: #70784 - feat: decouple cookies and action state from redirect error: #70769
- refactor: added more strict app segment config validation: #70480
- Fix recently re-introduced unique "key" prop warnings: #70807
- Run Middleware within WorkStore: #70808
Example Changes
- chore(examples): updated the example of with-styled-components: #70796
Misc Changes
- chore(turbopack-browser): Delete unreferenced runtime.rs file: #70773
Credits
Huge thanks to @unstubbable, @bgw, @wyattjoh, @Sam-Phillemon9493, and @sebmarkbage for helping!
Core Changes
- Run unstable_cache inside a CacheStore context: #70740
- Expand PrerenderStore to include the legacy mode static generation too: #70741
- Reapply "Dedupe sync access warning on the Server by callsite" (#70672): #70738
- Add RSC module ID mapping to the Client Manifest: #70524
- [i18n] Routing fix: #70761
- fix broken lock mechanism: #70764
- client router cache should still be cleared if server action revalidates + redirects: #70715
- ensure handleUnlock is called even for non-cached responses: #70766
- [dynamicIO] Error when dynamic behavior is outside of a Suspense boundary: #70734
- [Turbopack] add new backend: #69667
- Fix client reference access causing metadata missing: #70732
- Move reactLoadableManifest/assetPrefix to workStore: #70768
- Unwrap
registerServerReferencefunction: #70563 - Error if reading Request Store inside Prerender: #70775
- codemod: handle the async api type: #70785
Misc Changes
- support running React 18 tests on PRs with a label: #70737
- [Turbopack] AutoMap, AutoSet and CountHashSet use FxHasher by default: #70691
- Turbopack: Respect ignore comments for Worker: #70749
- feat(turbo-tasks): Add ResolvedVc versions of casting functions: #70575
- refactor(turbo-tasks-fs): Use ResolvedVc instead of Vc in structs: #70576
- docs(turbo-tasks): Rewrite the
turbo_tasks::valuedocumentation: #70743 - auto import with
create::prefix: #70774 - fix(turbopack): Remove wrong check for
__turbopack_refresh__: #70696 - fix(turbopack): Split ModulePart into eval vs non-eval: #70782
- Turbopack: next/dynamic layout segment optimization: #70708
Credits
Huge thanks to @sebmarkbage, @ztanner, @sokra, @mischnic, @eps1lon, @shuding, @bgw, @wyattjoh, @gnoff, @huozhi, @unstubbable, and @kdy1 for helping!
Core Changes
- Separate the rendering of viewport from metadata: #70685
- codemod: fix merging react imports logic: #70706
- Rename StaticGenerationStore to WorkStore: #70721
- fix: Do not omit alt on getImgProps return type, ImgProps: #70608
- fix(next/image): handle undefined
images.localPatternsconfig inimages-manifest.json: #70730
Credits
Huge thanks to @gnoff, @huozhi, @sebmarkbage, @icyJoseph, and @styfle for helping!
Core Changes
- [form] pages dir support: #68333
- chore(docs): refactor README.md: #70503
- Fix missing
awaitofparamswhen metadata is used: #70698 - condense warnings for direct access of dynamic APIs: #70682
- Allow silencing direct access of dynamic APIs to unblock internal sync: #70705
Misc Changes
- [Turbopack] HMR invalidation improvements: #70494
- test: fix next-form tests when running on react 18: #70704
Credits
Huge thanks to @lubieowoce, @Marukome0743, @sokra, and @eps1lon for helping!
Core Changes
- fix: fix warnings from invalid api's called from edge runtime: #70639
- Update font data: #70653
- refactor: added more strict app segment config parsing: #70479
- next-upgrade: Stop interleaving user-input with long tasks: #70636
- Replace depricated
apple-mobile-web-app-capablewith `mobile-web-ap…: #70363 - Fix interpolation of dynamic params in intercepting route pathnames: #70667
- bugfix: only replace with full prefetch if existing data was partial: #70650
- next-upgrade: Default to release channel that's used: #70638
- feat(turbopack): add support for polling file watcher: #69684
- chore: improve accessibility of static indicator: #70612
- initially visited static pages should respect static staletime: #70640
- codemod: improve dynamic api codemod cases: #70593
- feat(next/image): add
images.localPatternsconfig: #70529 - Recommend
React.use()to unwrap async APIs in the browser: #70677 - Change default SWR delta value to 1 year: #70674
Example Changes
- updated the environment variables examples to utilize the App router: #70392
Misc Changes
- Turbopack build: Fix client-components-tree-shaking test: #70662
- Turbopack: Allow ESM externals in SSR: #70258
- docs: update with-google-analytics example path: #70547
- docs(link): add mention about how App Router prefetches on hover: #70679
Credits
Huge thanks to @wyattjoh, @neoFinch, @timneutkens, @mischnic, @eps1lon, @Nayeem-XTREME, @unstubbable, @ztanner, @ForsakenHarmony, @Marukome0743, @huozhi, @styfle, @samcx, and @ijjk for helping!
Core Changes
- remove leftover console.log introduced in #70532: #70615
- Add
connection()as a new dynamic API: #69949 - Fix: Set busboy defParamCharset to utf8: #70348
- Update
dynamicIOexperiment to use React canary: #70571 - refactor: remove unnecessary page segment check in ppr-navigations: #70572
- Wire AsyncLocalStorage within a cached context: #70573
- Fix
revalidateTag()behaviour when invoked in server components: #70446 - next-upgrade: Ensure install packages works on exotic package revisions: #70625
- Error consistently during prospective prerender: #70631
- next-upgrade: Infer React types version from runtime version: #70626
- next-upgrade(refactor): Improve type coverage: #70627
- next-upgrade: Remove extraneous if no channel is specified: #70628
- next-upgrade: select codemods by canary version: #70630
- next-upgrade: Hide install output by default: #70632
- next-upgrade: Allow custom selection of codemods: #70634
- next-upgrade: Allow choosing same codemods that are available in the currently used version: #70635
- Upgrade React from
3edc000d-20240926to2d16326d-20240930: #70629
Misc Changes
- test: disable sa period hash tests for turbopack build: #70616
- Turbopack build: Fix favicon-short-circuit: #70617
- Turbopack build: Skip styled-jsx babel plugin test: #70623
- docs: Rename React Cache to Request Memoization: #70448
- docs: minor fixes in the next/head doc: #70510
- Change deterministic module ID strategy to match Webpack: #70200
Credits
Huge thanks to @lubieowoce, @huozhi, @gnoff, @jaredhan418, @timneutkens, @ztanner, @bangseongbeom, @penicillin0, @sebmarkbage, @abhi12299, @eps1lon, and @LichuAcu for helping!
Core Changes
- codemod: improve dynamic API cases: #70517
- Auto rotate Server Reference hash salt periodically: #70516
Example Changes
- Fix Stackblitz preview link on with-opentelemetry example: #70543
- [Multi-Zones] Update example and documentation with most recent practices for Multi-Zones: #70565
Misc Changes
- Improve the RSC directive transform: #70562
- Update reactStrictMode.mdx enabled since 13.5.1: #70557
Credits
Huge thanks to @shuding, @huozhi, @jlbovenzo, @mknichel, and @Luk-z for helping!
Core Changes
- Use Server/Client Manifests from Singleton in encryption-utils: #70485
- refactor: remove ability to call getStaticPaths from app directory pages: #70477
- refactor: extracted zod configuration: #70478
- [ppr] Added fallback shell debugging: #70528
- Remove shouldRevalidateStale concept from CacheHandlers: #70493
- fallback shell should not error when dynamic due to params access even with dynamic = "error": #70534
- Add cache scope handling for dynamic IO for dev/build: #70408
- remove unimplemented onError errorInfo argument: #70531
- Add env for setting cache handler path: #70537
- Disable "use cache" outside of dynamicIO: #70538
- Include buildId in the cache breaker until we have hashed Action IDs: #70542
- Support dynamicIO in middlware routes and generateStaticParams: #70544
- Unwrap
createServerReference, and pass additional parameters: #69190 - Turbopack build: Fix benchmark running with webpack: #70533
- [form] allow turning prefetching off: #68305
- [after] fix: execute revalidates added within unstable_after(): #70458
- Upgrade React from
778e1ed2-20240926to3edc000d-20240926: #70560 - Exclude Object and Promise prototype properties from shadowing for params and searchParams: #70568
- refactor prefetch alias handling: #70532
- refactor: handle onlyHashChange logic sooner: #70569
- Updates our sync property access for params and searchParams to allow value: #70570
Misc Changes
- Turbopack build: Add devlow-bench: #70511
- Disable React 18 tests on PRs: #70541
- Turbopack build: Add mantine and mermaid to heavy npm deps benchmark: #70554
- Revert "Turbopack build: Add mantine and mermaid to heavy npm deps benchmark": #70561
Credits
Huge thanks to @sebmarkbage, @wyattjoh, @timneutkens, @gnoff, @ijjk, @eps1lon, @shuding, @lubieowoce, and @ztanner for helping!
Core Changes
- [Breaking] Update Dynamic APIs to be async: #68812
Misc Changes
Credits
Huge thanks to @gnoff for helping!
Example Changes
- Updated the example of with-draft-js to utilize the App Router.: #70045
Credits
Huge thanks to @PapatMayuri for helping!
Core Changes
- Extend support of Pages router to React 18: #70219
- Basic implementation of cache-wrapper with RSC serialization: #70435
- fix: updated typescript types for React API's: #70410
- Fix type error from merge: #70481
- Ensure validator is included in vendored AMP validator: #70482
Example Changes
- fix(example): Change hostname in docker multiple env examples: #70105
Misc Changes
- codemod(turbopack): Inline trivial uses of
let this = self: #70431 - Fix comment numbering in middleware example in docs: #70465
- feat(next-swc): lint for
ssr: falsein server components: #70378 - [Turbopack] fix a bunch of bugs and inefficiencies in the call graph: #70243
Credits
Huge thanks to @eps1lon, @bgw, @jordyfontoura, @kdy1, @sokra, @sebmarkbage, @tranvanhieu01012002, @wyattjoh, and @ijjk for helping!
Core Changes
- chore: auto-format generated types with prettier: #70405
- refactor(next-codemod): migrate to commander and prompts: #70409
Example Changes
- Updated the example of ssr-caching to utilize the App Router.: #69560
Misc Changes
- docs: minor fixes in the ISR doc: #70401
- [docs] Update documentation for experimental_ppr: #70413
- Fix lint from docs change: #70415
- refactor(github): popular-prs workflow: #70414
- docs: add highlight for server component example: #70419
- Update use-router.mdx: #57273
- docs mention next/compat/router: #70425
- feat(third-parties): add gtmScriptUrl option for GTM server-side tagging: #65907
- chore(gitattributes): Mark more snapshots directories as generated: #70421
- Docs: Fix jest configuration with babel: #70427
- Mention route field in app router migration: #70429
- refactor(turbopack): Cleanup code for tree shaking: #70385
- codemod(turbopack): Rewrite
self: Vc<Self>as&selfin trivial cases: #70412 - [Turbopack] fix rsc chunking optimization: #70461
- Turbopack: allow shadowing the
requireglobal in ESM: #70453 - Add cause to turbopack-node error: #70456
- test: disable next/test tests: #70460
- chore(workflow): typo
popular-prs.tspath: #70462 - add @taskr/esnext to pnpm root to resolve hoisting issues: #70349
- Turbopack: fix another case of edge runtime warnings: #70455
Credits
Huge thanks to @PapatMayuri, @vicb, @wyattjoh, @ijjk, @samcx, @ForsakenHarmony, @alessiomaffeis, @kutsan, @devjiwonchoi, @bgw, @kdy1, @sokra, @mischnic, @huozhi, @JamBalaya56562, and @arlyon for helping!
Core Changes
- chore: auto-format generated types with prettier: #70405
- refactor(next-codemod): migrate to commander and prompts: #70409
Example Changes
- Updated the example of ssr-caching to utilize the App Router.: #69560
Misc Changes
- docs: minor fixes in the ISR doc: #70401
- [docs] Update documentation for experimental_ppr: #70413
- Fix lint from docs change: #70415
- refactor(github): popular-prs workflow: #70414
- docs: add highlight for server component example: #70419
- Update use-router.mdx: #57273
- docs mention next/compat/router: #70425
- feat(third-parties): add gtmScriptUrl option for GTM server-side tagging: #65907
- chore(gitattributes): Mark more snapshots directories as generated: #70421
- Docs: Fix jest configuration with babel: #70427
- Mention route field in app router migration: #70429
- refactor(turbopack): Cleanup code for tree shaking: #70385
- codemod(turbopack): Rewrite
self: Vc<Self>as&selfin trivial cases: #70412
Credits
Huge thanks to @PapatMayuri, @vicb, @wyattjoh, @ijjk, @samcx, @ForsakenHarmony, @alessiomaffeis, @kutsan, @devjiwonchoi, @bgw, and @kdy1 for helping!
Core Changes
- add missing node modules to externals: #70382
- Avoid prefetch request before meta-tag-based redirect: #70350
- Turbopack: improve stack trace in overlay: #70343
- refactor: more precise types for req/res in withRequestStore: #70357
- Add test for TLA in client references: #70022
- Upgrade React from
e740d4b1-20240919toe4953922-20240919: #70290 - feat(next-codemod): add
upgradecommand: #69935 - refactor: reorganize client error listeners: #70373
- refactor: reorganize patch console: #70374
- types: improve napi binding typing using generated types: #69680
- Upgrade React from
e4953922-20240919to5d19e1c8-20240923: #70351 - feat(next/image): add support for
images.remotePatterns.search: #70302 - chore: throw error when trying to use next.config.mts/.cjs/.cts (not supported yet): #70376
- Fix legacy env case with experimental tracing: #70411
Example Changes
- Updated the example of with-vercel-fetch to utilize the App Router.: #70069
Misc Changes
- test: fix race condition in serverComponentsHmrCache tests: #70368
- Slightly improve experimental.mdxRs error message with Webpack: #68356
- Type Webdriver options in
sandbox: #70398 - Add extensive hydration error test suite for Pages router: #70342
- Turbopack: speed up
server node entrypointchunking: #70399 - docs(parallel): clarify why separate slots cannot be static and dynamic at the same route segment level: #70386
- feat(turbo-tasks): Allow
#[turbo_tasks::function]s to accept ResolvedVc types as arguments: #70269 - feat(turbo-tasks): Accept ResolvedVc as a
selfargument: #70367 - Correct some documentation in Data Fetching page: #70394
- feat(turbo-tasks): Ignore fields annotated with
#[turbo_tasks(trace_ignore)]: #70375
Credits
Huge thanks to @ztanner, @unstubbable, @lubieowoce, @mischnic, @LichuAcu, @huozhi, @ForsakenHarmony, @eps1lon, @styfle, @samcx, @bgw, @PapatMayuri, @xugetsu, and @ijjk for helping!
Core Changes
- Fix legacy env config with experimental tracing: #70380
- Update font data: #70377
Misc Changes
- Fix the typo in the example comment for the fetch options.cache section.: #70364
- Update no duplicate headers case: #70381
Credits
Huge thanks to @ijjk and @xugetsu for helping!
Core Changes
- Codemod for Async Request API: #69572
- Extract
createAppRouteCodefromnext-app-loader.ts: #70352 - [Type Definition] - Updates the manifest types to reflect the current specifications: #68273
- Fix middleware experimental trace case: #70372
Credits
Huge thanks to @huozhi, @unstubbable, @coderfin, and @ijjk for helping!
Core Changes
- Update root not found boundary to not introduce Server Component: #70328
- feat(next): codemod for removed
geoandipofNextRequest: #70064 - Mention
appdir in TS setup tip: #70337 - Add additional fixes for experimental tracing: #70356
- Fix duplicate headers in response to static assets if overrides specified by user: #70127
- fix: change duplicated POST method to PUT method: #70308
- Externalize node binary modules for app router: #70330
- Support fallback params when the layout is a client component: #70329
Misc Changes
- Turbopack: Don't lookup JSON files in
baseUrl: #70070 - Turbopack build: Skip unsupported middleware features: #70341
- Enable more MDX Turbopack tests: #70347
- Turbopack: make a
requirestub available in ESM: #70255 - fix(turbo-tasks): Remove
T: Serializebound from ResolveVc: #69995 - Update docs for adding ImageKit reference: #69554
- chore(docs): update opentelemetry docs: #70271
Credits
Huge thanks to @gnoff, @mischnic, @timneutkens, @bgw, @devjiwonchoi, @ankur-dwivedi, @kidonng, @ijjk, @abhi12299, @baeharam, @huozhi, and @AnaTofuZ for helping!
Core Changes
- Improve server directive SWC transform: #70257
- Remove unused Server IDs tracking on the server graph: #70317
- relocate dynamic APIs: #70300
Misc Changes
- Turbopack: improve edge runtime checker: #70184
- test: update SA tree-shaking test: #70327
Credits
Huge thanks to @mischnic, @shuding, @gnoff, and @huozhi for helping!
Core Changes
- Remove unused
app_structurefromnext-swc-napi: #70282 - fix: match file path url escaping during build and serve: #70256
- Rename
loader_treetoapp_page_loader_tree: #70283 - Rename app directory "components" to "modules": #70285
- Honor redirect type in server actions: #70279
- refactor: collect all isThenable/isPromise definitions: #70293
- feat(next/image): add support for
decodingprop: #70298
Example Changes
- updated the example of with-three-js to utilize the App Router: #70287
Misc Changes
- Update Turbopack development test manifest: #70275
- Extract future common code into
base_loader_tree: #70284 - refactor(turbo-tasks): Add a way to directly construct a ResolvedVc: #69992
- docs: fix the signature of CacheHandler#revalidateTag: #70286
- Await
killAppin integration tests: #70292
Credits
Huge thanks to @unstubbable, @ForsakenHarmony, @abhi12299, @bgw, @vicb, @wyattjoh, @Sam-Phillemon9493, and @styfle for helping!
Core Changes
- chore: add comments for polyfill imports and file paths: #70233
- Upgrade React from
a99d8e8d-20240916to5dcb0097-20240918: #70225 - Run
@next/codemodtests in CI: #70248 - Upgrade React from
5dcb0097-20240918toe740d4b1-20240919: #70260 - bugfix: actions that redirect should reject the action promise: #69945
- Fix missing cache-control on SSR app route: #70265
Misc Changes
- chore(turbopack): Remove pathfinder dependency: #70234
- feat(turbopack): Enable tree shaking: #70114
- [Turbopack] use double locking to balance edges: #70247
- docs: add Nitrogen AIO loader for next/image: #67523
- unskip middleware deploy test: #70264
Credits
Huge thanks to @bgw, @devjiwonchoi, @kdy1, @sokra, @eps1lon, @chandanpasunoori, @ztanner, and @ijjk for helping!
Core Changes
- chore: bump jscodeshift version: #70203
- Upgrade React from
206df66e-20240912toa99d8e8d-20240916: #70190 - Fix vercel og package memory leak: #70214
- Replace URL.canParse: #70215
- Add support for
dynamicIOexperiment toroute.tsmodules: #70208 - [ppr] Allow fallback pages to be revalidated: #70199
- Re-add internal env for providing page paths: #70235
- feat: add polyfill of
URL.canParsefor browser compatibility: #70228 - Remove dependecy graceful-fs and types: #67194
Example Changes
- updated the example of with-videojs to utilize the App Router: #70226
Misc Changes
- fix erroneous async component in integration test: #70217
- Revert "separate hydration tests for pages router": #70218
Credits
Huge thanks to @huozhi, @eps1lon, @gnoff, @wyattjoh, @Sam-Phillemon9493, @ijjk, @devjiwonchoi, and @torresgol10 for helping!
Core Changes
- Fix regression in TS plugin: allow
resetprop in error files: #69777 - Ensure we chunk revalidate tag requests: #70189
- fix(lint): no-html-link in appDir: #68770
- fix(next): skip conventional type check for
_privatefolder convention: #64177 - Only wait for metadata when dynamicIO experiment is on: #70192
Misc Changes
- docs: typo error state value on authentication: #70171
- fix(turbopack): intercepting routes should have default slots: #69929
- [Third parties] Google analytics Add debug mode: #63405
- Improve Server Reference ID DCE tests: #70191
- test: add next-types-plugin test: #70162
- docs: fix 10-dynamic-routes.mdx: #70126
- docs: add
tscnote in docs for ignoring typescript build errors: #70180 - Fix: (third-parties) sendGTMEvent not queueing events before GTM init: #68683
Credits
Huge thanks to @Marukome0743, @unstubbable, @ForsakenHarmony, @ijjk, @erwannbst, @shuding, @devjiwonchoi, @DerTimonius, @hirotomoyamada, @Willem-Jaap, @gnoff, and @Develliot for helping!
Core Changes
- Fix eslint root dirs test on Windows: #70160
- fix: rsc content-type header not matching with charset: #70033
- Fix startTime error on Android 9 with Chrome 74: #67391
Example Changes
- fix: button className in with_supabase example: #70121
- fix(examples): remove
versionattribute post deprecation: #70108 - Update examples/github-pages/README.md: #70057
- remove unsafe-inline from with-strict-csp: #69497
- chore/ examples use-supabase | update rate limit note: #69423
- examples(with-supabase): typo on env file name: #69291
- fix(examples/with-docker): remove not needed files from docker context: #68668
Misc Changes
- Only build Linux in automated preview builds: #70157
- Remove non-null assertion operator for compatibility with JavaScript: #70104
- Fix useFormStatus import in authentication doc: #70138
- docs: fix button server action example: #70131
- Update Turborepo to 2.1.2: #70145
- docs: update configuring
Draft Modeto correctly link to the API reference: #70128 - docs: update broken link in UPGRADING.md: #70107
- Corrected hyperlink to experimental_ppr: #70130
- Update 12-third-party-libraries.mdx: #70063
- Update authentication example accessing state.errors: #70028
- Update 01-fetching.mdx - Changed example endpoint to available endpoint: #69559
- Docs: fixed useFormStatus import error in the example.: #69565
- Update middleware supported runtimes docs: #69510
- fixes #68228 Clarify width and height properties in Image component docs: #68248
- chore: git ignore tsconfig for
test/production: #70163
Credits
Huge thanks to @eps1lon, @ijjk, @md-rejoyan-islam, @kartheesan05, @nattui, @s-ekai, @unstubbable, @PlagueFPS, @JamBalaya56562, @KonkenBonken, @weicheng95, @brekk, @Francoscopic, @B33fb0n3, @ImDR, @nurullah, @hdodov, @ebCrypto, @MildTomato, @soedirgo, @floriangosse, @Tim-Zj, @raeyoung-kim, and @devjiwonchoi for helping!
Example Changes
- fix(examples): typo command name: #70094
Misc Changes
- feat(turbopack): Use source map while reporting CSS parsing error: #68648
- Turbopack build: Fix edge-runtime-configurable-guards tests: #70088
Credits
Huge thanks to @kdy1, @timneutkens, and @JamBalaya56562 for helping!
Core Changes
- Update experimental trace tracking: #70044
- fix(next): Fixed an error when next#dev runs in windows: #70013
- Upgrade React from
94e652d5-20240912to206df66e-20240912: #70076 - Add "@sparticuz/chromium" to server-external-packages.json: #69127
- skip generating cert each time: #67122
- fix: clone response in first handler to prevent race: #70082
- fix: eslint-plugin-next glob: #68773
Example Changes
- Update with web worker example to utilize the App Router: #70058
Misc Changes
- docs: Fix incorrect
--exampleflag commands in create-next-app.mdx: #69307 - docs: fix leading slash in link url: #70074
- Fix failing test case: #70075
- chore: fix some comments: #69361
- docs: update use cases for
unstable_noStore()to include component …: #70071 - docs(runtime): improved readability and better clarifying: #70077
- docs: update prerender error: #69744
- [docs] Recommend disabling static analysis to combat build OOM if CI already handles that: #69186
- docs: clarify which functions become Server Actions: #69243
- Update sitemap.mdx: #66668
- docs(ppr): Add note about canary for PPR: #70053
- fix(create-next-app): Add ts lint rule if --empty flag: #70089
- perf(turbo-tasks): Use native async traits for TaskInput (not the async_trait macro): #70084
Credits
Huge thanks to @ijjk, @none23, @sommeeeer, @haouvw, @PlagueFPS, @Pyr33x, @SouthLink, @leerob, @eps1lon, @frydj, @vercel-release-bot, @CrutchTheClutch, @sleevezip, @samcx, @r34son, @wyattjoh, @Sam-Phillemon9493, @yunsii, and @bgw for helping!
Core Changes
- Ensure .d.ts files are not processed in babel-loader / swc-loader: #66074
- [Turbopack] [HMR] Allow
Options to be returned byVersionedContentMap: #69079 - [Turbopack] report error to stderr when an error in a subscribtion happens: #69977
Example Changes
- Fix example URL for api-routes -> route-handlers: #69642
Misc Changes
- docs: fix PWA docs: #70050
- fix: Fix syntax context usage and add PURE comments in server actions: #70014
- Turbopack build: Fix pages-manifest test: #70046
- feat(turbopack): Port more features of webpack middleware plugin: #69856
Credits
Huge thanks to @timneutkens, @leerob, @whatisagi, @kdy1, @wbinnssmith, and @sokra for helping!
Core Changes
- Update font data: #70003
- [Turbopack] stable Vcs without TraitRef::cell: #70029
- [Turbopack] fix HmrEntryModule: #69965
- [Turbopack] remove entries from versioned content map again: #69913
- Fix not-found case with incremental tracing: #70041
- Upgrade React from
7771d3a7-20240827to94e652d5-20240912: #70037 - breaking: remove
geoandipfromNextRequest: #68379 - fix: Add
import-in-the-middleto server-external-packages: #68937
Example Changes
- Updated the example of with-eslint to utilize the App Router.: #70018
- Remove stores params: #69796
Misc Changes
- fix(turbo-tasks): Implement IntoFuture for ResolvedVc: #69986
- chore: Update lightningcss: #69947
- [Turbopack] place style imports in RSC in the client context: #69952
- avoid duplicate page in test: #70009
- [Turbopack] improve hmr stability: #69985
- [Turbopack] In CI report unexpected errors directly: #69997
- chore(turbo-tasks): Remove dead md4 support from turbo-tasks-hash: #69944
- chore(github): be more explicit about having to check canary: #69934
- Allow passing a nonce to two third-party libraries: #69931
- Update unstable_noStore.mdx: #70024
- Update typo in authentication docs: #69966
- Fix the prerendering typo in
index.mdx: #69581 - docs: fix incorrect usage in Server Action in a Client Component example: #68965
- Update prerender-error.mdx: #68747
- docs(route-handlers): add note about caching with other support HTTP methods in Route Handlers: #70049
Credits
Huge thanks to @bgw, @kdy1, @sokra, @vercel-release-bot, @samcx, @zhawtof, @PapatMayuri, @ijjk, @PlagueFPS, @IDNK2203, @saltcod, @jericopulvera, @liby, @CannonLock, @leerob, and @timfish for helping!
Misc Changes
- fix(turbopack): Improve guard detection of edge runtime checker: #69983
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Remove invalid fallback revalidate value: #69990
Example Changes
- updated the example of with-xstate to utilize the App Router: #69960
Misc Changes
- chore(github): reduce per_page to 25 for issues-by-version: #69974
- feat(turbopack): hash the font file name if it exceeds our max file size: #69144
Credits
Huge thanks to @samcx, @arlyon, @Sam-Phillemon9493, and @ijjk for helping!
Core Changes
- feat(image-optimizer): use previously cached image cache entry if upstream image is identical: #67257
- [Turbopack] print invalid message correctly: #69964
- fix: correct metadata url suffix: #69959
- [Turbopack] add error for invalid exports: #69819
- handle empty query param issue in url redirects #68039: #68157
- ensure prefetch entry is not mutated: #69948
Misc Changes
- chore(github): update channel for popular-issues: #69941
- fix: Fix the list of node.js modules compatible with edge: #69801
- Turbopack build: Fix build-output tests: #69957
- Turbopack:
impl<T: ValueDebugFormat> Value<T>: #69961 - docs: clarify opt-out data cache with fetch cache config: #69533
- docs: improve instrumentation docs: #69665
- docs: use
og:imageinstead ofog:image:url: #69962 - docs: update sizes="any" apply strategy to icons: #69975
- [Turbopack] add rules for transitions: #69951
Credits
Huge thanks to @samcx, @kdy1, @kahlstrm, @timneutkens, @mischnic, @sokra, @huozhi, @Netail, @Marukome0743, @archanaagivale30, @ztanner, and @devjiwonchoi for helping!
Core Changes
- Pass client trace metadata to client in pages router: #69620
- Fix font size for build error version status: #69811
Misc Changes
- Turbopack build: Fix script-loader test: #69867
- docs(revalidate): add not about revalidate in Development: #69898
- docs: add missing
og:videometa tag: #69644 - feat: Add a lint for deprecated APIs: #69772
- Turbopack build: Fix process.browser tests: #69919
- Turbopack build: Fix next-image invalid import test: #69921
- docs: typo fowards to forwards: #69899
- Turbopack build: Skip webpack specific test: #69923
- Reapply "validate path lengths before writes and attempt to eagerly c…: #69569
- refactor(turbo-tasks): Remove some
format_descriptionlogic from memory backend: #69472 - refactor(turbo-tasks): Move OutputContent from memory backend into turbo-tasks, represent Empty as None: #69473
- refactor(turbo-tasks-memory): Minor cleanup of code in turbo-tasks-memory/src/task.rs: #69505
- Turbopack: more static typeof replacements for ESM: #69914
- Turbopack: Fix server action sourcemaps: #69884
Credits
Huge thanks to @timneutkens, @samcx, @Marukome0743, @kdy1, @lforst, @arlyon, @bgw, @mischnic, and @mamuso for helping!
Core Changes
- Revert "Support React 18 in Pages Router": #69911
Misc Changes
- docs(link): additional updates with regards to scrolling behavior in App Router: #69896
- Turbopack: allow specified AssetIdents for naming chunk groups: #68917
Credits
Huge thanks to @samcx, @wbinnssmith, and @timneutkens for helping!
Core Changes
- ensure aliased prefetches return correct segment key: #69850
- feat(turbopack): add
experimental.turbo.rootconfig option: #69737 - Turbopack dev/build: Initial browserslist passing: #69781
- [Turbopack] only subscribe to changes in dev mode: #69862
- HMR: Log unexpected Turbopack errors to a file: #68698
- fix: use correct protocol when -H and --experimental-https are enabled: #69822
- fix: remove unnecessary console in
isDynamicPostpone: #69457 - Add ability to customize Cache-Control: #69802
- Support React 18 in Pages Router: #69484
Example Changes
- updated the example of modularize-imports to utilize the App Router: #69771
Misc Changes
- fix: Fix find_turbopack_part_id_in_asserts in the PartId::Export(e) case: #69804
- feat(turbopack-ecmascript): Add implementation for webpackIgnore and turbopackIgnore (revision of #69113): #69768
- Turbopack: analyze
new Workercalls: #69584 - Turbopack: Worker chunks: #69734
- Docs: Refactor and tidy Link docs: #69724
- chore(turbopack-ecmascript): Remove more
_boxedasync recursion helpers, and remove the async-recursion macro: #69805 - test: add test for parallel route nav case: #69871
- Docs: Refactor
draftMode()page to follow template, document missing methods, improve guide: #69616 - test: lock ts type check: #69889
- Turbopack build: Skip webpack specific test: #69875
- Turbopack build: Fix typeof-window-replace tests: #69883
- docs(link): update scroll docs: #69894
- chore(cna): re-add /public: #69887
Credits
Huge thanks to @LichuAcu, @ztanner, @bgw, @ForsakenHarmony, @timneutkens, @mischnic, @molebox, @sokra, @wbinnssmith, @huozhi, @delbaoliveira, @txxxxc, @zce, @Sam-Phillemon9493, @ijjk, @samcx, and @eps1lon for helping!
Misc Changes
- Turbopack build: Fix middleware dead code elimination test: #69828
Credits
Huge thanks to @timneutkens for helping!
Misc Changes
- create-next-app: fix font file corruption when using import alias: #69806
- chore(github): add issues_version.yml workflow: #69810
Credits
Huge thanks to @ztanner and @samcx for helping!
Core Changes
- pages bugfix: prevent cancellation errors from being logged: #69766
- Disable experimental.optimizeServer by default: #69788
- Fix middleware fallback: false case: #69799
Misc Changes
- Turbopack build: Fix next-image-new/base-path test: #69783
- chore(turbopack-ecmascript): Remove unneeded async recursion '_boxed' helper: #69762
- [Turbopack] handle state serialization: #69670
- [Turbopack] fix require.resolve self hanging: #69793
- Turbopack dev/build: Ignore empty tsconfig/jsconfig: #69795
- docs: document the next/dynamic case with ssr: false option: #69741
Credits
Huge thanks to @ztanner, @timneutkens, @bgw, @huozhi, @sokra, and @ijjk for helping!
Misc Changes
- Turbopack build: Update css modules tests: #69730
- Update 16-progressive-web-apps.mdx: #69727
Credits
Huge thanks to @timneutkens and @iampoul for helping!
Core Changes
- Partial Fallback Prerendering Route Shells: #69282
- Ensure externalized React entrypoints use vendored React in App Router: #69610
- Turbopack build: Implement --experimental-app-only flag: #69722
- Use vendored React version in Middleware and Instrumentation: #69619
- [Turbopack] refactoring/todos: #69663
- misc: typo in var name: #69745
- Partial Prerendering Basepath Fix: #69520
Misc Changes
- docs: add PWA docs with App Router: #69647
- docs: Update unstable_cache: #69700
- docs: fix data fetching with ORM: #69702
- Turbopack dev/build: Ensure @vercel/og is external in Node.js environment: #69691
- Turbopack build: Skip irrelevant telemetry tests: #69671
- fix(turbopack): Pass
resourceQueryto loaders: #69703 - Docs: Fix
cookiespage code blocks: #69719 - Turbopack build: Skip webpack config tests: #69729
- [Turbopack] fix serialization problems/bugs: #69662
- separate hydration tests for pages router: #69733
- docs: fix typo in doc on rendering: #69636
- docs: fix typo: #69731
- refactor some of the font code: #69146
Credits
Huge thanks to @wyattjoh, @leerob, @eps1lon, @timneutkens, @kdy1, @delbaoliveira, @sokra, @huozhi, @royalfig, @sommeeeer, @devjiwonchoi, and @arlyon for helping!
Core Changes
- [Turbopack] gracefully stop turbo-tasks to allow persisting to complete: #69661
- fix: ensure absolute paths are handled correctly with
--fileoption innext lintcommand forlint-stagedcompatibility: #69220 - dev-overlay: Implement CopyButton without useActionState or async transitions: #69494
- Update
swc_coretov0.103.1: #69605 - Run link-ref tests in /app and /pages: #69564
Misc Changes
- Revert "docs: Fix invalid arguments for sendGTMEvent": #69653
- Revert "Revert "docs: Fix invalid arguments for sendGTMEvent"": #69654
- fix trace file reloading: #69655
- Turbopack build: Fix telemetry tests: #68969
- Revert "ci: only trigger slack webhook from canary": #69648
- ci: make inputs.skipNativeInstall do what it says : #69674
- docs: add links to search params on server/client: #69618
- refactor(turbo-tasks) Add a higher-level task-local state API for the Backend trait: #68996
- docs(usePathname): add note about using usePathname with rewrites: #69686
- chore(turbo-tasks): Move Invalidator struct from manager.rs to invalidation.rs: #69073
- [Turbopack] transient when the self argument is transient: #69657
- [Turbopack] store project options in state: #69658
- refactor(turbo-tasks): Add stubs for RawVc::TaskOutput: #68908
- fix merge conflict: #69690
- [Turbopack] use file.read() instead of file.track() in webpack loaders: #69659
- [Turbopack] no need to depend on write completion: #69660
- Update the preview tarball binaries: #69692
- docs: update note on caching and db/orms: #69695
- refactor(github): refactor triage-issues-with-ai to generateObject: #69696
- fix: Allow subset of node.js APIs for edge: #69675
Credits
Huge thanks to @timneutkens, @sokra, @ztanner, @lubieowoce, @leerob, @bgw, @samcx, @ijjk, @sommeeeer, @lumirlumir, @eps1lon, and @kdy1 for helping!
Core Changes
- Add browser devtool inspect url copy button to dev overlay: #69357
- Lazily init fetch dedupe cache: #69492
- Turbopack build: Fix middleware matchers implementation: #69602
- chore(metadata): add clarifying comment: #69549
- Remove unsupported providerImportSource option: #69609
- fix: clientComponentLoading span type: #69295
- Fix typos: #69568
- fix(eslint): allow typescript-eslint v8: #68807
- Allow external image urls with _next/image pathname to be rendered via Image component: #69586
Misc Changes
- Turbopack: emit single CSS chunk per page: #69219
- feat: Report correct errors for missing
use clientin global-errors.ts: #69583 - Turbopack build: Implement
regionsandassetsfield in manifest for middleware: #69534 - Docs: Rewrite
cookiespage to follow template, add missing methods: #69614 - Explicitly assert on errors instead of the error number: #69512
- Match peer dependencies in rsc-binary tests: #69515
- fix(scripts): correct globbing, cargo colors, patch path: #69624
- ci: only trigger slack webhook from canary: #69632
- Skip devlow benchmark step for forks: #69633
- perf: Cache Rust
Regexes: #69585
Credits
Huge thanks to @mischnic, @kdy1, @timneutkens, @delbaoliveira, @eps1lon, @huozhi, @ForsakenHarmony, @samcx, @lubieowoce, @ProchaLu, @luismiramirez, @ijjk, @omahs, @theoludwig, and @abhi12299 for helping!
Core Changes
- fix: styledComponents schema: #69230
Example Changes
- docs: Use
useFormStateoveruseActionState: #69547
Misc Changes
- feat(turbopack): Use mangled export names for fake exports: #69124
Credits
Huge thanks to @leerob, @samcx, and @kdy1 for helping!
Core Changes
- fix: bump sharp@0.33.5: #69524
Credits
Huge thanks to @styfle for helping!
Example Changes
- Example: Updated the example of rewrites to utilize the App Router: #69495
Misc Changes
- fix(CI): Don't require the GRAPHITE_TOKEN secret, as it's not available in forks: #69517
Credits
Huge thanks to @bgw and @Sam-Phillemon9493 for helping!
Core Changes
- Support turbo: true option for custom server: #69464
- bugfix: aliased prefetches should flow through PPR handling: #69476
Misc Changes
- fix(turbopack-ecmascript-plugins): Accept a partial object for StyledComponentsTransformConfig: #69474
- Turbopack: JSON5 and package.json for postcss config files: #68679
- [after] duplicate test pages for edge instead of next.patch: #69477
- docs: clarify ISR behavior: #69501
Credits
Huge thanks to @bgw, @timneutkens, @mischnic, @ztanner, and @lubieowoce for helping!
Core Changes
- Introduce dynamicIO experiment: #67571
- Add module id strategy option to next config: #69319
- cleanup FlightDataPath array access/slicing: #69241
- normalize flight data after receiving server response: #69460
Example Changes
- Add
cms-umbracoexample: #52777
Misc Changes
- Documentation fixed: removes a confusing double negative: #69429
- docs: fix a calculation mistake: #69363
- Remove redundant code and call module_id_to_lit instead: #69430
- docs: improve no async client components page: #69440
- validate path lengths before writes and attempt to eagerly convert win paths: #69141
- build(pack-next): Add an option for the pack-next script to automate patching package.json: #69396
- Rename trace.log -> trace-turbopack to match .next/trace: #69447
- Make module IDs numbers instead of strings: #69431
- chore(CI): Use Graphite's CI Optimization Feature: #69204
- Revert "validate path lengths before writes and attempt to eagerly convert win paths": #69465
- Fix no ending quotation mark in 09-authentication blog: #69427
- Update index.mdx: #69400
- chore(github): fix tool call: #69470
Credits
Huge thanks to @amikofalvy, @yosefbeder, @gnoff, @LichuAcu, @leerob, @arlyon, @bgw, @timneutkens, @ztanner, @kjac, @woutvanderploeg, @Ocheretovich, and @samcx for helping!
Core Changes
- chore: add logs to download-swc ci job: #69425
- Upgrade React from
19.0.0-rc-f90a6bcc-20240827to19.0.0-rc-7771d3a7-20240827: #69417
Example Changes
- examples: Updating WordPress example to Next 14: #62447
Misc Changes
- build: Update
swc_coretov0.102.0: #69389
Credits
Huge thanks to @kdy1, @huozhi, and @Bjornnyborg for helping!
Core Changes
- refactor path creation in walkTreeWithFlightRouterState: #69383
- Partial Fallback Prerendering: #68958
- Upgrade React from
eb3ad065-20240822tof90a6bcc-20240827: #69415
Example Changes
- examples: Supabase | ui.shadcn, App Router Layouts: #69308
- Fix: Example Template | with-supabase - wrong file name breaking build: #69394
- Fix/ Examples
use-supabase| Multiple improvements : #69407
Misc Changes
- Change ID generation strategy: #69200
- Fix async dynamic client modules in graph traversal: #69202
- docs: clarify caching: #69391
- docs: fix link in data fetching: #69382
- Fix typo on "additonal" to "additional": #69337
- Create React sync automatically: #69314
- Fix test mode detection: #69416
Credits
Huge thanks to @LichuAcu, @leerob, @ztanner, @MildTomato, @wyattjoh, @hiro0218, and @eps1lon for helping!
Core Changes
- handle uncaught exceptions in worker: #69335
- Set max retries for build failures to zero: #69340
- send initialCanonicalUrl in array format to prevent crawler confusion: #69370
- remove unused argument to applyPatch: #69376
- Respect webpackIgnore and turboIgnore comments in the parser: #68451
Example Changes
- Examples - Updated with-windcss example for App Router: #69365
Misc Changes
- Fix async loader modules in graph traversal: #69077
- Module ID strategies tests: #69110
- Fix action loader modules in graph traversal: #69154
- Create empty update_react.yml as a no-op: #69318
- sync-react: Fix
--versionand--no-installbeing ignored: #69317 - consolidate handling for well known objects across refs and analysis: #69111
- Revert "Fix action loader modules in graph traversal": #69359
- invert if check for iife to reduce indentation: #69112
- Docs: Add version tag and history for
instrumentationHook: #69366 - Docs: Add missing debugging page to App Router docs: #69367
- Docs: Polish CLI pages: #69362
- fix(turbopack): Store minimumCacheTTL as a u64: #69379
- docs: fix 404 with debugging guide: #69377
- chore(turbopack): Delete dead code in next_core::{app,pages}_structure: #69387
- fix: fix the safari and firefox test modes: #69384
- Fix next server component modules in graph traversal: #69157
Credits
Huge thanks to @LichuAcu, @gnoff, @eps1lon, @arlyon, @huozhi, @delbaoliveira, @archanaagivale30, @ztanner, @bgw, @leerob, and @wyattjoh for helping!
Core Changes
- refactor: group react dev overlay entry: #69223
Example Changes
- examples: update "ENV key value" format format to "ENV key=value": #69053
- fix: ENV warning: #69091
- Reduce TypeGen boilerplate in Sanity Example: #69134
Misc Changes
- docs: correct console.log syntax in Pages and App router examples for configuring MDX: #69235
- fix: Allow guarded usage of node.js APIs from edge runtime: #69283
- docs: examples page: #69187
- docs: remove broken link: #69209
- docs: improve data fetching docs and add ISR page: #69285
- docs: fix a few ISR docs follow up: #69315
- chore(github): update deprecated property in triage issues with ai: #69323
- chore(docs): update docs for error message
no-img-element: #69312
Credits
Huge thanks to @dineshh-m, @avdeev, @Bhavya031, @stipsan, @huozhi, @kdy1, @leerob, @samcx, and @styfle for helping!
Core Changes
- Refactor unused import and object in Flight plugin: #69266
Credits
Huge thanks to @shuding for helping!
Misc Changes
- Moved global_module_id_strategy.rs to turbopack-ecmascript crate to avoid circularities: #69075
- Changed module id map key from AssetIdent to RcStr: #69076
- Turbopack: reapply
typeof modulereplacement: #69158
Credits
Huge thanks to @LichuAcu and @mischnic for helping!
Core Changes
- Update React from
1eaccd82-20240816toeb3ad065-20240822: #69196 - [Tracing] Trace next-dev spans to represent the dev server: #69206
Misc Changes
- sync-react: Print to console what should go into PR description: #69195
- sync-react: Remove redundant work : #69199
- docs: add missing types for next-config-ts: #69188
- feat(turbopack): Add lint for node.js imports from edge: #69171
- Update Turbopack production test manifest: #69214
- docs: add useLightningcss config: #69161
- Docs: Add
- Docs: Fix heading and broken link for HMR cache: #68925
- Update image.mdx: #69051
- docs: adding a space after the period: #69100
- Fix code example syntax error 13-route-handlers.mdx: #69033
- Re-add Partytown custom configuration to
Scriptcomponent documentation: #68946 - Add required legacyBehavior for passHref to work: #68897
- docs(cookies): fix link to Dynamic Function: #68780
- Update 02-jest.mdx: #68661
- (docs): Enumerate all possible extensions for note: #67958
- docs: fix code out of the code block: #69228
- Refactored module IDs optimization: #68846
- Exhaustive modules graph traversal: #68865
- Add support for Instrumentation and Middleware in global module ID optimization: #68993
Credits
Huge thanks to @eps1lon, @devjiwonchoi, @kdy1, @samcx, @delbaoliveira, @slimbde, @nauvalazhar, @HughHzyb, @guisehn, @wesbos, @Juneezee, @OlyaPolya, @paarthmadan, @AhmedBaset, @LichuAcu, and @wbinnssmith for helping!
Example Changes
- updated the example of custom-routes-proxying to utilize the App Router: #68941
Misc Changes
- chore(github): update reactionSchema: #69203
- sync-react: Automatically update all references to the React peer dependency version: #69194
- Stop testing
react-dom/serverin RSCs: #69139
Credits
Huge thanks to @samcx, @eps1lon, and @Sam-Phillemon9493 for helping!
Core Changes
- disable prefetch aliasing in development: #69168
- refactor: create shared utils for mod resource: #69145
- remove action pathname normalizer: #69181
- Apply optimization for unused actions: #69178
- Improve SWC transform ID generation: #69183
Example Changes
- Add Meilisearch example: #53251
Misc Changes
- Docs: Refactor
nextandcreate-next-appCLI pages: #68899 - [devlow-bench] fail with non-zero exit and restore file.js: #69116
Credits
Huge thanks to @ztanner, @huozhi, @delbaoliveira, @Strift, @wbinnssmith, and @shuding for helping!
Core Changes
- Remove
optimizeFonts(Automatic font optimization) superseded by next/font: #69137 - Ensure fetch cache TTL is updated properly: #69164
- correctly rethrow instrumentation loading error: #65251
Credits
Huge thanks to @timneutkens, @ijjk, and @iscekic for helping!
Core Changes
- add support for css-in-js ressource mapping in experimental lightningcss-loader: #64551
- Stablize instrumentation.js: #68853
- Ensure vendored
react-dom/server.browseris used: #69142 - Ensure assertion failures include all versions in rsc-basic tests: #69138
- bugfix: ensure prefetch aliasing doesn't apply URL redirect: #69153
Example Changes
- Supabase: improve sign in and sign up, add reset password: #69066
Misc Changes
- Turbopack: fix issue source location for special exports: #69132
- docs: add missing colons
:to Good to Knows: #69135 - docs: inform middleware usage along with metadata files: #69136
- test: confirm that middleware may affect sitemap.xml render: #69140
- refactor(github): minor refactor to triage with ai: #69155
- Revert "Add
Effect:TypeOfand givetypeofs ... #68842)": #69156
Credits
Huge thanks to @mischnic, @jantimon, @devjiwonchoi, @huozhi, @eps1lon, @jordienr, @samcx, and @ztanner for helping!
Core Changes
- bugfix: ensure rsc isn't reused for page segments when reusing loading data: #69123
Credits
Huge thanks to @ztanner for helping!
Core Changes
- fix: Move tree shaking config to
experimental.turbo: #69050 - Turbopack build: Fix metadata handling: #69086
- Remove references to removed react-dom/server APIs in Webpack shims: #68987
- misc: tweak fetch patch restoration timing during HMR to allow for userland fetch patching: #68193
- Remove unused react-dom/server.browser references: #68988
- refactor: fallback updates: #68631
- refactor: update fallbacks to use response cache: #68603
- Improve create not found tree and remove asNotFound: #68910
Example Changes
- (Example) Remove redirects plugin from Sitecore XM Cloud example: #69094
Misc Changes
- Add test suite for react-dom/server usage in React Server environment: #68945
- fix(turbopack): correctly handle catchall specificity: #68800
- chore(github): update sync label logic: #69072
- build: Update
swc_coretov0.101.3: #69039 - chore(github): update system and prompt logic (AI): #69115
Credits
Huge thanks to @kdy1, @timneutkens, @eps1lon, @ah100101, @feedthejim, @ForsakenHarmony, @wyattjoh, @samcx, and @huozhi for helping!
Core Changes
- Update React from
49496d49-20240814to1eaccd82-20240816: #68991 - Improve Metadata JSDoc: #69037
- Include proper instrumentation entry in required files manifest: #68983
- Resolve route interception problem with (..)(..): #69012
Misc Changes
- Add
Effect:TypeOfand givetypeofs user-defineable names: #68842 - feat: Port edge assert plugin to turbopack: #69041
- chore(cna): add missing period: #69021
- fix(turbopack): don't error on dynamic imports in postcss config: #68795
- chore(github): update bug_report template: #69071
Credits
Huge thanks to @mischnic, @eps1lon, @kdy1, @shuding, @huozhi, @s-ekai, @samcx, and @ForsakenHarmony for helping!
Core Changes
- Reland "Ensure bail out on ssr error in static generation": #68999
Misc Changes
- chore(github): improve triaging issues with ai: #68995
Credits
Huge thanks to @ztanner and @samcx for helping!
Core Changes
- Add draft mode flag for multi-zone: #68997
Misc Changes
- Adding a disable git flag in Create Next App: #68821
Credits
Huge thanks to @Arinji2 and @ijjk for helping!
Core Changes
- Update React from
187dd6a7-20240806to49496d49-20240814: #68898 - Lookup alias and import maps using Pattern instead of String: #68274
- perf(turbopack): improve app structure performance: #67397
- Simplify static indicator: #68961
- use setImmediate (if present) in edge react-dom/RSDW/RSDT: #68952
- Fix flying-shuttle full mode breaking instrumentation: #68976
- Update font data: #68964
- Revert "Ensure bail out on ssr error in static generation": #68986
Misc Changes
- Detect module type for webpack loaders and not hardcode JS: #68930
- Revert "Update
swc_coretov0.100.6(#68560)": #68978 - fix CNA example handling on Windows: #68977
- Run Azure Pipelines after merge: #68982
Credits
Huge thanks to @mischnic, @eps1lon, @kdy1, @ztanner, @ForsakenHarmony, @ijjk, @lubieowoce, and @huozhi for helping!
Core Changes
- refactor(turbo-tasks): Use an enum for
strongly_consistent/ReadConsistencyinstead of a bool: #68913
Misc Changes
- Bump ast-grep: #68844
- Update
swc_coretov0.100.6: #68560
Credits
Huge thanks to @bgw, @mischnic, and @kdy1 for helping!
Core Changes
- Normalize vendored entrypoints: #68502
- fix(next): properly pass layout-level
maxDurationconfig to the children page segments on build: #68793 - chore: fix typos in comments: #68792
- Fix issue with afterFiles rewrites not working when prefixed with assetPrefix: #68694
- refactor(turbo-tasks): Add TaskPersistence enum for task creation functions: #68866
- Remove invalid app router etag normalizing: #68948
- perf(turbo-tasks-macros): Move
assert_returns_resolved_valueinto helper module: #68867 - fix i18n data pathname resolving: #68947
Example Changes
- fix: inngest example for latest version: #68600
- Compose refactor: #68503
- Improve TypeGen in Sanity Example: #68580
- Update page.tsx - Fixing hydration error: #66868
- fix: cache-handler example should reconnect to redis after errors: #68221
- (Examples) Adds
with-google-tag-managerexample that uses@next/third-parties: #57364 - Fix linting from #57364: #68951
- examples: avoid duplicate css insert for ant design: #57947
- docs(examples): fix next-translate prod hydration error in layout: #52653
Misc Changes
- chore(github): fix type validation again: #68862
- chore(github): update issue & discussion templates: #68915
- chore(github): update other template links: #68923
- Turbopack build: Fix Sass test: #68936
- Update Turbopack production test manifest: #68927
- docs: add Stack Auth to App Router-enabled auth frameworks: #68777
- Ensure
assertNoRedboxhas a stack when it fails: #68940 - Turbopack build: Skip CSS test that checks webpack behavior: #68935
Credits
Huge thanks to @samcx, @eps1lon, @devjiwonchoi, @timneutkens, @N2D4, @joelhooks, @khawajaJunaid, @stipsan, @rubyisrust, @abdull-haseeb, @bewinsnw, @housseindjirdeh, @mknichel, @ijjk, @li-jia-nan, @aralroca, @bgw, and @ztanner for helping!
Core Changes
- remove circular ExportError import from SSG worker: #68858
- re-order CacheNodeSeedData to put containing segment first: #68847
Misc Changes
- feat(turbo-tasks): Add
local_cellsargument toturbo_tasks::functionmacro, read it inVc::cell: #68644 - chore(github): fix triage-issues-with-ai zod validation: #68860
Credits
Huge thanks to @ztanner, @bgw, and @samcx for helping!
Core Changes
- rename fetchServerResponse response properties: #68814
- Only opt into navigation PPR flow if prefetched route was PPRed: #68815
- refactor: incremental cache cleanup: #68602
- unfork navigateReducer: #68816
Misc Changes
- Stop importing from
next/dist/bin/next: #68830 - mark flaky turbopack hmr tests: #68852
Credits
Huge thanks to @ztanner, @eps1lon, and @wyattjoh for helping!
Core Changes
- [Turbopack] write action manifest atomically: #68538
- Add node-cron to server externals: #68788
- re-use
loadingfrom prefetch cache entries across searchParams: #68340 - Ensure bail out on ssr error in static generation: #68764
Example Changes
- updated the example of api-routes to utilize the App Router: #68771
Misc Changes
- [Turbopack] serialization fixups: #68715
- [Turbopack] run tests multiple times to test caching: #68722
- Turbopack build: Skip experimental.fallbackNodePolyfills tests: #68825
- Turbopack dev/build: Ensure serverExternalPackages applies to instrumentation.ts: #68835
- Turbopack build: Fix CSS modules tests: #68834
- Turbopack build: Mirror minify mangle options: #68839
- [Turbopack] fix build-native script: #68822
- chore(turbo-tasks): Remove dead/broken features from turbo-tasks & turbo-tasks-memory: #68817
- Turbopack build: Skip Babel specific test: #68838
- Turbopack build: Fix CSS tests: #68841
- Docs: Add version tags for RC and experimental features: #68840
Credits
Huge thanks to @sokra, @timneutkens, @Sam-Phillemon9493, @bgw, @ztanner, @huozhi, and @delbaoliveira for helping!
Core Changes
- Fix
pnpm build --filter nexton a clean repository: #68693 - Rename url to path for onRequestError request arg: #68672
- misc: add dd-trace to server externals: #68785
- [after] remove createCacheScope: #68744
- Remove obsolete
deleteAppClientCache()call from webpack plugin: #68535 - Clean up
require.cachehandling: #68743 - Fix duplicate logs for invalid config exports: #68696
- Always collect static icons for all segments: #68712
Example Changes
- Updated radix-ui example to use App Router: #68711
Misc Changes
- Turbopack build: Fix next/image tests: #68449
- fix(create-next-app): support renamed repositories: #68802
- test: add app route og image with custom font case: #68798
- chore(github): run opened issues through ai: #68303
Credits
Huge thanks to @timneutkens, @eps1lon, @huozhi, @feedthejim, @lubieowoce, @unstubbable, @tknickman, @ijjk, @Shruthireddy04, and @samcx for helping!
Core Changes
- Introduce prerenderAsyncStorage and refactor app-render: #68637
- chore: remove duplicate storeHydrationError call: #68736
- The patched
fetchfunction should not buffer a streamed response: #68447 - fix(create-next-app): link to app dir docs in next-env.d.ts in app dir templates: #68534
Misc Changes
- Improve error message when preview builds were not found in deploy tests: #68589
- Docs: Review RC docs comments: #68714
- docs: replace broken bundle analyzer link: #68655
Credits
Huge thanks to @gnoff, @eps1lon, @delbaoliveira, @devjiwonchoi, @unstubbable, @mehmetozguldev, and @ronanru for helping!
Core Changes
- Update React from
06d0b89e-20240801to187dd6a7-20240806: #68594 - Prevent incompability with
'eval-source-map'andmangle: false: #68688 - Update font data: #68639
Example Changes
- Migrated 'with-absolute-imports' to App-router Convention: #68666
Credits
Huge thanks to @Hemanshu-Upadhyay, @eps1lon, and @unstubbable for helping!
Core Changes
- fix: HMR not works when
assetPrefixset to URL: #68622 - Reject next image urls in image optimizer: #68628
- Check vendored
@ampproject/toolbox-optimizerinto version control: #68466 - Use proper react release channel for
react-dom/staticaliases: #68663 - Stop mangling server runtime in dev: #68641
- Ensure we hard error on invalid middleware config export: #68638
- Ensure we copy map file as well for experimental tracing: #68676
- chore: remove asset prefix warning log and update docs: #68681
Misc Changes
- feat(turbopack): Allow type-only import of
usePathname: #68643 - Docs: Add static indicator diagram: #68659
- Docs: Add note about RC deps: #68591
- test: refactor unclear tests to composed matchers: #68674
Credits
Huge thanks to @devjiwonchoi, @kdy1, @huozhi, @eps1lon, @delbaoliveira, @unstubbable, @gnoff, and @ijjk for helping!
Core Changes
- fix app router prefetch deduping: #68642
- Turbopack HMR: Reload the page when server session changes: #68630
- Remove extraneous configs from cache manifest: #68645
Credits
Huge thanks to @ztanner, @wbinnssmith, and @ijjk for helping!
Core Changes
- fix: NPM Workspace throws
ENOWORKSPACESerror when fetching registry: #68522 - fix:
normalize-asset-prefixadding leading slash when URLassetPrefixis provided: #68518 - Sitemap image tag support: #68034
- chore(next-swc): avoid deleting .gitignore when running "clean" script: #68624
- Fix favicon merging with customized icons: #67982
- Add tests for self-importing packages: #68070
- refactor static workers to help with parallelization & cache sharing: #68546
- Handle pruning mismatching cache for experimental trace: #68635
- Ensure next-server prepare only execute once: #68616
Misc Changes
- fix: Update
swc_relay: #67768 - chore: Update
lightningcss: #68576 - feat(turbopack): Enable tree shaking for modules with server actions: #68608
- move tests into common folder: #68569
- fix: avoid crashing test setup if "packages/next-swc/native" does not exist: #68625
- refactor(turbo-tasks): Merge CELL_COUNTERS and CURRENT_TASK_ID into CURRENT_TASK_STATE: #68607
- chore: port more nextpack scripts: #68586
- Update Turbopack production test manifest: #68612
- Update Turbopack development test manifest: #68613
Credits
Huge thanks to @kdy1, @devjiwonchoi, @archanaagivale30, @sokra, @lubieowoce, @bgw, @huozhi, @mischnic, @ForsakenHarmony, @ztanner, and @ijjk for helping!
Core Changes
- Remove async module detection from client flight manifest: #68584
Misc Changes
- Add a resolved argument to
#[turbo_tasks::function]: #68422
Credits
Huge thanks to @huozhi and @bgw for helping!
Core Changes
- make sure all the crates in turbopack are considered when caching: #68593
- refactor: cleanup types and logic in build: #68125
- Fix store only case for tracing: #68601
Misc Changes
- chore(docs): update nav title: #68599
Credits
Huge thanks to @arlyon, @wyattjoh, @samcx, and @ijjk for helping!
Core Changes
- Move turbopack panic log to tmpdir: #67930
- Allow dev server to exit cleanly (SIGINT/SIGTERM): #67165
- Don't throw TurbopackInternalError if there are issues: #68529
- Handle more cases with env inlining: #68590
Misc Changes
- [turbopack] Replace uses of globby in scripts with glob: #68493
- Switch from ld (the default linker) to using lld for GNU Linux targets: #65898
- only perform VersionedContentMap bookkeeping in dev: #68445
- print a warning when the trace file is missing rather than wait: #68438
- ast-grep lint fix: don’t call variables
context: #68550 - refactor(turbopack): Remove cast to
EcmascriptModuleAsset: #68427 - docs: clarify caching of fetch based on comment: #68419
- docs: add correct switcher to partial prerendering docs: #68418
- chore(turbopack): Enable the rust-analyzer component in rust-toolchain.toml: #68592
Credits
Huge thanks to @wbinnssmith, @bgw, @arlyon, @mischnic, @kdy1, @leerob, @Marukome0743, and @ijjk for helping!
Core Changes
- Add env handling for experimental tracing: #68516
- chore: typo in bootrap to bootstrap: #68517
- Refactor ModuleOptionsContext API: #67864
- fix(turbopack): don't log errors when they are thrown: #68331
- Ensure client components are in experimental trace: #68492
- Ensure webpack cache does not conflict with experimental tracing: #68515
- Add store only mode for experimental tracing: #68548
Misc Changes
- Upgrade to rustc nightly-2024-08-01: #68452
- allow to run trace-server on a different port: #68431
- Update flakey HMR test with turbopack: #68495
- update node-version specifier for broader support: #68442
- chore: remove turbopack-binding and other unused crates: #68456
- chore(turbopack): Add
comment_width = 100to rustfmt.toml: #68541 - vscode settings.json: Use dedicated configuration for rust-analyzer target directory: #68543
- Add ast-grep GitHub Action: #68540
- [turbopack] Make ReadRef using
VcCellModesemantics, addVcCellMode::raw_cellAPI: #68467 - [turbopack] Minimal implementation of local Vcs: #68469
- Remove invalid line from memory usage doc: #68551
- [turbopack] Implement resolution for local Vcs: #68472
- [turbopack] Respect VcCellMode in TraitRef::cell: #68473
- [turbopack] Implement remainder of local Vcs: casting and get_task_id: #68474
Credits
Huge thanks to @ijjk, @devjiwonchoi, @mischnic, @ForsakenHarmony, @sokra, @arlyon, @bgw, and @wbinnssmith for helping!
Core Changes
- Colocate
cssnanon-preset-simpleunit test with source: #68508 - Compile
path-to-regexpviancc: #68465
Example Changes
- fix: ENV warn info: #68486
Misc Changes
- Update flakey module-errors test: #68494
Credits
Huge thanks to @ijjk, @luojiyin1987, and @eps1lon for helping!
Core Changes
- Stabilize outputFileTracing configs: #68464
- Delete debug tarball file and add to gitignore: #68478
- ppr: prevent CacheNode.loading from being cleared on popstate: #68488
Misc Changes
- Use posix-compatible syntax for pre-push hook: #68421
Credits
Huge thanks to @bgw, @ijjk, and @ztanner for helping!
Misc Changes
- Add pack/unpack scripts from nextpack: #68471
Credits
Huge thanks to @wbinnssmith for helping!
Core Changes
- Use font color for static indictor close icon: #68417
- Support @next/mdx with Turbopack: #68397
- Update React from
3208e73e-20240730to06d0b89e-20240801: #68444 - Fix ncc clearing task: #68468
- Clean-up legacy terser code: #68462
- [ppr] Configuration for max react headers length: #67715
Example Changes
- with-mongodb update to add both App and Pages Router examples: #68461
Misc Changes
- Remove remaining uses of removed
swcMinifyconfig option: #68389 - Get rid of tower-uds crate: #68446
- refactor(cna): use Commander
argsinstead ofprocess.argv: #68454 - Add docs to mention glob behavior of trace includes/excludes: #68463
Credits
Huge thanks to @eps1lon, @ijjk, @mischnic, @arlyon, @devjiwonchoi, @codeSTACKr, and @wyattjoh for helping!
Core Changes
- feat: Enable tree shaking of turbopack: #66689
Example Changes
- Update Sanity example deps and fix readme typo: #68359
- Migrated svg-components to App-router: #68394
Credits
Huge thanks to @stipsan, @Hemanshu-Upadhyay, and @kdy1 for helping!
Core Changes
- Allow users to use process.env.NEXT_SSG_FETCH_METRICS to control fetch metrics during SSG: #68378
- refactor: replace
indexOf === 0withstartsWith: #68116
Misc Changes
- docs: Improve PPR config/rendering sections: #68210
Credits
Huge thanks to @mknichel, @leerob, and @Juneezee for helping!
Core Changes
- Remove quotation marks from object key : #68337
- Move static indicator into dev overlay: #68369
- Ensure we match comment minify behavior between terser and swc: #68372
- update turbopack: #68399
- chore: fix references for the new turbopack crates: #68128
- refactor: merge turbopack crates into next.js: #68127
Misc Changes
- box Scheduled task state to save memory (vercel/turbo#8807)
- Drop excessive cells after task reexecution (vercel/turbo#8170)
- reduce memory and consolidate shared vs transient cells (vercel/turbo#8263)
- avoid implementing Eq on Completion (vercel/turbo#8818)
- feat: Improve tree shaking (vercel/turbo#8781)
- GC auto increase memory limit on inefficient GC (vercel/turbo#8687)
- Reduce macro usage in turbo-tasks-testing (vercel/turbo#8832)
- fix: Use
hygiene_with_configinstead ofhygiene(vercel/turbo#8848) - Support monorepo package self-references (vercel/turbo#8820)
- allow to resolve symlinks on DirectoryEntry (vercel/turbo#8851)
- fix symlinks and dotfiles while reading glob (vercel/turbo#8865)
- Support
module_resolution: "nodenext"(vercel/turbo#8748) - Add/move tests for Vc generics (vercel/turbo#8843)
- Fix
ReadRef<T>::cellwhenT!=T::Read::Repr(vercel/turbo#8845) - fix: Fix tree shaking even more (vercel/turbo#8864)
- improve test glob to exclude output folder (vercel/turbo#8875)
- only add import references when they are used (vercel/turbo#8874)
- Replace MDX ModuleType with MDX SourceTransform (vercel/turbo#8766)
- Make JS Lints have lower severity (vercel/turbo#8837)
- Convert MDX errors into issues (vercel/turbo#8879)
- smarter logical combination that keeps truthy/falsy/nullish property (vercel/turbo#8873)
- Skip unreachable code when early return can be statically analysed (vercel/turbo#8890)
- Add 'turbopack/' from commit 'fb033c4917bb1bb98b238f1b4c7a928b66a90887'
Credits
Huge thanks to @mud-ali, @ijjk, @sokra, and @ForsakenHarmony for helping!
Core Changes
- [form] typedRoutes support for action prop: #68323
- fix: allow empty string value for opengraph: #68262
- update turbopack: #68354
- fix renaming of page files, add handling of symlinked pages: #68195
Example Changes
- update react remove properties to support app route: #68324
Misc Changes
- docs: small follow up for custom server: #68334
- Turbopack: Add docs for unsupported :import and :export: #68353
- test: fix invalid URL in app-types test: #68360
- Docs: Next.js 15 RC updates: #67839
- chore: remove
fast-xml-parserfrom a test: #68310 - docs: fix typo on file extensions: #68043
- HOTFIX: pages doc
next-config-jswas moved from03to04: #68370 - Ensure we always run types-and-precompiled CI check: #68371
- Turbopack: reduce tasks needed for emitting: #68212
- refactor(cna): refactors and small perf wins: #68225
- Update turbopack dev manifest for flakey loading test: #68373
Credits
Huge thanks to @niketchandivade, @leerob, @timneutkens, @lubieowoce, @devjiwonchoi, @delbaoliveira, @sokra, @Marukome0743, @luciancah, and @ijjk for helping!
Core Changes
- Update metadata ready tracking (reland): #68342
Credits
Huge thanks to @gnoff for helping!
Core Changes
- next/form: #68102
- Remove legacy next/link prefetch={true} warning: #68326
- Drop react-dev-overlay from production bundle: #68197
- Update React from
6230622a1a-20240610to3208e73e-20240730: #68330
Example Changes
- docs: Custom Server for App Router: #68167
Misc Changes
- Ensure sync-react updates pnpm overrides: #68329
- docs: fix code block for server action: #68268
Credits
Huge thanks to @lubieowoce, @leerob, @timneutkens, @eps1lon, and @icyJoseph for helping!
Core Changes
- Fix hmr assetPrefix escaping and reuse logic from other files: #67983
- Add deployment id header for rsc payload if present: #67255
- Turbopack: Implement HMR for module-scoped environment variable changes: #68209
- Revert "Update React from 6230622a1a-20240610 to 76002254-20240724 (#68149)": #68300
- Log cached fetches during HMR refreshes if enabled in logging config: #68287
- Upgrade Turbopack: #68327
Misc Changes
- Add app-action deploy test to manifest: #68308
- Add test for serverExternalPackages inside node_modules: #68156
Credits
Huge thanks to @kjugi, @ijjk, @huozhi, @wbinnssmith, @mischnic, @eps1lon, @unstubbable, and @timneutkens for helping!
Core Changes
- Move request logging code out of
NextNodeServer: #68286
Misc Changes
- Update turbopack manifest for flakey folder rename: #68296
- chore(github): initialize triage_with_ai.yml workflow again: #68292
Credits
Huge thanks to @unstubbable, @ijjk, and @samcx for helping!
Core Changes
- Ensure we only handle app nav failure for actual error: #68285
- Drop @babel/plugin-transform-classes by default: #68290
Example Changes
- Examples: Updated the example of catch all routes to utilize the App Router: #68270
Misc Changes
- chore(github): initial setup for triage_with_ai.yml workflow: #68289
- docs: add Stack Auth to list of auth libraries: #68284
Credits
Huge thanks to @ijjk, @niketchandivade, @samcx, and @N2D4 for helping!
Core Changes
- Update React from
6230622a1a-20240610to76002254-20240724: #68149 - fix: grammar in jsdoc: #68253
- Add telemetry for React Compiler usage: #68079
Misc Changes
- Cleanup Yarn/npm specific fields in root package.json: #68186
- Turbopack build: Fix CSS test: #68266
- Restore
workspacesin package.json: #68267 - Update devlow to 0.3.2: #68275
Credits
Huge thanks to @eps1lon, @domin-mnd, @timneutkens, and @wbinnssmith for helping!
Misc Changes
- chore: bump turbo to 2.0.9: #68046
- chore: bump pnpm to 9.6.0: #68044
Credits
Huge thanks to @samcx for helping!
Misc Changes
- Bump @vercel/ncc to 0.38.1: #67044
Credits
Huge thanks to @torresgol10 for helping!
Core Changes
- Revert "Update metadata ready tracking": #68200
- Reapply "[image, link] fix ref merging for callback refs that return a cleanup function" (#68176): #68199
- fix: properly patch lockfile against swc bindings: #66515
- Fix ImageResponse headers merging: #67642
Misc Changes
- Add note about bubbling: #68185
Credits
Huge thanks to @ztanner, @ijjk, @SukkaW, @Luluno01, and @xixixao for helping!
Core Changes
- Revert "[image, link] fix ref merging for callback refs that return a cleanup function": #68176
Credits
Huge thanks to @ijjk for helping!
Core Changes
- update turbopack: #68129
- Apply serverExternalPackages inside node_modules and add keyv: #67948
- [image, link] fix ref merging for callback refs that return a cleanup function: #68123
Example Changes
- Updated nested-components example to use App Router: #68065
Misc Changes
- Update Turbopack production test manifest: #68022
- fix: Use
[and]instead of(and)for debug transform: #68142 - docs: fix typo: #68159
- docs: update Pages Router caching docs for SSR /
getServerSideProps: #68092 - Fix duplicate word in production checklist docs: #68090
- GTM dataLayer parameter should take an object, not an array of strings: #66339
- Use the shared Next.js
installDiron Windows as well: #68166 - Re-enable and fix
create-next-appintegration tests: #68084 - Add
--yesoption tocreate-next-app: #68085
Credits
Huge thanks to @sokra, @kdy1, @mischnic, @lubieowoce, @samcx, @leerob, @Shruthireddy04, @TrevorSayre, @marlier, and @unstubbable for helping!
Core Changes
- Fix race condition with experimental tracing: #68143
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Restructure trace experiment manifest: #68131
Credits
Huge thanks to @ijjk for helping!
Core Changes
- refactor: isolate the params type: #67981
- Ignore serverComponentChanges in pages: #66312
- Fix global hash for experimental tracing: #68122
Misc Changes
- Turbopack build: Fix basic-global-support CSS tests: #68119
Credits
Huge thanks to @wyattjoh, @KentoMoriwaki, @timneutkens, and @ijjk for helping!
Example Changes
- Examples:Updated with-slate example to App Router: #68060
Misc Changes
- docs: add note about Turborepo to CI section: #67996
- docs: mention
useParamsin incremental adoption guide: #68010 - Downgrade React from
dfd30974ab-20240613to6230622a1a-20240610 - feat(next-swc): Add a transform adding function names : #68056
Credits
Huge thanks to @leerob, @kdy1, and @archanaagivale30 for helping!
Core Changes
- remove unused preloadConfig flag: #68082
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Update React from
6230622a1a-20240610todfd30974ab-20240613: #66711 - Prevent unnecessary rsc reloads on navigation: #68049
- update prefetching jsdoc & documentation: #68047
- Improve caching of next-app-loader to prevent more fs calls.: #67792
- Update Next Command name, add types & update variable wording: #68007
- Ensure experimental trace invalidates correctly: #68076
- Env follow-up for experimental trace: #68086
- log FetchMetrics during SSG to diagnostics dir: #68078
Misc Changes
- docs: update sitemap version history: #68009
- Turbopack build: Fix css-modules tests: #68068
Credits
Huge thanks to @leerob, @eps1lon, @wbinnssmith, @ztanner, @timneutkens, @gdborton, @Willem-Jaap, and @ijjk for helping!
Core Changes
- Fix logging option internal consuming: #67972
- Turbopack build: Implement reactProductionProfiling: #67909
- Update metadata ready tracking: #67929
- Fix
next lintwith async eslint-formatters: #67860 - refactor: move rust crates to the repo root directory: #67780
- Wait for pending Webpack Hot Updates before evaluating JS from RSC responses: #67673
- Stop handling hydration errors from unsupported React versions: #67903
Misc Changes
- Turbopack build: Properly isolate scss/webpack-error test: #67995
- pre-push: Don't block pushes to canary for forked repos: #67946
- Label React syncs in GitHub with
type: react-sync: #67710 - Remove stray heading in error page: #68025
Credits
Huge thanks to @huozhi, @timneutkens, @lubieowoce, @gnoff, @darthmaim, @ForsakenHarmony, @eps1lon, and @mischnic for helping!
Example Changes
- [examples] fix: ant-design unstyled hydration issue: #68000
- Update cookie handling for Supabase SSR package: #67413
Misc Changes
- Update 12-third-party-libraries.mdx: #67142
- Update 10-open-telemetry.mdx, missing packages.: #65885
- docs(tailwind-css): add
tailwind.config.tscode block: #68006 - docs: add typescript samples on using local assets for opengraph/twitter image: #64947
Credits
Huge thanks to @NavidNourani, @allanchau, @ekremkenter, @yurivangeffen, @Juneezee, and @KagamiChan for helping!
Core Changes
- Ensure "[Fast Refresh] rebuilding" logs have a matching "[Fast Refresh] done" log in Webpack: #67968
Misc Changes
- Attempt to fix flakiness of prerender e2e tests: #67965
- Turbopack build: Fix next-image-legacy test: #67989
- Turbopack build: Fix useReportWebVitals test: #67991
- Fix flakiness of
should not cause error when removing loading.jstest: #67978
Credits
Huge thanks to @eps1lon, @unstubbable, and @timneutkens for helping!
Core Changes
- Log fetch requests during client-side navigation: #67925
- Fix fetch logging in edge runtime: #67952
- fix: merged middleware cookies should preserve options: #67956
- feat: disable development logging by setting
logging: falsein next config: #67590 - Add experimental flag for chunk failure handling during app navigation: #67926
- Do not limit the number of fetch requests that are logged: #67957
- Fix a bug in the webpack-sources patch that happens sometimes when using the webpack cache: #67928
Example Changes
- Examples: Updated the example of headers to utilize the App Router: #67920
- Updated/Migrated next-css example to the App Router: #67942
Misc Changes
- Exclude aarch64-pc-windows-msvc instead of x86_64 for preview build: #67927
- fix retrieval of deploy test build logs: #67971
- capture test-deploy stderr in cliOutput: #67976
- Print Redbox content if
assertNoRedboxfails: #67973
Credits
Huge thanks to @Sam-Phillemon9493, @Shruthireddy04, @unstubbable, @ztanner, @devjiwonchoi, @ijjk, @eps1lon, and @mknichel for helping!
Core Changes
- Hide caniuse-lite outdated warning in terminal: #67869
- Support
compiler.removeConsolewith Turbopack: #67849 - remove extraneous field from FetchServerResponse: #67865
- refactor FetchServerResponse shape: #67866
- Support
reactRemovePropertieswith Turbopack: #67853 - prerendered pages should use static staleTime: #67868
- ensure cookies set in middleware can be read in a server action: #67924
Example Changes
- Examples: updated the example of analyze-bundles to utilize the App Router: #67843
- fix[examples]: update example cache-handler-redis: #67350
Misc Changes
- docs: add i18n caveat for global-error file #66905: #67894
- Docs: Bump min Node.js version to 18.18 (RC Docs): #67902
- chore(github): add bitbucket and gitlab hosts: #67899
- Improve performance of test cleanup step: #67845
- Turbopack build: Skip experimental.sri tests: #67898
- Turbopack build: Skip AMP tests (not supported): #67888
- Turbopack build: Skip typedRoutes tests (experimental feature): #67891
- Turbopack build: Skip babel specific tests: #67912
- Turbopack build: Ensure standalone-gsp.test.ts can run: #67900
- Turbopack build: Skip experimental.esmExternals tests: #67901
Credits
Huge thanks to @archanaagivale30, @huozhi, @pathliving, @mischnic, @delbaoliveira, @samcx, @mauroaccornero, @ztanner, and @timneutkens for helping!
Core Changes
- Update font data: #67872
- update turbopack: #67874
Credits
Huge thanks to @sokra for helping!
Core Changes
- refactor client router initialization: #67821
- Fix for
typedRouteswhen settingpageExtensions- for typedRoutes MDX support: #67824 - [Diagnostics] Record framework.json after creating and cleaning distDir: #67819
- Enable
experimental.serverComponentsHmrCacheby default: #67800 - Drop the experimental env var for onRequestError API: #67856
- Add additional handling for experimental tracing: #67785
Misc Changes
- chore: bump turbo to 2.0.7: #67847
- Add test for Server Components HMR after navigating to page with Edge runtime: #67782
- Turbopack build: Fix re-export-all-exports-from-page-disallowed test: #67851
- test: add dynamic routes and suspense test case for onRequestError: #67848
Credits
Huge thanks to @samcx, @eps1lon, @timneutkens, @ztanner, @controversial, @mknichel, @unstubbable, @huozhi, and @ijjk for helping!
Core Changes
- Don’t show long internal Rust stack traces to users: #67678
- Align the typeEnv value type with default process env value type: #67804
- ensure component tree is only rendered once during SSG/revalidations: #67680
Example Changes
- Examples: updated the example of head-elements to utilize the App Router: #67829
Misc Changes
- docs: add
next.config.ts: #67773 - Docs: Update note on Next.js ignoring CRA files: #67346
- docs: add important info around global styles: #67778
- Turbopack build: Fix client-404 tests: #67846
- Turbopack build: Fix production/jest test: #67840
Credits
Huge thanks to @wbinnssmith, @devjiwonchoi, @delbaoliveira, @samcx, @Sam-Phillemon9493, @ztanner, and @timneutkens for helping!
Core Changes
- update turbopack: #67795
- Drop edge prerender manifest: #67787
- perf: Optmize
react_server_componenttransform: #67335 - Turbopack build: Implement app/global-error.tsx: #67803
- Ensure instrumentation register only call once: #67805
- Set @next/font to private and remove peer deps field: #67797
- Handle server actions error in onRequestError: #67769
Misc Changes
- Update Turbopack production test manifest: #67793
- Update Turbopack development test manifest: #67794
Credits
Huge thanks to @sokra, @huozhi, @kdy1, and @timneutkens for helping!
Core Changes
- chore: Update
@swc/coreand@swc/heleprs: #67757 - feat: facebook metadata: #65713
- fix: unstable_cache should not cache new result in draft mode: #67772
- Fix edge preview props are not matched with cookie: #67779
- Wait for
✓ Readylog inNextInstance#start: #67767 - Ensure serverSourceMaps is in webpack cache key: #67786
- TypeScript plugin: Allow functions in action-like props: #67211
Example Changes
- Examples: updated the example of dynamic-routing to utilize the App Router: #67684
- Updated basic-export example with app router: #67760
- Migrated the active-class-name Example to App router: #67622
- Downgrade react and react-dom to 19.0.0-rc.0: #67788
Misc Changes
- docs(generateMetadata): update code blocks to include filename: #67745
- chore: use
'...'instead of fragments or null in docs: #67717 - Wait for stdio streams to be closed before resolving
NextInstance#stop: #67764 - docs: address comments on RC: #67774
- Docs: Document
cssChunkingoption: #67691 - Exclude changes that already landed in canary when finding changed tests: #64218
Credits
Huge thanks to @Juneezee, @Sam-Phillemon9493, @Shruthireddy04, @devjiwonchoi, @kdy1, @unstubbable, @Netail, @Hemanshu-Upadhyay, @leerob, @delbaoliveira, @timfuhrmann, @huozhi, @karlhorky, @ijjk, and @eps1lon for helping!
Core Changes
- Turbopack build: Exclude .d.ts files as routes: #67744
Misc Changes
- Update Turbopack production test manifest: #67743
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- fix(turbopack): allow page segments that don't alter the path after catchall: #67713
- Convert secondary
fetchServerResponseparams into options object: #67526 - Server Components HMR Cache: #67527
- pages router: ensure x-middleware-cache is respected: #67734
- Fix typescript setup for
packages/fontandturbo/generators: #67687
Example Changes
- fix: missing file when build docker: #67718
Misc Changes
- Turbopack build: Skip webpack specific test: #67707
- Turbopack build: Fix transpile-packages tests: #67705
- Turbopack build: Fix additional production tests: #67727
- Fix flakiness of
error-hydrationtest with turbopack: #67733 - Update
@typescript-eslint: #67688 - Add additional eslint config for CLI execution (including CI): #67689
Credits
Huge thanks to @himself65, @ForsakenHarmony, @timneutkens, @unstubbable, and @ztanner for helping!
Core Changes
- Update
swc_coretov0.96.9: #67378 - Move request header parsing for
app-renderinto a dedicated function: #67524 - refactor:
typedEnvis notreadonly: #67693 - Report HMR latency when a Server Component changes: #67699
- refactor: merge the same util to detect nextjs navigation errors: #67672
- Move .next/chunks folder to .next/build/chunks: #67610
- Add render source to onRequestError context: #67703
- refactor
<AppRouter />render structure: #64594 - cleanup unused pages router method: #67722
Example Changes
- [Multi Zones] Update the with-zones example to use App Router: #67636
Misc Changes
- [Multi Zones] Update the Multi Zone documentation to include it on the App Router docs and include more information on zones: #67643
- Reduce log noise caused by
retry()attempts: #67603 - test: the nextjs internal errors should not be caught: #67671
- fix middleware-general deploy test: #67712
- docs: update
useParamshook return statement: #67384 - Turbopack build: Fix test checking Next.js version: #67708
- Docs: Clarify that fast refresh is a React feature: #67668
- Migrate
withRouterfrom an integration to an e2e test: #67721 - Docs: Clarify intrisic vs. rendered size for image height/width properties: #67496
Credits
Huge thanks to @mknichel, @kdy1, @unstubbable, @devjiwonchoi, @eps1lon, @huozhi, @LichuAcu, @ztanner, @Kuboczoch, @timneutkens, and @delbaoliveira for helping!
Core Changes
- fix: typo prerender indicator link: #67650
- style: simplify string formatting: #66772
- build: upgrade edge-runtime: #67565
Example Changes
- Update redirects example for App router: #67065
- Updated layout-component with new feature layout.js: #67447
Misc Changes
- Turbopack build: Ensure nanoid is installed during actions test runs: #67666
- remove leftover code from 'related' deploy tests: #67644
- Added pending variable in useActionState hook: #67649
- skip test-new-tests-deploy on forks: #67670
Credits
Huge thanks to @Marukome0743, @hamirmahal, @archanaagivale30, @timneutkens, @ztanner, @tariknh, and @Kikobeats for helping!
Core Changes
- feat: instrumentation onRequestError: #67539
- Reduce console error patching: #67433
- Share the hydration error info extraction util: #67639
- Add prerender indicator for app router: #67306
- cleanup unused server util: #67645
Misc Changes
- Add LichuAchu and mischnic to labeler: #67635
- add shared handling for deploy tests that use patched node_modules: #67637
- Fix two mistakes in next test instance classes: #67633
Credits
Huge thanks to @huozhi, @wbinnssmith, @ztanner, @unstubbable, and @ijjk for helping!
Core Changes
- feat: type hint for
envin dev mode: #67157 - perf(turbopack): only build last parallel route: #67588
Misc Changes
- Wait for dev server restart after
next.config.jschanges in tests: #67601 - Turbopack build: Fix preload-viewport tests: #67589
- Update Turbopack development test manifest: #67619
- Update Turbopack production test manifest: #67625
- split out flake detection from utility to detect changed tests: #67611
- run changed/added tests in deploy mode: #67612
- fix prefetch-navigation deploy test: #67616
Credits
Huge thanks to @unstubbable, @timneutkens, @devjiwonchoi, @ztanner, and @ForsakenHarmony for helping!
Core Changes
- Fix PPR navigations & revert
layerAssetsproperty from FlightData: #67435 - Update experimental trace handling to capture more deps: #67599
- Write out task statistics if NEXT_TURBOPACK_TASK_STATISTICS is set: #67164
- fix PPR navigations when visiting route with seeded cache: #67439
- Turbopack build: Add missing Compiled successfully message: #67598
Misc Changes
- fix: add whitespace before seconds in trace-to-tree output: #67593
- chore: create-next-app next config to
next.config.ts: #67606 - test: disable flaky duration assertion in image optimizer test: #67608
- fix NextConfig detection in createTestDir: #67609
Credits
Huge thanks to @MonstraG, @ztanner, @ijjk, @devjiwonchoi, @bgw, @lubieowoce, and @timneutkens for helping!
Core Changes
- Update font data: #67574
- Tweak the display for error trace: #67572
- Turbopack build: Ensure build manifest routes are sorted: #67583
- Clean up flight headers: #67525
- feat(next):
next.config.ts: #63051
Misc Changes
- Remove legacy launch configs: #67498
- Handle more webpack source map URIs: #67552
- Ensure required-server-files test doesn't get stuck on failure: #67576
- Ensure Turbopack test manifest test run has a timeout: #67575
- Update Turbopack production test manifest: #67581
Credits
Huge thanks to @unstubbable, @timneutkens, @huozhi, and @devjiwonchoi for helping!
Core Changes
- next-build-test improvements: #67460
Misc Changes
- chore: bump pnpm to 9.5.0: #67555
- Ensure Node.js 18.18 is used in Turbopack test manifest update: #67547
- test: update component to async to avoid TS error in build: #67557
- Bring back passing tests for css-order for Turbopack build: #67562
- skip invalid deploy tests: #67563
- docs: Fix
unstable_rethrowexample: #67560 - docs: add server actions to unsupported features of static exports: #67507
Credits
Huge thanks to @sokra, @samcx, @timneutkens, @huozhi, @ztanner, @amannn, and @leerob for helping!
Core Changes
- Turbopack build: Ensure Pages Router manifests are loaded with buildId: #67317
Misc Changes
- Re-add support for inline snapshots using prettier v2: #67530
- docs: Add example code block to error handling docs: #67515
Credits
Huge thanks to @unstubbable, @timneutkens, and @mert-duzgun for helping!
Misc Changes
- Docs: Link to server-side form validation: #67514
Credits
Huge thanks to @karlhorky for helping!
Core Changes
- Bump minimum Node.js version to 18.18 (up from 18.17): #67274
- Update font data: #67472
- avoid merging global css in a way that leaks into other chunk groups: #67373
- refactor: avoid unnecessary after wrapper: #67463
- fix(next): add cross origin in react dom preload: #67423
- Remove obsolete
isNodeDebuggingoption from next server: #67492 - Fix VS Code debugging: #66254
- Dedupe double logged server errors: #67464
Misc Changes
- Improve docs for preview builds: #67422
- Upgrade TypeScript to 5.5.3: #67454
- Docs: Update unstable_rethrow example: #67494
- Configure source map overrides for turbopack: #67497
Credits
Huge thanks to @eps1lon, @sokra, @unstubbable, @devjiwonchoi, @syi0808, @huozhi, and @delbaoliveira for helping!
Core Changes
- Upgrade TypeScript to v5.5.2: #67113
- Fix typo in MDX documentation: #67432
- Transpile geist by default: #67402
- Turbopack + Relay: correctly implement artifact_directory to fix multi-project test: #67403
- fix(next/image): handle invalid url: #67465
Example Changes
- Fix Dead Links in @neshca/cache-handler-redis example README.md: #67415
Misc Changes
- docs: fix typo
}: #67441 - [docs] Update options in create-next-app: #67455
Credits
Huge thanks to @devjiwonchoi, @Teddir, @ManuLpz4, @huozhi, @torresgol10, @wbinnssmith, @Julian-Louis, and @styfle for helping!
Core Changes
- fix dynamic param extraction for interception routes: #67400
Misc Changes
- Automatically trigger sync with Front on release: #66453
- [create-next-app]: add font antialiasing to templates: #67425
Credits
Huge thanks to @eps1lon, @stylessh, and @ztanner for helping!
Core Changes
- Update
@swc/corenpm package tov1.6.6: #67379 - feat: Pass
module: "unknown"to SWC minfiier: #66817 - [chore] Update turbopack to turbopack-240703.1: #67406
Credits
Huge thanks to @kdy1 and @bgw for helping!
Misc Changes
- test: add test for parallel routes hmr: #67392
- Persist package tarballs as GitHub Actions artifacts: #66445
- docs: fix typo eanble: #67369
Credits
Huge thanks to @ForsakenHarmony, @eps1lon, and @neila-a for helping!
Core Changes
- fix(turbopack): build all parallel routes to make sure HMR works: #67222
Misc Changes
- Allow busting reserved Github action caches: #66638
Credits
Huge thanks to @eps1lon and @ForsakenHarmony for helping!
Core Changes
- fix(next/image): improve
wandqquery string validation for integers: #67293 - chore: throw when three dot character is detected in segment: #67348
- Add warn and telemetry for customized esmExternals: #67339
- perf: improve retrieving
versionInfoon Turbo HMR: #67309 - fix(next/image): undo tight coupling between
priority=trueandfetchPriority=high: #67351 - use fetch priority for app prefetches: #67356
- fix prefetch bailout detection for nested loading segments: #67358
Misc Changes
- Improve Unstable Cache Docs: #65942
- chore: add
swc-build-nativescript at root package.json: #67345 - Fix test-new-tests args parsing: #67308
- docs: Improve error handling docs: #67332
- Update
labeler.json: #67359 - Ensure
required-server-filestest can exit cleanly: #66765
Credits
Huge thanks to @Arinji2, @devjiwonchoi, @ijjk, @styfle, @leerob, @huozhi, @ztanner, and @unstubbable for helping!
Core Changes
- packages/next: opt ts-morph into serverExternalPackages: #67284
Credits
Huge thanks to @MaxLeiter for helping!
Core Changes
- chore(docs): improve visual appearance of badges in README.md: #67254
- refactor: replace
globw/fast-globin eslint plugin: #67261 - reject actions with invalid RSC responses: #67059
- chore: bump pnpm to 9.4.0: #64945
Misc Changes
- chore(docs): fix miss spell: #67228
- chore: bump turbo to 2.0.6-canary.0: #67270
- docs(mdx): add clarification for mdxRs: #67237
- Docs: Update
fetchinformation in caching docs: #67279
Credits
Huge thanks to @creativoma, @GyoHeon, @samcx, @SukkaW, @ztanner, and @delbaoliveira for helping!
Core Changes
- feat: enable @typescript-eslint/recommended in create-next-app --typescript: #52845
- fix missing command in next-codemod: #67216
Example Changes
- examples(with-mdx): update to MDX 3: #62503
- Revert "examples(with-mdx): update to MDX 3": #67249
- add more examples to run-for-change script: #67250
Misc Changes
- Update unit test docs in compliance with testing-library release: #67217
- [ppr] Test fixes for deployment tests : #67256
Credits
Huge thanks to @jophy-ye, @remcohaszing, @JoshuaKGoldberg, @huozhi, @ztanner, and @wyattjoh for helping!
Core Changes
- fix(turbopack): add no-op
resolveAbsolutePathto browser runtime: #67215
Misc Changes
- Test that nonlatin characters don’t cause hard reloads in hmr: #67077
Credits
Huge thanks to @wbinnssmith and @ForsakenHarmony for helping!
Core Changes
- make next/dynamic visit more incremental and cacheable: #66912
- Make synced react-is version more obvious: #67189
- fix: Narrow down from
string | undefinedtostring: #65248 - Upgrade Turbopack: #67209
- [ppr] Handle corrupted postponed state: #67021
Example Changes
- fix: fix entry point for storybook, add storybook static ouput to gitignore: #67207
Misc Changes
- skip provide-paths test when deployed: #67203
- Update 01-installation.mdx "create-next-app" had link in one place an…: #67150
Credits
Huge thanks to @ztanner, @sokra, @eps1lon, @icyJoseph, @timneutkens, @crebelskydico, @Maaz-Ahmed007, and @wyattjoh for helping!
Core Changes
- codemod: add next/dynamic imports codemod: #67126
- Create React aliases for SVG components: #67104
- chore: fix react-is RC version pinning: #66676
- Remove extra suspense boundary for default next/dynamic: #67014
- Remove devdependency uuid: #67190
Misc Changes
- docs: static exports: #67181
- Do not skip
react-owner-stacks-svgrtest for turbopack build: #67184 - Upgrade TypeScript to v5.4.5: #67171
- Test lint config after first-time setup: #67146
Credits
Huge thanks to @huozhi, @unstubbable, @leerob, @devjiwonchoi, @eps1lon, @crutchcorn, and @torresgol10 for helping!
Core Changes
- Fix server action edge redirect with middleware rewrite: #67148
- chore: turbopack metadata routes normalizing: #67159
Misc Changes
- Update Turbopack to turbopack-240621.2: #67110
Credits
Huge thanks to @huozhi and @wbinnssmith for helping!
Core Changes
- Add build diagnostics for saving debug information during a build: #66187
- chore: add detection for image more types: #67112
- dx: add pagePath info to missing component error: #66916
- Add experimental flag for providing entry paths: #67134
- Fix noindex is missing on static not-found page: #67135
- Refactor code: #64429
Example Changes
- Example/update blog starter: #66926
Misc Changes
- fix deploy test manifest for metadata navigation test: #67132
- Bump conf to 13.0.1: #67043
Credits
Huge thanks to @mknichel, @styfle, @mayank1513, @ztanner, @torresgol10, @huozhi, @ijjk, and @shuding for helping!
Core Changes
- ensure accessing search params mark dynamic usage: #67105
Misc Changes
- tweak import-conditions test: #67116
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Remove handling on findDOMNode warning: #67054
Misc Changes
- chore: Update
testingcrate: #66975 - Update Turbopack production test manifest: #67094
- Update Turbopack development test manifest: #67093
- Skip webpack specific test for Turbopack build: #67067
- Update
swc_coretov0.95.4: #67082
Credits
Huge thanks to @kdy1, @timneutkens, and @eps1lon for helping!
Core Changes
- Upgrade Turbopack: #67017
- fix: bad script tag in layout hydration error: #66998
- Ensure Turbopack build runs when experimental-compile option is used: #67049
Example Changes
- Prepare for easier shadcn ui install: #66469
- Updated with-sitemap example for App Router: #66995
Misc Changes
- Switch from automatically requesting reviews to manually requesting them: #67024
- Replace
hasRedbox(): #67025 - Improve hydration error overlay coverage: #67022
- docs(isr): update generateStaticParams-isr docs: #67056
- Add dry and local options for run-tests.js: #67058
Credits
Huge thanks to @timneutkens, @sokra, @eps1lon, @saltcod, @archanaagivale30, @samcx, and @huozhi for helping!
Core Changes
- refactor: remove hydration link appending console interception: #67011
- Use
react-dom/server.edgeinstead of.browserin Next.js runtime: #66954 - feat(turbopack): add support for esm externals in app dir: #64918
- Add sassOption
implementationto support sass-embedded: #64577 - Fix esm property def in flight loader: #66990
Misc Changes
- fix: fix typo: #67012
- docs: fix documentation: #67013
- docs: update code block filename in dynamic API context error page: #67000
- chore(github-workflow): fix bankrupt issues again..: #67015
- test: break down metadata test suite into smaller ones: #67018
- fix conflicting turbo run summary artifacts: #67020
- chore(github-workflow): add Slack message to bankrupt-issues: #67023
- Add concurrency for flakey tests detection: #67019
- chore(github): add improvements to bankrupt-issues: #67028
Credits
Huge thanks to @huozhi, @eps1lon, @QiuranHu, @farsabbutt, @Juneezee, @samcx, @ztanner, @ijjk, @ForsakenHarmony, and @joostmeijles for helping!
Core Changes
- small memory and tracing improvement: #66899
- build: Update
swc_coretov0.95.2: #66902 - Testmode: use ipv4 address to reduce dependency on local system configuration: #66968
- Update font data: #66969
- Refactor internal routing headers to use request meta: #66987
- Remove lazyDataResolved flag: #66578
- refactor(next): package.json keywords
back-endshould bebackend: #66974 - Fix internal route redirection with absolute urls outside basePath: #64604
- Expand test for AsyncLocalStorage to avoid throwing in old chrome: #61873
- fix caching of client chunks: #66971
- Run and report benchmarks: #66851
Example Changes
- fix: Prevent MongoDB client promise being cached: #66977
Misc Changes
- NEXT-66966 fix title inconsistency with
unstable_functions in Docs: #66967 - chore(github-workflow): bankrupt issues: #66581
- docs: replace
letwithconstforuseState: #66988 - chore(github-workflow): fix issue_bankrupt workflow: #66992
- chore: replace deprecated
jest.autoRunin.vscode/settings.json: #66609 - chore(github-workflow): fix issue_bankrupt workflow again: #66993
Credits
Huge thanks to @sokra, @kdy1, @dvoytenko, @aldosch, @versecafe, @samcx, @steadily-worked, @ijjk, @ztanner, @devjiwonchoi, @cfrank, @karlkeefer, and @wbinnssmith for helping!
Core Changes
- Remove
workercondition name when resolving files in the Edge runtime: #66808
Misc Changes
- Bump ci-info to 4.0.0: #66810
- Add protocol node: imports: #66813
- Current behavior of import conditions: #66829
- Update sitemap.mdx: #66950
- improve and skip test case: #66952
- fix benchmark script: #66789
- chore(docs): add Lingui to the Internationalization Page: #66953
Credits
Huge thanks to @torresgol10, @eps1lon, @KeisukeNagakawa, @sokra, and @andrii-bodnar for helping!
Misc Changes
- Move
create-next-apppublic/ assets from local folder→ remote URL: #66931
Credits
Huge thanks to @leerob for helping!
Core Changes
- Fix: remove enegine requried pnpm version: #66914
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Revert "Revert "Use turbo-tasks-malloc on all platforms" (#66884)", fix aarch64 compilation in CI: #66885
- [Turbopack] improve memory measurement suite: #66748
Misc Changes
- skip incompatible deploy test: #66886
- Fix workflow typo: #66903
Credits
Huge thanks to @ijjk, @sokra, and @ztanner for helping!
Core Changes
- fix: wait for playwright fixture to setup before running test: #66842
- Handle action middleware rewrite case: #66852
Misc Changes
- split CI retry workflows: #66888
Credits
Huge thanks to @kevva, @ijjk, and @ztanner for helping!
Core Changes
- Reland "Middleware to use react-server condition": #66534
- Revert "Use turbo-tasks-malloc on all platforms": #66884
Example Changes
- Update with-supertokens example: #66827
Misc Changes
- tweak deploy test jobs: #66856
- Update use-search-params.mdx: #66857
- docs: update code block filename in Module Aliases section: #66825
- chore(github): update users: #66877
- fix webhook token: #66883
- de-flake next-image test: #66882
Credits
Huge thanks to @huozhi, @ztanner, @a89529294, @Juneezee, @anku255, @samcx, and @ijjk for helping!
Core Changes
- Fix: only inject clientTraceMetadata into html page once: #66763
Misc Changes
- fix ppr deploy test: #66809
- fix app-prefetch-false-loading deploy test: #66811
- build: Update
swc_coretov0.93.4: #66781 - re-add test output string in run-tests: #66828
- fix revalidate-reason deploy test: #66830
- fix parallel-routes-revalidation deploy test: #66831
- fix app-action deploy tests: #66846
- enable parallel-routes-and-interception deploy tests: #66848
- fix deploy tests that patch node_modules: #66849
- fix actions-navigation deploy test: #66850
Credits
Huge thanks to @ztanner, @kdy1, and @huozhi for helping!
Core Changes
- use node js chunking context for evaluation: #66710
- refactor: simplified async storage wrappers: #66767
- Update devdependecy commander: #66771
- chore: bump turbo to 2.0.3: #66784
- Make
InvalidImportResolvePluginaBeforeResolvePlugin: #66622
Misc Changes
- tweak deploy test concurrency & fail condition: #66779
- Add bench application with heavy dependencies: #66564
- disable deploy tests for incompatible suites: #66776
- Ensure turbo is setup when building in docker: #66804
- fix edge-document deploy test: #66805
- fix parallel-route-not-found-params deploy test: #66807
Credits
Huge thanks to @ztanner, @sokra, @timneutkens, @wyattjoh, @ijjk, @torresgol10, @samcx, and @wbinnssmith for helping!
Core Changes
- Prevent append of trailing slash in cases where path ends with a file extension: #66636
- Update font data: #66730
- Use addDependency to track metadata route file changes: #66714
- fix: app-router prefetch crash when an invalid URL is passed to Link: #66755
- Ensure urlPathname is always a pathname: #63846
- build: Update
swc_coretov0.93.2: #66698 - chore: bump turbo to 2.0.3: #66762
- Revert "chore: bump turbo to 2.0.3": #66775
Misc Changes
- Docs: Fix typo: #66749
- refactor: simplified lint-staged config: #66720
- docs(create-next-app): update Geist font reference: #66737
- remove related e2e workflow: #66758
- Log stdio for pull-turbo-cache script: #66759
- Update devDependecy prettier-plugin-tailwindcss: #66713
- test: add name re-export from client components as page case: #66760
- fix e2e deployment test action: #66721
- tweak deploy failure notification condition: #66769
- fix client-cache deploy tests: #66770
- fix app-custom-routes deploy test: #66773
Credits
Huge thanks to @delbaoliveira, @kshehadeh, @huozhi, @wyattjoh, @Marukome0743, @ztanner, @ijjk, @torresgol10, @lubieowoce, @kdy1, and @samcx for helping!
Core Changes
- Revert "Fix esm property def in flight loader": #66727
- Update React from
1df34bdf62to6230622a1a: #66726
Misc Changes
- tweak flaky module-imports test: #66728
- Update devdependecy @types/node: #66725
Credits
Huge thanks to @ztanner and @torresgol10 for helping!
Core Changes
- fix(turbopack): remove tailwindcss from default external packages: #66706
- Append sitemap extension and optimize imafe metadata static generation: #66477
- feat(turbopack-ecmascript): cache external modules with wrapper: #63337
- [ppr] Enable static shell debugging in other environments: #65483
- Add timeout/retry handling for fetch cache: #66652
- Fix inconsistency with 404 getStaticProps cache-control: #66674
- [lint] Allow lint warnings to pass in CI: #66140
Misc Changes
- Update 08-lazy-loading.mdx: #66705
- fix: Update docker base images to node:20: #66702
- Incremental Static Regeneration - docs update explaining surprising behavior: #66151
- Run Pages Router test with same version as Next.js peer dependency: #66712
- tests: fixed some test types and fixed darwin support: #65722
- chore(test): add types to tests: #66724
- Docs: Update
unstable_afterbased on community questions: #66716
Credits
Huge thanks to @mratlamwala, @ForsakenHarmony, @mayank1513, @huozhi, @karlkeefer, @wyattjoh, @eps1lon, @ijjk, @samcx, and @delbaoliveira for helping!
Core Changes
- Update React from f994737d14 to 1df34bdf62 (19.0.0-rc.0): #66533
Misc Changes
- test: migrate dev error tests into separate sandbox test: #66666
Credits
Huge thanks to @huozhi and @eps1lon for helping!
Core Changes
- Fix esm property def in flight loader: #66286
Misc Changes
- Update devdependecies tar and type: #66580
Credits
Huge thanks to @torresgol10 and @huozhi for helping!
Core Changes
- ensure router cache updates reference the latest cache values: #66681
Credits
Huge thanks to @ztanner for helping!
Core Changes
- remove
staticWorkerRequestDedupingflag & unused IPC code: #66655 - prevent duplicate RSC fetch when action redirects: #66620
- Update URL provided from unstable_cache: #66651
Credits
Huge thanks to @ztanner and @ijjk for helping!
Core Changes
- revert app-render changes related to determining RSC/Prefetch requests: #66648
- Revert "feat: Update
swc_coretov0.92.10": #66640
Credits
Huge thanks to @ztanner and @sokra for helping!
Misc Changes
- reliability of the release action: #66637
Credits
Huge thanks to @sokra for helping!
Core Changes
- update turbopack: #66627
Credits
Huge thanks to @sokra for helping!
Misc Changes
- Update code examples in documentation (12-third-party-libraries): #66600
- Update image.mdx: #66618
Credits
Huge thanks to @ArnaudFavier and @chrisjstott for helping!
Core Changes
- Update font data: #66582
- Fix Server Actions closure idents tracking: #66601
- Update to turbopack-240606.2: #66606
Misc Changes
- docs: otel use anchor instead of path: #66592
- Add videos to openGraph metadata object: #66613
Credits
Huge thanks to @Netail, @shuding, @jontewks, and @wbinnssmith for helping!
Core Changes
- Fix loading navigation with metadata and prefetch: #66447
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Re-land Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload #65664: #65988
- feat(turbopack): Introduce
RcStr: #66262 - Remove unused state in Server Actions transform: #66547
- Add playwright-core to server-external-packages.json: #66549
- Update to turbopack-240605.2: #66568
- update turbopack: #66575
Misc Changes
- disable flaky metadata test in turbopack: #66553
- Revert "refactor: remove unnecessary
lint-stagedoperations (#65861)": #66554 - Avoid race condition in ppr navigations test: #66429
- Remove redundant React dependency declarations in test: #66530
- Add hint that sync-react doesn't automate everything: #66531
- Fix sync-react changelog: #66532
- chore(github-workflow): add bankrupt issues workflow: #66383
Credits
Huge thanks to @ijjk, @ztanner, @kdy1, @devjiwonchoi, @unstubbable, @shuding, @pkiv, @eps1lon, @wbinnssmith, @samcx, and @sokra for helping!
Core Changes
- fix NextRequest proxy in edge runtime: #66551
Credits
Huge thanks to @ztanner for helping!
Core Changes
- fixing next/dynamic transform for turbopack: #66527
- improve order of spans in tracing: #66516
- add more tracing: #66528
- refactor: deprecate future directory: #66432
- fix 'loading' segment not being copied into new CacheNode: #66538
Example Changes
- Update Sanity example deps and prepare for next v15: #66158
Misc Changes
- feat: Update
swc_coretov0.92.10: #66521 - Sync Cargo.lock with turbo: #66539
- docs(caching): Fix typo refrencing fetch changes: #66535
- Update dev dependecies validate npm package name: #66536
Credits
Huge thanks to @sokra, @kdy1, @wyattjoh, @wbinnssmith, @ztanner, @kippmr, @stipsan, and @torresgol10 for helping!
Core Changes
- fix missing stylesheets when parallel routes are present: #66300
- fix css order for some edge cases in App Dir: #66500
- Fix fetch deduping in dev after reload: #66507
- optimize server actions: #66523
Credits
Huge thanks to @ztanner, @sokra, and @eps1lon for helping!
Misc Changes
- docs: update sitemap's version history section: #66478
Credits
Huge thanks to @Lada496 for helping!
Core Changes
- Fix broken
BrowserInterfacetype: #66461 - Polish copy button state and styles: #66370
- expose experimental option to set a memory limit for turbo: #66101
- avoid filtering the error message: #65311
- Fix
next/navigationtype augmentation: #66489 - fix: only generate prefetch rsc for ppr enabled routes: #66395
- add layerAssets property to FlightDataPath: #66354
Example Changes
- refactor: rename API endpoint to '/api/protected-api' for comment: #66456
Misc Changes
- Update cookies.mdx to show that maxAge accepts a value in seconds: #66476
- Renamed two files: right order of supported styling: #66443
- Fix flaky redbox expectation in
unstable_aftere2e test: #66490 - Unignore
test/**/*.test.*for ESLint: #66415 - chore(docs): Update Inlang Link on Internationalization Page: #66488
- Correct spelling in installation guide reference: #66484
Credits
Huge thanks to @anay-208, @boris-szl, @devnyxie, @unstubbable, @huozhi, @arlyon, @sokra, @LorisSigrist, @M-YasirGhaffar, @wyattjoh, and @ztanner for helping!
Misc Changes
- fix: correct link for server components: #66470
Credits
Huge thanks to @Kahitar for helping!
Core Changes
- Update rust toolchain to nightly-2024-05-31: #66428
- fix erroneous RSC calls on hash changes: #66434
- Improve JSDoc link for Metadata API: #66455
- Warn metadataBase missing in standalone mode or non vercel deployment: #66296
- fix: ensure route handlers properly track dynamic access: #66446
Credits
Huge thanks to @wbinnssmith, @ztanner, @eps1lon, and @huozhi for helping!
Misc Changes
- Revert "next-swc: Update from tokio 1.32.0 to 1.37.0 (#66087)": #66391
- Use rust-lld for Windows on arm64: #66360
Credits
Huge thanks to @bgw and @wbinnssmith for helping!
Core Changes
- chore: bump supported
mswversion tov2.3.0: #66351 - remove duplicate export workers: #66388
- refactor page export error tracking: #66392
- add experimental flag for retrying static generation: #66393
Credits
Huge thanks to @kevva and @ztanner for helping!
Core Changes
- next-swc-napi: Remove "plugin" from default feature list: #66380
- Revert "Middleware RSC bundling changes": #66422
Credits
Huge thanks to @bgw and @huozhi for helping!
Core Changes
- feat: add copy button for runtime error: #65921
- Transform client reference in middleware layer: #66294
- feat(react-dev-overlay): Open nvim with line number: #66358
- Restore optimization to ignore legacy APIs in react-dom/server: #66371
- fix: ensure dynamic fetches are tracked correctly: #66349
- Update font data: #66359
Misc Changes
- refactor: remove unnecessary
lint-stagedoperations: #65861 - Split webpack specific test into separate test suite: #66328
- Update compress.mdx: #66376
- Use classnames to set font family in Tailwind create-next-app templates: #66374
- fix(docs): typescript error in useOptimistic(): #66247
- fix: revert removed flags from lint-staged config: #66381
Credits
Huge thanks to @devjiwonchoi, @huozhi, @timneutkens, @notomo, @eps1lon, @wyattjoh, @ArnoldVanN, @ypessoa, and @dhruv-kaushik for helping!
Core Changes
- refactor: remove isRSCRequestCheck: #65587
Example Changes
- Update to with-supertokens example: #66320
Misc Changes
- Update labeler config for CI approved: #66335
- docs(next.config.js Options): Remove experimental mdxRs feature from pageExtensions: #66310
- Refactor app dir metadata test: #66331
- docs: remove invalid og image cases: #66355
Credits
Huge thanks to @eps1lon, @alpedia0, @rishabhpoddar, @wyattjoh, @chogyejin, and @huozhi for helping!
Core Changes
- chore(next-font): bump @capsizecss/metrics package to the latest: #66302
Example Changes
- chore(examples): update reproduction template: #66301
Misc Changes
- Set default playwright timeout to
NEXT_E2E_TEST_TIMEOUT: #66258 - Reapply "Turbopack: Register react refresh exports in module factory (#8191)": #66298
- Revert "Reapply "Turbopack: Register react refresh exports in module factory (#8191)"": #66322
- Handle premajor version for canary: #66336
Credits
Huge thanks to @samcx, @unstubbable, and @ijjk for helping!
Core Changes
- enhance: ignore nextjs version fetch error in dev overlay: #66271
- Trigger error for stream on client when it is not finished as expected: #65798
Example Changes
- Update with-react-hook-form example: #66253
Misc Changes
- Add support for IPv6 in tests: #66285
- feat: Upgrade lightningcss: #66280
- Fail early in release if auth fails with configured gh token: #66171
- Update turbopack to turbopack-240528.2: #66293
- docs: change dynamic sitemap output filename: #66273
Credits
Huge thanks to @shubh73, @unstubbable, @huozhi, @kdy1, @eps1lon, and @wbinnssmith for helping!
Core Changes
- Reland bunling webpack middleware changes (#66049): #66052
- fix dev overlay version indicator style: #66278
- [ppr] Don't mark RSC requests as /_next/data requests: #66249
Misc Changes
- [lint] Disable linting using project config for tests: #66145
- 📝 docs: Add missing example code file name: #66251
Credits
Huge thanks to @ijjk, @huozhi, @wyattjoh, and @atik-persei for helping!
Core Changes
- Bump React types to latest 18.3.x: #66181
- Bump styled-jsx to 5.1.6: #66185
- Fix source map loading failure for
path-to-regexp: #66242 - Bump React types to 19 rc: #66186
Example Changes
- adopt modern & supported Apollo Client patterns in the with-apollo example: #65316
Misc Changes
- fix(create-next-app): Update CNA templates' .gitignore files for parity with Yarn recommendations: #65823
- chore: update empty template tailwindcss config: #66173
- Update create-next-app template CSS: #66233
Credits
Huge thanks to @bosconian-dynamics, @phryneas, @akazwz, @ypessoa, @eps1lon, and @unstubbable for helping!
Misc Changes
- docs(migrating): fix Migrating from Create React App: #65994
Credits
Huge thanks to @IGassmann for helping!
Core Changes
- Implement
typeof windowinlining for Turbopack: #66128
Credits
Huge thanks to @timneutkens for helping!
Misc Changes
- docs(metadata): fix incorrect link to React cache function: #66156
- fix(docs): minor syntax typo for missed
const: #66154
Credits
Huge thanks to @Juneezee and @Sayakie for helping!
Core Changes
- add next-build-test binary / library: #64121
- add bash script to run a benchmark: #64717
- Handle next/navigation import in middleware: #66175
- [ppr] Data route fix: #66190
Misc Changes
- add arlyon to turbopack team: #66177
- docs(community): remove Grammarly extension recommendation: #66195
- Clarify create-next-app question wording: #66157
Credits
Huge thanks to @arlyon, @timneutkens, @wyattjoh, @samcx, and @lorensr for helping!
Core Changes
- feat(turbopack): Attempt to detect and warn about slow file IO: #66057
- update typescript plugin to support experimental_ppr: #66141
Misc Changes
- add missing -y to start-release
- next-swc: Update from tokio 1.32.0 to 1.37.0: #66087
- Check access token early during release: #66133
- clarify interception modal docs: #66143
Credits
Huge thanks to @bgw, @eps1lon, and @ztanner for helping!
Core Changes
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
- [ppr] Remove canary requirement: #66112
- [ppr] Data route fixes: #66109
- [unstable_after] always use 'waitUntil' from '@next/request-context' if available: #66119
- Don't fail the build if
@types/packages appear to be missing: #66127 - Stabilize swrDelta config: #66108
- Revert "Don't fail the build if @types/ packages appear to be missing": #66130
Misc Changes
- docs: add missing /: #66105
- Add release candidate handling to start release: #66107
- Docs: Next.js 15 updates: #65603
- Fix validate externals docs
Credits
Huge thanks to @wyattjoh, @ijjk, @eps1lon, @tokkiyaa, @lubieowoce, and @delbaoliveira for helping!
Core Changes
- fix: ensure prefetch data routes are always added when app has ppr enabled: #66102
- [Breaking] Disable automatic fetch caching: #66004
- Update React from 81c5ff2e04 to f994737d14: #66093
Credits
Huge thanks to @wyattjoh, @ijjk, and @eps1lon for helping!
Core Changes
- Update React from 04b058868c to 81c5ff2e04 : #65869
- implement unstable_rethrow: #65831
- chore(next/image): remove unused
outputparameter: #66083 - next-swc-napi: Enable "plugin" feature by default: #66006
- [turbopack] Use updated RawOutput API: #65300
- Skip setting to fetch cache when not modified: #66055
- [Memory] Add option to reduce memory usage caused by duplicate strings in webpack-sources: #66003
- Ensure metadata routes dont skip static optimization: #66097
- [unstable_after] fix occasional dev-mode crash in edge runtime pages: #66099
Misc Changes
- Tweak flakey metadata error tests: #66060
- Fix cloudflare transform images url: #66076
- React sync: Reduce manual tasks: #66095
- React sync: Handle React PRs landed via ghstack: #66069
- [Memory] Add docs for new experimental.webpackMemoryOptimizations option: #66096
Credits
Huge thanks to @ijjk, @eps1lon, @todor0v, @ztanner, @styfle, @bgw, @mknichel, and @lubieowoce for helping!
Core Changes
- Add dedicated client entry for Turbopack builds: #65824
Credits
Huge thanks to @wbinnssmith for helping!
Core Changes
- [Breaking] disable client router cache for page segments: #66039
Example Changes
- Update Google Analytics example for App Router: #66021
Misc Changes
- Improve
sync-reactchangelog generator: #66051
Credits
Huge thanks to @qqww08, @ztanner, and @eps1lon for helping!
Core Changes
- [Breaking] Disable automatic static generation for route handlers: #65825
- Fix router.refresh missing canonical url override: #65999
- Fix typo in JSDoc of
pprflag ofnext.config.js: #66028 - Revert webpack bundling layer changes for middleware/pages: #66049
- Upgrade lightningcss, disable grid prefixing: #65986
Misc Changes
- Update Turbopack development test manifest: #66002
- docs: Update Route Handlers docs for dynamic: #66010
- Update Turbopack production test manifest: #66007
- Include base commit in changes included by a React sync: #65868
- add missing "prerenderEarlyExit: false" to dynamic-data test
- add pre-push hook to guard against accidental pushes directly to canary: #66030
- Add missing 'prerenderEarlyExit: false' in tests: #66032
- chore(docs): remove suggestion of manually installing
sharp: #66034 - Update Turbopack development test manifest: #66044
- Fix swc test path from node_modules: #66047
- Update
create-next-apptemplate CSS: #66043 - Update lightningcss to 1.0.0-alpha.56: #66046
- ci(workflow): skip building next-swc with latest turbopack: #66048
Credits
Huge thanks to @ijjk, @gaojude, @leerob, @eps1lon, @lubieowoce, @Nayeem-XTREME, @styfle, @ypessoa, @wbinnssmith, @kwonoj, and @timneutkens for helping!
Core Changes
- fix(next/image): prefer sharp defaults, use mozjpeg for JPEG: #65846
- Update font data: #65961
- unstable_after: support nested unstable_after calls: #65950
- Fix revalidateTimings route for catchall index route: #65843
- fix(next): initial prefetch cache not set properly with different search params: #65977
- Add additional log to experimental ppr flag in next.config.js: #65944
- Change default of prerenderEarlyExit to true: #65830
- short-circuit OPTIONS requests to pages: #65295
- Turbopack: Implement
next/font/localwithBeforeResolvePluginand show custom error message: #65870
Misc Changes
- docs: clarify gSSP docs for runtime: #65962
- fix(docs): update styled components option: #65718
- feat: Add option to enable Turbopack with create-next-app: #65926
- chore(github-workflow): move issues, prs, features to #next-info channel: #65991
Credits
Huge thanks to @lovell, @leerob, @lubieowoce, @nsams, @devjiwonchoi, @Nayeem-XTREME, @JamBalaya56562, @ijjk, @ztanner, @Arindam200, @samcx, and @wbinnssmith for helping!
Core Changes
- experimental: unstable_after: #65038
- Docs: Replace "twitter.com" to "x.com": #65917
Example Changes
- chore: Bump react-modal to 3.16.2 in with-router-as-modal example: #65841
Misc Changes
- Update create-next-app template: #65803
- Fix send-trace-to-jaeger boolean span values: #65920
- Mention Renaming of useFormState: #65934
Credits
Huge thanks to @lubieowoce, @ypessoa, @ryohidaka, @icyJoseph, @timneutkens, and @Arinji2 for helping!
Misc Changes
- fix: race condition in CLI output in react-compiler test: #65909
Credits
Huge thanks to @lubieowoce for helping!
Core Changes
- Set default stale-while-revalidate header value to 1 year: #65867
- fix missing experimental warning for reactCompiler: #65866
- Error on mismatched minimal react version: #65806
- Revert "Set default stale-while-revalidate header value to 1 year": #65887
- Update turbopack & swc_core: #65450
- Revert "Fix broken HTML inlining of non UTF-8 decodable binary data f…: #65906
Example Changes
- Update Sanity example deps and implementation: #65744
- update convex README.md: #65765
Credits
Huge thanks to @flybayer, @stipsan, @ianmacartney, @ztanner, @huozhi, and @kdy1 for helping!
Core Changes
- Update React from 4508873393 to 04b058868c: #65864
Misc Changes
- Fix typos in test descriptions in router-rerender integration tests: #65834
Credits
Huge thanks to @hiro0218 and @eps1lon for helping!
Core Changes
- Ensure plugin-syntax-jsx doesn't have to be installed: #65865
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Ensure React Compiler only runs on first-party browser code: #65851
- fix: bump nft@0.27.1: #65854
- add effect packages into the optimized-by-default list: #65465
- Upgrade react@beta: #65845
Misc Changes
- docs(css-in-js): alphabetize libraries name: #65832
Credits
Huge thanks to @timneutkens, @styfle, @Lsnsh, and @datner for helping!
Core Changes
- Fix the runtime for rsc layer: #65850
Misc Changes
- test: fix flaky tests and disabled constant failing ones: #65822
- Run CNA tests with Next.js from branch: #65852
Credits
Huge thanks to @huozhi and @eps1lon for helping!
Core Changes
- Update font data: #65768
- feat: remove font family hashing in next/font css: #53608
- Add script to script loader when strategy prop is undefined: #65585
- fix: ensure websockets are correctly passed: #65759
- Add
clientTraceMetadataexperimental option to propagate tracing data to the client: #64256 - Remove process auto polyfill in edge runtime: #65751
- feat: support import attributes: #65749
- Turbopack: Remove
EcmascriptChunkingContext: #65716 - Error in build for middleware when import client-only: #65792
- fix(next): reject protocol-relative URLs in image optimization: #65752
- Fix broken HTML inlining of non UTF-8 decodable binary data from Flight payload: #65664
- Bundle the installed react for middleware: #65811
- fix middleware cookie initialization: #65820
- fix(next/image)!: set upstream timeout to 7 seconds: #65821
- feat(turbopack-ecmascript): use import attributes for annotations: #59370
- feat(next): experimental react compiler support: #65804
Misc Changes
- chore: remove unnecessary dependency: #65819
Credits
Huge thanks to @blvdmitry, @hwangstar156, @wyattjoh, @lforst, @huozhi, @ForsakenHarmony, @wbinnssmith, @emmerich, @shuding, @christian-bromann, @ztanner, @styfle, and @kwonoj for helping!
Core Changes
- fext(next-swc): extend internal env flag to all native bindings: #65748
- Update font data: #65719
- fix(next): add alias to new react exports: #65761
Misc Changes
- chore: add git blame ignore-revs support to gitlens for vscode configuration: #65762
Credits
Huge thanks to @kwonoj and @wyattjoh for helping!
Core Changes
- Bump acorn to replace swc class properties transform: #65715
- fix: watch experimental/testmode in when running "pnpm dev": #65689
- Revert "chore: externalize undici for bundling": #65727
- [ppr] Request normalization fixes: #65717
- fix(next/image)!: error when
srchas leading or trailing space: #65637
Misc Changes
- chore(CI): escape PR title for slack webhook: #65742
- Docs: Make "With URL Obeject" only displayed in Pages docs: #65547
- Update external links 07-edge.mdx: #65728
Credits
Huge thanks to @huozhi, @lubieowoce, @samcx, @ForsakenHarmony, @maxhaomh, @wyattjoh, @styfle, and @mirasayon for helping!
Core Changes
- fix(resolve-metadata): allow for search params in canonical URL: #65366
- Remove missingSuspenseWithCSRBailout config: #65688
- Reland Remove ineffective webpack rules and unused app-page context modules: #65694
- Remove swc minify related code branches: #65690
- fix: load the tags manifest asynchronously: #64563
Example Changes
- Update
middlewareexample to App Router: #65618 - update cache handler version and added better logic for opting out of…: #65330
Misc Changes
- Add missing type-only imports to documentation examples: #65687
Credits
Huge thanks to @diogocapela, @dnhn, @typeofweb, @huozhi, @davidsa03, and @imranolas for helping!
Core Changes
- fix(next-swc): Do not reuse compiler instance: #65602
- Show the new key of experimental config change warnings: #65651
- fix(next-swc): Fix SWC env target - include option: #65693
- Reapply "Implement Turbopack trace server bindings" (#65419): #65527
Example Changes
- Resolve grammatical errors in examples: #65644
Credits
Huge thanks to @kdy1, @huozhi, @ijjk, and @okoyecharles for helping!
Core Changes
- Apply react-server conditions to middleware: #65424
Credits
Huge thanks to @huozhi for helping!
Core Changes
- feat!(next/image): change default
Content-Dispositiontoattachment: #65631 - Pages router: Enable strict
next/headchildren reconciler by default: #65418
Misc Changes
- chore(create-next-app): update README links: #65634
- Add Ecmascript features tests: #65613
Credits
Huge thanks to @styfle, @samcx, @timneutkens, and @eps1lon for helping!
Misc Changes
- fix(docs): fix minor meta charset typo: #65596
Credits
Huge thanks to @coopbri for helping!
Core Changes
- fix(next-swc): correct path interop to filepath for wasm: #65633
- Add proper deprecation/rename warnings for server bundling option: #65575
Misc Changes
- chore(create-next-app): update empty templates: #65620
Credits
Huge thanks to @kwonoj, @Ethan-Arrowood, and @samcx for helping!
Core Changes
- Handle nonce on Next.js injected script/link tags: #65508
- Fix multi-zone test by removing dependency list: #65589
- remove next-action header when following a redirect: #65615
- Remove @next/font resolving for font loaders: #65601
- remove legacy deprecated warnings: #65579
- feat(turbopack): add support for
bundlePagesRouterDependencies: #65520 - fix(next-swc): load wasm fallback if native bindings fail to load: #65623
Example Changes
- update reproduction templates to use correct React: #65624
Misc Changes
- docs: explain about the conditional default metadataBase on vercel de…: #65583
- Fix
NEXT_SKIP_ISOLATE=1log for testing: #65590 - [eslint] Fix lint-staged to ensure eslint is ran: #65622
- Docs: Update server actions link to point at server actions page: #65593
create-next-app- Update links for READMEs: #65548
Credits
Huge thanks to @huozhi, @timneutkens, @Ethan-Arrowood, @ztanner, @wyattjoh, @ForsakenHarmony, @srkirkland, @RiskyMH, and @kwonoj for helping!
Misc Changes
- fix: ignore all
.envfiles forcreate-next-appby default: #61920
Credits
Huge thanks to @leerob for helping!
Core Changes
- Remove rsc esm client module extra exports: #65519
Misc Changes
- Fix
/dynamicintest/.stats-app: #65543 - chore(create-next-app): add --empty flag: #65532
Credits
Huge thanks to @Ethan-Arrowood, @huozhi, and @samcx for helping!
Core Changes
- Revert "Remove ineffective webpack rules and unused app-page context modules": #65558
- Remove auto appending xml extension to dynamic sitemap routes: #65507
Misc Changes
- chore(test): test image preload below the fold: #65528
- test: consolidate action flaky test: #65541
Credits
Huge thanks to @styfle and @huozhi for helping!
Misc Changes
- chore: add prettier update to blame ignore: #65529
- Sync Cargo.lock with Turbo: #65525
Credits
Huge thanks to @ForsakenHarmony and @wbinnssmith for helping!
Core Changes
- improve versioned content map: #65466
- update turbopack: #65503
- Remove ineffective webpack rules and unused app-page context modules: #65321
- add page name to crashes: #65504
- Bump styled-jsx to 5.1.3: #65485
- Preload all chunks for next/dynamic in SSR: #65486
- fix!: add sharp timeout of 10 seconds: #65517
- Turbopack: new graph aggregation: #65206
- feat(next): revise server component error message: #65468
- chore: update prettier to 3.2.5: #65092
Misc Changes
- Update Turbopack development test manifest: #65497
Credits
Huge thanks to @sokra, @huozhi, @styfle, @kwonoj, and @ForsakenHarmony for helping!
Core Changes
- Re-land build(edge): extract buildId into environment: #65426
Credits
Huge thanks to @ijjk for helping!
Core Changes
- make sure children is first in loader tree to fix head css bug on client navigation: #65279
Credits
Huge thanks to @sokra for helping!
Core Changes
- fix: lazy load sharp: #65484
Misc Changes
- Update docs on default
metadataBasevalue: #65428
Credits
Huge thanks to @n1ckoates and @styfle for helping!
Core Changes
- Support esm externals in app router: #65041
Misc Changes
- Updating the links to the
useActionStatedocs: #65476 - update create-next-app React versions: #65478
Credits
Huge thanks to @huozhi, @joeshub, and @ztanner for helping!
Core Changes
- build(edge): extract buildId into environment: #64521
- Revert "build(edge): extract buildId into environment": #65425
- fix(next/image): set max url length to 3072: #65457
- Support React 19 in App and Pages router: #65058
- Promote and rename server bundling options
serverComponentsExternalPackagesandbundlePagesExternals: #65421 - add experimental flag to allow forcing NODE_ENV=development in builds: #65463
Misc Changes
- docs(caching): Fix typo for
staleTimes: #65427 - test: disable next-test playwright test: #65460
- fix isTurbopack check in test cases: #65446
Credits
Huge thanks to @huozhi, @ijjk, @bennettdams, @sokra, @styfle, @eps1lon, @Ethan-Arrowood, and @ztanner for helping!
Core Changes
- fix(next/image): add missing svg test and refactor missing types: #65345
Credits
Huge thanks to @styfle for helping!
Core Changes
- fix(next/image): bypass icns images: #65414
- [PPR] Enable incremental adoption: #63847
- fix: replace deprecated/removed functions in eslint-plugin-next: #64251
- docs: update
revalidatePath& fix cache debug logic: #65365 - fix(next-core): mark turbopack embed fs to be internals: #65420
Example Changes
- @emotion/cache version fix: #65422
Misc Changes
- Improve test assertions: #65319
- Use
@testing-libraryinstead of react-dom/test-utils: #65328 - Fixed wrong highlight in Building your application > authentication > useFormStatus hook example : #65400
Credits
Huge thanks to @eps1lon, @styfle, @BunsDev, @nisabmohd, @wyattjoh, @z0n, @ztanner, and @kwonoj for helping!
Core Changes
- Pages router: Use attribute-based head children reconciler when
strictNextHeadis enabled: #65408 - Revert "Implement Turbopack trace server bindings": #65419
- use correct not-found component when triggered from a parallel route: #65343
- Implement Turbopack trace server bindings: #65410
Misc Changes
- Update Turbopack development test manifest: #65404
- use backticks instead of quotes: #65393
- Update 05-mdx.mdx: #65392
- Support interrupts and focus in react-profiling-mode test: #65200
- Improve
Head > scriptcoverage: #65399 - chore(test): add more tests for image optimizer formats: #65363
Credits
Huge thanks to @eps1lon, @ijjk, @IncognitoTGT, @webtinax, @eps1lon, @styfle, @ztanner, and @timneutkens for helping!
Misc Changes
- Remove duplicate code example in authentication page: #65354
Credits
Huge thanks to @rezamauliadi for helping!
Core Changes
- Upgrade Turbopack: #65320
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Update font data: #65301
- Update revalidateTag to batch tags in one request: #65296
- Revert "Remove extra suspense boundary for default next/dynamic": #65309
- Emit polyfill-nomodule.js into the build manifest polyfillFiles: #65223
- Remove broken
#[turbo_tasks::value(transparent)]attributes: #65336 - Delete dead
concatenate_output_assetsfunction: #65337
Misc Changes
- Update Turbopack development test manifest: #65312
- add explicit test for parallel routes in a root layout: #65338
- docs(unstable_cache): add data cache mentions: #65342
Credits
Huge thanks to @ijjk, @bgw, @ztanner, and @samcx for helping!
Core Changes
- Fix an issue parsing catchall params: #65277
- Enable preloading entries by default: #65289
- Trace uploader: add worker spans to allowed events: #65255
Example Changes
- Fixes with-supertokens example: #65267
Misc Changes
- Extract slow tests to avoid wasteful start/stop: #65265
- Remove unnecessary mocks: #65284
- chore(github-workflow): add
linear: nextlabels to sync popular issues to linear: #65288 - Improve test assertions: #65285
- docs: update Route Handler streaming example: #65286
- chore(github-workflow): Update title for update-font-data workflow: #65293
Credits
Huge thanks to @eps1lon, @agadzik, @rishabhpoddar, @samcx, @ijjk, @leerob, and @wbinnssmith for helping!
Misc Changes
- [create-next-app] remove "text-balance" custom class: #63742
Credits
Huge thanks to @ryota-murakami for helping!
Core Changes
- fix(next/image): detect react@19 for
fetchPriorityprop: #65235 - Use POST for invokeIpcMethod: #65238
- fix redirect to url with semicolon: #65165
- Provide non-dynamic segments to catch-all parallel routes: #65233
Example Changes
- feat(examples): add with-turso: #61291
- Fix export function name on docs/routing/layouts-and-templates: #65240
Misc Changes
- chore(github-workflow): update to check all reactions: #65228
- docs(staletime): add clarification around prefetch false: #65252
Credits
Huge thanks to @notrab, @gabrielrolfsen, @samcx, @styfle, @remorses, @AbhiShake1, and @agadzik for helping!
Core Changes
- Turbopack: rename source map prefix: #64965
Misc Changes
- docs(app-routing-layoutsand-template): use the correct path: #65085
- Update Turbopack production test manifest: #65225
- Update Turbopack development test manifest: #65226
Credits
Huge thanks to @sokra and @imddc for helping!
Core Changes
- Resolve global
nextWebpack alias last: #65123 - Add oslo, @node-rs/argon2, and @node-rs/bcrypt to external packages: #65204
- [trace] Reduce the size of .next/trace files: #65101
- Remove extra suspense boundary for default next/dynamic: #64716
- Only apply metadata manifest credentials for preview deployment: #64940
- fix(next): add missing browser.major type: #65185
Example Changes
- Ensure latest canary of Next.js is installed in repros: #65197
Misc Changes
- chore: add more labels: #65209
- docs: Add @fluentui/react-components to list of libraries that support css-in-js with app router: #61521
- docs: fix skipTrailingSlashRedirect middleware example: #65220
Credits
Huge thanks to @eps1lon, @balazsorban44, @timneutkens, @karlhorky, @mknichel, @sopranopillow, @huozhi, @Gomah, and @ztanner for helping!
Core Changes
- update turbopack: #65191
- Fix crypto import in edge runtime with Turbopack: #65171
Credits
Huge thanks to @sokra and @timneutkens for helping!
Core Changes
- fix unhandled runtime error when notFound() triggered in generateMetadata w/ parallel routes: #65102
- Use vercel deployment url for metadataBase fallbacks: #65089
- Fix next/dynamic with babel and src dir: #65177
Misc Changes
- Bump
@testing-library/reactto 15.0.3 (from 13.x): #65119 - docs: Fix typo for
ReactDOM.prefetchDNSmethod inside Resource Hints section: #65111 - chore(github-workflow): update popular workflows cron time, fix undef…: #65172
- chore(github-templates): update docs_report template, update template descriptions: #65178
Credits
Huge thanks to @eps1lon, @jonathan-ingram, @ztanner, @samcx, and @huozhi for helping!
Core Changes
- Fix: strip _rsc query for client navigation rsc request: #65084
Credits
Huge thanks to @huozhi for helping!
Core Changes
- fix node.js module warning in middleware: #65112
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Tracing: allow opt-in flag to send build traces to url: #65019
- Turbopack: Allow client components from foreign code in app routes: #64751
Credits
Huge thanks to @wbinnssmith for helping!
Core Changes
- chore(fetch-cache): remove zod from fetch cache: #65079
- support breadcrumb style catch-all parallel routes: #65063
- Improve initial setup with new App Router TypeScript project: #64826
- Add experimental trace file field: #65071
- Fix playwright config merging for webServer property: #65090
- chore(logging): Disable info logging of critters in production: #62776
- [unstable_cache] Don't track dynamic fetches in an unstable_cache callback: #65010
- fix(page-static-info): refine warning message to emit once: #65091
- update redirect handling on forwarded action requests: #65097
Example Changes
- Ensure latest canary of Next.js is installed in repros: #64967
Misc Changes
- Fix typo in code example in index.mdx: #65075
- test: fix react version testing due to new release: #65081
- Combine necessary file for edge route in size calculation: #65053
Credits
Huge thanks to @HristovCodes, @huozhi, @karlhorky, @ztanner, @unstubbable, @ijjk, @eps1lon, @Ethan-Arrowood, @jonluca, @wyattjoh, and @kwonoj for helping!
Core Changes
- Ensure escaped string are parsed in NODE_OPTIONS: #65046
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- fix: Workaround acorn bug/version issue by using SWC: #65021
- build: Update
@swc/coretov1.5.0: #65022
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Update React from 14898b6a9 to c3048aab4: #64798
- initialize ALS with cookies in middleware: #65008
- feat(next/image)!: remove
squooshin favor ofsharpas optional dependency: #63321
Example Changes
- fix(examples): blog-starter href, remove redundant public folder: #65025
Misc Changes
- docs: add missing imports in auth article: #65039
- Replace createNextDescribe with nextTestSetup: #64817
- Update Turbopack production test manifest: #65055
- Update Turbopack development test manifest: #65054
Credits
Huge thanks to @eps1lon, @pavelglac, @ztanner, @styfle, @wyattjoh, and @symant233 for helping!
Core Changes
- NODE_OPTIONS updates: #65006
Example Changes
- Docs: Explain why Layouts (RSCs) can't access
pathname: #64785
Misc Changes
- test(fixture): prevent unexpected errored exit with leaking error: #65007
- docs: fix Bun install command: #65016
- Fix Server Action closure example: #65029
- Update sitemap.mdx: #65003
- chore: notify on popular feature requests: #64877
Credits
Huge thanks to @kwonoj, @FluxCapacitor2, @delbaoliveira, @lukahartwig, @brianshano, @balazsorban44, and @wyattjoh for helping!
Core Changes
- feat: support import attributes: #59480
- NextJS App router: add
isolated-vmto server-external-packages.json: #64749 - Add
next experimental-testcommand: #64352 - Revert "feat: support import attributes": #65001
Misc Changes
- Ensure install works in test fixtures when
NEXT_TEST_SKIP_CLEANUP=1is specified: #64829 - test(fixture): allow turbopack build with longer wait time: #64930
- Sync Cargo.lock with turbo: #64989
- fix(test-utils): more robust server teardown: #64991
- Update Turbopack development test manifest: #64996
- Removed the "-" sign on Bun option for create-next-app CLI tool in the documentation: #64972
Credits
Huge thanks to @eps1lon, @chentsulin, @samijaber, @kwonoj, @wbinnssmith, @Ethan-Arrowood, and @begalinsaf for helping!
Core Changes
- remove special-cased prefetch kind in dev mode: #64941
Misc Changes
- Fix windows CI due to node release: #64950
Credits
Huge thanks to @ztanner and @ijjk for helping!
Core Changes
- fix dynamic route interception not working when deployed with middleware: #64923
- feat(turbopack): Handle fragments in requests: #64232
- feat(turbopack): Check for duplicate parallel routes: #64181
- Speed up createNext test suite isolation: #64909
- fix(rewrites): support external rewrite destination: #64943
- Ensure edge prerender-manifest is minimal: #64946
Example Changes
- Update with-storybook example: #64911
- bug fix on a pull request #64911: #64925
- Update Sanity example deps: #64939
- deps updated for with-mongodb-mongoose example: #64928
Misc Changes
- Docs: Add section for
@next/envpackage: #64908 - test(manifest): skip font/proxy test for now: #64927
- docs: update og generation code with local assets: #64888
- Allow StackBlitz repro links in bug reports on GitHub: #64935
- Fix mock span: #64944
- Add --skip-install flag to create-next-app: #64691
Credits
Huge thanks to @zsh77, @delbaoliveira, @kwonoj, @KagamiChan, @ztanner, @kdy1, @timneutkens, @steveluscher, @stipsan, @MehfoozurRehman, @ijjk, and @vkryachko for helping!
Core Changes
- feat(next-core): support parsing matcher config object: #64678
- Fix mixed exports in server component with barrel optimization: #64894
- fix: improve tsconfig extends checks: #61413
- Fix next/image usage in mdx: #64875
Misc Changes
- Revert turborepo to 1.13.3-canary.2 cont.: #64895
- Update 04-loading-ui-and-streaming.mdx: #64857
Credits
Huge thanks to @ijjk, @adiguno, @kwonoj, @huozhi, and @ryan-nauman for helping!
Core Changes
- fix(fetch-cache): fix additional typo, add type & data validation: #64799
Credits
Huge thanks to @samcx for helping!
Core Changes
- fext(next): extend next.config for mdxRs support options: #64801
- skip test_e2e_deploy_related when triggered from a fork: #64893
Misc Changes
- docs: remove types in js example: #64878
- fix app-dir-edge-runtime-with-wasm test: #64891
- chore(docs): added inlang to the list of i18n community libraries: #61323
- Add WorkOS to list of auth libraries: #64860
- Revert turborepo to 1.13.3-canary.2: #64892
Credits
Huge thanks to @EffectDoplera, @ztanner, @NilsJacobsen, @PaulAsjes, @ijjk, and @kwonoj for helping!
Core Changes
- build: Update
swc_coretov0.90.33: #64553 - Enable loading source maps for Next Server and React: #64527
- fix: mixing namespace import and named import client components: #64809
Example Changes
- Update Nav.tsx: #64818
Misc Changes
- Update Turbopack development test manifest: #64838
Credits
Huge thanks to @jeanmax1me, @kdy1, @unstubbable, and @huozhi for helping!
Core Changes
- Move next-swc Turborepo config to packages/next-swc: #64789
Misc Changes
- Upgrade Turborepo: #64842
- Update
@testing-library/reactused in tests: #64851
Credits
Huge thanks to @timneutkens and @eps1lon for helping!
Core Changes
- fix interception route rewrite regex not supporting hyphenated segments: #64805
- Disable ncc cache instead of cache cleaning: #64804
Credits
Huge thanks to @ztanner and @timneutkens for helping!
Core Changes
- fix: remove traceparent from cachekey should not remove traceparent from original object: #64727
Misc Changes
- Upgrade Turborepo: #64767
- Update index.mdx: #64794
- docs: "generateMetadata" to "generateViewport" in doc "generateViewport": #64795
- Update 06-bundle-analyzer.mdx: #64740
Credits
Huge thanks to @timneutkens, @IAmKushagraSharma, @Auxdible, @sean-rallycry, and @Jeffrey-Zutt for helping!
Core Changes
- Turbopack: Don’t show stack traces for internal modules: #64228
- Reapply "chore(test): run related E2E deploy tests on PRs" (#64682): #64712
- fix(fetch-cache): fix typo: #64786
Misc Changes
- chore: exit running related tests if there was no match: #64772
- docs: remove types in js example: #64761
- chore: rename 'example bug' label to 'examples': #64775
- Update Turbopack development test manifest: #64762
- chore: match label name during autolabeling: #64770
- Docs: Clarify template.js behavior: #64781
Credits
Huge thanks to @wbinnssmith, @ijjk, @balazsorban44, @EffectDoplera, @delbaoliveira, and @samcx for helping!
Core Changes
- Clean-up fetch metrics tracking: #64746
- [actions] Enforce body limit using Transform stream: #64694
Misc Changes
- docs: Add ant-design library info: #63965
- docs: fix default.js params example: #64748
- Update 07-route-groups.mdx, remove extra bracket: #64754
Credits
Huge thanks to @ijjk, @kiner-tang, @ztanner, @Ehren12, and @wyattjoh for helping!
Core Changes
- Revert "fix TypeError edge-case for parallel slots rendered multiple times": #64690
- Fix typo: 'serverComponentsExtenalPackages' should be 'serverComponentsExternalPackages': #64705
- prevent erroneous route interception during lazy fetch: #64692
- Add
@appsignal/nodejsto the external packages list: #64503 - fix root page revalidation when redirecting in a server action: #64730
Misc Changes
- Docs: Review auth guide: #64605
- Update Turbopack development test manifest: #64709
- add node example to open graph image docs: #64305
- docs: Suggest a blobless clone instead of a shallow clone: #64693
- Fix next-swc native binary write in tests: #64744
Credits
Huge thanks to @ztanner, @delbaoliveira, @gaspar09, @souporserious, @bgw, @unflxw, and @timneutkens for helping!
Core Changes
- Fix reporting when performance.measure doesn't exist (Edge): #64669
- Reduce amount of data passed to collectBuildTraces: #59665
- fix(next-server): 'quiet' setting delegate for custom server: #64512
- Revert "chore(test): run related E2E deploy tests on PRs": #64682
- update turbopack: #64686
- Fix: resolve mixed re-exports module as cjs: #64681
Misc Changes
- docs: fix MDX codeblock: #64673
Credits
Huge thanks to @dvoytenko, @leerob, @timneutkens, @bobaaaaa, @ijjk, @bgw, and @huozhi for helping!
Core Changes
- Revert "fix(next): global not-found not working on multi-root layouts": #64601
- chore(test): run related E2E deploy tests on PRs: #63763
- Improve top level await coverage: #64508
- Upgrade typescript to 5.3: #64043
- add pathname normalizer for actions: #64592
- Fix experimental/testmode by removing console.log: #64670
- Don't output .test.ts files in next/font: #63472
Example Changes
- chore: fix a wrong link for with-service-worker example: #64666
Misc Changes
- chore: update labels in workflows/templates: #63713
- chore: update label: #64662
Credits
Huge thanks to @shuding, @balazsorban44, @xiaohanyu, @timneutkens, @huozhi, @ztanner, and @Ethan-Arrowood for helping!
Core Changes
- memoize layout router context: #64575
- fix incorrect refresh request when basePath is set: #64589
- fix TypeError edge-case for parallel slots rendered multiple times: #64271
- Fix ASL bundling for dynamic css: #64451
Documentation Changes
- docs: clarify runtime: #64593
Credits
Huge thanks to @ztanner, @leerob, and @huozhi for helping!
Core Changes
- fix: filter out middleware requests in logging: #64549
- chore: remove unused rust dependencies: #62176
- fix(next-swc): correctly set wasm fallback for known target triples: #64567
Documentation Changes
- Improve auth docs : #63140
- Docs: Fix broken link: #64581
Example Changes
- Update Sanity example deps and tsconfig: #64570
Misc Changes
- Update Turbopack development test manifest: #64579
Credits
Huge thanks to @huozhi, @ForsakenHarmony, @kwonoj, @delbaoliveira, and @stipsan for helping!
Core Changes
- Enhance types for Node and Edge envionments: #64454
- feat: Add a validation for
postcsswithuseLightningcss: #64379 - fix HMR for cases where chunking changes: #64367
- perf: improve Pages Router server rendering performance: #64461
- Fix cjs client components tree-shaking: #64558
- fix refresh behavior for discarded actions: #64532
Misc Changes
- chore: tweak unhelpful comment weight: #64496
- Update Turbopack development test manifest: #64546
Credits
Huge thanks to @wyattjoh, @kdy1, @balazsorban44, @sokra, @feedthejim, @huozhi, and @ztanner for helping!
Core Changes
- chore(next/font): update @capsizecss/metrics package: #64528
- feat: add information that revalidate interval is in seconds: #64229
- Typo "Minifer" in config.ts: #64359
Credits
Huge thanks to @samcx, @Jaaneek, and @evanwinter for helping!
Core Changes
- next/script: Correctly apply async and defer props: #52939
Misc Changes
- Require turbopack build jobs: #64526
Credits
Huge thanks to @ijjk and @domdomegg for helping!
Core Changes
- Turbopack: Allow client components to be imported in app routes: #64520
- refactor: remove always truthy flag: #64522
- Turbopack: don’t show long internal stack traces on build errors: #64427
Misc Changes
- Update to latest rust-cache: #64524
Credits
Huge thanks to @ijjk, @wbinnssmith, and @huozhi for helping!
Core Changes
- fix:
lib/helpers/install.tsto better support pnpm and properly respectrootargument: #64418 - fix(next):
Metadata.openGraphvalues not resolving basic values whentypeis set: #63620 - disable production chunking in dev: #64488
- update turbopack: #64501
Documentation Changes
- docs(09-authentication): fixes link to NextAuth.js: #64457
Misc Changes
- hotfix: hardcoded skip turbopack tests to manifest: #64515
Credits
Huge thanks to @Ethan-Arrowood, @devjiwonchoi, @sokra, and @kenji-webdev for helping!
Core Changes
- fix(next): global not-found not working on multi-root layouts: #63053
- chore(next): add keywords on package.json: #64173
- Fix DynamicServerError not being thrown in fetch: #64511
Credits
Huge thanks to @devjiwonchoi and @ijjk for helping!
Please see the Next.js Security Update for information about this security patch.
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- omit searchParam data from FlightRouterState before transport (#80734)
Credits
Huge thanks to @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix router handling when setting a location response header #82588
Credits
Huge thanks to @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix(next/image): improve and simplify detect-content-type (#82179)
- fix(next/image): fix image-optimizer.ts headers (#82178)
Credits
Huge thanks to @styfle and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Backport
config.allowedDevOrigins(#80410) (Learn More)
Credits
Huge thanks to @ijjk and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Only share incremental cache for edge in next start (#79389)
Credits
Huge thanks to @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: node.js module import error when using middleware (#77945)
Credits
Huge thanks to @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix dynamic route interception not working when deployed with middleware (#64923)
Credits
Huge thanks to @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Match subrequest handling for edge and node (#77476)
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary. This release contains a security patch for CVE-2025-29927.
Core Changes
- Update middleware request header (#77202)
Credits
Huge thanks to @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: ensure lint worker errors aren't silenced (#75779)
- add additional x-middleware-set-cookie filtering (#75561 & #73482)
Credits
Huge thanks to @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- backport: force module format for virtual client-proxy (#74590)
- Backport: Use provided waitUntil for pending revalidates (#74573)
- Feature: next/image: add support for images.qualities in next.config (#74500)
Credits
Huge thanks to @styfle, @ijjk and @lubieowoce for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Retry manifest file loading only in dev mode: #73900
- Ensure workers are cleaned up: #71564
- Use shared worker for lint & typecheck steps: #74154
Credits
Huge thanks to @unstubbable, @ijjk, and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Upgrade React from 14898b6a9 to 178c267a4e: https://github.com/vercel/next.js/pull/74115
- Fix unstable_allowDynamic when used with pnpm: https://github.com/vercel/next.js/pull/73765
Misc Changes
- chore(docs): add missing search: '' on remotePatterns: https://github.com/vercel/next.js/pull/73927
- chore(docs): update version history of next/image: https://github.com/vercel/next.js/pull/73926
Credits
Huge thanks to @unstubbable, @ztanner, and @styfle for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix fetch cloning bug (https://github.com/vercel/next.js/pull/73532)
Credits
Huge thanks to @wyattjoh for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- ensure worker exits bubble to parent process (#73433)
- Increase max cache tags to 128 (#73125)
Misc Changes
- Update max tag items limit in docs (#73445)
Credits
Huge thanks to @ztanner and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: (third-parties) sendGTMEvent not queueing events before GTM init (#68683) (#72111)
- Ignore error pages for cache revalidate (#72412) (#72484)
Credits
Huge thanks to @huozhi and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: revert the bad node binary handling (#72356)
- Ensure pages/500 handles cache-control as expected (#72050) (#72110)
- fix unhandled runtime error from generateMetadata in parallel routes (#72153)
Credits
Huge thanks to @huozhi, @ztanner, and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- support breadcrumb style catch-all parallel routes #65063
- Provide non-dynamic segments to catch-all parallel routes #65233
- Fix client reference access causing metadata missing #70732
- feat(next/image): add support for decoding prop #70298
- feat(next/image): add images.localPatterns config #70529
- fix(next/image): handle undefined images.localPatterns config in images-manifest.json
- fix: Do not omit alt on getImgProps return type, ImgProps #70608
- [i18n] Routing fix #70761
Credits
Huge thanks to @ztanner, @agadzik, @huozhi, @styfle, @icyJoseph and @wyattjoh for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: clone response in first handler to prevent race (#70082) (#70649)
- Respect reexports from metadata API routes (#70508) (#70647)
- Externalize node binary modules for app router (#70646)
- Fix revalidateTag() behaviour when invoked in server components (#70446) (#70642)
- Fix prefetch bailout detection for nested loading segments (#70618)
- Add missing node modules to externals (#70382)
- Feature: next/image: add support for images.remotePatterns.search (#70302)
Credits
Huge thanks to @styfle, @ztanner, @ijjk, @huozhi and @wyattjoh for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix missing cache-control on SSR app route (#70265)
- feat: add polyfill of URL.canParse for browser compatibility (#70228)
- Fix vercel og package memory leak (#70214)
- Fix startTime error on Android 9 with Chrome 74 (#67391)
Credits
Huge thanks to @raeyoung-kim, @huozhi, @devjiwonchoi, and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- update prefetching jsdoc & documentation (#68047)
- Ensure we chunk revalidate tag requests (#70189)
- (backport) fix(eslint): allow typescript-eslint v8 (#70090)
- [ppr] Don't mark RSC requests as /_next/data requests (backport of #66249) (#70083)
Credits
Huge thanks to @alvarlagerlof, @wyattjoh, @delbaoliveira, and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: correct metadata url suffix (https://github.com/vercel/next.js/pull/69959)
- fix: setting assetPrefix to URL format breaks HMR (#70040)
- Update revalidateTag to batch tags in one request (#65296)
Credits
Huge thanks to @huozhi, @devjiwonchoi, and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Remove invalid fallback revalidate value (https://github.com/vercel/next.js/pull/69990)
- Revert server action optimization (https://github.com/vercel/next.js/pull/69925)
- Add ability to customize Cache-Control (#69802)
Credits
Huge thanks to @huozhi and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Revert "Fix esm property def in flight loader (#66990)" (#69749)
- Disable experimental.optimizeServer by default to fix failed server action (#69788)
- Fix middleware fallback: false case (#69799)
- Fix status code for /_not-found route (#64058) (#69808)
- Fix metadata prop merging (#69807)
- create-next-app: fix font file corruption when using import alias (#69806)
Credits
Huge thanks to @huozhi, @ztanner, @ijjk, and @lubieowoce for helping!
What's Changed
[!NOTE]
This release is backporting bug fixes and minor improvements. It does not include all pending features/changes on canary.
Support esmExternals in app directory
- Support esm externals in app router (#65041)
- Turbopack: Allow client components from foreign code in app routes (#64751)
- Turbopack: add support for esm externals in app dir (#64918)
- other related PRs: #66990 #66727 #66286 #65519
Reading cookies set in middleware in components and actions
- initialize ALS with cookies in middleware (#65008)
- fix middleware cookie initialization (#65820)
- ensure cookies set in middleware can be read in a server action (#67924)
- fix: merged middleware cookies should preserve options (#67956)
Metadata and icons
- support facebook-specific metadata (
fb:app_id,fb:admins) in generateMetaData (#65713) - Always collect static icons for all segments (#68712)
- Fix favicon merging with customized icons (#67982)
- Warn metadataBase missing in standalone mode or non vercel deployment (#66296)
Parallel routes fixes
- fix missing stylesheets when parallel routes are present (#69507)
Draft mode and edge improvements
- fix: unstable_cache should not cache new result in draft mode (#67772)
- Add draft mode flag for multi-zone (#68997)
- Fix edge preview props are not matched with cookie (#67779)
- other related PRs: #65426, #67787, #64946, #64313, #64370
next/image fixes
- Allow external image urls with _next/image pathname to be rendered via Image component (#69586)
Server actions improvements
- optimize server actions (#66523)
- Apply optimization for unused actions (#69178)
- Improve SWC transform ID generation (#69183)
Other changes
- Ensure we match comment minify behavior between terser and swc (#68372)
- send initialCanonicalUrl in array format to prevent crawler confusion (#69509)
Create-next-app updates
- enable @typescript-eslint/recommended in create-next-app --typescript (#52845)
- Update create-next-app template CSS (#66233)
- Update
create-next-apptemplate CSS (#66043) - Update create-next-app template (#65803)
- add font antialiasing to templates (#67425)
- Move
create-next-apppublic/ assets from local folder→ remote URL (#66931) - Use classnames to set font family in Tailwind create-next-app templates (#66374)
- other related PRs: #64478, #68899, #68534, #69021, #67146, #66145
Full Changelog: https://github.com/vercel/next.js/compare/v14.2.7...v14.2.8
Huge thanks to everyone who contributed to this release: @abhi12299, @delbaoliveira, @eps1lon, @ForsakenHarmony, @huozhi, @ijjk, @JoshuaKGoldberg, @leerob, @lubieowoce, @Netail, @ronanru, @samcx, @shuding, @sokra, @stylessh, @timfuhrmann, @wbinnssmith, @wyattjoh, @ypessoa, @ztanner
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Revert "chore: externalize undici for bundling" (#65727)
- Refactor internal routing headers to use request meta (#66987)
- fix(next): add cross origin in react dom preload (#67423)
- build: upgrade edge-runtime (#67565)
- GTM dataLayer parameter should take an object, not an array of strings (#66339)
- fix: properly patch lockfile against swc bindings (#66515)
- Add deployment id header for rsc payload if present (#67255)
- Update font data (#68639)
- fix i18n data pathname resolving (#68947)
- pages router: ensure x-middleware-cache is respected (#67734)
- Fix bad modRequest in flight entry manifest #68888
- Reject next image urls in image optimizer #68628
- Fix hmr assetPrefix escaping and reuse logic from other files #67983
Credits
Huge thanks to @kjugi, @huozhi, @ztanner, @SukkaW, @marlier, @Kikobeats, @syi0808, @ijjk, and @samcx for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Ensure fetch cache TTL is updated properly (#69164)
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- avoid merging global css in a way that leaks into other chunk groups (#67373)
- Fix server action edge redirect with middleware rewrite (#67148)
- fix(next): reject protocol-relative URLs in image optimization (#65752)
- fix(next-swc): correct path interop to filepath for wasm (#65633)
- Use addDependency to track metadata route file changes (#66714)
- Fix noindex is missing on static not-found page (#67135)
- perf: improve retrieving versionInfo on Turbo HMR (#67309)
- fix(next/image): handle invalid url (#67465)
- fix(next): initial prefetch cache not set properly with different search params (#65977)
- fix: Backport class properties fix (#67377)
- Upgrade acorn (#67592)
Misc
- Log stdio for pull-turbo-cache script (#66759)
- Ensure turbo is setup when building in docker (#66804)
Credits
Huge thanks to @devjiwonchoi, @ijjk, @emmerich, @huozhi, @kdy1, @kwonoj, @styfle, and @sokra for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix: ensure route handlers properly track dynamic access (#66446)
- fix NextRequest proxy in edge runtime (#66551)
- Fix next/dynamic with babel and src dir (#65177)
- Use vercel deployment url for metadataBase fallbacks (#65089)
- fix(next/image): detect react@19 for fetchPriority prop (#65235)
- Fix loading navigation with metadata and prefetch (#66447)
- prevent duplicate RSC fetch when action redirects (#66620)
- ensure router cache updates reference the latest cache values (#66681)
- Prevent append of trailing slash in cases where path ends with a file extension (#66636)
- Fix inconsistency with 404 getStaticProps cache-control (#66674)
- Use addDependency to track metadata route file changes (#66714)
- Add timeout/retry handling for fetch cache (#66652)
- fix: app-router prefetch crash when an invalid URL is passed to Link (#66755)
Credits
Huge thanks to @ztanner, @ijjk, @wbinnssmith, @huozhi, and @lubieowoce for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix: resolve mixed re-exports module as cjs (#64681)
- fix: mixing namespace import and named import client components (#64809)
- Fix mixed exports in server component with barrel optimization (#64894)
- Fix next/image usage in mdx(#64875)
- fix(fetch-cache): fix additional typo, add type & data validation (#64799)
- prevent erroneous route interception during lazy fetch (#64692)
- fix root page revalidation when redirecting in a server action (#64730)
- fix: remove traceparent from cachekey should not remove traceparent from original object (#64727)
- Clean-up fetch metrics tracking (#64746)
Credits
Huge thanks to @huozhi, @samcx, @ztanner, @Jeffrey-Zutt, and @ijjk for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix Server Action error logs for unhandled POST requests (#64315)
- Improve rendering performance (#64408)
- Fix the method prop case in Server Actions transform (#64398)
- fix(next-lint): update option --report-unused-disable-directives to --report-unused-disable-directives-severity (#64405)
- tweak test for Azure (#64424)
- router restore should take priority over pending actions (#64449)
- Fix client boundary inheritance for barrel optimization (#64467)
- improve turborepo caching (#64493)
- feat: strip traceparent header from cachekey (#64499)
- Fix more Turbopack build tests
- Update lockfile for compatibility with turbo (#64360)
- Fix typo in dynamic-rendering.ts (#64365)
- Fix DynamicServerError not being thrown in fetch (#64511)
- fix(next): Metadata.openGraph values not resolving basic values when type is set (#63620)
- disable production chunking in dev (#64488)
- Fix cjs client components tree-shaking (#64558)
- fix refresh behavior for discarded actions (#64532)
- fix: filter out middleware requests in logging (#64549)
- Turbopack: Allow client components to be imported in app routes (#64520)
- Fix ASL bundling for dynamic css (#64451)
- add pathname normalizer for actions (#64592)
- fix incorrect refresh request when basePath is set (#64589)
- test: skip turbopack build test (#64356)
- hotfix(turbopack): Update with patch for postcss.config.js path resolution on Windows (#64677)
Credits
Huge thanks to @shuding, @coltonehrman, @ztanner, @huozhi, @sokra, @Jeffrey-Zutt, @timneutkens, @wbinnssmith, @wiesson, @ijjk, @devjiwonchoi, and @bgw for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- use pathToFileUrl to make esm import()s work with absolute windows paths (#64386) @sokra
Credits
Huge thanks to @sokra for helping!
Core Changes
- Update font data: #64481
- BREAKING CHANGE: remove deprecated analyticsId from config, and the corresponding performance-relayer files and tests: #64199
- feat: strip traceparent header from cachekey: #64499
- Fix typo in dynamic-rendering.ts: #64365
Documentation Changes
- Fix missing PagesOnly in 05-mdx: #64505
- chore(docs): Add example usage of PixelBin custom image loader: #64074
Misc Changes
- chore: Update pnpm v8.15.14 to v8.15.7: #64479
- Add typechecking test for all entrypoints: #64478
Credits
Huge thanks to @ryota-murakami, @ijjk, @pnutmath, @feugy, @Jeffrey-Zutt, @wiesson, and @eps1lon for helping!
Core Changes
- improve turborepo caching: #64493
Credits
Huge thanks to @sokra for helping!
Core Changes
- Fix client boundary inheritance for barrel optimization: #64467
Documentation Changes
- docs: fix config variable usage in memory docs: #64469
Credits
Huge thanks to @leerob and @huozhi for helping!
Core Changes
- Revert "Fix: css in next/dynamic component in edge runtime": #64442
- default fetchCache to no-store when force-dynamic is set: #64145
- router restore should take priority over pending actions: #64449
Documentation Changes
- docs(pages): update slug value for optional catch all routes: #64381
- Fix optimizePackageImports docs for Pages Router: #64439
- Adds MDX Components file convention page and updates MDX page: #63568
Misc Changes
- tweak test for Azure: #64424
Credits
Huge thanks to @hungdoansy, @huozhi, @kxlow, @ztanner, and @manovotny for helping!
Core Changes
- Improve rendering performance: #64408
- Fix the method prop case in Server Actions transform: #64398
- fix(next-lint): update option --report-unused-disable-directives to --report-unused-disable-directives-severity: #64405
Documentation Changes
- docs: clarify
Internationalization (i18n) Routing: #63853
Misc Changes
- Update lockfile for compatibility with turbo: #64360
Credits
Huge thanks to @anatoliik-lyft, @wbinnssmith, @shuding, and @coltonehrman for helping!
Core Changes
- Fix more Turbopack build tests: #64384
- use pathToFileUrl to make esm import()s work with absolute windows paths: #64386
Documentation Changes
- Add WorkOS to list of auth solutions: #64395
- docs (mdx): update tree to include mdx-components.tsx file: #64376
- Update 02-server-actions-and-mutations.mdx: #64248
- Update 04-cypress.mdx: #64375
- Update 13-debugging.mdx: #64344
Example Changes
- Add TypeGen to Sanity example: #64198
Credits
Huge thanks to @PaulAsjes, @mcnaveen, @timneutkens, @stipsan, @aktoriukas, @sirTangale, @greatvivek11, and @sokra for helping!
Core Changes
- Fix Server Action error logs for unhandled POST requests: #64315
- Shared Revalidate Timings: #64370
- Freeze loaded manifests: #64313
- test: skip turbopack build test: #64356
- Fix: css in next/dynamic component in edge runtime: #64382
Misc Changes
- [PPR] Added generateMetadata tests: #64080
Credits
Huge thanks to @shuding, @wyattjoh, and @huozhi for helping!
Core Changes
- refactor: next-flight-client-module-loader return conditions: #64348
Credits
Huge thanks to @huozhi for helping!
Learn more: https://nextjs.org/blog/next-14-2
Core Changes
- Update build worker warning to use debug: #60847
- fix: added @sentry/profiling-node to sep list to prevent build/bundle breakage: #60855
- Optimize build trace ignores: #60859
- Deprecation warning for config.analyticsId: #60677
- chore: indicate staleness more prominently in
next infooutput: #60376 - Telemetry: createComponentTree span: #60857
- chore: replace micromatch w/ picomatch: #60699
- Report HMR latency as trace spans for Turbopack: #60799
- Turbopack: always log HMR rebuild times: #60908
- Error overlay refactors: #60886
- Use precompiled source-map in overlay middleware: #60932
- Use more precompiled deps in react-dev-overlay: #60959
- Fix next phase for next build: #60969
- chore: update turbopack: #60980
- refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc: #59300
- disable static generation on interception routes: #61004
- Docs: Address community feedback: #60960
- avoid output of webpack stats: #61023
- Revert "refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc": #61021
- fix useSelectedLayoutSegment's support for parallel routes: #60912
- Dynamic APIs: #60645
- Enable next.js version checker in turbopack: #61034
- chore: Update
tersertov5.27.0: #61068 - Update
swc_coretov0.87.28: #60876 - update turbopack: #61015
- Implement client_root for edge in Turbopack: #61024
- fix parallel route top-level catch-all normalization logic to support nested explicit (non-catchall) slot routes: #60776
- fix(image): warn when animated image is missing
unoptimizedprop: #61045 - Fix version checker not displaying when version newer than npm: #61075
- Fix sitemap generateSitemaps support for string id: #61088
- ppr: ensure the router state tree is provided for interception routes: #61059
- Improve the Server Actions SWC transform: #61001
- Fix instrument bundling as client components: #60984
- fix(turbopack): use correct layout for 404 page: #61032
- fix: emotion import source should be enabled in SSR contexts: #61099
- chore: update turbopack: #61090
- fix(turbopack): custom page extensions for
_app: #60789 - Disable trace uploads with NEXT_TRACE_UPLOAD_DISABLE: #61101
- add
optimizeServerReactto config-shared: #61106 - Fix filesystempublicroutes test for Turbopack: #61132
- chore: upgrade webpack to 5.90.0: #61109
- Add
maxDurationto typescript plugin allowed exports: #59193 - Upgrade Turbopack: #61190
- build: remove sentry from the externals list: #61194
- exclude default routes from isPageStatic check: #61173
- Add stack trace to client rendering bailout error: #61200
- chore: refactor image optimization to separate external/internal urls: #61172
- parallel routes: support multi-slot layouts: #61115
- Refine revalidatePath warning message: #61220
- revert changes to process default routes at build: #61241
- Fix cookie merging in Server Action redirections: #61113
- Update
swc_coretov0.89.x: #61086 - Fix Server Reference being double registered: #61244
- Fix Server Action redirection with absolute internal URL: #60798
- Fix indentation in source code of dev overlay: #61216
- Update
swc_coretov0.89.4: #61285 - fix: Revert
preset-envmode ofstyled-jsxin webpack mode: #61306 - DX: add route context to the dynamic errors: #61332
- Telemetry: add time-to-first-byte signal: #61238
- Refine logging message of experiments: #61337
- fix(turbopack): don't parse
.tsfiles as.tsx: #61219 - Update turbopack: #61381
- Same as #61360: #61369
- Always respect NEXT_TRACE_UPLOAD_DISABLED: #61402
- parallel routes: fix catch-all slots being treated as optional catch-all: #61174
- fix hmr telemetry reporting: #61420
- chore: Update
swc_coretov0.89.6: #61426 - Update turbopack: #61433
- fix a perf problem in VersionedContentMap: #61442
- Fix next dynamic import named export from client components: #61378
- fix issues loading CSS in default slots: #61428
- avoid sending issues turbopack messages to browser: #61443
- Support crossOrigin in Turbopack: #61461
- Pass down __NEXT_EXPERIMENTAL_REACT env to webpack build worker explicitly: #61463
- Replace image optimizer IPC call with request handler: #61471
- feat(next): trace build dependencies for turborepo: #59553
- Turbopack: fix telemetry attributes for swc options: #61474
- Always show version text in error overlay: #61421
- Fix build worker callback arg missing correct page path : #61347
- Update font data: #61479
- build: upgrade edge-runtime: #61030
- Fix experimental react support in app-route runtime: #61511
- Fix .env hmr for Node.js runtime in Turbopack: #61504
- remove unnecessary PPR branch in non-PPR reducer: #61176
- fix: bump
@vercel/nft@0.26.3: #61538 - chore: update ESLint and plugins to latest: #61544
- Update turbopack: #61553
- feat: first pass of
next/fontmanifest: #61424 - Fix .env HMR for Turbopack in Edge runtime: #61565
- build(cargo): bump up turbopack: #61590
- refactor(next-core): consolidate custom ecma transform rules: #61481
- ensure server action errors notify rejection handlers: #61588
- feat(turbopack): only preload fonts that opt in: #61591
- feat(turbopack): serve google fonts locally and allow preloading them: #61596
- Update font data: #61621
- Remove unused mockedRes in resolveRoutes: #61635
- Fix @react-pdf/renderer not working in RSC: #61317
- Remove extra edge-runtime/primitives override: #61641
- Encode revalidateTag value fixes #61390: #61392
- Update README.md: #48717
- chore: update README.md: #61650
- avoid processing client components and server actions in route handlers: #60985
- chore: Update
@swc/helperstov0.5.5: #61659 - feat(ts): expose
MiddlewareConfiginterface: #61576 - Revert "build: upgrade edge-runtime": #61686
- feat(ts): add JSDoc comments for public APIs: #61649
- fix(next-core): adjust server alias for the context: #61690
- fix setAssetPrefix when running on NextCustomServer: #61676
- fix: status code for 404 props queries to avoid client side navigation with empty props: #60968
- fix(next-eslint):
.eslintrc.jsonnot being created bynext linton App Router: #55104 - Update React from 60a927d04 to 2bc7d336a: #61522
- fix(turbopack): read preload option for google fonts: #61679
- decode magic identifiers: #61658
- Associate server error digest with browser logged one: #61592
- chore: update turbopack: #61682
- fix loading issue when navigating to page with async metadata: #61687
- fix(ts):
ReadonlyURLSearchParamsshould extendURLSearchParams: #61419 - fix navigation issue when dynamic param casing changes: #61726
- Fix next/server api alias for ESM pkg: #61721
- feat(transforms): enable rsc transforms for the remaining contexts: #61231
- fix: allow some recursion for middleware subrequests: #60615
- feat(next-swc): support wasm32-* build target: #61586
- Turbopack: convert between locations correctly: #61477
- feat(next/image)!: remove
squooshin favor ofsharpas optional dep: #61696 - Navigation Signals in PPR: #60450
- Revert "Turbopack: convert between locations correctly (#61477)": #61733
- Fix duplicate line in README: #61691
- docs: fix example code missing comma: #59012
- Reapply "Turbopack: convert between locations correctly (#61477)" (#61733): #61735
- Fix: Error Fetching _devpagesmanifest.json #17274: #60349
- fix jsDoc of notFound: #61692
- feat(next-core): expand matching js extensions for the rules: #61745
- source map fixes: #61723
- Add experimental touchstart flag for testing: #61747
- partially fix css duplication in app dir: #61198
- build(cargo): add deps for the wasi: #61784
- fix(ts): match
MiddlewareConfigwith documentation: #61718 - Fix attempted import error for react: #61791
- consolidate prefetch utils & separate build util: #61789
- Skip client-side data-fetching after ssr error : #51377
- fix(next-swc): Detect
exports.foofromcjs_finder: #61795 - feat(next-core): build time client|server-only assertion: #61732
- Fall back loading chunks for sourcemap tracing: #61790
- Increase Rust stack size: #61809
- Revert "feat(next/image)!: remove
squooshin favor ofsharpas optional dep": #61810 - DX: fix error overlay flash: #61813
- feat: Allow specifying
useLightningcssforstyled-jsx: #61359 - Guard against restoring router state with missing data: #61822
- fix: babel usage with next/image: #61835
- fix:(next/image) handle
remotePatternswith a dot in the pathname: #60488 - Update React from 2bc7d336a to ba5e6a832: #61837
- DX: fix error overlay flash: #61813
- feat: Allow specifying
useLightningcssforstyled-jsx: #61359 - Guard against restoring router state with missing data: #61822
- fix: babel usage with next/image: #61835
- fix:(next/image) handle
remotePatternswith a dot in the pathname: #60488 - Update React from 2bc7d336a to ba5e6a832: #61837
- update turbopack: #61187
- conditionally send Next-URL in Vary response: #61794
- provide interception rewrites to edge runtime: #61414
- Update app-index to only ever construct the initial data response once: #61869
- Move turbopack helpers: #61917
- hot-reloader-turbopack refactors: #61929
- More hot-reloader-turbopack refactors: #61940
- fix(next/image): improve warning when
fillandsizes="100vw": #61949 - build(cargo): bump up turbopack to latest: #61952
- build(cargo): update turbopack for filewatcher fix: #61955
- ci(workflow): deploy rustdocs for turbopack: #61958
- Support resuming a complete HTML prerender that has dynamic flight data: #60865
- Fix empty white page with parallel routes + loading boundaries: #61597
- Update
swc_coretov0.90.7and update turbopack: #61662 - Turbopack: remove server addr: #61932
- More hot-reloader-turbopack refactors: #61993
- Use destructured object for #61993: #61996
- only prefix prefetch cache entries if they vary based on
Next-URL: #61235 - seed prefetch cache with initial page: #61535
- Remove leftover server addr references: #61997
- log fast refresh in app dir: #61441
- docs(turbopack): build more docs: #61977
- fix(next-core): correct error message: #62011
- docs(turbopack): reduce documentation size: #62016
- Reduce memory/cache overhead from over loader processing: #62005
- fix: bump
@vercel/nft@0.26.4: #62019 - refactor(next-core): do not reexport turbopack_binding: #62018
- build: Update
swc_coretov0.90.8: #61976 - merge pages and app overlays: #60899
- Rename internal utility naming for clarification : #62048
- fix: handle multiple
x-forwarded-protoheaders: #58824 - Fix server components externals on SSR layer: #61986
- Fixed useParams hook undesired re-renders and updated it to use PathParamsContext in the app router.: #60708
- docs(turbopack): conslidate existing links: #62034
- fix(custom-transform): allow to assert empty program for rsc: #61922
- fix navigation applying stale data when triggered from global not found: #62033
- fix(turbopack):
react-dom/serverin rsc context: #61165 - refactor(tests): make chain more "correct": #51728
- Add puppeteer-core to server-external-packages.json: #62063
- Fix extra swc optimizer applied to node_modules in browser layer: #62051
- docs(turbopack): revise links: #62062
- Fix output: export with custom distDir: #62064
- fix(next-core): apply image-loader alias to the remaining context: #62070
- More hot-reloader-turbopack refactors: #62055
- Ensure Turbopack writes font optimization manifest: #62079
- update turbopack: #62080
- chore: hide version info network error: #62084
- Add dev option to Turbopack createProject(): #62083
- Remove unused app-turbopack files: #62087
- make router restore action resilient to a missing tree: #62098
- Turbopack: add support for dynamic requests in require() and import(): #62092
- docs(turbopack): move docs to separate: #62069
- Implement Vc
: #62099 - fix: add
zeromqto server-external-packages.json: #62105 - Fix trailing slash for canonical url: #62109
- Consolidate NextMode checks: #62106
- Improve the Server Actions SWC transform (part 2): #62052
- Should not warn metadataBase missing if only absolute urls are present: #61898
- Update to
turbopack-240215.5: #62119 - Add polyfill for
Object.hasOwn: #60437 - OpenTelemetry: trace API routes in page router: #62120
- Fix @next/mdx types: #57580
- DX: hide the webpack info prefix for module paths: #62101
- Show build errors from Turbopack: #62139
- Fix issue with ComponentMod being read in Turbopack: #62141
- Fix handling subpath for server components externals: #62150
- docs(next-api): trying to document project_update_info_subscribe: #61962
- add support for esmExternals in pages: #61983
- docs: updated link in JSDoc for the shallow property in link.tsx: #62181
- Update font data: #62173
- Update split chunk handling for edge/node: #62205
- Ensure webpack build worker defaults on: #62214
- feat: Lint invalid CSS modules: #62040
- Add page name to error logged in Turbopack: #62218
- add turbo.resolveExtensions to allow to customize extensions: #62004
- fix(turbopack): catchall route matching: #62114
- fix: clarify Dynamic API calls in wrong context: #62143
- refactor(turbopack): wrap manifest loading in helper class: #62118
- refactor(turbopack): resolve routes by page name instead of pathname: #61778
- Ensure handleRouteType does not throw in production builds: #62234
- fix: set swr delta: #61330
- Fix type error in build.ts: #62253
- fix(next):
terser-webpack-pluginpath intaskfile.jsis missing 'src': #62229 - Update
swc_coretov0.90.10: #62222 - Add test log prefix for otel: #62258
- Update turbopack: #62263
- feat(cli): show available memory/CPU cores in
next info: #62249 - fix(turbopack): print missing slots in debug message: #62280
- Tree shake the unused exports in direct relative imported client component module: #62238
- Verify correctness of externals: #62235
- Renew prefetch cache entry after update from server: #61573
- fix(next-core): fix aliased free var for edge runtime: #62289
- update turbopack: #62285
- Allow fetch to propagate arbitrary init options: #62168
- Add flag for early import app router modules: #61168
- Add otel span for client component loading: #62296
- Fix perf spans: #62306
- fix(next-core): properly normalize app route for _: #62307
- fix(next-font): update capsize css so fallbacks are updated with the …: #62309
- Fix draft mode invariant: #62121
- Revert "Update split chunk handling for edge/node": #62313
- Turbopack: reduce tasks needed for emitting: #62291
- Turbopack: add SSR category to tracing: #62318
- fix(error-overlay): correct module grouping: #62206
- Revert "Turbopack: reduce tasks needed for emitting": #62324
- feat(error-overlay): hide
<unknown>/stringifymethods in<anonymous>file from stack: #62325 - eslint-config-next: allow typescript eslint v7: #62137
- Revert "Revert "Update split chunk handling for edge/node" (#62313)": #62336
- Revert "Ensure webpack build worker defaults on": #62342
- avoid loading the page loader chunk on initial page load: #62269
- output filesystem without watching: #62340
- Turbopack: limit build concurrency, show progress bar: #62319
- Update data cache max size error: #62348
- Add experimental flag for early exit on prerender error: #62367
- fix(next-swc): Fix span for invalid
'use server'directives: #62259 - scope issues from subscriptions to the websocket connection: #62344
- Turbopack: resolve endpoints to avoid extra nesting in tracing: #62317
- fix(next-lint): fix next lint not throwing exit 1 on error: #62378
- Remove default fallback behavior when route group is missing a default: #62370
- Correctly pass prependData and additionalData to sass-loader for Turbopack: #62397
- chore(docs): mention that
next.config.jsmust have default export: #62341 - chore(cli): add clarifying comment: #62418
- OTEL: Add top span for middleware: #62421
- Turbopack react-refresh: perform full reload on runtime error: #62359
- Simplify node/edge server chunking some: #62424
- update
configSchema.tswithexperimental#useEarlyImport: #62408 - Fix module-level Server Action creation with closure-closed values: #62437
- Upgrade vendored react: #62326
- Turbopack: reduce memory usage: #62432
- Fixed typo.: #62440
- fix(turbopack): deal with eventual consistency in get_directory_tree: #62444
- Telemetry: ensure the ClientComponentLoad metric is only reported when available: #62459
- [turbopack] update edge alias: #62461
- Rename currentIssues to currentEntryIssues: #62524
- update turbopack: #62523
- add plugin to avoid too many css requests: #62530
- feat(error-overlay): hide Node.js internals: #62532
- Create react server condition alias for next/navigation api: #62456
- Add IssueKey type: #62526
- OTEL: Ensure that RSC:1 requests get the next.route attr: #62464
- Display only one hydration error when there's few in error overlay: #62448
- Upgrade vendored react: #62549
- Improve TS plugin options: #62438
- Revert "fix(build-output): show stack during CSR bailout warning": #62592
- Improve redirection handling: #62561
- fix router crash on revalidate + popstate: #62383
- fix: improve error when starting
nextwithout building: #62404 - feat(turbopack): Sort issues: #62566
- refactor createInfinitePromise to be re-used unresolveable thenable: #62595
- fix(build-output): show stack during CSR bailout warning: #62594
- Fix redirect under suspense boundary with basePath: #62597
- Ensure dynamic routes dont match _next/static unexpectedly: #62559
- Fix metadata json manifest convention: #62615
- Migrate locale redirect handling to router-server: #62606
- fix(next-swc): Provide tokio context required for WASM plugins: #62441
- Update
swc_coretov0.90.12: #62518 - Update Turbopack: #62632
- Fix instrumentation with only pages: #62622
- Fix: generateSitemaps in production giving 404: #62212
- Refactor flight-manifest-plugin to use compilation.entrypoints directly: #62636
- Fix Router Error Events in Shallow Routing by Skipping cancelHandler Creation: #61771
- DX: display highlited pesudo html when bad nesting html error occurred: #62590
- build(cargo): remove unused features: #62616
- feat(next-swc): lightningcss binding: #62604
- fix: Enable SearchParams to be displayed after redirect in Server Action: #62582
- fix(navigation): allow
useSelectedLayoutSegment(s)in Pages Router: #62584 - Consistently use /_not-found for not found page in App Router: #62679
- Add experimental config for navigation raf test: #62668
- Turbopack: remove unused code: #62690
- Revert "Ensure dynamic routes dont match _next/static unexpectedly": #62691
- fix(turbopack): don't emit issues for deleted pages: #62012
- perf: don't emit issues via websocket for now: #59024
- add native css nesting support: #62644
- refactor(next-swc): remove unused features: #62696
- Upgrade mini-css-extract-plugin: #62698
- Update precompiled for mini-css-extract-plugin: #62699
- feat: display text diff for text mismatch hydration errors: #62684
- Fix lint check: #62702
- chore: remove unused helper: #62701
- Add param to debug PPR skeleton in dev: #62703
- Update font data: #62704
- Turbopack: remove node_modules error filter: #62586
- fix(error-overlay): improve a11y, minor refactors: #62723
- Handle top level errors coming from Turbopack entrypoints subscription: #62528
- Add compiler error for conflicting App Router and Pages Router in Turbopack: #62531
- fix dev overlay pseudo html collapsing: #62728
- Route static render error message: remove duplicate word: #62738
- Update version from backport: #62745
- Add a flag to disable
MergeCssChunksPlugin: #62746 - refactor(cli): refactor cli to commander: #61877
- Turbopack: Trace server app render errors through source maps: #62611
- build(cargo): update turbopack: #62744
- Turbopack: sass support: #62717
- refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc: #61832
- fix: Add stricter check for "use server" exports: #62821
- fix(next-core): throw on invalid metadata handler: #62829
- Revert "Add experimental config for navigation raf test (#62668)": #62834
- Revert "refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc": #62838
- remove reducer unit tests: #62766
- fix(next-lint): do not pass absolute path to distDir: #62797
- Update to latest version: #62850
- fix "setBlocking is not a function" errors on StackBlitz: #62843
- Remove extra logic of Server Reference check for registering twice: #62486
- Update readme of @next/bundle-analyzer package: #62804
- Don't emit crossorigin attributes for
output: "export"by default: #61211 - apply some transforms on foreign code too: #62827
- update turbopack: #62884
- refactor: rename isAppDirEnabled to hasAppDir: #62837
- bump @edge-runtime/cookies for Partitioned cookie support: #62889
- refactor(next): fix spacing on auto-generated root layout: #62769
- fix(cli): fix allowRetry when using port 3000: #62840
- Fix: missing crossorigin property on manifest link: #62873
- Turbopack: Trace edge runtime app render errors through source maps: #62901
- fix merge css plugin to account for css order: #62927
- fix(next-api): correct font manifest generation: #62916
- feat(error-overlay): notify about missing
html/bodyin root layout: #62815 - fix graph update: #62933
- refactor(error-overlay): improve server code for webpack/Turbopack middleware: #62396
- feat(error-overlay): version staleness in Pages Router: #62942
- feat: Introduce lightningcss-loader for webpack users: #61327
- feat(eslint): enhance
no-unwanted-polyfillw/ new endpoints: #62719 - simplify
streamToStringmethod fromnode-web-streams.helper.ts: #62841 - Allow ppr only flag in test mode: #62911
- Upgrade to latest @edge-runtime packages: #62955
- chore(next-font): update @capsize/metrics package to the latest: #62896
- Remove Payload from server-external-packages.json: #62965
- Pass whole prefetch entry rather than status property: #62345
- build: Update
swc_coretov0.90.17: #62924 - refactor(ts): type
fastRefresh: #62848 - [error overlay] move missing tags error inside error overlay: #62993
- Update turbopack: #62971
- fix(next-core): honor basepath for the metadata property: #62846
- fix(next-core): do not apply ecma transforms for custom js rules: #62831
- feat(next): fallback lightning if swc/wasm loaded: #62952
- Fix the plugin state for async modules in webpack plugins: #62998
- Turbopack + pages router: recover from runtime errors by reloading: #63024
- Enable minification for Turbopack: #62994
- app layouts/pages depend on shared main files: #63042
- DX: add route context to dynamic errors for app routes: #62844
- Fix metadata url cases should not append with trailing slash: #63050
- Turbopack: Decode module component when tracing stack frames: #63070
- build(cargo): bump up turbopack: #63073
- OTEL: add next.rsc attribute for RSC requests: #63074
- Correctly deserialize
undefinedunstable_cache data: #59126 - refactor(error-overlay): unify Pages/App router error overlay source: #62939
- feat(turbopack): Enable
lightningcssfor turbopack by default: #62565 - ignore fully dynamic requests on server side: #62949
- Refactor define-env-plugin to have stricter types: #63128
- [PPR] Support rewrites in middleware: #63071
- Fix webpack HMR for pages on the edge runtime: #60881
- fix typo in server/config.ts: #62795
- ensure mpa navigations to the same URL work after restoring from bfcache: #63155
- Ensure PromiseLikeOfReactNode is not included in .d.ts files: #63185
- Ensure undefined values end up being replaced: #63138
- fix: x-forwarded-port header is 'undefined' when no port in url: #60484
- Fix generateMetadata race condition: #63169
- feat(next-core): apply invalid import assertion on the remaining contexts: #63146
- build(cargo): bump up turbopack: #63205
- add support for assets in edge: #63209
- fix: Loose Server Actions runtime check: #63200
- fix(log): improve error when dynamic code eval is disallowed: #62999
- fix(error-overlay): strip line+column from webpack internal frames: #63133
- fix revalidation issue with route handlers: #63213
- fix(error-overlay): show Turbopack indicator for any staleness level: #63130
- fix: re-export internal path: #63222
- build: Update turbopack: #63229
- make CacheNode properties non-optional: #63219
- Implement new runtime_type for Turbopack: #63212
- Use SWC to valid client next/navigation hooks usage in server components: #63160
- chore: Update
swc_coretov0.90.21: #63031 - fix(turbopack): Do not report hmr timing twice: #63227
- enable
optimizeServerReactby default: #62658 - feat(turbopack): emit well known error into cli: #63218
- feat: add
deploymentIdconfig: #63198 - Fix middleware catch-all rewrite case: #63254
- fix(route-handlers): make sure preflight has CORS headers: #63264
- fix(turbopack): Remove error overlay when issue is resolved: #62983
- Disable cache in testmode: #63265
- Turbopack: app externals test case improvements: #62871
- build: Update turbopack: #63273
- fix: hydration error display for text under tag case: #63288
- Fix URL displayed in Server Action
bodysizelimiterror: #63295 - Store loading data in CacheNode: #62346
- fix(turbopack): Remove error overlay when
pages/_appis fixed: #63306 - Ensure changes in optimizePackageImports invalidate webpack cache: #63284
- Polish the display color styles for component diff: #63342
- Turbopack HMR: Log when more errors cause full page reload: #63220
- Fixes typo in Route handler static generation error handling: #63345
- Add JSM (ESM) support for next/lib/find-config: #63109
- fix(error-overlay): matching html tag with brackets in hydration error: #63365
- add conditions for webpack loader rules: #63333
- fix transform of files ending with d: #63367
- Use correct protocol and hostname for internal redirections in Server Actions: #63389
- bug: Fields truncated when submitting form using Server Actions: #59877
- New CSS chunking algorithm: #63157
- Ensure all metadata files have missing default export errors in Turbopack: #63399
- Code refactor: #63391
- feat(error-overlay): handle script under html hydration error: #63403
- Add Bun lockfile to project root resolving heuristic: #63112
- build(package): pin typescript-eslint/parser for supported node.js: #63424
- fix(next-core): carry over original segment config to metadata route: #63419
- fix
x-forwarded-portheader: #63303 - build(cargo): bump up turbopack: #63429
- Turbopack HMR: Reload when recovering from server-side errors: #63434
- Eliminate unnecessary decode operations in
node-web-streams-helpers.ts: #63427 - Update React from 6c3b8dbfe to 14898b6a9: #63439
- chore(next/font): update @capsizecss/metrics package to the latest: #63440
- update turbopack: #63475
- Fix instant loading states after invalidating prefetch cache: #63256
- Update tags limit handling for max items: #63486
- feat(next-core): support unsupported module runtime error: #63491
- Update RSC etag generation handling: #63336
- Simplify
createRootLayoutValidatorStream: #63484 - Fix interception/detail routes being triggered by router refreshes: #63263
- route/middleware/instrumentation use server assets instead of client assets: #62134
- feat: add support for localizations in sitemap generator: #53765
- Turbopack: Fail when module type is unhandled: #63535
- feat(custom-transform): middleware dynamic assert transform: #63538
- fix: call instrumentationHook earlier for prod server: #63536
- Revert "feat(next-core): support unsupported module runtime error (#63491)": #63575
- Upgrades enhanced-resolve: #63499
- Improve experimental test proxy: #63567
- Remove the erroring on force-dynamic in static generation for app route: #63526
- the argument might be written with underscores: #63600
- Remove lodash from external packages list: #63601
- upgrade @edge-runtime/cookies: #63602
- Add alias for react-dom react-server condition: #63588
- Revert "Revert "feat(next-core): support unsupported module runtime error (#63491)"": #63609
- Enable all pages under the browser context to proxy to the test proxy: #63610
- fix(next-core): refine context for unsupported edge imports: #63622
- Update turbopack: #63541
- Fix RSC react-dom aliases for edge: #63619
- Move Playwright to be a peerDependency of next.js: #63530
- fix(dev-overlay): align codeframe to formatIssue: #63624
- Improve TypeScript plugin for server boundary: #63667
- perf: conditionally import Telemetry: #63574
- feat(error-overlay): style tweaks: #63522
- Auto map optimizePackageImports to transpilePackages for pages: #63537
- Add Next.js version to process title: #63686
- generate the same next/font modules for the same options: #63513
- feat(log): improve dev/build logs: #62946
- Update font data: #63691
- Polish dev-overlay text styling: #63721
- [PPR] Dynamic API Debugging: #61798
- Rename encryption key generation code: #63730
- ensure null loading boundaries still render a Suspense boundary: #63726
- perf: download and save mkcert in stream: #63527
- prevent router markers from leaking: #63606
- Turbopack: fix allocation inefficiency: #63738
- Fix ServerAction rejection reason: #63744
- Respect non 200 status to page static generation response: #63731
- Turbopack: parallelize app structure: #63707
- fixes to next.js tracing: #63673
- fext(next-core): inherit root layout segment config for the routes: #63683
- add tracing to server actions transform: #63773
- remove left-over debugging: #63774
- update turbopack: #63778
- fix revalidation/refresh behavior with parallel routes: #63607
- fix router revalidation behavior for dynamic interception routes: #63768
- feat(custom-transforms): partial page-static-info visitors: #63741
- Ensure Webpack config shows a warning when using Turbopack: #63822
- feat(turbopack): emit warning into logger: #63780
- feat(custom-transform): more static info warning: #63837
- skip HEAD request in server action redirect: #63819
- OTEL: use the current context when creating a root span: #63825
- Turbopack: Fail when
next/fontis used in_document: #63788 - Move key generation to the earlier stage: #63832
- fix double redirect when using a loading boundary: #63786
- fix: default relative canonical url should not contain search: #63843
- fix(next-typescript-plugin): allow call expression for server actions: #63748
- fix: avoid metadata viewport warning during manually merging metadata: #63845
- feat(next-core): set nextconfigoutput correctly: #63848
- Ensure we dedupe fetch requests properly during page revalidate: #63849
- feat(next-swc): Pass names of side-effect-free packages: #63268
- fix(turbopack): loosen warning log guards: #63880
- fix: skip checking rewrites with an empty has array in isInterceptionRouteRewrite: #63873
- fix: bundle fetching with asset prefix: #63627
- fix logic error in parallel route catch-all normalization: #63879
- ensure custom amp validator path is used if provided: #63940
- chore: remove useless any: #63910
- Update hover behaviour note in Link JSDoc comment: #60525
- fix: pass
noncetonext/scriptwithafterInteractivestrategy: #56995 - add experimental client router cache config: #62856
- add telemetry events for ppr & staleTimes experimental flags: #63981
- fix server actions not bypassing prerender cache in all cases when deployed: #63978
- fix(next):
next build --debuglog output layout is broken: #63193 - Fix abort condition for requests: #64000
- fix(log): skip logging non-route requests: #63973
- Ensure unstable_cache bypasses for draft mode: #64007
- fix interception route refresh behavior with dynamic params: #64006
- fix(turbopack): throws api issues: #64032
- fix(turbopack): emit loadable manifest for app: #64046
- feat(turbopack): Print error message for
next/fontfetching failure: #64008 - Fix status code for /_not-found route: #64058
- fix: fixes cookie override during redirection from server action: #61633
- Add flag for preloading all server chunks: #64084
- Update rust-toolchain to
nightly-2024-04-03: #64048 - fix refreshing inactive segments that contained searchParams: #64086
- perf: improve next server static performance: #64098
- fix(log): tweak coloring: #64106
- Ensure static generation storage is accessed correctly: #64088
- Ensure empty config with Turbopack does not show webpack warning: #64109
- fix encoding for filenames containing
?or#: #58293 - Rework experimental preload entries handling: #64125
- Fix @opentelemetry/api aliasing for webpack: #64085
- style(dev-overlay): refine the error message header styling: #63823
- hotfix(next):
next lintinstallseslint@9which includes breaking changes: #64141 - feat(turbopack): Align behavior for
link rel="preconnect"with webpack mode: #64011 - feat: allow
module: Preservetsconfig option: #64110 - ensure seeded prefetch entry is renewed after expiry: #64175
- Fix hydration error higlight when tag matched multi times: #64133
- test(turbopack): Add -Wl,--warn-unresolved-symbols to next-swc-napi on Linux: #64049
- feat: Do not mangle
AbortSignalto avoid breakingnode-fetch: #58534 - Turbopack: prefer local opentelemetry version: #64206
- chore: externalize undici for bundling: #64209
- Add a mode to next build to make it easier to debug memory issues: #63869
- forward missing server actions to valid worker if one exists: #64227
- feat(next/image): add
overrideSrcprop: #64221 - fix(fetch-cache): add check for updated tags when checking same cache key: #63547
- provide revalidateReason to getStaticProps: #64258
- chore(cli): fix the order
--experimental-debug-memory-usageso it's alphabetical: #64264 - update turbopack: #64257
- chore: fix some typos: #64276
- Ensure configuration is checked for Turbopack build: #64247
- Update font data: #64277
- Fix css FOUC in dynamic component: #64294
- [turbopack] Fix css FOUC in dynamic component: #64021
- fix: show the error message if
images.loaderFiledoesn't export a default function: #64036
Documentation Changes
- docs: Improve
useSearchParamsbailout error page: #60852 - docs: fix JS/TS code block: #60854
- Docs: Update parallel routes docs, add
default.jspt 1.: #60806 - docs: another fix for code block: #60856
- correct description of
skipMiddlewareUrlNormalizein advanced middleware flags: #60841 - Adds a link to CSP where it's first referenced in the headers docs: #60871
- Add documentation page on video optimization: #60574
- docs: small tweaks on video docs: #60902
- docs: small tweak to videos: #60904
- docs: clarify redirects behavior with pages router: #60610
- docs: mention missing optimized by default packages in
optimizePackageImports: #60058 - Improves generateViewport documentation: #60396
- docs: streaming while self-hosting must disable buffering: #60943
- Update userScalable property in viewport object and user-scalable in meta tag: #60946
- docs: updated the getStaticProps function name: #60949
- update edge and nodejs runtime doc: #60801
- Docs: Add link to bloom filter example: #60987
- Update code example on 01-pages-and-layouts.mdx: #60963
- docs: clarify nginx buffering disable: #61010
- Docs: Share Redirecting docs with /pages: #61083
- Fix
<AppOnly>typo in docs: #61103 - Docs: Correct JavaScript React Component File Extension to .jsx in '01-vitest.mdx': #61087
- Docs: Update wording on opting out of the Router Cache: #61123
- Fixed typo in docs: #61118
- Combine Pages/App authentication docs: #60848
- Docs: Add note about calling redirect after
try/catch: #61138 - OpenTelemetry: update docs for new @vercel/otel: #61044
- docs: fix Auth0 typo in authentication: #61171
- Update generate-sitemaps.mdx: #61167
- Add dot to regex chars in rewrites.mdx: #61095
- Refine revalidatePath
typeargument: #61159 - Docs: Add note about
revalidatePathinvalidating router cache: #61142 - Docs: Improve and add new parallel routes examples: #60981
- chore(docs): fix docs for static assets (
public): #61225 - Docs: Adjust message about RootLayout: #61199
- docs: add Lucia auth: #61255
- Make server actions
maxDurationtimeout more clear in documentation: #60005 - docs(02-jest): fixes failing test in the tutorial: #61272
- docs: typo in page title: #61267
- Removed an extra braces and comma from doc (},): #61250
- Docs: Fix headings in Parallel Routes page: #61328
- OpenTelemetry: clarify Edge runtime support: #61338
- chore: update docs around redirect(): #61334
- add the middleware.ts API reference file convention: #61037
- Remove the regions option from the config section of the middleware file conventions doc: #61425
- Docs: Update migration wording for /pages: #61453
- Docs: Add
instrumentation.tsAPI reference, improve instrumentation docs: #61403 - Docs: Document prefetch
nullfor App Router: #61203 - Docs: Add note on
default.jsreceiving params: #61454 - chore(docs): add
// @ts-checktonext.config.jsdocs: #61543 - Update 03-linking-and-navigating.mdx: #61622
- chore(docs): add auto closing tag to
: #61546 - Docs: Add Kinde to authentication docs: #61460
- docs: update useParams examples and pages usage: #61595
- docs: update style9 to stylex: #61646
- Mobile Friendly Test was retired: #61647
- Fixed #61434 : Docs: Duplicated code snippets: #61446
- Add case-sensitive note for revalidateTag/revalidatePath: #61729
- fix: showing incorrect filename in example: #61736
- Update 02-server-actions-and-mutations.mdx: #61756
- Fix closing a modal example in parallel routes docs: #61819
- docs: Example mismatch when changing language JS/TS : #61833
- Fix closing a modal example in parallel routes docs: #61819
- docs: Example mismatch when changing language JS/TS : #61833
- docs: add Page Router only section for beforeInteractive: #61839
- docs: update API reference for ): #61875
- docs: migrating from CRA: #61866
- Docs: Address community feedback: #61857
- docs: follow up from CRA docs: #61893
- docs(cli): fix next info section title and re-order: #61895
- docs: fix typo: #61943
- close the missing
}in javascript function in image docs page: #61934 - chore: fix lint: #61950
- docs(errors): fix typo: #61957
- docs: update Auth.js name to NextAuth.js: #61974
- docs: add link to Blob: #62056
- Add puppeteer-core to serverComponentsExternalPackages.mdx: #62156
- Fix extra
constin video docs: #62155 - Docs: update link.mdx: #61508
- docs: fix srclang prop: #62164
- Fix 02-pages-and-layouts.mdx to show Good to know and contents in the same box: #62203
- docs: fix page.js file name in 02-pages-and-layouts.mdx: #62221
- docs(cli): tweak
next infodocs: #62274 - docs: Update unstable_cache.mdx with important info about dynamic data: #62202
- Fix typo in unstable_cache.mdx: #62301
- docs: add an explanation about prefetch on hover to the link.mdx: #62182
- docs: fix web-vitals.tsx file path for second example: #62387
- better reference for what is serializable by React: #62405
- Updating Cloudinary Video Resources: #61959
- Revert "docs(errors): fix typo": #62411
- docs: add current state argument to authenticate function: #62399
- docs(link): update docs around link prefetch: false: #62414
- chore: Bump actions/cache: #62422
- Docs: Add CORS examples: #62439
- feat(docs): update 14-internationalization.mdx: #62484
- feat(docs): update 02-app-router-migration.mdx: #62533
- docs: fix typo: #62543
- docs: Remove superfluous
tags in api-reference/components/link.mdx: #62501 - docs: fix redirect loop in auth code example: #62589
- docs: Don't suggest using taintUniqueValue API with phone number: #62600
- [docs] update analytics doc to use
useReportWebVitals(again): #62654 - Update 05-error-handling.mdx: #62153
- Correct format for autoplay attribute in NextJS video docs : #62695
- Update unstable_cache docs for revalidate option: #62689
- docs: update Next.js CLI docs: #62304
- docs: clarify client component intro: #62767
- Update sitemap.mdx: #62809
- Update 06-src-directory.mdx to mention Typescript paths: #62863
- Add missing
awaitkeyword in code block.: #62919 - [docs] Fix the TS Type from the function sitemap #62947: #62960
- docs(cli): add mention of our default port behavior: #62964
- docs: sync
serverComponentsExternalPackages.mdxwith implementation: #62966 - Docs: Clarify
fetchcaching exceptions: #63004 - Fix syntax error in the TypeScript example: #63003
- Docs: Clarify
AbortController.signalusage in Reactfetchmemoization: #63009 - Docs: Document
crossOriginoption: #61455 - docs: change the Router Cache link reference: #62976
- Docs: Update CRA migration guide: #63037
- docs: Update route-segment-config.mdx: #63046
- Details for Turbopack loaders.: #62300
- Fix typo in 03-environment-variables.mdx: #63067
- Docs: Note
$ACTION_formData properties: #63048 - docs: clarify perf benefits of RSC: #63096
- Joy-UI supports Next.js: #63144
- Fixed Authentication docs improper nesting of unordered list inside ordered list: #62958
- docs(link): add good to know comment about scroll behavior: #63152
- Update route.mdx: #60976
- docs: replace vercel/otel link to npm: #63173
- docs: fix punctuation: #63223
- Update 02-server-actions-and-mutations.mdx - FormData is itself iterable : #62541
- Update 02-server-actions-and-mutations.mdx - add required generic type and remove unnecessary parameter types: #62551
- docs: Make a better sentence by connecting with comma: #63355
- docs: fix typo in
route-segment-config.mdx: #63362 - docs: add Lucia for authentication: #63339
- docs: fix next/script example causing hydration errors: #63401
- Rename variable in documentation example: #63425
- docs: add AWS CloudFront loader for
next/image: #63262 - Update generate-viewport.mdx: #63493
- Update react-hydration-error.mdx: #63455
- Update a third-parties docs, GoogleTagManager example: #63448
- Update opentelemetry docs #63443: #63444
- Update middleware matcher docs to mention has matching: #63533
- chore(docs): update React docs link: #63594
- Update 10-custom-server.mdx: #63543
- docs:
asyncis missing in a server component: #63661 - Fix documentation of supported JS Features: #63640
- Remove obsolete
block-all-mixed-contentCSP directive: #63595 - Update middleware docs to include common use cases : #63534
- Update default.mdx: #63678
- Update Turbopack docs: #63759
- Add note about data cache not applying middleware: #63842
- docs: add details about
imagesoptions atnext.config.jsoptions: #63712 - Add documentation on debugging memory usage: #63689
- change aria-disabled on form buttons to disabled: #63852
- [docs]
aria-disableddoes not disabled button.: #63888 - Fix the command to run next build with Node.js --heap-prof flag: #63982
- "const loginSegment =" should be singular: #64029
- docs: fix dynamic searchParams copy: #64038
- Update sitemap.mdx: #64061
- docs: fix prefetching information: #64039
- fix the command to install nextjs using bun: #64081
- docs: add experimental staleTimes resource: #64040
- docs: fix code snippet in next/script: #64119
- chore: Replaced more impactful words: #63835
- docs: improve prerender error message: #64154
- fix: Update install method for Bun: #64151
- docs: add note about streaming and Safari limitations: #64179
- Add additional links to staleTime docs: #64195
- fix(docs): update width height value on example to sync with demo: #64147
- docs(cli): re-order profile to match help output: #64267
- chore(docs): update wrong route in staleTimes.mdx: #64278
- Update documentation on webpack loaders in Turbopack: #64296
Example Changes
- upgrade @types/react-dom to v18.2.18 to import
useFormStatefor server actions in with-supabase example: #60822 - Updates with-supertokens example app: #60901
- chore: remove lock from with-algolia-react-instantsearch example: #60910
- Update Redis Cache example with stabilized API: #60800
- Change "pages" to "apps" in the Image Component Example description.: #60929
- example: Add Stripe embedded Checkout example : #60378
- example(with-stripe-typescript):
use clientrequired for error components: #61214 - fix(with-stripe-typescript): Bump
apiVersionwhen initialising Stripe client: #61217 - chore(examples): switch default from yarn to npm in Dockerfiles: #61348
- Update
blog-starterto App Router: #61170 - fix: dockerfile npm run build: #61466
- fix(with-docker): resolve build with pnpm: #61529
- Fixing a case sensitivity error: #61563
- enhancement(with-supabase): replace getSession() with getUser(): #61564
- chore(examples): deduplicate react-dom imports in add-form.tsx: #61751
- Clean up with-supabase example: #61799
- Clean up with-supabase example: #61799
- Turbopack issue report tests: #61845
- fix(examples):
cache-handler-redisimplementation may cause error"Socket already opened"on production: #61978 - fix: Check if the GET comments response was ok, otherwise throw: #62041
- Patch 2: #62147
- Add protected page and pending state to with-supabase example: #62211
- fix: 💯 typescript issue with-jest example: #62227
- Update
with-reduxexample to match the guide in Redux Toolkit docs: #59864 - Update examples/active-class-name: #62506
- examples: add favicon.ico for to avoid browser requests: #62511
- chore(examples): fix
with-cypressbuild: #62614 - Update with-react-bootstrap to be Turbopack compatible: #62773
- Fix invalid / import in with-facebook-pixel example: #62772
- Update with-emotion example: #62771
- Fix error in api-routes-middleware example: #62788
- Fix cms-plasmic example: #62790
- Update auth-with-stytch example to link to the official guide: #62770
- Update with-webassembly example to fix hydration error: #62807
- Link to iron-session example: #62808
- Add missing dependencies to with-mdbreact: #62810
- Remove with-semantic-ui example: #62811
- Remove with-reasonml-todo example: #62812
- Remove deprecated library example: #62813
- Fix react-native-web example for Turbopack: #62814
- Fix with-quill-js example: #62819
- Fix with-supertokens example: #62817
- Fix with-passport-and-next-connect import: #62874
- Remove cms-keystonejs-embedded and link to official docs: #62876
- Fix with-joi example: #62877
- chore: migrate
basic-cssexample from page router to app router: #62980 - with-mux-video: move to app router and update packages: #62297
- chore(blog-starter): update import paths to use aliases: #62986
- Switch CodeSandbox repros to pnpm: #63038
- fix internal Markdown links in Sanity example readme: #63069
- Update Sanity example for App Router: #63045
- fix(examples): dynamically update page title: #63110
- fix: permissions in with-docker example: #63134
- Allow unsafe-eval during development: #55998
- Revert "fix: permissions in with-docker example": #63165
- chore(examples): remove duplicate line in .gitignore for progressive-web-app example: #63207
- Update Sanity example for App Router: #63187
- Fix pnpm support in Sanity example: #63249
- Update to the Stable API: #60493
- Migrate the with-jotai example from page router to app router: #63390
- update Docker examples to specify HOSTNAME properly: #59756
- Update Sanity example deps: #63514
- Fix(example) : Image missing width property in with-redux example: #63546
- Fix duplication of
withouton with-docker-compose Readme: #63643 - chore(examples): migrate mdx from pages router (JS) to app router (TS): #63646
- Revert "chore(examples): migrate mdx from pages router (JS) to app router (TS)": #63704
- fix: file name in with-zustand example: #63925
- Fix last examples for Turbopack: #64020
- fix(examples): invalid
with-apolloandwith-graphql-hooks: #64186
Misc Changes
- Fix last stable tag for release stats: #60850
- chore: update issue_popular workflow to 90 days: #60860
- Update Turbopack test manifest: #60870
- flag test as failing: #60892
- chore: fix core team members: #60900
- Fix basic-app benchmark application: #60842
- Fix image-optimizer tests for Turbopack: #60972
- Fix image-optimizer test for Turbopack: #60978
- Skip @next/font tests in Turbopack as next/font is supported: #60982
- chore: stricter reproduction links: #60988
- Rust: update
httpto 0.2.11: #60986 - chore: upgrade pnpm to 8.14.2: #60995
- docs: fix rustup download link: #61007
- Fix ReactRefreshModule test in Turbopack: #61049
- Skip configurable runtime warnings tests in Turbopack: #61048
- Acceptance/error-recovery.test.js: Fork Turbopack test: #61051
- lock reqwest to 0.11.17 due to build issues: #61076
- Update Turbopack test manifest: #61074
- Disable Yarn PnP tests for Turbopack: #61040
- fix: github reproduction link validation: #61026
- Fix image-from-node-modules tests in Turbopack: #61078
- Update invalid-image-import test for Turbopack: #61079
- Fix next-image static tests for Turbopack: #61081
- Update next-image-new/default for Turbopack: #61096
- chore: update issue_popular description to 90 days: #61008
- Update next-image-new/both-basepath-trailingslash for Turbopack: #61097
- ci(workflow): update artifact actions: #61061
- Add missing rootlayout to allow-underscored-root-directory test: #61137
- Skip CSS Modules composes test in Turbopack: #61141
- Add passing test to Turbopack manifest: #61140
- Skip new Worker() test in Turbopack: #61127
- Fix app-dir/externals for Turbopack: #61150
- ci(workflow): fix wasm upload name collision: #61157
- ci(workflow): fix download artifact pattern for wasm: #61175
- Skip create-root-layout for Turbopack: #61191
- Ensure test upload step fails: #61188
- Skip resolving test in Turbopack: #61207
- Fix next-image-new/asset-prefix for Turbopack: #61224
- Fix edge-light-import-specifier test for Turbopack: #61234
- Update Turbopack test manifest: #61246
- Skip barrel optimization tests in Turbopack: #61253
- Skip build test in Turbopack: #61256
- Skip test that is also skipped in webpack: #61221
- Fix test name for jsconfig-baseurl: #61254
- Fix next-image-legacy/asset-prefix for Turbopack: #61263
- Fix e2e/swc-warnings: #61265
- Fix tests in app-dir-export for Turbopack: #61266
- Skip onlyRemoveTypeImports Babel test for Turbopack: #61268
- Fix data-ampdevmode test for Turbopack: #61271
- Update Turbopack test manifest: #61278
- Fix next-image-legacy/asset-prefix for Turbopack: #61289
- create-next-app: update tailwind packages and new classes in page.tsx: #61065
- Fix app-document-import-order for Turbopack: #61295
- Fix next-image-legacy/base-path for Turbopack: #61311
- Skip browserslistrc tests: #61294
- Fix image-optimizer for Turbopack: #61312
- Fix next-image-new/app-dir for Turbopack: #61282
- Fix areweturboyet test path: #61314
- Remove incorrect test: #61335
- Fix image matcher in test: #61349
- chore: add
good first issuelabel comment: #61215 - chore: use real font files for font tests: #61399
- chore: add
resolvedlabel: #61416 - Update Turbopack test manifest: #61435
- CNA: exclude ts(js)conf.json as well as .git folder: #61412
- remove note about updating next.config with hostname as this is not n…: #61458
- chore(deps): bump
swrto 2.2.4: #61480 - Fix styled-components test for Turbopack: #61496
- Fix emotion test: #61499
- Fix env-config tests for Turbopack: #61503
- chore: update github actions: #61517
- Skip Relay test for Turbopack: #61578
- Update Turbopack test manifest: #61608
- Revert actions/setup-node v4 bump: #61637
- Revert "Revert actions/setup-node v4 bump": #61640
- chore: upgrade turbo to 1.12.2: #61643
- Ensure publish job has correct status on fail: #61645
- Update to latest version of npm for publishing: #61644
- Update Turbopack test manifest: #61626
- Update next/font tests for Turbopack: #61665
- Upload npm publish log as artifact for debugging: #61680
- feat(cna): remove
autoprefixerfrom default templates: #55725 - Fix app-dir/next-font for Turbopack: #61678
- Update Turbopack test manifest: #61707
- test: remove unused directory: #61744
- Update Turbopack test manifest: #61758
- double default stack size: #61781
- chore: add pull_request_popular workflow: #61760
- Turbopack: update more snapshots: #61786
- test: add test for logging trace of dynamic = error: #61811
- test(fixture): separate pnpm cache for the test installation: #61783
- test: add test for logging trace of dynamic = error: #61811
- test(fixture): separate pnpm cache for the test installation: #61783
- chore(test): switch a few tests from yarn to pnpm: #61793
- chore: rename job in pull_request_popular workflow: #61876
- chore: Update pnpm v8.14.2 to 8.15.1: #61807
- chore: auto-close non-labeled issues
- Merge branch 'canary' of https://github.com/vercel/next.js into canary
- chore(github-workflow): dynamically create pr list (> 1 +1 reaction): #61963
- chore(github-workflow): update pull_request_popular name: #61967
- test(fixture): fix manifest update: #61970
- test(turbopack): Modify a webpack-specific assertion: #62028
- test: rename node_modules_bak to node_modules: #62066
- test: Make css deduplication assertion work for turbopack: #62128
- chore: update test template to use
nextTestSetup: #62154 - Fix sendGAEvent function : #62065
- Fix sendGAEvent function (for real?): #62192
- test: Make css bundle assertion work also for turbopack: #62127
- docs: remove reference to
createNextDescribein favor ofnextTestSetup: #62245 - Update Turbopack test manifest: #62268
- tests are no longer flaky: #62278
- fix(create-next-app): add --no-import-alias for non-interactive: #62035
- Move scss tests into test/integration/scss directory: #62276
- Move scss tests into individual directories: #62277
- Update Turbopack test manifest: #62314
- Fix test flake: #62379
- Update Turbopack test manifest: #62389
- Update Turbopack test manifest: #62433
- Turbopack: skip tests for import trace links: #61831
- Update Turbopack test manifest: #62476
- Revert "Update Turbopack test manifest": #62534
- test: separate mui barrel optimization test: #62545
- test: also check source code for node:internal related errors: #62542
- chore: update non-interactive snippet in
README.md: #62493 - Fix the typo in the GTM URL if the dataLayerName property is configured: #62436
- fix(build-output): show stack during CSR bailout warning
- fix flakey navigation test: #62598
- chore: drop
npm-run-all: #62642 - ci(workflow): fix 403 redirect: #62665
- Revert "chore: drop
npm-run-all": #62700 - Update Turbopack test manifest: #62674
- Migrate Sass tests to test/e2e: #62321
- Update Turbopack test manifest: #62715
- Revert "Migrate Sass tests to test/e2e": #62735
- chore: add new codeowners for cli refactor: #62749
- Update error handling in publish scripts: #62754
- Fix conflicting-app-page-error test for Turbopack: #62747
- Update start release handling: #62851
- Update canary semver handling: #62852
- Use actions/checkout for trigger release: #62854
- Fix handling for getting latest stable tag: #62858
- test(fixture): update snapshot: #62894
- Update to only use preminor when configured: #62904
- set persist-credentials: false during release workflow: #62905
- test(integration-cli): fix test name: #62915
- Update Turbopack test manifest: #62925
- Add CI check to validate externals doc: #62968
- chore: update pnpm version from 8.15.1 to 8.15.4: #62979
- Update Turbopack test manifest: #62981
- Move timeout to test step and give whole job a bigger timeout: #62997
- fix broken create-next-app tests: #63019
- fix flakey app-action test: #63021
- fix flakey HMR test: #63022
- fix transpile-packages test: #63023
- Fix flaky test by removing unecessary NODE_OPTIONS='--inspect': #63025
- fix dynamic api route test: #63027
- test(scss): rename test suites: #63060
- test(manifest): upload areweturboyet kv from test manifest: #63064
- Update Turbopack test manifest: #63066
- chore(test): add test for next/image in node_modules with app router: #63139
- Remove unnecessary 'await' from writeSema.release() call: #63117
- Switch to .cjs PostCSS config: #58380
- Update Turbopack test manifest: #63125
- chore: upgrade turbo to 1.12.5: #63163
- Fix trigger_release workflow to not publish empty canaries: #63167
- Update Turbopack test manifest: #63177
- Update Turbopack test manifest: #63231
- Add tarball deployments for each build: #62969
- Update Turbopack test manifest: #63274
- chore(test): fix typo occured => occurred: #63287
- Update Turbopack test manifest: #63316
- test(fixture): update middleware test fixture & manifest: #63340
- reenable initially skipped tests: #63347
- Update Turbopack test manifest: #63356
- Update Turbopack test manifest: #63370
- Skip worker test in Turbopack: #63398
- Update switchable runtime snapshot for Turbopack: #63400
- [Turbopack] update tokio: #63404
- Update Turbopack workflows to have clearer names: #63407
- Switch to postcss.config.mjs, add type: #63380
- Turbopack HMR: use own snapshot in error-recovery: #63417
- ci(workflow): fix workflow references: #63437
- Upgrade popular-issues and popular-prs workflows: #63436
- Update Turbopack test manifest: #63452
- Rename turbopack-tests-manifest to turbopack-dev-tests-manifest: #63409
- Implement Turbopack build manifest update: #63461
- Unique name for production integration tests: #63468
- Add unique name for GitHub action steps: #63471
- Use type production for Turbopack tests: #63473
- Ensure NEXT_TEST_MODE is set for production run: #63474
- Skip test/integration in Turbopack build runs: #63480
- test: switch order of tests to avoid flakniess: #63482
- Don't download latest test result when reporting manifest: #63488
- refactor(test): expose test mode as re-exported variables: #63240
- Split dev and build test run for Turbopack: #63511
- Add reporting of turbopack-dev-examples-manifest.json: #63521
- chore: fix stale issue closing GH Action: #63523
- retry pnpm pack: #63519
- refactor(test): don't use
global as anyin test utils: #63241 - test(fixture): update test fixture: #63498
- refactor(test): switch tests to use
pnpmin more places: #63196 - chore(test): fix false-positive tests: #63242
- Fix edge-can-use-wasm-files test for Turbopack: #63552
- Update Turbopack to turbopack-240321.3: #63585
- Add failing test for SCSS mixin that uses parenthesis: #63562
- test(manifest): update manifest: #63613
- add Janka (@lubieowoce) to "created-by: Next.js team" in labeler config: #63618
- Update Turbopack development test manifest: #63635
- Remove Turbopack test skip for scss test: #63649
- Add TURBOPACK_DEV to distinguish dev/build in test suite: #63653
- Rename process.env.TURBOPACK -> process.env.TURBOPACK_DEV in test skips: #63665
- add Sebastian (eps1lon) to "created-by: next.js team" in labeler config: #63669
- Skip test/integration development tests during Turbopack build test run: #63671
- Enable test/integration for TURBOPACK_BUILD: #63679
- Add defaults for integration test run schedule: #63684
- refactor: unnecessary ternary operator: #63374
- Update Turbopack production test manifest: #63688
- Revert "Update Turbopack production test manifest": #63699
- Revert "Revert "Update Turbopack production test manifest"": #63700
- Ensure production integration test results are uploaded: #63706
- Fix name of production tests for collection: #63714
- Update Turbopack development test manifest: #63716
- Ensure test-firefox-safari is required for tests passing: #63733
- chore(github-workflow): remove TODO comment: #63737
- de-flake prerender-prefetch test: #63739
- improve tilde test case: #63470
- Update Turbopack development test manifest: #63751
- Improve handling of failed
nextBuild()calls in test suite: #63717 - Update Turbopack development test manifest: #63776
- Ensure automated-update-workflow fails on errors: #63807
- fix flaky prerender test: #63826
- Use local AMP validator to reduce test flakiness: #63838
- Skip failing Turbopack build test: #63814
- Add job to test flakiness of added/changed tests: #63943
- Tweak flakey on-demand revalidate test: #63953
- test: Use the correct chunk path for testing: #63859
- Update Turbopack development test manifest: #63959
- fix server-actions-relative-redirect types: #63985
- Parallelize dev/start flake detection: #63954
- fix(create-next-app): validate --import-alias value: #63855
- de-flake custom-error integration test: #63994
- Update flakey prerender fallback test: #64001
- docs: add link to Next.js Learn repo in issue template switcher: #63964
- Increase concurrent of daily Turbopack test runs: #63939
- test(cna): split and refactor: #63921
- Ensure test flake detection is required status: #64035
- Update Turbopack development test manifest: #64055
- Run compile for .github/actions/upload-turboyet-data: #64025
- test: Use the correct matcher pattern for stack traces: #63927
- Update Turbopack development test manifest: #64101
- Fix missing CNA tests env variable: #64092
- Always throw error when build fails during test: #64116
- Update Turbopack development test manifest: #64160
- Update Turbopack development test manifest: #64190
- Add additional logs to next-integration-stat: #64169
- chore(deps): Sync dependencies: #64094
- test: pin eslint version to 8 in test to avoid breaking changes: #64202
- Stop using
baseUrlin root tsconfig: #64117 - chore: Fix CI: #64233
- test: Disable
next buildtest for turbopack: #64236 - Update Turbopack development test manifest: #64285
- Update turbopack-build-manifest: #64290
- add test-turbo command: #64284
Credits
Huge thanks to @ijjk, @leerob, @delbaoliveira, @taishikato, @JesseKoldewijn, @samcx, @Evavic44, @feugy, @sokra, @balazsorban44, @liamlaverty, @dvoytenko, @StephDietz, @SukkaW, @wbinnssmith, @rishabhpoddar, @Ethan-Arrowood, @better-salmon, @ziyafenn, @A7med3bdulBaset, @jasonuc, @yossydev, @Prachi-meon, @timneutkens, @InfiniteCodeMonkeys, @huozhi, @ForsakenHarmony, @miketimmerman, @kwonoj, @ztanner, @williamli, @gnoff, @kdy1, @jsteele-stripe, @chungweileong94, @styfle, @shuding, @WITS, @sogoagain, @junioryono, @eisafaqiri, @yannbolliger, @feedthejim, @aramikuto, @rocketman-21, @kenji-webdev, @michaelpeterswa, @Dannymx, @vpaflah, @zeevo, @chrisweb, @stefangeneralao, @tknickman, @Kikobeats, @ubinatus, @code-haseeb, @hmmChase, @byhow, @DanielRivers, @wojtekmaj, @paramoshkinandrew, @OMikkel, @theitaliandev, @oliviertassinari, @Ishaan2053, @Sandeep-Mani, @alyahmedaly, @Lezzio, @devjiwonchoi, @juliusmarminge, @wyattjoh, @szmazhr, @eddiejaoude, @itz-Me-Pj, @AndersDJohnson, @gentamura, @tills13, @dijonmusters, @SaiGanesh21, @vordgi, @ryota-murakami, @tszhong0411, @officialrajdeepsingh, @alexpuertasr, @AkifumiSato, @Jonas-PFX, @icyJoseph, @florian-lp, @pbzona, @erfanium, @remcohaszing, @bernardobelchior, @willashe, @kevinmitch14, @smakosh, @mnjongerius, @asobirov, @theoholl, @suu3, @ArianHamdi, @adrianha, @Sina-Abf, @kuzeykose, @meenie, @nphmuller, @javivelasco, @belgattitude, @Svetoslav99, @johnslemmer, @colbyfayock, @mehranmf31, @m-nakamura145, @ryo8000, @aryaemami59, @bestlyg, @jinsoul75, @petrovmiroslav, @nattui, @zhuyedev, @dongwonnn, @nhducit, @flotwig, @Schmavery, @abhinaypandey02, @rvetere, @coffeecupjapan, @cjimmy, @Soheiljafarnejad, @jantimon, @zengspr, @wesbos, @neomad1337, @MaxLeiter, @devr77, @jcbhmr, @AlmazHecker, @tdanecker, @rezof, @ryanhalliday, @KaygNas, @elenistvr, @jmikrut, @ariannargesi, @lhfmartin, @decepulis, @nauvalazhar, @dnhn, @karlhorky, @anthonyshew, @Fingel, @alexravenna, @mattddean, @stipsan, @caseyocampo, @KimJeonghun91, @pacexy, @Kinbaum, @devnyxie, @sleepdotexe, @apostolos, @landoncolburn, @yuvalotem, @maksympc, @chironjit, @pwbriggs, @ellertsmari, @michaltarasiuk, @phanect, @saul-atomrigs, @chogyejin, @rwieruch, @TryingToImprove, @KonkenBonken, @piotrekwitkowski, @chrisjstott, @fursich, @ValentinH, @LuiGeeDev, @raferdev, @ctkc, @FoSuCloud, @arcanis, @agadzik, @bb8dd, @SouthLink, @lubieowoce, @setodeve, @ykzts, @Juneezee, @grajen3, @IvoBiaus, @mknichel, @vespertilian, @evelynhathaway, @Netail, @byseop, @CreeJee, @ademilter, @kevva, @fellipeutaka, @mindmind, @Eunkyung-Son, @thekavikumar, @technikhil314, @Dragate, @Pyr33x, @Zaid-maker, @bgw, @hjick, @eps1lon, @ahmoin, @tjabbe, and @ojj1123 for helping!
Core Changes
- Turbopack: import webpack loader rules conditions: #64205
- update turbopack: #64347
Misc Changes
- Ensure build-native is in needs properly: #64357
Credits
Huge thanks to @sokra and @ijjk for helping!
Core Changes
- build: Update
swc_coretov0.90.30: #63790 - Escape url-unsafe characters in names of app router scripts and styles: #64131
- Inject preview props into edge manifest: #64108
- Revert "build: Update
swc_coretov0.90.30": #64329 - metadata: prefer og title rather than metadata title for fallback twitter title: #64331
Documentation Changes
- Docs: Instructions on how to generate turbopack trace file: #64325
Misc Changes
- Add Ben's handle to labeler: #64312
- chore: add test mapping script: #63757
Credits
Huge thanks to @kdy1, @wbinnssmith, @padmaia, @balazsorban44, @huozhi, @sokra, and @delbaoliveira for helping!
Core Changes
- chore: fix some typos: #64276
- Ensure configuration is checked for Turbopack build: #64247
- Update font data: #64277
- Fix css FOUC in dynamic component: #64294
- [turbopack] Fix css FOUC in dynamic component: #64021
- fix: show the error message if
images.loaderFiledoesn't export a default function: #64036
Documentation Changes
- chore(docs): update wrong route in staleTimes.mdx: #64278
- Update documentation on webpack loaders in Turbopack: #64296
Misc Changes
- Update Turbopack development test manifest: #64285
- Update turbopack-build-manifest: #64290
- add test-turbo command: #64284
Credits
Huge thanks to @ahmoin, @tjabbe, @timneutkens, @huozhi, @sokra, and @ojj1123 for helping!
Core Changes
- feat: Do not mangle
AbortSignalto avoid breakingnode-fetch: #58534 - Turbopack: prefer local opentelemetry version: #64206
- chore: externalize undici for bundling: #64209
- Add a mode to next build to make it easier to debug memory issues: #63869
- forward missing server actions to valid worker if one exists: #64227
- feat(next/image): add
overrideSrcprop: #64221 - fix(fetch-cache): add check for updated tags when checking same cache key: #63547
- provide revalidateReason to getStaticProps: #64258
- chore(cli): fix the order
--experimental-debug-memory-usageso it's alphabetical: #64264 - update turbopack: #64257
Documentation Changes
- docs(cli): re-order profile to match help output: #64267
Misc Changes
- chore: Fix CI: #64233
- test: Disable
next buildtest for turbopack: #64236
Credits
Huge thanks to @kdy1, @sokra, @huozhi, @mknichel, @ztanner, @styfle, and @samcx for helping!
Core Changes
- feat(turbopack): Align behavior for
link rel="preconnect"with webpack mode: #64011 - feat: allow
module: Preservetsconfig option: #64110 - ensure seeded prefetch entry is renewed after expiry: #64175
- Fix hydration error higlight when tag matched multi times: #64133
- test(turbopack): Add -Wl,--warn-unresolved-symbols to next-swc-napi on Linux: #64049
Documentation Changes
- docs: add note about streaming and Safari limitations: #64179
- Add additional links to staleTime docs: #64195
- fix(docs): update width height value on example to sync with demo: #64147
Example Changes
- fix(examples): invalid
with-apolloandwith-graphql-hooks: #64186
Misc Changes
- Update Turbopack development test manifest: #64160
- Update Turbopack development test manifest: #64190
- Add additional logs to next-integration-stat: #64169
- chore(deps): Sync dependencies: #64094
- test: pin eslint version to 8 in test to avoid breaking changes: #64202
- Stop using
baseUrlin root tsconfig: #64117
Credits
Huge thanks to @kdy1, @timneutkens, @juliusmarminge, @leerob, @ztanner, @devjiwonchoi, @huozhi, @bgw, @hjick, and @eps1lon for helping!
Documentation Changes
- docs: improve prerender error message: #64154
- fix: Update install method for Bun: #64151
Credits
Huge thanks to @leerob and @Zaid-maker for helping!
Core Changes
- hotfix(next):
next lintinstallseslint@9which includes breaking changes: #64141
Credits
Huge thanks to @devjiwonchoi for helping!
Core Changes
- style(dev-overlay): refine the error message header styling: #63823
Documentation Changes
- chore: Replaced more impactful words: #63835
Misc Changes
- Always throw error when build fails during test: #64116
Credits
Huge thanks to @timneutkens, @Pyr33x, and @huozhi for helping!
Core Changes
- perf: improve next server static performance: #64098
- fix(log): tweak coloring: #64106
- Ensure static generation storage is accessed correctly: #64088
- Ensure empty config with Turbopack does not show webpack warning: #64109
- fix encoding for filenames containing
?or#: #58293 - Rework experimental preload entries handling: #64125
- Fix @opentelemetry/api aliasing for webpack: #64085
Documentation Changes
- docs: fix code snippet in next/script: #64119
Misc Changes
- Update Turbopack development test manifest: #64101
- Fix missing CNA tests env variable: #64092
Credits
Huge thanks to @SukkaW, @balazsorban44, @wyattjoh, @timneutkens, @ijjk, @Dragate, @sokra, and @dvoytenko for helping!
Core Changes
- Update rust-toolchain to
nightly-2024-04-03: #64048 - fix refreshing inactive segments that contained searchParams: #64086
Credits
Huge thanks to @wbinnssmith and @ztanner for helping!
Core Changes
- feat(turbopack): Print error message for
next/fontfetching failure: #64008 - Fix status code for /_not-found route: #64058
- fix: fixes cookie override during redirection from server action: #61633
- Add flag for preloading all server chunks: #64084
Documentation Changes
- Update sitemap.mdx: #64061
- docs: fix prefetching information: #64039
- fix the command to install nextjs using bun: #64081
- docs: add experimental staleTimes resource: #64040
Misc Changes
- Update Turbopack development test manifest: #64055
- Run compile for .github/actions/upload-turboyet-data: #64025
- test: Use the correct matcher pattern for stack traces: #63927
Credits
Huge thanks to @timneutkens, @Eunkyung-Son, @kdy1, @ztanner, @huozhi, @thekavikumar, @technikhil314, and @ijjk for helping!
Core Changes
- fix(turbopack): throws api issues: #64032
- fix(turbopack): emit loadable manifest for app: #64046
Documentation Changes
- "const loginSegment =" should be singular: #64029
- docs: fix dynamic searchParams copy: #64038
Misc Changes
- test(cna): split and refactor: #63921
- Ensure test flake detection is required status: #64035
Credits
Huge thanks to @mindmind, @devjiwonchoi, @ijjk, @ztanner, and @kwonoj for helping!
Core Changes
- fix(log): skip logging non-route requests: #63973
- Ensure unstable_cache bypasses for draft mode: #64007
- fix interception route refresh behavior with dynamic params: #64006
Example Changes
- Fix last examples for Turbopack: #64020
Misc Changes
- docs: add link to Next.js Learn repo in issue template switcher: #63964
- Increase concurrent of daily Turbopack test runs: #63939
Credits
Huge thanks to @balazsorban44, @timneutkens, @ijjk, and @ztanner for helping!
Core Changes
- fix server actions not bypassing prerender cache in all cases when deployed: #63978
- fix(next):
next build --debuglog output layout is broken: #63193 - Fix abort condition for requests: #64000
Misc Changes
- Update flakey prerender fallback test: #64001
Credits
Huge thanks to @ztanner, @devjiwonchoi, and @ijjk for helping!
Core Changes
- fix: pass
noncetonext/scriptwithafterInteractivestrategy: #56995 - add experimental client router cache config: #62856
- add telemetry events for ppr & staleTimes experimental flags: #63981
Documentation Changes
- Fix the command to run next build with Node.js --heap-prof flag: #63982
Misc Changes
- test: Use the correct chunk path for testing: #63859
- Update Turbopack development test manifest: #63959
- fix server-actions-relative-redirect types: #63985
- Parallelize dev/start flake detection: #63954
- fix(create-next-app): validate --import-alias value: #63855
- de-flake custom-error integration test: #63994
Credits
Huge thanks to @kevva, @kdy1, @ztanner, @mknichel, @ijjk, and @fellipeutaka for helping!
Core Changes
- fix logic error in parallel route catch-all normalization: #63879
- ensure custom amp validator path is used if provided: #63940
- chore: remove useless any: #63910
- Update hover behaviour note in Link JSDoc comment: #60525
Example Changes
- fix: file name in with-zustand example: #63925
Misc Changes
- Skip failing Turbopack build test: #63814
- Add job to test flakiness of added/changed tests: #63943
- Tweak flakey on-demand revalidate test: #63953
Credits
Huge thanks to @timneutkens, @ztanner, @CreeJee, @nphmuller, @ijjk, and @ademilter for helping!
Documentation Changes
- [docs]
aria-disableddoes not disabled button.: #63888
Credits
Huge thanks to @byseop for helping!
Core Changes
- fix: skip checking rewrites with an empty has array in isInterceptionRouteRewrite: #63873
- fix: bundle fetching with asset prefix: #63627
Credits
Huge thanks to @evelynhathaway and @Netail for helping!
Core Changes
- fix(next-typescript-plugin): allow call expression for server actions: #63748
- fix: avoid metadata viewport warning during manually merging metadata: #63845
- feat(next-core): set nextconfigoutput correctly: #63848
- Ensure we dedupe fetch requests properly during page revalidate: #63849
- feat(next-swc): Pass names of side-effect-free packages: #63268
- fix(turbopack): loosen warning log guards: #63880
Documentation Changes
- Add note about data cache not applying middleware: #63842
- docs: add details about
imagesoptions atnext.config.jsoptions: #63712 - Add documentation on debugging memory usage: #63689
- change aria-disabled on form buttons to disabled: #63852
Credits
Huge thanks to @ijjk, @devjiwonchoi, @huozhi, @kwonoj, @mknichel, @kdy1, and @vespertilian for helping!
Core Changes
- feat(custom-transforms): partial page-static-info visitors: #63741
- Ensure Webpack config shows a warning when using Turbopack: #63822
- feat(turbopack): emit warning into logger: #63780
- feat(custom-transform): more static info warning: #63837
- skip HEAD request in server action redirect: #63819
- OTEL: use the current context when creating a root span: #63825
- Turbopack: Fail when
next/fontis used in_document: #63788 - Move key generation to the earlier stage: #63832
- fix double redirect when using a loading boundary: #63786
- fix: default relative canonical url should not contain search: #63843
Misc Changes
- fix flaky prerender test: #63826
- Use local AMP validator to reduce test flakiness: #63838
Credits
Huge thanks to @ztanner, @kwonoj, @timneutkens, @ijjk, @dvoytenko, @wbinnssmith, @shuding, and @huozhi for helping!
Core Changes
- fix revalidation/refresh behavior with parallel routes: #63607
- fix router revalidation behavior for dynamic interception routes: #63768
Misc Changes
- Ensure automated-update-workflow fails on errors: #63807
Credits
Huge thanks to @timneutkens and @ztanner for helping!
Misc Changes
- Update Turbopack development test manifest: #63776
Core Changes
- Fix ServerAction rejection reason: #63744
- Respect non 200 status to page static generation response: #63731
- Turbopack: parallelize app structure: #63707
- fixes to next.js tracing: #63673
- fext(next-core): inherit root layout segment config for the routes: #63683
- add tracing to server actions transform: #63773
- remove left-over debugging: #63774
- update turbopack: #63778
Documentation Changes
- Update Turbopack docs: #63759
Misc Changes
- improve tilde test case: #63470
- Update Turbopack development test manifest: #63751
- Improve handling of failed
nextBuild()calls in test suite: #63717
Credits
Huge thanks to @gnoff, @sokra, @timneutkens, @huozhi, and @kwonoj for helping!
Core Changes
- generate the same next/font modules for the same options: #63513
- feat(log): improve dev/build logs: #62946
- Update font data: #63691
- Polish dev-overlay text styling: #63721
- [PPR] Dynamic API Debugging: #61798
- Rename encryption key generation code: #63730
- ensure null loading boundaries still render a Suspense boundary: #63726
- perf: download and save mkcert in stream: #63527
- prevent router markers from leaking: #63606
- Turbopack: fix allocation inefficiency: #63738
Documentation Changes
- Update default.mdx: #63678
Example Changes
- Revert "chore(examples): migrate mdx from pages router (JS) to app router (TS)": #63704
Misc Changes
- Update Turbopack production test manifest: #63688
- Revert "Update Turbopack production test manifest": #63699
- Revert "Revert "Update Turbopack production test manifest"": #63700
- Ensure production integration test results are uploaded: #63706
- Fix name of production tests for collection: #63714
- Update Turbopack development test manifest: #63716
- Ensure test-firefox-safari is required for tests passing: #63733
- chore(github-workflow): remove TODO comment: #63737
- de-flake prerender-prefetch test: #63739
Credits
Huge thanks to @timneutkens, @sokra, @balazsorban44, @huozhi, @wyattjoh, @shuding, @ztanner, @ijjk, @samcx, @SukkaW, and @IvoBiaus for helping!
Core Changes
- fix(dev-overlay): align codeframe to formatIssue: #63624
- Improve TypeScript plugin for server boundary: #63667
- perf: conditionally import Telemetry: #63574
- feat(error-overlay): style tweaks: #63522
- Auto map optimizePackageImports to transpilePackages for pages: #63537
- Add Next.js version to process title: #63686
Documentation Changes
- Remove obsolete
block-all-mixed-contentCSP directive: #63595 - Update middleware docs to include common use cases : #63534
Example Changes
- chore(examples): migrate mdx from pages router (JS) to app router (TS): #63646
Misc Changes
- Skip test/integration development tests during Turbopack build test run: #63671
- Enable test/integration for TURBOPACK_BUILD: #63679
- Add defaults for integration test run schedule: #63684
- refactor: unnecessary ternary operator: #63374
Credits
Huge thanks to @kwonoj, @Juneezee, @shuding, @timneutkens, @grajen3, @balazsorban44, @ijjk, @StephDietz, @michaltarasiuk, and @ariannargesi for helping!
Core Changes
- Update turbopack: #63541
- Fix RSC react-dom aliases for edge: #63619
- Move Playwright to be a peerDependency of next.js: #63530
Documentation Changes
- docs:
asyncis missing in a server component: #63661 - Fix documentation of supported JS Features: #63640
Example Changes
- Fix duplication of
withouton with-docker-compose Readme: #63643
Misc Changes
- Add TURBOPACK_DEV to distinguish dev/build in test suite: #63653
- Rename process.env.TURBOPACK -> process.env.TURBOPACK_DEV in test skips: #63665
- add Sebastian (eps1lon) to "created-by: next.js team" in labeler config: #63669
Credits
Huge thanks to @kdy1, @timneutkens, @lubieowoce, @nauvalazhar, @setodeve, @agadzik, and @ykzts for helping!
Misc Changes
- Remove Turbopack test skip for scss test: #63649
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- fix(next-core): refine context for unsupported edge imports: #63622
Misc Changes
- Update Turbopack development test manifest: #63635
Credits
Huge thanks to @kwonoj for helping!
Core Changes
- Add alias for react-dom react-server condition: #63588
- Revert "Revert "feat(next-core): support unsupported module runtime error (#63491)"": #63609
- Enable all pages under the browser context to proxy to the test proxy: #63610
Documentation Changes
- chore(docs): update React docs link: #63594
- Update 10-custom-server.mdx: #63543
Misc Changes
- test(manifest): update manifest: #63613
- add Janka (@lubieowoce) to "created-by: Next.js team" in labeler config: #63618
Credits
Huge thanks to @bb8dd, @SouthLink, @huozhi, @kwonoj, @lubieowoce, and @agadzik for helping!
Core Changes
- the argument might be written with underscores: #63600
- Remove lodash from external packages list: #63601
- upgrade @edge-runtime/cookies: #63602
Misc Changes
- Add failing test for SCSS mixin that uses parenthesis: #63562
Credits
Huge thanks to @sokra, @timneutkens, and @Kikobeats for helping!
Misc Changes
- Update Turbopack to turbopack-240321.3: #63585
Credits
Huge thanks to @wbinnssmith for helping!
Core Changes
- Upgrades enhanced-resolve: #63499
- Improve experimental test proxy: #63567
- Remove the erroring on force-dynamic in static generation for app route: #63526
Example Changes
- Fix(example) : Image missing width property in with-redux example: #63546
Credits
Huge thanks to @FoSuCloud, @arcanis, @agadzik, and @huozhi for helping!
Core Changes
- Turbopack: Fail when module type is unhandled: #63535
- feat(custom-transform): middleware dynamic assert transform: #63538
- fix: call instrumentationHook earlier for prod server: #63536
- Revert "feat(next-core): support unsupported module runtime error (#63491)": #63575
Misc Changes
- chore(test): fix false-positive tests: #63242
- Fix edge-can-use-wasm-files test for Turbopack: #63552
Credits
Huge thanks to @balazsorban44, @wbinnssmith, @kwonoj, @timneutkens, and @styfle for helping!
Core Changes
- route/middleware/instrumentation use server assets instead of client assets: #62134
- feat: add support for localizations in sitemap generator: #53765
Documentation Changes
- Update middleware matcher docs to mention has matching: #63533
Example Changes
- Update Sanity example deps: #63514
Misc Changes
- refactor(test): expose test mode as re-exported variables: #63240
- Split dev and build test run for Turbopack: #63511
- Add reporting of turbopack-dev-examples-manifest.json: #63521
- chore: fix stale issue closing GH Action: #63523
- retry pnpm pack: #63519
- refactor(test): don't use
global as anyin test utils: #63241 - test(fixture): update test fixture: #63498
- refactor(test): switch tests to use
pnpmin more places: #63196
Credits
Huge thanks to @balazsorban44, @timneutkens, @sokra, @ctkc, @kwonoj, @stipsan, and @ijjk for helping!
Core Changes
- Fix interception/detail routes being triggered by router refreshes: #63263
Credits
Huge thanks to @ztanner for helping!
Core Changes
- update turbopack: #63475
- Fix instant loading states after invalidating prefetch cache: #63256
- Update tags limit handling for max items: #63486
- feat(next-core): support unsupported module runtime error: #63491
- Update RSC etag generation handling: #63336
- Simplify
createRootLayoutValidatorStream: #63484
Documentation Changes
- docs: add AWS CloudFront loader for
next/image: #63262 - Update generate-viewport.mdx: #63493
- Update react-hydration-error.mdx: #63455
- Update a third-parties docs, GoogleTagManager example: #63448
- Update opentelemetry docs #63443: #63444
Example Changes
- update Docker examples to specify HOSTNAME properly: #59756
Misc Changes
- Skip test/integration in Turbopack build runs: #63480
- test: switch order of tests to avoid flakniess: #63482
- Don't download latest test result when reporting manifest: #63488
Credits
Huge thanks to @sokra, @timneutkens, @huozhi, @piotrekwitkowski, @ztanner, @ijjk, @kwonoj, @chrisjstott, @fursich, @ValentinH, @LuiGeeDev, @Ethan-Arrowood, and @raferdev for helping!
Core Changes
- Eliminate unnecessary decode operations in
node-web-streams-helpers.ts: #63427 - Update React from 6c3b8dbfe to 14898b6a9: #63439
- chore(next/font): update @capsizecss/metrics package to the latest: #63440
Misc Changes
- Update Turbopack test manifest: #63452
- Rename turbopack-tests-manifest to turbopack-dev-tests-manifest: #63409
- Implement Turbopack build manifest update: #63461
- Unique name for production integration tests: #63468
- Add unique name for GitHub action steps: #63471
- Use type production for Turbopack tests: #63473
- Ensure NEXT_TEST_MODE is set for production run: #63474
Credits
Huge thanks to @Ethan-Arrowood, @ztanner, @samcx, and @timneutkens for helping!
Core Changes
- fix(next-core): carry over original segment config to metadata route: #63419
- fix
x-forwarded-portheader: #63303 - build(cargo): bump up turbopack: #63429
- Turbopack HMR: Reload when recovering from server-side errors: #63434
Documentation Changes
- Rename variable in documentation example: #63425
Example Changes
- Migrate the with-jotai example from page router to app router: #63390
Misc Changes
- ci(workflow): fix workflow references: #63437
- Upgrade popular-issues and popular-prs workflows: #63436
Credits
Huge thanks to @KonkenBonken, @kwonoj, @Ethan-Arrowood, @ariannargesi, @wbinnssmith, and @samcx for helping!
Core Changes
- feat(error-overlay): handle script under html hydration error: #63403
- Add Bun lockfile to project root resolving heuristic: #63112
- build(package): pin typescript-eslint/parser for supported node.js: #63424
Documentation Changes
- docs: fix next/script example causing hydration errors: #63401
Misc Changes
- Update switchable runtime snapshot for Turbopack: #63400
- [Turbopack] update tokio: #63404
- Update Turbopack workflows to have clearer names: #63407
- Switch to postcss.config.mjs, add type: #63380
- Turbopack HMR: use own snapshot in error-recovery: #63417
Credits
Huge thanks to @timneutkens, @huozhi, @sokra, @karlhorky, @wbinnssmith, and @kwonoj for helping!
Core Changes
- Use correct protocol and hostname for internal redirections in Server Actions: #63389
- bug: Fields truncated when submitting form using Server Actions: #59877
- New CSS chunking algorithm: #63157
- Ensure all metadata files have missing default export errors in Turbopack: #63399
- Code refactor: #63391
Misc Changes
- Update Turbopack test manifest: #63370
- Skip worker test in Turbopack: #63398
Credits
Huge thanks to @shuding, @TryingToImprove, @sokra, and @timneutkens for helping!
Documentation Changes
- docs: Make a better sentence by connecting with comma: #63355
- docs: fix typo in
route-segment-config.mdx: #63362 - docs: add Lucia for authentication: #63339
Credits
Huge thanks to @saul-atomrigs, @chogyejin, and @rwieruch for helping!
Core Changes
- fix transform of files ending with d: #63367
Credits
Huge thanks to @sokra for helping!
Core Changes
- Turbopack HMR: Log when more errors cause full page reload: #63220
- Fixes typo in Route handler static generation error handling: #63345
- Add JSM (ESM) support for next/lib/find-config: #63109
- fix(error-overlay): matching html tag with brackets in hydration error: #63365
- add conditions for webpack loader rules: #63333
Misc Changes
- reenable initially skipped tests: #63347
- Update Turbopack test manifest: #63356
Credits
Huge thanks to @wbinnssmith, @sokra, @gnoff, @phanect, and @huozhi for helping!
Core Changes
- Store loading data in CacheNode: #62346
- fix(turbopack): Remove error overlay when
pages/_appis fixed: #63306 - Ensure changes in optimizePackageImports invalidate webpack cache: #63284
- Polish the display color styles for component diff: #63342
Misc Changes
- Update Turbopack test manifest: #63316
- test(fixture): update middleware test fixture & manifest: #63340
Credits
Huge thanks to @ztanner, @kdy1, @timneutkens, @huozhi, and @kwonoj for helping!
Core Changes
- fix: hydration error display for text under tag case: #63288
- Fix URL displayed in Server Action
bodysizelimiterror: #63295
Misc Changes
- chore(test): fix typo occured => occurred: #63287
Credits
Huge thanks to @huozhi, @styfle, and @ziyafenn for helping!
Core Changes
- fix(route-handlers): make sure preflight has CORS headers: #63264
- fix(turbopack): Remove error overlay when issue is resolved: #62983
- Disable cache in testmode: #63265
- Turbopack: app externals test case improvements: #62871
- build: Update turbopack: #63273
Misc Changes
- Update Turbopack test manifest: #63274
Credits
Huge thanks to @samcx, @kdy1, @dvoytenko, and @sokra for helping!
Core Changes
- fix(turbopack): Do not report hmr timing twice: #63227
- enable
optimizeServerReactby default: #62658 - feat(turbopack): emit well known error into cli: #63218
- feat: add
deploymentIdconfig: #63198 - Fix middleware catch-all rewrite case: #63254
Documentation Changes
- Update 02-server-actions-and-mutations.mdx - FormData is itself iterable : #62541
- Update 02-server-actions-and-mutations.mdx - add required generic type and remove unnecessary parameter types: #62551
Example Changes
- Fix pnpm support in Sanity example: #63249
- Update to the Stable API: #60493
Misc Changes
- Add tarball deployments for each build: #62969
Credits
Huge thanks to @kdy1, @stipsan, @ellertsmari, @michaltarasiuk, @ijjk, @Ethan-Arrowood, @kwonoj, and @styfle for helping!
Core Changes
- fix(error-overlay): show Turbopack indicator for any staleness level: #63130
- fix: re-export internal path: #63222
- build: Update turbopack: #63229
- make CacheNode properties non-optional: #63219
- Implement new runtime_type for Turbopack: #63212
- Use SWC to valid client next/navigation hooks usage in server components: #63160
- chore: Update
swc_coretov0.90.21: #63031
Documentation Changes
- Update route.mdx: #60976
- docs: replace vercel/otel link to npm: #63173
- docs: fix punctuation: #63223
Example Changes
- Update Sanity example for App Router: #63187
Misc Changes
- Update Turbopack test manifest: #63231
Credits
Huge thanks to @balazsorban44, @stipsan, @chironjit, @devjiwonchoi, @kdy1, @pwbriggs, @ztanner, @timneutkens, and @huozhi for helping!
Core Changes
- feat(next-core): apply invalid import assertion on the remaining contexts: #63146
- build(cargo): bump up turbopack: #63205
- add support for assets in edge: #63209
- fix: Loose Server Actions runtime check: #63200
- fix(log): improve error when dynamic code eval is disallowed: #62999
- fix(error-overlay): strip line+column from webpack internal frames: #63133
- fix revalidation issue with route handlers: #63213
Example Changes
- chore(examples): remove duplicate line in .gitignore for progressive-web-app example: #63207
Credits
Huge thanks to @kwonoj, @sokra, @shuding, @maksympc, @balazsorban44, and @ztanner for helping!
Core Changes
- fix: x-forwarded-port header is 'undefined' when no port in url: #60484
- Fix generateMetadata race condition: #63169
Misc Changes
- Fix trigger_release workflow to not publish empty canaries: #63167
- Update Turbopack test manifest: #63177
Credits
Huge thanks to @ztanner, @yuvalotem, and @ijjk for helping!
Core Changes
- Ensure PromiseLikeOfReactNode is not included in .d.ts files: #63185
- Ensure undefined values end up being replaced: #63138
Example Changes
- Revert "fix: permissions in with-docker example": #63165
Misc Changes
- chore: upgrade turbo to 1.12.5: #63163
Credits
Huge thanks to @samcx and @timneutkens for helping!
Core Changes
- ensure mpa navigations to the same URL work after restoring from bfcache: #63155
Misc Changes
- Switch to .cjs PostCSS config: #58380
- Update Turbopack test manifest: #63125
Credits
Huge thanks to @karlhorky and @ztanner for helping!
Core Changes
- feat(turbopack): Enable
lightningcssfor turbopack by default: #62565 - ignore fully dynamic requests on server side: #62949
- Refactor define-env-plugin to have stricter types: #63128
- [PPR] Support rewrites in middleware: #63071
- Fix webpack HMR for pages on the edge runtime: #60881
- fix typo in server/config.ts: #62795
Documentation Changes
- docs: clarify perf benefits of RSC: #63096
- Joy-UI supports Next.js: #63144
- Fixed Authentication docs improper nesting of unordered list inside ordered list: #62958
- docs(link): add good to know comment about scroll behavior: #63152
Example Changes
- Update Sanity example for App Router: #63045
- fix(examples): dynamically update page title: #63110
- fix: permissions in with-docker example: #63134
- Allow unsafe-eval during development: #55998
Misc Changes
- chore(test): add test for next/image in node_modules with app router: #63139
- Remove unnecessary 'await' from writeSema.release() call: #63117
Credits
Huge thanks to @leerob, @stipsan, @kdy1, @sokra, @timneutkens, @wyattjoh, @styfle, @caseyocampo, @KimJeonghun91, @pacexy, @Kinbaum, @devnyxie, @sleepdotexe, @apostolos, @landoncolburn, and @samcx for helping!
Core Changes
- refactor(error-overlay): unify Pages/App router error overlay source: #62939
Credits
Huge thanks to @balazsorban44 for helping!
Core Changes
- Turbopack: Decode module component when tracing stack frames: #63070
- build(cargo): bump up turbopack: #63073
- OTEL: add next.rsc attribute for RSC requests: #63074
- Correctly deserialize
undefinedunstable_cache data: #59126
Credits
Huge thanks to @wbinnssmith, @kwonoj, @dvoytenko, and @mattddean for helping!
Core Changes
- DX: add route context to dynamic errors for app routes: #62844
- Fix metadata url cases should not append with trailing slash: #63050
Documentation Changes
- docs: Update route-segment-config.mdx: #63046
- Details for Turbopack loaders.: #62300
- Fix typo in 03-environment-variables.mdx: #63067
- Docs: Note
$ACTION_formData properties: #63048
Example Changes
- fix internal Markdown links in Sanity example readme: #63069
Misc Changes
- test(scss): rename test suites: #63060
- test(manifest): upload areweturboyet kv from test manifest: #63064
- Update Turbopack test manifest: #63066
Credits
Huge thanks to @balazsorban44, @wyattjoh, @kwonoj, @huozhi, @anthonyshew, @Fingel, @karlhorky, and @alexravenna for helping!
Core Changes
- app layouts/pages depend on shared main files: #63042
Documentation Changes
- Docs: Update CRA migration guide: #63037
Example Changes
- Switch CodeSandbox repros to pnpm: #63038
Credits
Huge thanks to @karlhorky, @delbaoliveira, and @sokra for helping!
Core Changes
- Fix the plugin state for async modules in webpack plugins: #62998
- Turbopack + pages router: recover from runtime errors by reloading: #63024
- Enable minification for Turbopack: #62994
Example Changes
- chore(blog-starter): update import paths to use aliases: #62986
Misc Changes
- fix flakey HMR test: #63022
- fix transpile-packages test: #63023
- Fix flaky test by removing unecessary NODE_OPTIONS='--inspect': #63025
- fix dynamic api route test: #63027
Credits
Huge thanks to @huozhi, @ztanner, @dnhn, @samcx, @wbinnssmith, and @timneutkens for helping!
Documentation Changes
- docs: change the Router Cache link reference: #62976
Example Changes
- with-mux-video: move to app router and update packages: #62297
Misc Changes
- fix broken create-next-app tests: #63019
- fix flakey app-action test: #63021
Credits
Huge thanks to @decepulis, @nauvalazhar, and @ztanner for helping!
Core Changes
- Remove Payload from server-external-packages.json: #62965
- Pass whole prefetch entry rather than status property: #62345
- build: Update
swc_coretov0.90.17: #62924 - refactor(ts): type
fastRefresh: #62848 - [error overlay] move missing tags error inside error overlay: #62993
- Update turbopack: #62971
- fix(next-core): honor basepath for the metadata property: #62846
- fix(next-core): do not apply ecma transforms for custom js rules: #62831
- feat(next): fallback lightning if swc/wasm loaded: #62952
Documentation Changes
- docs: sync
serverComponentsExternalPackages.mdxwith implementation: #62966 - Docs: Clarify
fetchcaching exceptions: #63004 - Fix syntax error in the TypeScript example: #63003
- Docs: Clarify
AbortController.signalusage in Reactfetchmemoization: #63009 - Docs: Document
crossOriginoption: #61455
Example Changes
- chore: migrate
basic-cssexample from page router to app router: #62980
Misc Changes
- Add CI check to validate externals doc: #62968
- chore: update pnpm version from 8.15.1 to 8.15.4: #62979
- Update Turbopack test manifest: #62981
- Move timeout to test step and give whole job a bigger timeout: #62997
Credits
Huge thanks to @jmikrut, @balazsorban44, @ijjk, @ztanner, @kdy1, @ariannargesi, @huozhi, @delbaoliveira, @sokra, @lhfmartin, and @kwonoj for helping!
Core Changes
- chore(next-font): update @capsize/metrics package to the latest: #62896
Documentation Changes
- [docs] Fix the TS Type from the function sitemap #62947: #62960
- docs(cli): add mention of our default port behavior: #62964
Credits
Huge thanks to @samcx and @elenistvr for helping!
Core Changes
- refactor(error-overlay): improve server code for webpack/Turbopack middleware: #62396
- feat(error-overlay): version staleness in Pages Router: #62942
- feat: Introduce lightningcss-loader for webpack users: #61327
- feat(eslint): enhance
no-unwanted-polyfillw/ new endpoints: #62719 - simplify
streamToStringmethod fromnode-web-streams.helper.ts: #62841 - Allow ppr only flag in test mode: #62911
- Upgrade to latest @edge-runtime packages: #62955
Documentation Changes
- Add missing
awaitkeyword in code block.: #62919
Credits
Huge thanks to @balazsorban44, @kdy1, @SukkaW, @Ethan-Arrowood, @ijjk, and @KaygNas for helping!
Core Changes
- fix(next-api): correct font manifest generation: #62916
- feat(error-overlay): notify about missing
html/bodyin root layout: #62815 - fix graph update: #62933
Misc Changes
- Update Turbopack test manifest: #62925
Credits
Huge thanks to @kwonoj, @balazsorban44, and @sokra for helping!
Core Changes
- fix(cli): fix allowRetry when using port 3000: #62840
- Fix: missing crossorigin property on manifest link: #62873
- Turbopack: Trace edge runtime app render errors through source maps: #62901
- fix merge css plugin to account for css order: #62927
Misc Changes
- test(integration-cli): fix test name: #62915
Credits
Huge thanks to @samcx, @huozhi, @wbinnssmith, and @sokra for helping!
Core Changes
- Remove extra logic of Server Reference check for registering twice: #62486
- Update readme of @next/bundle-analyzer package: #62804
- Don't emit crossorigin attributes for
output: "export"by default: #61211 - apply some transforms on foreign code too: #62827
- update turbopack: #62884
- refactor: rename isAppDirEnabled to hasAppDir: #62837
- bump @edge-runtime/cookies for Partitioned cookie support: #62889
- refactor(next): fix spacing on auto-generated root layout: #62769
Documentation Changes
- Update 06-src-directory.mdx to mention Typescript paths: #62863
Example Changes
- Fix with-passport-and-next-connect import: #62874
- Remove cms-keystonejs-embedded and link to official docs: #62876
- Fix with-joi example: #62877
Misc Changes
- Use actions/checkout for trigger release: #62854
- Fix handling for getting latest stable tag: #62858
- test(fixture): update snapshot: #62894
- Update to only use preminor when configured: #62904
- set persist-credentials: false during release workflow: #62905
Credits
Huge thanks to @ijjk, @shuding, @AlmazHecker, @timneutkens, @tdanecker, @sokra, @huozhi, @rezof, @ryanhalliday, @devjiwonchoi, @kwonoj, and @ztanner for helping!
Core Changes
- fix(next-lint): do not pass absolute path to distDir: #62797
- Update to latest version: #62850
- fix "setBlocking is not a function" errors on StackBlitz: #62843
Misc Changes
- Update start release handling: #62851
- Update canary semver handling: #62852
Credits
Huge thanks to @devjiwonchoi, @ijjk, and @jcbhmr for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Update React from 60a927d04 to 4b84f11 (#63476) @ztanner
- fix revalidation issue with route handlers (#63213) @ztanner
- ensure mpa navigations to the same URL work after restoring from bfcache (#63155) @ztanner
- Ensure PromiseLikeOfReactNode is not included in .d.ts files (#63185) @timneutkens
- Fix metadata url cases should not append with trailing slash (#63050) @huozhi
- feat: add deploymentId config (#63198) @styfle
- fix: bump @vercel/nft@0.26.3 (#61538) @styfle
- fix x-forwarded-port header (#63303) @Ethan-Arrowood
- fix: x-forwarded-port header is 'undefined' when no port in url (#60484) @yuvalotem
Test Changes
- test: switch order of tests to avoid flakniess (#63482) @huozhi
- fix broken create-next-app tests (#63019) @ztanner
Core Changes
- Upgrade to latest @edge-runtime packages: #62955
- Fix output: export with custom distDir: #62064
- Migrate locale redirect handling to router-server: #62606
Credits
Huge thanks to @ijjk
Note: this is a backport release for critical bug fixes -- this does not include all pending features/changes on canary
Core Changes
- Fix sitemap generateSitemaps support for string id (#61088)
- Fix: generateSitemaps in production giving 404 (#62212)
- Fix redirect under suspense boundary with basePath (#62597)
- Fix: Add stricter check for "use server" exports (#62821)
- ensure server action errors notify rejection handlers (#61588)
- make router restore action resilient to a missing tree (#62098)
- build: remove sentry from the externals list #61194
- Reduce memory/cache overhead from over loader processing #62005
Credits
Huge thanks to @huozhi, @shuding, @Ethan-Arrowood, @styfle, @ijjk, @ztanner, @balazsorban44, @kdy1, and @williamli for helping!
Core Changes
- remove reducer unit tests: #62766
Documentation Changes
- Update sitemap.mdx: #62809
Credits
Huge thanks to @ztanner and @devr77 for helping!
Core Changes
- fix: Add stricter check for "use server" exports: #62821
- fix(next-core): throw on invalid metadata handler: #62829
- Revert "Add experimental config for navigation raf test (#62668)": #62834
- Revert "refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc": #62838
Example Changes
- Fix with-supertokens example: #62817
Credits
Huge thanks to @shuding, @kwonoj, @ijjk, and @timneutkens for helping!
Core Changes
- refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc: #61832
Example Changes
- Update auth-with-stytch example to link to the official guide: #62770
- Update with-webassembly example to fix hydration error: #62807
- Link to iron-session example: #62808
- Add missing dependencies to with-mdbreact: #62810
- Remove with-semantic-ui example: #62811
- Remove with-reasonml-todo example: #62812
- Remove deprecated library example: #62813
- Fix react-native-web example for Turbopack: #62814
- Fix with-quill-js example: #62819
Credits
Huge thanks to @timneutkens and @kwonoj for helping!
Core Changes
- build(cargo): update turbopack: #62744
- Turbopack: sass support: #62717
Credits
Huge thanks to @kwonoj and @sokra for helping!
Example Changes
- Update with-react-bootstrap to be Turbopack compatible: #62773
- Fix invalid / import in with-facebook-pixel example: #62772
- Update with-emotion example: #62771
- Fix error in api-routes-middleware example: #62788
- Fix cms-plasmic example: #62790
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- refactor(cli): refactor cli to commander: #61877
- Turbopack: Trace server app render errors through source maps: #62611
Documentation Changes
- docs: update Next.js CLI docs: #62304
- docs: clarify client component intro: #62767
Misc Changes
- chore: add new codeowners for cli refactor: #62749
- Update error handling in publish scripts: #62754
- Fix conflicting-app-page-error test for Turbopack: #62747
Credits
Huge thanks to @samcx, @wbinnssmith, @ijjk, @timneutkens, and @leerob for helping!
Core Changes
- chore: remove unused helper: #62701
- Add param to debug PPR skeleton in dev: #62703
- Update font data: #62704
- Turbopack: remove node_modules error filter: #62586
- fix(error-overlay): improve a11y, minor refactors: #62723
- Handle top level errors coming from Turbopack entrypoints subscription: #62528
- Add compiler error for conflicting App Router and Pages Router in Turbopack: #62531
- fix dev overlay pseudo html collapsing: #62728
- Route static render error message: remove duplicate word: #62738
- Update version from backport: #62745
- Add a flag to disable
MergeCssChunksPlugin: #62746
Misc Changes
- Update Turbopack test manifest: #62674
- Migrate Sass tests to test/e2e: #62321
- Update Turbopack test manifest: #62715
- Revert "Migrate Sass tests to test/e2e": #62735
Credits
Huge thanks to @huozhi, @ijjk, @sokra, @timneutkens, @balazsorban44, @MaxLeiter, and @ztanner for helping!
Note: this is a backport release for critical bug fixes -- this does not include all pending features/changes on canary
Core Changes
- Should not warn metadataBase missing if only absolute urls are present: https://github.com/vercel/next.js/pull/61898
- Fix trailing slash for canonical url: https://github.com/vercel/next.js/pull/62109
- Fix metadata json manifest convention: https://github.com/vercel/next.js/pull/62615
- Improve the Server Actions SWC transform: https://github.com/vercel/next.js/pull/61001
- Fix Server Reference being double registered: https://github.com/vercel/next.js/pull/61244
- Improve the Server Actions SWC transform (part 2): https://github.com/vercel/next.js/pull/62052
- Fix module-level Server Action creation with closure-closed values: https://github.com/vercel/next.js/pull/62437
- Fix draft mode invariant: https://github.com/vercel/next.js/pull/62121
- fix: babel usage with next/image: https://github.com/vercel/next.js/pull/61835
- Fix next/server api alias for ESM pkg: https://github.com/vercel/next.js/pull/61721
- Replace image optimizer IPC call with request handler: https://github.com/vercel/next.js/pull/61471
- chore: refactor image optimization to separate external/internal urls: https://github.com/vercel/next.js/pull/61172
- fix(image): warn when animated image is missing unoptimized prop: https://github.com/vercel/next.js/pull/61045
- fix(build-output): show stack during CSR bailout warning: https://github.com/vercel/next.js/pull/62594
- Fix extra swc optimizer applied to node_modules in browser layer: https://github.com/vercel/next.js/pull/62051
- fix(next-swc): Detect exports.foo from cjs_finder: https://github.com/vercel/next.js/pull/61795
- Fix attempted import error for react: https://github.com/vercel/next.js/pull/61791
- Add stack trace to client rendering bailout error: https://github.com/vercel/next.js/pull/61200
- fix router crash on revalidate + popstate: https://github.com/vercel/next.js/pull/62383
- fix loading issue when navigating to page with async metadata: https://github.com/vercel/next.js/pull/61687
- revert changes to process default routes at build: https://github.com/vercel/next.js/pull/61241
- fix parallel route top-level catch-all normalization logic to support nested explicit (non-catchall) slot routes: https://github.com/vercel/next.js/pull/60776
- Improve redirection handling: https://github.com/vercel/next.js/pull/62561
- Simplify node/edge server chunking some: https://github.com/vercel/next.js/pull/62424
Credits
Huge thanks to @huozhi, @shuding, @Ethan-Arrowood, @styfle, @ijjk, @ztanner, @balazsorban44, @kdy1, and @williamli for helping!
Core Changes
- fix(turbopack): don't emit issues for deleted pages: #62012
- perf: don't emit issues via websocket for now: #59024
- add native css nesting support: #62644
- refactor(next-swc): remove unused features: #62696
- Upgrade mini-css-extract-plugin: #62698
- Update precompiled for mini-css-extract-plugin: #62699
- feat: display text diff for text mismatch hydration errors: #62684
- Fix lint check: #62702
Documentation Changes
- Correct format for autoplay attribute in NextJS video docs : #62695
- Update unstable_cache docs for revalidate option: #62689
Misc Changes
- Revert "chore: drop
npm-run-all": #62700
Credits
Huge thanks to @ForsakenHarmony, @jantimon, @kwonoj, @zengspr, @wesbos, @neomad1337, @ijjk, and @huozhi for helping!
Core Changes
- fix(navigation): allow
useSelectedLayoutSegment(s)in Pages Router: #62584 - Consistently use /_not-found for not found page in App Router: #62679
- Add experimental config for navigation raf test: #62668
- Turbopack: remove unused code: #62690
- Revert "Ensure dynamic routes dont match _next/static unexpectedly": #62691
Documentation Changes
- Update 05-error-handling.mdx: #62153
Misc Changes
- ci(workflow): fix 403 redirect: #62665
Credits
Huge thanks to @kwonoj, @Soheiljafarnejad, @balazsorban44, @timneutkens, @ijjk, and @sokra for helping!
Documentation Changes
- [docs] update analytics doc to use
useReportWebVitals(again): #62654
Credits
Huge thanks to @cjimmy for helping!
Core Changes
- Fix Router Error Events in Shallow Routing by Skipping cancelHandler Creation: #61771
- DX: display highlited pesudo html when bad nesting html error occurred: #62590
- build(cargo): remove unused features: #62616
- feat(next-swc): lightningcss binding: #62604
- fix: Enable SearchParams to be displayed after redirect in Server Action: #62582
Misc Changes
- chore: drop
npm-run-all: #62642
Credits
Huge thanks to @rvetere, @balazsorban44, @huozhi, @kwonoj, and @coffeecupjapan for helping!
Core Changes
- Fix metadata json manifest convention: #62615
- Migrate locale redirect handling to router-server: #62606
- fix(next-swc): Provide tokio context required for WASM plugins: #62441
- Update
swc_coretov0.90.12: #62518 - Update Turbopack: #62632
- Fix instrumentation with only pages: #62622
- Fix: generateSitemaps in production giving 404: #62212
- Refactor flight-manifest-plugin to use compilation.entrypoints directly: #62636
Credits
Huge thanks to @huozhi, @ijjk, @kdy1, @abhinaypandey02, and @timneutkens for helping!
Core Changes
- fix: improve error when starting
nextwithout building: #62404 - feat(turbopack): Sort issues: #62566
- refactor createInfinitePromise to be re-used unresolveable thenable: #62595
- fix(build-output): show stack during CSR bailout warning: #62594
- Fix redirect under suspense boundary with basePath: #62597
- Ensure dynamic routes dont match _next/static unexpectedly: #62559
Documentation Changes
- docs: fix redirect loop in auth code example: #62589
- docs: Don't suggest using taintUniqueValue API with phone number: #62600
Example Changes
- chore(examples): fix
with-cypressbuild: #62614
Misc Changes
- fix flakey navigation test: #62598
Credits
Huge thanks to @flotwig, @kdy1, @ztanner, @balazsorban44, @Schmavery, @huozhi, and @ijjk for helping!
Core Changes
- fix router crash on revalidate + popstate: #62383
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Revert "fix(build-output): show stack during CSR bailout warning": #62592
- Improve redirection handling: #62561
Misc Changes
- fix(build-output): show stack during CSR bailout warning
Credits
Huge thanks to @balazsorban44 and @shuding for helping!
Core Changes
- feat(error-overlay): hide Node.js internals: #62532
- Create react server condition alias for next/navigation api: #62456
- Add IssueKey type: #62526
- OTEL: Ensure that RSC:1 requests get the next.route attr: #62464
- Display only one hydration error when there's few in error overlay: #62448
- Upgrade vendored react: #62549
- Improve TS plugin options: #62438
Documentation Changes
- feat(docs): update 02-app-router-migration.mdx: #62533
- docs: fix typo: #62543
- docs: Remove superfluous
tags in api-reference/components/link.mdx: #62501
Example Changes
- Update examples/active-class-name: #62506
- examples: add favicon.ico for to avoid browser requests: #62511
Misc Changes
- Revert "Update Turbopack test manifest": #62534
- test: separate mui barrel optimization test: #62545
- test: also check source code for node:internal related errors: #62542
- chore: update non-interactive snippet in
README.md: #62493 - Fix the typo in the GTM URL if the dataLayerName property is configured: #62436
Credits
Huge thanks to @timneutkens, @balazsorban44, @huozhi, @bestlyg, @jinsoul75, @dvoytenko, @petrovmiroslav, @nattui, @zhuyedev, @dongwonnn, @shuding, and @nhducit for helping!
Core Changes
- Rename currentIssues to currentEntryIssues: #62524
- update turbopack: #62523
- add plugin to avoid too many css requests: #62530
Misc Changes
- Update Turbopack test manifest: #62476
Credits
Huge thanks to @timneutkens and @sokra for helping!
Core Changes
- [turbopack] update edge alias: #62461
Documentation Changes
- feat(docs): update 14-internationalization.mdx: #62484
Example Changes
- Update
with-reduxexample to match the guide in Redux Toolkit docs: #59864
Credits
Huge thanks to @huozhi, @aryaemami59, and @bestlyg for helping!
Core Changes
- OTEL: Add top span for middleware: #62421
- Turbopack react-refresh: perform full reload on runtime error: #62359
- Simplify node/edge server chunking some: #62424
- update
configSchema.tswithexperimental#useEarlyImport: #62408 - Fix module-level Server Action creation with closure-closed values: #62437
- Upgrade vendored react: #62326
- Turbopack: reduce memory usage: #62432
- Fixed typo.: #62440
- fix(turbopack): deal with eventual consistency in get_directory_tree: #62444
- Telemetry: ensure the ClientComponentLoad metric is only reported when available: #62459
Documentation Changes
- docs(link): update docs around link prefetch: false: #62414
- chore: Bump actions/cache: #62422
- Docs: Add CORS examples: #62439
Misc Changes
- Update Turbopack test manifest: #62433
- Turbopack: skip tests for import trace links: #61831
Credits
Huge thanks to @samcx, @dvoytenko, @wbinnssmith, @ijjk, @Ethan-Arrowood, @m-nakamura145, @shuding, @huozhi, @sokra, @ryo8000, @delbaoliveira, and @ForsakenHarmony for helping!
Core Changes
- Add experimental flag for early exit on prerender error: #62367
- fix(next-swc): Fix span for invalid
'use server'directives: #62259 - scope issues from subscriptions to the websocket connection: #62344
- Turbopack: resolve endpoints to avoid extra nesting in tracing: #62317
- fix(next-lint): fix next lint not throwing exit 1 on error: #62378
- Remove default fallback behavior when route group is missing a default: #62370
- Correctly pass prependData and additionalData to sass-loader for Turbopack: #62397
- chore(docs): mention that
next.config.jsmust have default export: #62341 - chore(cli): add clarifying comment: #62418
Documentation Changes
- docs: fix web-vitals.tsx file path for second example: #62387
- better reference for what is serializable by React: #62405
- Updating Cloudinary Video Resources: #61959
- Revert "docs(errors): fix typo": #62411
- docs: add current state argument to authenticate function: #62399
Misc Changes
- Fix test flake: #62379
- Update Turbopack test manifest: #62389
Credits
Huge thanks to @ijjk, @kdy1, @sokra, @ztanner, @samcx, @Svetoslav99, @timneutkens, @johnslemmer, @colbyfayock, @mehranmf31, and @devjiwonchoi for helping!
Core Changes
- Update data cache max size error: #62348
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Turbopack: reduce tasks needed for emitting: #62291
- Turbopack: add SSR category to tracing: #62318
- fix(error-overlay): correct module grouping: #62206
- Revert "Turbopack: reduce tasks needed for emitting": #62324
- feat(error-overlay): hide
<unknown>/stringifymethods in<anonymous>file from stack: #62325 - eslint-config-next: allow typescript eslint v7: #62137
- Revert "Revert "Update split chunk handling for edge/node" (#62313)": #62336
- Revert "Ensure webpack build worker defaults on": #62342
- avoid loading the page loader chunk on initial page load: #62269
- output filesystem without watching: #62340
- Turbopack: limit build concurrency, show progress bar: #62319
Credits
Huge thanks to @sokra, @balazsorban44, @belgattitude, @ijjk, and @huozhi for helping!
Core Changes
- Fix draft mode invariant: #62121
- Revert "Update split chunk handling for edge/node": #62313
Misc Changes
- Move scss tests into individual directories: #62277
- Update Turbopack test manifest: #62314
Credits
Huge thanks to @Ethan-Arrowood, @timneutkens, and @ijjk for helping!
Core Changes
- Fix perf spans: #62306
- fix(next-core): properly normalize app route for _: #62307
- fix(next-font): update capsize css so fallbacks are updated with the …: #62309
Documentation Changes
- docs: add an explanation about prefetch on hover to the link.mdx: #62182
Credits
Huge thanks to @javivelasco, @kwonoj, @suu3, and @samcx for helping!
Documentation Changes
- Fix typo in unstable_cache.mdx: #62301
Credits
Huge thanks to @nphmuller for helping!
Core Changes
- Verify correctness of externals: #62235
- Renew prefetch cache entry after update from server: #61573
- fix(next-core): fix aliased free var for edge runtime: #62289
- update turbopack: #62285
- Allow fetch to propagate arbitrary init options: #62168
- Add flag for early import app router modules: #61168
- Add otel span for client component loading: #62296
Documentation Changes
- docs: Update unstable_cache.mdx with important info about dynamic data: #62202
Misc Changes
- Move scss tests into test/integration/scss directory: #62276
Credits
Huge thanks to @sokra, @ztanner, @meenie, @kwonoj, @dvoytenko, @timneutkens, @huozhi, and @ijjk for helping!
Core Changes
- fix(next):
terser-webpack-pluginpath intaskfile.jsis missing 'src': #62229 - Update
swc_coretov0.90.10: #62222 - Add test log prefix for otel: #62258
- Update turbopack: #62263
- feat(cli): show available memory/CPU cores in
next info: #62249 - fix(turbopack): print missing slots in debug message: #62280
- Tree shake the unused exports in direct relative imported client component module: #62238
Documentation Changes
- docs(cli): tweak
next infodocs: #62274
Example Changes
- fix: 💯 typescript issue with-jest example: #62227
Misc Changes
- docs: remove reference to
createNextDescribein favor ofnextTestSetup: #62245 - Update Turbopack test manifest: #62268
- tests are no longer flaky: #62278
- fix(create-next-app): add --no-import-alias for non-interactive: #62035
Credits
Huge thanks to @Sina-Abf, @devjiwonchoi, @kdy1, @ijjk, @balazsorban44, @ForsakenHarmony, @sokra, @kuzeykose, and @huozhi for helping!
Core Changes
- feat: Lint invalid CSS modules: #62040
- Add page name to error logged in Turbopack: #62218
- add turbo.resolveExtensions to allow to customize extensions: #62004
- fix(turbopack): catchall route matching: #62114
- fix: clarify Dynamic API calls in wrong context: #62143
- refactor(turbopack): wrap manifest loading in helper class: #62118
- refactor(turbopack): resolve routes by page name instead of pathname: #61778
- Ensure handleRouteType does not throw in production builds: #62234
- fix: set swr delta: #61330
- Fix type error in build.ts: #62253
Documentation Changes
- docs: fix page.js file name in 02-pages-and-layouts.mdx: #62221
Example Changes
- Add protected page and pending state to with-supabase example: #62211
Misc Changes
- test: Make css bundle assertion work also for turbopack: #62127
Credits
Huge thanks to @dijonmusters, @kdy1, @ArianHamdi, @timneutkens, @sokra, @ForsakenHarmony, @balazsorban44, @adrianha, and @ijjk for helping!
Core Changes
- Update split chunk handling for edge/node: #62205
- Ensure webpack build worker defaults on: #62214
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Update font data: #62173
Core Changes
- docs: updated link in JSDoc for the shallow property in link.tsx: #62181
Documentation Changes
- Fix 02-pages-and-layouts.mdx to show Good to know and contents in the same box: #62203
Misc Changes
- Fix sendGAEvent function (for real?): #62192
Credits
Huge thanks to @asobirov, @theoholl, and @suu3 for helping!
Core Changes
- Fix handling subpath for server components externals: #62150
- docs(next-api): trying to document project_update_info_subscribe: #61962
- add support for esmExternals in pages: #61983
Documentation Changes
- Add puppeteer-core to serverComponentsExternalPackages.mdx: #62156
- Fix extra
constin video docs: #62155 - Docs: update link.mdx: #61508
- docs: fix srclang prop: #62164
Example Changes
- Patch 2: #62147
Misc Changes
- chore: update test template to use
nextTestSetup: #62154 - Fix sendGAEvent function : #62065
Credits
Huge thanks to @huozhi, @ForsakenHarmony, @kwonoj, @pbzona, @bernardobelchior, @willashe, @kevinmitch14, @smakosh, @mnjongerius, and @sokra for helping!
Core Changes
- Should not warn metadataBase missing if only absolute urls are present: #61898
- Update to
turbopack-240215.5: #62119 - Add polyfill for
Object.hasOwn: #60437 - OpenTelemetry: trace API routes in page router: #62120
- Fix @next/mdx types: #57580
- DX: hide the webpack info prefix for module paths: #62101
- Show build errors from Turbopack: #62139
- Fix issue with ComponentMod being read in Turbopack: #62141
Misc Changes
- test: Make css deduplication assertion work for turbopack: #62128
Credits
Huge thanks to @huozhi, @wbinnssmith, @erfanium, @dvoytenko, @remcohaszing, @kdy1, and @timneutkens for helping!
Core Changes
- Turbopack: add support for dynamic requests in require() and import(): #62092
- docs(turbopack): move docs to separate: #62069
- Implement Vc
: #62099 - fix: add
zeromqto server-external-packages.json: #62105 - Fix trailing slash for canonical url: #62109
- Consolidate NextMode checks: #62106
- Improve the Server Actions SWC transform (part 2): #62052
Credits
Huge thanks to @sokra, @kwonoj, @timneutkens, @styfle, @huozhi, and @shuding for helping!
Core Changes
- fix(next-core): apply image-loader alias to the remaining context: #62070
- More hot-reloader-turbopack refactors: #62055
- Ensure Turbopack writes font optimization manifest: #62079
- update turbopack: #62080
- chore: hide version info network error: #62084
- Add dev option to Turbopack createProject(): #62083
- Remove unused app-turbopack files: #62087
- make router restore action resilient to a missing tree: #62098
Misc Changes
- test: rename node_modules_bak to node_modules: #62066
Credits
Huge thanks to @huozhi, @kwonoj, @timneutkens, @sokra, @balazsorban44, and @ztanner for helping!
Core Changes
- Add puppeteer-core to server-external-packages.json: #62063
- Fix extra swc optimizer applied to node_modules in browser layer: #62051
- docs(turbopack): revise links: #62062
- Fix output: export with custom distDir: #62064
Credits
Huge thanks to @pbzona, @huozhi, @kwonoj, and @ijjk for helping!
Core Changes
- fix: bump
@vercel/nft@0.26.4: #62019 - refactor(next-core): do not reexport turbopack_binding: #62018
- build: Update
swc_coretov0.90.8: #61976 - merge pages and app overlays: #60899
- Rename internal utility naming for clarification : #62048
- fix: handle multiple
x-forwarded-protoheaders: #58824 - Fix server components externals on SSR layer: #61986
- Fixed useParams hook undesired re-renders and updated it to use PathParamsContext in the app router.: #60708
- docs(turbopack): conslidate existing links: #62034
- fix(custom-transform): allow to assert empty program for rsc: #61922
- fix navigation applying stale data when triggered from global not found: #62033
- fix(turbopack):
react-dom/serverin rsc context: #61165 - refactor(tests): make chain more "correct": #51728
Documentation Changes
- docs: add link to Blob: #62056
Example Changes
- fix(examples):
cache-handler-redisimplementation may cause error"Socket already opened"on production: #61978 - fix: Check if the GET comments response was ok, otherwise throw: #62041
Misc Changes
- test(turbopack): Modify a webpack-specific assertion: #62028
Credits
Huge thanks to @AkifumiSato, @styfle, @kwonoj, @kdy1, @ForsakenHarmony, @shuding, @Jonas-PFX, @icyJoseph, @huozhi, @leerob, @florian-lp, and @ztanner for helping!
Core Changes
- Support resuming a complete HTML prerender that has dynamic flight data: #60865
- Fix empty white page with parallel routes + loading boundaries: #61597
- Update
swc_coretov0.90.7and update turbopack: #61662 - Turbopack: remove server addr: #61932
- More hot-reloader-turbopack refactors: #61993
- Use destructured object for #61993: #61996
- only prefix prefetch cache entries if they vary based on
Next-URL: #61235 - seed prefetch cache with initial page: #61535
- Remove leftover server addr references: #61997
- log fast refresh in app dir: #61441
- docs(turbopack): build more docs: #61977
- fix(next-core): correct error message: #62011
- docs(turbopack): reduce documentation size: #62016
- Reduce memory/cache overhead from over loader processing: #62005
Documentation Changes
- docs: update Auth.js name to NextAuth.js: #61974
Misc Changes
- test(fixture): fix manifest update: #61970
Credits
Huge thanks to @kwonoj, @gnoff, @ztanner, @kdy1, @alexpuertasr, @sokra, @timneutkens, and @ijjk for helping!
Core Changes
- ci(workflow): deploy rustdocs for turbopack: #61958
Documentation Changes
- docs(errors): fix typo: #61957
Misc Changes
- chore(github-workflow): dynamically create pr list (> 1 +1 reaction): #61963
- chore(github-workflow): update pull_request_popular name: #61967
Credits
Huge thanks to @samcx and @kwonoj for helping!
Core Changes
- build(cargo): update turbopack for filewatcher fix: #61955
Credits
Huge thanks to @kwonoj for helping!
Core Changes
- Move turbopack helpers: #61917
- hot-reloader-turbopack refactors: #61929
- More hot-reloader-turbopack refactors: #61940
- fix(next/image): improve warning when
fillandsizes="100vw": #61949 - build(cargo): bump up turbopack to latest: #61952
Documentation Changes
- docs: fix typo: #61943
- close the missing
}in javascript function in image docs page: #61934 - chore: fix lint: #61950
Misc Changes
- chore: auto-close non-labeled issues
- Merge branch 'canary' of https://github.com/vercel/next.js into canary
Credits
Huge thanks to @timneutkens, @tszhong0411, @officialrajdeepsingh, @balazsorban44, @styfle, and @kwonoj for helping!
Documentation Changes
- docs(cli): fix next info section title and re-order: #61895
Credits
Huge thanks to @samcx for helping!
Documentation Changes
- docs: migrating from CRA: #61866
- Docs: Address community feedback: #61857
- docs: follow up from CRA docs: #61893
Example Changes
- Turbopack issue report tests: #61845
Credits
Huge thanks to @leerob, @timneutkens, and @delbaoliveira for helping!
Core Changes
- DX: fix error overlay flash: #61813
- feat: Allow specifying
useLightningcssforstyled-jsx: #61359 - Guard against restoring router state with missing data: #61822
- fix: babel usage with next/image: #61835
- fix:(next/image) handle
remotePatternswith a dot in the pathname: #60488 - Update React from 2bc7d336a to ba5e6a832: #61837
- update turbopack: #61187
- conditionally send Next-URL in Vary response: #61794
- provide interception rewrites to edge runtime: #61414
- Update app-index to only ever construct the initial data response once: #61869
Documentation Changes
- Fix closing a modal example in parallel routes docs: #61819
- docs: Example mismatch when changing language JS/TS : #61833
- docs: add Page Router only section for beforeInteractive: #61839
- docs: update API reference for ): #61875
Example Changes
- Clean up with-supabase example: #61799
Misc Changes
- test: add test for logging trace of dynamic = error: #61811
- test(fixture): separate pnpm cache for the test installation: #61783
- chore(test): switch a few tests from yarn to pnpm: #61793
- chore: rename job in pull_request_popular workflow: #61876
- chore: Update pnpm v8.14.2 to 8.15.1: #61807
Credits
Huge thanks to @huozhi, @kdy1, @ztanner, @dijonmusters, @SaiGanesh21, @kwonoj, @styfle, @vordgi, @sokra, @samcx, @gnoff, and @ryota-murakami for helping!
Core Changes
- DX: fix error overlay flash: #61813
- feat: Allow specifying
useLightningcssforstyled-jsx: #61359 - Guard against restoring router state with missing data: #61822
- fix: babel usage with next/image: #61835
- fix:(next/image) handle
remotePatternswith a dot in the pathname: #60488 - Update React from 2bc7d336a to ba5e6a832: #61837
Documentation Changes
- Fix closing a modal example in parallel routes docs: #61819
- docs: Example mismatch when changing language JS/TS : #61833
Example Changes
- Clean up with-supabase example: #61799
Misc Changes
- test: add test for logging trace of dynamic = error: #61811
- test(fixture): separate pnpm cache for the test installation: #61783
Credits
Huge thanks to @huozhi, @kdy1, @ztanner, @dijonmusters, @SaiGanesh21, @kwonoj, @styfle, and @vordgi for helping!
Core Changes
- fix(ts): match
MiddlewareConfigwith documentation: #61718 - Fix attempted import error for react: #61791
- consolidate prefetch utils & separate build util: #61789
- Skip client-side data-fetching after ssr error : #51377
- fix(next-swc): Detect
exports.foofromcjs_finder: #61795 - feat(next-core): build time client|server-only assertion: #61732
- Fall back loading chunks for sourcemap tracing: #61790
- Increase Rust stack size: #61809
- Revert "feat(next/image)!: remove
squooshin favor ofsharpas optional dep": #61810
Misc Changes
- Turbopack: update more snapshots: #61786
Credits
Huge thanks to @balazsorban44, @huozhi, @ztanner, @tills13, @kdy1, @wbinnssmith, @kwonoj, @timneutkens, and @feedthejim for helping!
Core Changes
- partially fix css duplication in app dir: #61198
- build(cargo): add deps for the wasi: #61784
Documentation Changes
- Update 02-server-actions-and-mutations.mdx: #61756
Misc Changes
- Update Turbopack test manifest: #61758
- double default stack size: #61781
- chore: add pull_request_popular workflow: #61760
Credits
Huge thanks to @gentamura, @sokra, @kwonoj, and @samcx for helping!
Core Changes
- source map fixes: #61723
- Add experimental touchstart flag for testing: #61747
Credits
Huge thanks to @sokra and @ijjk for helping!
Core Changes
- fix jsDoc of notFound: #61692
- feat(next-core): expand matching js extensions for the rules: #61745
Example Changes
- chore(examples): deduplicate react-dom imports in add-form.tsx: #61751
Credits
Huge thanks to @A7med3bdulBaset, @kwonoj, and @AndersDJohnson for helping!
Core Changes
- Navigation Signals in PPR: #60450
- Revert "Turbopack: convert between locations correctly (#61477)": #61733
- Fix duplicate line in README: #61691
- docs: fix example code missing comma: #59012
- Reapply "Turbopack: convert between locations correctly (#61477)" (#61733): #61735
- Fix: Error Fetching _devpagesmanifest.json #17274: #60349
Documentation Changes
- fix: showing incorrect filename in example: #61736
Misc Changes
- test: remove unused directory: #61744
Credits
Huge thanks to @wyattjoh, @wbinnssmith, @szmazhr, @A7med3bdulBaset, @eddiejaoude, @samcx, and @itz-Me-Pj for helping!
Core Changes
- feat(transforms): enable rsc transforms for the remaining contexts: #61231
- fix: allow some recursion for middleware subrequests: #60615
- feat(next-swc): support wasm32-* build target: #61586
- Turbopack: convert between locations correctly: #61477
- feat(next/image)!: remove
squooshin favor ofsharpas optional dep: #61696
Documentation Changes
- Add case-sensitive note for revalidateTag/revalidatePath: #61729
Credits
Huge thanks to @kwonoj, @juliusmarminge, @ijjk, @wbinnssmith, and @styfle for helping!
Core Changes
- fix: status code for 404 props queries to avoid client side navigation with empty props: #60968
- fix(next-eslint):
.eslintrc.jsonnot being created bynext linton App Router: #55104 - Update React from 60a927d04 to 2bc7d336a: #61522
- fix(turbopack): read preload option for google fonts: #61679
- decode magic identifiers: #61658
- Associate server error digest with browser logged one: #61592
- chore: update turbopack: #61682
- fix loading issue when navigating to page with async metadata: #61687
- fix(ts):
ReadonlyURLSearchParamsshould extendURLSearchParams: #61419 - fix navigation issue when dynamic param casing changes: #61726
- Fix next/server api alias for ESM pkg: #61721
Misc Changes
- Fix app-dir/next-font for Turbopack: #61678
- Update Turbopack test manifest: #61707
Credits
Huge thanks to @Lezzio, @devjiwonchoi, @gnoff, @ForsakenHarmony, @timneutkens, @sokra, @huozhi, @ztanner, and @balazsorban44 for helping!
Core Changes
- feat(ts): add JSDoc comments for public APIs: #61649
- fix(next-core): adjust server alias for the context: #61690
- fix setAssetPrefix when running on NextCustomServer: #61676
Documentation Changes
- Fixed #61434 : Docs: Duplicated code snippets: #61446
Credits
Huge thanks to @Sandeep-Mani, @balazsorban44, @kwonoj, and @alyahmedaly for helping!
Core Changes
- feat(ts): expose
MiddlewareConfiginterface: #61576 - Revert "build: upgrade edge-runtime": #61686
Misc Changes
- feat(cna): remove
autoprefixerfrom default templates: #55725
Credits
Huge thanks to @balazsorban44 and @ijjk for helping!
Core Changes
- Replace image optimizer IPC call with request handler: #61471
- feat(next): trace build dependencies for turborepo: #59553
- Turbopack: fix telemetry attributes for swc options: #61474
- Always show version text in error overlay: #61421
- Fix build worker callback arg missing correct page path : #61347
Example Changes
- fix: dockerfile npm run build: #61466
Credits
Huge thanks to @stefangeneralao, @ijjk, @tknickman, @wbinnssmith, and @huozhi for helping!
Core Changes
- chore: Update
swc_coretov0.89.6: #61426 - Update turbopack: #61433
- fix a perf problem in VersionedContentMap: #61442
- Fix next dynamic import named export from client components: #61378
- fix issues loading CSS in default slots: #61428
- avoid sending issues turbopack messages to browser: #61443
- Support crossOrigin in Turbopack: #61461
- Pass down __NEXT_EXPERIMENTAL_REACT env to webpack build worker explicitly: #61463
Documentation Changes
- Remove the regions option from the config section of the middleware file conventions doc: #61425
- Docs: Update migration wording for /pages: #61453
- Docs: Add
instrumentation.tsAPI reference, improve instrumentation docs: #61403 - Docs: Document prefetch
nullfor App Router: #61203 - Docs: Add note on
default.jsreceiving params: #61454
Misc Changes
- chore: use real font files for font tests: #61399
- chore: add
resolvedlabel: #61416 - Update Turbopack test manifest: #61435
- CNA: exclude ts(js)conf.json as well as .git folder: #61412
- remove note about updating next.config with hostname as this is not n…: #61458
Credits
Huge thanks to @ForsakenHarmony, @balazsorban44, @StephDietz, @kdy1, @sokra, @huozhi, @delbaoliveira, @chrisweb, @ztanner, and @timneutkens for helping!
Core Changes
- parallel routes: fix catch-all slots being treated as optional catch-all: #61174
- fix hmr telemetry reporting: #61420
Credits
Huge thanks to @ztanner and @sokra for helping!
Documentation Changes
- add the middleware.ts API reference file convention: #61037
Misc Changes
- chore: add
good first issuelabel comment: #61215
Credits
Huge thanks to @StephDietz and @balazsorban44 for helping!
Core Changes
- Always respect NEXT_TRACE_UPLOAD_DISABLED: #61402
Example Changes
- Update
blog-starterto App Router: #61170
Credits
Huge thanks to @zeevo and @wbinnssmith for helping!
Core Changes
- Update turbopack: #61381
- Same as #61360: #61369
Misc Changes
- Fix image matcher in test: #61349
Credits
Huge thanks to @timneutkens and @kdy1 for helping!
Core Changes
- DX: add route context to the dynamic errors: #61332
- Telemetry: add time-to-first-byte signal: #61238
- Refine logging message of experiments: #61337
- fix(turbopack): don't parse
.tsfiles as.tsx: #61219
Documentation Changes
- Docs: Fix headings in Parallel Routes page: #61328
- OpenTelemetry: clarify Edge runtime support: #61338
- chore: update docs around redirect(): #61334
Example Changes
- chore(examples): switch default from yarn to npm in Dockerfiles: #61348
Misc Changes
- Fix app-document-import-order for Turbopack: #61295
- Fix next-image-legacy/base-path for Turbopack: #61311
- Skip browserslistrc tests: #61294
- Fix image-optimizer for Turbopack: #61312
- Fix next-image-new/app-dir for Turbopack: #61282
- Fix areweturboyet test path: #61314
- Remove incorrect test: #61335
Credits
Huge thanks to @timneutkens, @delbaoliveira, @huozhi, @dvoytenko, @ForsakenHarmony, and @samcx for helping!
Core Changes
- fix: Revert
preset-envmode ofstyled-jsxin webpack mode: #61306
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Update
swc_coretov0.89.4: #61285
Documentation Changes
- docs(02-jest): fixes failing test in the tutorial: #61272
- docs: typo in page title: #61267
- Removed an extra braces and comma from doc (},): #61250
Misc Changes
- create-next-app: update tailwind packages and new classes in page.tsx: #61065
Credits
Huge thanks to @kenji-webdev, @michaelpeterswa, @Dannymx, @kdy1, and @vpaflah for helping!
Misc Changes
- Fix data-ampdevmode test for Turbopack: #61271
- Update Turbopack test manifest: #61278
- Fix next-image-legacy/asset-prefix for Turbopack: #61289
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Fix Server Reference being double registered: #61244
- Fix Server Action redirection with absolute internal URL: #60798
- Fix indentation in source code of dev overlay: #61216
Documentation Changes
- docs: add Lucia auth: #61255
- Make server actions
maxDurationtimeout more clear in documentation: #60005
Misc Changes
- Update Turbopack test manifest: #61246
- Skip barrel optimization tests in Turbopack: #61253
- Skip build test in Turbopack: #61256
- Skip test that is also skipped in webpack: #61221
- Fix test name for jsconfig-baseurl: #61254
- Fix next-image-legacy/asset-prefix for Turbopack: #61263
- Fix e2e/swc-warnings: #61265
- Fix tests in app-dir-export for Turbopack: #61266
- Skip onlyRemoveTypeImports Babel test for Turbopack: #61268
Credits
Huge thanks to @shuding, @timneutkens, @leerob, @huozhi, and @rocketman-21 for helping!
Core Changes
- revert changes to process default routes at build: #61241
- Fix cookie merging in Server Action redirections: #61113
- Update
swc_coretov0.89.x: #61086
Misc Changes
- Fix edge-light-import-specifier test for Turbopack: #61234
Credits
Huge thanks to @ztanner, @timneutkens, @shuding, and @kdy1 for helping!
Core Changes
- parallel routes: support multi-slot layouts: #61115
- Refine revalidatePath warning message: #61220
Documentation Changes
- Docs: Improve and add new parallel routes examples: #60981
- chore(docs): fix docs for static assets (
public): #61225 - Docs: Adjust message about RootLayout: #61199
Example Changes
- fix(with-stripe-typescript): Bump
apiVersionwhen initialising Stripe client: #61217
Misc Changes
- Fix next-image-new/asset-prefix for Turbopack: #61224
Credits
Huge thanks to @delbaoliveira, @ztanner, @styfle, @timneutkens, @aramikuto, and @jsteele-stripe for helping!
Core Changes
- exclude default routes from isPageStatic check: #61173
- Add stack trace to client rendering bailout error: #61200
- chore: refactor image optimization to separate external/internal urls: #61172
Documentation Changes
- Refine revalidatePath
typeargument: #61159 - Docs: Add note about
revalidatePathinvalidating router cache: #61142
Example Changes
- example(with-stripe-typescript):
use clientrequired for error components: #61214
Misc Changes
- Ensure test upload step fails: #61188
- Skip resolving test in Turbopack: #61207
Credits
Huge thanks to @timneutkens, @aramikuto, @ztanner, @huozhi, @jsteele-stripe, @delbaoliveira, and @styfle for helping!
Core Changes
- Upgrade Turbopack: #61190
- build: remove sentry from the externals list: #61194
Documentation Changes
- Add dot to regex chars in rewrites.mdx: #61095
Misc Changes
- Skip create-root-layout for Turbopack: #61191
Credits
Huge thanks to @yannbolliger, @timneutkens, and @feedthejim for helping!
Documentation Changes
- Update generate-sitemaps.mdx: #61167
Misc Changes
- ci(workflow): fix download artifact pattern for wasm: #61175
Credits
Huge thanks to @eisafaqiri and @kwonoj for helping!
Core Changes
- Fix version checker not displaying when version newer than npm: #61075
- Fix sitemap generateSitemaps support for string id: #61088
- ppr: ensure the router state tree is provided for interception routes: #61059
- Improve the Server Actions SWC transform: #61001
- Fix instrument bundling as client components: #60984
- fix(turbopack): use correct layout for 404 page: #61032
- fix: emotion import source should be enabled in SSR contexts: #61099
- chore: update turbopack: #61090
- fix(turbopack): custom page extensions for
_app: #60789 - Disable trace uploads with NEXT_TRACE_UPLOAD_DISABLE: #61101
- add
optimizeServerReactto config-shared: #61106
Documentation Changes
- Docs: Share Redirecting docs with /pages: #61083
- Fix
<AppOnly>typo in docs: #61103
Misc Changes
- Fix image-from-node-modules tests in Turbopack: #61078
- Update invalid-image-import test for Turbopack: #61079
- Fix next-image static tests for Turbopack: #61081
- Update next-image-new/default for Turbopack: #61096
- chore: update issue_popular description to 90 days: #61008
- Update next-image-new/both-basepath-trailingslash for Turbopack: #61097
Credits
Huge thanks to @timneutkens, @huozhi, @delbaoliveira, @ztanner, @shuding, @ForsakenHarmony, @WITS, @samcx, @wbinnssmith, and @Ethan-Arrowood for helping!
Core Changes
- fix useSelectedLayoutSegment's support for parallel routes: #60912
- Dynamic APIs: #60645
- Enable next.js version checker in turbopack: #61034
- chore: Update
tersertov5.27.0: #61068 - Update
swc_coretov0.87.28: #60876 - update turbopack: #61015
- Implement client_root for edge in Turbopack: #61024
- fix parallel route top-level catch-all normalization logic to support nested explicit (non-catchall) slot routes: #60776
- fix(image): warn when animated image is missing
unoptimizedprop: #61045
Example Changes
- example: Add Stripe embedded Checkout example : #60378
Misc Changes
- Fix ReactRefreshModule test in Turbopack: #61049
- Skip configurable runtime warnings tests in Turbopack: #61048
- Acceptance/error-recovery.test.js: Fork Turbopack test: #61051
- lock reqwest to 0.11.17 due to build issues: #61076
- Update Turbopack test manifest: #61074
- Disable Yarn PnP tests for Turbopack: #61040
- fix: github reproduction link validation: #61026
Credits
Huge thanks to @williamli, @gnoff, @timneutkens, @huozhi, @kdy1, @wbinnssmith, @sokra, @jsteele-stripe, @chungweileong94, @williamli, and @styfle for helping!
Core Changes
- disable static generation on interception routes: #61004
- Docs: Address community feedback: #60960
- avoid output of webpack stats: #61023
- Revert "refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc": #61021
Documentation Changes
- docs: clarify nginx buffering disable: #61010
Misc Changes
- docs: fix rustup download link: #61007
Credits
Huge thanks to @samcx, @ztanner, @leerob, @delbaoliveira, and @sokra for helping!
Core Changes
- Error overlay refactors: #60886
- Use precompiled source-map in overlay middleware: #60932
- Use more precompiled deps in react-dev-overlay: #60959
- Fix next phase for next build: #60969
- chore: update turbopack: #60980
- refactor(analysis): rust based page-static-info, deprecate js parse interface in next-swc: #59300
Documentation Changes
- update edge and nodejs runtime doc: #60801
- Docs: Add link to bloom filter example: #60987
- Update code example on 01-pages-and-layouts.mdx: #60963
Misc Changes
- Fix image-optimizer tests for Turbopack: #60972
- Fix image-optimizer test for Turbopack: #60978
- Skip @next/font tests in Turbopack as next/font is supported: #60982
- chore: stricter reproduction links: #60988
- Rust: update
httpto 0.2.11: #60986 - chore: upgrade pnpm to 8.14.2: #60995
Credits
Huge thanks to @timneutkens, @InfiniteCodeMonkeys, @huozhi, @ForsakenHarmony, @balazsorban44, @wbinnssmith, @delbaoliveira, @miketimmerman, @samcx, and @kwonoj for helping!
Documentation Changes
- docs: clarify redirects behavior with pages router: #60610
- docs: mention missing optimized by default packages in
optimizePackageImports: #60058 - Improves generateViewport documentation: #60396
- docs: streaming while self-hosting must disable buffering: #60943
- Update userScalable property in viewport object and user-scalable in meta tag: #60946
- docs: updated the getStaticProps function name: #60949
Example Changes
- chore: remove lock from with-algolia-react-instantsearch example: #60910
- Update Redis Cache example with stabilized API: #60800
- Change "pages" to "apps" in the Image Component Example description.: #60929
Misc Changes
- Fix basic-app benchmark application: #60842
Credits
Huge thanks to @samcx, @Ethan-Arrowood, @better-salmon, @ziyafenn, @A7med3bdulBaset, @jasonuc, @yossydev, @leerob, and @Prachi-meon for helping!
Core Changes
- Turbopack: always log HMR rebuild times: #60908
Example Changes
- Updates with-supertokens example app: #60901
Credits
Huge thanks to @rishabhpoddar and @wbinnssmith for helping!
Core Changes
- Report HMR latency as trace spans for Turbopack: #60799
Credits
Huge thanks to @wbinnssmith for helping!
Core Changes
- Deprecation warning for config.analyticsId: #60677
- chore: indicate staleness more prominently in
next infooutput: #60376 - Telemetry: createComponentTree span: #60857
- chore: replace micromatch w/ picomatch: #60699
Documentation Changes
- correct description of
skipMiddlewareUrlNormalizein advanced middleware flags: #60841 - Adds a link to CSP where it's first referenced in the headers docs: #60871
- Add documentation page on video optimization: #60574
- docs: small tweaks on video docs: #60902
- docs: small tweak to videos: #60904
Misc Changes
- Update Turbopack test manifest: #60870
- flag test as failing: #60892
- chore: fix core team members: #60900
Credits
Huge thanks to @Evavic44, @feugy, @sokra, @balazsorban44, @liamlaverty, @dvoytenko, @StephDietz, @SukkaW, and @leerob for helping!
Core Changes
- fix: added @sentry/profiling-node to sep list to prevent build/bundle breakage: #60855
- Optimize build trace ignores: #60859
Documentation Changes
- docs: fix JS/TS code block: #60854
- Docs: Update parallel routes docs, add
default.jspt 1.: #60806 - docs: another fix for code block: #60856
Example Changes
- upgrade @types/react-dom to v18.2.18 to import
useFormStatefor server actions in with-supabase example: #60822
Misc Changes
- chore: update issue_popular workflow to 90 days: #60860
Credits
Huge thanks to @leerob, @delbaoliveira, @taishikato, @JesseKoldewijn, @samcx, and @ijjk for helping!
Core Changes
- Update build worker warning to use debug: #60847
Documentation Changes
- docs: Improve
useSearchParamsbailout error page: #60852
Misc Changes
- Fix last stable tag for release stats: #60850
Credits
Huge thanks to @ijjk and @leerob for helping!
Core Changes
- Turbopack: switch to a single client components entrypoint: #59352
- Update
swc_coretov0.86.98and turbopack: #59393 - Fix cases for the
optimize_server_reacttransform: #59390 - Use new JSX transform: #56294
- loading.tsx should have no effect on partial rendering when PPR is enabled: #59196
- Update font data: #59426
- Remove CacheNode.status field: #59472
- Rename CacheNode.data → .lazyData : #59473
- Generate Params Cleanup: #59431
- Fix webpack chunks handling in traces: #59498
- Rename CacheNode.subTreeData -> .rsc : #59491
- fix NODE_OPTIONS=inspect: #59530
- Add CacheNode.prefetchRsc field: #59537
- allow passing wildcard domains in serverActions.allowedDomains: #59428
- Page Info Cleanup: #59430
- Fix force-static and fetch no-store cases: #59549
- Should not show no index for client rendering bailout: #59531
- Enable build worker by default: #59405
- Fork navigateReducer into PPR and non-PPR versions: #59538
- cleanup magic segment strings: #59552
- chore: update Turbopack: #59589
- Fix another magic segment string constant: #59591
- Make CacheNodeSeedData match FlightRouterState more closely: #59590
- transpilePackages should override default settings for external packages: #59385
- move segment constants to separate file: #59587
- Revert "Page Info Cleanup (#59430)": #59592
- Fix useOptimistic in server components bug. Add tests for invalid React server APIs: #59621
- Partial Pre Rendering Headers: #59447
- Add tests for invalid React server APIs: #59622
- Refactor setup-dev-bundler to make Turbopack/Webpack split clearer: #59650
- refactor and simplify app dynamic components: #59658
- Change manifestPath to pagesManifestPath: #59657
- Fix issue with outputFileTracingExcludes and pages/api edge runtime: #59157
- Update font data: #59722
- Remove path normalization logic when uploading .next/trace traces: #59305
- LayoutRouter: Support segment value of Promise
to asynchronously bail out and trigger a server patch: #59724 - fix: Allow start turbopack dev server for a project using middleware: #59759
- fix: gracefully shutdown server: #59551
- Revert "fix: gracefully shutdown server (#59551)": #59792
- Optionally bundle legacy react-dom/server APIs based on usage: #59737
- fix
defaulthandling in route groups that handle interception: #59752 - Transpile all code on app browser layer: #59569
- Initial implementation of PPR client navigations: #59725
- fix(turbopack): prevent edge entrypoint from becoming an async module: #59818
- Ensure we validate revalidate configs properly: #59822
- Update error check in validateRevalidate: #59826
- Rename confusing loaders: #59827
- Upgrade og dependencies: #59541
- [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale: #59833
- fix parallel catch-all route normalization: #59791
- fix router prefetch cache key to work with route interception: #59861
- Alias nextjs api entry to esm version for app router: #59852
- Remove duplicate standalone check: #60085
- Remove return on void function: #60087
- Ensure NextBuildContext is only used during build: #60099
- Add PageExtensions type: #60108
- Ensure instrumentation file does not affect middleware count: #60102
- Use WebpackError type instead of any: #60105
- Remove root parameter: #60112
- Remove extra duplicate pages warning: #60113
- Add MappedPages type: #60106
- Always call createPagesMapping for root paths: #60107
- Fix path issues on linux machines when build created on windows: #60116
- fix: Fix wrong cjs detection of
auto-cjspass: #60118 - chore: update Copyright time from 2023 to 2024: #60071
- Filter out duplicate paths in build output: #59858
- chore: align webpack config node version: #59862
- gracefully handle client router segment mismatches: #60141
- Fix start build log being overwritten by logs from page: #60122
- Allow using ESM pkg with custom incremental cache: #59863
- Fix emitting ESM swc helpers for 3rd parties CJS libs in bundle: #60169
- Move cacheDir logic to getCacheDir: #60133
- Refactor to unify writeFile, readFile, and add readManifest: #60137
- chore: bump
@vercel/nft@0.26.2: #60172 - fix:
<Script>withbeforeInteractivestrategy ignores additional attributes in App Router: #59779 - Fix invalid comment: #60182
- Refactor: Separate RSC renderer from SSR wrapping component: #59676
- fix: cache next font during development to avoid FOUC: #60175
- Add writeManifest: #60138
- Add writePrerenderManifest: #60158
- Add writeStandaloneDirectory: #60162
- Always write FunctionsConfigManifest: #60163
- Upgrade @vercel/og: #60205
- Improve consistency of issues and diagnostics for napi calls: #60198
- Change server actions cache default to no-store: #60170
- Allow undefined environment variables in config: #58247
- Add writeFullyStaticExport: #60200
- fix: Mark file as ESM if it has an export from
auto-cjspass: #60216 - log a dev warning when a missing parallel slot results in a 404: #60186
- Fix: Throw an error for empty array return in
generateStaticParamswithoutput:export: #57053 - Ensure appPathsManifest variable is inside if block: #60210
- Remove NEXT_TURBO_FILTER_PAGES internal variable: #60217
- fix: add
node-web-audio-apito server-external-packages.json: #60243 - Disable 2mb limit for custom incrementalCacheHandler: #59976
- [PPR Nav] Fix: Page data should always be applied: #60242
- Add writeImagesManifest: #60209
- feat(next-core): apply rsc transform in turbopack: #59629
- Move buildId logic to getBuildId: #60132
- fix catch-all route normalization for default parallel routes: #60240
- micro fix of the cache limit check: #60249
- parallel routes: fix @children slots: #60288
- Bump webpack-bundle-analyzer: #58442
- docs: Add docs for
next dev --experimental-https: #60357 - Update React from 0cdfef19b to f1039be4a: #60368
- Simplify if condition: #60250
- Fix dynamic sitemap detection: #60356
- chore(font): enable minification: #60319
- chore(precompile): remove obsolete precompiled assets : #60316
- refactor: simplify the call in lib.picocolors: #60386
- chore(precompile): re-add
watchpackto the precompile: #60309 - refactor(dev-overlay): remove
chalk: #60317 - Fix: HMR in multi-zone handling 🌱: #59471
- HMR development stats: include
updatedModulesfor App Router and Turbopack changes: #59785 - Change color of output bundle size: #60385
- Fix TypeError when using params in
RootLayoutwith parallel routes: #60401 - Fix missing source code display for some jsx errors: #60390
- Refactor
unstable_cacheimplementation: #60403 - Missing Postpone Detection Fix: #59891
- refactor(next/core): reorganize next.js custom transforms for next-swc/turbopack: #60400
- Fix custom cache handler importing on windows: #60312
- Display original failed fetch trace: #60274
- feat(app-router): introduce
experimental.missingSuspenseWithCSRBailoutflag: #57642 - update turbopack: #60208
- update turbopack: #60478
- feat(turbopack): support named client references properly: #59578
- Fix intercepted segments with basepath: #60485
- parallel routes: fix client reference manifest grouping for catch-all segments: #60482
- Group small chunks in shared js section of output: #60479
- filter default segments from prerender manifest: #60499
- Add experimental options for more parallelization in webpack builds: #60177
- move custom allocator flag and add rustls-tls comment: #60128
- fix: redirect logic missing basePath in App Render: #60184
- Revert "feat(app-router): introduce
experimental.missingSuspenseWithCSRBailoutflag": #60508 - add retry logic to loadClientReferenceManifest: #56518
- Turbopack hmr: record forwarded client spans: #60500
- chore(turbopack): check for unsupported next config options instead of supported ones: #58781
- Handle non server action post requests safely: #60526
- Fix global-error for nested routes: #60539
- chore(examples): use default prettier for examples/templates: #60530
- Update default error rate for client filter: #60542
- Enable windowHistorySupport by default: #60557
- Fix logging order of build jobs: #60564
- propagate notFound errors past a segment's error boundary: #60567
- Tracing: attach Turbopack session value to root span: #60576
- [PPR Nav] Fix flash of loading state during back/forward: #60578
- Fix react-refresh for transpiled packages: #60563
- Ensure client filter with basePath is correct: #60580
- Update React from f1039be4a to 60a927d04: #60619
- Add cache reason for using fetch with noStore: #60630
- chore: remove unused export: #60647
- remove next build turbopack version: #60655
- fix breakpoints on reload: #60507
- Fix hmr updates with rebuilding for build errors: #60676
- graceful shutdown: #60059
- refactor(next-swc): remove unused crashreporter: #60593
- chore(eslint-plugin-next): upgrade glob dependency: #60732
- Fix client reference keys of barrel-optimized files: #60685
- Fix recursive ignoring case in build traces: #60740
- Telemetry: allow disabling of fetch tracing: #60588
- chore: typo, responseCookes to responseCookies: #60654
- Telemetry code load: #60594
- allow to pass available chunk items when creating a chunk group: #60554
- separate chunking per layout parts: #60569
- feat(next-core): port remaining next.js custom transforms: #60498
- Reapply "feat(app-router): introduce
experimental.missingSuspenseWithCSRBailoutflag" (#60508): #60751 - Skip postcss config location resolving in node_modules: #60697
- apply page transforms only on pages: #60779
- fix layout segment key to match up with manifest: #60783
- Fix locale domain public files check: #60749
- Stabilize custom cache handlers and changing memory size.: #57953
- feat: stabilize
unstable_getImgProps()=>getImageProps(): #60739 - Fix Server Actions compiler bug: #60794
- Dev Server: Preserve globals overwrites in the initialization hook: #60796
- add missing function call to
normalize-catchall-routestest case: #60777 - Use snapshots for component-stack tests: #60768
- Support next/og usage in ESM nextjs app: #60818
- fix(ts): auto-complete
next/headers: #60817 - Remove the warning for build worker when custom webpack present: #60820
- chore(deps): update
browserslistandcaniuse-lite: #60827 - feat: support custom image loaders in turbopack: #60736
- Ensure request specific caches for revalidate are reset: #60810
- Add metrics names for unstable_cache: #60802
- Fix: respect init.cache if fetch input is request instance: #60821
- Revert "Fix: Throw an error for empty array return in
generateStaticParamswithoutput:export": #60831 - turbopack: rename custom cache handler configs: #60828
- dx: warn the deprecated cache configs are used: #60836
- Enable missing suspense bailout by default: #60840
Documentation Changes
- Docs: Update Server Actions Docs: #59080
- Docs: Polish Server Actions Page 💅🏼 : #59400
- Update 10-route-handlers.mdx: #59443
- docs: remove broken link: #59487
- Docs: Add App Router Testing Guides and update /examples: #59268
- docs: fix bad closed tag: #59575
- Fix closing tags for jest docs: #59579
- Docs: Fix formatting in testing docs and update examples dependencies: #59572
- Docs: Add missing closing tag: #59581
- Docs: Review and update
getServerSidePropspage: #59545 - docs: add note for environment variables on Vercel deployment: #59237
- docs(accessibility): updates WCAG version to 2.2: #59646
- docs: small tweaks: #59638
- docs: fix broken backtick for link: #59717
- Docs: Document
generateSitemaps: #59626 - Docs: Polish testing section: #59618
- docs: improve docs around geolocation and IP headers: #59719
- Docs: Review and Typo Fix - getServerSideProps: #59616
- docs: fix vitest example link in testing with vitest: #59659
- docs: fix grammar issue in 03-get-server-side-props.mdx: #59670
- Includes section to
@next/third-partiesdocumentation for Google Analytics: #59671 - Change file extension to .tsx: #59763
- docs: clarify data fetching pattern: #59602
- change 'themeColor' to 'viewport' in the viewport section: #59764
- docs: add missing comma to sitemap.mdx: #59788
- Chore docs fix runon and definition of trailing slash redirect: #59889
- Minor grammar edits: #59887
- Introduce cache version history in cache API: #59799
- docs: correct type in sitemap.mdx: #59787
- chore(docs): Remove
typesafe-i18nfrom thrid-party i18n options: #59624 - docs: Add Chakra UI setup guide: #59275
- Update not-found.mdx: #59478
- Updates references for styled-components configuration in next.config.js: #59495
- Update 05-mdx.mdx: #57988
- Mention remark-mdx-frontmatter in frontmatter docs: #59238
- Docs: Rename React Query to TanStack Query: #59004
- Add
cwdto VSCode debugging setup steps: #58689 - [Docs]: fix tiny typo: #59897
- [docs] Add sensible name for Cookie deleting functions: #57893
- Update generate-viewport.mdx: #57701
- Update opengraph-image.mdx: #57810
- [docs] Update example links.: #57891
- docs: clarify setting and reading cookies from Route Handlers: #59915
- docs: add Sirv loader for next/image: #57102
- docs: fix prettier lint: #59918
- docs: Add media example for icon metadata: #56141
- Fix typo in generate-sitemaps.mdx docs: #59964
- Update 02-server-actions-and-mutations.mdx: #59935
- Update 08-parallel-routes.mdx: #59966
- Updates "No Before Interactive" error message for App router: #56033
- docs: Update Middleware docs on ignoring prefetches: #56799
- docs: add note that contentlayer is unmaintained: #59927
- docs: small changes to linking docs: #59982
- docs: opengraph / twitter image needs absolute URL: #59985
- docs: fix typo for
useFormState: #60010 - docs: clarify using
redirectwith client components: #60056 - Update documentation to reflect added support for 'userScalable' field in 'viewport': #60033
- docs: Add section for CSP without nonces: #60067
- docs: update install count: #60072
- docs: fix version history order in sitemap.mdx: #60054
- docs: clarify generateStaticParams and dynamicParams: #60083
- docs: update
maxDurationinfo: #60086 - docs:
⌘+Enterfor forms: #60090 - Clarify measurement ID in
Optimizing: Third Party Libraries: #60136 - Update 03-css-in-js.mdx : fix typo: #60114
- docs: small wording fix for 03-linking-and-navigating.mdx: #60089
- Docs: If
revalidatePath'spathhas dynamic segment path,typemust bepage.: #59149 - docs: improve grammar: #60149
- Fix config code in the CSS-in-JS chapter: #60164
- Updating example with required content type in header: #59990
- Adds a section to
Optimizing: Third Party Librarieson tracking pageviews for Google Analytics: #60176 - Update route-segment-config.mdx: #60179
- docs: Fix typo on generate-sitemaps.mdx: #60188
- small correction in 11-middleware.mdx: #60189
- docs(trailingSlashes): add note for SSG generation: #57628
- docs: fix typos and broken links in the image.mdx: #60221
- Docs: Fix
revalidatetype annotation: #60230 - Update 02-server-actions-and-mutations.mdx: #60222
- fix(docs): add missing docs on external packages: #60244
- Docs: Add "Going to production" page for App Router: #59304
- Docs: Update
compressiondocs: #60264 - Docs: Clarify
useSearchParamsbehavior: #60257 - Docs: Add more clarification about
compress: #60268 - Clarify
searchParamsis not passed to Layouts: #60277 - docs(testing): add bun command to running your tests section: #60281
- chore(docs): add section for Custom Type Declarations: #60282
- docs: small corrections to bundle analyzer docs: #60285
- docs: typo fix in compression page: #60318
- docs: add example of webhooks with App Router: #60276
- docs: add optional catch-all segments typescript example: #60237
- Update use-search-params.mdx: #55357
- docs: address a few open issues: #60329
- docs: next/head: Document error cases with head/body-tags; add subheadings: #56412
- Fix bundle analyzer NPM package name in documentation: #60339
- [doc] Update 03-linking-and-navigating.mdx: #60345
- add missing types: #60346
- docs: update docs for
remotePatternsto mention what happens when prop is omitted: #60387 - Docs: Update note on
@next/third-partiesbeing experimental: #60372 - chore(docs): fix 14 upgrade guide mentioning export: #60429
- chore(docs/errors): Improve documentation grammar: #60452
- Docs: Address Community Feedback: #60476
- for #59178 - addition to robots.mdx - Customize user-agent rules: #60361
- Docs: Document
windowHistorySupportflag, and addpushState/replaceStateexamples: #60374 - docs: correct
windowHistorySupporttitle: #60503 - chore: correct subject-verb conjugation in Client Components doc: #60538
- Add "Redirecting" page in the Routing section: #60435
- docs: small fix in Redirecting page: #60583
- fix(mdx): update word order, fix typo: #60466
- Add documentation for client router filter: #60585
- docs: Update Google Analytics error doc: #60612
- docs: remove Next 13 mention for App Router: #60632
- Fix Typo in Testing Documentation Description: #60601
- chore: remove duplicate package name: #60652
- chore(docs): add docs for
.svgunoptimized behavior: #60735 - add authentication docs page: #60388
- chore(docs): fix example documentation for Art Direction: #60823
- docs: add build worker optout error back with upgrade advice: #60826
- Docs: Use JS comment for MDX: #60825
- Fix error from the auth docs.: #60829
Example Changes
- Updates the
with-vitestexample. Unlocks the tests passing withserver-onlyusage: #58902 - Add text-wrap: balance to CNA template for card descriptions: #59384
- fix: Invalid next version tag name in with-cypress example: #59647
- Fix: Add matcher for middleware: #59651
- examples: Add new NextAuth.js example: #56914
- examples: add required env vars to auth example.: #59901
- examples: update Redis to App Router: #59311
- examples: remove broken deploy button: #58794
- examples: progressive enhancement for Redis example: #59937
- Update .env.local.example of with-firebase example: #59954
- Upgrade
with-algolia-react-instantsearchexample to latest major version and use app router: #59961 - Rename .env.local.example to .env.example: #59984
- Update Convex Example: #59789
- examples: Update next-forms example: #60052
- chore(cms-contentfu): fix contentful instructions: #60050
- examples: improve typings for i18n app dir: #60160
- chore(examples): migrate
image-componentexample to App Router: #60289 - fix(#58695): improve zustand example: #58696
- examples: add allow-unauthenticated option to cloud run deploy: #58792
- fixed import path in with-jest template.: #60332
- chore(examples): fix image-component example viewsource paths, shimmer page filename: #60451
- Update
cache-handler-redisexample dependencies: #59458 - examples: Update hello world: #60502
- chore: Fix typo s/desireable/desirable/: #60518
- chore: Fix multiple typos: #60531
- examples: Update redis example with
useOptimistic: #60596 - Update README.md: #60595
- chore(example): update storybook: #60737
Misc Changes
- Revert "Skip latest commit check for stable release": #59401
- ci(workflow): restore publish wasm binary: #59414
- ci: only run release commit check on canary releases: #59423
- test(runner): preserve browser tracing if test fails: #59469
- Adding Google analytics to next/third-parties: #58418
- ci(test): upload playwright artifacts seperately: #59496
- fix integration test workflow: #59508
- Fix third party typings: #59503
- test(fixture): try to include sources in the snapshot: #59499
- chore: bump typescript-eslint to 6.14: #59514
- Update Deployment Testing: #59448
- fix(playwright): teardown when global quit force terminates browser: #59548
- chore(create-next-app): bump prompts to v2.4.2: #59006
- types: cover the tests with root tsconfig.json: #59550
- Fix test/tsconfig.json alias for internal test utils: #59570
- test(integration): adjust fixture to work with turbopack: #59595
- Add test for importing client components from server actions: #59615
- chore: extends from shared base tsconfig: #59776
- Update Turbopack test manifest: #59798
- Fix CI: Skip test in PPR dev mode, too: #59817
- Add unstable_cache validate test case: #59828
- Update
swc_coretov0.87.10: #59834 - chore: add github bug report item type module resolution: #60121
- chore: add myself to created-by: Next.js team: #60144
- chore: include required Next.js stages to issue template: #60142
- searchParameters test for PPR: #59678
- Getting rid of a few TypeScript anys.: #60017
- fix responsiveness in starter templates: #60140
- fix(generators): update errors gen: #60233
- chore: test against latest sharp: #60226
- style: enforce prop immutability in new next app: #58845
- Update flakey test from port re-use: #60291
- chore: update pnpm to the latest (v8.14.0): #60295
- docs: update broken link in UPGRADING.md: #60342
- Update Turbopack test manifest: #60306
- Update Turbopack test manifest: #60371
- Update
swc_coretov0.87.16: #60192 - Add replay.io test suite dependencies: #60381
- chore: update turbo to the latest: #60294
- Update Turbopack test manifest: #60413
- Update testing contributor guide: #60421
- chore: skip flaky turbopack navigation test: #60431
- ci: skip cron workflows on forks: #60422
- Add reproduction for HMR moving / renaming files.: #57230
- add tests for incremental-cache: #60331
- chore: fix postinstall when using tarball: #60443
- test: use replay jest runner to add current test name to recording: #60438
- misc: Skip cron workflows on forks: #60487
- Handle pages double render for useParams in tests: #60486
- Transition some check calls in tests to retry: #60489
- Use next.config.mjs for CNA templates: #60494
- Update Turbopack test manifest: #60504
- run tests from test suite that are not listed in the manifest: #58401
- Add --ci to jest tests in CI: #60432
- Ensure aliased variable is used in test: #60428
- Update Turbopack test manifest: #60506
- Skip webpack loader test in Turbopack: #60509
- Revert "Skip webpack loader test in Turbopack": #60513
- Revert "Revert "Skip webpack loader test in Turbopack"": #60514
- Remove unused target: es5 from tsconfig.json in create-next-app: #60521
- refactor(cna): make
create-next-appeven smaller and faster: #58030 - Expand hydration error test to check recovery: #60423
- chore: update pull_request_approved workflow: #60537
- chore: add issue_popular workflow: #60543
- Update Turbopack test manifest: #60553
- chore: update next-repo-info actions: #60559
- chore(git): add
.git-blame-ignore-revs: #60582 - chore: remove pr_approved workflow & update popular_issues workflow: #60584
- test(fixture): update assertion for turbopack: #60579
- Remove duplicate pages -> app test: #60589
- Update flakey dev middleware test: #60590
- Add hasRedbox fix: #60522
- Turbopack test updates: #60662
- Remove normalizeSnapshot as it is no longer used: #60664
- Stabilize flakey edge-module-error test: #60728
- Update module-layer test for Turbopack: #60707
- chore: bump nissuer: #60706
- test(fixture): update assertion for turbopack: #60750
- Update developing.md to include "Install Rust and Cargo" as 1st step: #60761
- Fix tests exit race condition: #60757
- Update ReactRefreshRegression test snapshot for Turbopack: #60767
Credits
Huge thanks to @delbaoliveira, @OlehDutchenko, @sokra, @huozhi, @shuding, @kwonoj, @ztanner, @eps1lon, @acdlite, @ebidel, @leerob, @janicklas-ralph, @wyattjoh, @ijjk, @JohnPhamous, @chentsulin, @akawalsky, @BlankParticle, @timneutkens, @ForsakenHarmony, @dvoytenko, @smaeda-ks, @kenji-webdev, @rv-david, @icyJoseph, @dijonmusters, @A7med3bdulBaset, @jenewland1999, @mknichel, @kdy1, @housseindjirdeh, @max-programming, @redbmk, @SSakibHossain10, @jamesmillerburgess, @minaelee, @officialrajdeepsingh, @LorisSigrist, @yesl-kim, @StevenKamwaza, @manovotny, @mcexit, @remcohaszing, @ryo-manba, @TranquilMarmot, @vinaykulk621, @haritssr, @divquan, @IgorVaryvoda, @LukeSchlangen, @RiskyMH, @ash2048, @ManuWeb3, @msgadi, @dhayab, @ShahriarKh, @jvandenaardweg, @DestroyerXyz, @SwitchBladeAK, @ianmacartney, @justinh00k, @tiborsaas, @ArianHamdi, @li-jia-nan, @aramikuto, @jquinc30, @samcx, @Haosik, @AkifumiSato, @arnabsen, @nfroidure, @clbn, @siddtheone, @styfle, @zbauman3, @gnoff, @anthonyshew, @alexfradiani, @CalebBarnes, @adk96r, @pacexy, @hichemfantar, @michaldudak, @redonkulus, @k-taro56, @mhughdo, @tknickman, @shumakmanohar, @vordgi, @StephDietz, @hamirmahal, @gaspar09, @JCharante, @sjoerdvanBommel, @mass2527, @N-Ziermann, @tordans, @davidthorand, @rmathew8-gh, @chriskrogh, @shogunsea, @auipga, @SukkaW, @agustints, @wbinnssmith, @feedthejim, @OXXD, @clarencepenz, @better-salmon, @808vita, @coltonehrman, @tksst, @hugo-syn, @JakobJingleheimer, @Willem-Jaap, @brandonnorsworthy, @jaehunn, @balazsorban44, @kooya3, @wan2land, @AugustinMauroy, and @williamli for helping!
Core Changes
- Enable missing suspense bailout by default: #60840
Credits
Huge thanks to @huozhi for helping!
Core Changes
- fix(ts): auto-complete
next/headers: #60817 - Remove the warning for build worker when custom webpack present: #60820
- chore(deps): update
browserslistandcaniuse-lite: #60827 - feat: support custom image loaders in turbopack: #60736
- Ensure request specific caches for revalidate are reset: #60810
- Add metrics names for unstable_cache: #60802
- Fix: respect init.cache if fetch input is request instance: #60821
- Revert "Fix: Throw an error for empty array return in
generateStaticParamswithoutput:export": #60831 - turbopack: rename custom cache handler configs: #60828
- dx: warn the deprecated cache configs are used: #60836
Documentation Changes
- add authentication docs page: #60388
- chore(docs): fix example documentation for Art Direction: #60823
- docs: add build worker optout error back with upgrade advice: #60826
- Docs: Use JS comment for MDX: #60825
- Fix error from the auth docs.: #60829
Credits
Huge thanks to @balazsorban44, @StephDietz, @huozhi, @styfle, @delbaoliveira, @ForsakenHarmony, @leerob, and @ijjk for helping!
Core Changes
- feat: stabilize
unstable_getImgProps()=>getImageProps(): #60739 - Fix Server Actions compiler bug: #60794
- Dev Server: Preserve globals overwrites in the initialization hook: #60796
- add missing function call to
normalize-catchall-routestest case: #60777 - Use snapshots for component-stack tests: #60768
- Support next/og usage in ESM nextjs app: #60818
Misc Changes
- Update ReactRefreshRegression test snapshot for Turbopack: #60767
Credits
Huge thanks to @styfle, @shuding, @dvoytenko, @williamli, @timneutkens, and @huozhi for helping!
Core Changes
- Fix locale domain public files check: #60749
- Stabilize custom cache handlers and changing memory size.: #57953
Credits
Huge thanks to @ijjk and @leerob for helping!
Core Changes
- fix layout segment key to match up with manifest: #60783
Misc Changes
- Fix tests exit race condition: #60757
Credits
Huge thanks to @ijjk and @sokra for helping!
Core Changes
- Skip postcss config location resolving in node_modules: #60697
- apply page transforms only on pages: #60779
Credits
Huge thanks to @timneutkens and @sokra for helping!
Core Changes
- Reapply "feat(app-router): introduce
experimental.missingSuspenseWithCSRBailoutflag" (#60508): #60751
Credits
Huge thanks to @sokra for helping!
Core Changes
- Telemetry: allow disabling of fetch tracing: #60588
- chore: typo, responseCookes to responseCookies: #60654
- Telemetry code load: #60594
- allow to pass available chunk items when creating a chunk group: #60554
- separate chunking per layout parts: #60569
- feat(next-core): port remaining next.js custom transforms: #60498
Example Changes
- Update README.md: #60595
- chore(example): update storybook: #60737
Misc Changes
- chore: bump nissuer: #60706
- test(fixture): update assertion for turbopack: #60750
- Update developing.md to include "Install Rust and Cargo" as 1st step: #60761
Credits
Huge thanks to @dvoytenko, @balazsorban44, @kooya3, @wan2land, @AugustinMauroy, @kwonoj, @sokra, and @williamli for helping!
Core Changes
- Fix hmr updates with rebuilding for build errors: #60676
- graceful shutdown: #60059
- refactor(next-swc): remove unused crashreporter: #60593
- chore(eslint-plugin-next): upgrade glob dependency: #60732
- Fix client reference keys of barrel-optimized files: #60685
- Fix recursive ignoring case in build traces: #60740
Documentation Changes
- chore(docs): add docs for
.svgunoptimized behavior: #60735
Example Changes
- examples: Update redis example with
useOptimistic: #60596
Misc Changes
- Remove normalizeSnapshot as it is no longer used: #60664
- Stabilize flakey edge-module-error test: #60728
- Update module-layer test for Turbopack: #60707
Credits
Huge thanks to @leerob, @timneutkens, @huozhi, @ijjk, @redbmk, @kwonoj, @styfle, and @shuding for helping!
Core Changes
- chore: remove unused export: #60647
- remove next build turbopack version: #60655
- fix breakpoints on reload: #60507
Documentation Changes
- Fix Typo in Testing Documentation Description: #60601
- chore: remove duplicate package name: #60652
Misc Changes
- Add hasRedbox fix: #60522
- Turbopack test updates: #60662
Credits
Huge thanks to @huozhi, @brandonnorsworthy, @sokra, @timneutkens, and @jaehunn for helping!
Core Changes
- Add cache reason for using fetch with noStore: #60630
Documentation Changes
- docs: remove Next 13 mention for App Router: #60632
Credits
Huge thanks to @leerob and @huozhi for helping!
Core Changes
- Update React from f1039be4a to 60a927d04: #60619
Credits
Huge thanks to @acdlite for helping!
Documentation Changes
- docs: Update Google Analytics error doc: #60612
Credits
Huge thanks to @leerob for helping!
Core Changes
- [PPR Nav] Fix flash of loading state during back/forward: #60578
- Fix react-refresh for transpiled packages: #60563
- Ensure client filter with basePath is correct: #60580
Documentation Changes
- docs: small fix in Redirecting page: #60583
- fix(mdx): update word order, fix typo: #60466
- Add documentation for client router filter: #60585
Misc Changes
- chore(git): add
.git-blame-ignore-revs: #60582 - chore: remove pr_approved workflow & update popular_issues workflow: #60584
- test(fixture): update assertion for turbopack: #60579
- Remove duplicate pages -> app test: #60589
- Update flakey dev middleware test: #60590
Credits
Huge thanks to @acdlite, @huozhi, @ijjk, @A7med3bdulBaset, @styfle, @Willem-Jaap, @samcx, and @kwonoj for helping!
Core Changes
- Update default error rate for client filter: #60542
- Enable windowHistorySupport by default: #60557
- Fix logging order of build jobs: #60564
- propagate notFound errors past a segment's error boundary: #60567
- Tracing: attach Turbopack session value to root span: #60576
Documentation Changes
- Add "Redirecting" page in the Routing section: #60435
Misc Changes
- chore: add issue_popular workflow: #60543
- Update Turbopack test manifest: #60553
- chore: update next-repo-info actions: #60559
Credits
Huge thanks to @ijjk, @samcx, @timneutkens, @huozhi, @delbaoliveira, @ztanner, and @wbinnssmith for helping!
Core Changes
- add retry logic to loadClientReferenceManifest: #56518
- Turbopack hmr: record forwarded client spans: #60500
- chore(turbopack): check for unsupported next config options instead of supported ones: #58781
- Handle non server action post requests safely: #60526
- Fix global-error for nested routes: #60539
- chore(examples): use default prettier for examples/templates: #60530
Documentation Changes
- chore: correct subject-verb conjugation in Client Components doc: #60538
Example Changes
- chore: Fix typo s/desireable/desirable/: #60518
- chore: Fix multiple typos: #60531
Misc Changes
- Skip webpack loader test in Turbopack: #60509
- Revert "Skip webpack loader test in Turbopack": #60513
- Revert "Revert "Skip webpack loader test in Turbopack"": #60514
- Remove unused target: es5 from tsconfig.json in create-next-app: #60521
- refactor(cna): make
create-next-appeven smaller and faster: #58030 - Expand hydration error test to check recovery: #60423
- chore: update pull_request_approved workflow: #60537
Credits
Huge thanks to @timneutkens, @tksst, @SukkaW, @hugo-syn, @sokra, @wbinnssmith, @ForsakenHarmony, @huozhi, @samcx, @JakobJingleheimer, and @styfle for helping!
Core Changes
- Revert "feat(app-router): introduce
experimental.missingSuspenseWithCSRBailoutflag": #60508
Misc Changes
- Update Turbopack test manifest: #60506
Credits
Huge thanks to @sokra for helping!
Core Changes
- filter default segments from prerender manifest: #60499
- Add experimental options for more parallelization in webpack builds: #60177
- move custom allocator flag and add rustls-tls comment: #60128
- fix: redirect logic missing basePath in App Render: #60184
Documentation Changes
- Docs: Document
windowHistorySupportflag, and addpushState/replaceStateexamples: #60374 - docs: correct
windowHistorySupporttitle: #60503
Example Changes
- examples: Update hello world: #60502
Misc Changes
- Update Turbopack test manifest: #60504
- run tests from test suite that are not listed in the manifest: #58401
- Add --ci to jest tests in CI: #60432
- Ensure aliased variable is used in test: #60428
Credits
Huge thanks to @ztanner, @mknichel, @delbaoliveira, @leerob, @A7med3bdulBaset, @sokra, @timneutkens, and @coltonehrman for helping!
Core Changes
- Fix intercepted segments with basepath: #60485
- parallel routes: fix client reference manifest grouping for catch-all segments: #60482
- Group small chunks in shared js section of output: #60479
Documentation Changes
- for #59178 - addition to robots.mdx - Customize user-agent rules: #60361
Example Changes
- Update
cache-handler-redisexample dependencies: #59458
Misc Changes
- misc: Skip cron workflows on forks: #60487
- Handle pages double render for useParams in tests: #60486
- Transition some check calls in tests to retry: #60489
- Use next.config.mjs for CNA templates: #60494
Credits
Huge thanks to @better-salmon, @808vita, @A7med3bdulBaset, @wyattjoh, @vordgi, @ijjk, @ztanner, and @huozhi for helping!
Core Changes
- feat(turbopack): support named client references properly: #59578
Documentation Changes
- Docs: Address Community Feedback: #60476
Credits
Huge thanks to @delbaoliveira and @ForsakenHarmony for helping!
Core Changes
- update turbopack: #60478
Documentation Changes
- chore(docs/errors): Improve documentation grammar: #60452
Credits
Huge thanks to @clarencepenz and @sokra for helping!
Core Changes
- feat(app-router): introduce
experimental.missingSuspenseWithCSRBailoutflag: #57642 - update turbopack: #60208
Example Changes
- chore(examples): fix image-component example viewsource paths, shimmer page filename: #60451
Misc Changes
- test: use replay jest runner to add current test name to recording: #60438
Credits
Huge thanks to @feedthejim, @ForsakenHarmony, @sokra, and @OXXD for helping!
Core Changes
- Fix: HMR in multi-zone handling 🌱: #59471
- HMR development stats: include
updatedModulesfor App Router and Turbopack changes: #59785 - Change color of output bundle size: #60385
- Fix TypeError when using params in
RootLayoutwith parallel routes: #60401 - Fix missing source code display for some jsx errors: #60390
- Refactor
unstable_cacheimplementation: #60403 - Missing Postpone Detection Fix: #59891
- refactor(next/core): reorganize next.js custom transforms for next-swc/turbopack: #60400
- Fix custom cache handler importing on windows: #60312
- Display original failed fetch trace: #60274
Documentation Changes
- chore(docs): fix 14 upgrade guide mentioning export: #60429
Misc Changes
- Update Turbopack test manifest: #60413
- Update testing contributor guide: #60421
- chore: skip flaky turbopack navigation test: #60431
- ci: skip cron workflows on forks: #60422
- Add reproduction for HMR moving / renaming files.: #57230
- add tests for incremental-cache: #60331
- chore: fix postinstall when using tarball: #60443
Credits
Huge thanks to @agustints, @wbinnssmith, @timneutkens, @huozhi, @ForsakenHarmony, @ztanner, @gnoff, @A7med3bdulBaset, @leerob, @vordgi, @styfle, @wyattjoh, and @kwonoj for helping!
Core Changes
- chore(precompile): remove obsolete precompiled assets : #60316
- refactor: simplify the call in lib.picocolors: #60386
- chore(precompile): re-add
watchpackto the precompile: #60309 - refactor(dev-overlay): remove
chalk: #60317
Documentation Changes
- docs: update docs for
remotePatternsto mention what happens when prop is omitted: #60387 - Docs: Update note on
@next/third-partiesbeing experimental: #60372
Misc Changes
- Add replay.io test suite dependencies: #60381
- chore: update turbo to the latest: #60294
Credits
Huge thanks to @timneutkens, @styfle, @SukkaW, @huozhi, @samcx, and @delbaoliveira for helping!
Core Changes
- Update React from 0cdfef19b to f1039be4a: #60368
- Simplify if condition: #60250
- Fix dynamic sitemap detection: #60356
- chore(font): enable minification: #60319
Documentation Changes
- [doc] Update 03-linking-and-navigating.mdx: #60345
- add missing types: #60346
Misc Changes
- Update Turbopack test manifest: #60371
- Update
swc_coretov0.87.16: #60192
Credits
Huge thanks to @acdlite, @shogunsea, @timneutkens, @auipga, @huozhi, @kdy1, and @SukkaW for helping!
Core Changes
- Bump webpack-bundle-analyzer: #58442
- docs: Add docs for
next dev --experimental-https: #60357
Example Changes
- fixed import path in with-jest template.: #60332
Misc Changes
- Update Turbopack test manifest: #60306
Credits
Huge thanks to @rmathew8-gh, @chriskrogh, and @leerob for helping!
Core Changes
- micro fix of the cache limit check: #60249
- parallel routes: fix @children slots: #60288
Documentation Changes
- docs: typo fix in compression page: #60318
- docs: add example of webhooks with App Router: #60276
- docs: add optional catch-all segments typescript example: #60237
- Update use-search-params.mdx: #55357
- docs: address a few open issues: #60329
- docs: next/head: Document error cases with head/body-tags; add subheadings: #56412
- Fix bundle analyzer NPM package name in documentation: #60339
Example Changes
- chore(examples): migrate
image-componentexample to App Router: #60289 - fix(#58695): improve zustand example: #58696
- examples: add allow-unauthenticated option to cloud run deploy: #58792
Misc Changes
- Update flakey test from port re-use: #60291
- chore: update pnpm to the latest (v8.14.0): #60295
- docs: update broken link in UPGRADING.md: #60342
Credits
Huge thanks to @ijjk, @vordgi, @samcx, @ztanner, @JCharante, @leerob, @sjoerdvanBommel, @mass2527, @styfle, @N-Ziermann, @LukeSchlangen, @tordans, and @davidthorand for helping!
Core Changes
- Move buildId logic to getBuildId: #60132
- fix catch-all route normalization for default parallel routes: #60240
Documentation Changes
- Clarify
searchParamsis not passed to Layouts: #60277 - docs(testing): add bun command to running your tests section: #60281
- chore(docs): add section for Custom Type Declarations: #60282
- docs: small corrections to bundle analyzer docs: #60285
Credits
Huge thanks to @timneutkens, @gaspar09, @jenewland1999, @styfle, @A7med3bdulBaset, and @ztanner for helping!
Core Changes
- [PPR Nav] Fix: Page data should always be applied: #60242
- Add writeImagesManifest: #60209
- feat(next-core): apply rsc transform in turbopack: #59629
Documentation Changes
- Docs: Add "Going to production" page for App Router: #59304
- Docs: Update
compressiondocs: #60264 - Docs: Clarify
useSearchParamsbehavior: #60257 - Docs: Add more clarification about
compress: #60268
Misc Changes
- style: enforce prop immutability in new next app: #58845
Credits
Huge thanks to @acdlite, @timneutkens, @StephDietz, @delbaoliveira, @hamirmahal, and @kwonoj for helping!
Core Changes
- Improve consistency of issues and diagnostics for napi calls: #60198
- Change server actions cache default to no-store: #60170
- Allow undefined environment variables in config: #58247
- Add writeFullyStaticExport: #60200
- fix: Mark file as ESM if it has an export from
auto-cjspass: #60216 - log a dev warning when a missing parallel slot results in a 404: #60186
- Fix: Throw an error for empty array return in
generateStaticParamswithoutput:export: #57053 - Ensure appPathsManifest variable is inside if block: #60210
- Remove NEXT_TURBO_FILTER_PAGES internal variable: #60217
- fix: add
node-web-audio-apito server-external-packages.json: #60243 - Disable 2mb limit for custom incrementalCacheHandler: #59976
Documentation Changes
- docs(trailingSlashes): add note for SSG generation: #57628
- docs: fix typos and broken links in the image.mdx: #60221
- Docs: Fix
revalidatetype annotation: #60230 - Update 02-server-actions-and-mutations.mdx: #60222
- fix(docs): add missing docs on external packages: #60244
Misc Changes
- fix responsiveness in starter templates: #60140
- fix(generators): update errors gen: #60233
- chore: test against latest sharp: #60226
Credits
Huge thanks to @sokra, @timneutkens, @hichemfantar, @michaldudak, @redonkulus, @kdy1, @ztanner, @k-taro56, @mhughdo, @tknickman, @aramikuto, @styfle, @shumakmanohar, and @vordgi for helping!
Core Changes
- Add writeManifest: #60138
- Add writePrerenderManifest: #60158
- Add writeStandaloneDirectory: #60162
- Always write FunctionsConfigManifest: #60163
- Upgrade @vercel/og: #60205
Credits
Huge thanks to @timneutkens and @huozhi for helping!
Core Changes
- fix: cache next font during development to avoid FOUC: #60175
Documentation Changes
- small correction in 11-middleware.mdx: #60189
Credits
Huge thanks to @adk96r and @pacexy for helping!
Core Changes
- chore: align webpack config node version: #59862
- gracefully handle client router segment mismatches: #60141
- Fix start build log being overwritten by logs from page: #60122
- Allow using ESM pkg with custom incremental cache: #59863
- Fix emitting ESM swc helpers for 3rd parties CJS libs in bundle: #60169
- Move cacheDir logic to getCacheDir: #60133
- Refactor to unify writeFile, readFile, and add readManifest: #60137
- chore: bump
@vercel/nft@0.26.2: #60172 - fix:
<Script>withbeforeInteractivestrategy ignores additional attributes in App Router: #59779 - Fix invalid comment: #60182
- Refactor: Separate RSC renderer from SSR wrapping component: #59676
Documentation Changes
- docs: small wording fix for 03-linking-and-navigating.mdx: #60089
- Docs: If
revalidatePath'spathhas dynamic segment path,typemust bepage.: #59149 - docs: improve grammar: #60149
- Fix config code in the CSS-in-JS chapter: #60164
- Updating example with required content type in header: #59990
- Adds a section to
Optimizing: Third Party Librarieson tracking pageviews for Google Analytics: #60176 - Update route-segment-config.mdx: #60179
- docs: Fix typo on generate-sitemaps.mdx: #60188
Example Changes
- examples: improve typings for i18n app dir: #60160
Misc Changes
- searchParameters test for PPR: #59678
- Getting rid of a few TypeScript anys.: #60017
Credits
Huge thanks to @Haosik, @AkifumiSato, @leerob, @arnabsen, @ztanner, @wyattjoh, @huozhi, @nfroidure, @timneutkens, @clbn, @siddtheone, @housseindjirdeh, @styfle, @zbauman3, @ijjk, @gnoff, @anthonyshew, @alexfradiani, and @CalebBarnes for helping!
Core Changes
- Remove return on void function: #60087
- Ensure NextBuildContext is only used during build: #60099
- Add PageExtensions type: #60108
- Ensure instrumentation file does not affect middleware count: #60102
- Use WebpackError type instead of any: #60105
- Remove root parameter: #60112
- Remove extra duplicate pages warning: #60113
- Add MappedPages type: #60106
- Always call createPagesMapping for root paths: #60107
- Fix path issues on linux machines when build created on windows: #60116
- fix: Fix wrong cjs detection of
auto-cjspass: #60118 - chore: update Copyright time from 2023 to 2024: #60071
- Filter out duplicate paths in build output: #59858
Documentation Changes
- docs:
⌘+Enterfor forms: #60090 - Clarify measurement ID in
Optimizing: Third Party Libraries: #60136 - Update 03-css-in-js.mdx : fix typo: #60114
Misc Changes
- Update
swc_coretov0.87.10: #59834 - chore: add github bug report item type module resolution: #60121
- chore: add myself to created-by: Next.js team: #60144
- chore: include required Next.js stages to issue template: #60142
Credits
Huge thanks to @leerob, @timneutkens, @kdy1, @li-jia-nan, @aramikuto, @huozhi, @housseindjirdeh, @jquinc30, and @samcx for helping!
Core Changes
- Remove duplicate standalone check: #60085
Documentation Changes
- docs: fix version history order in sitemap.mdx: #60054
- docs: clarify generateStaticParams and dynamicParams: #60083
- docs: update
maxDurationinfo: #60086
Example Changes
- chore(cms-contentfu): fix contentful instructions: #60050
Credits
Huge thanks to @tiborsaas, @ArianHamdi, @leerob, and @timneutkens for helping!
Documentation Changes
- docs: clarify using
redirectwith client components: #60056 - Update documentation to reflect added support for 'userScalable' field in 'viewport': #60033
- docs: Add section for CSP without nonces: #60067
- docs: update install count: #60072
Credits
Huge thanks to @leerob and @justinh00k for helping!
Example Changes
- examples: Update next-forms example: #60052
Credits
Huge thanks to @leerob for helping!
Documentation Changes
- docs: fix typo for
useFormState: #60010
Credits
Huge thanks to @leerob for helping!
Documentation Changes
- docs: small changes to linking docs: #59982
- docs: opengraph / twitter image needs absolute URL: #59985
Example Changes
- Rename .env.local.example to .env.example: #59984
- Update Convex Example: #59789
Credits
Huge thanks to @SwitchBladeAK, @leerob, and @ianmacartney for helping!
Documentation Changes
- Fix typo in generate-sitemaps.mdx docs: #59964
- Update 02-server-actions-and-mutations.mdx: #59935
- Update 08-parallel-routes.mdx: #59966
- Updates "No Before Interactive" error message for App router: #56033
- docs: Update Middleware docs on ignoring prefetches: #56799
- docs: add note that contentlayer is unmaintained: #59927
Example Changes
- Update .env.local.example of with-firebase example: #59954
- Upgrade
with-algolia-react-instantsearchexample to latest major version and use app router: #59961
Credits
Huge thanks to @ash2048, @ManuWeb3, @msgadi, @dhayab, @ShahriarKh, @manovotny, @jvandenaardweg, and @DestroyerXyz for helping!
Example Changes
- examples: progressive enhancement for Redis example: #59937
Credits
Huge thanks to @leerob for helping!
Documentation Changes
- docs: Add media example for icon metadata: #56141
Example Changes
- examples: remove broken deploy button: #58794
Credits
Huge thanks to @LukeSchlangen and @RiskyMH for helping!
Documentation Changes
- [Docs]: fix tiny typo: #59897
- [docs] Add sensible name for Cookie deleting functions: #57893
- Update generate-viewport.mdx: #57701
- Update opengraph-image.mdx: #57810
- [docs] Update example links.: #57891
- docs: clarify setting and reading cookies from Route Handlers: #59915
- docs: add Sirv loader for next/image: #57102
- docs: fix prettier lint: #59918
Example Changes
- examples: update Redis to App Router: #59311
Credits
Huge thanks to @A7med3bdulBaset, @vinaykulk621, @haritssr, @divquan, @leerob, @IgorVaryvoda, and @huozhi for helping!
Core Changes
- Alias nextjs api entry to esm version for app router: #59852
Example Changes
- examples: Add new NextAuth.js example: #56914
- examples: add required env vars to auth example.: #59901
Credits
Huge thanks to @leerob and @huozhi for helping!
Core Changes
- fix parallel catch-all route normalization: #59791
- fix router prefetch cache key to work with route interception: #59861
Documentation Changes
- Chore docs fix runon and definition of trailing slash redirect: #59889
- Minor grammar edits: #59887
- Introduce cache version history in cache API: #59799
- docs: correct type in sitemap.mdx: #59787
- chore(docs): Remove
typesafe-i18nfrom thrid-party i18n options: #59624 - docs: Add Chakra UI setup guide: #59275
- Update not-found.mdx: #59478
- Updates references for styled-components configuration in next.config.js: #59495
- Update 05-mdx.mdx: #57988
- Mention remark-mdx-frontmatter in frontmatter docs: #59238
- Docs: Rename React Query to TanStack Query: #59004
- Add
cwdto VSCode debugging setup steps: #58689
Credits
Huge thanks to @ztanner, @minaelee, @officialrajdeepsingh, @jamesmillerburgess, @LorisSigrist, @yesl-kim, @StevenKamwaza, @manovotny, @mcexit, @remcohaszing, @ryo-manba, and @TranquilMarmot for helping!
Core Changes
- Update error check in validateRevalidate: #59826
- Rename confusing loaders: #59827
- Upgrade og dependencies: #59541
- [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale: #59833
Misc Changes
- Add unstable_cache validate test case: #59828
Credits
Huge thanks to @ijjk, @huozhi, and @acdlite for helping!
Core Changes
- Ensure we validate revalidate configs properly: #59822
Credits
Huge thanks to @ijjk for helping!
Core Changes
- fix(turbopack): prevent edge entrypoint from becoming an async module: #59818
Misc Changes
- Fix CI: Skip test in PPR dev mode, too: #59817
Credits
Huge thanks to @acdlite and @ForsakenHarmony for helping!
Core Changes
- fix: gracefully shutdown server: #59551
- Revert "fix: gracefully shutdown server (#59551)": #59792
- Optionally bundle legacy react-dom/server APIs based on usage: #59737
- fix
defaulthandling in route groups that handle interception: #59752 - Transpile all code on app browser layer: #59569
- Initial implementation of PPR client navigations: #59725
Documentation Changes
- docs: clarify data fetching pattern: #59602
- change 'themeColor' to 'viewport' in the viewport section: #59764
- docs: add missing comma to sitemap.mdx: #59788
Misc Changes
- Update Turbopack test manifest: #59798
Credits
Huge thanks to @redbmk, @leerob, @SSakibHossain10, @jamesmillerburgess, @huozhi, @ztanner, and @acdlite for helping!
Core Changes
- LayoutRouter: Support segment value of Promise
to asynchronously bail out and trigger a server patch: #59724 - fix: Allow start turbopack dev server for a project using middleware: #59759
Documentation Changes
- Includes section to
@next/third-partiesdocumentation for Google Analytics: #59671 - Change file extension to .tsx: #59763
Misc Changes
- chore: extends from shared base tsconfig: #59776
Credits
Huge thanks to @acdlite, @kdy1, @housseindjirdeh, @huozhi, and @max-programming for helping!
Core Changes
- Update font data: #59722
- Remove path normalization logic when uploading .next/trace traces: #59305
Documentation Changes
- Docs: Document
generateSitemaps: #59626 - Docs: Polish testing section: #59618
- docs: improve docs around geolocation and IP headers: #59719
- Docs: Review and Typo Fix - getServerSideProps: #59616
- docs: fix vitest example link in testing with vitest: #59659
- docs: fix grammar issue in 03-get-server-side-props.mdx: #59670
Example Changes
- fix: Invalid next version tag name in with-cypress example: #59647
- Fix: Add matcher for middleware: #59651
Credits
Huge thanks to @delbaoliveira, @leerob, @rv-david, @icyJoseph, @dijonmusters, @A7med3bdulBaset, @jenewland1999, and @mknichel for helping!
Documentation Changes
- docs: fix broken backtick for link: #59717
Credits
Huge thanks to @leerob for helping!
Core Changes
- Fix parallel routes with server actions / revalidating router cache: #59585
- Consolidate manifest writing for Turbopack in a single function: #59663
- Move changeSubscription for _document to finally to mirror page handling in Turbopack: #59664
- Update React from 2c338b16f to 0cdfef19b: #59666
Documentation Changes
- docs: small tweaks: #59638
Credits
Huge thanks to @leerob, @ztanner, and @timneutkens for helping!
Core Changes
- Add tests for invalid React server APIs: #59622
- Refactor setup-dev-bundler to make Turbopack/Webpack split clearer: #59650
- refactor and simplify app dynamic components: #59658
- Change manifestPath to pagesManifestPath: #59657
- Fix issue with outputFileTracingExcludes and pages/api edge runtime: #59157
Documentation Changes
- docs(accessibility): updates WCAG version to 2.2: #59646
Credits
Huge thanks to @timneutkens, @kenji-webdev, and @huozhi for helping!
Core Changes
- Fix useOptimistic in server components bug. Add tests for invalid React server APIs: #59621
- Partial Pre Rendering Headers: #59447
Documentation Changes
- Docs: Review and update
getServerSidePropspage: #59545 - docs: add note for environment variables on Vercel deployment: #59237
Misc Changes
- Add test for importing client components from server actions: #59615
Credits
Huge thanks to @delbaoliveira, @timneutkens, @smaeda-ks, and @wyattjoh for helping!
Misc Changes
- test(integration): adjust fixture to work with turbopack: #59595
Credits
Huge thanks to @kwonoj for helping!
Core Changes
- move segment constants to separate file: #59587
- Revert "Page Info Cleanup (#59430)": #59592
Credits
Huge thanks to @ztanner and @wyattjoh for helping!
Core Changes
- Should not show no index for client rendering bailout: #59531
- Enable build worker by default: #59405
- Fork navigateReducer into PPR and non-PPR versions: #59538
- cleanup magic segment strings: #59552
- chore: update Turbopack: #59589
- Fix another magic segment string constant: #59591
- Make CacheNodeSeedData match FlightRouterState more closely: #59590
- transpilePackages should override default settings for external packages: #59385
Documentation Changes
- Docs: Add App Router Testing Guides and update /examples: #59268
- docs: fix bad closed tag: #59575
- Fix closing tags for jest docs: #59579
- Docs: Fix formatting in testing docs and update examples dependencies: #59572
- Docs: Add missing closing tag: #59581
Misc Changes
- types: cover the tests with root tsconfig.json: #59550
- Fix test/tsconfig.json alias for internal test utils: #59570
Credits
Huge thanks to @delbaoliveira, @huozhi, @timneutkens, @acdlite, @ztanner, @ForsakenHarmony, and @dvoytenko for helping!
Core Changes
- Fix force-static and fetch no-store cases: #59549
Misc Changes
- chore(create-next-app): bump prompts to v2.4.2: #59006
Credits
Huge thanks to @ijjk and @BlankParticle for helping!
Core Changes
- Rename CacheNode.subTreeData -> .rsc : #59491
- fix NODE_OPTIONS=inspect: #59530
- Add CacheNode.prefetchRsc field: #59537
- allow passing wildcard domains in serverActions.allowedDomains: #59428
- Page Info Cleanup: #59430
Example Changes
- Add text-wrap: balance to CNA template for card descriptions: #59384
Misc Changes
- fix integration test workflow: #59508
- Fix third party typings: #59503
- test(fixture): try to include sources in the snapshot: #59499
- chore: bump typescript-eslint to 6.14: #59514
- Update Deployment Testing: #59448
- fix(playwright): teardown when global quit force terminates browser: #59548
Credits
Huge thanks to @ztanner, @huozhi, @JohnPhamous, @kwonoj, @acdlite, @chentsulin, @akawalsky, and @wyattjoh for helping!
Core Changes
- Rename CacheNode.data → .lazyData : #59473
- Generate Params Cleanup: #59431
- Fix webpack chunks handling in traces: #59498
Misc Changes
- test(runner): preserve browser tracing if test fails: #59469
- Adding Google analytics to next/third-parties: #58418
- ci(test): upload playwright artifacts seperately: #59496
Credits
Huge thanks to @kwonoj, @acdlite, @janicklas-ralph, @wyattjoh, and @ijjk for helping!
Core Changes
- Remove CacheNode.status field: #59472
Documentation Changes
- docs: remove broken link: #59487
Credits
Huge thanks to @leerob and @acdlite for helping!
Core Changes
- loading.tsx should have no effect on partial rendering when PPR is enabled: #59196
- Update font data: #59426
Documentation Changes
- Update 10-route-handlers.mdx: #59443
Credits
Huge thanks to @acdlite and @ebidel for helping!
Core Changes
- Use new JSX transform: #56294
Documentation Changes
- Docs: Polish Server Actions Page 💅🏼 : #59400
Misc Changes
- ci: only run release commit check on canary releases: #59423
Credits
Huge thanks to @delbaoliveira, @ztanner, and @eps1lon for helping!
Misc Changes
- ci(workflow): restore publish wasm binary: #59414
Credits
Huge thanks to @kwonoj for helping!
Core Changes
- Update
swc_coretov0.86.98and turbopack: #59393 - Fix cases for the
optimize_server_reacttransform: #59390
Misc Changes
- Revert "Skip latest commit check for stable release": #59401
Credits
Huge thanks to @huozhi and @shuding for helping!
Core Changes
- Turbopack: switch to a single client components entrypoint: #59352
Example Changes
- Updates the
with-vitestexample. Unlocks the tests passing withserver-onlyusage: #58902
Credits
Huge thanks to @OlehDutchenko and @sokra for helping!
Documentation Changes
- Docs: Update Server Actions Docs: #59080
Credits
Huge thanks to @delbaoliveira for helping!
Core Changes
- Remove early return that is duplicated in useSearchParams: #58545
- Support passing a relative string to pushState/replaceState: #58438
- [.next/trace] Record start-dev-server trace span: #58469
- Update React from 593ecee66 to 2c338b16f.: #58553
- turbopack: Fix pageExtensions with dots: #58504
- fix: revalidation with file-system-cache: #58508
- fix: fetch() behavior when "dynamic" is "force-dynamic: #58484
- Add cacheNodeSeedData to RSC payload: #58566
- Lift subtree data out of React tree: #58569
- fix(next-core): allow runtime segment option in pages/api: #58409
- Update rust-toolchain to 2023-11-16: #58558
- refactor: Add lightningcss mode for
turbopack-css: #58471 - fix: avoid race condition when download swc wasm: #58536
- Removed unused route resolver code: #58702
- Add experimental.windowHistorySupport to Turbopack supported options: #58717
- Improve Server Actions compiler: #58391
- Seed CacheNodes immediately after receiving response: #58669
- Turbopack: improve error display: #58734
- fix node externals resolving: #58129
- disable static prefetching behavior for dynamic segments: #58609
- fix: ensure DynamicUsageErrors caught during render bubble up: #58747
- fix image.domains deprecation warning: #58656
- fix waitUntil handling in pipeToNodeResponse: #58744
- Use consistent resolve extensions alias for compiler: #58725
- Turbopack: Use styled issue titles and details: #58743
- route handlers: make req.cookies opt you into dynamic: #58769
- OpenTelemetry: a more reliable way to establish a root context: #58662
- Revert "fix: fetch() behavior when "dynamic" is "force-dynamic": #58735
- [Instrumentation] Don't treat instrumentation hook as pages: #58775
- Fix turboFlag set to false: #58795
- [.next/trace] Track server requests and memory usage: #58690
- place virtual module inside the project directory: #58798
- fix rewrites to edge routes: #58797
- Polish unsupported metadata warning with doc link: #58750
- Enable .mjs extension config in Turbopack: #58825
- Turbopack: align automatic externals code with webpack: #58851
- Upgrade Turbopack: #58859
- OpenTelemetry: propagate context to sandbox: #58791
- fix uniqueness of layers: #58872
- disable flushToDisk during
generateStaticParams: #58871 - Turbopack: enable some node.js builtin in edge runtime: #58850
- add
NEXT_TRIGGER_URLenv var to show request triggering a compilation: #58762 - Update
swc_coretov0.86.81: #58517 - Trace server updates: #58694
- remove duplicate util file for redirect status: #58878
- fix(windows): workaround for intermittent locks on windows when renaming files: #58835
- unify server action detection logic: #58879
- Fix nested fetch logging indentation: #58955
- Delete preloadComponent module: #58741
- Remove
cachefield from action types: #58938 - Add nodejs version check: #58958
- Code refactoring: #58737
- Fix bugs with baseUrl and mdxRs: #58968
- Fix encoding in encryption of Server Actions: #59000
- fix(turbopack): treat .mdx as valid ecma asset: #58985
- dedupe pending revalidation requests: #58990
- fix: Put back type for
NavigateOptions.scroll: #59001 - Cleanup Render Result: #58782
- fix(turbopack): add list of packages that should never be marked as e…: #59020
- Testmode: provide test info for rewrite requests: #59033
- build(cargo): bump up turbopack: #59032
- fix async action queue behavior: #59038
- start performance profiling after node.js version is checked: #59028
- Fixed stale fetch using when page regenerates: #58926
- Enable PPR tests for test suites: #59030
- Update font data: #59043
- update status codes for
redirectandpermanentRedirectin action handlers: #58885 - Ensure stale build fetch data is not unexpectedly used: #59076
- add support for instrumentation: #59070
- use 303 status code for redirects in fetch actions: #59017
- verify action id before parsing body: #58977
- fix interception routes with rewrites: #59094
- Fix next internal is missing in flight manifest: #59085
- Support generating multi-meta tahs for metadata api other prop: #59106
- Turbopack: Align some "Module not found" errors with webpack: #58518
- Fix dynamic usage errors logging unexpectedly: #59133
- Fix: remove deprecated option from standalone server: #59036
- Update font data: #59138
- fix typedRoutes when used with webpackBuildWorker: #59140
- Add NEXT_MANUAL_SIG_HANDLE handling to start-server.ts: #59117
- Support adding CSP nonce with
content-security-policy-report-onlyheader: #59071 - chore: fix typo in jsDoc: #58224
- fix: add
maxDurationtoPageConfigtype: #55918 - Fix mixed module swc compilation for app router: #58967
- Don't catch ensureMiddleware errors: #59166
- fix behavior when revisiting an intercepted route: #59168
- Turbopack only enable instrumentationHook with experimental flag: #59173
- fix server actions behavior on intercepted routes: #59175
- Fix ssgCacheKey in minimal mode: #59181
- Update to latest version of @vercel/nft: #59183
- Ensure original history is read in effect: #58861
- fix some small turbopack issues: #59171
- fix tsconfig alias cycle: #59232
- Resolve build issues with symlinked files: #57412
- Disable more Turbopack build tests: #59245
- Remove
mutablefield from action types: #59221 - Add process.env.__NEXT_PPR to build config: #59253
- Fix dynamic transform ssr:false case for pages router with ESM: #59246
- Delete unused static prefetch code: #58783
- fix(next-core): adjust edge entry path: #59265
- feat: support outputFileTracing in App Router: #59139
- docs: fix
remotePatternslink in image-config.ts: #59197 - Testmode: support edge functions inside a sandbox: #59179
- Update font data: #59271
- fix: properly call
normalizeDynamicRouteParamsinNextWebServer.handleCatchAllRenderRequest: #58949 - add user-level tracing: #59284
- Fix app-dir - logging test in Turbopack: #59261
- update turbopack: #59285
- feat(turbopack): support loading WebAssembly in the edge runtime: #59013
- Fix barrel optimization to ignore layers: #59254
- fix interception routes with dynamic segments: #59273
- Clean up builtin
modularizeImportsconfigs: #59294 - Enable PPR for
dynamic = "force-dynamic": #58779 - remove additional static prefetch code: #59313
- add module tracing for client reference and next/dynamic walking: #59306
- side effects optimization: #58972
- Move App Router client-side constants to separate file: #59239
- reduce function calls in walk: #59332
- update turbopack: #59334
- disable unused next/dynamic walking in app dir: #59338
- fix hmr in multi-zone handling: #59307
- fix edge route catch-all param parsing: #59343
- add
logLevelsupport to@next/bundle-analyzer: #59228 - Fix server output bundling packages module resolving: #59369
- fix inconsistent scroll restoration behavior: #59366
- test: ability to use node debugger: #56277
- fixes the logging by showing full URLs only on demand: #58088
- rm console.log: #59381
Documentation Changes
- docs: Fix grammar in Caching section: #58070
- Update 01-installation.mdx: #58555
- Fix naming: #58539
- docs: clarify route handler caching: #58541
- [Next.js Docs] Adds
useOptimisticlink: #58706 - Docs: Add missing diagram : #59008
- Docs: Update revalidate example: #59002
- docs: patch upgrade guide to pin install version: #58993
- Docs: Delete fast refresh example: #59003
- docs:Add react hydration error case.: #59147
- Correcting the
webpackfunction introduction: #58663 - Docs: Fix upgrade guide files: #59249
- docs: fix broken link to learn course: #59288
- docs fix: Server Action js example: #59159
- docs: Remove invalid URL: #58823
- Fix incorrect prop name in client component: #58591
- update: Firebase link to with-firebase example: #58621
- added comma to the props list: #58596
- Update 10-route-handlers.mdx: #59021
- Add documentation note about middleware and runtimes: #58873
- Revert "added comma to the props list": #59314
Example Changes
- Update
cache-handler-redisexample: #58562 - Update & Repair LRUCache importation on NextJS Rate Limit API example: #58060
- examples with-zustand update to app dir #52858: #58042
- examples: fix import statement for lru-cache: #58567
- examples: Remove outdated example: #58568
- feat(examples): add upload file example with Server Actions: #58467
- migrate with-cypress example to app dir: #58053
- fix lint in examples: #58630
- examples: add direct link to Dockerfile: #58793
- Update Electron Typescript Example with Best Practices: #58947
- Enable typechecking on config: #57892
- Updates with-supertokens example app: #58525
Misc Changes
- fix(turbopack):
e2e/404-page-routertest: #58146 - Turbopack: update to turbopack-231122.3: #58784
- make tests more stable: #58765
- chore(CI): improve datadog reporting: #58267
- chore(CI): add action to auto retry tests on canary and report failures after retries: #58774
- ci: unify reset project script: #58829
- ci: disable deployment protection for e2e test project: #58830
- fix(CI): retry-test action can't use env in
if: #58838 - Update Turbopack test manifest from GitHub Actions artifact: #58394
- Increase default timeout for swc build: #59035
- chore: bump
nissuer(issue validator): #59060 - fix(test): don't use latest sharp: #59074
- misc: disable automerge: #59077
- Update checkout step: #59079
- ci: don't try to upload to datadog for docs only changes: #59068
- misc: delete kodiak: #59082
- add full PPR e2e tests: #59025
- ci: don't retry or notify on failures from forks: #59118
- skip release if no new commits: #59134
- fix variable name in release workflow: #59135
- Update Turbopack test manifest: #59109
- fix(next-core): do not panic when parsing segment config: #59170
- Correctly skip build test for Turbopack: #59207
- Failing test for 59195: #59210
- ci: report daily turbo integration test results from this repo: #58965
- fix typo in daily turbopack integration test reporting: #59251
- fix missing echo in daily turbopack reporting: #59255
- fix missing checkout in daily turbopack reporting: #59256
- Add app router name to font tests: #59257
- Fix non bundler module resolution in ts for third-parties pkg: #59244
- fix dev parallelism in daily turbopack tests: #59287
- Update Turbopack test manifest: #59326
- Update tests for Turbopack: #59354
- Update Turbopack test manifest: #59356
Credits
Huge thanks to @timneutkens, @mknichel, @gnoff, @jridgewell, @gtjamesa, @mugi-uno, @better-salmon, @kentobento, @vivianyentran, @empflow, @leerob, @samennis1, @mkcy3, @acdlite, @kwonoj, @suhaotian, @wbinnssmith, @imevanc, @ztanner, @kdy1, @d3lm, @wyattjoh, @manovotny, @shuding, @sokra, @feedthejim, @dvoytenko, @ForsakenHarmony, @huozhi, @delbaoliveira, @amannn, @ijjk, @hallatore, @balazsorban44, @LukeSchlangen, @Dylan700, @mpsq, @mdio, @christianvuerings, @A7med3bdulBaset, @karlhorky, @simonhaenisch, @olci34, @zce, @LavaToaster, @rishabhpoddar, @smaeda-ks, @jirihofman, @codercor, @devjiwonchoi, @Willem-Jaap, @JackieLi565, @thoushif, @pkellner, @jpfifer, @quisido, @tomfa, and @raphaelbadia for helping!
Core Changes
- rm console.log: #59381
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Fix server output bundling packages module resolving: #59369
- fix inconsistent scroll restoration behavior: #59366
- test: ability to use node debugger: #56277
- fixes the logging by showing full URLs only on demand: #58088
Misc Changes
- Update tests for Turbopack: #59354
- Update Turbopack test manifest: #59356
Credits
Huge thanks to @timneutkens, @huozhi, @ztanner, @tomfa, and @raphaelbadia for helping!
Core Changes
- fix hmr in multi-zone handling: #59307
- fix edge route catch-all param parsing: #59343
- add
logLevelsupport to@next/bundle-analyzer: #59228
Credits
Huge thanks to @ztanner and @quisido for helping!
Core Changes
- reduce function calls in walk: #59332
- update turbopack: #59334
- disable unused next/dynamic walking in app dir: #59338
Misc Changes
- Update Turbopack test manifest: #59326
Credits
Huge thanks to @sokra for helping!
Core Changes
- Move App Router client-side constants to separate file: #59239
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Enable PPR for
dynamic = "force-dynamic": #58779 - remove additional static prefetch code: #59313
- add module tracing for client reference and next/dynamic walking: #59306
- side effects optimization: #58972
Documentation Changes
- docs fix: Server Action js example: #59159
- docs: Remove invalid URL: #58823
- Fix incorrect prop name in client component: #58591
- update: Firebase link to with-firebase example: #58621
- added comma to the props list: #58596
- Update 10-route-handlers.mdx: #59021
- Add documentation note about middleware and runtimes: #58873
- Revert "added comma to the props list": #59314
Credits
Huge thanks to @wyattjoh, @codercor, @devjiwonchoi, @Willem-Jaap, @JackieLi565, @thoushif, @pkellner, @jpfifer, @ztanner, and @sokra for helping!
Core Changes
- fix interception routes with dynamic segments: #59273
- Clean up builtin
modularizeImportsconfigs: #59294
Credits
Huge thanks to @ztanner and @shuding for helping!
Core Changes
- feat(turbopack): support loading WebAssembly in the edge runtime: #59013
- Fix barrel optimization to ignore layers: #59254
Documentation Changes
- docs: fix broken link to learn course: #59288
Misc Changes
- fix dev parallelism in daily turbopack tests: #59287
Credits
Huge thanks to @ForsakenHarmony, @leerob, and @shuding for helping!
Core Changes
- fix(next-core): adjust edge entry path: #59265
- feat: support outputFileTracing in App Router: #59139
- docs: fix
remotePatternslink in image-config.ts: #59197 - Testmode: support edge functions inside a sandbox: #59179
- Update font data: #59271
- fix: properly call
normalizeDynamicRouteParamsinNextWebServer.handleCatchAllRenderRequest: #58949 - add user-level tracing: #59284
- Fix app-dir - logging test in Turbopack: #59261
- update turbopack: #59285
Credits
Huge thanks to @kwonoj, @smaeda-ks, @jirihofman, @dvoytenko, @sokra, and @timneutkens for helping!
Core Changes
- Disable more Turbopack build tests: #59245
- Remove
mutablefield from action types: #59221 - Add process.env.__NEXT_PPR to build config: #59253
- Fix dynamic transform ssr:false case for pages router with ESM: #59246
- Delete unused static prefetch code: #58783
Documentation Changes
- Docs: Fix upgrade guide files: #59249
Example Changes
- Updates with-supertokens example app: #58525
Misc Changes
- ci: report daily turbo integration test results from this repo: #58965
- fix typo in daily turbopack integration test reporting: #59251
- fix missing echo in daily turbopack reporting: #59255
- fix missing checkout in daily turbopack reporting: #59256
- Add app router name to font tests: #59257
- Fix non bundler module resolution in ts for third-parties pkg: #59244
Credits
Huge thanks to @timneutkens, @delbaoliveira, @ForsakenHarmony, @acdlite, @huozhi, @wyattjoh, and @rishabhpoddar for helping!
Core Changes
- Resolve build issues with symlinked files: #57412
Credits
Huge thanks to @LavaToaster for helping!
Core Changes
- fix tsconfig alias cycle: #59232
Misc Changes
- Failing test for 59195: #59210
Credits
Huge thanks to @timneutkens and @sokra for helping!
Core Changes
- Ensure original history is read in effect: #58861
- fix some small turbopack issues: #59171
Misc Changes
- Correctly skip build test for Turbopack: #59207
Credits
Huge thanks to @timneutkens and @sokra for helping!
Core Changes
- Fix ssgCacheKey in minimal mode: #59181
- Update to latest version of @vercel/nft: #59183
Documentation Changes
- docs:Add react hydration error case.: #59147
- Correcting the
webpackfunction introduction: #58663
Credits
Huge thanks to @ijjk, @olci34, and @zce for helping!
Core Changes
- fix server actions behavior on intercepted routes: #59175
Misc Changes
- fix(next-core): do not panic when parsing segment config: #59170
Credits
Huge thanks to @kwonoj and @ztanner for helping!
Core Changes
- fix behavior when revisiting an intercepted route: #59168
- Turbopack only enable instrumentationHook with experimental flag: #59173
Credits
Huge thanks to @ztanner and @timneutkens for helping!
Core Changes
- chore: fix typo in jsDoc: #58224
- fix: add
maxDurationtoPageConfigtype: #55918 - Fix mixed module swc compilation for app router: #58967
- Don't catch ensureMiddleware errors: #59166
Example Changes
- Enable typechecking on config: #57892
Misc Changes
- Update Turbopack test manifest: #59109
Credits
Huge thanks to @A7med3bdulBaset, @karlhorky, @simonhaenisch, @huozhi, and @timneutkens for helping!
Core Changes
- Update font data: #59138
- fix typedRoutes when used with webpackBuildWorker: #59140
- Add NEXT_MANUAL_SIG_HANDLE handling to start-server.ts: #59117
- Support adding CSP nonce with
content-security-policy-report-onlyheader: #59071
Credits
Huge thanks to @ztanner, @mdio, and @christianvuerings for helping!
Misc Changes
- fix variable name in release workflow: #59135
Credits
Huge thanks to @ztanner for helping!
Misc Changes
- skip release if no new commits: #59134
Credits
Huge thanks to @ztanner for helping!
Core Changes
- fix interception routes with rewrites: #59094
- Fix next internal is missing in flight manifest: #59085
- Support generating multi-meta tahs for metadata api other prop: #59106
- Turbopack: Align some "Module not found" errors with webpack: #58518
- Fix dynamic usage errors logging unexpectedly: #59133
- Fix: remove deprecated option from standalone server: #59036
Example Changes
- examples: add direct link to Dockerfile: #58793
- Update Electron Typescript Example with Best Practices: #58947
Misc Changes
- ci: don't retry or notify on failures from forks: #59118
Credits
Huge thanks to @LukeSchlangen, @Dylan700, @ztanner, @ForsakenHarmony, @huozhi, @wbinnssmith, @ijjk, and @mpsq for helping!
Documentation Changes
- Docs: Delete fast refresh example: #59003
Credits
Huge thanks to @delbaoliveira for helping!
Core Changes
- add support for instrumentation: #59070
- use 303 status code for redirects in fetch actions: #59017
- verify action id before parsing body: #58977
Misc Changes
- misc: delete kodiak: #59082
- add full PPR e2e tests: #59025
Credits
Huge thanks to @feedthejim, @sokra, and @ztanner for helping!
Core Changes
- start performance profiling after node.js version is checked: #59028
- Fixed stale fetch using when page regenerates: #58926
- Enable PPR tests for test suites: #59030
- Update font data: #59043
- update status codes for
redirectandpermanentRedirectin action handlers: #58885 - Ensure stale build fetch data is not unexpectedly used: #59076
Documentation Changes
- docs: patch upgrade guide to pin install version: #58993
Misc Changes
- chore: bump
nissuer(issue validator): #59060 - fix(test): don't use latest sharp: #59074
- misc: disable automerge: #59077
- Update checkout step: #59079
- ci: don't try to upload to datadog for docs only changes: #59068
Credits
Huge thanks to @huozhi, @hallatore, @ztanner, @leerob, @balazsorban44, @ForsakenHarmony, @feedthejim, and @ijjk for helping!
Core Changes
- fix async action queue behavior: #59038
Credits
Huge thanks to @ztanner for helping!
Core Changes
- Testmode: provide test info for rewrite requests: #59033
- build(cargo): bump up turbopack: #59032
Misc Changes
- Increase default timeout for swc build: #59035
Credits
Huge thanks to @dvoytenko, @ijjk, and @kwonoj for helping!
Core Changes
- add
NEXT_TRIGGER_URLenv var to show request triggering a compilation: #58762 - Update
swc_coretov0.86.81: #58517 - Trace server updates: #58694
- remove duplicate util file for redirect status: #58878
- fix(windows): workaround for intermittent locks on windows when renaming files: #58835
- unify server action detection logic: #58879
- Fix nested fetch logging indentation: #58955
- Delete preloadComponent module: #58741
- Remove
cachefield from action types: #58938 - Add nodejs version check: #58958
- Code refactoring: #58737
- Fix bugs with baseUrl and mdxRs: #58968
- Fix encoding in encryption of Server Actions: #59000
- fix(turbopack): treat .mdx as valid ecma asset: #58985
- dedupe pending revalidation requests: #58990
- fix: Put back type for
NavigateOptions.scroll: #59001 - Cleanup Render Result: #58782
- fix(turbopack): add list of packages that should never be marked as e…: #59020
Documentation Changes
- Docs: Add missing diagram : #59008
- Docs: Update revalidate example: #59002
Credits
Huge thanks to @delbaoliveira, @shuding, @timneutkens, @kwonoj, @ztanner, @amannn, @wyattjoh, @sokra, @kdy1, @huozhi, @acdlite, and @ForsakenHarmony for helping!
Core Changes
- Turbopack: enable some node.js builtin in edge runtime: #58850
Credits
Huge thanks to @sokra for helping!
Core Changes
- OpenTelemetry: propagate context to sandbox: #58791
- fix uniqueness of layers: #58872
- disable flushToDisk during
generateStaticParams: #58871
Misc Changes
- Update Turbopack test manifest from GitHub Actions artifact: #58394
Credits
Huge thanks to @dvoytenko, @ForsakenHarmony, @sokra, and @ztanner for helping!
Core Changes
- Turbopack: align automatic externals code with webpack: #58851
- Upgrade Turbopack: #58859
Credits
Huge thanks to @sokra and @timneutkens for helping!
Misc Changes
- chore(CI): add action to auto retry tests on canary and report failures after retries: #58774
- ci: unify reset project script: #58829
- ci: disable deployment protection for e2e test project: #58830
- fix(CI): retry-test action can't use env in
if: #58838
Credits
Huge thanks to @ForsakenHarmony and @ztanner for helping!
Core Changes
- place virtual module inside the project directory: #58798
- fix rewrites to edge routes: #58797
- Polish unsupported metadata warning with doc link: #58750
- Enable .mjs extension config in Turbopack: #58825
Misc Changes
- make tests more stable: #58765
- chore(CI): improve datadog reporting: #58267
Credits
Huge thanks to @sokra, @ztanner, @huozhi, @timneutkens, and @ForsakenHarmony for helping!
Core Changes
- route handlers: make req.cookies opt you into dynamic: #58769
- OpenTelemetry: a more reliable way to establish a root context: #58662
- Revert "fix: fetch() behavior when "dynamic" is "force-dynamic": #58735
- [Instrumentation] Don't treat instrumentation hook as pages: #58775
- Fix turboFlag set to false: #58795
- [.next/trace] Track server requests and memory usage: #58690
Misc Changes
- fix(turbopack):
e2e/404-page-routertest: #58146 - Turbopack: update to turbopack-231122.3: #58784
Credits
Huge thanks to @feedthejim, @dvoytenko, @ForsakenHarmony, @ztanner, @mknichel, @wbinnssmith, and @timneutkens for helping!
Core Changes
- fix image.domains deprecation warning: #58656
- fix waitUntil handling in pipeToNodeResponse: #58744
- Use consistent resolve extensions alias for compiler: #58725
- Turbopack: Use styled issue titles and details: #58743
Credits
Huge thanks to @ztanner, @timneutkens, and @wbinnssmith for helping!
Core Changes
- disable static prefetching behavior for dynamic segments: #58609
- fix: ensure DynamicUsageErrors caught during render bubble up: #58747
Credits
Huge thanks to @ztanner for helping!
Core Changes
- fix node externals resolving: #58129
Credits
Huge thanks to @sokra for helping!
Core Changes
- Add experimental.windowHistorySupport to Turbopack supported options: #58717
- Improve Server Actions compiler: #58391
- Seed CacheNodes immediately after receiving response: #58669
- Turbopack: improve error display: #58734
Documentation Changes
- [Next.js Docs] Adds
useOptimisticlink: #58706
Credits
Huge thanks to @manovotny, @timneutkens, @shuding, @acdlite, and @sokra for helping!
Core Changes
- refactor: Add lightningcss mode for
turbopack-css: #58471 - fix: avoid race condition when download swc wasm: #58536
- Removed unused route resolver code: #58702
Credits
Huge thanks to @kdy1, @d3lm, and @wyattjoh for helping!
Core Changes
- Update rust-toolchain to 2023-11-16: #58558
Example Changes
- migrate with-cypress example to app dir: #58053
- fix lint in examples: #58630
Credits
Huge thanks to @wbinnssmith, @imevanc, and @ztanner for helping!
Core Changes
- Lift subtree data out of React tree: #58569
- fix(next-core): allow runtime segment option in pages/api: #58409
Example Changes
- feat(examples): add upload file example with Server Actions: #58467
Credits
Huge thanks to @acdlite, @kwonoj, and @suhaotian for helping!
Core Changes
- fix: revalidation with file-system-cache: #58508
- fix: fetch() behavior when "dynamic" is "force-dynamic: #58484
- Add cacheNodeSeedData to RSC payload: #58566
Documentation Changes
- docs: Fix grammar in Caching section: #58070
- Update 01-installation.mdx: #58555
- Fix naming: #58539
- docs: clarify route handler caching: #58541
Example Changes
- Update
cache-handler-redisexample: #58562 - Update & Repair LRUCache importation on NextJS Rate Limit API example: #58060
- examples with-zustand update to app dir #52858: #58042
- examples: fix import statement for lru-cache: #58567
- examples: Remove outdated example: #58568
Credits
Huge thanks to @gtjamesa, @mugi-uno, @better-salmon, @kentobento, @vivianyentran, @empflow, @leerob, @samennis1, @mkcy3, and @acdlite for helping!
Core Changes
- Update React from 593ecee66 to 2c338b16f.: #58553
- turbopack: Fix pageExtensions with dots: #58504
Credits
Huge thanks to @gnoff and @jridgewell for helping!
Core Changes
- Remove early return that is duplicated in useSearchParams: #58545
- Support passing a relative string to pushState/replaceState: #58438
- [.next/trace] Record start-dev-server trace span: #58469
Credits
Huge thanks to @timneutkens and @mknichel for helping!
Core Changes
- Update React from 746890329 to 0e352ea01: #58279
- fix(turbopack): support middleware in src: #58218
- Update font data: #58317
- Replace custom Thenable type with native Promises: #58337
- fix(eslint):
next/scriptbeforeInteractivegives warning on appDir: #51148 - fix: import antd from es in modularizeImports: #57968
- fix(WellKnownErrorsPlugin): avoid compilation warnings array with empty items: #57768
- Add experimental support for history.pushState and history.replaceState: #58335
- Fix: expected "catch all routes" are not matched in “parallel routes": #58368
- fix: Don't reset shallow URL updates on prefetch: #58297
- fix: ensure batch values are sharable: #58315
- fix incorrect fetch cache handling: #58460
- turbopack: Don't error with legacy server actions boolean: #58416
- Update turbopack: #58408
- Upgrade vendored React: #58489
- Apply next/font to foreign code: #58461
- Turbopack: Use structured styled text in issue descriptions: #58156
- onHeaders updates for App Pages: #58410
- revalidate APIs should make route handlers dynamic: #58466
- remove optimistic navigation behavior when prefetch is false: #58413
- fix: set
x-forwarded-hostbased on request: #58500 - Inline ChildProp: #58519
- Remove client only dynamic chunks from edge bundle : #56761
- tweak cache + revalidate fetch warning: #58505
Documentation Changes
- remove example for router.events as it does not exist: #58286
- chore(docs): fix typo: #58344
- docs: Update runtime table: #58361
- Update 08-parallel-routes.mdx: #58393
- Docs: Update middleware example snippet: #58488
- update meta variable to metadata variable so that the meta data updat…: #58396
- Update 07-error-handling.mdx: #58236
- docs: Added Kinde auth provider: #58231
- Update index.mdx: #58210
- Make example of passing down a Server Action more clear: #57972
- docs: Fix grammar in Styling section: #58071
- docs: Fix grammar in Client Components section: #58065
- docs: Fix grammar in Dynamic Rendering section: #58062
- Docs: fix grammatical issue in "Data Fetching Patterns" section: #58056
- Update 02-patterns.mdx: #58032
- Update 04-ci-build-caching.mdx - Add Jenkins: #58001
Example Changes
- examples: Update Middleware for CSP: #58300
- Remove copying of request headers to response: #58304
- update import path for GeitSans font to address deprecation warning: #58349
- Fix hydration error in headers example: #58383
- Fix typo: compoment -> component: #58330
- Update Dockerfile adding comment: #56646
- update(docs): next-forms fix unhandled run time error: #56600
- chore(examples): update styled-components: #56457
- Upgrade Convex example to convex@1.2.1: #54910
Misc Changes
- fix(ci): exclusion regex now actually works instead of ignoring all tests: #58259
- Update 15-content-security-policy.mdx
- Update 15-content-security-policy.mdx
- Update CLI version for deploy examples job: #58318
- fix hmr event, and avoid RSC fetch on any message: #58403
- fix branch name: #58132
- add test case to failing list for turbopack: #58435
- Revert "fix hmr event, and avoid RSC fetch on any message": #58452
- Add types to package.json: #58420
- chore: replace
fs-extrausage inscripts/: #57215 - Add performance.mark for next/third-parties for feature measurement: #57439
Credits
Huge thanks to @ForsakenHarmony, @gnoff, @leerob, @karlhorky, @j9141997, @acdlite, @devjiwonchoi, @hongaar, @MadCcc, @luismulinari, @timneutkens, @dumb-programmer, @ijjk, @nonoakij, @sokra, @ztanner, @franky47, @wyattjoh, @jridgewell, @kdy1, @janicklas-ralph, @SukkaW, @shuding, @delbaoliveira, @wbinnssmith, @robbertstevens, @bryndyment, @marcosmartini, @functino, @kentobento, @Anisi, @AdonisAgelis, @seangray-dev, @prkagrawal, @heloineto, @kn327, @ihommani, @MrNiceRicee, @falsepopsky, @thomasballinger, @tmilewski, and @huozhi for helping!
Core Changes
- onHeaders updates for App Pages: #58410
- revalidate APIs should make route handlers dynamic: #58466
- remove optimistic navigation behavior when prefetch is false: #58413
- fix: set
x-forwarded-hostbased on request: #58500 - Inline ChildProp: #58519
- Remove client only dynamic chunks from edge bundle : #56761
- tweak cache + revalidate fetch warning: #58505
Documentation Changes
- update meta variable to metadata variable so that the meta data updat…: #58396
- Update 07-error-handling.mdx: #58236
- docs: Added Kinde auth provider: #58231
- Update index.mdx: #58210
- Make example of passing down a Server Action more clear: #57972
- docs: Fix grammar in Styling section: #58071
- docs: Fix grammar in Client Components section: #58065
- docs: Fix grammar in Dynamic Rendering section: #58062
- Docs: fix grammatical issue in "Data Fetching Patterns" section: #58056
- Update 02-patterns.mdx: #58032
- Update 04-ci-build-caching.mdx - Add Jenkins: #58001
Example Changes
- update import path for GeitSans font to address deprecation warning: #58349
- Fix hydration error in headers example: #58383
- Fix typo: compoment -> component: #58330
- Update Dockerfile adding comment: #56646
- update(docs): next-forms fix unhandled run time error: #56600
- chore(examples): update styled-components: #56457
- Upgrade Convex example to convex@1.2.1: #54910
Credits
Huge thanks to @robbertstevens, @bryndyment, @marcosmartini, @dumb-programmer, @functino, @kentobento, @Anisi, @AdonisAgelis, @seangray-dev, @prkagrawal, @heloineto, @kn327, @ihommani, @MrNiceRicee, @falsepopsky, @thomasballinger, @wyattjoh, @ztanner, @tmilewski, @acdlite, and @huozhi for helping!
Core Changes
- Turbopack: Use structured styled text in issue descriptions: #58156
Credits
Huge thanks to @wbinnssmith for helping!
Core Changes
- Upgrade vendored React: #58489
- Apply next/font to foreign code: #58461
Documentation Changes
- Docs: Update middleware example snippet: #58488
Misc Changes
- chore: replace
fs-extrausage inscripts/: #57215 - Add performance.mark for next/third-parties for feature measurement: #57439
Credits
Huge thanks to @SukkaW, @shuding, @delbaoliveira, @janicklas-ralph, and @wbinnssmith for helping!
Core Changes
- fix: ensure batch values are sharable: #58315
- fix incorrect fetch cache handling: #58460
- turbopack: Don't error with legacy server actions boolean: #58416
- Update turbopack: #58408
Misc Changes
- Add types to package.json: #58420
Credits
Huge thanks to @wyattjoh, @ztanner, @jridgewell, @kdy1, and @janicklas-ralph for helping!
Core Changes
- fix: Don't reset shallow URL updates on prefetch: #58297
Misc Changes
- add test case to failing list for turbopack: #58435
- Revert "fix hmr event, and avoid RSC fetch on any message": #58452
Credits
Huge thanks to @sokra, @ztanner, and @franky47 for helping!
Misc Changes
- fix hmr event, and avoid RSC fetch on any message: #58403
- fix branch name: #58132
Credits
Huge thanks to @sokra for helping!
Core Changes
- fix: import antd from es in modularizeImports: #57968
- fix(WellKnownErrorsPlugin): avoid compilation warnings array with empty items: #57768
- Add experimental support for history.pushState and history.replaceState: #58335
- Fix: expected "catch all routes" are not matched in “parallel routes": #58368
Documentation Changes
- docs: Update runtime table: #58361
- Update 08-parallel-routes.mdx: #58393
Misc Changes
- Update CLI version for deploy examples job: #58318
Credits
Huge thanks to @leerob, @MadCcc, @luismulinari, @timneutkens, @dumb-programmer, @ijjk, and @nonoakij for helping!
Core Changes
- fix(eslint):
next/scriptbeforeInteractivegives warning on appDir: #51148
Documentation Changes
- chore(docs): fix typo: #58344
Credits
Huge thanks to @devjiwonchoi and @hongaar for helping!
Core Changes
- Replace custom Thenable type with native Promises: #58337
Credits
Huge thanks to @acdlite for helping!
Core Changes
- Update font data: #58317
Core Changes
- fix(turbopack): support middleware in src: #58218
Documentation Changes
- remove example for router.events as it does not exist: #58286
Example Changes
- examples: Update Middleware for CSP: #58300
- Remove copying of request headers to response: #58304
Misc Changes
- Update 15-content-security-policy.mdx
- Update 15-content-security-policy.mdx
Credits
Huge thanks to @ForsakenHarmony, @leerob, @karlhorky, and @j9141997 for helping!
Core Changes
- Update React from 746890329 to 0e352ea01: #58279
Credits
Huge thanks to @gnoff for helping!
Misc Changes
- fix(ci): exclusion regex now actually works instead of ignoring all tests: #58259
Credits
Huge thanks to @ForsakenHarmony for helping!
Core Changes
- Fix nested esm package default import resolving mismatch: #57784
- [.next/trace] Serialize trace info across workers to preserve .next/trace with webpackBuildWorker: #57761
- Add @highlight-run/node to externals list: #57783
- perf: change the chunks configuration for server code: #57773
- [.next/trace] Add tags for webpack build worker: #57818
- chore: update otel: #57774
- refactor: remove unnecessary condition: #57835
- chore: remove styfle from
.vercel.approvers: #57841 - Remove the
actionBrowserto RSCclientlayering issue: #57842 - Prevent caching page with 304 status: #57737
- Ensure cache soft tags are correct: #57850
- Update React from 0c6348758 to 08a39539f: #57852
- Revert "perf: enable webpack build worker (#57346)": #57854
- Add
serverActions.allowedForwardedHostsoption: #57529 - chore: reword in tree-view: #57884
- Polish logging segments of page route: #57834
- Inherit title and description from metadata into social cards: #57857
- remove legacy handling for suspense option of next/dynamic: #57900
- fix(next-core): externalcjs resolve options: #57645
- ppr: fail static generation if postponed & missing postpone data: #57786
- Reduce FS access for incremental cache: #57902
- suspend in render, not in reducers: #56497
- move static worker IPC server behind experimental flag: #57943
- feat(turbopack): Experimental wasm build: #57906
- Fix client chunk loading encoding for dynamic route: #57960
- misc: fix serverComponentsExternalPackages usage for experimental.bundlePagesExternals: #57954
- Improve grammar of removable Babel config warning: #55088
- Remove throw for unknown messages in hot-reloader-client: #57353
- Improve CSRF protection error in Server Actions: #57980
- fix: updates for resuming postponed in minimal mode: #57375
- fix: ensure that postponed requests can be resumed in minimal mode: #58011
- Use distDir from webpack-config in createWebpackAliases: #57268
- use __NEXT_VERSION compile time replacement: #57512
- fixes a problem with cache invalidation : #58079
- feat: always use SWC Wasm fallback when running in WebContainer: #58081
- update turbopack: #58080
- fix: normalization and invariant fixes for ppr: #58105
- ppr: fix fetch postpone not having correct React version: #58107
- Fix incorrect normalizing in minimal mode: #58116
- put app client modules into a separate layer: #58130
- Revert "Revert "Add retry for fetching subsetted Google Fonts"": #58075
- build: Update
swc_coretov0.86.40and update turbopack: #57904 - fix(next-core): correct assets url reference condition: #58101
- build(package): clean up next-swc* pkg properties: #57908
- fix PPR build output logs: #58149
- Update React from 08a39539f to 2983249dd.: #58154
- fix: rsc normalization fixes: #58145
- Fix resume stream handling: #58159
- Forward headers from React to static output and dynamic render: #58162
- refactor(next-core): separate options context for pages/api: #58148
- update turbopack: #58172
- refactor(next-api): remove unused distDir: #57789
- Change allowed forwarded hosts to be allowed origins for Server Actions: #58023
- fail build if not using Next canary with PPR flag: #58203
- Reduce max header length emitted: #58204
- ensure experimental warning shows up when using PPR: #58206
- skip ppr throw for tests: #58208
- interception routes: fix interception for dynamic routes: #58198
- Update React from 2983249dd to 7508dcd5c: #58216
- tweak postpone error copy & fix link: #58219
- Add helpful context to postpone reason if it's caught and logged or escapes: #58222
- Reword PPR caught bail out to avoid "postpone" terminology: #58223
- pass postpone through staticGenerationStore: #58229
- Updated React from 7508dcd5c to 746890329: #58233
- [Docs]: Fix CLI link to server actions size limit docs: #58174
- refactor(next-core): apply correct url rewrite behavior: #58237
- update turbopack: #58243
- parallel routes: fix catch all route support: #58215
- avoid key conflict: #58249
Documentation Changes
- [docs] fix next.config.mjs using commonjs in the example: #57874
- Move link examples to only Pages Router docs.: #57758
- Update 05-mdx.mdx: #57866
- docs: Update MDX docs title.: #57963
- docs: improve non-encrypted HTTP conn to a secure: #57998
- docs: Revert part of sitemap docs change: #58010
- docs: useFormState and useOptimistic are now documented: #58064
- Correct prop name in
server-actions.mdx: #58108 - typo: changed from next/server to next/og: #58143
- docs: Improve deployment docs on self-hosting.: #58027
- docs: small follow up on deployment docs.: #58158
- docs: remove duplicate ISR page.: #58164
- docs: remove note about generateMetdata: #58192
- docs: mention Middleware on src directory page.: #58193
- docs: fix typo in composition patterns section: #58197
- fix docs link for ISR: #58207
- Add PPR option to
next.config.jsdocs: #58161 - docs: update analytics docs for
useReportWebVitals: #58196 - Update 02-app-router-migration.mdx: #58253
Example Changes
- Remove `experimental: { serverActions: true } from examples as it is stable in next 14.: #57598
- Update
Explore the Next.js 13 playground.toExplore starter templates for Next.js: #57799 - Chore: simplify with-supabase example: #57562
- examples: cleanup: #57845
- Chore: refactor to use server actions in with-supabase example: #57858
- chore: cleanup more old examples.: #58066
- Add a self-hosted shared cache example: #58000
Misc Changes
- fix: update Next.js version in create-next-app: #57532
- Automatically update Turbopack test manifest: #57778
- fix(youtube-embed): each child in a list should have a unique "key" prop: #57579
- Update teamname in codeowners: #57775
- Simplify createNextInstall return type: #57760
- cleanup PR labeler config: #57827
- move release undraft step until after canary is fully published: #57324
- refactor: remove duplicated conditions
- Revert "refactor: remove duplicated conditions"
- Fix typo in run-tests.js: #57821
- fix: correctly set
x-forwarded-*in Middleware: #57815 - chore: remove redundant jest config: #57151
- chore(test): run unit tests on node 18 and 20: #57199
- Move ReactRefreshLogBox-builtins tests to inline snapshots: #57952
- feat(turbo): use turbo gen instead of plop: #53684
- Skip webpack only test: #56929
- tweak stats action to pull in runtime sizes: #58005
- use createNextDescribe for test/development/basic tests: #58031
- Remove setPnpmResolutionMode as default is highest: #57828
- Remove installCommand on streaming-ssr test: #58037
- Remove installCommand on typescript-auto-install and pnpm-support: #58039
- Fix should have correct module not found error test: #57383
- Fix options of createNextInstall: #58036
- Fix update-turbopack-test-manifest.yml workflow: #58097
- Adjust update-turbopack-test-manifest.yml to run once per day: #58104
- Refactor repo-setup.js: #58131
- Update Turbopack test manifest: #58122
- Update turbopack label creation: #58214
- Fix test: #58228
- fix ppr test flake: #58232
Credits
Huge thanks to @huozhi, @mknichel, @Vadman97, @feedthejim, @dnhn, @jridgewell, @vinaykulk621, @RodrigoTomeES, @padmaia, @timneutkens, @ztanner, @sadikkuzu, @styfle, @shuding, @dijonmusters, @leerob, @gffuma, @ijjk, @balazsorban44, @Schniz, @kwonoj, @wyattjoh, @wbinnssmith, @joulev, @Athrun-Judah, @tknickman, @rasvanjaya21, @rashidul0405, @sokra, @d3lm, @nguyenbry, @kdy1, @Mwimwii, @gnoff, @sebmarkbage, @dumb-programmer, @manovotny, @molebox, @better-salmon, and @mrr11k for helping!
Core Changes
- parallel routes: fix catch all route support: #58215
- avoid key conflict: #58249
Documentation Changes
- docs: update analytics docs for
useReportWebVitals: #58196 - Update 02-app-router-migration.mdx: #58253
Example Changes
- Add a self-hosted shared cache example: #58000
Credits
Huge thanks to @feedthejim, @leerob, @better-salmon, @sokra, and @mrr11k for helping!
Core Changes
- [Docs]: Fix CLI link to server actions size limit docs: #58174
- refactor(next-core): apply correct url rewrite behavior: #58237
- update turbopack: #58243
Credits
Huge thanks to @molebox, @kwonoj, and @sokra for helping!
Core Changes
- pass postpone through staticGenerationStore: #58229
- Updated React from 7508dcd5c to 746890329: #58233
Misc Changes
- Fix test: #58228
- fix ppr test flake: #58232
Credits
Huge thanks to @ztanner, @sebmarkbage, and @gnoff for helping!
Core Changes
- tweak postpone error copy & fix link: #58219
- Add helpful context to postpone reason if it's caught and logged or escapes: #58222
- Reword PPR caught bail out to avoid "postpone" terminology: #58223
Credits
Huge thanks to @ztanner and @sebmarkbage for helping!
Core Changes
- skip ppr throw for tests: #58208
- interception routes: fix interception for dynamic routes: #58198
- Update React from 2983249dd to 7508dcd5c: #58216
Documentation Changes
- fix docs link for ISR: #58207
- Add PPR option to
next.config.jsdocs: #58161
Misc Changes
- Update turbopack label creation: #58214
Credits
Huge thanks to @ztanner, @manovotny, @padmaia, @feedthejim, and @gnoff for helping!
Core Changes
- fail build if not using Next canary with PPR flag: #58203
- Reduce max header length emitted: #58204
- ensure experimental warning shows up when using PPR: #58206
Documentation Changes
- docs: remove note about generateMetdata: #58192
- docs: mention Middleware on src directory page.: #58193
- docs: fix typo in composition patterns section: #58197
Credits
Huge thanks to @leerob, @dumb-programmer, @ztanner, and @sebmarkbage for helping!
Core Changes
- Forward headers from React to static output and dynamic render: #58162
- refactor(next-core): separate options context for pages/api: #58148
- update turbopack: #58172
- refactor(next-api): remove unused distDir: #57789
- Change allowed forwarded hosts to be allowed origins for Server Actions: #58023
Documentation Changes
- docs: remove duplicate ISR page.: #58164
Credits
Huge thanks to @leerob, @sebmarkbage, @kwonoj, @sokra, and @shuding for helping!
Core Changes
- Update React from 08a39539f to 2983249dd.: #58154
- fix: rsc normalization fixes: #58145
- Fix resume stream handling: #58159
Documentation Changes
- docs: small follow up on deployment docs.: #58158
Credits
Huge thanks to @gnoff, @wyattjoh, @leerob, and @ijjk for helping!
Core Changes
- put app client modules into a separate layer: #58130
- Revert "Revert "Add retry for fetching subsetted Google Fonts"": #58075
- build: Update
swc_coretov0.86.40and update turbopack: #57904 - fix(next-core): correct assets url reference condition: #58101
- build(package): clean up next-swc* pkg properties: #57908
- fix PPR build output logs: #58149
Documentation Changes
- typo: changed from next/server to next/og: #58143
- docs: Improve deployment docs on self-hosting.: #58027
Example Changes
- chore: cleanup more old examples.: #58066
Misc Changes
- Refactor repo-setup.js: #58131
- Update Turbopack test manifest: #58122
Credits
Huge thanks to @sokra, @timneutkens, @kdy1, @kwonoj, @Mwimwii, @leerob, and @ztanner for helping!
Core Changes
- Fix incorrect normalizing in minimal mode: #58116
Credits
Huge thanks to @ijjk for helping!
Core Changes
- ppr: fix fetch postpone not having correct React version: #58107
Credits
Huge thanks to @ztanner for helping!
Documentation Changes
- Correct prop name in
server-actions.mdx: #58108
Credits
Huge thanks to @nguyenbry for helping!
Core Changes
- fix: normalization and invariant fixes for ppr: #58105
Misc Changes
- Fix update-turbopack-test-manifest.yml workflow: #58097
- Adjust update-turbopack-test-manifest.yml to run once per day: #58104
Credits
Huge thanks to @jridgewell and @wyattjoh for helping!
Core Changes
- use __NEXT_VERSION compile time replacement: #57512
- fixes a problem with cache invalidation : #58079
- feat: always use SWC Wasm fallback when running in WebContainer: #58081
- update turbopack: #58080
Credits
Huge thanks to @sokra and @d3lm for helping!
Core Changes
- Use distDir from webpack-config in createWebpackAliases: #57268
Documentation Changes
- docs: useFormState and useOptimistic are now documented: #58064
Misc Changes
- Remove installCommand on streaming-ssr test: #58037
- Remove installCommand on typescript-auto-install and pnpm-support: #58039
- Fix should have correct module not found error test: #57383
- Fix options of createNextInstall: #58036
Credits
Huge thanks to @timneutkens and @rashidul0405 for helping!
Core Changes
- fix: ensure that postponed requests can be resumed in minimal mode: #58011
Misc Changes
- tweak stats action to pull in runtime sizes: #58005
- use createNextDescribe for test/development/basic tests: #58031
- Remove setPnpmResolutionMode as default is highest: #57828
Credits
Huge thanks to @ztanner, @wyattjoh, and @timneutkens for helping!
Core Changes
- fix: updates for resuming postponed in minimal mode: #57375
Documentation Changes
- docs: improve non-encrypted HTTP conn to a secure: #57998
- docs: Revert part of sitemap docs change: #58010
Credits
Huge thanks to @rasvanjaya21, @wyattjoh, and @leerob for helping!
Core Changes
- misc: fix serverComponentsExternalPackages usage for experimental.bundlePagesExternals: #57954
- Improve grammar of removable Babel config warning: #55088
- Remove throw for unknown messages in hot-reloader-client: #57353
- Improve CSRF protection error in Server Actions: #57980
Documentation Changes
- Update 05-mdx.mdx: #57866
- docs: Update MDX docs title.: #57963
Misc Changes
- feat(turbo): use turbo gen instead of plop: #53684
- Skip webpack only test: #56929
Credits
Huge thanks to @feedthejim, @joulev, @Athrun-Judah, @leerob, @timneutkens, and @tknickman for helping!
Core Changes
- feat(turbopack): Experimental wasm build: #57906
- Fix client chunk loading encoding for dynamic route: #57960
Misc Changes
- Move ReactRefreshLogBox-builtins tests to inline snapshots: #57952
Credits
Huge thanks to @kwonoj, @wbinnssmith, and @huozhi for helping!
Core Changes
- move static worker IPC server behind experimental flag: #57943
Credits
Huge thanks to @ztanner for helping!
Core Changes
- suspend in render, not in reducers: #56497
Misc Changes
- chore(test): run unit tests on node 18 and 20: #57199
Credits
Huge thanks to @styfle and @ztanner for helping!
Core Changes
- chore: reword in tree-view: #57884
- Polish logging segments of page route: #57834
- Inherit title and description from metadata into social cards: #57857
- remove legacy handling for suspense option of next/dynamic: #57900
- fix(next-core): externalcjs resolve options: #57645
- ppr: fail static generation if postponed & missing postpone data: #57786
- Reduce FS access for incremental cache: #57902
Documentation Changes
- [docs] fix next.config.mjs using commonjs in the example: #57874
- Move link examples to only Pages Router docs.: #57758
Example Changes
- Chore: refactor to use server actions in with-supabase example: #57858
Misc Changes
- chore: remove redundant jest config: #57151
Credits
Huge thanks to @balazsorban44, @Schniz, @leerob, @dijonmusters, @huozhi, @kwonoj, @ztanner, and @wyattjoh for helping!
Core Changes
- Revert "perf: enable webpack build worker (#57346)": #57854
- Add
serverActions.allowedForwardedHostsoption: #57529
Misc Changes
- fix: correctly set
x-forwarded-*in Middleware: #57815
Credits
Huge thanks to @feedthejim, @balazsorban44, and @shuding for helping!
Core Changes
- Prevent caching page with 304 status: #57737
- Ensure cache soft tags are correct: #57850
- Update React from 0c6348758 to 08a39539f: #57852
Example Changes
- Chore: simplify with-supabase example: #57562
- examples: cleanup: #57845
Credits
Huge thanks to @dijonmusters, @leerob, @gffuma, @ijjk, and @ztanner for helping!
Core Changes
- [.next/trace] Add tags for webpack build worker: #57818
- chore: update otel: #57774
- refactor: remove unnecessary condition: #57835
- chore: remove styfle from
.vercel.approvers: #57841 - Remove the
actionBrowserto RSCclientlayering issue: #57842
Example Changes
- Remove `experimental: { serverActions: true } from examples as it is stable in next 14.: #57598
- Update
Explore the Next.js 13 playground.toExplore starter templates for Next.js: #57799
Misc Changes
- fix(youtube-embed): each child in a list should have a unique "key" prop: #57579
- Update teamname in codeowners: #57775
- Simplify createNextInstall return type: #57760
- cleanup PR labeler config: #57827
- move release undraft step until after canary is fully published: #57324
- refactor: remove duplicated conditions
- Revert "refactor: remove duplicated conditions"
- Fix typo in run-tests.js: #57821
Credits
Huge thanks to @vinaykulk621, @RodrigoTomeES, @padmaia, @mknichel, @timneutkens, @ztanner, @feedthejim, @huozhi, @sadikkuzu, @styfle, and @shuding for helping!
Core Changes
- Fix nested esm package default import resolving mismatch: #57784
- [.next/trace] Serialize trace info across workers to preserve .next/trace with webpackBuildWorker: #57761
- Add @highlight-run/node to externals list: #57783
- perf: change the chunks configuration for server code: #57773
Misc Changes
- fix: update Next.js version in create-next-app: #57532
- Automatically update Turbopack test manifest: #57778
Credits
Huge thanks to @huozhi, @mknichel, @Vadman97, @feedthejim, @dnhn, and @jridgewell for helping!
Core Changes
- fix(metadata): align metadata suffix hash between turbopack: #57544
Credits
Huge thanks to @kwonoj for helping!
Core Changes
- Add Next.js 14 codemods to CLI output.: #57552
- OpenTelemetry: propagate a configured context(s) to root requests: #57084
- debug: Add tags to next build traces to track build configuration in the .next/trace file: #56965
- [Traces] Await the flush of the trace write stream to make sure trace file is written: #57641
- Add node-pty to externals list: #57640
- fix: move logging config validation out of experimental: #57530
- Update font data: #57728
- Support viewport export via TS Plugin: #57554
- Fix: Build compilation warning when using middleware: #57685
- chore: Update flight-client-entry-plugin.ts typo: #57734
- Improve error for missing default export in dynamic metadata routes: #57711
- fix gsp tracing issue: #57766
- fix(turbopack): don't match empty route groups: #57647
- Update React from 8c8ee9ee6 to 0c6348758 and types: #57772
Documentation Changes
- Add missing dot in codemod command: #57536
- docs(fix): example text unescaped entities: #57255
- doc: Clarify built-in support for sass after installation: #57279
- Update docs with a Good to know box about using redirect in client components: #56966
- docs: fix 02-dynamic-routes.mdx: #57029
- Fix incorrect link in GTM docs: #57547
- Fix typos: #57592
- Add apostrophe 07-error-handling.mdx: #57626
- Fix: codemods.mdx Incorrect heading structure of next-og-import, meta…: #57605
- Typo fix, version "13" to "14": #57723
- Fix Google Tag Manager URL in Third Party Libraries documentation: #57731
Example Changes
- Fix: Call cookies function from route to flag as dynamic: #57494
- (Examples) Add
with-youtube-embedexample: #57367 - (Examples) Add
with-google-maps-embedexample: #57365 - update @types/react version in examples: #57259
- docs: fix broken link to demo: #57229
- (example update) Update example with-Clerk: #57050
- active-class-name example style js has not taken effect: #56136
- add inngest next.js example: #56049
- fix inngest example for 3.x sdk: #57712
Misc Changes
- update manifest: #57523
- update next/third-parties to use Next 14 or 13 as a peer dependency, instead of just 13: #57515
- Modify tailwindcss related dependency of
create-next-app: #57262 - Remove extra CI step and lock Node.js version: #57769
Credits
Huge thanks to @dijonmusters, @sokra, @philwolstenholme, @IgorKowalczyk, @housseindjirdeh, @Zoe-Bot, @HanCiHu, @JackHowa, @goncy, @hirotomoyamada, @pveyes, @yeskunall, @vinaykulk621, @ChendayUP, @leerob, @dvoytenko, @mknichel, @ijjk, @hmaesta, @ajz003, @its-kunal, @joelhooks, @blurrah, @tariknh, @Vinlock, @Nayeem-XTREME, @aziyatali, @aspehler, @huozhi, @ztanner, @ForsakenHarmony, @moka-ayumu, and @gnoff for helping!
Core Changes
- fix(turbopack): don't match empty route groups: #57647
- Update React from 8c8ee9ee6 to 0c6348758 and types: #57772
Misc Changes
- Modify tailwindcss related dependency of
create-next-app: #57262 - Remove extra CI step and lock Node.js version: #57769
Credits
Huge thanks to @ForsakenHarmony, @moka-ayumu, @ijjk, and @gnoff for helping!
Core Changes
- Update font data: #57728
- Support viewport export via TS Plugin: #57554
- Fix: Build compilation warning when using middleware: #57685
- chore: Update flight-client-entry-plugin.ts typo: #57734
- Improve error for missing default export in dynamic metadata routes: #57711
- fix gsp tracing issue: #57766
Documentation Changes
- Typo fix, version "13" to "14": #57723
- Fix Google Tag Manager URL in Third Party Libraries documentation: #57731
Credits
Huge thanks to @tariknh, @Vinlock, @Nayeem-XTREME, @aziyatali, @aspehler, @huozhi, and @ztanner for helping!
Core Changes
- fix: move logging config validation out of experimental: #57530
Example Changes
- fix inngest example for 3.x sdk: #57712
Credits
Huge thanks to @blurrah and @joelhooks for helping!
Core Changes
- Add node-pty to externals list: #57640
Documentation Changes
- Fix typos: #57592
- Add apostrophe 07-error-handling.mdx: #57626
- Fix: codemods.mdx Incorrect heading structure of next-og-import, meta…: #57605
Example Changes
- add inngest next.js example: #56049
Credits
Huge thanks to @ijjk, @hmaesta, @ajz003, @its-kunal, and @joelhooks for helping!
Core Changes
- Add Next.js 14 codemods to CLI output.: #57552
- OpenTelemetry: propagate a configured context(s) to root requests: #57084
- debug: Add tags to next build traces to track build configuration in the .next/trace file: #56965
- [Traces] Await the flush of the trace write stream to make sure trace file is written: #57641
Documentation Changes
- docs(fix): example text unescaped entities: #57255
- doc: Clarify built-in support for sass after installation: #57279
- Update docs with a Good to know box about using redirect in client components: #56966
- docs: fix 02-dynamic-routes.mdx: #57029
- Fix incorrect link in GTM docs: #57547
Example Changes
- (Examples) Add
with-youtube-embedexample: #57367 - (Examples) Add
with-google-maps-embedexample: #57365 - update @types/react version in examples: #57259
- docs: fix broken link to demo: #57229
- (example update) Update example with-Clerk: #57050
- active-class-name example style js has not taken effect: #56136
Credits
Huge thanks to @housseindjirdeh, @Zoe-Bot, @HanCiHu, @JackHowa, @goncy, @hirotomoyamada, @pveyes, @yeskunall, @vinaykulk621, @ChendayUP, @leerob, @dvoytenko, and @mknichel for helping!
Documentation Changes
- Add missing dot in codemod command: #57536
Example Changes
- Fix: Call cookies function from route to flag as dynamic: #57494
Misc Changes
- update manifest: #57523
- update next/third-parties to use Next 14 or 13 as a peer dependency, instead of just 13: #57515
Credits
Huge thanks to @dijonmusters, @sokra, @philwolstenholme, and @IgorKowalczyk for helping!
Core Changes
- perf: fix server trace file logic : #56898
- feat: drop Node.js 16: #56896
- Update React from d900fadbf to 09fbee89d. Removes server context and experimental prefix for server action APIs: #56809
- feat(env): upgrade
dotenv: #38481 - Update Babel dependencies: #51962
- perf: fix tracing for routes: #56924
- build: Update
swc_coretov0.86.1: #56770 - feat: set status code to 500 if unexpected error occurs before streaming in app router: #56236
- cache: add unstable_noStore API: #56930
- Adding
component to @next/third-parties: #56106 - Replace
Promise.withResolverspolyfill withDetachedPromise: #56954 - chore(next/image)!: mark
onLoadingCompleteas deprecated in favor ofonLoad: #56944 - chore: lower Node.js version requirement: #56943
- fix typos: #56870
- Update React from 09fbee89d to a41957507: #56970
- Reland "feat(turbopack): support basic next/dynamic": #56934
- Add
@mui/icons-materialto the defaultoptimizePackageImportslist: #56801 - add better logs around worker restarts: #57004
- Handle Promise Rejections for Streams: #56976
- Web Streams cleanup: #56819
- chore(next/image): remove deprecation of
onLoadingCompletetemporarily: #57020 - Revert "chore(next/image): remove deprecation of
onLoadingCompletetemporarily": #57024 - Improve performance of String.prototype.split uses: #56746
- chore: support progressive jpg with sharp: #56617
- Move ImageResponse to next/og: #56662
- Prefer module over main on main fields for app router server compiler: #56960
- chore: upgrade
jest: #56909 - chore: drop
undici: #56899 - Bump packages version to match canary versions: #57071
- codemod: migrate ImageResponse imports: #57074
- chore(next/image)!: mark
domainsas deprecated in favorremotePatterns: #57062 - Code frame and sourcemapped error support for Turbopack: #56727
- Update flakey build trace case: #57092
- build: don't error when bundling optional peer deps: #57073
- Expose Experimental Taint APIs: #56507
- Update font data: #57094
- Upgrade edge-runtime/cookies: #57124
- Remove warning messages: #57087
- Add retry for fetching subsetted Google Fonts: #56583
- Update React from a41957507 to d803f519e: #57015
- prefer Option<Vc
> over Vc : #57104 - chore: drop
form-data: #57141 - chore: drop web streams polyfilling on
globalThis: #57077 - chore: create template from
next-edge-ssr-loader: #56715 - Remove the experimental
serverActionsflag: #57145 - Route Handler Types: #57070
- Revert "Add retry for fetching subsetted Google Fonts": #57154
- Display experimental features for next build: #57152
- Cleanup Request Meta: #57144
- chore: move layer from chunking context to asset context: #57149
- Turbopack: support more server code in tracing error stack frames: #57156
- misc: fix injecting --inspect with NODE_OPTIONS: #57159
- Encoding and decoding variables of Server Actions from the closure: #56377
- Remove printing fixed issues for Turbopack: #57188
- Refactor code: #57189
- Polish auto create layout warning color: #57190
- improve server actions error when on unsupported node version: #57191
- Fix two tests that use exportPathMap for Turbopack: #57194
- fix(loader_tree): propagate metadata to corresponding layout: #56956
- Polish the error message when using "use client" from a client action: #57164
- fix(next-core): align edge chunking context's asset root: #57022
- Leverage defineEnv for all environment variables in Turbopack: #57196
- perf: memory usage tweaks: #57163
- update turbopack: #57176
- Move webpack aliases into separate file: #57233
- Remove scheduler/tracing alias as the file no longer exists: #57234
- test: stablize the metadata url tests: #57204
- Polish turbopack start logging: #57203
- Remove reactServerCondition property as it is not used: #57236
- Add CompilerAliases Type: #57237
- Turbopack: fix over-invalidation of node.js assets: #57240
- Simplify options passed to createWebpackAliases: #57239
- Fix relative metadata url resolving on windows: #57265
- Improve encryption of Server Actions closure arguments: #57227
- chore: fix a typo: #57272
- Fix unmatched WebSocket upgrade requests being closed: #57245
- perf: fix memory leaks in the edge runtime in dev: #57235
- chore(export)!: remove
next exportin favor ofoutput: exportin next.config.js: #57085 - Simplify iv prefixing of Server Actions encryption: #57274
- Update Pathname Normalizers: #57161
- Move logging option to stable: #56791
- Polish compiling and turbopack logging: #57270
- Revalidate Header Updates: #57162
- Enhance Buffered Transform Stream: #57267
- React Aliases: #57283
- perf: remove
parse-bodyfrom the server runtime: #57280 - Improve encryption of Server Actions bound values: #57297
- Add
__nextjs_purehelper : #57286 - only log export-no-custom-routes warning if unsupported: #57298
- revert "React Aliases (#57283)": #57299
- Fix client reference proxies: #57301
- fix(turbopack): write manifests for edge app pages and use proper edge entry: #56675
- Partial Prerendering: #57287
- Optimize server bundle size: #57305
- misc: fix bundling of experimental: #57311
- Fix no-store/revalidate 0 inside of unstable_cache: #57313
- update turbopack and add HMR test case: #57304
- Fix nested unstable_cache revalidating: #57316
- Revert "Add
__nextjs_purehelper ": #57318 - bundle analyzer artifacts: #57307
- PPR Fetch Fix: #57327
- feat: Add
__nextjs_pureback: #57328 - Fix trace ignores: #57331
- PPR Support: #57319
- fix: ensure generateStaticParams isn't required for PPR: #57333
taintflag should enable experimental react in turbopack: #57315- Fix app ISR error handling: #57332
- fix metadata url resolving with path posix: #57343
- Get rid of semver from the server bundle: #57321
- fix(next_core): align remove trailing slash: #57344
- perf: avoid using raw-body for server actions: #57358
- fix(next-core): apply correct jsx transform context for ssr: #57300
- Refactor code: #57382
- Fix request body hanging when middleware is preset: #57381
- Turbopack: inject chunk group list file into the page for server component CSS: #57376
- Viewport exports: #57302
- Add websocket to server-external-packages: #57389
- turbopack: Implement Server Actions from Client Components: #57391
- Refactor swc options: #57369
- Ensure unstable_cache revalidate option enables ISR: #57390
- Fix logging removed experiments in start logs: #57373
- fix(next-core): adjust og alias: #57431
- Turbopack: avoid crashing when server actions can't parse the file: #57424
- Turbopack: avoid sending serverComponentChanges with errors: #57425
- update turbopack: #57420
- handle finish building message on client side: #57363
- remove invalid argument: #57438
- misc: build output rework: #57440
- types: mark ImageResponse from next/server deprecated: #57372
- Fix deploy id env handling when disabled: #57374
- codemods: migrate viewport related metadata export to viewport export : #57436
- Process Client -> RSC Server Actions as TS: #57454
- Apply react-server transform and valication to middleware: #57448
- fix(turbopack): don't emit issues when parsing the segment config for non js files: #57452
- fix(next-core): fix determining dynamic route: #57435
- Add deprecation warning for disabling swc minifier: #57453
- Turbopack: Improve error handling: #57386
- refactor: simplify swc loaders configuration: #57457
- Ignore postponed rejections: #57456
- types: mark ImageResponse from next/server deprecated: #57372
- Fix deploy id env handling when disabled: #57374
- codemods: migrate viewport related metadata export to viewport export : #57436
- Process Client -> RSC Server Actions as TS: #57454
- Apply react-server transform and valication to middleware: #57448
- fix(turbopack): don't emit issues when parsing the segment config for non js files: #57452
- fix(next-core): fix determining dynamic route: #57435
- Add deprecation warning for disabling swc minifier: #57453
- Turbopack: Improve error handling: #57386
- refactor: simplify swc loaders configuration: #57457
- Ignore postponed rejections: #57456
- use postcss transforms consistently also on server side: #57434
- feat(turbopack): add support for parallel routes and route interception: #57450
- Apply react-server condition for pages api: #57459
- Remove wasm target: #57437
- add better messaging around wrapping postpone with try/catch: #57446
- misc: fix unhandled err worker hook : #57465
- misc: fix build output: #57466
- turbopack: Fix Server Actions in Edge runtime: #57462
- Fix Regex: #57461
- perf: enable webpack build worker: #57346
- fix turbopack invalidations: #57362
- fix(turbopack): make layout in group not cause a 404: #57471
- fix turbopack invalidations: #57362
- fix(turbopack): make layout in group not cause a 404: #57471
- add node:url alias: #57478
- update turbopack: #57469
- Turbopack: add HMR update message: #57476
- Revert "fix turbopack invalidations (#57362)": #57480
- Filter out CSS files from middleware files and client reference chunks: #57482
- turbopack: Support Actions in both RSC and Client layers: #57475
- Fix missing SWC transforms for optimized barrel files: #57474
- if there are errors during postpone, or postpone was caught, fail static generation: #57477
- Add deprecation warning for disabling output file tracing: #57467
- Move serverActionsBodySizeLimit to serverActions.bodySizeLimit: #57433
- Update React from a9985529f to 8c8ee9ee6: #57483
- update turbopack: #57485
- fix client-only alias in SSRed client components: #57484
- revert ppr logging changes: #57486
- Don't terminate PPR renders with dynamicUsageErr: #57488
- update turbopack: #57487
- revert "Apply react-server condition for pages api (#57459)": #57500
- Revert "Apply react-server transform and valication to middleware (#5…: #57504
Documentation Changes
- Docs: Add documentation for next/third-parties: #57345
- Update 05-mdx.mdx . Fix key of the prop: #56883
- chore(docs): fix missing fallback on next/image sizes example: #56718
- Fix typos in duplicate-sass.mdx: #57045
Example Changes
- chore: Refactor with-supabase example to use ssr package: #57100
- Fix: catch expected error in with-supabase example: #57378
Misc Changes
- improve next-image-proxy test: #56893
- chore(test): test remote image from proxy: #56895
- ensure kodiak is re-added to apps list after code-freeze action: #56907
- chore: reduce
fs-extrausage inscripts/: #56917 - chore(test): set
COREPACK_ENABLE_STRICT: 0for create-next-app tests: #56955 - Add .yarn/install-state.gz to .gitignore: #56637
- chore(test): add logs for create-next-app tests: #56957
- chore: revert back to moving files w/
fs-extra: #57030 - Update CNA tests to avoid publish conflict: #57025
- build(cargo): bump up turbopack: #57081
- Update CNA tests more: #57088
- Update runner for e2e deploy tests: #57089
- update test manifest: #56938
- make test case less flaky: #57138
- Refine eslint rule: #57143
- Update eslint config: #57146
- Reduce e2e deploy concurrency: #57142
- Mark most GTMParams as optional: #57153
- chore: Add condition to skip update-fonts workflow on forks: #57165
- Fix SCSS and SCSS loader handling tests for Turbopack: #57192
- Skip webpack test in Turbopack test run: #57195
- Skip output export production tests for Turbopack: #57197
- Turbopack: reenable some skipped test cases: #57177
- update test manifest: #57105
- Update
swc_coretov0.86.10: #57121 - Import turbo daily integration test workflows: #57083
- Skip i18n-ignore-rewrite-source irrelevant tests with turbopack: #57289
- Increase concurrency for turbopack test run: #57290
- Update unrelated mdx tests with turbopack: #57294
- Skip i18n-ignore-rewrite-basepath-source irrelevant tests with turbopack: #57295
- Update React from d803f519e to b8e47d988: #57296
- Increase build-native CI job timeout: #57314
- Revert "Increase build-native CI job timeout (#57314)": #57325
- fix async-modules test: #57320
- update turbopack test manifest: #57357
- Split jsconfig-paths and jsconfig-paths-wildcard tests: #57360
- disable opentelemetry test in turbopack: #57361
- test(turbopack): update test manifest: #57366
- test(next-image): adjust assertion compatible to turbopack: #57350
- disable test temporarily: #57368
- update manifest: #57421
- enable e2e tests with turbopack: #57432
- Turbopack: disable webpack specific test cases: #57423
- Update React from b8e47d988 to a9985529f.: #57442
- Update publish-native script for wasm change: #57472
- update manifest: #57468
- update manifest: #57468
Credits
Huge thanks to @A7med3bdulBaset, @acdlite, @Andarist, @berlysia, @Bsodoge, @dijonmusters, @dpnolte, @feedthejim, @ForsakenHarmony, @gnoff, @housseindjirdeh, @huozhi, @ijjk, @janicklas-ralph, @jridgewell, @JuanM04, @kdy1, @kwonoj, @leung018, @nil1511, @padmaia, @philwolstenholme, @ryo-manba, @sebmarkbage, @shuding, @sokra, @styfle, @SukkaW, @timneutkens, @tomocchino, @wbinnssmith, @WhoAmIRUS, @wyattjoh, @xiaolou86, @Yovach, @ztanner and @balazsorban44 for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Lock swc binaries version
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Match subrequest handling for edge and node
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary. This release contains a security patch for CVE-2025-29927.
Core Changes
- [backport] middleware subrequest patch (#77418)
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Update React from d900fadbf to 1dba980e1f: #74202
- [i18n] Routing fix: #70761
Credits
Huge thanks to @wyattjoh and @ztanner for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Remove invalid fallback revalidate value (#69990)
- Shared Revalidate Timings (#64370)
Credits
Huge thanks to @wyattjoh and @ijjk for helping!
Core Changes
- Revert "Apply react-server transform and valication to middleware (#5…: #57504
Credits
Huge thanks to @feedthejim for helping!
Core Changes
- revert "Apply react-server condition for pages api (#57459)": #57500
Credits
Huge thanks to @huozhi for helping!
Core Changes
- revert ppr logging changes: #57486
- Don't terminate PPR renders with dynamicUsageErr: #57488
- update turbopack: #57487
Credits
Huge thanks to @ztanner, @sebmarkbage, and @sokra for helping!
Core Changes
- Filter out CSS files from middleware files and client reference chunks: #57482
- turbopack: Support Actions in both RSC and Client layers: #57475
- Fix missing SWC transforms for optimized barrel files: #57474
- if there are errors during postpone, or postpone was caught, fail static generation: #57477
- Add deprecation warning for disabling output file tracing: #57467
- Move serverActionsBodySizeLimit to serverActions.bodySizeLimit: #57433
- Update React from a9985529f to 8c8ee9ee6: #57483
- update turbopack: #57485
- fix client-only alias in SSRed client components: #57484
Credits
Huge thanks to @shuding, @jridgewell, @ztanner, @huozhi, @acdlite, and @sokra for helping!
Core Changes
- fix turbopack invalidations: #57362
- fix(turbopack): make layout in group not cause a 404: #57471
- add node:url alias: #57478
- update turbopack: #57469
- Turbopack: add HMR update message: #57476
- Revert "fix turbopack invalidations (#57362)": #57480
Documentation Changes
- Docs: Add documentation for next/third-parties: #57345
Misc Changes
- update manifest: #57468
Credits
Huge thanks to @ForsakenHarmony, @sokra, and @housseindjirdeh for helping!
Core Changes
- fix turbopack invalidations: #57362
- fix(turbopack): make layout in group not cause a 404: #57471
Misc Changes
- update manifest: #57468
Credits
Huge thanks to @ForsakenHarmony and @sokra for helping!
Core Changes
- turbopack: Fix Server Actions in Edge runtime: #57462
- Fix Regex: #57461
- perf: enable webpack build worker: #57346
Example Changes
- Fix: catch expected error in with-supabase example: #57378
Misc Changes
- Update publish-native script for wasm change: #57472
Credits
Huge thanks to @jridgewell, @shuding, @feedthejim, @dijonmusters, and @ijjk for helping!
Core Changes
- types: mark ImageResponse from next/server deprecated: #57372
- Fix deploy id env handling when disabled: #57374
- codemods: migrate viewport related metadata export to viewport export : #57436
- Process Client -> RSC Server Actions as TS: #57454
- Apply react-server transform and valication to middleware: #57448
- fix(turbopack): don't emit issues when parsing the segment config for non js files: #57452
- fix(next-core): fix determining dynamic route: #57435
- Add deprecation warning for disabling swc minifier: #57453
- Turbopack: Improve error handling: #57386
- refactor: simplify swc loaders configuration: #57457
- Ignore postponed rejections: #57456
- use postcss transforms consistently also on server side: #57434
- feat(turbopack): add support for parallel routes and route interception: #57450
Credits
Huge thanks to @huozhi, @ijjk, @jridgewell, @ForsakenHarmony, @kwonoj, @padmaia, @sokra, and @sebmarkbage for helping!
Core Changes
- types: mark ImageResponse from next/server deprecated: #57372
- Fix deploy id env handling when disabled: #57374
- codemods: migrate viewport related metadata export to viewport export : #57436
- Process Client -> RSC Server Actions as TS: #57454
- Apply react-server transform and valication to middleware: #57448
- fix(turbopack): don't emit issues when parsing the segment config for non js files: #57452
- fix(next-core): fix determining dynamic route: #57435
- Add deprecation warning for disabling swc minifier: #57453
- Turbopack: Improve error handling: #57386
- refactor: simplify swc loaders configuration: #57457
- Ignore postponed rejections: #57456
Credits
Huge thanks to @huozhi, @ijjk, @jridgewell, @ForsakenHarmony, @kwonoj, @padmaia, @sokra, and @sebmarkbage for helping!
Core Changes
- misc: build output rework: #57440
Misc Changes
- Update React from b8e47d988 to a9985529f.: #57442
Credits
Huge thanks to @feedthejim and @gnoff for helping!
Core Changes
- Refactor code: #57382
- Fix request body hanging when middleware is preset: #57381
- Turbopack: inject chunk group list file into the page for server component CSS: #57376
- Viewport exports: #57302
- Add websocket to server-external-packages: #57389
- turbopack: Implement Server Actions from Client Components: #57391
- Refactor swc options: #57369
- Ensure unstable_cache revalidate option enables ISR: #57390
- Fix logging removed experiments in start logs: #57373
- fix(next-core): adjust og alias: #57431
- Turbopack: avoid crashing when server actions can't parse the file: #57424
- Turbopack: avoid sending serverComponentChanges with errors: #57425
- update turbopack: #57420
- handle finish building message on client side: #57363
- remove invalid argument: #57438
Misc Changes
- update manifest: #57421
- enable e2e tests with turbopack: #57432
- Turbopack: disable webpack specific test cases: #57423
Credits
Huge thanks to @shuding, @sokra, @huozhi, @tomocchino, @jridgewell, @timneutkens, and @kwonoj for helping!
Misc Changes
- test(next-image): adjust assertion compatible to turbopack: #57350
- disable test temporarily: #57368
Credits
Huge thanks to @kwonoj and @sokra for helping!
Core Changes
- PPR Support: #57319
- fix: ensure generateStaticParams isn't required for PPR: #57333
taintflag should enable experimental react in turbopack: #57315- Fix app ISR error handling: #57332
- fix metadata url resolving with path posix: #57343
- Get rid of semver from the server bundle: #57321
- fix(next_core): align remove trailing slash: #57344
- perf: avoid using raw-body for server actions: #57358
- fix(next-core): apply correct jsx transform context for ssr: #57300
Misc Changes
- fix async-modules test: #57320
- update turbopack test manifest: #57357
- Split jsconfig-paths and jsconfig-paths-wildcard tests: #57360
- disable opentelemetry test in turbopack: #57361
- test(turbopack): update test manifest: #57366
Credits
Huge thanks to @wyattjoh, @ztanner, @ijjk, @huozhi, @shuding, @kwonoj, @timneutkens, and @feedthejim for helping!
Core Changes
- bundle analyzer artifacts: #57307
- PPR Fetch Fix: #57327
- feat: Add
__nextjs_pureback: #57328 - Fix trace ignores: #57331
Misc Changes
- Revert "Increase build-native CI job timeout (#57314)": #57325
Credits
Huge thanks to @ztanner, @ijjk, @wyattjoh, and @kdy1 for helping!
Core Changes
- update turbopack and add HMR test case: #57304
- Fix nested unstable_cache revalidating: #57316
- Revert "Add
__nextjs_purehelper ": #57318
Credits
Huge thanks to @sokra and @ijjk for helping!
Core Changes
- Improve encryption of Server Actions bound values: #57297
Misc Changes
- Update React from d803f519e to b8e47d988: #57296
Credits
Huge thanks to @acdlite and @shuding for helping!
Core Changes
- Update Pathname Normalizers: #57161
- Move logging option to stable: #56791
- Polish compiling and turbopack logging: #57270
- Revalidate Header Updates: #57162
- Enhance Buffered Transform Stream: #57267
- React Aliases: #57283
- perf: remove
parse-bodyfrom the server runtime: #57280
Misc Changes
- Import turbo daily integration test workflows: #57083
- Skip i18n-ignore-rewrite-source irrelevant tests with turbopack: #57289
- Increase concurrency for turbopack test run: #57290
- Update unrelated mdx tests with turbopack: #57294
- Skip i18n-ignore-rewrite-basepath-source irrelevant tests with turbopack: #57295
Credits
Huge thanks to @wyattjoh, @huozhi, @ijjk, and @feedthejim for helping!
Core Changes
- Remove reactServerCondition property as it is not used: #57236
- Add CompilerAliases Type: #57237
- Turbopack: fix over-invalidation of node.js assets: #57240
- Simplify options passed to createWebpackAliases: #57239
- Fix relative metadata url resolving on windows: #57265
- Improve encryption of Server Actions closure arguments: #57227
- chore: fix a typo: #57272
- Fix unmatched WebSocket upgrade requests being closed: #57245
- perf: fix memory leaks in the edge runtime in dev: #57235
- chore(export)!: remove
next exportin favor ofoutput: exportin next.config.js: #57085 - Simplify iv prefixing of Server Actions encryption: #57274
Credits
Huge thanks to @timneutkens, @sokra, @huozhi, @shuding, @A7med3bdulBaset, @feedthejim, and @styfle for helping!
Core Changes
- perf: memory usage tweaks: #57163
- update turbopack: #57176
- Move webpack aliases into separate file: #57233
- Remove scheduler/tracing alias as the file no longer exists: #57234
- test: stablize the metadata url tests: #57204
- Polish turbopack start logging: #57203
Misc Changes
- Update
swc_coretov0.86.10: #57121
Credits
Huge thanks to @feedthejim, @sokra, @timneutkens, @huozhi, and @kdy1 for helping!
Core Changes
- Polish the error message when using "use client" from a client action: #57164
- fix(next-core): align edge chunking context's asset root: #57022
- Leverage defineEnv for all environment variables in Turbopack: #57196
Misc Changes
- update test manifest: #57105
Credits
Huge thanks to @shuding, @sokra, @kwonoj, and @timneutkens for helping!
Core Changes
- Cleanup Request Meta: #57144
- chore: move layer from chunking context to asset context: #57149
- Turbopack: support more server code in tracing error stack frames: #57156
- misc: fix injecting --inspect with NODE_OPTIONS: #57159
- Encoding and decoding variables of Server Actions from the closure: #56377
- Remove printing fixed issues for Turbopack: #57188
- Refactor code: #57189
- Polish auto create layout warning color: #57190
- improve server actions error when on unsupported node version: #57191
- Fix two tests that use exportPathMap for Turbopack: #57194
- fix(loader_tree): propagate metadata to corresponding layout: #56956
Misc Changes
- chore: Add condition to skip update-fonts workflow on forks: #57165
- Fix SCSS and SCSS loader handling tests for Turbopack: #57192
- Skip webpack test in Turbopack test run: #57195
- Skip output export production tests for Turbopack: #57197
- Turbopack: reenable some skipped test cases: #57177
Credits
Huge thanks to @wyattjoh, @ForsakenHarmony, @wbinnssmith, @feedthejim, @ryo-manba, @shuding, @timneutkens, @huozhi, @ztanner, @kwonoj, and @sokra for helping!
Core Changes
- Update React from a41957507 to d803f519e: #57015
- prefer Option<Vc
> over Vc : #57104 - chore: drop
form-data: #57141 - chore: drop web streams polyfilling on
globalThis: #57077 - chore: create template from
next-edge-ssr-loader: #56715 - Remove the experimental
serverActionsflag: #57145 - Route Handler Types: #57070
- Revert "Add retry for fetching subsetted Google Fonts": #57154
- Display experimental features for next build: #57152
Misc Changes
- make test case less flaky: #57138
- Refine eslint rule: #57143
- Update eslint config: #57146
- Reduce e2e deploy concurrency: #57142
- Mark most GTMParams as optional: #57153
Credits
Huge thanks to @gnoff, @sokra, @ijjk, @balazsorban44, @ForsakenHarmony, @philwolstenholme, @wyattjoh, @styfle, and @huozhi for helping!
Core Changes
- Update flakey build trace case: #57092
- build: don't error when bundling optional peer deps: #57073
- Expose Experimental Taint APIs: #56507
- Update font data: #57094
- Upgrade edge-runtime/cookies: #57124
- Remove warning messages: #57087
- Add retry for fetching subsetted Google Fonts: #56583
Misc Changes
- Update CNA tests more: #57088
- Update runner for e2e deploy tests: #57089
- update test manifest: #56938
Credits
Huge thanks to @ijjk, @sokra, @feedthejim, @sebmarkbage, @huozhi, @shuding, and @berlysia for helping!
Core Changes
- codemod: migrate ImageResponse imports: #57074
- chore(next/image)!: mark
domainsas deprecated in favorremotePatterns: #57062 - Code frame and sourcemapped error support for Turbopack: #56727
Misc Changes
- build(cargo): bump up turbopack: #57081
Credits
Huge thanks to @huozhi, @styfle, @wbinnssmith, and @kwonoj for helping!
Core Changes
- chore: upgrade
jest: #56909 - chore: drop
undici: #56899 - Bump packages version to match canary versions: #57071
Credits
Huge thanks to @balazsorban44 and @huozhi for helping!
Core Changes
- Upgrade edge-runtime/cookies #57021
- Patch React with fix for write-after-close for ReadableStream #57011
Credits
Huge thanks to @ijjk @huozhi @gnoff for helping!
Core Changes
- Revert "chore(next/image): remove deprecation of
onLoadingCompletetemporarily": #57024 - Improve performance of String.prototype.split uses: #56746
- chore: support progressive jpg with sharp: #56617
- Move ImageResponse to next/og: #56662
- Prefer module over main on main fields for app router server compiler: #56960
Documentation Changes
- Fix typos in duplicate-sass.mdx: #57045
Misc Changes
- chore: revert back to moving files w/
fs-extra: #57030 - Update CNA tests to avoid publish conflict: #57025
Credits
Huge thanks to @styfle, @Yovach, @nil1511, @SukkaW, @Bsodoge, @ijjk, and @huozhi for helping!
Core Changes
- add better logs around worker restarts: #57004
- Handle Promise Rejections for Streams: #56976
- Web Streams cleanup: #56819
- chore(next/image): remove deprecation of
onLoadingCompletetemporarily: #57020
Documentation Changes
- chore(docs): fix missing fallback on next/image sizes example: #56718
Misc Changes
- Add .yarn/install-state.gz to .gitignore: #56637
- chore(test): add logs for create-next-app tests: #56957
Credits
Huge thanks to @ztanner, @leung018, @styfle, and @wyattjoh for helping!
Core Changes
- fix typos: #56870
- Update React from 09fbee89d to a41957507: #56970
- Reland "feat(turbopack): support basic next/dynamic": #56934
- Add
@mui/icons-materialto the defaultoptimizePackageImportslist: #56801
Credits
Huge thanks to @xiaolou86, @ztanner, @sokra, and @shuding for helping!
Core Changes
- Adding
component to @next/third-parties: #56106 - Replace
Promise.withResolverspolyfill withDetachedPromise: #56954 - chore(next/image)!: mark
onLoadingCompleteas deprecated in favor ofonLoad: #56944 - chore: lower Node.js version requirement: #56943
Misc Changes
- chore: reduce
fs-extrausage inscripts/: #56917 - chore(test): set
COREPACK_ENABLE_STRICT: 0for create-next-app tests: #56955
Credits
Huge thanks to @janicklas-ralph, @wyattjoh, @SukkaW, @styfle, and @balazsorban44 for helping!
Core Changes
- feat: set status code to 500 if unexpected error occurs before streaming in app router: #56236
- cache: add unstable_noStore API: #56930
Credits
Huge thanks to @dpnolte and @feedthejim for helping!
Core Changes
- feat(env): upgrade
dotenv: #38481 - Update Babel dependencies: #51962
- perf: fix tracing for routes: #56924
- build: Update
swc_coretov0.86.1: #56770
Credits
Huge thanks to @JuanM04, @Andarist, @feedthejim, and @kdy1 for helping!
Core Changes
- Update React from d900fadbf to 09fbee89d. Removes server context and experimental prefix for server action APIs: #56809
Documentation Changes
- Update 05-mdx.mdx . Fix key of the prop: #56883
Credits
Huge thanks to @WhoAmIRUS and @gnoff for helping!
Core Changes
- perf: fix server trace file logic : #56898
- feat: drop Node.js 16: #56896
Misc Changes
- improve next-image-proxy test: #56893
- chore(test): test remote image from proxy: #56895
- ensure kodiak is re-added to apps list after code-freeze action: #56907
Credits
Huge thanks to @ztanner, @styfle, @feedthejim, and @balazsorban44 for helping!
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.existsSyncto avoid race condition: #56387 - Ensure loader generated export default has name: #56388
- Move Edge SSR event
waitUntilinto the handler: #56404 - fix: avoid unnecessary
existSynccall: #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
isolateModulestotsconfigwhen extending from tsconfig withverbatimModuleSyntax: #54164 - enable
verbatimModuleSyntaxto 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-onlyandclient-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.parseto 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
permalinkoption ofuseFormState: #56329 - Fix code freeze disable handling: #56340
- add
cargo fmtto 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.examplefile: #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!
Core Changes
- Revert "feat(turbopack): support basic next/dynamic": #56885
Credits
Huge thanks to @sokra for helping!
Core Changes
- bump: edge-runtime: #56856
- feat(turbopack): support basic next/dynamic: #56389
Misc Changes
- Skip webpack specific tests in Turbopack test run: #56877
Credits
Huge thanks to @Kikobeats, @kwonoj, and @timneutkens for helping!
Core Changes
- chore: bump undici: #56851
Documentation Changes
- Fix typo: #56863
Credits
Huge thanks to @balazsorban44 and @joristirado for helping!
Core Changes
- Fix build traces case: #56817
- Revert "Drop ipc server headers filters (#56226)": #56836
- Implement getOptimizedModuleAliases for Turbopack: #56839
Documentation Changes
- docs: fix cypress script typo in 10-testing.mdx: #56765
Misc Changes
- 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
Credits
Huge thanks to @ijjk, @timneutkens, @huozhi, and @dianacpg for helping!
Core Changes
- fix: add
x-forwarded-*headers: #56797 - fix(turbopack): middleware path and aliases: #56804
- Implement preferredRegion array in Turbopack: #56743
Documentation Changes
- Update supported-browsers.mdx: #56815
Example Changes
- fix: http2 example issue: #56768
Misc Changes
- docs: fix several typos: #56788
- Skip artifact download for test e2e deploy workflow: #56807
Credits
Huge thanks to @himself65, @balazsorban44, @ForsakenHarmony, @timneutkens, @suravshrestha, @ijjk, and @fvaysh for helping!
Core Changes
- put app code into a separate layer: #56800
Credits
Huge thanks to @sokra for helping!
Core Changes
- memoize
useParams: #56771 - Turbopack: Chunking Refactoring: #56756
- Chunking Refactoring followup fixes: #56789
Misc Changes
- update manifest: #56737
Credits
Huge thanks to @ztanner and @sokra for helping!
Documentation Changes
- Changes codeblock filename delimiter: #56712
Credits
Huge thanks to @manovotny for helping!
Core Changes
- OpenTelemetry: ignore bubble errors to avoid spamming traces: #56625
- fix(turbopack): always alias
server-onlyandclient-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
Example Changes
- chore(example): bump
@radix-ui/react-icons: #56452
Misc Changes
- feat: add self-documenting
.env.examplefile: #56469
Credits
Huge thanks to @dvoytenko, @ForsakenHarmony, @mayank1513, @wyattjoh, @ztanner, and @hamirmahal for helping!
Core Changes
- 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
Documentation Changes
- Docs: Add missing description field: #56749
Misc Changes
- 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
Credits
Huge thanks to @timneutkens, @feedthejim, @delbaoliveira, @huozhi, @mayankkamboj47, @balazsorban44, @ijjk, and @shuding for helping!
Core Changes
- fix static worker restart behavior: #56728
- Improve internal waitUntil utility: #56720
Documentation Changes
- Updates Large Page Data error message doc to use
JSON.parseto make reading output easier: #56713
Example Changes
- updated fauna fql v10: #56185
- fix lint error from fauna example: #56719
Credits
Huge thanks to @Shadid12, @ztanner, @manovotny, and @shuding for helping!
Core Changes
- Ensure rewrites are included in build manifest when using Turbopack: #56692
Misc Changes
- Use unique names for separate test suites: #56695
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Fix trace ignore handling: #56674
- fix(next-core): allow sass loader for foreign codes: #56679
- Fix SSG query with experimental-compile: #56680
Misc Changes
- 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
Credits
Huge thanks to @sokra, @ijjk, @wbinnssmith, and @kwonoj for helping!
Core Changes
- 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
isolateModulestotsconfigwhen extending from tsconfig withverbatimModuleSyntax: #54164 - enable
verbatimModuleSyntaxto 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
Documentation Changes
- 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
Example Changes
- Update actions.ts: #56579
Misc Changes
- 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
Credits
Huge thanks to @wbinnssmith, @SukkaW, @balazsorban44, @wyattjoh, @jazsouf, @2XG-DEV, @sokra, @stefanprobst, @ztanner, @timneutkens, @huozhi, @mzab1985, @Mustafadagkiranlar, @ForsakenHarmony, @JoRyGu, @shuding, @cmbritten, @feedthejim, @styfle, @Krishnanand2517, and @bahag-buttf for helping!
Core Changes
- 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
Credits
Huge thanks to @timneutkens, @feedthejim, @jridgewell, and @shuding for helping!
Core Changes
- 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
Misc Changes
- 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
Credits
Huge thanks to @gnoff, @hamirmahal, @wyattjoh, @huozhi, @jridgewell, @timneutkens, @SukkaW, @ForsakenHarmony, @sokra, and @wbinnssmith for helping!
Core Changes
- fix: avoid unnecessary
existSynccall: #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
Example Changes
- Maintenance: minor example dep bumps to fix moderate vulns: #56375
Misc Changes
- add
cargo fmtto lint staged: #56430
Credits
Huge thanks to @Rylab, @anonrig, @sokra, and @ForsakenHarmony for helping!
Core Changes
- App Router - preinitialize chunks during SSR: #54752
- fix: use
fs.existsSyncto avoid race condition: #56387 - Ensure loader generated export default has name: #56388
- Move Edge SSR event
waitUntilinto the handler: #56404
Documentation Changes
- Update redirect.mdx: #56414
Credits
Huge thanks to @gnoff, @anonrig, @ijjk, @viktorronnback, and @shuding for helping!
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
Documentation Changes
- add digest property to error prop: #56339
- Updates MDX docs: #56378
Misc Changes
- Fix mjs import for Turbopack test: #56354
- Add test case for the
permalinkoption ofuseFormState: #56329 - Fix code freeze disable handling: #56340
Credits
Huge thanks to @ijjk, @timneutkens, @shuding, @wyattjoh, @Syphini, @manovotny, and @ForsakenHarmony for helping!
Core Changes
- chore: NextJS -> Next.js: #55961
- fix-failed-to-generate-self-signed-certificate issue:#55891: #55947
- Remove .test.js from dist: #55946
- Turbopack next/font/google: don't insert css rules for multiple weights or styles: #55852
- Fix stale revalidate stream handling: #55978
- turbopack: improve turbopack/test stability: #56024
- Mark testmode fetches internal: #56036
- chore: Remove 'beta.' Subdomain from
beta.nextjs.orgLinks: #55924 - Remove experimental.sharedPool: #56021
- fix(worker): pass env to build worker w/
config.experimental.workerThreads: #55257 - Update
swc_coretov0.83.26: #55780 - Revert "Update
swc_coretov0.83.26": #56077 - fix reporting of illegal segments when directory only contains irrelevant files: #56076
- Make
permanentRedirectreturn 308 in route handlers: #56065 - Remove unneeded next-dev js in next-core: #56039
- Fix: Use
booleaninstead offalsefor experimental logging config: #56110 - chore: remove chalk in favor of picocolors: #55992
- Revert: "Generate prefetch RSC payload during build for SSR paths (#54403)": #56059
- fetching logging on edge: #56108
- Optimize build trace handling: #56048
- Update font data: #56121
- feat(turbopack): port bloom filter to nexturbo: #55678
- Fixes performance problems due to TaskScopes: #55721
- perf: remove react dom legacy from app router: #56082
- perf: replace zod with superstruct: #56083
- perf: externalise ws for bundled server: #56095
- misc: refactor node utils: #56096
- Add support for skipTrailingSlashRedirect and skipMiddlewareUrlNormalize in Turbopack: #56147
- Add experimental.scrollRestoration for Turbopack: #56150
- misc: refactor handleExternals: #56161
- perf: add option to bundle pages externals: #56162
- Allow jest to run with use server directive: #56148
- Update experimental compile cache handling: #56139
- App render related code clean up: #56178
- Add support for i18n config in Turbopack: #56182
- Implement list of config options for Turbopack: #56188
- Turbopack: add support for an assetPrefix and basePath: #56058
- update turbopack: #56197
- Update supported options list to reflect #56188: #56200
- Add support for experimental.logging.level in Turbopack: #56201
- Add next.config.js options to turbopack warning file: #56207
- fix: @libsql/client build error: #56192
- chore: bump
postcss: #56225 - Add additional handling for experimental-compile: #56224
- Drop ipc server headers filters: #56226
- only override NODE_EXTRA_CA_CERTS when using experimental https flag: #56252
- Pass same mangling option as terser to SWC minifier: #56281
- update turbopack: #56285
- clear require cache only when needed: #56198
- misc: enable source maps for bundled runtime: #56289
- misc: shortcut styled-jsx in external resolution: #56291
- Support serverRuntimeConfig and publicRuntimeConfig in Turbopack: #56310
- Reland static prefetches & fix prefetch bailout behavior: #56228
- fix(#53190): add missing crossOrigin to assetsPrefix resources: #56311
- misc: fix instrumentation with bundled server: #56318
- fix(next/client): keep hash when navigating from app to pages router: #56223
- fix: support both decoded and encoded url requests of conventioned files : #56187
- fix: Invalid URL (404) provided on server actions error: #56323
- Revert "misc: shortcut styled-jsx in external resolution (#56291)": #56334
- Fix build output logging order: #56335
Documentation Changes
- docs: add
not-foundto file conventions page: #55944 - Update 03-linking-and-navigating.mdx: #55907
- docs: Correct place for passing
extensionoption tocreateMDX(): #55967 - docs-55629 update router cache column in cache interactions api table: #55630
- Update 03-linking-and-navigating.mdx: #55969
- Updates "Prerender Error" page for App Router: #56044
- Add the default import alias to create-next-app prompt for clarity: #55896
- Update revalidatePath.mdx to fix confusing wording of arguments section.: #56099
- docs: Renamed function that is used by other name: #56170
- (docs) Document Server Actions
.bindmethod: #56164 - docs: Use
Response.jsonoverNextResponse.json: #56173 - correcting link to useSearchParams ref: #56169
- docs(sharp-missing-in-production.mdx): update standalone command: #56191
- docs(sharp-missing-in-production.mdx): update standalone command: #56239
- Update image.mdx: #56269
- Update image.mdx: #56266
Example Changes
- chore(examples): bump dependency versions: #55899
- Update to with-supertokens example app: #56035
- Update dependencies in examples : #55993
- Chore/update with supabase demo deploy button: #52483
- chore(examples): remove deprecated dependency from
with-jest: #56152 - chore(examples): fix
with-jesttypes: #56193 - (Examples) update Grafbase example: #54705
- fix: typo in
with-stripe-typescriptexample: #56274
Misc Changes
- Skip production tests for Turbopack: #56045
- Fix invalid build-and-test workflow: #56053
- turbopack: Add more skipped tests: #56052
- Skip next build test: #56079
- add flakey test: #56080
- Skip more production tests for turbopack: #56084
- Ensure tests suites have unique names: #56085
- Skip experimental.nextScriptWorkers test for Turbopack: #56086
- Skip production tests for Turbopack: #56089
- Skip Babel tests for Turbopack: #56091
- misc: add node-version file: #55938
- Ensure unique name for app dir css tests: #56088
- Decrease default test timeouts: #56116
- misc: stop hiding node_modules in vscode: #56081
- special case timeout on windows: #56120
- Turbopack: update test manifest: #56133
- More test updates: #56146
- fix(cna): pin dependency versions: #56177
- Update
swc_coretov0.83.28: #56134 - Fix middleware-general test for Turbopack: #56211
- More Turbopack test fixes: #56248
- update test mainfest: #56214
- More Turbopack fixes: #56275
- More Turbopack fixes: #56299
- misc: update code owners: #56290
- Fix flaky test for size output: #56303
- update webp crate: #56307
- Remove buildId test as it's no longer relevant: #56316
- Add code freeze GitHub actions for releasing: #56325
- test: add flaky turbopack integration tests to manifest: #56309
Credits
Huge thanks to @balazsorban44, @sdkdeepa, @aayman997, @mayank1513, @timneutkens, @2XG-DEV, @eliot-akira, @hi-matthew, @riobits, @wbinnssmith, @ijjk, @sokra, @dvoytenko, @rishabhpoddar, @manovotny, @A7med3bdulBaset, @huozhi, @jridgewell, @joulev, @SukkaW, @kdy1, @feedthejim, @Fredkiss3, @styfle, @MildTomato, @ForsakenHarmony, @walfly, @bzhn, @shuding, @boylett, @Loki899899, @devrsi0n, @ImBIOS, @vinaykulk621, @ztanner, @sdaigo, @hamirmahal, @blurrah, @omarmciver, and @alexBaizeau for helping!
Core Changes
- Revert "misc: shortcut styled-jsx in external resolution (#56291)": #56334
- Fix build output logging order: #56335
Credits
Huge thanks to @huozhi and @ijjk for helping!
Core Changes
- misc: enable source maps for bundled runtime: #56289
- misc: shortcut styled-jsx in external resolution: #56291
- Support serverRuntimeConfig and publicRuntimeConfig in Turbopack: #56310
- Reland static prefetches & fix prefetch bailout behavior: #56228
- fix(#53190): add missing crossOrigin to assetsPrefix resources: #56311
- misc: fix instrumentation with bundled server: #56318
- fix(next/client): keep hash when navigating from app to pages router: #56223
- fix: support both decoded and encoded url requests of conventioned files : #56187
- fix: Invalid URL (404) provided on server actions error: #56323
Documentation Changes
- Update image.mdx: #56269
- Update image.mdx: #56266
Example Changes
- fix: typo in
with-stripe-typescriptexample: #56274
Misc Changes
- More Turbopack fixes: #56299
- misc: update code owners: #56290
- Fix flaky test for size output: #56303
- update webp crate: #56307
- Remove buildId test as it's no longer relevant: #56316
- Add code freeze GitHub actions for releasing: #56325
- test: add flaky turbopack integration tests to manifest: #56309
Credits
Huge thanks to @feedthejim, @timneutkens, @sdaigo, @huozhi, @sokra, @hamirmahal, @ztanner, @SukkaW, @ijjk, @blurrah, @omarmciver, and @alexBaizeau for helping!
Core Changes
- Drop ipc server headers filters: #56226
- only override NODE_EXTRA_CA_CERTS when using experimental https flag: #56252
- Pass same mangling option as terser to SWC minifier: #56281
- update turbopack: #56285
- clear require cache only when needed: #56198
Documentation Changes
- docs(sharp-missing-in-production.mdx): update standalone command: #56239
Example Changes
- (Examples) update Grafbase example: #54705
Misc Changes
- More Turbopack test fixes: #56248
- update test mainfest: #56214
- More Turbopack fixes: #56275
Credits
Huge thanks to @huozhi, @vinaykulk621, @ImBIOS, @ztanner, @timneutkens, @kdy1, and @sokra for helping!
Core Changes
- fix: @libsql/client build error: #56192
- chore: bump
postcss: #56225 - Add additional handling for experimental-compile: #56224
Documentation Changes
- docs(sharp-missing-in-production.mdx): update standalone command: #56191
Example Changes
- chore(examples): fix
with-jesttypes: #56193
Misc Changes
- Update
swc_coretov0.83.28: #56134 - Fix middleware-general test for Turbopack: #56211
Credits
Huge thanks to @kdy1, @devrsi0n, @balazsorban44, @timneutkens, @ImBIOS, and @ijjk for helping!
Core Changes
- Update experimental compile cache handling: #56139
- App render related code clean up: #56178
- Add support for i18n config in Turbopack: #56182
- Implement list of config options for Turbopack: #56188
- Turbopack: add support for an assetPrefix and basePath: #56058
- update turbopack: #56197
- Update supported options list to reflect #56188: #56200
- Add support for experimental.logging.level in Turbopack: #56201
- Add next.config.js options to turbopack warning file: #56207
Documentation Changes
- docs: Renamed function that is used by other name: #56170
- (docs) Document Server Actions
.bindmethod: #56164 - docs: Use
Response.jsonoverNextResponse.json: #56173 - correcting link to useSearchParams ref: #56169
Example Changes
- chore(examples): remove deprecated dependency from
with-jest: #56152
Misc Changes
- fix(cna): pin dependency versions: #56177
Credits
Huge thanks to @bzhn, @shuding, @ijjk, @balazsorban44, @joulev, @timneutkens, @boylett, @wbinnssmith, @Loki899899, and @sokra for helping!
Core Changes
- perf: add option to bundle pages externals: #56162
- Allow jest to run with use server directive: #56148
Credits
Huge thanks to @feedthejim and @huozhi for helping!
Core Changes
- Update font data: #56121
- feat(turbopack): port bloom filter to nexturbo: #55678
- Fixes performance problems due to TaskScopes: #55721
- perf: remove react dom legacy from app router: #56082
- perf: replace zod with superstruct: #56083
- perf: externalise ws for bundled server: #56095
- misc: refactor node utils: #56096
- Add support for skipTrailingSlashRedirect and skipMiddlewareUrlNormalize in Turbopack: #56147
- Add experimental.scrollRestoration for Turbopack: #56150
- misc: refactor handleExternals: #56161
Documentation Changes
- Update revalidatePath.mdx to fix confusing wording of arguments section.: #56099
Example Changes
- Chore/update with supabase demo deploy button: #52483
Misc Changes
- Decrease default test timeouts: #56116
- misc: stop hiding node_modules in vscode: #56081
- special case timeout on windows: #56120
- Turbopack: update test manifest: #56133
- More test updates: #56146
Credits
Huge thanks to @ijjk, @feedthejim, @MildTomato, @ForsakenHarmony, @walfly, @sokra, and @timneutkens for helping!
Core Changes
- fetching logging on edge: #56108
- Optimize build trace handling: #56048
Credits
Huge thanks to @huozhi and @ijjk for helping!
Core Changes
- Remove unneeded next-dev js in next-core: #56039
- Fix: Use
booleaninstead offalsefor experimental logging config: #56110 - chore: remove chalk in favor of picocolors: #55992
- Revert: "Generate prefetch RSC payload during build for SSR paths (#54403)": #56059
Credits
Huge thanks to @wbinnssmith, @Fredkiss3, @styfle, and @ijjk for helping!
Core Changes
- turbopack: improve turbopack/test stability: #56024
- Mark testmode fetches internal: #56036
- chore: Remove 'beta.' Subdomain from
beta.nextjs.orgLinks: #55924 - Remove experimental.sharedPool: #56021
- fix(worker): pass env to build worker w/
config.experimental.workerThreads: #55257 - Update
swc_coretov0.83.26: #55780 - Revert "Update
swc_coretov0.83.26": #56077 - fix reporting of illegal segments when directory only contains irrelevant files: #56076
- Make
permanentRedirectreturn 308 in route handlers: #56065
Documentation Changes
- Updates "Prerender Error" page for App Router: #56044
- Add the default import alias to create-next-app prompt for clarity: #55896
Example Changes
- Update to with-supertokens example app: #56035
- Update dependencies in examples : #55993
Misc Changes
- Skip production tests for Turbopack: #56045
- Fix invalid build-and-test workflow: #56053
- turbopack: Add more skipped tests: #56052
- Skip next build test: #56079
- add flakey test: #56080
- Skip more production tests for turbopack: #56084
- Ensure tests suites have unique names: #56085
- Skip experimental.nextScriptWorkers test for Turbopack: #56086
- Skip production tests for Turbopack: #56089
- Skip Babel tests for Turbopack: #56091
- misc: add node-version file: #55938
- Ensure unique name for app dir css tests: #56088
Credits
Huge thanks to @sokra, @dvoytenko, @rishabhpoddar, @manovotny, @A7med3bdulBaset, @timneutkens, @ijjk, @huozhi, @mayank1513, @jridgewell, @joulev, @SukkaW, @kdy1, and @feedthejim for helping!
Core Changes
- chore: NextJS -> Next.js: #55961
- fix-failed-to-generate-self-signed-certificate issue:#55891: #55947
- Remove .test.js from dist: #55946
- Turbopack next/font/google: don't insert css rules for multiple weights or styles: #55852
- Fix stale revalidate stream handling: #55978
Documentation Changes
- docs: add
not-foundto file conventions page: #55944 - Update 03-linking-and-navigating.mdx: #55907
- docs: Correct place for passing
extensionoption tocreateMDX(): #55967 - docs-55629 update router cache column in cache interactions api table: #55630
- Update 03-linking-and-navigating.mdx: #55969
Example Changes
- chore(examples): bump dependency versions: #55899
Credits
Huge thanks to @balazsorban44, @sdkdeepa, @aayman997, @mayank1513, @timneutkens, @2XG-DEV, @eliot-akira, @hi-matthew, @riobits, @wbinnssmith, and @ijjk for helping!
Core Changes
- only put css in entry_css_files: #55585
- update taskfile to generate types during
build: #55628 - refactor: use
fs.existsSyncinstead ofaccessSync: #55675 - Capitalize compiling log: #55685
- Split prerending by route kind: #55622
- turbopack: Update the
next/dist/esmrewriteResolvePlugin: #55689 - refactor: modernize get-online with dns/promises: #55674
- ensure
fetchServerResponseis a valid record when stored in router cache: #55690 - fix(react-refresh-utils): avoid memory leaks caused by prevExports: #53797
- fix(ts): allow auto-import of
next/navigation: #55743 - remove --watch from
generate_typestask: #55748 - Remove the left padding in
next infooutput: #55704 - test(turbopack): remove escape hatches for custom turbopack bindings: #55757
- fix: Invoke cancel, only if the stream is not closed: #55684
- Revert "fix: Invoke cancel, only if the stream is not closed (#55684)": #55764
- fix thenable types & update another incorrect cache record: #55758
- turbopack: Rewrite ESM modules to CJS during client transition: #55693
- Fix output log extra new line: #55770
- Remove unused internal env var: #55762
- fix Image when used with
--experimental-https: #55775 - chore: update turbopack to
turbopack-230922.2: #55828 - Move DefineEnv to separate file: #55811
- Remove legacy checks for unstable_getXProps: #55813
- Remove next-typescript check in webpack config: #55819
- Correctly mark turbo sessions in telemetry: #55835
- feat(turbopack): construct output path with distDir next.js config: #55613
- Remove extra type: #55837
- Update rust toolchain to nightly-2023-09-21: #55774
- Remove unused internal env var: #55762
- fix Image when used with
--experimental-https: #55775 - chore: update turbopack to
turbopack-230922.2: #55828 - Move DefineEnv to separate file: #55811
- Remove legacy checks for unstable_getXProps: #55813
- Remove next-typescript check in webpack config: #55819
- Correctly mark turbo sessions in telemetry: #55835
- feat(turbopack): construct output path with distDir next.js config: #55613
- Remove extra type: #55837
- Update rust toolchain to nightly-2023-09-21: #55774
- Ensure next-swc-loader types are used: #55846
- Use swc for runtime bundling: #55842
- fix bugs pertaining to server actions + navigation: #55853
- Ensure opentelemetry mismatched version error bubbles: #55868
- test: re-enabled the disabled manifest test: #55810
- Remove unnecessary Object.assign: #55882
- Move experimental.runtime warning to config loading: #55880
- Add experimental.strictNextHead to Turbopack: #55915
- Loose types of app routes return value: #55849
- Add trailingSlash, basePath, and assetPrefix to Turbopack: #55921
- app router: ensure static prefetch renders loading.js: #55950
Documentation Changes
- add tip for case sensitivity of imports: #55662
- Docs - Fix VSCode Full Stack Debugging Regex Pattern: #55670
- Feedback: Remove line saying server actions is dynamic-only: #55746
- Update 01-pages-and-layouts.mdx: #55795
- fix typo in API Reference - Image Component: #55776
- Update 01-pages-and-layouts.mdx: #55795
- fix typo in API Reference - Image Component: #55776
- docs:
useFormState: #55564 - Update 10-testing.mdx: #55801
- Revert "fix typo in API Reference - Image Component": #55889
- Fix missing async keyword in function declaration: #55887
- docs: Add note that Server Actions work with static routes: #55626
- docs: Add example on query parameters in route handlers: #55789
Example Changes
- Fix/upgrade examples with clerk: #55676
- Fix/upgrade examples data fetch: #55695
Misc Changes
- Upgrade to latest NAPI-RS infra: #55505
- ci(tests): enable turbopack /e2e tests: #55681
- chore: bump
nissuer: #55723 - improve CI log: #55736
- fix(cna): separate
dependencies/devDependencies: #55730 - misc: improve profiling script: #55732
- test(fixture): prevent start failure teardowns whole process: #55760
- Update fnm setup for CI: #55765
- test(turbopack): explicitly clean up instance for turbopack: #55772
- Update flakey next-image tests: #55838
- Update flakey next-image tests: #55838
- Allow filtering individual test cases inside test files: #55786
- Move client-navigation test to test/development: #55888
- Ensure Turbopack passing test list is sorted: #55948
Credits
Huge thanks to @sokra, @ztanner, @anonrig, @huozhi, @mayank1513, @travisanderson, @wyattjoh, @jridgewell, @ryanagillie, @Brooooooklyn, @kwonoj, @balazsorban44, @naruaway, @S3Prototype, @feedthejim, @joulev, @icyJoseph, @ijjk, @ForsakenHarmony, @timneutkens, @wbinnssmith, @sdkdeepa, @sdaigo, @leerob, @dominiksipowicz, @joao-vasconcelos, and @mostafaegouda for helping!
Core Changes
- Ensure opentelemetry mismatched version error bubbles: #55868
- test: re-enabled the disabled manifest test: #55810
- Remove unnecessary Object.assign: #55882
- Move experimental.runtime warning to config loading: #55880
- Add experimental.strictNextHead to Turbopack: #55915
- Loose types of app routes return value: #55849
- Add trailingSlash, basePath, and assetPrefix to Turbopack: #55921
- app router: ensure static prefetch renders loading.js: #55950
Documentation Changes
- Revert "fix typo in API Reference - Image Component": #55889
- Fix missing async keyword in function declaration: #55887
- docs: Add note that Server Actions work with static routes: #55626
- docs: Add example on query parameters in route handlers: #55789
Misc Changes
- Move client-navigation test to test/development: #55888
- Ensure Turbopack passing test list is sorted: #55948
Credits
Huge thanks to @timneutkens, @huozhi, @dominiksipowicz, @joao-vasconcelos, @mostafaegouda, @joulev, and @feedthejim for helping!
Core Changes
- Remove unused internal env var: #55762
- fix Image when used with
--experimental-https: #55775 - chore: update turbopack to
turbopack-230922.2: #55828 - Move DefineEnv to separate file: #55811
- Remove legacy checks for unstable_getXProps: #55813
- Remove next-typescript check in webpack config: #55819
- Correctly mark turbo sessions in telemetry: #55835
- feat(turbopack): construct output path with distDir next.js config: #55613
- Remove extra type: #55837
- Update rust toolchain to nightly-2023-09-21: #55774
- Ensure next-swc-loader types are used: #55846
- Use swc for runtime bundling: #55842
- fix bugs pertaining to server actions + navigation: #55853
Documentation Changes
- Update 01-pages-and-layouts.mdx: #55795
- fix typo in API Reference - Image Component: #55776
- docs:
useFormState: #55564 - Update 10-testing.mdx: #55801
Misc Changes
- Update flakey next-image tests: #55838
- Allow filtering individual test cases inside test files: #55786
Credits
Huge thanks to @huozhi, @ztanner, @ForsakenHarmony, @timneutkens, @wbinnssmith, @kwonoj, @ijjk, @sdkdeepa, @sdaigo, @leerob, @jridgewell, and @wyattjoh for helping!
Core Changes
- Remove unused internal env var: #55762
- fix Image when used with
--experimental-https: #55775 - chore: update turbopack to
turbopack-230922.2: #55828 - Move DefineEnv to separate file: #55811
- Remove legacy checks for unstable_getXProps: #55813
- Remove next-typescript check in webpack config: #55819
- Correctly mark turbo sessions in telemetry: #55835
- feat(turbopack): construct output path with distDir next.js config: #55613
- Remove extra type: #55837
- Update rust toolchain to nightly-2023-09-21: #55774
Documentation Changes
- Update 01-pages-and-layouts.mdx: #55795
- fix typo in API Reference - Image Component: #55776
Misc Changes
- Update flakey next-image tests: #55838
Credits
Huge thanks to @huozhi, @ztanner, @ForsakenHarmony, @timneutkens, @wbinnssmith, @kwonoj, @ijjk, @sdkdeepa, and @sdaigo for helping!
Core Changes
- fix(react-refresh-utils): avoid memory leaks caused by prevExports: #53797
- fix(ts): allow auto-import of
next/navigation: #55743 - remove --watch from
generate_typestask: #55748 - Remove the left padding in
next infooutput: #55704 - test(turbopack): remove escape hatches for custom turbopack bindings: #55757
- fix: Invoke cancel, only if the stream is not closed: #55684
- Revert "fix: Invoke cancel, only if the stream is not closed (#55684)": #55764
- fix thenable types & update another incorrect cache record: #55758
- turbopack: Rewrite ESM modules to CJS during client transition: #55693
- Fix output log extra new line: #55770
Documentation Changes
- Feedback: Remove line saying server actions is dynamic-only: #55746
Example Changes
- Fix/upgrade examples data fetch: #55695
Misc Changes
- chore: bump
nissuer: #55723 - improve CI log: #55736
- fix(cna): separate
dependencies/devDependencies: #55730 - misc: improve profiling script: #55732
- test(fixture): prevent start failure teardowns whole process: #55760
- Update fnm setup for CI: #55765
- test(turbopack): explicitly clean up instance for turbopack: #55772
Credits
Huge thanks to @balazsorban44, @naruaway, @sokra, @S3Prototype, @ztanner, @feedthejim, @mayank1513, @joulev, @kwonoj, @icyJoseph, @jridgewell, @ijjk, and @huozhi for helping!
Core Changes
- only put css in entry_css_files: #55585
- update taskfile to generate types during
build: #55628 - refactor: use
fs.existsSyncinstead ofaccessSync: #55675 - Capitalize compiling log: #55685
- Split prerending by route kind: #55622
- turbopack: Update the
next/dist/esmrewriteResolvePlugin: #55689 - refactor: modernize get-online with dns/promises: #55674
- ensure
fetchServerResponseis a valid record when stored in router cache: #55690
Documentation Changes
- add tip for case sensitivity of imports: #55662
- Docs - Fix VSCode Full Stack Debugging Regex Pattern: #55670
Example Changes
- Fix/upgrade examples with clerk: #55676
Misc Changes
- Upgrade to latest NAPI-RS infra: #55505
- ci(tests): enable turbopack /e2e tests: #55681
Credits
Huge thanks to @sokra, @ztanner, @anonrig, @huozhi, @mayank1513, @travisanderson, @wyattjoh, @jridgewell, @ryanagillie, @Brooooooklyn, and @kwonoj for helping!
Core Changes
- Remove link to closed discussion: #55596
- test(turbopack) migrate api tests, few image tests: #55552
- fix: handle string nodejs signals: #55606
- Update React from d6dcad6a8 to 2807d781a: #55590
- Simplified ensure promise handling: #55562
- chore: bump
@vercel/ogandsatori: #55654 - Fix header resent when error occured: #55619
- Add additional cleanup logic for forked process: #55652
- Polish error icon for error log: #55618
- Fix importing name multiple times with the
named_importtransform: #55664
Documentation Changes
create-next-apptemplates: Changebun run devcommands tobun dev: #55603- docs: move optimizePackageImports to experimental: #55614
- fix(docs): internationalization middleware example: #55645
Example Changes
- fix: examples/with-fauna/package.json to reduce vulnerabilities: #55594
- fix: examples/with-grafbase/package.json to reduce vulnerabilities: #55593
- chore(examples): upgrade next-translate dependencies: #55637
Misc Changes
- chore: run repro validation only on bug reports: #55610
- Run unit tests in a separate job: #55621
- Run unit tests in a single job run: #55625
Credits
Huge thanks to @padmaia, @mayank1513, @jakeboone02, @balazsorban44, @kwonoj, @huozhi, @Yovach, @ztanner, @wyattjoh, @GabenGar, @timneutkens, and @shuding for helping!
Core Changes
- Fix header resent when error occured: #55619
- Add additional cleanup logic for forked process: #55652
- Polish error icon for error log: #55618
- Fix importing name multiple times with the
named_importtransform: #55664
Credits
Huge thanks to @huozhi, @timneutkens, and @shuding for helping!
Core Changes
- chore: bump
@vercel/ogandsatori: #55654
Documentation Changes
- fix(docs): internationalization middleware example: #55645
Credits
Huge thanks to @GabenGar and @balazsorban44 for helping!
Core Changes
- Remove link to closed discussion: #55596
- test(turbopack) migrate api tests, few image tests: #55552
- fix: handle string nodejs signals: #55606
- Update React from d6dcad6a8 to 2807d781a: #55590
- Simplified ensure promise handling: #55562
Documentation Changes
create-next-apptemplates: Changebun run devcommands tobun dev: #55603- docs: move optimizePackageImports to experimental: #55614
Example Changes
- fix: examples/with-fauna/package.json to reduce vulnerabilities: #55594
- fix: examples/with-grafbase/package.json to reduce vulnerabilities: #55593
- chore(examples): upgrade next-translate dependencies: #55637
Misc Changes
- chore: run repro validation only on bug reports: #55610
- Run unit tests in a separate job: #55621
- Run unit tests in a single job run: #55625
Credits
Huge thanks to @padmaia, @mayank1513, @jakeboone02, @balazsorban44, @kwonoj, @huozhi, @Yovach, @ztanner, and @wyattjoh for helping!
Core Changes
- Update font data: #54257
- add experimental https support to next dev: #54016
- Fix emotion-js transform for server components: #54284
- Handle basePath for redirect(): #54277
- Remove unused array in router-server: #54278
- app-router: tweak prefetch cache status heuristics: #53864
- Adds nonce to preinit scripts: #54059
- Fix default export of server action utility aliases: #54254
- fix: improve error message when
output: exportin app router: #54202 - ci(trace): allow to opt in to upload full trace: #54347
- fix: server actions blocking navigation events: #54307
- Skip getStaticPaths check for non-dynamic app routes: #54351
- OpenTel: ensure that exceptions are recorded on an active span: #54131
- Testmode: intercept rewrite fetches: #54259
- Polyfill Array.prototype.at: #44436
- Fix missing locale info for middleware data request: #54357
- fix: minimum node version 16.14.0: #54331
- Merge app renderer process: #54143
- Fix data route ordering in dev: #54364
- fix(app): enable React Strict Mode by default: #53375
- Fix swc compiling of client components when directive appears later than exports: #54392
- Upgrade vendored react: #54399
- Code clean up: #54405
- Upgrade precompiled
ua-parser-js: #54404 - Fix compilation of next/dynamic with
ssr: falsein App Router: #54411 - refactor: Use swc AST to determine use client and server directives: #54358
- Fix not found css not being preloaded while navigation: #53906
- Optimize webpack memory cache garbage collection: #54397
- Use push for Server Action redirections: #54458
- Decreased watchpack aggregate timeout: #54461
- Generate prefetch RSC paylod during build for SSR paths: #54403
- remove HMR polling in favor of more targeted events: #54406
- Trace upload fixup: #54455
- fix: custom incremental cache handlers should work when transpiled: #54472
- upgrade Edge Runtime dependency: #54489
- fix infinite navigate events when Promise is proxied: #54394
- Implement
named_import_transform: #54530 - fix resolve routes behavior when matching a dynamic segment: #54539
- Turbopack: add edge support for pages apis: #54449
- chore(eslint): bump ESLint plugins: #54490
- Skip copying signal field for revalidate: #54533
- Fix missing new line for certain logs: #54442
- update turbopack: #54558
- fix(DX): More precise error messages for export const config deprecation: #54492
- Revert "Decreased watchpack aggregate timeout": #54515
- Forms and mutations docs.: #54314
optimize_barrelSWC transform and newoptimizePackageImportsconfig: #54572- Reuse edgeConditionNames variable: #54594
- Update font data: #54585
- Add cleanup logic to worker.ts: #54500
- chore: add extra error info for rsc info helper: #54609
- Fix router CPU profiling: #54497
- Turbopack: add middleware support for next.rs api dev mode: #54555
- Rename hot-reloader to hot-reloader-webpack: #54628
- Implement hot-reloader interface: #54629
- Remove this as any cases: #54642
- Implement hot reloader interface for Turbopack: #54632
- Fix weight values above 900 not working with Google Fonts: #54339
- add support for app pages to next.rs api: #54668
- Remove unused cssnano-simple file: #54658
- File Reader Improvements: #54645
- Add new
permanentRedirectfunction in App Router: #54047 - Default app router not found : #54199
- Cleanup of /_next/data handling in server: #54689
- Trace uploader: fix git binary on windows: #54580
- fix(next/image): import error
preloadis not exported fromreact-dom: #54688 - turbopack: should only create _not-found when path_prefix is root: #54687
- fix app routes: #54701
- refactor: share utils and optimize segments normalization: #54611
- Improve barrel optimizer with loader caching and wilcard exports: #54695
- Move getBabelConfigFile to separate file: #54716
- Reimplement getBabelConfigFile to be simpler: #54741
- Fix memory watcher reboot: #54760
- Misc Typescript updates: #54734
- Fix unexpected full hmr reload when editing _app: #54690
- update turbopack: #54768
- Use variable for common isNodeOrEdgeCompilation condition: #54763
- Turbopack: Implement HMR in next-api : #54772
- Add
@visx/visxto the import optimization list: #54778 - Remove experimental.appDir as it's stable: #54785
- Short circut 404's for /favicon.ico in development: #54747
- Remove additional appDir checks: #54788
- Remove experimental.pageEnv: #54789
- Update list of Next.js options in next.rs: #54798
- Fixes for Turbopack HMR: #54790
- Fix the build manifest path for
/: #54744 - Allow any number of onFetch handlers for a single test: #54846
- Update @vercel/og to latest: #54849
- fix(turbopack): edge api entry path should not have
/routesuffix: #54851 - Don't send tracing spans if performance.measure doesn't return measurements: #54808
- Fix performance measures crashing the app #54858
- Update tag handling for app cache: #53321
- Simplify getPagePaths logic: #54908
- Debug tracing: time devserver startup: #54537
- Update turbopack: #54909
- Add types for hot reloader send method: #54932
- Fix typo in hot-reloader: #54944
- Ensure that barrel files behind wildcards are transformed into shortpath: #54951
- Fix group routes custom root not-found: #54931
- fix: server actions firing twice after navigation: #54948
- docs: fix document format for next_private_export_map: #54952
- Unify serverError hmr event: #54962
- Add serverError action to list of HMR events: #54964
- fix(next-swc): skips client/server only checks when running with Jest to unblock testing: #54891
- Remove pong HMR event as it is not used: #54965
- Add turbopack-connected HMR event: #54976
- Redesign nextjs logging: #54713
- chore: bump
undici: #55007 - chore: restore options to opt-in for server-side transpilation: #55010
- upgrade edge-runtime: #55005
- [functions-config-manifest] use correct extra config for pages router: #54786
- Client-side HMR message types: #55009
- perf: use split chunks for the node server: #54988
- Remove
react-hot-toastfrom the optimizePackageImports list: #55029 - Experimental server optimization: #54925
- Fix duplicated dynamic metadata routes in dev mode: #55026
- Adjust
optimizePackageImports: #55040 - server: enable minification by default: #54960
- webpack: tweak config for split chunks: #55054
- fix(perf): lazy load
babel/code-frame: #55024 - remove --turbo, use --experimental-turbo as --turbo: #55063
- fix:
skipTrailingSlashRedirectbeing ignored inpages: #55067 - Debug tracing: include session and anonymous ids: #55021
- Next SWC: Constrain Vc cell values with
Send: #55077 - test(next-dev): migrate styled-jsx integration test: #55079
- perf: add bundled rendering runtimes: #52997
- chore: add structured app page path type: #55070
- Fixed i18n data route RegExp: #55109
- chore: upgrade to TypeScript 5.2.2: #55105
- fix: ensure mpa navigation render side effects are only fired once: #55032
- Revert "perf: add bundled rendering runtimes (#52997)": #55117
- Strip internal routing headers: #55114
- Add option to support log full request url in verbose mode: #55111
- Filter out pages tree view for app dir only output: #55120
- Check for type of route handler returned value at build time (via the TS plugin) and at runtime: #51394
- Set test headers via page.router API: #55087
- server: re-land bundled runtimes: #55139
- feat(turbopack): add dynamic metadata support: #54995
- server: require hook hotfix : #55146
- Revert swc versions to one that doesn't use lightningcss: #55148
- feat: support expanding urls in nexturbo (and fix static files): #55147
- Update font data: #55155
- server: remove turbopack-specific code when compiling with webpack: #55226
- Ensure
ImageResponseextendsResponse: #55187 - Remove render workers in favor of esm loader: #54813
- test(turbopack): migrate 404-related tests from next-dev: #55243
- feat: add reserved port validation: #55237
- build: fix externals resolution when importing from next/dist: #55269
- Make open editor icon size non-shrink in error overlay: #55273
- build: fix minimal trace caching: #55279
- reafactor: renamed pathname -> page: #55282
- feat(next-dev): reenable turbopack beta message: #55116
- Add libsql to external package list: #55266
- fix: removed unused intercepting route definition references: #55285
- refactor(next-font): use next-transform-font: #55252
- Remove unused option and unified ready message into start server: #55289
- remove
--experimental-turbofrom supported next-dev args: #55300 - test(next-dev): clean up 404 tests: #55292
- Use NextJsHotReloaderInterface in router-server: #55317
- server: switch pages to react dom edge renderer: #55318
- Logging improvements: #55298
- Updates Mozilla links to not include language preference: #55326
- fix
react-server-dom-webpackcache invalidation: #55287 - docs: add explicit units to isrMemoryCacheSize option: #55108
- feat(turbopack): attach type metadata for static metadata item: #55340
- fix duplicated error logging when start server: #55328
- Revert react-server-dom require change: #55345
- fix turbopack HMR, fix disconnect detection: #55361
- Fix CPU profile generation: #55365
- fix memory leak in require.cache cleanup: #55377
- WEB-1135: Update examples and schema for Turbopack loaders config change: #54584
- feat(turbopack): support next.js specific node polyfills: #55343
- Turbopack: Allow Pages entrypoint template to import user's
.tsfiles: #55296 - Revert "feat(turbopack): support next.js specific node polyfills": #55385
- Remove leftover worker code and types: #55383
- run validation logic for TURBOPACK too: #55379
- more turbopack HMR fixes and test case: #55368
- Revert "Revert react-server-dom require change": #55382
- Set standalone server default hostname to
0.0.0.0: #54445 - Revert "Revert "feat(turbopack): support next.js specific node polyfills"": #55392
- Update React from dd480ef92 to d6dcad6a8.: #55399
- Memoize serverDistDir generation: #55375
- Remove IncomingMessage type where unused: #55387
- Remove unused file: #55378
- Update useParams typing to assume a given shape: #55126
- Remove setLazyProp from the hot path of all requests: #55391
- fix: server actions initiated from static pages: #51534
- Turbopack: log hmr compile changes: #55406
- fix: server actions initiated from static pages: #51534
- Turbopack: log hmr compile changes: #55406
- Update turbopack: #55402
- fix: sort imports to ensure consistent hash: #55358
- fix manifest load errors when using assetPrefix: #55416
- Turbopack: remap
next/headon client in App Pages: #55419 - Ensure etags are not generated for static files when disabled: #55376
- use atomic writes to avoid seeing incomplete files: #55424
- fix server-side changes events: #55437
- server: bundle vendored react: #55362
- fix: move sort to loader to also sort query string: #55425
- Don't log error about root_task_dispose: #55458
- Skip JSON.parse in loadClientReferenceManifest: #55457
- Restrict useFormState in Server Components: #55417
- Generate middlewareManifestPath only once: #55489
- Test Mode: report onFetch interceptions in the test: #55456
- Turbopack: Setup HMR for client-only changes in App dir: #55464
- Remove esm loader: #55509
- update turbopack: #55515
- Remove process.env reading in require hook: #55520
- Allow server-only in server targets and client-only in client components targets to be available: #55394
- Make useSearchParams and useParams compatible between app and pages router: #55280
- fix(next-core): enable image extensions: #55460
- build: add aliases for react-dom/server usage in server bundles: #55536
- fix: run turbopack in forked process: #55545
- fix next.js own build on windows: #55544
- Fix notFound status code with ISR in app: #55542
- Disable client-only for middleware and pages api layer: #55541
- Fix missing module.compiled trace file and unhandledRejection in ensurePage: #55553
- Add
mui-coreto the defaultoptimizePackageImportslist: #55554 - Consolidate experimental React opt-in & add
pprflag: #55560 - Add react-icons to optimizePackageImports: #55572
- Fix useState function initialiser case for
optimize_server_reacttransform: #55551 - Update supported config options for Turbopack: #55556
- Fix react packages are not bundled for metadata routes: #55579
- improve internal error logging: #55582
- fix styled-jsx alias: #55581
Documentation Changes
- docs: Bump minimum Node.js version to 16.14: #54285
- Docs: Fix broken links: #54340
- Docs: Add notes that revalidation is not available in the Edge runtime / only Node.js: #54338
- Docs: Update template.js section: #54370
- Docs: Clarify status codes w/ streaming: #54374
- Docs: Document
manifestmetadata file: #54380 - Docs: Refer users to IDE or MDN for manifest object options: #54385
- Docs: Remove runtime configuration from /app docs: #54336
- docs: Remove unneeded word in caching docs: #54451
- docs: Add
next-i18n-routeras a resource for internationalized routing: #52344 - Update 10-testing.mdx: #54107
- docs: Rewrite Rendering Section and React Essentials Page: #51579
- Docs: Fix formatting issues in the rendering docs: #54517
- docs: fix broken link missing leading slash: #54520
- docs: Add missing parameters to both
useSelectedLayoutSegment&useSelectedLayoutSegments: #53602 - chore(docs): add example of sanity image to
loaderFileconfig: #54529 - docs: fix source files hash calculation: #54509
- docs: update 10-route-handlers.mdx: #54605
- Docs: Update Edge runtime and data revalidation information: #54499
- Update revalidatePath to revalidateTag: #54633
- docs: Add JS code snippets for forms: #54577
- docs: updates generateMetadata function signature: #54638
- docs: fix small typo: #54656
- Update revalidatePath.mdx: #54631
- Fixed typo in Building your application > 03. Rendering section: #54764
- (Docs) Add missing JS-Code, cookies function names updated accordingly.: #54703
- docs: clarify data type in Forms and Mutations section: #54630
- docs: Change Vite guide title: #54774
- docs: remove typo in
use-selected-layout-segments.mdx: #54767 - chore: verify missing/invalid/private reproduction links: #54724
- docs: fix syntax error in i18n example code block: #54749
- docs: Add JS/TS code switchers to Middleware: #54726
- docs: define router instance in code block: #54707
- Fix typo in description of error.js: #54933
- docs: Minor formatting fix in Pages Router SSG: #54915
- docs: add
maxDurationin API Routes config: #54844 - docs: add missing word in client components: #54830
- docs: Clarify the ability to access current route segments in layouts: #53349
- docs: Update Vercel YouTube channel url: #54912
- docs: Move general info about next.config.* to its index page: #53542
- docs: Fix typo in app/building-your-application/caching: #54841
- docs: Add template API reference: #54938
- Update eslint dependencies note in docs: #55023
- docs: Fix typo in getting-started/project-structure: #55035
- docs: fix typo: #54973
- docs: add missing quotation mark: #54968
- docs: Remove
appreference onpagesdoc for runtimes.: #55058 - docs: example of generated nonce to use base64 encoding as per spec: #55039
- Update 01-server-components.mdx: #55085
- docs: fix nested list: #55178
- docs: use
satisfiesfor TypeScript code blocks: #55205 - docs: satisfies follow up: #55234
- Fix typo: #55245
- docs: clarify setting cookies docs: #55149
- Update docs for revalidatePath fix: #55083
- Update route-segment-config.mdx for fix broken link: #55212
- docs: Add some App Router FAQs: #55186
- Update 03-forms-and-mutations.mdx: #55386
- docs:
optimizePackageImports: #55185 - docs: Update streaming section.: #55408
- Add route groups example to revalidatePath doc: #55543
- chore: Fix heading hierarchy in revalidateTag documentation: #55470
- chore: replace issue triaing actions with
nissuer: #55525
Example Changes
- Update Contentful example for App Router.: #54205
- set hostname to 0.0.0.0: #54342
- (Example) Add CMS Sitecore XM Cloud Example: #54535
- updated sitecore deploy button: #54678
- (Example) Update with-segment-analytics to use segmentio/analytics-next and app layout: #52327
- update dependencies: #53334
- example: Add
elements.update()to ensure latest payment amount is reflected: #54848 - fix: Fix grammar issues on README.md: #54921
- Fix: slug type issue: #54616
- chore: upgrade playwright example: #53584
- Update Jest and Vitest example for App Router.: #54989
- examples: Update strict-csp example with better nonce: #55131
- Fix/security: #55189
- examples: upgrade @makeswift/runtime from 0.2.2 to 0.10.13: #55203
- examples: update KeystoneJS version: #55201
- fix: upgrade recoil from 0.7.6 to 0.7.7: #55222
- chore(examples): upgrade
@keystone-next/keystone: #55210 - fix: upgrade date-fns from 2.28.0 to 2.30.0: #55274
- fix: upgrade sharp from 0.29.3 to 0.32.5: #55254
- fix: upgrade react-native-web from 0.11.7 to 0.19.7: #55221
- fix: upgrade @emotion/css from 11.10.0 to 11.11.2: #55352
- example: fix example error: #54599
- fix: examples/cms-keystonejs-embedded/package.json to reduce vulnerabilities: #55354
- Hotfix for missing application/json header in Prepr example: #55517
- Type Error on Event Type payment_intent webhook: #55493
- Correct spelling in playwright docs: #55557
Misc Changes
- Add test for using custom font in metadata image routes: #54274
- Update
swc_coretov0.79.69: #54190 - docs: update a small typo in
02-app/01-building-your-application/06-optimizing/01-images.mdx: #54311 - update readme in nextjs testing: #54322
- add test case for CSP with bootstrap scripts and preinit modules: #54348
- Fix windows next-swc builds: #54353
- test: add case for marking _document with edge runtime: #54316
- Update timeout for release stats: #54363
- Update
swc_coretov0.79.70: #54368 - chore(ci): add socket.yaml: #54446
- Update install-native script to avoid pnpm cache: #54462
- Fix failing TS test from new release: #54523
- Enable verbose logging for turbo in CI: #54525
- Update flakey image component tests: #54526
- Update runner labels for PR stats: #54524
- chore(ci): emit env vars that impact ci results: #54534
- Break-up install and build steps for PR stats: #54536
- Update release stats install/build executing: #54576
- Add missing install env for release stats: #54581
- modify bench scripts to not conflict with dev task: #54600
- Implement granular rust caching: #54582
- chore: update gitattributes with linguist-vendored: #54683
- Consider cargo config in granular cache key: #54700
- Updating Third party capital version. : #54418
- chore: label invalid issues: #54826
- chore: update triaging docs: #54828
- use pnpm for
next-with-deps: #54847 - chore: fix autolabeler: #54916
- Update codeowners: #54966
- Update ready check for PR stats: #55022
- chore(ci): bump pnpm v8.6.11 to v8.7.1: #54873
- test: merge base path tests: #55069
- Update pull_request_template.md: #55098
- Reenable app-static usePathname tests: #55065
- enable all passing turbopack tests for CI: #55100
- test(nexttestsetup): teardown nextinstance gracefully: #55144
- tests(next-dev): migrate basic tailwind tests for turbopack: #55118
- test(fixture): improve finding ports to reduce flaky: #55151
- Test with latest
node@18: #54000 - fix: upgrade listr2 from 5.0.5 to 5.0.8: #55223
- Update codeowners: #55355
- fix: added support for tests to add resolutions for deps: #55398
- Update
swc_coretov0.83.12: #55216 - add test for turbopack refresh error: #55447
- fix inconsistency with pnpm lockfile: #55440
- chore: remove replay from issue template: #55397
- test(integration): fix --turbo tests fixture setup: #55293
- Disable flakey middleware-dev-error test: #55539
- test(turbopack): enable async storage tests: #55413
- docs: add bun run dev command to template readme for create-next-app: #55504
- chore(third-parties): replace rimraf with rm.mjs: #55547
Credits
Huge thanks to @ztanner, @huozhi, @icyJoseph, @kdy1, @timneutkens, @feedthejim, @nbhargava, @shuding, @lauthieb, @leerob, @styfle, @tonskton, @delbaoliveira, @m4salah, @gnoff, @kwonoj, @ijjk, @dvoytenko, @sloanesturz, @balazsorban44, @wyattjoh, @wbinnssmith, @dcporter44, @Kikobeats, @uzairali001, @A7med3bdulBaset, @sokra, @ClementDreptin, @vvo, @Vector73, @ah100101, @chanyeinthaw, @emiliosheinz, @dikaio, @indraantoor, @steven-tey, @krychaxp, @smaeda-ks, @janicklas-ralph, @EdPutans, @vinaykulk621, @michaelangeloio, @mateuszaliyev, @lukebussey, @jridgewell, @Xvezda, @Aryan9592, @sadaffathali, @mayank1513, @ForsakenHarmony, @jsteele-stripe, @okoyecharles, @rob-johansen, @imageck, @ecklf, @Sylith1231, @SonMooSans, @rousan, @robertwbradford, @hiddenest, @innowhat, @sand4rt, @feugy, @ryota-murakami, @hyeewooon, @mewcoder, @CSY54, @csi-lk, @daltonmcphaden, @sidgaikwad, @joulev, @danaugrs, @olingern, @penberg, @sdaigo, @manovotny, @arsenykruglikov, @remorses, @alexandreferreirafr, @acdlite, @li-jia-nan, @wesleydebruijn, @Kevintjuhz, @ytkg, @roigecode, @hoop71, @romeobravo, and @padmaia for helping!
Misc Changes
- improve publish-release: #55597
Credits
Huge thanks to @sokra for helping!
Core Changes
- Fix missing module.compiled trace file and unhandledRejection in ensurePage: #55553
Example Changes
- Type Error on Event Type payment_intent webhook: #55493
- Correct spelling in playwright docs: #55557
Credits
Huge thanks to @roigecode, @hoop71, and @ijjk for helping!
Core Changes
- fix next.js own build on windows: #55544
- Fix notFound status code with ISR in app: #55542
- Disable client-only for middleware and pages api layer: #55541
Documentation Changes
- Add route groups example to revalidatePath doc: #55543
Misc Changes
- chore(third-parties): replace rimraf with rm.mjs: #55547
Credits
Huge thanks to @sokra, @ijjk, @styfle, and @huozhi for helping!
Core Changes
- fix(next-core): enable image extensions: #55460
- build: add aliases for react-dom/server usage in server bundles: #55536
- fix: run turbopack in forked process: #55545
Misc Changes
- chore: remove replay from issue template: #55397
- test(integration): fix --turbo tests fixture setup: #55293
- Disable flakey middleware-dev-error test: #55539
- test(turbopack): enable async storage tests: #55413
- docs: add bun run dev command to template readme for create-next-app: #55504
Credits
Huge thanks to @balazsorban44, @kwonoj, @ijjk, @feedthejim, @ytkg, and @ForsakenHarmony for helping!
Core Changes
- Allow server-only in server targets and client-only in client components targets to be available: #55394
- Make useSearchParams and useParams compatible between app and pages router: #55280
Example Changes
- Hotfix for missing application/json header in Prepr example: #55517
Credits
Huge thanks to @huozhi and @Kevintjuhz for helping!
Core Changes
- update turbopack: #55515
- Remove process.env reading in require hook: #55520
Credits
Huge thanks to @sokra and @timneutkens for helping!
Core Changes
- Turbopack: Setup HMR for client-only changes in App dir: #55464
- Remove esm loader: #55509
Credits
Huge thanks to @jridgewell and @ijjk for helping!
Core Changes
- Restrict useFormState in Server Components: #55417
- Generate middlewareManifestPath only once: #55489
- Test Mode: report onFetch interceptions in the test: #55456
Documentation Changes
- docs:
optimizePackageImports: #55185 - docs: Update streaming section.: #55408
Misc Changes
- fix inconsistency with pnpm lockfile: #55440
Credits
Huge thanks to @leerob, @acdlite, @timneutkens, @dvoytenko, and @sokra for helping!
Core Changes
- fix: move sort to loader to also sort query string: #55425
- Don't log error about root_task_dispose: #55458
- Skip JSON.parse in loadClientReferenceManifest: #55457
Credits
Huge thanks to @wesleydebruijn, @wbinnssmith, and @timneutkens for helping!
Core Changes
- Ensure etags are not generated for static files when disabled: #55376
- use atomic writes to avoid seeing incomplete files: #55424
- fix server-side changes events: #55437
- server: bundle vendored react: #55362
Misc Changes
- Update
swc_coretov0.83.12: #55216 - add test for turbopack refresh error: #55447
Credits
Huge thanks to @timneutkens, @kdy1, @sokra, @ForsakenHarmony, and @feedthejim for helping!
Core Changes
- fix: server actions initiated from static pages: #51534
- Turbopack: log hmr compile changes: #55406
- Update turbopack: #55402
- fix: sort imports to ensure consistent hash: #55358
- fix manifest load errors when using assetPrefix: #55416
- Turbopack: remap
next/headon client in App Pages: #55419
Credits
Huge thanks to @ztanner, @wbinnssmith, @jridgewell, and @wesleydebruijn for helping!
Core Changes
- fix: server actions initiated from static pages: #51534
- Turbopack: log hmr compile changes: #55406
Credits
Huge thanks to @ztanner and @wbinnssmith for helping!
Core Changes
- fix turbopack HMR, fix disconnect detection: #55361
- Fix CPU profile generation: #55365
- fix memory leak in require.cache cleanup: #55377
- WEB-1135: Update examples and schema for Turbopack loaders config change: #54584
- feat(turbopack): support next.js specific node polyfills: #55343
- Turbopack: Allow Pages entrypoint template to import user's
.tsfiles: #55296 - Revert "feat(turbopack): support next.js specific node polyfills": #55385
- Remove leftover worker code and types: #55383
- run validation logic for TURBOPACK too: #55379
- more turbopack HMR fixes and test case: #55368
- Revert "Revert react-server-dom require change": #55382
- Set standalone server default hostname to
0.0.0.0: #54445 - Revert "Revert "feat(turbopack): support next.js specific node polyfills"": #55392
- Update React from dd480ef92 to d6dcad6a8.: #55399
- Memoize serverDistDir generation: #55375
- Remove IncomingMessage type where unused: #55387
- Remove unused file: #55378
- Update useParams typing to assume a given shape: #55126
- Remove setLazyProp from the hot path of all requests: #55391
Documentation Changes
- Update 03-forms-and-mutations.mdx: #55386
Example Changes
- fix: upgrade @emotion/css from 11.10.0 to 11.11.2: #55352
- example: fix example error: #54599
- fix: examples/cms-keystonejs-embedded/package.json to reduce vulnerabilities: #55354
Misc Changes
- Update codeowners: #55355
- fix: added support for tests to add resolutions for deps: #55398
Credits
Huge thanks to @sokra, @timneutkens, @wbinnssmith, @kwonoj, @jridgewell, @mayank1513, @ztanner, @ForsakenHarmony, @remorses, @alexandreferreirafr, @wyattjoh, @acdlite, @li-jia-nan, and @dvoytenko for helping!
Core Changes
- docs: add explicit units to isrMemoryCacheSize option: #55108
- feat(turbopack): attach type metadata for static metadata item: #55340
- fix duplicated error logging when start server: #55328
- Revert react-server-dom require change: #55345
Misc Changes
- fix: upgrade listr2 from 5.0.5 to 5.0.8: #55223
Credits
Huge thanks to @arsenykruglikov, @mayank1513, @kwonoj, @huozhi, and @ijjk for helping!
Core Changes
- reafactor: renamed pathname -> page: #55282
- feat(next-dev): reenable turbopack beta message: #55116
- Add libsql to external package list: #55266
- fix: removed unused intercepting route definition references: #55285
- refactor(next-font): use next-transform-font: #55252
- Remove unused option and unified ready message into start server: #55289
- remove
--experimental-turbofrom supported next-dev args: #55300 - test(next-dev): clean up 404 tests: #55292
- Use NextJsHotReloaderInterface in router-server: #55317
- server: switch pages to react dom edge renderer: #55318
- Logging improvements: #55298
- Updates Mozilla links to not include language preference: #55326
- fix
react-server-dom-webpackcache invalidation: #55287
Documentation Changes
- Update docs for revalidatePath fix: #55083
- Update route-segment-config.mdx for fix broken link: #55212
- docs: Add some App Router FAQs: #55186
Example Changes
- fix: upgrade date-fns from 2.28.0 to 2.30.0: #55274
- fix: upgrade sharp from 0.29.3 to 0.32.5: #55254
- fix: upgrade react-native-web from 0.11.7 to 0.19.7: #55221
Misc Changes
- Test with latest
node@18: #54000
Credits
Huge thanks to @mayank1513, @wyattjoh, @kwonoj, @penberg, @ijjk, @sdaigo, @leerob, @huozhi, @ztanner, @timneutkens, @feedthejim, @manovotny, and @ForsakenHarmony for helping!
Core Changes
- Make open editor icon size non-shrink in error overlay: #55273
- build: fix minimal trace caching: #55279
Credits
Huge thanks to @huozhi and @feedthejim for helping!
Core Changes
- test(turbopack): migrate 404-related tests from next-dev: #55243
- feat: add reserved port validation: #55237
- build: fix externals resolution when importing from next/dist: #55269
Misc Changes
- test(fixture): improve finding ports to reduce flaky: #55151
Credits
Huge thanks to @kwonoj, @olingern, and @feedthejim for helping!
Core Changes
- Update font data: #55155
- server: remove turbopack-specific code when compiling with webpack: #55226
- Ensure
ImageResponseextendsResponse: #55187 - Remove render workers in favor of esm loader: #54813
Documentation Changes
- docs: fix nested list: #55178
- docs: use
satisfiesfor TypeScript code blocks: #55205 - docs: satisfies follow up: #55234
- Fix typo: #55245
- docs: clarify setting cookies docs: #55149
Example Changes
- Fix/security: #55189
- examples: upgrade @makeswift/runtime from 0.2.2 to 0.10.13: #55203
- examples: update KeystoneJS version: #55201
- fix: upgrade recoil from 0.7.6 to 0.7.7: #55222
- chore(examples): upgrade
@keystone-next/keystone: #55210
Misc Changes
- test(nexttestsetup): teardown nextinstance gracefully: #55144
- tests(next-dev): migrate basic tailwind tests for turbopack: #55118
Credits
Huge thanks to @mayank1513, @leerob, @feedthejim, @joulev, @kwonoj, @danaugrs, and @ijjk for helping!
Core Changes
- feat: support expanding urls in nexturbo (and fix static files): #55147
Credits
Huge thanks to @ForsakenHarmony for helping!
Core Changes
- Add option to support log full request url in verbose mode: #55111
- Filter out pages tree view for app dir only output: #55120
- Check for type of route handler returned value at build time (via the TS plugin) and at runtime: #51394
- Set test headers via page.router API: #55087
- server: re-land bundled runtimes: #55139
- feat(turbopack): add dynamic metadata support: #54995
- server: require hook hotfix : #55146
- Revert swc versions to one that doesn't use lightningcss: #55148
Example Changes
- examples: Update strict-csp example with better nonce: #55131
Misc Changes
- Update pull_request_template.md: #55098
- Reenable app-static usePathname tests: #55065
- enable all passing turbopack tests for CI: #55100
Credits
Huge thanks to @huozhi, @sidgaikwad, @joulev, @leerob, @dvoytenko, @feedthejim, @sokra, @ForsakenHarmony, and @wbinnssmith for helping!
Core Changes
- chore: add structured app page path type: #55070
- Fixed i18n data route RegExp: #55109
- chore: upgrade to TypeScript 5.2.2: #55105
- fix: ensure mpa navigation render side effects are only fired once: #55032
- Revert "perf: add bundled rendering runtimes (#52997)": #55117
- Strip internal routing headers: #55114
Credits
Huge thanks to @ForsakenHarmony, @wyattjoh, @balazsorban44, @ztanner, and @feedthejim for helping!
Core Changes
- perf: add bundled rendering runtimes: #52997
Credits
Huge thanks to @feedthejim for helping!
Core Changes
- Fix duplicated dynamic metadata routes in dev mode: #55026
- Adjust
optimizePackageImports: #55040 - server: enable minification by default: #54960
- webpack: tweak config for split chunks: #55054
- fix(perf): lazy load
babel/code-frame: #55024 - remove --turbo, use --experimental-turbo as --turbo: #55063
- fix:
skipTrailingSlashRedirectbeing ignored inpages: #55067 - Debug tracing: include session and anonymous ids: #55021
- Next SWC: Constrain Vc cell values with
Send: #55077 - test(next-dev): migrate styled-jsx integration test: #55079
Documentation Changes
- docs: Fix typo in getting-started/project-structure: #55035
- docs: fix typo: #54973
- docs: add missing quotation mark: #54968
- docs: Remove
appreference onpagesdoc for runtimes.: #55058 - docs: example of generated nonce to use base64 encoding as per spec: #55039
- Update 01-server-components.mdx: #55085
Misc Changes
- chore(ci): bump pnpm v8.6.11 to v8.7.1: #54873
- test: merge base path tests: #55069
Credits
Huge thanks to @huozhi, @ryota-murakami, @hyeewooon, @mewcoder, @CSY54, @shuding, @feedthejim, @styfle, @leerob, @sokra, @ztanner, @wbinnssmith, @csi-lk, @kwonoj, and @daltonmcphaden for helping!
Core Changes
- Remove
react-hot-toastfrom the optimizePackageImports list: #55029 - Experimental server optimization: #54925
Documentation Changes
- Update eslint dependencies note in docs: #55023
Credits
Huge thanks to @ijjk and @shuding for helping!
Core Changes
- Remove pong HMR event as it is not used: #54965
- Add turbopack-connected HMR event: #54976
- Redesign nextjs logging: #54713
- chore: bump
undici: #55007 - chore: restore options to opt-in for server-side transpilation: #55010
- upgrade edge-runtime: #55005
- [functions-config-manifest] use correct extra config for pages router: #54786
- Client-side HMR message types: #55009
- perf: use split chunks for the node server: #54988
Documentation Changes
- docs: Add template API reference: #54938
Example Changes
- Update Jest and Vitest example for App Router.: #54989
Misc Changes
- Update ready check for PR stats: #55022
Credits
Huge thanks to @timneutkens, @leerob, @huozhi, @balazsorban44, @feugy, @Kikobeats, @ecklf, @feedthejim, and @ijjk for helping!
Core Changes
- Simplify getPagePaths logic: #54908
- Debug tracing: time devserver startup: #54537
- Update turbopack: #54909
- Add types for hot reloader send method: #54932
- Fix typo in hot-reloader: #54944
- Ensure that barrel files behind wildcards are transformed into shortpath: #54951
- Fix group routes custom root not-found: #54931
- fix: server actions firing twice after navigation: #54948
- docs: fix document format for next_private_export_map: #54952
- Unify serverError hmr event: #54962
- Add serverError action to list of HMR events: #54964
- fix(next-swc): skips client/server only checks when running with Jest to unblock testing: #54891
Documentation Changes
- Fix typo in description of error.js: #54933
- docs: Minor formatting fix in Pages Router SSG: #54915
- docs: add
maxDurationin API Routes config: #54844 - docs: add missing word in client components: #54830
- docs: Clarify the ability to access current route segments in layouts: #53349
- docs: Update Vercel YouTube channel url: #54912
- docs: Move general info about next.config.* to its index page: #53542
- docs: Fix typo in app/building-your-application/caching: #54841
Example Changes
- fix: Fix grammar issues on README.md: #54921
- Fix: slug type issue: #54616
- chore: upgrade playwright example: #53584
Misc Changes
- chore: fix autolabeler: #54916
- Update codeowners: #54966
Credits
Huge thanks to @wyattjoh, @wbinnssmith, @jridgewell, @okoyecharles, @balazsorban44, @rob-johansen, @imageck, @ecklf, @Sylith1231, @SonMooSans, @timneutkens, @rousan, @robertwbradford, @hiddenest, @shuding, @huozhi, @ztanner, @innowhat, @sand4rt, and @feugy for helping!
Core Changes
- fix(turbopack): edge api entry path should not have
/routesuffix: #54851 - Don't send tracing spans if performance.measure doesn't return measurements: #54808
- Update tag handling for app cache: #53321
Example Changes
- example: Add
elements.update()to ensure latest payment amount is reflected: #54848
Credits
Huge thanks to @ForsakenHarmony, @wbinnssmith, @jsteele-stripe, and @ijjk for helping!
Core Changes
- Fix the build manifest path for
/: #54744 - Allow any number of onFetch handlers for a single test: #54846
- Update @vercel/og to latest: #54849
Documentation Changes
- docs: fix syntax error in i18n example code block: #54749
- docs: Add JS/TS code switchers to Middleware: #54726
- docs: define router instance in code block: #54707
Example Changes
- update dependencies: #53334
Misc Changes
- chore: label invalid issues: #54826
- chore: update triaging docs: #54828
- use pnpm for
next-with-deps: #54847
Credits
Huge thanks to @jridgewell, @Xvezda, @Aryan9592, @sadaffathali, @balazsorban44, @mayank1513, @dvoytenko, @ztanner, and @huozhi for helping!
Core Changes
- refactor: share utils and optimize segments normalization: #54611
- Improve barrel optimizer with loader caching and wilcard exports: #54695
- Move getBabelConfigFile to separate file: #54716
- Reimplement getBabelConfigFile to be simpler: #54741
- Fix memory watcher reboot: #54760
- Misc Typescript updates: #54734
- Fix unexpected full hmr reload when editing _app: #54690
- update turbopack: #54768
- Use variable for common isNodeOrEdgeCompilation condition: #54763
- Turbopack: Implement HMR in next-api : #54772
- Add
@visx/visxto the import optimization list: #54778 - Remove experimental.appDir as it's stable: #54785
- Short circut 404's for /favicon.ico in development: #54747
- Remove additional appDir checks: #54788
- Remove experimental.pageEnv: #54789
- Update list of Next.js options in next.rs: #54798
- Fixes for Turbopack HMR: #54790
Documentation Changes
- Fixed typo in Building your application > 03. Rendering section: #54764
- (Docs) Add missing JS-Code, cookies function names updated accordingly.: #54703
- docs: clarify data type in Forms and Mutations section: #54630
- docs: Change Vite guide title: #54774
- docs: remove typo in
use-selected-layout-segments.mdx: #54767 - chore: verify missing/invalid/private reproduction links: #54724
Example Changes
- (Example) Update with-segment-analytics to use segmentio/analytics-next and app layout: #52327
Misc Changes
- Updating Third party capital version. : #54418
Credits
Huge thanks to @huozhi, @janicklas-ralph, @shuding, @timneutkens, @wyattjoh, @sokra, @EdPutans, @vinaykulk621, @michaelangeloio, @leerob, @mateuszaliyev, @balazsorban44, @lukebussey, and @jridgewell for helping!
Core Changes
- Remove unused cssnano-simple file: #54658
- File Reader Improvements: #54645
- Add new
permanentRedirectfunction in App Router: #54047 - Default app router not found : #54199
- Cleanup of /_next/data handling in server: #54689
- Trace uploader: fix git binary on windows: #54580
- fix(next/image): import error
preloadis not exported fromreact-dom: #54688 - turbopack: should only create _not-found when path_prefix is root: #54687
- fix app routes: #54701
Documentation Changes
- Update revalidatePath.mdx: #54631
Example Changes
- updated sitecore deploy button: #54678
Misc Changes
- chore: update gitattributes with linguist-vendored: #54683
- Consider cargo config in granular cache key: #54700
Credits
Huge thanks to @timneutkens, @steven-tey, @wyattjoh, @krychaxp, @smaeda-ks, @styfle, @huozhi, @wbinnssmith, @ijjk, and @sokra for helping!
Core Changes
- add support for app pages to next.rs api: #54668
Credits
Huge thanks to @sokra for helping!
Core Changes
- Reuse edgeConditionNames variable: #54594
- Update font data: #54585
- Add cleanup logic to worker.ts: #54500
- chore: add extra error info for rsc info helper: #54609
- Fix router CPU profiling: #54497
- Turbopack: add middleware support for next.rs api dev mode: #54555
- Rename hot-reloader to hot-reloader-webpack: #54628
- Implement hot-reloader interface: #54629
- Remove this as any cases: #54642
- Implement hot reloader interface for Turbopack: #54632
- Fix weight values above 900 not working with Google Fonts: #54339
Documentation Changes
- docs: update 10-route-handlers.mdx: #54605
- Docs: Update Edge runtime and data revalidation information: #54499
- Update revalidatePath to revalidateTag: #54633
- docs: Add JS code snippets for forms: #54577
- docs: updates generateMetadata function signature: #54638
- docs: fix small typo: #54656
Example Changes
- (Example) Add CMS Sitecore XM Cloud Example: #54535
Misc Changes
- Add missing install env for release stats: #54581
- modify bench scripts to not conflict with dev task: #54600
- Implement granular rust caching: #54582
Credits
Huge thanks to @ijjk, @timneutkens, @Vector73, @huozhi, @ztanner, @shuding, @ah100101, @delbaoliveira, @sokra, @chanyeinthaw, @leerob, @emiliosheinz, @dikaio, and @indraantoor for helping!
Core Changes
- fix(DX): More precise error messages for export const config deprecation: #54492
- Revert "Decreased watchpack aggregate timeout": #54515
- Forms and mutations docs.: #54314
optimize_barrelSWC transform and newoptimizePackageImportsconfig: #54572
Documentation Changes
- docs: fix source files hash calculation: #54509
Misc Changes
- Update release stats install/build executing: #54576
Credits
Huge thanks to @ClementDreptin, @vvo, @sokra, @leerob, @ijjk, and @shuding for helping!
Core Changes
- update turbopack: #54558
Documentation Changes
- chore(docs): add example of sanity image to
loaderFileconfig: #54529
Credits
Huge thanks to @styfle and @sokra for helping!
Core Changes
- fix resolve routes behavior when matching a dynamic segment: #54539
- Turbopack: add edge support for pages apis: #54449
- chore(eslint): bump ESLint plugins: #54490
- Skip copying signal field for revalidate: #54533
- Fix missing new line for certain logs: #54442
Documentation Changes
- docs: Add missing parameters to both
useSelectedLayoutSegment&useSelectedLayoutSegments: #53602
Misc Changes
- chore(ci): emit env vars that impact ci results: #54534
- Break-up install and build steps for PR stats: #54536
Credits
Huge thanks to @styfle, @A7med3bdulBaset, @ijjk, @ztanner, @sokra, @balazsorban44, and @huozhi for helping!
Core Changes
- Implement
named_import_transform: #54530
Documentation Changes
- Docs: Fix formatting issues in the rendering docs: #54517
- docs: fix broken link missing leading slash: #54520
Misc Changes
- Fix failing TS test from new release: #54523
- Enable verbose logging for turbo in CI: #54525
- Update flakey image component tests: #54526
- Update runner labels for PR stats: #54524
Credits
Huge thanks to @delbaoliveira, @leerob, @ijjk, and @shuding for helping!
Core Changes
- Trace upload fixup: #54455
- fix: custom incremental cache handlers should work when transpiled: #54472
- upgrade Edge Runtime dependency: #54489
- fix infinite navigate events when Promise is proxied: #54394
Documentation Changes
- docs: Add
next-i18n-routeras a resource for internationalized routing: #52344 - Update 10-testing.mdx: #54107
- docs: Rewrite Rendering Section and React Essentials Page: #51579
Credits
Huge thanks to @wbinnssmith, @dcporter44, @ztanner, @Kikobeats, @uzairali001, and @delbaoliveira for helping!
Core Changes
- Optimize webpack memory cache garbage collection: #54397
- Use push for Server Action redirections: #54458
- Decreased watchpack aggregate timeout: #54461
- Generate prefetch RSC paylod during build for SSR paths: #54403
- remove HMR polling in favor of more targeted events: #54406
Documentation Changes
- docs: Remove unneeded word in caching docs: #54451
Misc Changes
- chore(ci): add socket.yaml: #54446
- Update install-native script to avoid pnpm cache: #54462
Credits
Huge thanks to @timneutkens, @leerob, @styfle, @shuding, @wyattjoh, @ijjk, and @ztanner for helping!
Core Changes
- Fix data route ordering in dev: #54364
- fix(app): enable React Strict Mode by default: #53375
- Fix swc compiling of client components when directive appears later than exports: #54392
- Upgrade vendored react: #54399
- Code clean up: #54405
- Upgrade precompiled
ua-parser-js: #54404 - Fix compilation of next/dynamic with
ssr: falsein App Router: #54411 - refactor: Use swc AST to determine use client and server directives: #54358
- Fix not found css not being preloaded while navigation: #53906
Documentation Changes
- Docs: Clarify status codes w/ streaming: #54374
- Docs: Document
manifestmetadata file: #54380 - Docs: Refer users to IDE or MDN for manifest object options: #54385
- Docs: Remove runtime configuration from /app docs: #54336
Misc Changes
- Update
swc_coretov0.79.70: #54368
Credits
Huge thanks to @delbaoliveira, @ijjk, @balazsorban44, @huozhi, @kdy1, and @shuding for helping!
Core Changes
- fix: minimum node version 16.14.0: #54331
- Merge app renderer process: #54143
Documentation Changes
- Docs: Update template.js section: #54370
Misc Changes
- Update timeout for release stats: #54363
Credits
Huge thanks to @ijjk, @styfle, @delbaoliveira, and @shuding for helping!
Core Changes
- Adds nonce to preinit scripts: #54059
- Fix default export of server action utility aliases: #54254
- fix: improve error message when
output: exportin app router: #54202 - ci(trace): allow to opt in to upload full trace: #54347
- fix: server actions blocking navigation events: #54307
- Skip getStaticPaths check for non-dynamic app routes: #54351
- OpenTel: ensure that exceptions are recorded on an active span: #54131
- Testmode: intercept rewrite fetches: #54259
- Polyfill Array.prototype.at: #44436
- Fix missing locale info for middleware data request: #54357
Documentation Changes
- Docs: Fix broken links: #54340
- Docs: Add notes that revalidation is not available in the Edge runtime / only Node.js: #54338
Example Changes
- Update Contentful example for App Router.: #54205
- set hostname to 0.0.0.0: #54342
Misc Changes
- docs: update a small typo in
02-app/01-building-your-application/06-optimizing/01-images.mdx: #54311 - update readme in nextjs testing: #54322
- add test case for CSP with bootstrap scripts and preinit modules: #54348
- Fix windows next-swc builds: #54353
- test: add case for marking _document with edge runtime: #54316
Credits
Huge thanks to @nbhargava, @shuding, @lauthieb, @leerob, @styfle, @tonskton, @delbaoliveira, @m4salah, @gnoff, @kwonoj, @ztanner, @ijjk, @huozhi, @dvoytenko, and @sloanesturz for helping!
Core Changes
- Update font data: #54257
- add experimental https support to next dev: #54016
- Fix emotion-js transform for server components: #54284
- Handle basePath for redirect(): #54277
- Remove unused array in router-server: #54278
- app-router: tweak prefetch cache status heuristics: #53864
Documentation Changes
- docs: Bump minimum Node.js version to 16.14: #54285
Misc Changes
- Add test for using custom font in metadata image routes: #54274
- Update
swc_coretov0.79.69: #54190
Credits
Huge thanks to @ztanner, @huozhi, @icyJoseph, @kdy1, @timneutkens, and @feedthejim for helping!
Core Changes
- fix: invalid module transform for
@headlessui/react: #54206 - chore: remove unnecessary type cast in dev-build-watcher: #54221
- fix process.env not being available in standalone mode: #54203
- Fix missing
devPageFilescollection: #54224 - Add
RouteandLinkPropsstub generics: #54226 - Use
createClientModuleProxyfrom Flight Server: #54232 - Add default not found to loader tree of group routes root layer: #54228
- feat(image): add support for custom
loaderFilewhenloader: default: #53417 - Fix renamed export of Server Actions: #54241
- Ensures App Router Link respects scroll-behavior: smooth when only hash is changed.: #54243
Misc Changes
- Update dd-trace used for internal tools: #54214
- (Fix)Broken
upgrading.mdxlink : #54234 - chore: skip CI run on forks: #54219
- chore(ci): bump
cancel-workflow-action@0.11.0: #54246
Credits
Huge thanks to @opnay, @styfle, @timneutkens, @ztanner, @shuding, @huozhi, @vinaykulk621, @balazsorban44, @goguda, and @coreyleelarson for helping!
Core Changes
- fix: invalid module transform for
@headlessui/react: #54206 - chore: remove unnecessary type cast in dev-build-watcher: #54221
- fix process.env not being available in standalone mode: #54203
- Fix missing
devPageFilescollection: #54224 - Add
RouteandLinkPropsstub generics: #54226 - Use
createClientModuleProxyfrom Flight Server: #54232 - Add default not found to loader tree of group routes root layer: #54228
- feat(image): add support for custom
loaderFilewhenloader: default: #53417 - Fix renamed export of Server Actions: #54241
- Ensures App Router Link respects scroll-behavior: smooth when only hash is changed.: #54243
Misc Changes
- Update dd-trace used for internal tools: #54214
- (Fix)Broken
upgrading.mdxlink : #54234 - chore: skip CI run on forks: #54219
- chore(ci): bump
cancel-workflow-action@0.11.0: #54246
Credits
Huge thanks to @opnay, @styfle, @timneutkens, @ztanner, @shuding, @huozhi, @vinaykulk621, @balazsorban44, @goguda, and @coreyleelarson for helping!
Core Changes
- refactor: remove edge condition for module proxy path: #54167
- Remove unused variables: #54149
- chore: improve ts types for
positionindev-build-watcher: #54124 - Turbopack: Strip relative path prefix when generating PageLoaderAsset: #54040
- Add
sizeproperty toReadonlySearchParams: #53144 - Assign default not-found boundary if custom not-found is not present for root layer only: #54185
- Allow range version for eslint config: #53751
- Automatically modularizeImports for the popular @headlessui/react library: #54188
- fix bfcache restoration behavior: #54198
Misc Changes
- Update rust toolchain: #54130
Credits
Huge thanks to @huozhi, @shuding, @styfle, @jridgewell, @bencmbrook, @cramforce, and @ztanner for helping!
Core Changes
- refactor: remove edge condition for module proxy path: #54167
- Remove unused variables: #54149
- chore: improve ts types for
positionindev-build-watcher: #54124 - Turbopack: Strip relative path prefix when generating PageLoaderAsset: #54040
- Add
sizeproperty toReadonlySearchParams: #53144 - Assign default not-found boundary if custom not-found is not present for root layer only: #54185
- Allow range version for eslint config: #53751
- Automatically modularizeImports for the popular @headlessui/react library: #54188
- fix bfcache restoration behavior: #54198
Misc Changes
- Update rust toolchain: #54130
Credits
Huge thanks to @huozhi, @shuding, @styfle, @jridgewell, @bencmbrook, @cramforce, and @ztanner for helping!
Core Changes
- fix(next/image): empty blur image when animated #54028
- Do not output pages 404 in tree view if app not-found is used: #54051
- Fix scroll bailout logic when targeting fixed/sticky elements: #53873
- Debug tracing: add updated modules and page to HMR span: #53698
- fix(next-swc): coerce mdxrs default options: #54068
- fix: don't add forceConsistentCasingInFileNames to tsconfig when ts version >= 5.0: #51564
- fix(47299): allow testing pages with metadata in jsdom test environment: #53578
- upgrade edge-runtime dependency: #54117
- Fix root not-found page tree loader structure: #54080
- chore: remove
as anytype cast: #54074 - chore: refactor to use
fs.promises.rm(): #54076 - Refactor layout router creation in app-render: #54126
- chore(image): remove apple silicon workaround for versions older than
node@16.5.0: #54125 - fix routing bug when bfcache is hit following an mpa navigation: #54081
- Tracing: add opt-in flag to send a subset of development traces to url: #53880
- fix(edge): override init when cloning with
NextRequest: #54108 - OpenTel: remove the internal (ipc) fetched from traces in a non-verbose mode: #54083
- cleanup: remove unnecessary effect dep: #54134
- Next build: use exported
handle_issuesfrom turbopack: #52972 - node-web-streams: remove tee shim, use ReadableStream.tee: #54079
- fix:
cookies().has()breaks in app-route: #54112 - Revert "fix(47299): allow testing pages with metadata in jsdom test environment": #54160
Documentation Changes
- fix missing
'in data-fetching/fetching-caching-and-revalidating: #54058
Example Changes
- Update Docker example to remove HOSTNAME: #54102
Misc Changes
- chore: hide "same on new version" without link: #54048
- chore(ci): small notes for the build steps: #54073
- chore: update lock bot wording: #54099
- Update
swc_coretov0.79.59: #54082 - install-native.mjs: include
packageManagerfield: #54132
Credits
Huge thanks to @balazsorban44, @huozhi, @ztanner, @williamli, @wbinnssmith, @kwonoj, @stefanprobst, @feugy, @timneutkens, @kdy1, @Kikobeats, @styfle, @dvoytenko, @MaxLeiter, and @devjiwonchoi for helping!
Core Changes
- Revert "fix(47299): allow testing pages with metadata in jsdom test environment": #54160
Credits
Huge thanks to @huozhi for helping!
Core Changes
- node-web-streams: remove tee shim, use ReadableStream.tee: #54079
- Debug tracing: Include navigation through hydration timing: #54078
- fix:
cookies().has()breaks in app-route: #54112
Credits
Huge thanks to @MaxLeiter, @wbinnssmith, and @devjiwonchoi for helping!
Core Changes
- Do not output pages 404 in tree view if app not-found is used: #54051
- Fix scroll bailout logic when targeting fixed/sticky elements: #53873
- Debug tracing: add updated modules and page to HMR span: #53698
- fix(next-swc): coerce mdxrs default options: #54068
- fix: don't add forceConsistentCasingInFileNames to tsconfig when ts version >= 5.0: #51564
- fix(47299): allow testing pages with metadata in jsdom test environment: #53578
- upgrade edge-runtime dependency: #54117
- Fix root not-found page tree loader structure: #54080
- chore: remove
as anytype cast: #54074 - chore: refactor to use
fs.promises.rm(): #54076 - Refactor layout router creation in app-render: #54126
- chore(image): remove apple silicon workaround for versions older than
node@16.5.0: #54125 - fix routing bug when bfcache is hit following an mpa navigation: #54081
- Tracing: add opt-in flag to send a subset of development traces to url: #53880
- fix(edge): override init when cloning with
NextRequest: #54108 - OpenTel: remove the internal (ipc) fetched from traces in a non-verbose mode: #54083
- cleanup: remove unnecessary effect dep: #54134
- Next build: use exported
handle_issuesfrom turbopack: #52972
Documentation Changes
- fix missing
'in data-fetching/fetching-caching-and-revalidating: #54058
Example Changes
- Update Docker example to remove HOSTNAME: #54102
Misc Changes
- chore: hide "same on new version" without link: #54048
- chore(ci): small notes for the build steps: #54073
- chore: update lock bot wording: #54099
- Update
swc_coretov0.79.59: #54082 - install-native.mjs: include
packageManagerfield: #54132
Credits
Huge thanks to @balazsorban44, @huozhi, @ztanner, @williamli, @wbinnssmith, @kwonoj, @stefanprobst, @feugy, @timneutkens, @kdy1, @Kikobeats, @styfle, and @dvoytenko for helping!
Core Changes
- Concept: test mode for Playwright and similar integration tools: #52520
- Turbopack: fix hiding node_modules warnings in error overlay.: #54022
- ci(next-swc): print glibc version when build: #54026
- Adjust internal action proxy export: #54004
Documentation Changes
- Update 05-client-side-rendering.mdx with latest tanstack query version: #54009
- Open Graph Image font declaration moved to correct place: #53998
- Update opengraph-image.mdx: Fix typo: #54020
Misc Changes
- Remove extra label from runner: #54002
- add standalone testcase for ipv6 hostnames: #53999
- release: add release log generation script: #54006
- test(ci): refine test suite name unique: #54013
- Leverage previous swc build images: #54027
- chore: mark build folder indexable: #54029
- Move turbo outside of build for docker swc builds: #54035
Credits
Huge thanks to @ijjk, @ztanner, @huozhi, @lacymorrow, @dvoytenko, @kylemcd, @kwonoj, @tibi1220, @wbinnssmith, and @shuding for helping!
Core Changes
- ci(next-swc): print glibc version when build: #54026
- Adjust internal action proxy export: #54004
Misc Changes
- Move turbo outside of build for docker swc builds: #54035
Credits
Huge thanks to @kwonoj, @shuding, and @ijjk for helping!
Core Changes
- Concept: test mode for Playwright and similar integration tools: #52520
- Turbopack: fix hiding node_modules warnings in error overlay.: #54022
Documentation Changes
- Update 05-client-side-rendering.mdx with latest tanstack query version: #54009
- Open Graph Image font declaration moved to correct place: #53998
- Update opengraph-image.mdx: Fix typo: #54020
Misc Changes
- Remove extra label from runner: #54002
- add standalone testcase for ipv6 hostnames: #53999
- release: add release log generation script: #54006
- test(ci): refine test suite name unique: #54013
- Leverage previous swc build images: #54027
- chore: mark build folder indexable: #54029
Credits
Huge thanks to @ijjk, @ztanner, @huozhi, @lacymorrow, @dvoytenko, @kylemcd, @kwonoj, @tibi1220, and @wbinnssmith for helping!
Core Changes
- Fix action failures due to state tree encoding: #53655
- Initial HMR Nexturbo API implementation: #52950
- Turbopack: add edge app routes : #53387
- Turbopack: Hide Turbo Engine internals: #53007
- add unit test case for next.rs api: #53679
- Fix not-found rendering in production with edge: #53687
- fix(next/image): don't call ReactDOM.preload if missing, such as jest: #53443
- Add docs page for uncaught DynamicServerErrors: #53402
- Consolidate Server and Routing process into one process: #53523
- fix: Update outdated transform imports lucide-react: #53697
- Update font data: #53759
- Add warnings for static generation bail outs: #53761
- Sort root entries per pageExtensions config for consistency: #53769
- improve error message for conflicting parallel segments: #53803
- Add
changeFrequencyandpriorityattributes to sitemaps: #48484 - Ensure we set cache-control: no-cache for actions: #53824
- Reuse RenderWorker type: #53782
- fix: normalize backslash in
getStaticPaths()for windows: #53876 - Delete errorneous empty content length header: #53843
- Turbopack: more tests and bugfixes for next.rs api: #53809
- Add
@heroicons/reacttomodularizeImports: #53902 - Turbopack: Fix debugging in napi for next-api: #53889
- Fix/match resource: #53796
- Use summary_large_image as twitter card if images present by default: #53919
- Turbopack: Emit whether server or client assets changed: #53879
- Limit sharp's concurrency: #53385
- enable @vercel/og support for turbopack: #53917
- feat(image): DataURL placeholder support for
: #53442
- Recover not found errors from flight data to render with proper boundary: #53703
- Update React to
18.3.0-canary-1a001dac6-20230812: #53881 - add "expect" to list of forbidden IPC headers: #53947
- Update swc runners config: #53939
- Better IPv6 support for
next-server: #53131
Documentation Changes
- Update 11-middleware.mdx: Added Switcher: #53977
- Fix doc grammatical errors: #53672
- Fix a link in incrementalCacheHandlerPath.mdx: #53718
- Fix typo in data fetching documentation: #53772
- Docs: Add option for fetching data using route handlers - from the client: #53793
- docs: Add more information about Server Actions: #53805
- docs: document cache tagging mechanism: #53806
- chore(docs): add missing "try it out": #53815
- docs: Opting out of scrolling with
next/linkanduseRouter.: #53804 - chore(docs): note cache-control header for preview/draft mode: #53825
- Include instructions for
bunpackage manager: #53590 - Docs: Update confusing wording in intercepting routes: #53854
- (docs) Fixes Server Actions example: #53920
- fix typo: #53908
- Docs: fix pnpm command for saving dev deps (#53937): #53938
- The extra word 'the' has been deleted: #53951
Example Changes
- [Examples] Update Example Prepr CMS: #49224
- Update to with-supertokens example app: #53434
- docs(with-stripe-typescript): Update README demo link: #53662
- (example) update github-pages example: #52168
- chore: add light/dark mode theme detection to image component example: #53760
Misc Changes
- Remove tsconfig extending for @next/thrid-parties package: #53991
- Make next as dependency of
@next/third-partiespackage: #53996 - update eslint config: #53637
- enable more test cases for next.rs api: #53670
- fix(node): pnpm 8.6 needs node 16.14: #53677
- fix(create-next-app): fix CI defaults (default to typescript): #53686
- fix azure test cases: #53692
- Adding GoogleMaps and Youtube embed components: #52909
- Update env variable for fonts data workflow: #53701
- Move next-rs API tests from unit to e2e: #53771
- test(turbo): allow to run test with --experimental-turbo: #53396
- chore(actions): exclude drafts from PR notificiation: #53669
- Update runner labels: #53925
- Update
swc_coretov0.79.55: #53831 - [chore] Upgrade playwright to 1.35.1: #53875
- Update turbo env handling: #53970
Credits
Huge thanks to @iamarpitpatidar, @pythagoras-yamamoto, @alexkirsz, @sokra, @jsteele-stripe, @tknickman, @gaojude, @styfle, @janicklas-ralph, @huozhi, @ijjk, @vinaykulk621, @balazsorban44, @ztanner, @timneutkens, @ericfennis, @JohnAdib, @MiLk, @kwonoj, @delbaoliveira, @leerob, @LuudJanssen, @lucasconstantino, @davecarlson, @colinhacks, @shuding, @jridgewell, @jantimon, @Banbarashik, @ForsakenHarmony, @kdy1, @dvoytenko, @arturbien, @gnoff, @hsrvms, and @DuCanhGH, @tim-hanssen, @Aryan9592, and @rishabhpoddar for helping!
Documentation Changes
- Update 11-middleware.mdx: Added Switcher: #53977
Example Changes
- [Examples] Update Example Prepr CMS: #49224
- Update to with-supertokens example app: #53434
Misc Changes
- Remove tsconfig extending for @next/thrid-parties package: #53991
- Make next as dependency of
@next/third-partiespackage: #53996
Credits
Huge thanks to @tim-hanssen, @huozhi, @Aryan9592, and @rishabhpoddar for helping!
Core Changes
- Better IPv6 support for
next-server: #53131
Credits
Huge thanks to @DuCanhGH for helping!
Core Changes
- Update swc runners config: #53939
Misc Changes
- Update turbo env handling: #53970
Credits
Huge thanks to @ijjk for helping!
Core Changes
- fix: Update outdated transform imports lucide-react: #53697
- Update font data: #53759
- Add warnings for static generation bail outs: #53761
- Sort root entries per pageExtensions config for consistency: #53769
- improve error message for conflicting parallel segments: #53803
- Add
changeFrequencyandpriorityattributes to sitemaps: #48484 - Ensure we set cache-control: no-cache for actions: #53824
- Reuse RenderWorker type: #53782
- fix: normalize backslash in
getStaticPaths()for windows: #53876 - Delete errorneous empty content length header: #53843
- Turbopack: more tests and bugfixes for next.rs api: #53809
Documentation Changes
- Fix a link in incrementalCacheHandlerPath.mdx: #53718
- Fix typo in data fetching documentation: #53772
- Docs: Add option for fetching data using route handlers - from the client: #53793
- docs: Add more information about Server Actions: #53805
- docs: document cache tagging mechanism: #53806
- chore(docs): add missing "try it out": #53815
- docs: Opting out of scrolling with
next/linkanduseRouter.: #53804 - chore(docs): note cache-control header for preview/draft mode: #53825
- Include instructions for
bunpackage manager: #53590 - Docs: Update confusing wording in intercepting routes: #53854
Example Changes
- chore: add light/dark mode theme detection to image component example: #53760
Misc Changes
- Move next-rs API tests from unit to e2e: #53771
- test(turbo): allow to run test with --experimental-turbo: #53396
- chore(actions): exclude drafts from PR notificiation: #53669
Credits
Huge thanks to @ericfennis, @JohnAdib, @ijjk, @MiLk, @kwonoj, @delbaoliveira, @balazsorban44, @styfle, @leerob, @ztanner, @LuudJanssen, @lucasconstantino, @timneutkens, @davecarlson, @colinhacks, and @sokra for helping!
Core Changes
- Turbopack: Hide Turbo Engine internals: #53007
- add unit test case for next.rs api: #53679
- Fix not-found rendering in production with edge: #53687
- fix(next/image): don't call ReactDOM.preload if missing, such as jest: #53443
- Add docs page for uncaught DynamicServerErrors: #53402
- Consolidate Server and Routing process into one process: #53523
Documentation Changes
- Fix doc grammatical errors: #53672
Example Changes
- docs(with-stripe-typescript): Update README demo link: #53662
- (example) update github-pages example: #52168
Misc Changes
- enable more test cases for next.rs api: #53670
- fix(node): pnpm 8.6 needs node 16.14: #53677
- fix(create-next-app): fix CI defaults (default to typescript): #53686
- fix azure test cases: #53692
- Adding GoogleMaps and Youtube embed components: #52909
- Update env variable for fonts data workflow: #53701
Credits
Huge thanks to @sokra, @jsteele-stripe, @alexkirsz, @tknickman, @gaojude, @styfle, @janicklas-ralph, @huozhi, @ijjk, @vinaykulk621, @balazsorban44, @ztanner, and @timneutkens for helping!
Core Changes
- Fix action failures due to state tree encoding: #53655
- Initial HMR Nexturbo API implementation: #52950
- Turbopack: add edge app routes : #53387
Misc Changes
- update eslint config: #53637
Credits
Huge thanks to @iamarpitpatidar, @pythagoras-yamamoto, @alexkirsz, and @sokra for helping!
Core Changes
- Improve internal web stream utils: #53004
- fix: Add
Next-Urlto http vary in consideration of intercept routes.: #52746 - update Turbopack: #53098
- Add app, error, and document entrypoints: #53013
- Turbopack: use edge environment in server-side rendering of client components too: #53099
- refactor(codemod): replace chalk with picocolors: #53115
- move webpack specific logic into a separate file: #53114
- feat(turbopack): emit MODULE_FEATURE telemetry from turbopack: #52356
- Fix not found hangs the build with overridden node env: #53106
- chore: update warning message from
yarn add sharptonpm i sharp: #53130 - fix(edge): allow
Requestcloning viaNextRequest: #53157 - chore: extract common get-validated-args: #53165
- Fix minimal basePath handling: #53174
- Updates @typescript-eslint/parser to 6.1.0: #52848
- fix(next/image): washed out blur placeholder: #52583
- Handle basePath app-dir minimal case: #53189
Documentation Changes
- (Docs) add missing import.: #52992
- Fix formData code snippet in route handler docs: #52532
- docs: remove unneeded good to know section during installation: #53078
- docs: fix typo in
08-parallel-routes.mdx: #53069 - chore(docs): Extend the options for custom server init: #52851
- (Docs) Add missing import for
useRef(): #53015 - (Docs) Remove
FormDatatype onformDatadefined in.jsfile: #53014 - docs: fix codeblock for redirect: #53120
- chore(docs): client-side data fetching loading state: #53164
Example Changes
- feat: remove unused global variable: #51767
Misc Changes
- chore(ci): always run validate-docs-links action: #53022
- update install-native postinstall to use pnpm: #53080
- chore(ci): make
validate-docs-linksrequired: #53123 - chore(test): fix flaky tsconfig.json test: #53132
- chore(ci): fix validate-docs-links for non-PR: #53129
- Temporarily skip flakey action revalidate: #53134
Credits
Huge thanks to @vinaykulk621, @Lantianyou, @styfle, @shuding, @joulev, @AkifumiSato, @trigaten, @HurSungYun, @DevLab2425, @sokra, @alexkirsz, @ztanner, @leerob, @SukkaW, @kwonoj, @huozhi, @ijjk, @balazsorban44, @daniel-web-developer, @ky1ejs, and @arturbien for helping!
Core Changes
- Fix other case for buildId mismatch: #53643
- Update font data: #53649
Documentation Changes
- fix typo in image.mdx: #53638
Misc Changes
- Add update fonts workflow: #53645
- Add node setup for fonts workflow
- Update fonts workflow env
Credits
Huge thanks to @martinstanicio and @ijjk for helping!
Core Changes
- Revert "Implement new forking technique for vendored packages. (#51083)": #53640
- Fix tracing in require-hook: #53642
Documentation Changes
- (Docs) Remove
appDirfrom experimental flag inmdxconfiguration docs.: #53610 - docs: fix the link to another document: #53599
Misc Changes
- Reduce flakiness of app-fetch-logging test: #53612
Credits
Huge thanks to @vinaykulk621, @ztanner, @tnyo43, @gnoff, and @ijjk for helping!
Core Changes
- update turbopack and update code for API changes: #53576
- chore(lint): fix lint warning about unused import
current_dir: #53587 - Update to turbopack-230804.2: #53588
- Remove Base Path from usePathname output: #53582
- Update ISR revalidateTag handling: #53595
- Implement new forking technique for vendored packages.: #51083
- return a 404 when
/next/_databuild IDs are mismatched: #53596
Documentation Changes
- docs: update webhook snippet for cache revalidation: #53585
- use import type to import from 'next' in ts examples: #53568
- chore(docs): update static exports documentation with missing info: #53592
- docs: fix typo on caching page: #53597
Example Changes
- EXAMPLE: fix with-supabase signup button style: #53531
Misc Changes
- chore: update to
pnpm@8.6.11: #50923
Credits
Huge thanks to @sokra, @ForsakenHarmony, @styfle, @olrtg, @williamli, @gon250, @wbinnssmith, @wyattjoh, @ijjk, @gnoff, @leerob, and @ztanner for helping!
Core Changes
- Move metadata error under error boundaries: #53551
- Fix dynamic route not-found boundary matching: #53564
Documentation Changes
- doc: styled-components has stable version: #53539
Misc Changes
- Add test for catching metadata error in error boundaries: #53581
Credits
Huge thanks to @huozhi and @landsman for helping!
Core Changes
- feat(next):
next info --verbosefor additional details: #53181 - fix: fetch deduping in dev: #53549
- fix(next): clarify
fetchpolyfill, dropnode-fetch: #53548 - chore: remove useless curly brackets from
next/legacy/image: #53534 - add support for EXPERIMENTAL_TURBOPACK in next build: #53535
- update turbopack: #53545
Documentation Changes
- Fix markdown for caching doc link: #53536
- docs: Remove duplicate backtick in next/font: #53520
- docs: Fix typo and link in 02-app-router-migration.mdx: #53537
- docs: fix force-dynamic example: #53521
- Add
--use-buntocreate-next-app: #53467
Example Changes
- example: Improve Stripe examples: #53255
- Move USER and remove redundant --chown from Dockerfile: #53441
Misc Changes
- update swc_core and sync deps: #53538
- chore: add GH action to notify about pending PRs: #53541
- chore: update bug repro links: #53550
Credits
Huge thanks to @kwonoj, @jacobpgn, @sokra, @jaknas, @balazsorban44, @ztanner, @robertwbradford, @noam-honig, @jsteele-stripe, @stefee, @li-jia-nan, and @colinhacks for helping!
Core Changes
- Allow
next/headersin middleware &draftModein edge runtime: #53465 - Add useOptimistic to client-only errors: #53313
- Fix resource being preloaded multiple times during development: #53525
Documentation Changes
- (docs) Add example of redirection in Server Actions: #53485
- Adding docs about static exports not supporting dynamic segments: #52959
Misc Changes
- Update
swc_coretov0.79.36: #53416 - Update
swc_coretov0.79.38: #53508 - Add test for client router state invalidation caused by cookie mutations: #53494
Credits
Huge thanks to @shuding, @ides15, @ztanner, @kdy1, and @adrianbw for helping!
Core Changes
- Add list of aliased
lucide-reacticons to the transform rules: #53483 - fix Next.rs API: #53456
- Ensure router-server clean-up exits properly: #53495
Documentation Changes
- Docs: update caching docs: #53478
- Minor grammar fix in "src Directory" page: #53481
- docs: add clarity for deleting cookies: #52338
Example Changes
- examples: implement server side auth with supabase: #53372
- Fixed wrong link: #53472
Credits
Huge thanks to @shuding, @delbaoliveira, @sokra, @ijjk, @SubsequentlySneeds, @dijonmusters, @jarrettmeyer, and @kasperadk for helping!
Core Changes
- Disable router.prefetch in development: #53477
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Add warning logs for incorrect page exports: #53449
- Remove Route Handlers: #53462
- Enable additional webpack memory cache: #52540
Documentation Changes
- chore(docs): add section about responsive images: #53463
Example Changes
- Switch default reproduction-template to app: #53453
Misc Changes
- chore(create-next-app): use
tailwind.config.tsfor typescript templates: #47795
Credits
Huge thanks to @samcx, @juliusmarminge, @agadzik, @wyattjoh, @styfle, and @timneutkens for helping!
Core Changes
- Always add
?ts=query for scripts during development: #53411 - chore: enable typescript-eslint's recommended and stylistic configs internally: #52948
- Fix windows unit tests: #53412
- disable cache compression: #53427
- Fix broken request handler: #51939
- Ensure child processes can clean up: #53439
- Enable Webpack compression for dev: #53430
Documentation Changes
- docs: fix broken diagram in caching docs: #53414
- Docs: Fix formatting issues in the caching docs: #53436
- Docs: Review Getting Started Section: #53377
- fix(doc): Broken link formatting in draft-mode doc (app router): #53446
Example Changes
- fix: update lost dependencies for examples: #53419
- Revert "docker examples: improve perf by using COPY --link": #53440
Misc Changes
- additional test runner refactoring: #53406
- chore(test): move build-spinners node-pty test to isolated: #53408
- chore(ci): remove console.log(): #53413
Credits
Huge thanks to @shuding, @JoshuaKGoldberg, @ztanner, @styfle, @ijjk, @leerob, @li-jia-nan, @sokra, @gwer, @balazsorban44, @timneutkens, @delbaoliveira, and @leotrt for helping!
Core Changes
- Shared Loaders for Webpack and Turbopack: #52846
- router: apply server actions in a similar way to router.refresh(): #53373
Credits
Huge thanks to @wyattjoh and @timneutkens for helping!
Core Changes
- add a "skip" cache type to verbose logging mode: #53275
- update turbopack: #53291
- actions: fix revalidate after redirect: #53368
- Prefer svg icon instead favicon if possible: #53343
- Remove fibers from peerDependencies: #53395
Documentation Changes
- docs: Add
next-internationalto examples list: #53303 - Fixed simple typo in documentation: #53317
- Update nginx.conf example in documentation for improved flexibility and clarity: #53135
- docs: fix typo: #53100
- docs: Update Route Handlers AI example code snippet: #52127
- Added docs on async
not-found.jsserver components: #51999 - remove x-xss-protection-header: #53362
- docs: update active link code snippet for better equality check: #53327
- Docs: Document caching mechanisms : #52514
Example Changes
- fix: (README.md) Fix typing error: #53311
- chore(examples): fall back to English dictionary in i18n example: #53207
- examples: update examples with-ant-design: #52896
Misc Changes
- Try to fix flakey
socket hang upfailures in stream cancel tests: #53318 - remove --force from install-native postinstall: #53320
- Clarify requirements for running examples: #53143
- Update
swc_coretov0.79.33: #53308 - Update flakey app-action and prerender-prefetch tests: #53340
- Revert "Update
swc_coretov0.79.33(#53308)": #53381 - Fix build-native turbo config: #53380
- Tweak flakey prefetch test handling: #53391
Credits
Huge thanks to @ztanner, @felipe-b-oliveira, @steven-tey, @Budmin, @jridgewell, @sokra, @mayank1513, @balazsorban44, @devshun, @revolunet, @dominiksipowicz, @kdy1, @ijjk, @konojunya, @ozansevkin, @li-jia-nan, @feedthejim, @huozhi, and @delbaoliveira for helping!
Core Changes
- fix(font): expose loading error for debugging: #53284
- Turbopack: clear require.cache after writing files (Next.rs API): #53285
Credits
Huge thanks to @balazsorban44 and @sokra for helping!
Core Changes
- some bugfixes to resolving and context creation: #53219
- Respect fetching logging config and Polish logs format: #52973
- Improved
modularizeImportsrules: #53051 - Avoid bundling
react-dev-overlayfor dev: #53259 - refactor smooth scroll bailout logic in app navigations: #53186
- Turbopack: Update Turbopack: #53266
- fix route groups in app_structure: #53247
- Implement Next.rs API: #52983
Documentation Changes
- docs: match image example with code: #53254
- chore(docs): remove repeated closing bracket: #53268
Misc Changes
- Remove arbitrary timeout in pr/release stats: #53194
Credits
Huge thanks to @sokra, @huozhi, @balazsorban44, @shuding, @ztanner, @ijjk, @alexkirsz, and @Michaeloye for helping!
Core Changes
- feat(turbopack): embed build time info, emits next features telemetry event: #53028
- Fix hydration errors caused by root ErrorOverlay: #53216
- update turbopack: #53221
- Split into dev server and next.rs api mode: #53220
- Reimplement stream cancellation: #52281
- feat(next-swc): log swc download url if fails: #53176
- fix(next-swc): exclude raw target triples without native bindings: #53230
- Wrap incremental cache in an IPC server: #53030
- Fix file tracing issues for not-found pages: #53231
Documentation Changes
- Fix grammatical error in docs: #53197
- Update 01-installation.mdx: #53192
- [docs] add documentation for
maxDurationsegment option: #52326
Misc Changes
- refactor(cna): replace
chalkwithpicocolors,globwithfast-glob@2.2.7: #53146 - add hydration error testcase when using
useId()in a client component: #53223 - [create-next-app] fix template css for top / bottom alignment: #53227
- Add CI label: #53229
Credits
Huge thanks to @Aryan9592, @ecklf, @kwonoj, @SukkaW, @ztanner, @sokra, @jridgewell, @jueungrace, and @ijjk for helping!
Core Changes
- Updates @typescript-eslint/parser to 6.1.0: #52848
- fix(next/image): washed out blur placeholder: #52583
- Handle basePath app-dir minimal case: #53189
Credits
Huge thanks to @ky1ejs, @arturbien, and @ijjk for helping!
Core Changes
- Fix minimal basePath handling: #53174
Documentation Changes
- chore(docs): client-side data fetching loading state: #53164
Credits
Huge thanks to @daniel-web-developer and @ijjk for helping!
Core Changes
- fix(edge): allow
Requestcloning viaNextRequest: #53157 - chore: extract common get-validated-args: #53165
Credits
Huge thanks to @balazsorban44 and @styfle for helping!
Core Changes
- Improve internal web stream utils: #53004
- fix: Add
Next-Urlto http vary in consideration of intercept routes.: #52746 - update Turbopack: #53098
- Add app, error, and document entrypoints: #53013
- Turbopack: use edge environment in server-side rendering of client components too: #53099
- refactor(codemod): replace chalk with picocolors: #53115
- move webpack specific logic into a separate file: #53114
- feat(turbopack): emit MODULE_FEATURE telemetry from turbopack: #52356
- Fix not found hangs the build with overridden node env: #53106
- chore: update warning message from
yarn add sharptonpm i sharp: #53130
Documentation Changes
- (Docs) add missing import.: #52992
- Fix formData code snippet in route handler docs: #52532
- docs: remove unneeded good to know section during installation: #53078
- docs: fix typo in
08-parallel-routes.mdx: #53069 - chore(docs): Extend the options for custom server init: #52851
- (Docs) Add missing import for
useRef(): #53015 - (Docs) Remove
FormDatatype onformDatadefined in.jsfile: #53014 - docs: fix codeblock for redirect: #53120
Example Changes
- feat: remove unused global variable: #51767
Misc Changes
- chore(ci): always run validate-docs-links action: #53022
- update install-native postinstall to use pnpm: #53080
- chore(ci): make
validate-docs-linksrequired: #53123 - chore(test): fix flaky tsconfig.json test: #53132
- chore(ci): fix validate-docs-links for non-PR: #53129
- Temporarily skip flakey action revalidate: #53134
Credits
Huge thanks to @vinaykulk621, @Lantianyou, @styfle, @shuding, @joulev, @AkifumiSato, @trigaten, @HurSungYun, @DevLab2425, @sokra, @alexkirsz, @ztanner, @leerob, @SukkaW, @kwonoj, @huozhi, and @ijjk for helping!
Core Changes
- Separate routing code from render servers: #52492
- Move Pages API rendering into bundle: #52149
- update Turbopack: #52986
- Turbopack: Refactoring module references: #52930
- Increase timeout for 404 tests: #52998
- Reland "Refine the not-found rendering process for app router": #52985
- Revert "Separate routing code from render servers (#52492)": #53016
Documentation Changes
- "Clarify the 'Existing Projects' section of the TypeScript docs:: #52944
- Update 02-dynamic-routes.mdx: #52975
- chore(docs): fix broken link: #53021
Misc Changes
- Update to latest version of turborepo: #52979
- Update
swc_coretov0.79.22: #52945 - chore(ci): add pnpm workspace for github actions: #52976
- Changed package manager for install-native.mjs to pnpm: #52971
- update CODEOWNERS config: #53017
Credits
Huge thanks to @ijjk, @wyattjoh, @sokra, @kdy1, @alexkirsz, @styfle, @ShaunFerris, @syedtaqi95, @Heidar-An, @huozhi, and @ztanner for helping!
Core Changes
- Separate routing code from render servers: #52492
- Move Pages API rendering into bundle: #52149
- update Turbopack: #52986
- Turbopack: Refactoring module references: #52930
- Increase timeout for 404 tests: #52998
- Reland "Refine the not-found rendering process for app router": #52985
- Revert "Separate routing code from render servers (#52492)": #53016
Documentation Changes
- "Clarify the 'Existing Projects' section of the TypeScript docs:: #52944
- Update 02-dynamic-routes.mdx: #52975
- chore(docs): fix broken link: #53021
Misc Changes
- Update to latest version of turborepo: #52979
- Update
swc_coretov0.79.22: #52945 - chore(ci): add pnpm workspace for github actions: #52976
- Changed package manager for install-native.mjs to pnpm: #52971
- update CODEOWNERS config: #53017
Credits
Huge thanks to @ijjk, @wyattjoh, @sokra, @kdy1, @alexkirsz, @styfle, @ShaunFerris, @syedtaqi95, @Heidar-An, @huozhi, and @ztanner for helping!
Core Changes
- fix: add missing
<preload>fornext/imagein App Router: #52425 - Support metadata exports for server components not-found: #52678
- feat(next-swc): try to fallback native bindings with MODULE_NOT_FOUND: #52667
- Turbopack: Vc
and Turbo Engine type system improvements : #51792 - Fix runtime edge not-found handling: #52754
- fix: forward NavigateOptions in adaptForAppRouterInstance: #52498
- fix(output): do not slice pathname unless ends with
.txt: #52640 - Fix tagsManifest initialization check: #52776
- Turbopack: Experimental dev app pages support: #52680
- Turbopack: move Asset::ident to more specific traits: #52683
- Fix tracking of ContextModule: #52795
- Set process.title for router and render workers: #52779
- fix Remove unnecessary await: #52800
- Revert "perf: improve URL validation performance": #52818
- Refactor the client entry plugin: #52798
- Turbopack: Add manifest generation to pages: #52793
- Turbopack: move references() to specific traits: #52822
- Update default
moduleResolutionintsconfig.jsonfromnodetobundler: #51957 - Turbopack: Next.rs API improvements: #52856
- update turbopack: #52899
- Update vendor @vercel/og: #52897
- Fixed:#52853 Lacking 'color' attribute in IconDescriptor Metadata: #52902
- Support basePath with edge runtime for Custom App Routes: #52910
- improve error DX on pages with RSC build errors: #52843
- fix: allow smooth scrolling if only hash changes (pages & app): #52915
- add edge support for next.rs API: #52885
- Allow general language codes in the Metadata API: #52920
- Fix client reference manifest for interception routes: #52961
- Refine the not-found rendering process for app router: #52790
- app-router: prefetching tweaks: #52949
- Revert "Refine the not-found rendering process for app router": #52977
Documentation Changes
- Update mention of route handlers for forms: #52781
- (Docs) add missing
jsversion forgenerateMetadata.: #52763 - docs : fix typo in React cache example: #52787
- chore(docs): Add mentioning of HOSTNAME env variable for standalone output: #52804
- Fix typo in docs: #52815
- Update 02-edge-and-nodejs-runtimes.mdx: #52888
- chore(docs): add Typescript statically typed links mention in link doc: #52847
- chore(docs): fix typo in generate metadata docs: #52904
- fix example component in MDX documentation: #52753
- wrong content for next.config.mjs for MDX Plugins: #52738
- Update 06-lazy-loading.mdx: Incorrect filename in Example on "Importing Named Imports": #52932
- Change "publically" to "publicly" in the routing docs: #52966
Example Changes
- examples: export
force-dynamicfrom all dynamic routes: #52916
Misc Changes
- chore: add "please simplify reproduction" comment: #52631
- update job concurrency: #52788
- Lock node version to 18.16: #52894
- Update runs-on tags
- chore: add GitHub Action to manage "+1" comments: #52866
Credits
Huge thanks to @styfle, @huozhi, @balazsorban44, @kwonoj, @alexkirsz, @ijjk, @Jeffrey-Zutt, @timneutkens, @vinaykulk621, @Ryan-Dia, @sokra, @shuding, @steppefox, @hiro0218, @rjsdnql123, @feedthejim, @fgiuliani, @steven-tey, @AntoineBourin, @adamrhunter, @darshanjain-entrepreneur, @s0h311, @wyattjoh, @ztanner, @djreillo, @dijonmusters, and @cassidoo for helping!
Core Changes
- Revert "Refine the not-found rendering process for app router": #52977
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Turbopack: Next.rs API improvements: #52856
- update turbopack: #52899
- Update vendor @vercel/og: #52897
- Fixed:#52853 Lacking 'color' attribute in IconDescriptor Metadata: #52902
- Support basePath with edge runtime for Custom App Routes: #52910
- improve error DX on pages with RSC build errors: #52843
- fix: allow smooth scrolling if only hash changes (pages & app): #52915
- add edge support for next.rs API: #52885
- Allow general language codes in the Metadata API: #52920
- Fix client reference manifest for interception routes: #52961
- Refine the not-found rendering process for app router: #52790
- app-router: prefetching tweaks: #52949
Documentation Changes
- Update 02-edge-and-nodejs-runtimes.mdx: #52888
- chore(docs): add Typescript statically typed links mention in link doc: #52847
- chore(docs): fix typo in generate metadata docs: #52904
- fix example component in MDX documentation: #52753
- wrong content for next.config.mjs for MDX Plugins: #52738
- Update 06-lazy-loading.mdx: Incorrect filename in Example on "Importing Named Imports": #52932
- Change "publically" to "publicly" in the routing docs: #52966
Example Changes
- examples: export
force-dynamicfrom all dynamic routes: #52916
Misc Changes
- Lock node version to 18.16: #52894
- Update runs-on tags
- chore: add GitHub Action to manage "+1" comments: #52866
Credits
Huge thanks to @steven-tey, @huozhi, @sokra, @AntoineBourin, @styfle, @adamrhunter, @darshanjain-entrepreneur, @s0h311, @wyattjoh, @ztanner, @balazsorban44, @djreillo, @dijonmusters, @shuding, @cassidoo, and @feedthejim for helping!
Core Changes
- fix: add missing
<preload>fornext/imagein App Router: #52425 - Support metadata exports for server components not-found: #52678
- feat(next-swc): try to fallback native bindings with MODULE_NOT_FOUND: #52667
- Turbopack: Vc
and Turbo Engine type system improvements : #51792 - Fix runtime edge not-found handling: #52754
- fix: forward NavigateOptions in adaptForAppRouterInstance: #52498
- fix(output): do not slice pathname unless ends with
.txt: #52640 - Fix tagsManifest initialization check: #52776
- Turbopack: Experimental dev app pages support: #52680
- Turbopack: move Asset::ident to more specific traits: #52683
- Fix tracking of ContextModule: #52795
- Set process.title for router and render workers: #52779
- fix Remove unnecessary await: #52800
- Revert "perf: improve URL validation performance": #52818
- Refactor the client entry plugin: #52798
- Turbopack: Add manifest generation to pages: #52793
- Turbopack: move references() to specific traits: #52822
- Update default
moduleResolutionintsconfig.jsonfromnodetobundler: #51957
Documentation Changes
- Update mention of route handlers for forms: #52781
- (Docs) add missing
jsversion forgenerateMetadata.: #52763 - docs : fix typo in React cache example: #52787
- chore(docs): Add mentioning of HOSTNAME env variable for standalone output: #52804
- Fix typo in docs: #52815
Misc Changes
- chore: add "please simplify reproduction" comment: #52631
- update job concurrency: #52788
Credits
Huge thanks to @styfle, @huozhi, @balazsorban44, @kwonoj, @alexkirsz, @ijjk, @Jeffrey-Zutt, @timneutkens, @vinaykulk621, @Ryan-Dia, @sokra, @shuding, @steppefox, @hiro0218, @rjsdnql123, @feedthejim, and @fgiuliani for helping!
Core Changes
- Fix trailing slash with locale domain: #52343
- perf: use fs.readdirSync with withFileTypes: #52340
- Make
get_client_chunking_contextindependent of context: #51928 - perf: use fs.opendir for better resource usage: #52341
- fix: metadatabase warning message: #52363
- perf: simplify getShortDynamicParamType on app-render: #52355
- fix: prevent infinite dev refresh on nested parallel routes: #52362
- turbopack: add incremental cache for node.js app rendering: #52172
- Refactor metadata og and twitter title to be always presented: #52320
- perf: reduce system calls on eslint plugin: #52359
- Turbopack: Use a different chunking context for web entry: #52404
- Temporarily revert change to pages render: #52407
- Remove integration tests now in vercel/turbo: #52413
- Update Rust nightly toolchain: #51757
- Cache concurrent
ensurePagerequests for the same page: #52360 - [turbopack]: Remove skipped integration tests: #52421
- Fix metadata layer webpack rule for server-only: #52403
- Override file based images with social images property: #52416
- Split the client reference manifest file to be generated per-entry: #52450
- fix(standalone): fixed
output: "standalone"crashing build when there is noapp/page: #51993 - fix: add aws packages to default
serverComponentsExternalPackages: #52388 - refactor: avoid unnecessary async scopes in eslint: #52418
- Ensure useParams return array for catch-all routes: #52494
- turbopack: Module Trait: #52401
- Fix tracking of client reference manifest: #52505
- perf: create an experimental bundled version of the next server: #52206
- Chore: Remove redundant intersection type: #52453
- perf: Refactor recursiveReadDirSync: #52517
- add version to function config manifest: #52507
- Turbopack: Source trait: #52511
- Update id handling for fonts: #52559
- feat(turbopack): support swc transform plugins : #50401
- feat(babel-loader): provide migration help message for babel config: #52565
- Support global-error for ssr fallback: #52573
- Fix ISR case with bot requests: #52581
- fix(next/jest): jest can not load server-only code: #52393
- Turbopack: App Router build POC: #52036
- Avoid loading Next.js config again in render workers: #52587
- Add more extensions to
next-types-pluginforNode16/NodeNext: #52562 - feat(next-swc): report native bindings load err code: #52570
- Move App Pages rendering into bundle: #52290
- feat(turbopack): support native webp: #52285
- Set sizes prop to any for svg icons: #52609
- Turbopack: OutputAsset trait: #52606
- chore(deps): bump
react@18.3.0-canary-9377e1010-20230712: #52649 - Ensure root layout only render once per request: #52589
- Fix bundle path normalization for /index routes: #52650
- Turobpack: Next.rs API (part 1): #52259
- Clean up promises after resolving: #52656
- Catch layout error in global-error: #52654
- Fix per-entry client reference manifest for grouped and named segments: #52664
Documentation Changes
- chore(docs): fix link to
useSearchParams: #52348 - docs: Clarify
create-next-apprequires public GitHub URLs.: #52367 - remove unnecessary dot.: #52387
- fix metadata-related typo in MDX documentation: #52446
- docs: Simplify message in React essentials section.: #52469
- docs: Improve error handling docs for server-side errors.: #52302
- docs: Add Playwright/Cypress Discord links: #52084
- docs: Add Kuma to CSS-in-JS supported list.: #52438
- docs: clarify
fetchrequest de-duplication: #52100 - docs: Update TypeScript plugin section for VS Code prompt: #52111
- docs: Improve hydration mismatch error guide.: #52481
- docs: add Supabase loader for
next/image: #52480 - docs: fix the incrementalCacheHandlerPath: #52124
- fixed error #52486 fetchUsers to fetchUser: #52487
- Update 08-parallel-routes.mdx: #52419
- docs: Add
formDataexample for Route Handlers: #52358 - chore(docs): Typesafe
metadataobject: #52252 - docs: Update
_appand_document: #52479 - docs: add CDN optimization as possible hydration error cause: #52489
- docs: correct TypeScript spelling on the home page: #52500
- chore(docs): fix a few typos in image loader docs: #52508
- docs: fix grammar on Server Actions: #52556
- Fixed grammar in 03-react-essentials.mdx: #52597
- docs: fix typo in CSS Modules Description: #52599
- docs: Fix typo in generate-static-params.mdx: #52595
- docs: move MUI to supported list: #52584
- docs: Add missing closing tag for react hydration error message.: #52607
Example Changes
- examples: Update Convex to latest version (
0.19): #52473 - Update examples: counter.tsx - Don't need empty space: #52576
Misc Changes
- Update swc_core to
v0.79.13: #52371 - chore(ci): fix turbo input path globs: #52414
- fix(create-next-app): click event blockage under 1024px by adjusting z-index: #52074
- chore: add label to locked threads: #52497
- fix:
not-found.tsxwithoutput: export: #52526 - use
npm packinstead ofyarn pack: #52563 - ci: skip build-native for docs only change: #52571
- Remove unnecessary
body-parser: #52580
Credits
Huge thanks to @ijjk, @anonrig, @alexkirsz, @gfgabrielfranca, @styfle, @ztanner, @leerob, @sokra, @huozhi, @Bitbbot, @wyattjoh, @kdy1, @wbinnssmith, @shuding, @jridgewell, @BrennanColberg, @Nick-Mazuk, @delbaoliveira, @thomasballinger, @lucgagan, @nroland013, @SonMooSans, @jenewland1999, @thorwebdev, @jyunhanlin, @darshanjain-entrepreneur, @DuCanhGH, @Gnadhi, @yagogmaisp, @carlos-menezes, @balazsorban44, @ryo-manba, @timneutkens, @feedthejim, @vamcs, @matepapp, @SleeplessOne1917, @ecklf, @djreillo, @kwonoj, @gnoff, @feugy, @karlhorky, @starunaway, @FernandVEYRIER, @Ryan-Dia, @Terro216, @anthonyshew, and @suhaotian for helping!
Core Changes
- Catch layout error in global-error: #52654
- Fix per-entry client reference manifest for grouped and named segments: #52664
Credits
Huge thanks to @huozhi and @shuding for helping!
Core Changes
- Turbopack: OutputAsset trait: #52606
- chore(deps): bump
react@18.3.0-canary-9377e1010-20230712: #52649 - Ensure root layout only render once per request: #52589
- Fix bundle path normalization for /index routes: #52650
- Turobpack: Next.rs API (part 1): #52259
- Clean up promises after resolving: #52656
Credits
Huge thanks to @sokra, @styfle, @huozhi, and @shuding for helping!
Core Changes
- Move App Pages rendering into bundle: #52290
- feat(turbopack): support native webp: #52285
- Set sizes prop to any for svg icons: #52609
Documentation Changes
- docs: fix typo in CSS Modules Description: #52599
- docs: Fix typo in generate-static-params.mdx: #52595
- docs: move MUI to supported list: #52584
- docs: Add missing closing tag for react hydration error message.: #52607
Misc Changes
- Remove unnecessary
body-parser: #52580
Credits
Huge thanks to @Ryan-Dia, @Terro216, @wyattjoh, @kwonoj, @balazsorban44, @anthonyshew, @suhaotian, and @huozhi for helping!
Core Changes
- fix(next/jest): jest can not load server-only code: #52393
- Turbopack: App Router build POC: #52036
- Avoid loading Next.js config again in render workers: #52587
- Add more extensions to
next-types-pluginforNode16/NodeNext: #52562 - feat(next-swc): report native bindings load err code: #52570
Documentation Changes
- Fixed grammar in 03-react-essentials.mdx: #52597
Example Changes
- Update examples: counter.tsx - Don't need empty space: #52576
Credits
Huge thanks to @feugy, @alexkirsz, @shuding, @karlhorky, @starunaway, @FernandVEYRIER, and @kwonoj for helping!
Core Changes
- Turbopack: Source trait: #52511
- Update id handling for fonts: #52559
- feat(turbopack): support swc transform plugins : #50401
- feat(babel-loader): provide migration help message for babel config: #52565
- Support global-error for ssr fallback: #52573
- Fix ISR case with bot requests: #52581
Documentation Changes
- chore(docs): fix a few typos in image loader docs: #52508
- docs: fix grammar on Server Actions: #52556
Misc Changes
- fix:
not-found.tsxwithoutput: export: #52526 - use
npm packinstead ofyarn pack: #52563 - ci: skip build-native for docs only change: #52571
Credits
Huge thanks to @styfle, @sokra, @ijjk, @djreillo, @kwonoj, @gnoff, and @huozhi for helping!
Core Changes
- perf: create an experimental bundled version of the next server: #52206
- Chore: Remove redundant intersection type: #52453
- perf: Refactor recursiveReadDirSync: #52517
- add version to function config manifest: #52507
Documentation Changes
- docs: add CDN optimization as possible hydration error cause: #52489
- docs: correct TypeScript spelling on the home page: #52500
Credits
Huge thanks to @feedthejim, @vamcs, @matepapp, @SleeplessOne1917, @shuding, and @ecklf for helping!
Core Changes
- fix(standalone): fixed
output: "standalone"crashing build when there is noapp/page: #51993 - fix: add aws packages to default
serverComponentsExternalPackages: #52388 - refactor: avoid unnecessary async scopes in eslint: #52418
- Ensure useParams return array for catch-all routes: #52494
- turbopack: Module Trait: #52401
- Fix tracking of client reference manifest: #52505
Documentation Changes
- Update 08-parallel-routes.mdx: #52419
- docs: Add
formDataexample for Route Handlers: #52358 - chore(docs): Typesafe
metadataobject: #52252 - docs: Update
_appand_document: #52479
Misc Changes
- fix(create-next-app): click event blockage under 1024px by adjusting z-index: #52074
- chore: add label to locked threads: #52497
Credits
Huge thanks to @DuCanhGH, @Gnadhi, @yagogmaisp, @carlos-menezes, @leerob, @balazsorban44, @anonrig, @ryo-manba, @timneutkens, @sokra, and @shuding for helping!
Core Changes
- perf: reduce system calls on eslint plugin: #52359
- Turbopack: Use a different chunking context for web entry: #52404
- Temporarily revert change to pages render: #52407
- Remove integration tests now in vercel/turbo: #52413
- Update Rust nightly toolchain: #51757
- Cache concurrent
ensurePagerequests for the same page: #52360 - [turbopack]: Remove skipped integration tests: #52421
- Fix metadata layer webpack rule for server-only: #52403
- Override file based images with social images property: #52416
- Split the client reference manifest file to be generated per-entry: #52450
Documentation Changes
- remove unnecessary dot.: #52387
- fix metadata-related typo in MDX documentation: #52446
- docs: Simplify message in React essentials section.: #52469
- docs: Improve error handling docs for server-side errors.: #52302
- docs: Add Playwright/Cypress Discord links: #52084
- docs: Add Kuma to CSS-in-JS supported list.: #52438
- docs: clarify
fetchrequest de-duplication: #52100 - docs: Update TypeScript plugin section for VS Code prompt: #52111
- docs: Improve hydration mismatch error guide.: #52481
- docs: add Supabase loader for
next/image: #52480 - docs: fix the incrementalCacheHandlerPath: #52124
- fixed error #52486 fetchUsers to fetchUser: #52487
Example Changes
- examples: Update Convex to latest version (
0.19): #52473
Misc Changes
- Update swc_core to
v0.79.13: #52371 - chore(ci): fix turbo input path globs: #52414
Credits
Huge thanks to @Bitbbot, @anonrig, @alexkirsz, @wyattjoh, @kdy1, @wbinnssmith, @shuding, @jridgewell, @styfle, @BrennanColberg, @huozhi, @Nick-Mazuk, @delbaoliveira, @thomasballinger, @lucgagan, @nroland013, @SonMooSans, @jenewland1999, @leerob, @thorwebdev, @jyunhanlin, and @darshanjain-entrepreneur for helping!
Core Changes
- Fix trailing slash with locale domain: #52343
- perf: use fs.readdirSync with withFileTypes: #52340
- Make
get_client_chunking_contextindependent of context: #51928 - perf: use fs.opendir for better resource usage: #52341
- fix: metadatabase warning message: #52363
- perf: simplify getShortDynamicParamType on app-render: #52355
- fix: prevent infinite dev refresh on nested parallel routes: #52362
- turbopack: add incremental cache for node.js app rendering: #52172
- Refactor metadata og and twitter title to be always presented: #52320
Documentation Changes
- chore(docs): fix link to
useSearchParams: #52348 - docs: Clarify
create-next-apprequires public GitHub URLs.: #52367
Credits
Huge thanks to @ijjk, @anonrig, @alexkirsz, @gfgabrielfranca, @styfle, @ztanner, @leerob, @sokra, and @huozhi for helping!
Core Changes
- Reland "ReverseTopological -> AdjacencyMap"": #52142
- Change the Server Actions feature flag to be validated at compile time: #52147
- Fix
modularizeImportstransform ofantd: #52148 - fix: next.config.js with
unstable_getImgProps(): #52153 - update tests list to include all passing tests: #52026
- Support scroll: false for Link component for app router: #51869
- Memoize useRouter from next/navigation when used in Pages Router: #52177
- chore(deps): bump react
18.3.0-canary-1fdacbefd-20230630: #52005 - fix: infinite dev reloads when parallel route is treated a page entry: #52061
- disable flaky test cases: #52184
- Revert "chore(deps): bump react
18.3.0-canary-1fdacbefd-20230630": #52192 - update turbopack: #52186
- Update CustomModuleType import: #52133
- Skip build-time dynamic code checks for specific polyfills in the Edge runtime: #52009
- Update Turbopack: #52198
- Use base36 for the RSC query: #52204
- Fix
dynamicParamscheck in TS plugin: #52211 - Fix tree shaking for image generation module: #51950
- fix env reloading for turbopack: #52194
- Remove zod from require-hook: #52197
- Optimize watch ignore: #52238
- Remove the outdated error for find page dir: #52274
- Disable flakey turbopack env test: #52295
- skip hot reload sync event for applying hmr updates: #52270
- Handle 409s in fetch cache: #51652
- chore: remove experimental
appDir: truefrom tests: #52291 - fix: correct
modularizeImportsfor antd & ant-design/icons: #52169 - Update checksum algorithm to SHA1: #52102
- chore(deps): bump react to 7118f5dd7: #52282
- Update eslint-plugin-react-hooks to 5.0.0-canary-7118f5dd7-20230705: #52275
- Named page chunks: #51921
- chore: fix next dev turbopack benchmark: #52328
- Fix to use keep-alive in standalone mode: #50221
- Use 127.0.0.1 as the default host for the standalone server #52283
Documentation Changes
- Update generate-image-metadata.mdx: #52230
- docs(mdx): Add clearer instructions on the storage location of mdx-components files.: #52187
- docs: Improve some of the error messages pages.: #52271
- fix wrong Link import: #52298
- Document redirect parameters: #51987
- Add manual installation instructions for pages: #51995
- Update 10-router-handlers.mdx: #52098
- Add app router example: #52066
- doc: update typo in instrumentation page: #52311
Example Changes
- Remove legacy head.js in examples: #52292
Misc Changes
- Update test result step: #52154
- Update result job condition: #52155
- fix workflow needs: #52180
- chore: update issue template option to "App Router": #52287
- msic: disable otel esm test: #52325
- Test Progressive Enhancement of Server Actions: #52062
- fix(create-next-app): add missing metadata type: #52299
Credits
Huge thanks to @huozhi, @shuding, @ijjk, @styfle, @sokra, @timneutkens, @ztanner, @alexkirsz, @simonswiss, @feikerwu, @lubakravche, @leerob, @masnormen, @bottxiang, @acdlite, @delbaoliveira, @feedthejim, @mhmdrioaf, @tyler-lutz, @sebmarkbage, @vincenthongzy, @yigithanyucedag, and @doinki for helping!
Core Changes
- Remove the outdated error for find page dir: #52274
- Disable flakey turbopack env test: #52295
- skip hot reload sync event for applying hmr updates: #52270
- Handle 409s in fetch cache: #51652
- chore: remove experimental
appDir: truefrom tests: #52291 - fix: correct
modularizeImportsfor antd & ant-design/icons: #52169 - Update checksum algorithm to SHA1: #52102
- chore(deps): bump react to 7118f5dd7: #52282
- Update eslint-plugin-react-hooks to 5.0.0-canary-7118f5dd7-20230705: #52275
- Named page chunks: #51921
- chore: fix next dev turbopack benchmark: #52328
- Fix to use keep-alive in standalone mode: #50221
- Use 127.0.0.1 as the default host for the standalone server #52283
Documentation Changes
- docs(mdx): Add clearer instructions on the storage location of mdx-components files.: #52187
- docs: Improve some of the error messages pages.: #52271
- fix wrong Link import: #52298
- Document redirect parameters: #51987
- Add manual installation instructions for pages: #51995
- Update 10-router-handlers.mdx: #52098
- Add app router example: #52066
- doc: update typo in instrumentation page: #52311
Example Changes
- Remove legacy head.js in examples: #52292
Misc Changes
- chore: update issue template option to "App Router": #52287
- msic: disable otel esm test: #52325
- Test Progressive Enhancement of Server Actions: #52062
- fix(create-next-app): add missing metadata type: #52299
Credits
Huge thanks to @styfle, @huozhi, @ijjk, @feikerwu, @lubakravche, @leerob, @masnormen, @bottxiang, @shuding, @acdlite, @delbaoliveira, @feedthejim, @alexkirsz, @mhmdrioaf, @tyler-lutz, @sebmarkbage, @vincenthongzy, @yigithanyucedag, and @doinki for helping!
Core Changes
- Memoize useRouter from next/navigation when used in Pages Router: #52177
- chore(deps): bump react
18.3.0-canary-1fdacbefd-20230630: #52005 - fix: infinite dev reloads when parallel route is treated a page entry: #52061
- disable flaky test cases: #52184
- Revert "chore(deps): bump react
18.3.0-canary-1fdacbefd-20230630": #52192 - update turbopack: #52186
- Update CustomModuleType import: #52133
- Skip build-time dynamic code checks for specific polyfills in the Edge runtime: #52009
- Update Turbopack: #52198
- Use base36 for the RSC query: #52204
- Fix
dynamicParamscheck in TS plugin: #52211 - Fix tree shaking for image generation module: #51950
- fix env reloading for turbopack: #52194
- Remove zod from require-hook: #52197
- Optimize watch ignore: #52238
Documentation Changes
- Update generate-image-metadata.mdx: #52230
Misc Changes
- fix workflow needs: #52180
Credits
Huge thanks to @timneutkens, @styfle, @ztanner, @sokra, @alexkirsz, @shuding, @huozhi, and @simonswiss for helping!
Core Changes
- update tests list to include all passing tests: #52026
- Support scroll: false for Link component for app router: #51869
Credits
Huge thanks to @sokra and @timneutkens for helping!
Core Changes
- Reland "ReverseTopological -> AdjacencyMap"": #52142
- Change the Server Actions feature flag to be validated at compile time: #52147
- Fix
modularizeImportstransform ofantd: #52148 - fix: next.config.js with
unstable_getImgProps(): #52153
Misc Changes
- Update test result step: #52154
- Update result job condition: #52155
Credits
Huge thanks to @huozhi, @shuding, @ijjk, and @styfle for helping!
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_coretov0.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
renderout 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
serverActionsSizeLimitasserverActionsBodySizeLimitand 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
edgeruntime Pages API/App Route handlersAbortSignalaborts 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_getImgPropsexport 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
turbopackandswc_coretov0.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
resolveExternalcalls: #52053 - Remove EnvironmentIntention: #51965
- fix: env hot reload for RSC pages: #51930
Documentation Changes
- added good to know in
/appbased 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/imagevideo.: #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: trueby default: #51931 - Remove unnecessary mention of scroll false: #51964
- Update next lint section: #51898
- Docs: Fix broken link: #51991
- chore(docs): explain
NODE_ENVenvironment 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-supabaseexample: #51442 - examples: add missing
supabase-jsdependency forwith-supabaseexample: #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_coretov0.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_coretov0.78.24: #51857 - Revert "Update
swc_coretov0.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!
Core Changes
- Delegate static analyzation task to the router worker: #52104
- Add default modularizeImports for antd / ant-design/icons / ahooks: #52031
- Avoid unnecessary
resolveExternalcalls: #52053 - Remove EnvironmentIntention: #51965
- fix: env hot reload for RSC pages: #51930
Documentation Changes
- Docs: Fix missing typings for typescript example: #52076
- docs: Fix broken link: #52092
Misc Changes
- 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 @ForsakenHarmony, @delbaoliveira, @SonMooSans, @shuding, @timneutkens, @tyler-lutz, @alexkirsz, and @huozhi for helping!
Core Changes
- 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
Documentation Changes
- fix(create-next-app): consolidate messages to "Would you like to use": #52011
Misc Changes
- chore(script): improve markdown changelog output in sync-react.js: #52052
- chore(script): fix typo in sync-react.js pull request url: #52057
Credits
Huge thanks to @shuding, @huozhi, @sokra, @styfle, @wyattjoh, and @ijjk for helping!
Core Changes
- 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
Misc Changes
- Loosen metatdata test matcher: #52007
Credits
Huge thanks to @shuding, @gnoff, and @huozhi for helping!
Core Changes
- 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
Documentation Changes
- Update next lint section: #51898
- Docs: Fix broken link: #51991
- chore(docs): explain
NODE_ENVenvironment variable: #52003
Misc Changes
- Remove test skip: #51988
Credits
Huge thanks to @delbaoliveira, @tyler-lutz, @timneutkens, @tvthatsme, @styfle, @huozhi, and @jridgewell for helping!
Core Changes
- fix(typedRoutes): added missing anchor props to LinkRestProps: #51977
- Update
turbopackandswc_coretov0.78.24: #51943 - export config into functions config manifest: #51700
- Add shared input filesystem: #51879
Documentation Changes
- Remove unnecessary mention of scroll false: #51964
Misc Changes
- Ensure metadata test is not affected by other tests: #51973
Credits
Huge thanks to @delbaoliveira, @DuCanhGH, @timneutkens, @ForsakenHarmony, and @feedthejim for helping!
Core Changes
- Reduce the client bundle size of App Router: #51806
- fix turbopack mdx import map: #51881
- error recovery during turbopack hydration: #51882
- Ensure
edgeruntime Pages API/App Route handlersAbortSignalaborts 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_getImgPropsexport 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
Documentation Changes
- [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: trueby default: #51931
Example Changes
- [examples] Update styling for with-supabase example: #51751
Misc Changes
- Update
swc_coretov0.78.24: #51857 - Revert "Update
swc_coretov0.78.24": #51940 - Update codeowners: #51935
- lint fix
Credits
Huge thanks to @SukkaW, @ForsakenHarmony, @kdy1, @jridgewell, @huozhi, @jacobsfletch, @JoshuaKGoldberg, @zignis, @ChristianIvicevic, @tyler-lutz, @mrxbox98, @styfle, @charlesbdudley, @leerob, @oliviertassinari, @balazsorban44, @fsansalvadore, @timneutkens, and @shuding for helping!
Core Changes
- Add retries and clear message to font fetching: #51890
- performance: enable minification for the server bundles: #51831
- Simplify module context invalidation: #51905
Example Changes
- Avoiding try-catch block on examples/app-dir-i18n-routing: #51786
Credits
Huge thanks to @shuding, @milovangudelj, and @feedthejim for helping!
Core Changes
- 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
Credits
Huge thanks to @shuding, @ForsakenHarmony, @huozhi, @kwonoj, and @MaxLeiter for helping!
Core Changes
- 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
Documentation Changes
- Update 10-router-handlers.mdx: #51850
Credits
Huge thanks to @shuding, @tyhopp, @Drblessing, @styfle, @huozhi, @ztanner, and @timneutkens for helping!
Core Changes
- Simplify Flight manifest plugin: #51589
- performance: don't compile on hover on dev: #51830
Documentation Changes
- Fix usage of article "an" before a consonant sound: #51803
Credits
Huge thanks to @charlesbdudley, @shuding, and @feedthejim for helping!
Core Changes
- Add
WATCHPACK_WATCHER_LIMIT=20: #51826
Credits
Huge thanks to @shuding for helping!
Core Changes
- 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
serverActionsSizeLimitasserverActionsBodySizeLimitand 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
Documentation Changes
- docs: improve minor grammar mistake: #51758
- fix: typo into 03-css-in-js.mdx page: #51761
- docs: Add updated
next/imagevideo.: #51790 - docs(deploy): fix GitHub Actions cache key: #51789
Example Changes
- chore(examples): relax pinned versions to fix npm install fail due to peer deps issue: #51636
Misc Changes
- Ensure we run cargo-integration on next change: #51736
Credits
Huge thanks to @ijjk, @ibash, @mohanraj-r, @sokra, @shuding, @kevinmitch14, @iaurg, @leerob, @steebchen, @ztanner, and @Cow258 for helping!
Core Changes
- add edge rendering for app dir for Turbopack: #51666
- Revert "Update
swc_coretov0.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
renderout 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
Documentation Changes
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
Example Changes
- examples: add missing
supabase-jsdependency forwith-supabaseexample: #51703 - docs: update with-next-translate example using appdir: #51720
- fix some issues on examples/app-dir-i18n-routing: #51576
Misc Changes
- Update
swc_coretov0.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
Credits
Huge thanks to @sokra, @bigyanse, @kdy1, @tyler-lutz, @delbaoliveira, @2-NOW, @ijjk, @ForsakenHarmony, @dijonmusters, @Mingyu-Song, @morganfeeney, @timneutkens, @wyattjoh, @aralroca, @nickmccurdy, @adamjmcgrath, @shuding, @devjiwonchoi, @ztanner, @angel1254mc, @huozhi, and @cxa for helping!
Core Changes
- 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
Documentation Changes
- Fix validator action breaking when PRs originate from forks: #51668
Misc Changes
- Revert "[Docs] Fix validator action breaking when PRs originate from …: #51674
Credits
Huge thanks to @delbaoliveira, @ijjk, and @huozhi for helping!
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
Documentation Changes
- added good to know in
/appbased 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
Example Changes
- examples: improve
with-supabaseexample: #51442
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
Credits
Huge thanks to @huozhi, @wyattjoh, @dijonmusters, @danger-ahead, @bre30kra69cs, @leerob, @Yash-Singh1, @jridgewell, @alexkirsz, @ztanner, @sokra, @krmeda, @tyler-lutz, @ijjk, and @delbaoliveira for helping!
Core Changes
- Route Module Updates Redux: #51373
- Lock down server IPC address: #51378
- Revert "Route Module Updates Redux": #51409
- Fix bundling of Server Actions: #51367
- Fix pnpm lock: #51503
- router: add layout and other file supports to parallel routes: #51413
- Next Build Turbo POC: #49942
- add edge rendering for app dir for Turbopack: #50830
- Fix shared action module in two layers: #51510
- Revert "Next Build Turbo POC (#49942)": #51538
- Fix font styles on react dev overlay: #51518
- fix typo in x-next-revalidate-tag-token header: #51432
- Add docs links to RSC errors: #51557
- Moved new line to warnOnce call: #51552
- Update id env prefix: #51588
- router: support layout/special files as direct children of parallel routes: #51604
- use env var to switch next.js to turbopack mode: #51353
- Revert "add edge rendering for app dir for Turbopack": #51617
- Ensure upgrade request has request meta: #51590
- Revert "Fix standalone not found": #51506
Documentation Changes
- docs: Add streaming AI example.: #51382
- docs: remove copy mentioning appDir as an experimental feature: #51403
- examples: update
with-supabaseexample to App Router: #51335 - Fix typo in image alt: #51487
- docs: add better examples to
next/imagedocs.: #51457 - Go directly to caching section: #51501
- fix(typo): add missing word: #51490
- fix(typo): add missing comma: #51489
- Remove duplicate bullet point in app router migration docs: #51440
- fix: missing come: #51437
- Linted MDX: #51530
- docs: Fix typo: #51517
- Migrate validate links script from next-site and setup GitHub action: #51365
- Remove extra word in env key error: #51512
- Remove duplicate word in 11-draft-mode.mdx: #51580
- Broken link at 01-static-and-dynamic-rendering.mdx: #51582
- refactor tests for readability: #51051
Example Changes
- Upgrade with-redux example to app router: #49994
Misc Changes
- ci(workflow): upload test trace for deploy e2e: #51389
- Fix pnpm
ERR_INVALID_THISon Node 20: #51406 - Update flakey build output test: #51411
- Fix native build: #51522
- Revert "Fix pnpm
ERR_INVALID_THISon Node 20": #51539 - Update .vercel.approvers: #51417
- Update broken link validator: #51586
- Temporarily disable flaky test: #51616
- Update flakey build output test: #51625
Credits
Huge thanks to @wyattjoh, @ijjk, @dvakatsiienko, @leerob, @kwonoj, @nickmccurdy, @brunoeduardodev, @dijonmusters, @shuding, @tyler-lutz, @huozhi, @feedthejim, @alexkirsz, @sonam-serchan, @vicsantizo, @leodr, @wiscaksono, @sokra, @delbaoliveira, @ztanner, @hustLer2k, @joshuabaker, and @ForsakenHarmony for helping!
Core Changes
- Revert "Fix standalone not found": #51506
Documentation Changes
- refactor tests for readability: #51051
Credits
Huge thanks to @ForsakenHarmony and @shuding for helping!
Core Changes
- Moved new line to warnOnce call: #51552
- Update id env prefix: #51588
- router: support layout/special files as direct children of parallel routes: #51604
- use env var to switch next.js to turbopack mode: #51353
- Revert "add edge rendering for app dir for Turbopack": #51617
- Ensure upgrade request has request meta: #51590
Misc Changes
- Update broken link validator: #51586
- Temporarily disable flaky test: #51616
- Update flakey build output test: #51625
Credits
Huge thanks to @joshuabaker, @ijjk, @feedthejim, @sokra, @delbaoliveira, and @shuding for helping!
Core Changes
- Fix pnpm lock: #51503
- router: add layout and other file supports to parallel routes: #51413
- Next Build Turbo POC: #49942
- add edge rendering for app dir for Turbopack: #50830
- Fix shared action module in two layers: #51510
- Revert "Next Build Turbo POC (#49942)": #51538
- Fix font styles on react dev overlay: #51518
- fix typo in x-next-revalidate-tag-token header: #51432
- Add docs links to RSC errors: #51557
Documentation Changes
- Fix typo in image alt: #51487
- docs: add better examples to
next/imagedocs.: #51457 - Go directly to caching section: #51501
- fix(typo): add missing word: #51490
- fix(typo): add missing comma: #51489
- Remove duplicate bullet point in app router migration docs: #51440
- fix: missing come: #51437
- Linted MDX: #51530
- docs: Fix typo: #51517
- Migrate validate links script from next-site and setup GitHub action: #51365
- Remove extra word in env key error: #51512
- Remove duplicate word in 11-draft-mode.mdx: #51580
- Broken link at 01-static-and-dynamic-rendering.mdx: #51582
Misc Changes
- Fix native build: #51522
- Revert "Fix pnpm
ERR_INVALID_THISon Node 20": #51539 - Update .vercel.approvers: #51417
Credits
Huge thanks to @tyler-lutz, @huozhi, @feedthejim, @alexkirsz, @leerob, @sonam-serchan, @vicsantizo, @leodr, @wiscaksono, @sokra, @shuding, @wyattjoh, @ijjk, @delbaoliveira, @ztanner, and @hustLer2k for helping!
Core Changes
- Revert "Route Module Updates Redux": #51409
- Fix bundling of Server Actions: #51367
Documentation Changes
- docs: Add streaming AI example.: #51382
- docs: remove copy mentioning appDir as an experimental feature: #51403
- examples: update
with-supabaseexample to App Router: #51335
Example Changes
- Upgrade with-redux example to app router: #49994
Misc Changes
- ci(workflow): upload test trace for deploy e2e: #51389
- Fix pnpm
ERR_INVALID_THISon Node 20: #51406 - Update flakey build output test: #51411
Credits
Huge thanks to @dvakatsiienko, @leerob, @kwonoj, @nickmccurdy, @ijjk, @brunoeduardodev, @dijonmusters, and @shuding for helping!
Core Changes
- Route Module Updates Redux: #51373
- Lock down server IPC address: #51378
Credits
Huge thanks to @wyattjoh and @ijjk for helping!
Core Changes
- Fix windows metadata slashes: #51088
- Do not merge chunkGroups' CSS files: #51103
- Add unique search query for RSC requests to be cacable on CDN: #50970
- add turbopack integration tests to CI: #50904
- Add option for debugging CPU usage: #51174
- Prefer module fields for RSC server layer: #51179
- Update
next/headwarning to link to the correct docs page: #51013 - Revert "Do not merge chunkGroups' CSS files": #51193
- fix: helpful error when
output: exportandnext export -o: #51191 - Strip _rsc query for navigation between app and page: #51195
- Fix standalone not found: #51172
- fix(cli): add all available options to cli commands, format them consistently: #48708
- update storybook example (copy from vercel/vercel): #50865
- chore: remove useless duplicate code: #50705
- fix: app router hash scrolling should respect scroll-padding: #51268
- Fix build error about trace file and edge route: #50808
- chore(router): fix typo in comment: #50581
- Add mikroORM to external package list: #50487
- [docs] Clarify that merely changing
extensiondoes not load.mdf…: #49785 - Correct build workers perf issue: #51271
- Remove edge functions tracking in dev server: #51122
- app router: fix double fetch on prefetch={false}: #51292
- Invalidate client cache when cookies have changed in Server Actions: #51290
- feat(turbopack): enable sassOptions: #51259
- Route Module Cleanup: #50936
- Validate i18n locale domain: #50220
- chore: add dark mode for dev overlay: #48601
- chore: update next/font/google font list: #49969
- fix: Incorrect build size outputs for app dir: #50768
- Simplify server CSS handling: #51018
- Allow configuring analyzerMode in bundle-analyzer: #47468
- Revert "Prefer module fields for RSC server layer": #51316
- Fix Server Actions compiler: #51318
- Revert "Route Module Cleanup": #51322
- test(next-dev): hard fail if next-dev runs with turbopack intenral flag: #51308
- Revert "test(next-dev): hard fail if next-dev runs with turbopack intenral flag": #51327
- Update Next.js code owners: #51319
- Fix CSS deploy id case: #51325
- Update turbopack: #51336
- Fix shared layer bundling in Edge Runtime: #51348
Documentation Changes
- Update 01-images.mdx: #51133
- Update next-image-unconfigured-host.md with correct Remote Patterns Documentation link to new docs: #49750
- Fixes the link from components/fonts to api/fonts: #51169
- Docs: Fix useSearchParams link: #51151
- docs: Improve Actions docs.: #51145
- docs: clarify
usePathnameusage as client hook.: #51146 - Fix a typo: #51176
- docs: fix prettier error: #51182
- Update static assets page to filter out
information: #51180 - Makes codeblock language and filename extensions consistent: #51056
- Fix a mistake URL in "docs/generate-metadata.mdx/metadataBase": #51199
- Add separate lines to eslint prompt in 02-eslint.mdx: #51143
- [Docs][CSS-in-JS]: Update Vanilla Extract link: #51192
- Fix typo on strategy: #51189
- app-icons: correct valid route segments for icon/favicon/apple-icon : #51188
- docs: fix typos: #51185
- Adds
NotetoGood to knowconsistency: #51080 - docs: fix prettier lint: #51222
- [docs] Add missing Edge Runtime APIs: #51224
- docs: Add Tolgee to internationalization section: #49754
- Clarify the limitations of NEXT_PUBLIC_: #49105
- Update 02-fonts.mdx: #51249
- Fix middleware documentation: #48876
- docs: fixed a typo in parallel routes: #51267
- Update module-path-aliases.md: #43592
- CSS concatenation order matches the import order: #39889
- Fix broken link: #51281
- Fix broken links: #51285
- Update images.mdx: #51275
- Docs: Remove extra word in 03-scripts.mdx: #51304
- Update example of Server Actions HoC: #51299
- Adds
envsuggestions: #51312 - docs: fix the url of router event: #51339
Example Changes
- Fix with typescript stripe example fixes #50541: #50574
- fix: cypress component testing - fixes #50283: #50303
- fix deprecated configureStore in with-redux-saga example: #50342
- Show how to utilize the provided .env file in the docker-compose file: #50712
- update(examples): Update with-sentry example: #47855
- Update Player.tsx to improve code readability and styling.: #50275
- Update Docker examples to use Compose v2 command: #51134
- with-facebook-pixel: new implementation with app folder: #49880
- change strapi example to latest one - fixes #51332: #51334
- Auth0 V2 migration update: #45302
- examples: migrate
with-elasticsearchto TypeScript: #44842
Misc Changes
- Fix getting last stable release stats: #51106
- ci(workflow): consolidate bytesize upload workflow: #51110
- ci(workflow): enable test trace upload: #51107
- Increase remote cache timeout for swc builds: #51270
- Update flakey rsc streaming test: #51274
- fix trigger release step
- Update flakey build output test: #51307
- Skip cargo bench job on release: #51311
- Ensure swc is copied for release stats: #51315
- Update flakey deploy tests: #51314
- Update e2e deploy tests to continue: #51321
Credits
Huge thanks to @ijjk, @huozhi, @kwonoj, @shuding, @shozibabbas, @omarhoumz, @jamespearson, @tristndev, @sokra, @leerob, @AldeonMoriak, @delbaoliveira, @manovotny, @styfle, @mirismaili, @tyler-lutz, @SuttonJack, @jeremydouglas, @MaxLeiter, @Kikobeats, @JanCizmar, @mltsy, @WilderDev, @Guilleo03, @Willem-Jaap, @escwxyz, @wiredacorn, @Ethan-Arrowood, @BaffinLee, @ztanner, @greatSumini, @ciruz, @kijikunnn, @DustinsCode, @riqwan, @joostdecock, @nikolovlazar, @Bowens20832, @JohnAlbin, @timneutkens, @feedthejim, @wyattjoh, @gidgudgod, @maxproske, @dunklesToast, @yyuemii, @mPaella, @mknichel, @niko20, @jyunhanlin, @mkcy3, and @valentinpolitov for helping!
Core Changes
- Update turbopack: #51336
- Fix shared layer bundling in Edge Runtime: #51348
Documentation Changes
- docs: fix the url of router event: #51339
Example Changes
- with-facebook-pixel: new implementation with app folder: #49880
- change strapi example to latest one - fixes #51332: #51334
- Auth0 V2 migration update: #45302
- examples: migrate
with-elasticsearchto TypeScript: #44842
Credits
Huge thanks to @niko20, @sokra, @shuding, @ciruz, @jyunhanlin, @mkcy3, and @valentinpolitov for helping!
Core Changes
- test(next-dev): hard fail if next-dev runs with turbopack intenral flag: #51308
- Revert "test(next-dev): hard fail if next-dev runs with turbopack intenral flag": #51327
- Update Next.js code owners: #51319
- Fix CSS deploy id case: #51325
Credits
Huge thanks to @kwonoj, @ijjk, and @mknichel for helping!
Core Changes
- Allow configuring analyzerMode in bundle-analyzer: #47468
- Revert "Prefer module fields for RSC server layer": #51316
- Fix Server Actions compiler: #51318
- Revert "Route Module Cleanup": #51322
Misc Changes
- Update e2e deploy tests to continue: #51321
Credits
Huge thanks to @ijjk and @shuding for helping!
Core Changes
- app router: fix double fetch on prefetch={false}: #51292
- Invalidate client cache when cookies have changed in Server Actions: #51290
- feat(turbopack): enable sassOptions: #51259
- Route Module Cleanup: #50936
- Validate i18n locale domain: #50220
- chore: add dark mode for dev overlay: #48601
- chore: update next/font/google font list: #49969
- fix: Incorrect build size outputs for app dir: #50768
- Simplify server CSS handling: #51018
Documentation Changes
- Fix broken link: #51281
- Fix broken links: #51285
- Update images.mdx: #51275
- Docs: Remove extra word in 03-scripts.mdx: #51304
- Update example of Server Actions HoC: #51299
- Adds
envsuggestions: #51312
Example Changes
- Update Docker examples to use Compose v2 command: #51134
Misc Changes
- Update flakey build output test: #51307
- Skip cargo bench job on release: #51311
- Ensure swc is copied for release stats: #51315
- Update flakey deploy tests: #51314
Credits
Huge thanks to @feedthejim, @delbaoliveira, @shuding, @kwonoj, @wyattjoh, @ijjk, @gidgudgod, @tyler-lutz, @maxproske, @dunklesToast, @yyuemii, @mPaella, and @manovotny for helping!
Core Changes
- Remove edge functions tracking in dev server: #51122
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- fix(cli): add all available options to cli commands, format them consistently: #48708
- update storybook example (copy from vercel/vercel): #50865
- chore: remove useless duplicate code: #50705
- fix: app router hash scrolling should respect scroll-padding: #51268
- Fix build error about trace file and edge route: #50808
- chore(router): fix typo in comment: #50581
- Add mikroORM to external package list: #50487
- [docs] Clarify that merely changing
extensiondoes not load.mdf…: #49785 - Correct build workers perf issue: #51271
Documentation Changes
- docs: Add Tolgee to internationalization section: #49754
- Clarify the limitations of NEXT_PUBLIC_: #49105
- Update 02-fonts.mdx: #51249
- Fix middleware documentation: #48876
- docs: fixed a typo in parallel routes: #51267
- Update module-path-aliases.md: #43592
- CSS concatenation order matches the import order: #39889
Example Changes
- Fix with typescript stripe example fixes #50541: #50574
- fix: cypress component testing - fixes #50283: #50303
- fix deprecated configureStore in with-redux-saga example: #50342
- Show how to utilize the provided .env file in the docker-compose file: #50712
- update(examples): Update with-sentry example: #47855
- Update Player.tsx to improve code readability and styling.: #50275
Misc Changes
- Increase remote cache timeout for swc builds: #51270
- Update flakey rsc streaming test: #51274
- fix trigger release step
Credits
Huge thanks to @JanCizmar, @mltsy, @WilderDev, @Guilleo03, @Willem-Jaap, @escwxyz, @wiredacorn, @Ethan-Arrowood, @BaffinLee, @ztanner, @greatSumini, @ijjk, @ciruz, @kijikunnn, @DustinsCode, @riqwan, @joostdecock, @nikolovlazar, @Bowens20832, and @JohnAlbin for helping!
Documentation Changes
- Adds
NotetoGood to knowconsistency: #51080 - docs: fix prettier lint: #51222
- [docs] Add missing Edge Runtime APIs: #51224
Credits
Huge thanks to @manovotny, @huozhi, and @Kikobeats for helping!
Core Changes
- Fix windows metadata slashes: #51088
- Do not merge chunkGroups' CSS files: #51103
- Add unique search query for RSC requests to be cacable on CDN: #50970
Documentation Changes
- Update 01-images.mdx: #51133
Misc Changes
- Fix getting last stable release stats: #51106
- ci(workflow): consolidate bytesize upload workflow: #51110
Credits
Huge thanks to @ijjk, @huozhi, @kwonoj, @shuding, and @shozibabbas for helping!
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-controlheader on 304 response: #50408 - App Router: fix relative query/hash handling in
next/linkand 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-nodetypes (and more turbopack updates): #50605 - Add new
Google-InspectionTooltoken to known bot UA list: #50467 - Ensure user-installed opentelemetry package has the minimal required version: #50554
- Remove
cssFilesfield: #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
chunksfield 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: truesupport in tsconfig.json: #48018 - Update app router revalidate handling on deploy: #51062
- Apply optimization to middleware when using babel: #51067
- fix:
moduleResolution: bundlersupport 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
asyncto Opengraph Image code example.: #50990 - docs: Correct
useFormStatusto 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
revalidateTagimport: #51005 - Fix Typo in Metadata API Description: #51024
- Clarify a few things about the
instrumentation.tsfile: #51034 - Add section on how to preview docs changes on VSCode: #51019
- Adds the "why" for
next/imageoptimization: #51066 - Remove html from summaries: #51008
- Removes
PORTfrom.envconcatenation example: #51063 - Adds missing
andinHow to Use These Docssection: #51058 - docs: Clarify manual graceful shutdown in dev server: #51078
- Update 03-linking-and-navigating.mdx: #51084
- Fixed phrasing (extra verb): #51054
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_coretov0.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!
Core Changes
- Remove redundant condition: #51070
Misc Changes
- Fix race condition with publish: #51105
Credits
Huge thanks to @shuding and @ijjk for helping!
Documentation Changes
- Removes
PORTfrom.envconcatenation example: #51063 - Adds missing
andinHow to Use These Docssection: #51058 - docs: Clarify manual graceful shutdown in dev server: #51078
- Update 03-linking-and-navigating.mdx: #51084
- Fixed phrasing (extra verb): #51054
Misc Changes
- ci(workflow): generate run summary for all build targets: #51057
Credits
Huge thanks to @kwonoj, @manovotny, @svarunid, and @pauek for helping!
Core Changes
- 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
Documentation Changes
- fix: add missed / at useSelectedLayoutSegment at App routing/Pages and Layout: #50956
- Adds missing
asyncto Opengraph Image code example.: #50990 - docs: Correct
useFormStatusto 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
revalidateTagimport: #51005
Example Changes
- Added Azure Cosmos DB started code, containing a minimal app and README.md: #49128
Misc Changes
- Add test for hidden form fields at the beginning of a Server Action form: #50978
- Add max job timeout for build workflow: #50998
Credits
Huge thanks to @jiwooIncludeJeong, @wyattjoh, @huozhi, @styfle, @shuding, @manovotny, @ethanmick, @tyler-lutz, @didemkkaslan, @itsmingjie, @ijjk, @v1k1, @wbinnssmith, @thepatrick00, @taylorbryant, and @kvnang for helping!
Core Changes
- 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
chunksfield in the client manifest for SSR: #50959 - Invalidate prefetch cache when a tag or path has been revalidated on the server: #50848
Documentation Changes
- [Next Docs] Migrate new docs from next-site to Next.js repo: #50701
Misc Changes
- 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
Credits
Huge thanks to @koba04, @ForsakenHarmony, @huozhi, @ijjk, @shuding, @delbaoliveira, and @kwonoj for helping!
Core Changes
- 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
Misc Changes
- 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
Credits
Huge thanks to @kwonoj, @vinaykulk621, @ijjk, @huozhi, @timneutkens, @wyattjoh, @Kikobeats, @jridgewell, and @gnoff for helping!
Core Changes
- Improve compile time on large application: #50792
Misc Changes
- Add hello-world test for pages and app: #50780
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Optimize next-app-loader resolving speed: #50745
Misc Changes
- ci(workflow): allow to trigger native builds manually: #50703
Credits
Huge thanks to @kwonoj and @timneutkens for helping!
Core Changes
- fix
@vercel/turbopack-nodetypes (and more turbopack updates): #50605 - Add new
Google-InspectionTooltoken to known bot UA list: #50467 - Ensure user-installed opentelemetry package has the minimal required version: #50554
- Remove
cssFilesfield: #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
Misc Changes
- Ensure swc builds are triggered eagerly: #50632
- chore: Enable
share-generics: #50673
Credits
Huge thanks to @ijjk, @ForsakenHarmony, @smaeda-ks, @shuding, @huozhi, @kdy1, @koba04, @wbinnssmith, and @styfle for helping!
Core Changes
- 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
Misc Changes
- chore: Update
swc_coretov0.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
Credits
Huge thanks to @kdy1, @sokra, @shuding, @Schniz, @ijjk, @MaxLeiter, and @jridgewell for helping!
Core Changes
- Fix CSS duplication related problems: #50406
Credits
Huge thanks to @shuding for helping!
Core Changes
- 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-controlheader on 304 response: #50408 - App Router: fix relative query/hash handling in
next/linkand router push/replace: #49521 - Revert "land: Include charset=utf-8 with x-component Content-Type header": #50472
- Optimize Next.js bootup compilation: #50379
Example Changes
- Update Vanilla Extract Example: #50394
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
Credits
Huge thanks to @styfle, @alexkirsz, @devjiwonchoi, @wyattjoh, @huozhi, @timneutkens, @SuttonJack, @sokra, @ijjk, @smaeda-ks, and @keyz for helping!
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
Credits
Huge thanks to @huozhi, @timneutkens, and @shuding for helping!
Core Changes
- test(turbopack): script to sync latest test lists: #50008
- Pages Module Transition: #49962
- Server Actions: Fix member expr in closure captured values: #50020
- Error in next export when serverActions is enabled: #50039
- [turbopack]: Update renamed SubpathValue: #49636
- Fix default metadata is missing in root not-found: #50044
- Always defer close tags to be the suffix of body stream: #50056
- Fix types of cookies(): #50052
- Fix client references extraction of CJS exports analysis: #50059
- Add
x-forwarded-*headers to turbopack renders: #50012 - Remove node-sass from peerDependencies: #50065
- Add optional generic parameter to NextResponse: #47526
- feat(turbopack): initial sass-loader support: #49882
- update test snapshots: #50159
- [create-next-app]: respecting the user's
init.defaultBranchgit con…: #49960 - Update
swc_coretov0.76.18: #50137 - Fix navigating on not-found: #50047
- Fix env variables set in next.config.js: #50179
- Add warning for edge with force-static: #50182
- fix: add missing
draftModetype to GetServerSidePropsContext: #50184 - Fix react fetch deduping without next cache: #50187
- Fix pages react alias: #50128
- Add the
nodecondition to import resolution: #50007 - test(turbopack): run next.js integration tests with denylist: #50172
- Move debugging variable into useEffect: #50210
- refactor webpack loaders: #49535
- Fix static workers distributing: #50194
- Ensure NEXT_DYNAMIC_NO_SSR_CODE has a unique name: #50219
- fix: Added blockfrost-js, lucid-cardano & mongoose package to srvExtPackages to prevent issue #49783 from happening.: #49938
- change static path to /_next/static/media: #50207
- Add special route types to the link type declaration: #50066
- fix: NODE_OPTIONS='--inspect' in next dev for debugging: #48019
- enable more test cases for turbopack: #50154
- feat(next-swc): Implement CJS optimizer: #49972
- Fix alias for react-dom/server: #50238
- Revert "feat(next-swc): Implement CJS optimizer": #50247
- Fix free port handling: #50248
- feat(next-swc): Add CJS optimizer again: #50249
- Fix edge case in the CJS optimizer: #50258
- Remove static analysis of
process.env: #50260 - Update next start listening to behave consistently: #50293
- Update server invoke-request: #50296
- Update unstable_cache key to include args: #50301
- Add root detection utils: #50305
- fix sass handling after refactoring: #50259
- Alias next/server for edge runtime: #50268
- [turbopack]: Serve
_devMiddlewareManifest.jsonfrom router: #50241 - Fix catch-all edge app route: #50313
- land: Include charset=utf-8 with x-component Content-Type header: #50314
- do not apply sass loader on existing loaders: #50308
- Add missing react-dom/client alias: #50324
- Fix missing error when using Actions on the client layer without enabling the feature flag: #50257
- remove allowlist, only use denylist, enable newly passing tests: #50325
- Fix SWC loader options for files outside of RSC layers: #50341
Documentation Changes
- Update app-static-to-dynamic-error.md: #50085
- Update invalid-new-link-with-extra-anchor.md: #50036
Example Changes
- fix: use node copyFile for cross-platform support: #48740
- Clerk example updates: #50021
- Fix TypeScript error in with-mongodb example: #50094
- Use correct casing in filenames: #50223
Misc Changes
- test: disable cache flaky test: #50064
- add tracing for turbopack: #49920
- ci: update github token: #50216
- Fix metadata e2e deploy test: #50252
- Fix middleware e2e deploy test: #50317
- Parallelize Turbopack CI tests: #50292
- makeDir should use func: #50136
Credits
Huge thanks to @kwonoj, @wyattjoh, @shuding, @huozhi, @jridgewell, @ijjk, @karlhorky, @lycuid, @MarkAtOmniux, @darshkpatel, @johnta0, @kdy1, @sokra, @timneutkens, @devagrawal09, @ibrahemid, @styfle, @JesseKoldewijn, @padmaia, @Cow258, @javivelasco, and @05lazy for helping!
Misc Changes
- makeDir should use func: #50136
Credits
Huge thanks to @05lazy for helping!
Core Changes
- Fix SWC loader options for files outside of RSC layers: #50341
Credits
Huge thanks to @shuding for helping!
Core Changes
- do not apply sass loader on existing loaders: #50308
- Add missing react-dom/client alias: #50324
- Fix missing error when using Actions on the client layer without enabling the feature flag: #50257
- remove allowlist, only use denylist, enable newly passing tests: #50325
Misc Changes
- Fix middleware e2e deploy test: #50317
- Parallelize Turbopack CI tests: #50292
Credits
Huge thanks to @ijjk, @sokra, @huozhi, and @shuding for helping!
Core Changes
- Alias next/server for edge runtime: #50268
- [turbopack]: Serve
_devMiddlewareManifest.jsonfrom router: #50241 - Fix catch-all edge app route: #50313
- land: Include charset=utf-8 with x-component Content-Type header: #50314
Credits
Huge thanks to @huozhi, @jridgewell, and @ijjk for helping!
Core Changes
- Remove static analysis of
process.env: #50260 - Update next start listening to behave consistently: #50293
- Update server invoke-request: #50296
- Update unstable_cache key to include args: #50301
- Add root detection utils: #50305
- fix sass handling after refactoring: #50259
Credits
Huge thanks to @javivelasco, @ijjk, @padmaia, and @sokra for helping!
Core Changes
- feat(next-swc): Add CJS optimizer again: #50249
- Fix edge case in the CJS optimizer: #50258
Credits
Huge thanks to @kdy1 and @shuding for helping!
Core Changes
- Revert "feat(next-swc): Implement CJS optimizer": #50247
- Fix free port handling: #50248
Misc Changes
- Fix metadata e2e deploy test: #50252
Credits
Huge thanks to @ijjk for helping!
Core Changes
- feat(next-swc): Implement CJS optimizer: #49972
- Fix alias for react-dom/server: #50238
Credits
Huge thanks to @kdy1 and @huozhi for helping!
Core Changes
- change static path to /_next/static/media: #50207
- Add special route types to the link type declaration: #50066
- fix: NODE_OPTIONS='--inspect' in next dev for debugging: #48019
- enable more test cases for turbopack: #50154
Example Changes
- Use correct casing in filenames: #50223
Credits
Huge thanks to @sokra, @shuding, @padmaia, and @Cow258 for helping!
Core Changes
- Move debugging variable into useEffect: #50210
- refactor webpack loaders: #49535
- Fix static workers distributing: #50194
- Ensure NEXT_DYNAMIC_NO_SSR_CODE has a unique name: #50219
- fix: Added blockfrost-js, lucid-cardano & mongoose package to srvExtPackages to prevent issue #49783 from happening.: #49938
Misc Changes
- ci: update github token: #50216
Credits
Huge thanks to @timneutkens, @huozhi, @sokra, @ijjk, and @JesseKoldewijn for helping!
Core Changes
- Add the
nodecondition to import resolution: #50007 - test(turbopack): run next.js integration tests with denylist: #50172
Misc Changes
- add tracing for turbopack: #49920
Credits
Huge thanks to @sokra, @jridgewell, and @kwonoj for helping!
Core Changes
- Fix env variables set in next.config.js: #50179
- Add warning for edge with force-static: #50182
- fix: add missing
draftModetype to GetServerSidePropsContext: #50184 - Fix react fetch deduping without next cache: #50187
- Fix pages react alias: #50128
Example Changes
- Clerk example updates: #50021
- Fix TypeScript error in with-mongodb example: #50094
Credits
Huge thanks to @devagrawal09, @ibrahemid, @ijjk, @styfle, and @huozhi for helping!
Core Changes
- feat(turbopack): initial sass-loader support: #49882
- update test snapshots: #50159
- [create-next-app]: respecting the user's
init.defaultBranchgit con…: #49960 - Update
swc_coretov0.76.18: #50137 - Fix navigating on not-found: #50047
Documentation Changes
- Update app-static-to-dynamic-error.md: #50085
- Update invalid-new-link-with-extra-anchor.md: #50036
Example Changes
- fix: use node copyFile for cross-platform support: #48740
Credits
Huge thanks to @kwonoj, @lycuid, @MarkAtOmniux, @darshkpatel, @johnta0, @kdy1, @sokra, and @timneutkens for helping!
Core Changes
- test(turbopack): script to sync latest test lists: #50008
- Pages Module Transition: #49962
- Server Actions: Fix member expr in closure captured values: #50020
- Error in next export when serverActions is enabled: #50039
- [turbopack]: Update renamed SubpathValue: #49636
- Fix default metadata is missing in root not-found: #50044
- Always defer close tags to be the suffix of body stream: #50056
- Fix types of cookies(): #50052
- Fix client references extraction of CJS exports analysis: #50059
- Add
x-forwarded-*headers to turbopack renders: #50012 - Remove node-sass from peerDependencies: #50065
- Add optional generic parameter to NextResponse: #47526
Misc Changes
- test: disable cache flaky test: #50064
Credits
Huge thanks to @kwonoj, @wyattjoh, @shuding, @huozhi, @jridgewell, @ijjk, and @karlhorky for helping!
Core Changes
- Optimize trace span relationships: #49697
- refactor(next-core): deprecate custom_ecmascript_transforms: #49629
- Remove old-space-size filtering from dev server: #49727
- Rework client router filter handling: #49741
- fix(image): preload should respect referrerPolicy: #49584
- Fix cookies().set missing in types: #49806
- fix: Disable
tracing/release_max_level_offfor wasm, too: #49639 - Apply user-defined PostCSS transforms to foreign code: #49463
- add @swc/core to server external packages: #49721
turbo-binding->turbopack-binding: #49816- refactor(next-core): consolidate react_refresh options: #49822
- add support for globally providing mdx components to turbopack: #49818
- Refactor pages structure: #49802
- Fix conflict when re-exporting multiple Client References: #49468
- refactor(next-core): move transforms to plugin: #49621
- Fix chained
.bindof Server Actions: #49874 - Fix port value for metadataBase: #49924
- Introduce NextMode: #49852
- Port sorted-routes.ts to Rust: #48334
- Move build workers count change behind flag: #49937
- Update default for appDocumentPreloading config for minimalMode: #49952
- Add @vercel/og to external server packages: #49944
- Fix custom server React resolution with app dir and pages both presented: #49805
- Error in
next exportwhenserverActionsis enabled: #49959 - Reset not-found and error boundary when navigating: #49855
- Revert "Error in
next exportwhenserverActionsis enabled": #50019 - fix: warning fetch for
[object Request]specified: #50003 - Remove custom handling for prebundled react env: #49954
- fix: set cookies followed by
redirect(): #49965
Example Changes
- chore: update examples to use draft mode: #49720
- Add mdx page example to examples/app-dir-mdx: #47082
- Update with-supertokens example: #49804
- with-clerk example updated to app router: #49717
- Upgrading react-ga to react-ga4: #48932
- update with-turbopack example: #49332
Misc Changes
- Add trace-to-jaeger to workspace: #49692
- refactor(scripts): apply fmt: #49716
- refactor(scripts): fix clippy errors: #49719
- chore(turbopack): Update
swc_coretov0.76.6: #49792 - Fix going back to page after applying hash link: #50006
- build(cargo): update turbopack: #50013
- Suggest a replay in the bug issue template: #50022
Credits
Huge thanks to @timneutkens, @kwonoj, @styfle, @ijjk, @alexanderbluhm, @Fonger, @shuding, @kdy1, @alexkirsz, @souporserious, @ForsakenHarmony, @rishabhpoddar, @devagrawal09, @DevEsteves, @huozhi, and @padmaia for helping!
Core Changes
- Update default for appDocumentPreloading config for minimalMode: #49952
- Add @vercel/og to external server packages: #49944
- Fix custom server React resolution with app dir and pages both presented: #49805
- Error in
next exportwhenserverActionsis enabled: #49959 - Reset not-found and error boundary when navigating: #49855
- Revert "Error in
next exportwhenserverActionsis enabled": #50019 - fix: warning fetch for
[object Request]specified: #50003 - Remove custom handling for prebundled react env: #49954
- fix: set cookies followed by
redirect(): #49965
Example Changes
- update with-turbopack example: #49332
Misc Changes
- Fix going back to page after applying hash link: #50006
- build(cargo): update turbopack: #50013
- Suggest a replay in the bug issue template: #50022
Credits
Huge thanks to @ijjk, @huozhi, @shuding, @padmaia, @timneutkens, @styfle, and @kwonoj for helping!
Core Changes
- Refactor pages structure: #49802
- Fix conflict when re-exporting multiple Client References: #49468
- refactor(next-core): move transforms to plugin: #49621
- Fix chained
.bindof Server Actions: #49874 - Fix port value for metadataBase: #49924
- Introduce NextMode: #49852
- Port sorted-routes.ts to Rust: #48334
- Move build workers count change behind flag: #49937
Example Changes
- Upgrading react-ga to react-ga4: #48932
Misc Changes
- chore(turbopack): Update
swc_coretov0.76.6: #49792
Credits
Huge thanks to @kdy1, @alexkirsz, @shuding, @kwonoj, @DevEsteves, @huozhi, and @ijjk for helping!
Core Changes
- refactor(next-core): deprecate custom_ecmascript_transforms: #49629
- Remove old-space-size filtering from dev server: #49727
- Rework client router filter handling: #49741
- fix(image): preload should respect referrerPolicy: #49584
- Fix cookies().set missing in types: #49806
- fix: Disable
tracing/release_max_level_offfor wasm, too: #49639 - Apply user-defined PostCSS transforms to foreign code: #49463
- add @swc/core to server external packages: #49721
turbo-binding->turbopack-binding: #49816- refactor(next-core): consolidate react_refresh options: #49822
- add support for globally providing mdx components to turbopack: #49818
Example Changes
- chore: update examples to use draft mode: #49720
- Add mdx page example to examples/app-dir-mdx: #47082
- Update with-supertokens example: #49804
- with-clerk example updated to app router: #49717
Misc Changes
- refactor(scripts): apply fmt: #49716
- refactor(scripts): fix clippy errors: #49719
Credits
Huge thanks to @kwonoj, @styfle, @ijjk, @alexanderbluhm, @Fonger, @shuding, @kdy1, @alexkirsz, @souporserious, @ForsakenHarmony, @rishabhpoddar, and @devagrawal09 for helping!
Core Changes
- Optimize trace span relationships: #49697
Misc Changes
- Add trace-to-jaeger to workspace: #49692
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- make sure server component externals only apply to files resolvable by node: #49147
- Fix link not being GC'd sometimes: #49318
- Fix issue where nextP is not replaced in searchParams: #49315
- Add typescript version to next-info: #49346
- Upgrade React to 18.3.0-canary-16d053d59-20230506: #49402
- Remove empty config warning: #49435
- app-router: add startTransition call to revalidate dispatcher: #49453
- Inline static data buffer instead of using fs read: #49323
- Revert "Temporarily disable app dir export integration test": #49311
- Add link to Server Actions docs.: #49384
- Replace metadata clone with custom handler in dev: #49343
- Add request-async-storage to the shared layer: #49470
- Fix revalidate: false detection in app: #49473
- Fix metadata image route encoding: #49482
- Fix actions redirect handling: #49483
- Restrict
useOptimisticanduseFormStatusAPIs on the server layer: #49331 - Fix external rewrite with body: #49487
- fix: better error message with an invalid assetPrefix: #49403
- Fix Node Crypto polyfill: #49288
- Fix: Router.query contains _next when using middleware with dynamic routes: #48753
- type: update React.CSSProperties type to Record: #49186
- Fix server CSS imports and HMR not working properly in specific conditions: #49462
- Fix HMR support for server layer imported SASS and SCSS: #49534
- Support
.bindsyntax with Action functions: #49422 - ci(test): enable turbopack test: #49466
- feat(next-core): relay transform plugin: #48899
- Fix canonical url for dynamic routes: #49512
- Add experimental compile/generate handling: #49491
- chore: cross-platform
rm -rfscript: #49529 - refactor(next-core): remove ast cloning in custom transform: #49560
- fix: a11y issues in react-dev-overlay: #49460
- Add tests for HMR: #49206
- Add stub Route type for typedRoutes: #48099
- Add test for appdir referenced images: #49242
- feat: Allow trace-level logging for non-published release builds: #49564
- Fix unexpected object mutation while resolving Open Graph: #49514
- actions: forward fetch rejections to the action handler: #49577
- actions: make cookies.set revalidate: #49582
- interception route: fix route groups breaking the referrer computation: #49602
- Allow export decl with any init value in the actions compiler: #49600
- Handle unstable_cache in pages: #49624
- Update cache method handling during build: #49633
- Fix fetchCache and no-store handling: #49638
- interception routes: fix rewrites order: #49615
- Ensure initialHeaders are normalized: #49643
- app-router: add support for parallel routes in useParams: #49595
- Add puppeteer to external packages list: #49597
- Add playwright to external package list: #49649
- actions: fill prefetchCache with revalidation payload: #49576
- Rename Turbopack/tasks crates to common prefixes: #49446
- chore(jest): Simplify isServer expression: #48330
- Add missing config vars into Webpack cache key: #49663
- misc: Apply PR comments from #49206: #49647
- fix: Standalone node http server starts accepting requests before next handler is ready: #49548
- Update links from beta to stable docs.: #49349
Documentation Changes
- Fix error message about
preconnect📝: #40360 - [docs] Add iOS hydration mismatch details to error page: #43584
- Add note about custom distDir to standalone build docs: #48592
- Add
--use-yarnflag tocreate-next-app: #49407
Misc Changes
- Add test case for client sourcemaps: #49308
- Update start release workflow inputs: #49492
- Fix failing actions e2e deploy test: #49497
- Replace var with const: #49379
- test: pages react version with react hook in deployment: #48907
- Add test case for #49235: #49488
- chore: fix flaky middleware matcher test: #49555
- Avoid skipping the required Test Codemods job: #49589
- Update flakey app-actions deploy tests: #49667
Credits
Huge thanks to @shuding, @ijjk, @ForsakenHarmony, @timneutkens, @huozhi, @sanjaiyan-dev, @acdlite, @feedthejim, @styfle, @leerob, @koba04, @g12i, @cesarkohl, @darshkpatel, @josh, @li-jia-nan, @kwonoj, @gabschne, @alexkirsz, @karlhorky, @jridgewell, @sokra, @kdy1, @akd-io, @runjuu, @jocarrd, @nnnnoel, and @ferdingler for helping!
Core Changes
- app-router: add support for parallel routes in useParams: #49595
- Add puppeteer to external packages list: #49597
- Add playwright to external package list: #49649
- actions: fill prefetchCache with revalidation payload: #49576
- Rename Turbopack/tasks crates to common prefixes: #49446
- chore(jest): Simplify isServer expression: #48330
- Add missing config vars into Webpack cache key: #49663
- misc: Apply PR comments from #49206: #49647
- fix: Standalone node http server starts accepting requests before next handler is ready: #49548
- Update links from beta to stable docs.: #49349
Misc Changes
- Update flakey app-actions deploy tests: #49667
Credits
Huge thanks to @feedthejim, @timneutkens, @jocarrd, @alexkirsz, @nnnnoel, @shuding, @ijjk, @ferdingler, and @leerob for helping!
Core Changes
- chore: cross-platform
rm -rfscript: #49529 - refactor(next-core): remove ast cloning in custom transform: #49560
- fix: a11y issues in react-dev-overlay: #49460
- Add tests for HMR: #49206
- Add stub Route type for typedRoutes: #48099
- Add test for appdir referenced images: #49242
- feat: Allow trace-level logging for non-published release builds: #49564
- Fix unexpected object mutation while resolving Open Graph: #49514
- actions: forward fetch rejections to the action handler: #49577
- actions: make cookies.set revalidate: #49582
- interception route: fix route groups breaking the referrer computation: #49602
- Allow export decl with any init value in the actions compiler: #49600
- Handle unstable_cache in pages: #49624
- Update cache method handling during build: #49633
- Fix fetchCache and no-store handling: #49638
- interception routes: fix rewrites order: #49615
- Ensure initialHeaders are normalized: #49643
Documentation Changes
- Add note about custom distDir to standalone build docs: #48592
- Add
--use-yarnflag tocreate-next-app: #49407
Misc Changes
- Avoid skipping the required Test Codemods job: #49589
Credits
Huge thanks to @styfle, @kwonoj, @koba04, @gabschne, @alexkirsz, @karlhorky, @jridgewell, @sokra, @kdy1, @akd-io, @runjuu, @feedthejim, @shuding, and @ijjk for helping!
Core Changes
- Fix Node Crypto polyfill: #49288
- Fix: Router.query contains _next when using middleware with dynamic routes: #48753
- type: update React.CSSProperties type to Record: #49186
- Fix server CSS imports and HMR not working properly in specific conditions: #49462
- Fix HMR support for server layer imported SASS and SCSS: #49534
- Support
.bindsyntax with Action functions: #49422 - ci(test): enable turbopack test: #49466
- feat(next-core): relay transform plugin: #48899
- Fix canonical url for dynamic routes: #49512
- Add experimental compile/generate handling: #49491
Documentation Changes
- [docs] Add iOS hydration mismatch details to error page: #43584
Misc Changes
- Fix failing actions e2e deploy test: #49497
- Replace var with const: #49379
- test: pages react version with react hook in deployment: #48907
- Add test case for #49235: #49488
- chore: fix flaky middleware matcher test: #49555
Credits
Huge thanks to @ijjk, @g12i, @cesarkohl, @huozhi, @shuding, @darshkpatel, @josh-, @li-jia-nan, @kwonoj, and @styfle for helping!
Core Changes
- Fix revalidate: false detection in app: #49473
- Fix metadata image route encoding: #49482
- Fix actions redirect handling: #49483
- Restrict
useOptimisticanduseFormStatusAPIs on the server layer: #49331 - Fix external rewrite with body: #49487
- fix: better error message with an invalid assetPrefix: #49403
Misc Changes
- Update start release workflow inputs: #49492
Credits
Huge thanks to @ijjk, @huozhi, @shuding, and @koba04 for helping!
Core Changes
- Revert "Temporarily disable app dir export integration test": #49311
- Add link to Server Actions docs.: #49384
- Replace metadata clone with custom handler in dev: #49343
- Add request-async-storage to the shared layer: #49470
Credits
Huge thanks to @styfle, @leerob, @huozhi, and @shuding for helping!
Core Changes
- app-router: add startTransition call to revalidate dispatcher: #49453
- Inline static data buffer instead of using fs read: #49323
Credits
Huge thanks to @feedthejim and @huozhi for helping!
Core Changes
- make sure server component externals only apply to files resolvable by node: #49147
- Fix link not being GC'd sometimes: #49318
- Fix issue where nextP is not replaced in searchParams: #49315
- Add typescript version to next-info: #49346
- Upgrade React to 18.3.0-canary-16d053d59-20230506: #49402
- Remove empty config warning: #49435
Documentation Changes
- Fix error message about
preconnect📝: #40360
Misc Changes
- Add test case for client sourcemaps: #49308
Credits
Huge thanks to @shuding, @ForsakenHarmony, @timneutkens, @huozhi, @sanjaiyan-dev, and @acdlite for helping!
Core Changes
- actions: update location header: #49223
- Fix serving images referenced from app directory: #49236
- Update dev logs to include request timings: #49191
- Support incrementalCacheHandlerPath for standalone output: #48694
- Apply basePath for metadata image: #49226
- Fix Server Actions defined in both layers in one entry: #49248
- Update tags handling during server action redirect: #49227
- Add experimental verboseRequestLogs flag: #49250
- Fix require-hook with just pages on deploy: #49274
Misc Changes
- Upgrade react types: #49222
- Remove experimental config from create-next-app: #49241
Credits
Huge thanks to @feedthejim, @jridgewell, @ijjk, @ikryvorotenko, @huozhi, @shuding, and @timneutkens for helping!
Core Changes
- Add experimental verboseRequestLogs flag: #49250
- Fix require-hook with just pages on deploy: #49274
Misc Changes
- Remove experimental config from create-next-app: #49241
Credits
Huge thanks to @ijjk and @timneutkens for helping!
Core Changes
- Support incrementalCacheHandlerPath for standalone output: #48694
- Apply basePath for metadata image: #49226
- Fix Server Actions defined in both layers in one entry: #49248
- Update tags handling during server action redirect: #49227
Misc Changes
- Upgrade react types: #49222
Credits
Huge thanks to @ikryvorotenko, @huozhi, @shuding, and @ijjk for helping!
Core Changes
- actions: update location header: #49223
- Fix serving images referenced from app directory: #49236
- Update dev logs to include request timings: #49191
Credits
Huge thanks to @feedthejim, @jridgewell, and @ijjk for helping!
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-plugincausing 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 devfailing for app when__NEXT_DISABLE_MEMORY_WATCHERis 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: truedefault 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
runtimein 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
ReadonlyHeadersmore 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
Blobfor 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
$$boundif 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
- docs: Fix path of '.env.template': #49012
- chore: simplify repo templates: #49073
Misc Changes
- chore: Update
swc_coretov0.75.41: #48982 - Fix failing test on
canarybranch: #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!
Core Changes
- 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
Misc Changes
- test: temporary disable flaky checking: #49217
Credits
Huge thanks to @feedthejim, @huozhi, @padmaia, and @timneutkens for helping!
Core Changes
- 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
Misc Changes
- disable optimistic_updates: #49211
Credits
Huge thanks to @shuding, @feedthejim, and @sokra for helping!
Core Changes
- actions: fix redirect on the edge: #49197
- update turbopack: #49196
- Fix incorrect React env in particular case: #49202
Credits
Huge thanks to @feedthejim, @sokra, and @shuding for helping!
Core Changes
- Fix standalone mode with appDir running in a single process: #49116
- Enable progressive enhanced form actions through decodeAction: #49187
- Use special annotation for
$$boundif no closure argument is attached: #49188 - Add warning for missing metadataBase in social images: #49180
- Allow override icon rel: #49194
Credits
Huge thanks to @shuding, @sebmarkbage, and @huozhi for helping!
Core Changes
- 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
Documentation Changes
- chore(docs): update next-image-unconfigured-host.md: #49175
Misc Changes
- Fix flaky test: #49178
Credits
Huge thanks to @ijjk, @padmaia, @reconbot, @acdlite, @shuding, @styfle, @feedthejim, @sokra, and @jridgewell for helping!
Core Changes
- Polyfill
Blobfor 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
Credits
Huge thanks to @shuding, @feedthejim, @alexkirsz, and @eps1lon for helping!
Core Changes
- 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
ReadonlyHeadersmore 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
Example Changes
- chore: simplify repo templates: #49073
Credits
Huge thanks to @ijjk, @shuding, @sophiebits, @timneutkens, @huozhi, @sokra, @balazsorban44, and @feedthejim for helping!
Core Changes
- add test case for non-enumerable exports: #49106
- Skip handler for POST requests when no action ID is found: #49119
Credits
Huge thanks to @sokra and @shuding for helping!
Core Changes
- 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
runtimein layouts in type declarations: #49117 - Tweak app cache handling for paths: #49108
Documentation Changes
- Simplify CNA prompts a bit: #49063
- Update create-next-app App Router question: #49111
Misc Changes
- Add test case for file uploads: #49048
- chore(cli): remove Route Handlers from App Router templates: #49076
Credits
Huge thanks to @timneutkens, @shuding, @balazsorban44, @sokra, @ijjk, @padmaia, @Kikobeats, @styfle, and @huozhi for helping!
Core Changes
- feat: make
enableUndici: truedefault 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
Misc Changes
- Remove unused font from tailwind
app/page.tsx: #49035
Credits
Huge thanks to @patrick91, @styfle, @kwonoj, and @sokra for helping!
Core Changes
- Fixed
next-types-plugincausing 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 devfailing for app when__NEXT_DISABLE_MEMORY_WATCHERis 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
Documentation Changes
- fix: wrong link in docs: #49001
Example Changes
- docs: Fix path of '.env.template': #49012
Credits
Huge thanks to @dciug, @albertothedev, @DuCanhGH, @shuding, @feedthejim, @li-jia-nan, @styfle, and @kwonoj for helping!
Core Changes
- Add flag to switch to the experimental channel: #48896
- Fix extra block element in body: #49034
Misc Changes
- Fix failing test on
canarybranch: #49038
Credits
Huge thanks to @shuding for helping!
Core Changes
- More fluent GraphTraversal API: #49028
- fix GlobalError interop and add test case: #49033
Misc Changes
- chore: Update
swc_coretov0.75.41: #48982
Credits
Huge thanks to @kdy1, @alexkirsz, and @sokra for helping!
Core Changes
- Ensure app/layout.tsx can export preferredRegion: #49031
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Ensure app/layout.tsx can export preferredRegion: #49031
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Fix duplicated Edge Runtime warnings: #48987
- Update type of preferredRegion: #49003
- Remove unused context providers: #48267
- Update TS plugin type for
preferredRegion: #49011 - Fix CSS ordering issue with HMR: #49010
Credits
Huge thanks to @shuding, and @timneutkens for helping!
Core Changes
- Fix CSS ordering issue with HMR: #49010
Credits
Huge thanks to @shuding for helping!
Core Changes
- Remove unused context providers: #48267
- Update TS plugin type for
preferredRegion: #49011
Credits
Huge thanks to @timneutkens and @shuding for helping!
Core Changes
- Fix duplicated Edge Runtime warnings: #48987
- Update type of preferredRegion: #49003
Credits
Huge thanks to @shuding and @timneutkens for helping!
Core Changes
- Refactor require hooks: #48506
- Use
decodeReplyFromBusboyin 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-errorfile'sresetprop: #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
FormDatafor Node.js < 18: #48783 - Error on legacy runtime config under app dir: #48774
- Fix Windows path in route join (#48603): #48779
- Add missing
repositoryprop to package.json: #48803 - fix: Update
@swc/helperstov0.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
strictof 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.cryptowhen 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
nodejsruntime 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
repositoryprop 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!
Core Changes
- 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
Credits
Huge thanks to @jridgewell, @sokra, @li-jia-nan, @kdy1, @huozhi, and @timneutkens for helping!
Core Changes
- 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
nodejsruntime 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
Documentation Changes
- Start recommending gRPC with otel: #48915
Credits
Huge thanks to @huozhi, @cprussin, @jankaifer, @styfle, @ForsakenHarmony, @kwonoj, @alexkirsz, @ijjk, @timneutkens, and @gnoff for helping!
Core Changes
- 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.cryptowhen not available: #48941
Credits
Huge thanks to @Kikobeats, @kdy1, @jridgewell, @sagarpreet-xflowpay, and @balazsorban44 for helping!
Core Changes
- 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
Credits
Huge thanks to @alexkirsz, @timneutkens, @sokra, and @shuding for helping!
Core Changes
- Preload css: #48840
Credits
Huge thanks to @gnoff for helping!
Core Changes
- 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
Credits
Huge thanks to @sokra, @ijjk, and @timneutkens for helping!
Core Changes
- 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
Documentation Changes
- Add missing word to getStaticProps documentation: #48854
- update example Deploy button URLs: #48842
Misc Changes
- test: disable client cache flaky test: #48890
Credits
Huge thanks to @jankaifer, @timneutkens, @shuding, @kwonoj, @martin-wahlberg, @Kikobeats, @sokra, @JTaylor0196, @huozhi, @sebmarkbage, and @ijjk for helping!
Core Changes
- 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
strictof undefined inwriteConfigurationDefaults: #48799 - update turbopack: #48846
Credits
Huge thanks to @huozhi, @shuding, and @sokra for helping!
Core Changes
- fix: Update
@swc/helperstov0.5.1: #48808 - Fix hash apply after server-patch action: #48813
Credits
Huge thanks to @kdy1 and @timneutkens for helping!
Misc Changes
- Add missing
repositoryprop to package.json in swc-wasm: #48805
Credits
Huge thanks to @styfle for helping!
Core Changes
- Polyfill
FormDatafor Node.js < 18: #48783 - Error on legacy runtime config under app dir: #48774
- Fix Windows path in route join (#48603): #48779
- Add missing
repositoryprop to package.json: #48803
Documentation Changes
- Fix typo in
errors/version-staleness.md: #48797
Credits
Huge thanks to @shuding, @huozhi, @pn-code, and @styfle for helping!
Core Changes
- 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
Misc Changes
- fix: npm publish provenance permissions: #48757
Credits
Huge thanks to @alexkirsz, @chriswdmr, @jankaifer, @shuding, and @styfle for helping!
Misc Changes
- Revert "Add npm package provenance on publish (#48693)"
Credits
Huge thanks to @styfle for helping!
Core Changes
- Fix query normalize on edge deploy: #48045
- Change metadata routes suffix to number and chars: #48026
- fix: show error when "next start" is used with "output" config: #47989
- Update query param prefix to reduce length: #48051
- turbopack: bind server to IPv6 loopback: #47948
- turbopack: pass ENV vars to route handlers: #48048
- parallel routes: fix layout not re-rendering: #48066
- Fix fallback detection logic when multiple generateStaticParams are needed: #47982
- Next Cache Telemetry: #47939
- Remove change leftover from experimental precompiled server: #48107
- Support og image with edge: #48086
- Add flag to control app document preloading: #48115
- Re-land "Vendor
react@experimentalunder anexperimentalReactflag": #48041 - Add experimental React related warning: #47986
- Fix next-flight-loader resourcePath in Windows: #48152
- Enable opening source file in build error overlay: #48194
- Update next/font/google data: #48195
- Fix documentation link for transpilePackages in NextConfig: #48121
- Remove warning for metadataBase fallback: #48196
- Fix typeof expression in layout router: #48245
- fix: Shift route-announcer to top of layout parent: #44853
- Chunking Refactor pt. 2: #47961
- Opt-into worker mode when appDir is enabled: #47857
- app-router: add batching support for RSC router payloads: #48253
- interception routes: add new sibling matcher marker + validation: #48276
- parallel routes: remove the per-route default 404 handler: #48286
- ensure original matcher source is free of mutations: #47980
- Add suffix to static metadata images: #48202
- Update metadata interface types: #48259
- parallel route: fix payload not being sent on refetch: #48294
- feat(turbopack): support initial compiler.emotion / compiler.styledComponents flag: #47991
- Support alt.txt for static metadata og image: #48290
- Fix missing favicon when other icon exist: #48311
- Fix app dir vanilla-extract support: #48306
- Auto collect custom manifest into metadata: #48310
- feat(turbopack): initial mdxrs config support: #47886
- refactor shared logic for turbopack-cli: #48307
- Fix dev case when proxying to self: #48318
- app router: fix scrolling behaviour for parallel routes: #48346
- interception routes: fix support for route groups: #48351
- Add body to router request to fix socket hang up: #48039
- Fix dev getStaticPaths/generateStaticParams calling: #48322
- Update App Route Signature: #48348
- fix: typo localy --> locally: #48193
- [create-next-app]: add mdx files to tailwind content config: #48188
- Ensure we handle 204 responses in fetch: #48354
- Fix fetch cache body handling and update edge-runtime deps: #48365
- Move normalizing of query for edge: #48373
- provide the PORT env var based on server port, update turbopack: #48347
- feat: generate image metadata: #48362
- Allow some more options for Turbopack: #48401
- Add
pg(Postgres) to server components external packages.: #48402 - chore: add export
ImageResponseOptions: #48418 - chore: fix a typo in a local variable name: #48456
- Fix turbo cache for @next/env: #48466
- Consolidate two appDir if branches: #48459
- parallel routes: fix catch-all routes taking precedence in dev: #48424
- parallel routes: fix next-provided default.js not being resolved if the config doesn't specify .js: #48446
- interception routes: support middleware rewrites: #48450
- interception routes: fix production rewrites: #48451
- parallel routes: fix incorrect optimistic tree when there are multiple parallel routes: #48449
- Refactor entries.ts: #48460
- Fix misordered CSS resources: #48244
- Revert "Re-land "Vendor
react@experimentalunder anexperimentalReactflag"": #48478 - Change
CacheFsmethods to returnBuffer: #48237 - app dir fixes: #48025
- Rename originUrl to fetchUrl: #48315
- Make jest config serializable: #47620
- Drop object config export support for app dir: #48489
- Fix server references handling in the edge runtime: #48502
- feat(next-swc): force teardown heap profiler if exists: #47769
- fix(turbopack/transform_options): enforce default react runtime: #48400
- Update swc_core to
v0.75.23: #48098 - update swc_core and dependencies to 0.75.23: #48521
- Fixed
image-optimizercrashing when usingoutputFileTracing: #48513 - Remove unused code from
test-packturbo task: #48487 - Fix static opt of routes generation for static metadata files: #48528
- feat(turbopack): support modularizeImports next.js config: #48511
- refactor: move resolving metadata process into async Metadata component: #48536
- Update history in useInsertionEffect: #48553
- Fix instrumentation.js initialization in prod on Vercel: #48557
- Prefer to use deployment url for metadata routes on production: #48556
- Fallback to deployment vercel url if metadataBase is not set on prod: #48570
- build(cargo): move workspaces manifest to top level: #48198
- Remove expired link resources via MutationObserver during development: #48578
- prettier fix for
next-swc: #47873 - Fix chunk file names in flight manifest: #48583
- Adding missing fields to the
Manifesttype: #48552 - Add updated app dir cache handling: #48516
- Upgrade React: #48589
- use structured images with metainfo (blur placeholder): #48531
- Land reverted fix for chunk file names: #48625
- remove amp error in app dir: #48620
- Add test case for #48583 and ignore hot-update scripts: #48587
- Exclude app from
_devPagesManifest.jsin turbopack: #48633 - replace defined values and add
__NEXT_HAS_REWRITESdefine: #48628 - implement /_next/image for local requests: #48622
- Add export runtime test for pages and fully remove experimental.runtime: #48630
- Upgrade
@types/reactto latest 18.x: #48645 - app-router: new client-side cache semantics: #48383
- Fix typo in fetchType annotation: #48646
- Ensure latest React types for experimental release channel are used: #48641
- Fix writeConfigurationDefaults.ts to correctly suggest changes in monorepos: #48668
- Revert "app-router: new client-side cache semantics": #48678
- fix snapshots broken by prettier (also fix .prettierignore): #48586
- Reland app-router: new client-side cache semantics: #48685
- Revert "Reland app-router: new client-side cache semantics": #48688
Documentation Changes
- Update deployment.md: #48062
- Docs: Describe how to manually configure open telemetry: #48071
- Fix typo in script.md: #48225
- Add information about deploy to open telemetry docs: #48241
- docs: fix grammar for dynamic routes catch-all explanation and give better examples: #48181
- Fix grammar and typos in OTEL docs: #48235
- Update instrumentation.md: #48394
- typo: #48495
- docs: fix minimum Node.js version to
14.18.0: #48545 - Docs: Unify note formatting: #48417
- Fix TYPO in otel docs: #48623
Example Changes
- Fix the typo on README.md: #48274
- fix: Adding search field decorator: #48350
- Update Mux example logo to new Mux brand: #48654
Misc Changes
- Fix stable release start: #48044
- chore: Add
.vscodeto eslintignore: #48020 - Update flakey tests: #48113
- Update codeowner for images: #48239
- chore: split up app-dir-export tests: #48252
- allow anyone to approve a lockfile change: #48261
- Temporarily disable app dir export integration test: #48291
- Only create tarballs once per run-tests: #48321
- Investigate redirect getting stuck: #48343
- Update font handling in CNA templates: #48364
- Add test coverage for pages edge API routes: #48370
- Don't build pages before middleware: #48339
- Extra space removed: #48514
- Update start release flow: #48634
- Fix version bump
- misc: fix flaky prefetch test: #48666
- Re-add kodiak config: #48672
- Add logs to release job: #48690
Credits
Huge thanks to @huozhi, @styfle, @jridgewell, @feedthejim, @cjmling, @shuding, @nabsul, @motopods, @hanneslund, @tunamagur0, @jankaifer, @apeltop, @maranomynet, @alexkirsz, @y-tsubuku, @sokra, @EndangeredMassa, @ykzts, @AviAvinav, @kwonoj, @adilansari, @ForsakenHarmony, @wyattjoh, @charkour, @timneutkens, @delbaoliveira, @agadzik, @Just-Moh-it, @rodrigofeijao, @padmaia, @leerob, @juliusmarminge, @koba04, @cprussin, @Phiction, @DuCanhGH, @jessewarren-aa, @sophiebits, @ryo-manba, @Yovach, @ijjk, @dylanjha, and @eps1lon for helping!
Core Changes
- fix snapshots broken by prettier (also fix .prettierignore): #48586
- Reland app-router: new client-side cache semantics: #48685
- Revert "Reland app-router: new client-side cache semantics": #48688
Misc Changes
- Add logs to release job: #48690
Credits
Huge thanks to @ForsakenHarmony and @huozhi for helping!
Core Changes
- Add export runtime test for pages and fully remove experimental.runtime: #48630
- Upgrade
@types/reactto latest 18.x: #48645 - app-router: new client-side cache semantics: #48383
- Fix typo in fetchType annotation: #48646
- Ensure latest React types for experimental release channel are used: #48641
- Fix writeConfigurationDefaults.ts to correctly suggest changes in monorepos: #48668
- Revert "app-router: new client-side cache semantics": #48678
Example Changes
- Update Mux example logo to new Mux brand: #48654
Misc Changes
- misc: fix flaky prefetch test: #48666
- Re-add kodiak config: #48672
Credits
Huge thanks to @huozhi, @dylanjha, @eps1lon, @feedthejim, @nabsul, @shuding, and @ijjk for helping!
Core Changes
- Adding missing fields to the
Manifesttype: #48552 - Add updated app dir cache handling: #48516
- Upgrade React: #48589
- use structured images with metainfo (blur placeholder): #48531
- Land reverted fix for chunk file names: #48625
- remove amp error in app dir: #48620
- Add test case for #48583 and ignore hot-update scripts: #48587
- Exclude app from
_devPagesManifest.jsin turbopack: #48633 - replace defined values and add
__NEXT_HAS_REWRITESdefine: #48628 - implement /_next/image for local requests: #48622
Documentation Changes
- Docs: Unify note formatting: #48417
- Fix TYPO in otel docs: #48623
Misc Changes
- Update start release flow: #48634
- Fix version bump
Credits
Huge thanks to @ryo-manba, @Yovach, @ijjk, @timneutkens, @sokra, @jankaifer, @shuding, @huozhi, and @ForsakenHarmony for helping!
Core Changes
- build(cargo): move workspaces manifest to top level: #48198
- Remove expired link resources via MutationObserver during development: #48578
- prettier fix for
next-swc: #47873 - Fix chunk file names in flight manifest: #48583
Documentation Changes
- docs: fix minimum Node.js version to
14.18.0: #48545
Credits
Huge thanks to @koba04, @kwonoj, @shuding, and @ForsakenHarmony for helping!
Core Changes
- Fix instrumentation.js initialization in prod on Vercel: #48557
- Prefer to use deployment url for metadata routes on production: #48556
- Fallback to deployment vercel url if metadataBase is not set on prod: #48570
Credits
Huge thanks to @sophiebits and @huozhi for helping!
Core Changes
- feat(turbopack): support modularizeImports next.js config: #48511
- refactor: move resolving metadata process into async Metadata component: #48536
- Update history in useInsertionEffect: #48553
Misc Changes
- Extra space removed: #48514
Credits
Huge thanks to @kwonoj, @jessewarren-aa, @huozhi, and @timneutkens for helping!
Core Changes
- update swc_core and dependencies to 0.75.23: #48521
- Fixed
image-optimizercrashing when usingoutputFileTracing: #48513 - Remove unused code from
test-packturbo task: #48487 - Fix static opt of routes generation for static metadata files: #48528
Misc Changes
- Don't build pages before middleware: #48339
Credits
Huge thanks to @timneutkens, @sokra, @DuCanhGH, @jankaifer, and @huozhi for helping!
Core Changes
- feat(next-swc): force teardown heap profiler if exists: #47769
- fix(turbopack/transform_options): enforce default react runtime: #48400
- Update swc_core to
v0.75.23: #48098
Documentation Changes
- typo: #48495
Credits
Huge thanks to @Phiction, @kwonoj, and @padmaia for helping!
Core Changes
- Make jest config serializable: #47620
- Drop object config export support for app dir: #48489
- Fix server references handling in the edge runtime: #48502
Credits
Huge thanks to @cprussin, @huozhi, and @shuding for helping!
Core Changes
- Change
CacheFsmethods to returnBuffer: #48237 - app dir fixes: #48025
- Rename originUrl to fetchUrl: #48315
Credits
Huge thanks to @ykzts, @sokra, and @nabsul for helping!
Core Changes
- chore: fix a typo in a local variable name: #48456
- Fix turbo cache for @next/env: #48466
- Consolidate two appDir if branches: #48459
- parallel routes: fix catch-all routes taking precedence in dev: #48424
- parallel routes: fix next-provided default.js not being resolved if the config doesn't specify .js: #48446
- interception routes: support middleware rewrites: #48450
- interception routes: fix production rewrites: #48451
- parallel routes: fix incorrect optimistic tree when there are multiple parallel routes: #48449
- Refactor entries.ts: #48460
- Fix misordered CSS resources: #48244
- Revert "Re-land "Vendor
react@experimentalunder anexperimentalReactflag"": #48478
Credits
Huge thanks to @koba04, @timneutkens, @feedthejim, and @shuding for helping!
Core Changes
- provide the PORT env var based on server port, update turbopack: #48347
- feat: generate image metadata: #48362
- Allow some more options for Turbopack: #48401
- Add
pg(Postgres) to server components external packages.: #48402 - chore: add export
ImageResponseOptions: #48418
Documentation Changes
- Update instrumentation.md: #48394
Credits
Huge thanks to @rodrigofeijao, @sokra, @huozhi, @padmaia, @leerob, and @juliusmarminge for helping!
Core Changes
- feat(turbopack): initial mdxrs config support: #47886
- refactor shared logic for turbopack-cli: #48307
- Fix dev case when proxying to self: #48318
- app router: fix scrolling behaviour for parallel routes: #48346
- interception routes: fix support for route groups: #48351
- Add body to router request to fix socket hang up: #48039
- Fix dev getStaticPaths/generateStaticParams calling: #48322
- Update App Route Signature: #48348
- fix: typo localy --> locally: #48193
- [create-next-app]: add mdx files to tailwind content config: #48188
- Ensure we handle 204 responses in fetch: #48354
- Fix fetch cache body handling and update edge-runtime deps: #48365
- Move normalizing of query for edge: #48373
Documentation Changes
- docs: fix grammar for dynamic routes catch-all explanation and give better examples: #48181
- Fix grammar and typos in OTEL docs: #48235
Example Changes
- fix: Adding search field decorator: #48350
Misc Changes
- Only create tarballs once per run-tests: #48321
- Investigate redirect getting stuck: #48343
- Update font handling in CNA templates: #48364
- Add test coverage for pages edge API routes: #48370
Credits
Huge thanks to @kwonoj, @sokra, @adilansari, @feedthejim, @ForsakenHarmony, @wyattjoh, @charkour, @timneutkens, @delbaoliveira, @agadzik, @Just-Moh-it, and @jankaifer for helping!
Core Changes
- ensure original matcher source is free of mutations: #47980
- Add suffix to static metadata images: #48202
- Update metadata interface types: #48259
- parallel route: fix payload not being sent on refetch: #48294
- feat(turbopack): support initial compiler.emotion / compiler.styledComponents flag: #47991
- Support alt.txt for static metadata og image: #48290
- Fix missing favicon when other icon exist: #48311
- Fix app dir vanilla-extract support: #48306
- Auto collect custom manifest into metadata: #48310
Documentation Changes
- Add information about deploy to open telemetry docs: #48241
Misc Changes
- Temporarily disable app dir export integration test: #48291
Credits
Huge thanks to @huozhi, @EndangeredMassa, @ykzts, @AviAvinav, @jankaifer, @feedthejim, @kwonoj, and @shuding for helping!
Core Changes
- Enable opening source file in build error overlay: #48194
- Update next/font/google data: #48195
- Fix documentation link for transpilePackages in NextConfig: #48121
- Remove warning for metadataBase fallback: #48196
- Fix typeof expression in layout router: #48245
- fix: Shift route-announcer to top of layout parent: #44853
- Chunking Refactor pt. 2: #47961
- Opt-into worker mode when appDir is enabled: #47857
- app-router: add batching support for RSC router payloads: #48253
- interception routes: add new sibling matcher marker + validation: #48276
- parallel routes: remove the per-route default 404 handler: #48286
Documentation Changes
- Docs: Describe how to manually configure open telemetry: #48071
- Fix typo in script.md: #48225
Example Changes
- Fix the typo on README.md: #48274
Misc Changes
- Update codeowner for images: #48239
- chore: split up app-dir-export tests: #48252
- allow anyone to approve a lockfile change: #48261
Credits
Huge thanks to @hanneslund, @tunamagur0, @jankaifer, @huozhi, @apeltop, @shuding, @maranomynet, @alexkirsz, @styfle, @y-tsubuku, @sokra, and @feedthejim for helping!
Core Changes
- Re-land "Vendor
react@experimentalunder anexperimentalReactflag": #48041 - Add experimental React related warning: #47986
- Fix next-flight-loader resourcePath in Windows: #48152
Credits
Huge thanks to @shuding and @motopods for helping!
Core Changes
- Next Cache Telemetry: #47939
- Remove change leftover from experimental precompiled server: #48107
- Support og image with edge: #48086
- Add flag to control app document preloading: #48115
Misc Changes
- Update flakey tests: #48113
Credits
Huge thanks to @nabsul and @huozhi for helping!
Core Changes
- Fix fallback detection logic when multiple generateStaticParams are needed: #47982
Documentation Changes
- Update deployment.md: #48062
Misc Changes
- chore: Add
.vscodeto eslintignore: #48020
Credits
Huge thanks to @cjmling and @shuding for helping!
Core Changes
- parallel routes: fix layout not re-rendering: #48066
Credits
Huge thanks to @feedthejim for helping!
Core Changes
- Fix query normalize on edge deploy: #48045
- Change metadata routes suffix to number and chars: #48026
- fix: show error when "next start" is used with "output" config: #47989
- Update query param prefix to reduce length: #48051
- turbopack: bind server to IPv6 loopback: #47948
- turbopack: pass ENV vars to route handlers: #48048
Misc Changes
- Fix stable release start: #48044
Credits
Huge thanks to @huozhi, @styfle, and @jridgewell for helping!
Core Changes
- Add Zod and router state validation: #46962
- Support default arrow function export in server boundary #46977
- Generate fixed route path for favicon.ico: #46997
- update turbopack: #46994
- Update next/font/google data: #46988
- fix: added jsdom & canvas to the external packages list - fixes #46893: #46990
- Add auto-detection of image/x-icon content type: #47013
- fix: exclude 'mdx-bundler' from being bundled in server components: #46992
- Add /route subpath to metadata static routes: #47030
- Ensure router.refresh() matches revalidatePath('/') behavior: #46723
- Reorganize client references manifest: #46777
- Opt-in to dynamic rendering when reading searchParams: #46205
- Fix CSS not being bundled in app dir: #45787
- feat(standalone): allow configuring KEEP_ALIVE_TIMEOUT via env var: #46052
- i18n Improvements: #47174
- Support manifest.json static and dynamic route: #47240
- Ensure config and fetch revalidate are honored: #47255
- feat: add
fetchPrioritytonext/image: #47222 - chore: add missing ts type in next-edge-app-route-loader: #47243
- Split app-render functions into separate files: #47282
- fix: typo in output:export error messages: #47252
- fix: handle different cases of React
fetchPriority: #47302 - [edge] limit the api surface of
util: #47292 - parallel routes: fix duplicate dev warning: #47317
- next/font/local prep: compartmentalize next/font/google: #47213
- Improve OTEL spans naming: #47209
- fix invalid comment in parseParameter function: #47291
- Add searchParams to leaf cache key: #47312
- Remove duplicated if statement: #47322
- Add a .catch to shared router for ssg fetching.: #47265
- parallel routes: fix nested routes: #47323
- [Nitpick] Remove unnecessary await in
base-server: #47313 - Warn about default exports with App Routes: #47263
- Add better-sqlite3 to server external packages: #47327
- Change App Route Route Handler signature: #47268
- Calling turbopack from the next build CLI: #46602
- Update Turbopack to turbopack-230321.1: #47342
- parallel routes: fix HMR refetch issue: #47343
- Fix bad route path for custom metadata routes: #47286
- Fix POST fetch request cache heuristic in POST route handler: #47333
- Fix: only apply metadata dynamic image routes convention for app dir: #47367
- Marks app paths in dev as supporting dynamic html: #46848
- fix: add pretty error for
exportPathMapwithappdir: #47371 - Skip extra swc builds: #47378
- Simplify moduleProxy alias: #47381
- Skip warning if there is app directory for
no-html-link-for-pagesrule: #42516 - Catch redirect() in root layout: #47345
- Add useParams(): #47373
- Refactor ES chunk evaluate logic into a Runtime trait: #47116
- Add more spans into OTEL instrumentation to wrap all user defined functions: #47368
- Support HOC cases in server entries: #47379
- Support dynamic routes for social images and icons: #47372
- Fix build spinner in TTY env: #47383
- upgrade vendored React to
18.3.0-next-12a1d140e-20230321: #47405 - Add default meta tags to error page: #47404
- Extend
not-found.jsto catch all unmatched routes: #47328 - Add optional match support of rewrites and redirects in
typedRoutes: #47398 - Support dynamic routes for social images and icons: #47425
- turbopack: Implement streamed middleware: #47264
- Fix twitter metadata info merging: #47433
- improve source mapping of console output and errors: #47388
- Fix closure and rest params handling in SWC transform: #47401
- feat: change
next buildto emit output withoutput: export: #47376 - Error during dev if returning
Responsein pages API routes in Node.js runtime: #47442 - Add content hash for dynamic og image routes: #47440
- chore: add telemetry for
output: export: #47464 - Update fetch cache memory handling: #47465
- add useReportWebVitals that makes use of web-vitals package: #47319
- Ignore folders prefixed by underscore (_) in App Router: #47439
- Finalize HOC support with server entries and add encodeReply & decodeReply: #47438
- Locale fixes for App Directory: #47429
- Fix useSelectedLayoutSegments including PAGE: #47492
- parallel routes: implement default route + fix bugs on navigation: #47436
- Add http.route into root otel span: #47392
- fix: typo in max cache size error message: #47505
- Fix other case for useSelectedLayoutSegments: #47511
- fix error handling and hanging problems: #47457
- restore dynamic directory embedding: #47260
- Remove head.js: #47507
- Return null for useParams in pages: #47490
- Clean up leftover loaders: #46801
- Feat(next-types-plugin): added support for Route Handlers: #47185
- Add warning when deopting page into client rendering entirely: #47531
- Integrating capsize latest: #47428
- Rename app-render/index.tsx to app-render/app-render.tsx: #47285
- refactor(relay): Use transform from
swc/pluginsrepository: #47441 - remove unused turbo dependencies: #47557
- Add initial tree shaking refactorings: #47559
- next/font/local support for Turbopack: #47369
- Handle unknown platform triples in next-swc: #47570
- Fix fetch cache config and fetch revalidates: #47573
- Fix instrumentation not being called on edge in some cases: #47495
- Implement automatic font fallback support for
next/font/local: #47463 - Document various structs and methods in next/font: #47588
- Fix race condition of invalidation: #47586
- add test case for nested imports: #47580
- Underscore Handling Fixes: #47581
- Move App Route handler logic into bundle: #47582
- Revert "Move App Route handler logic into bundle": #47614
- Make sure the global not found route doesn't conflict with existing /not-found route: #47619
- Fix robots.txt generation: #47625
- fix typescript errors in
next-core: #47607 - Expose metadata types: #47630
- show most recent error first in turbopack error overlay: #47414
- Move App Route handler logic into bundle: #47633
- fix: handle
output: exportwithuse client: #47635 - provide Buffer polyfill to client and edge: #47610
- fix: image
loaderFilewith edge runtime: #47659 - Update vendored react to 18.3.0-next-85de6fde5-20230328: #47675
- fix: improve type of
ExportPathMap: #47676 - Fix(next-types-plugin): remove unused imports: #47667
- resolve browser modules for edge api in turbopack: #47604
- build(next-swc): introduce turbo-binding: #47512
- Revert "Update vendored react to 18.3.0-next-85de6fde5-20230328": #47687
- Fix
next-types-plugingenerated files forNode16/NodeNext: #47571 - Revert "Vendor @vercel/og and expose ImageResponse (#47657": #47711
- fix: handle empty
srcprop onnext/image: #47695 - Add not found boundary and move head cache to app router: #47688
- Fix turbopack
_devPagesManifest.jsonon next-site: #47427 - Update MetadataRoute to namespace: #47674
- Provide default metadataBase for local and vercel deployment: #47568
- Fix duplicated default metadata tags: #47690
- chore(docs): update
next exporttooutput: 'export': #47717 - Vendor @vercel/og and expose ImageResponse : #47715
- Turbopack: Fix images.remotePatterns port/protocol serialization: #47721
- Combine Route Handlers with Route Modules: #47679
- feat(next-swc): add compile-time heap profiler flag: #47729
- Add NEXT_RUNTIME process env to turbopack: #47713
- Small fixes to copy of Turbopack errors: #47734
- fix: correctly handle Set-Cookie headers: #47718
- Support relative path for metadata alternates urls: #47743
- remove
next-corepackage.json dev script: #47746 - Restart static paths worker after finishing task: #47716
- feat: bump minimum ts version to 4.5.2: #47712
- Turobpack: Implement Streaming App/API rendering: #47476
- Update app router filter handling: #47761
- fix: improve error message pages for
output: export: #47765 - add consistent import sorting/grouping to rustfmt: #47745
- turbopack: ensure ENV values are available in middleware: #47767
- Fix skipMiddlewareUrlNormalize with i18n: #47773
- Fix typo in error overlay: #47762
- provide full polyfill for process: #47764
- Turbopack: Use
SharedErrorfor body streaming: #47677 - fix(export): make static export work with worker_threads: #47784
- Skip favicon.js for metadata: #47790
- Fix module resolving error in tracer: #47786
- Fix fetchCache config and On-Demand Revalidate handling: #47803
- Add
computeWorkerKeyto the static optimization worker: #47792 - fix(
next-types-plugin): addParamChecktype only forroute.tsfiles: #47739 - fix: added tab and carriage to isWhitespace function to make robust: #47785
- Fix prefetch only being applied once: #47797
- Fix failing rust-check: #47811
- Move modularize imports for next/server to next-swc: #47788
- Add initial separated route resolving: #47208
- Fix dev ipc request on node v16: #47825
- Update render IPC handling: #47835
- Fix: fill route params for dynamic route metadata images url: #47829
- Enable context caching for middleware/edge functions in dev: #47840
- New app routes resolving logic for turbopack: #47737
- Polish metadata warnings: #47853
- Memory improvements to static workers: #47823
- Hide internal fetches OTel traces in dev mode and assert duplicate OTel spans are present only in dev mode: #47822
- feat(turbopack): support transform options: #47365
- Update dev IPC request: #47877
- Fix type plugin for NX workspaces: #47534
- Change package path from
gitpkg.now.shtogitpkg.vercel.app: #47879 - TS plugin: ensure error and global-error files are client components: #47882
- Decrease required open telemetry peer-dependency version: #47861
- router: implement route interceptions: #47565
- Fix issue where NextServer.prepare wouldn't be called when deployed: #47899
- Add missing
module.hot.acceptcall to server CSS modules: #47913 - mark resolve issues inside a try block as warnings: #47763
- Hide not ENOENT errors for not found in ipc server: #47854
- Update react docs link: #47891
- turbopack: defer dev code evaluation until after page render IPC connects: #47888
- add test case for alias field: #47856
- add test case for ignore modules: #47758
- Small refactoring to
build/index.ts: #47935 - Compare modules' layer when tracking server CSS changes: #47927
- Extend type for streamEntrypoints: #47874
- Add strict next head handling: #47938
- ChunkingContext refactor pt. 1: #47693
- Add dynamic parameter marker to router cache key: #47957
- Vendor
react@experimentalunder anexperimentalReactflag: #47759 - avoid duplicated error output: #47954
- add a warning when using implicit metadata: #47928
- Fallback to localhost for metadataBase when it's used and missing: #47910
- Fix app metadata in edge runtime: #47941
- Auto-restart dev server when next.config.js changes: #47912
- Unify Request types: #47884
- Update search params/route params handling on deploy: #47930
- turbopack: add vary header to app routes: #47946
- Check for null before reading value in useParams: #47875
- Fix metadata nested twitter props rendering: #47972
- Create unique route path for og under group routes: #47985
- allow turbopack HMR to recover from react errors without hard refresh: #47771
- Implement
Routetype for router APIs: #47931 - If prefetching detected as app route, pass "as" to handleHardNavigation instead of "url": #47949
- update turbopack: #47994
- Revert "update turbopack": #48001
- update turbopack: #48006
- Fix css applying for root not found: #47992
- fix code generation for loader tree: #47987
- interception routes: re-implementation: #48027
- parallel routes: return a 404 when a parallel route does not have a default page/do not match: #47872
- Update normalize revalidate params for named matches: #48032
- fix: handle error case for
output: exportinnext dev: #47768 - report error when using "use server" on module level: #47967
- Only cache successful fetches: #48033
- Revert "Vendor
react@experimentalunder anexperimentalReactflag": #48038 - Replaced Reflect with ReflectAdapter: #48000
Documentation Changes
- Improve static export documentation: #47251
- Add note about Windows Defender: #47298
- fix: update capitalization of ISR doc heading: #47370
- Updating the default URL of Amplify Hosting: #47420
- clarify warning about edge + ISR support: #47452
- Update Error Boundaries link to new ReactJS documentation: #47474
- Update react hydration error message page title: #47499
- Docs typo: #47528
- Add note about req to circular-structure error doc: #47162
- docs(image): Update browser bugs section for Safari 16.4 release: #47577
- Switch to ESM Jest config in docs: #42144
- Fix typo: #47634
- Grammar fix: #47600
- docs: clarify returning response in Middleware: #47696
- Replace AWS Serverless to SST in Serverless: #47725
- Linking to SST Next.js tutorial.: #47752
- chore(docs): add
typesafe-i18nas a new i18n option: #47315 - Document node.js APIs for Edge Runtime: #47760
- Update error-handling.md: #47779
- Update react-strict-mode.md: #47780
- [docs] Update getting-started.md with New react docs link: #47841
- Add documentation on OTEL support: #47194
- Update Local Images Example to Use Assets Folder: #47878
- Docs: Improve Open Telemetry documentation: #47955
- Recommend @opentelemetry/api instead of @vercel/otel reexport: #48013
- fix lint issue: #48023
Example Changes
- fix typo: #47235
- chore(examples): fix Mongoose deprecation warning: #47358
- chore: fix localhost port: #47413
- Update to supertokens example app: #47435
- chore(examples): Fix for destroy is not a function error: #47469
- Updated the versus short form in ssg-ssr example in docs: #47397
- fix-(Examples) Updated link tags in Auth0 example code.: #47518
- Remove incorrect entries for pnpm debug log: #47241
- Use App Router for static export example.: #47584
- Update Convex example to convex@0.12.0: #47175
- Updates with-supertokens example app: #47701
- Update github link: #47900
Misc Changes
- Update next/font/google data: #46988
- fix: added jsdom & canvas to the external packages list - fixes #46893: #46990
- Add auto-detection of image/x-icon content type: #47013
- fix: exclude 'mdx-bundler' from being bundled in server components: #46992
- Add /route subpath to metadata static routes: #47030
- test: update amp test to always check redbox: #47050
- Fix generateStaticParams check in app dir: #47051
- Fix URL anchor position in
going-to-production.md: #47056 - Rewrite action transform in SWC: #47049
- Cleanup remove directive logic to reduce allocate: #47055
- Initial support of redirection in server handlers (#46944
- Move
next-*crates from Turbopack: #47019 - chore(examples): upgrade Sentry to support Middleware: #47067
- Merge branch 'canary' into jrl-next-crates
- Merge pull request #47019 from vercel/jrl-next-crates
- [with-jest]: Update to use automatic path aliases: #46982
- Update _mongoClientPromise type error: #46985
- Prevent
handleDisconnectbeing called twice: #46959 - Fix next/image config injection during static generation: #47007
- Refactor renderers and RenderResult: #46955
- Update app route handler proxy handling: #47088
- Detect common invalid cases for the server directive: #47069
- Implement route announcer for app dir: #47018
- Fix: Update README templates in
create-next-app: #47037 - chore(examples): fix
@ts-ignorein Cloudinary config: #47029 - Add instructions to bug issue template: #47090
- Remove experimental fontLoaders option from next.config.js: #46886
- Verify router state query params can't grow out of control: #47094
- Fix(typedRoutes): fixed empty DynamicRoutes or StaticRoutes causing Route to turn into type string: #46980
- Dynamic routes for toplevel robots and sitemap: #47091
- Correctly list unsupported turbopack experimental options: #47093
- Continue page rendering after handling server requests: #47089
- fix(mdx): export NextMDXOptions interface: #46441
- updated zustand example to 4.3.6, changed out deprecated methods: #46911
- Fix #46621 - include status code in cache: #47096
- Finish up otel example with working docker and small guide in readme: #46819
- Add @feedthejim as a codeowner for docs, examples and errors: #47104
- Add support for scrolling to hash fragment: #46995
- re-enable next-dev-tests: #47087
- feat: add
output: exportsupport forappDir: #47022 - Refactor app-render to decouple type definitions (#47128
- update prettier in stats action: #47158
- Fix
RenderOptstype import: #47167 - Implement custom Turbopack Next transformers: #47137
- Implement server entry creation in client layer (#47127
- chore(ci): automatically deploy selected examples: #47130
- fix: app dir with
next devandoutput: export: #47171 - Fix(typedRoutes): fixed files from directories other than pages and app getting into Route: #47184
- Not apply image loader to metadata images: #47197
- Adjust transpiler to support inlined server functions with annotations: #47186
- improve turbopack error overlay: #47132
- feat(cli): introduce
--tailwindflag: #46927 - Align on next-transform-font: #47179
- Add OTEL tests: #47149
- Handle defaultLocale on client router filter: #47180
- fix build issue and future incompatibility: #47176
- fix: show error for api route handler with
output: export: #47219 - Fix missing option in
createFromFetch: #47216 - Fix failing CI checks: #47223
- docs: commentary correction for i18n app folder: #47226
- Support passing both closure arguments and parameters: #47212
- Fix deploy example: #47228
- next-swc: Switch to testing::fixture: #47183
- update turbopack: #47205
- Update router.md: #47210
- print reason for compilation: #47190
- [edge] support Node.js core modules in edge runtime: #47191
- Generate metadata images generation with app routes: #47225
- Emit late streaming meta tags: #47207
- fix: typo in message for experimental.runtime: #47248
- Fix loader rule with wrong matching conditions (#47261
- Fix contributing.md link in the rendering benchmark: #47303
- fix(cli): handle Tailwind CSS +
src/correctly: #47238 - Update failing e2e deploy test: #47325
- fix(cli): unify styles/content of templates: #47294
- Replace bg-opacity with bg-color/opacity in tailwindcss templates: #47253
- chore: fix issue labeler: #47206
- chore: add checkout step to issue labeler action: #47346
- Ensure all server entry exports are functions (#47364)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
- Don't set git config
features.manyFileson post install: #47375 - fix(cli): change file name from
route.tstoroute.js: #47352 - chore: tweak PR labeler pattern: #47395
- Revert "Support dynamic routes for social images and icons" (#47416
- Update failing e2e checks: #47423
- Add test for force-dynamic and catch-all routes (#47418
- Update CODEOWNERS
- chore: reduce noisy logs when updating timing gist: #47446
- Update failing e2e deploy test: #47453
- chore: clean up CODEOWNERS: #47451
- chore: run all tests for next/image against app dir: #47267
- Update failing i18n e2e deploy test: #47462
- Add workflow to trigger release: #47461
- Fix trigger_release workflow type: #47466
- Update version script
- Tweak trigger release cloning
- chore: tweak CODEOWNERS: #47491
- Fix failing og api e2e test: #47500
- add auto labeling for turbopack/the web-tooling team: #47502
- Update flakey app dev tests: #47504
- Update release package.json scripts: #47529
- Update pre-compiled
- Add ownership of build folder to Web Tooling team: #47508
- test(test-utils): correct --turbo error overlay lookup: #46901
- Update failing i18n e2e deploy test: #47555
- Update some flakey test cases: #47556
- Remove unneeded waiting in otel tests: #47431
- Improve client boundary source type detection (#47532)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
- ci(workflow): run checks for the test specific features: #47572
- Update test create-next-app running: #47611
- Fix rust-check
- Update pnpm version for trigger release
- Vendor @vercel/og and expose ImageResponse (#47657
- test: disable the flaky test for parallel-routes-and-interception: #47694
- Handle
asyncrequire when importing ESM ininstrumentation.ts: #47658 - Run turbopack integration tests for next.js changes too: #47608
- Revert "Revert "Update vendored react to 18.3.0-next-85de6fde5-20230328"" (#47700
- test: remove unreliable font test: #47714
- Update CODEOWNERS to override image wildcard: #47722
- chore(ci): fix codemod tests: #47710
- Add tests for Suspensey CSS: #47708
- Add test to ensure image generation works in the Node.js runtime: #47719
- test(turbopack): blocking CI for turbopack integration test: #47709
- Update publish canary to undraft automatically: #47775
- Update metadata e2e test on deploy: #47776
- Tweak canary undrafting: #47777
- Fix docs only check for test-native-integration: #47800
- Tweak Vercel CLI installing for E2E tests: #47804
- Fix flaky css test and remove unused tests deps: #47806
- (Fix)(Tests)Fix typo in unit testing: #47644
- Update to retry undrafting canary: #47826
- Update set-cookies deploy test: #47836
- Update flakey tests and add Node.js setup retrying: #47871
- Test disabling kodiak: #47880
- Ensure GH actions tests run for trunk branches: #47883
- Revert "Test disabling kodiak (#47880)"
- chore: update labels: #47904
- Disable Kodiak for testing
- Add merge_group actions trigger
- Run bench tests as part of CI: #47849
- Increase CI test timeout: #47973
- docs: Add "special" to the Alex allowlist: #48021
- Speed up native dev build: #48028
Credits
Huge thanks to @shuding, @huozhi, @sokra, @hanneslund, @JesseKoldewijn, @kaguya3222, @yangshun, @ijjk, @konomae, @Brooooooklyn, @jridgewell, @zlrlyy, @JohnDaly, @abhiyandhakal, @benjie, @johnnyomair, @nk980113, @dirheimerb, @DerTimonius, @DuCanhGH, @padmaia, @stafyniaksacha, @Gladowar, @zek, @jankaifer, @styfle, @balazsorban44, @wbinnssmith, @chibicode, @ForsakenHarmony, @franktronics, @FSaldanha, @Schniz, @raisedadead, @AdamKatzDev, @wyattjoh, @leerob, @meesvandongen, @vladikoff, @feedthejim, @tka5, @pyjun01, @gdborton, @M3kH, @aretrace, @shivanshubisht, @alexkirsz, @agrattan0820, @vinaykulk621, @heyitsuzair, @mrkldshv, @timneutkens, @furkanmavili, @swaminator, @EndangeredMassa, @DevEsteves, @rishabhpoddar, @schehata, @molebox, @dlehmhus, @akshaynox, @sp00ls, @janicklas-ralph, @tomryanx, @kwonoj, @karlhorky, @kdy1, @dante-robinson, @lachlanjc, @ianmacartney, @hotters, @isaackatayev, @insik-han, @jayair, @ivanhofer, @javivelasco, @SukkaW, @visshaljagtap, @imranbarbhuiya, @nivak-monarch, @HarshaVardhanReddyDuvvuru, @ianldgs, @ricardofiorani, @swarnava, @gustavostz, and @nabsul for helping!
Core Changes
- interception routes: re-implementation: #48027
- parallel routes: return a 404 when a parallel route does not have a default page/do not match: #47872
- Update normalize revalidate params for named matches: #48032
- fix: handle error case for
output: exportinnext dev: #47768 - report error when using "use server" on module level: #47967
- Only cache successful fetches: #48033
- Revert "Vendor
react@experimentalunder anexperimentalReactflag": #48038 - Replaced Reflect with ReflectAdapter: #48000
Documentation Changes
- fix lint issue: #48023
Misc Changes
- Speed up native dev build: #48028
Credits
Huge thanks to @sokra, @feedthejim, @styfle, @nabsul, and @wyattjoh for helping!
Core Changes
- update turbopack: #48006
- Fix css applying for root not found: #47992
- fix code generation for loader tree: #47987
Documentation Changes
- Docs: Improve Open Telemetry documentation: #47955
- Recommend @opentelemetry/api instead of @vercel/otel reexport: #48013
Misc Changes
- docs: Add "special" to the Alex allowlist: #48021
Credits
Huge thanks to @sokra, @huozhi, @jankaifer, and @shuding for helping!
Core Changes
- allow turbopack HMR to recover from react errors without hard refresh: #47771
- Implement
Routetype for router APIs: #47931 - If prefetching detected as app route, pass "as" to handleHardNavigation instead of "url": #47949
- update turbopack: #47994
- Revert "update turbopack": #48001
Credits
Huge thanks to @ForsakenHarmony, @shuding, @chibicode, and @sokra for helping!
Core Changes
- add test case for alias field: #47856
- add test case for ignore modules: #47758
- Small refactoring to
build/index.ts: #47935 - Compare modules' layer when tracking server CSS changes: #47927
- Extend type for streamEntrypoints: #47874
- Add strict next head handling: #47938
- ChunkingContext refactor pt. 1: #47693
- Add dynamic parameter marker to router cache key: #47957
- Vendor
react@experimentalunder anexperimentalReactflag: #47759 - avoid duplicated error output: #47954
- add a warning when using implicit metadata: #47928
- Fallback to localhost for metadataBase when it's used and missing: #47910
- Fix app metadata in edge runtime: #47941
- Auto-restart dev server when next.config.js changes: #47912
- Unify Request types: #47884
- Update search params/route params handling on deploy: #47930
- turbopack: add vary header to app routes: #47946
- Check for null before reading value in useParams: #47875
- Fix metadata nested twitter props rendering: #47972
- Create unique route path for og under group routes: #47985
Documentation Changes
- Update Local Images Example to Use Assets Folder: #47878
Misc Changes
- Disable Kodiak for testing
- Add merge_group actions trigger
- Run bench tests as part of CI: #47849
- Increase CI test timeout: #47973
Credits
Huge thanks to @sokra, @shuding, @gustavostz, @timneutkens, @alexkirsz, @huozhi, @jankaifer, @wyattjoh, and @jridgewell for helping!
Core Changes
- Add missing
module.hot.acceptcall to server CSS modules: #47913 - mark resolve issues inside a try block as warnings: #47763
- Hide not ENOENT errors for not found in ipc server: #47854
- Update react docs link: #47891
- turbopack: defer dev code evaluation until after page render IPC connects: #47888
Documentation Changes
- Add documentation on OTEL support: #47194
Credits
Huge thanks to @jankaifer, @shuding, @ForsakenHarmony, @huozhi, @swarnava, and @jridgewell for helping!
Core Changes
- New app routes resolving logic for turbopack: #47737
- Polish metadata warnings: #47853
- Memory improvements to static workers: #47823
- Hide internal fetches OTel traces in dev mode and assert duplicate OTel spans are present only in dev mode: #47822
- feat(turbopack): support transform options: #47365
- Update dev IPC request: #47877
- Fix type plugin for NX workspaces: #47534
- Change package path from
gitpkg.now.shtogitpkg.vercel.app: #47879 - TS plugin: ensure error and global-error files are client components: #47882
- Decrease required open telemetry peer-dependency version: #47861
- router: implement route interceptions: #47565
- Fix issue where NextServer.prepare wouldn't be called when deployed: #47899
Documentation Changes
- [docs] Update getting-started.md with New react docs link: #47841
Example Changes
- Update github link: #47900
Misc Changes
- Update flakey tests and add Node.js setup retrying: #47871
- Test disabling kodiak: #47880
- Ensure GH actions tests run for trunk branches: #47883
- Revert "Test disabling kodiak (#47880)"
- chore: update labels: #47904
Credits
Huge thanks to @HarshaVardhanReddyDuvvuru, @timneutkens, @huozhi, @shuding, @jankaifer, @kwonoj, @ianldgs, @ricardofiorani, @balazsorban44, and @feedthejim for helping!
Core Changes
- Fix dev ipc request on node v16: #47825
- Update render IPC handling: #47835
- Fix: fill route params for dynamic route metadata images url: #47829
- Enable context caching for middleware/edge functions in dev: #47840
Misc Changes
- Update to retry undrafting canary: #47826
- Update set-cookies deploy test: #47836
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Fix failing rust-check: #47811
- Move modularize imports for next/server to next-swc: #47788
- Add initial separated route resolving: #47208
Credits
Huge thanks to @huozhi for helping!
Core Changes
- provide full polyfill for process: #47764
- Turbopack: Use
SharedErrorfor body streaming: #47677 - fix(export): make static export work with worker_threads: #47784
- Skip favicon.js for metadata: #47790
- Fix module resolving error in tracer: #47786
- Fix fetchCache config and On-Demand Revalidate handling: #47803
- Add
computeWorkerKeyto the static optimization worker: #47792 - fix(
next-types-plugin): addParamChecktype only forroute.tsfiles: #47739 - fix: added tab and carriage to isWhitespace function to make robust: #47785
- Fix prefetch only being applied once: #47797
Documentation Changes
- Update error-handling.md: #47779
- Update react-strict-mode.md: #47780
Misc Changes
- Tweak canary undrafting: #47777
- Fix docs only check for test-native-integration: #47800
- Tweak Vercel CLI installing for E2E tests: #47804
- Fix flaky css test and remove unused tests deps: #47806
- (Fix)(Tests)Fix typo in unit testing: #47644
Credits
Huge thanks to @sokra, @jridgewell, @SukkaW, @visshaljagtap, @huozhi, @shuding, @imranbarbhuiya, @vinaykulk621, @nivak-monarch, and @timneutkens for helping!
Core Changes
- add consistent import sorting/grouping to rustfmt: #47745
- turbopack: ensure ENV values are available in middleware: #47767
- Fix skipMiddlewareUrlNormalize with i18n: #47773
- Fix typo in error overlay: #47762
Misc Changes
- Add test to ensure image generation works in the Node.js runtime: #47719
- test(turbopack): blocking CI for turbopack integration test: #47709
- Update publish canary to undraft automatically: #47775
- Update metadata e2e test on deploy: #47776
Credits
Huge thanks to @sokra, @jridgewell, @shuding, @kwonoj, and @padmaia for helping!
Core Changes
- fix: correctly handle Set-Cookie headers: #47718
- Support relative path for metadata alternates urls: #47743
- remove
next-corepackage.json dev script: #47746 - Restart static paths worker after finishing task: #47716
- feat: bump minimum ts version to 4.5.2: #47712
- Turobpack: Implement Streaming App/API rendering: #47476
- Update app router filter handling: #47761
- fix: improve error message pages for
output: export: #47765
Documentation Changes
- Linking to SST Next.js tutorial.: #47752
- chore(docs): add
typesafe-i18nas a new i18n option: #47315 - Document node.js APIs for Edge Runtime: #47760
Credits
Huge thanks to @wyattjoh, @huozhi, @ForsakenHarmony, @jayair, @shuding, @ivanhofer, @styfle, @jridgewell, and @javivelasco for helping!
Core Changes
- chore(docs): update
next exporttooutput: 'export': #47717 - Vendor @vercel/og and expose ImageResponse : #47715
- Turbopack: Fix images.remotePatterns port/protocol serialization: #47721
- Combine Route Handlers with Route Modules: #47679
- feat(next-swc): add compile-time heap profiler flag: #47729
- Add NEXT_RUNTIME process env to turbopack: #47713
- Small fixes to copy of Turbopack errors: #47734
Documentation Changes
- Replace AWS Serverless to SST in Serverless: #47725
Example Changes
- Updates with-supertokens example app: #47701
Misc Changes
- chore(ci): fix codemod tests: #47710
- Add tests for Suspensey CSS: #47708
Credits
Huge thanks to @styfle, @huozhi, @insik-han, @jridgewell, @wyattjoh, @rishabhpoddar, @shuding, @kwonoj, and @alexkirsz for helping!
Core Changes
- Revert "Update vendored react to 18.3.0-next-85de6fde5-20230328": #47687
- Fix
next-types-plugingenerated files forNode16/NodeNext: #47571 - Revert "Vendor @vercel/og and expose ImageResponse (#47657": #47711
- fix: handle empty
srcprop onnext/image: #47695 - Add not found boundary and move head cache to app router: #47688
- Fix turbopack
_devPagesManifest.jsonon next-site: #47427 - Update MetadataRoute to namespace: #47674
- Provide default metadataBase for local and vercel deployment: #47568
- Fix duplicated default metadata tags: #47690
Documentation Changes
- docs: clarify returning response in Middleware: #47696
Misc Changes
- Vendor @vercel/og and expose ImageResponse (#47657
- test: disable the flaky test for parallel-routes-and-interception: #47694
- Handle
asyncrequire when importing ESM ininstrumentation.ts: #47658 - Run turbopack integration tests for next.js changes too: #47608
- Revert "Revert "Update vendored react to 18.3.0-next-85de6fde5-20230328"" (#47700
- test: remove unreliable font test: #47714
- Update CODEOWNERS to override image wildcard: #47722
Credits
Huge thanks to @shuding, @karlhorky, @huozhi, @jankaifer, @balazsorban44, @sokra, @styfle, and @ForsakenHarmony for helping!
Core Changes
- Underscore Handling Fixes: #47581
- Move App Route handler logic into bundle: #47582
- Revert "Move App Route handler logic into bundle": #47614
- Make sure the global not found route doesn't conflict with existing /not-found route: #47619
- Fix robots.txt generation: #47625
- fix typescript errors in
next-core: #47607 - Expose metadata types: #47630
- show most recent error first in turbopack error overlay: #47414
- Move App Route handler logic into bundle: #47633
- fix: handle
output: exportwithuse client: #47635 - provide Buffer polyfill to client and edge: #47610
- fix: image
loaderFilewith edge runtime: #47659 - Update vendored react to 18.3.0-next-85de6fde5-20230328: #47675
- fix: improve type of
ExportPathMap: #47676 - Fix(next-types-plugin): remove unused imports: #47667
- resolve browser modules for edge api in turbopack: #47604
- build(next-swc): introduce turbo-binding: #47512
Documentation Changes
- Fix typo: #47634
- Grammar fix: #47600
Misc Changes
- Update test create-next-app running: #47611
- Fix rust-check
- Update pnpm version for trigger release
Credits
Huge thanks to @wyattjoh, @shuding, @huozhi, @hotters, @ForsakenHarmony, @styfle, @sokra, @isaackatayev, @DuCanhGH, and @kwonoj for helping!
Core Changes
- refactor(relay): Use transform from
swc/pluginsrepository: #47441 - remove unused turbo dependencies: #47557
- Add initial tree shaking refactorings: #47559
- next/font/local support for Turbopack: #47369
- Handle unknown platform triples in next-swc: #47570
- Fix fetch cache config and fetch revalidates: #47573
- Fix instrumentation not being called on edge in some cases: #47495
- Implement automatic font fallback support for
next/font/local: #47463 - Document various structs and methods in next/font: #47588
- Fix race condition of invalidation: #47586
- add test case for nested imports: #47580
Documentation Changes
- docs(image): Update browser bugs section for Safari 16.4 release: #47577
- Switch to ESM Jest config in docs: #42144
Example Changes
- Use App Router for static export example.: #47584
- Update Convex example to convex@0.12.0: #47175
Misc Changes
- Remove unneeded waiting in otel tests: #47431
- Improve client boundary source type detection (#47532)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
- ci(workflow): run checks for the test specific features: #47572
Credits
Huge thanks to @kdy1, @jankaifer, @wbinnssmith, @shuding, @dante-robinson, @ijjk, @kwonoj, @leerob, @lachlanjc, @karlhorky, and @ianmacartney for helping!
Core Changes
- Feat(next-types-plugin): added support for Route Handlers: #47185
- Add warning when deopting page into client rendering entirely: #47531
- Integrating capsize latest: #47428
- Rename app-render/index.tsx to app-render/app-render.tsx: #47285
Documentation Changes
- Add note about req to circular-structure error doc: #47162
Example Changes
- Remove incorrect entries for pnpm debug log: #47241
Misc Changes
- Update release package.json scripts: #47529
- Update pre-compiled
- Add ownership of build folder to Web Tooling team: #47508
- test(test-utils): correct --turbo error overlay lookup: #46901
- Update failing i18n e2e deploy test: #47555
- Update some flakey test cases: #47556
Credits
Huge thanks to @DuCanhGH, @padmaia, @timneutkens, @janicklas-ralph, @tomryanx, @kwonoj, and @karlhorky for helping!
Documentation Changes
- Docs typo: #47528
Example Changes
- fix-(Examples) Updated link tags in Auth0 example code.: #47518
Credits
Huge thanks to @sp00ls and @vinaykulk621 for helping!
Core Changes
- add useReportWebVitals that makes use of web-vitals package: #47319
- Ignore folders prefixed by underscore (_) in App Router: #47439
- Finalize HOC support with server entries and add encodeReply & decodeReply: #47438
- Locale fixes for App Directory: #47429
- Fix useSelectedLayoutSegments including PAGE: #47492
- parallel routes: implement default route + fix bugs on navigation: #47436
- Add http.route into root otel span: #47392
- fix: typo in max cache size error message: #47505
- Fix other case for useSelectedLayoutSegments: #47511
- fix error handling and hanging problems: #47457
- restore dynamic directory embedding: #47260
- Remove head.js: #47507
- Return null for useParams in pages: #47490
- Clean up leftover loaders: #46801
Documentation Changes
- Update react hydration error message page title: #47499
Example Changes
- chore(examples): Fix for destroy is not a function error: #47469
- Updated the versus short form in ssg-ssr example in docs: #47397
Misc Changes
- chore: tweak CODEOWNERS: #47491
- Fix failing og api e2e test: #47500
- add auto labeling for turbopack/the web-tooling team: #47502
- Update flakey app dev tests: #47504
Credits
Huge thanks to @schehata, @timneutkens, @shuding, @wyattjoh, @balazsorban44, @heyitsuzair, @molebox, @ijjk, @ForsakenHarmony, @feedthejim, @jankaifer, @dlehmhus, and @akshaynox for helping!
Core Changes
- chore: add telemetry for
output: export: #47464 - Update fetch cache memory handling: #47465
Documentation Changes
- Update Error Boundaries link to new ReactJS documentation: #47474
Example Changes
- Update to supertokens example app: #47435
Misc Changes
- chore: clean up CODEOWNERS: #47451
- chore: run all tests for next/image against app dir: #47267
- Update failing i18n e2e deploy test: #47462
- Add workflow to trigger release: #47461
- Fix trigger_release workflow type: #47466
- Update version script
- Tweak trigger release cloning
Credits
Huge thanks to @balazsorban44, @styfle, @DevEsteves, and @rishabhpoddar for helping!
Core Changes
- Fix twitter metadata info merging: #47433
- improve source mapping of console output and errors: #47388
- Fix closure and rest params handling in SWC transform: #47401
- feat: change
next buildto emit output withoutput: export: #47376 - Error during dev if returning
Responsein pages API routes in Node.js runtime: #47442 - Add content hash for dynamic og image routes: #47440
Documentation Changes
- clarify warning about edge + ISR support: #47452
Misc Changes
- Add test for force-dynamic and catch-all routes (#47418
- Update CODEOWNERS
- chore: reduce noisy logs when updating timing gist: #47446
- Update failing e2e deploy test: #47453
Credits
Huge thanks to @huozhi, @sokra, @shuding, @styfle, and @EndangeredMassa for helping!
Core Changes
- Add optional match support of rewrites and redirects in
typedRoutes: #47398 - Support dynamic routes for social images and icons: #47425
- turbopack: Implement streamed middleware: #47264
Documentation Changes
- Updating the default URL of Amplify Hosting: #47420
Credits
Huge thanks to @shuding, @huozhi, @jridgewell, and @swaminator for helping!
Core Changes
- Simplify moduleProxy alias: #47381
- Skip warning if there is app directory for
no-html-link-for-pagesrule: #42516 - Catch redirect() in root layout: #47345
- Add useParams(): #47373
- Refactor ES chunk evaluate logic into a Runtime trait: #47116
- Add more spans into OTEL instrumentation to wrap all user defined functions: #47368
- Support HOC cases in server entries: #47379
- Support dynamic routes for social images and icons: #47372
- Fix build spinner in TTY env: #47383
- upgrade vendored React to
18.3.0-next-12a1d140e-20230321: #47405 - Add default meta tags to error page: #47404
- Extend
not-found.jsto catch all unmatched routes: #47328
Example Changes
- chore(examples): fix Mongoose deprecation warning: #47358
- chore: fix localhost port: #47413
Misc Changes
- Don't set git config
features.manyFileson post install: #47375 - fix(cli): change file name from
route.tstoroute.js: #47352 - chore: tweak PR labeler pattern: #47395
- Revert "Support dynamic routes for social images and icons" (#47416
- Update failing e2e checks: #47423
Credits
Huge thanks to @wbinnssmith, @vinaykulk621, @heyitsuzair, @shuding, @mrkldshv, @timneutkens, @alexkirsz, @jankaifer, @balazsorban44, @huozhi, and @furkanmavili for helping!
Core Changes
- Marks app paths in dev as supporting dynamic html: #46848
- fix: add pretty error for
exportPathMapwithappdir: #47371 - Skip extra swc builds: #47378
Documentation Changes
- fix: update capitalization of ISR doc heading: #47370
Misc Changes
- Ensure all server entry exports are functions (#47364)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Credits
Huge thanks to @agrattan0820, @shuding, @wyattjoh, and @styfle for helping!
Core Changes
- [Nitpick] Remove unnecessary await in
base-server: #47313 - Warn about default exports with App Routes: #47263
- Add better-sqlite3 to server external packages: #47327
- Change App Route Route Handler signature: #47268
Misc Changes
- fix(cli): handle Tailwind CSS +
src/correctly: #47238 - Update failing e2e deploy test: #47325
- fix(cli): unify styles/content of templates: #47294
- Replace bg-opacity with bg-color/opacity in tailwindcss templates: #47253
- chore: fix issue labeler: #47206
Credits
Huge thanks to @balazsorban44, @M3kH, @wyattjoh, @aretrace, and @shivanshubisht for helping!
Core Changes
- Split app-render functions into separate files: #47282
- fix: typo in output:export error messages: #47252
- fix: handle different cases of React
fetchPriority: #47302 - [edge] limit the api surface of
util: #47292 - parallel routes: fix duplicate dev warning: #47317
- next/font/local prep: compartmentalize next/font/google: #47213
- Improve OTEL spans naming: #47209
- fix invalid comment in parseParameter function: #47291
- Add searchParams to leaf cache key: #47312
- Remove duplicated if statement: #47322
- Add a .catch to shared router for ssg fetching.: #47265
- parallel routes: fix nested routes: #47323
Documentation Changes
- Add note about Windows Defender: #47298
Example Changes
- fix typo: #47235
Misc Changes
- Fix contributing.md link in the rendering benchmark: #47303
Credits
Huge thanks to @leerob, @meesvandongen, @vladikoff, @styfle, @Schniz, @feedthejim, @tka5, @wbinnssmith, @jankaifer, @pyjun01, and @gdborton for helping!
Core Changes
- Fix CSS not being bundled in app dir: #45787
- feat(standalone): allow configuring KEEP_ALIVE_TIMEOUT via env var: #46052
- i18n Improvements: #47174
- Support manifest.json static and dynamic route: #47240
- Ensure config and fetch revalidate are honored: #47255
- feat: add
fetchPrioritytonext/image: #47222 - chore: add missing ts type in next-edge-app-route-loader: #47243
Documentation Changes
- Improve static export documentation: #47251
Misc Changes
- Generate metadata images generation with app routes: #47225
- Emit late streaming meta tags: #47207
- fix: typo in message for experimental.runtime: #47248
- Fix loader rule with wrong matching conditions (#47261
Credits
Huge thanks to @huozhi, @shuding, @raisedadead, @AdamKatzDev, @wyattjoh, @leerob, and @styfle for helping!
Misc Changes
- Update router.md: #47210
- print reason for compilation: #47190
- [edge] support Node.js core modules in edge runtime: #47191
Credits
Huge thanks to @FSaldanha, @sokra, and @Schniz for helping!
Misc Changes
- fix: show error for api route handler with
output: export: #47219 - Fix missing option in
createFromFetch: #47216 - Fix failing CI checks: #47223
- docs: commentary correction for i18n app folder: #47226
- Support passing both closure arguments and parameters: #47212
- Fix deploy example: #47228
- next-swc: Switch to testing::fixture: #47183
- update turbopack: #47205
Credits
Huge thanks to @styfle, @shuding, @ijjk, @franktronics, @jridgewell, and @sokra for helping!
Core Changes
- Ensure router.refresh() matches revalidatePath('/') behavior: #46723
- Reorganize client references manifest: #46777
- Opt-in to dynamic rendering when reading searchParams: #46205
Misc Changes
- update prettier in stats action: #47158
- Fix
RenderOptstype import: #47167 - Implement custom Turbopack Next transformers: #47137
- Implement server entry creation in client layer (#47127
- chore(ci): automatically deploy selected examples: #47130
- fix: app dir with
next devandoutput: export: #47171 - Fix(typedRoutes): fixed files from directories other than pages and app getting into Route: #47184
- Not apply image loader to metadata images: #47197
- Adjust transpiler to support inlined server functions with annotations: #47186
- improve turbopack error overlay: #47132
- feat(cli): introduce
--tailwindflag: #46927 - Align on next-transform-font: #47179
- Add OTEL tests: #47149
- Handle defaultLocale on client router filter: #47180
- fix build issue and future incompatibility: #47176
Credits
Huge thanks to @sokra, @shuding, @jridgewell, @styfle, @DuCanhGH, @huozhi, @balazsorban44, @wbinnssmith, @jankaifer, @chibicode, and @ForsakenHarmony for helping!
Misc Changes
- Finish up otel example with working docker and small guide in readme: #46819
- Add @feedthejim as a codeowner for docs, examples and errors: #47104
- Add support for scrolling to hash fragment: #46995
- re-enable next-dev-tests: #47087
- feat: add
output: exportsupport forappDir: #47022 - Refactor app-render to decouple type definitions (#47128
Credits
Huge thanks to @jankaifer, @sokra, and @styfle for helping!
Misc Changes
- Detect common invalid cases for the server directive: #47069
- Implement route announcer for app dir: #47018
- Fix: Update README templates in
create-next-app: #47037 - chore(examples): fix
@ts-ignorein Cloudinary config: #47029 - Add instructions to bug issue template: #47090
- Remove experimental fontLoaders option from next.config.js: #46886
- Verify router state query params can't grow out of control: #47094
- Fix(typedRoutes): fixed empty DynamicRoutes or StaticRoutes causing Route to turn into type string: #46980
- Dynamic routes for toplevel robots and sitemap: #47091
- Correctly list unsupported turbopack experimental options: #47093
- Continue page rendering after handling server requests: #47089
- fix(mdx): export NextMDXOptions interface: #46441
- updated zustand example to 4.3.6, changed out deprecated methods: #46911
- Fix #46621 - include status code in cache: #47096
Credits
Huge thanks to @shuding, @nk980113, @dirheimerb, @DerTimonius, @hanneslund, @DuCanhGH, @huozhi, @padmaia, @stafyniaksacha, @Gladowar, and @zek for helping!
Misc Changes
- Update next/font/google data: #46988
- fix: added jsdom & canvas to the external packages list - fixes #46893: #46990
- Add auto-detection of image/x-icon content type: #47013
- fix: exclude 'mdx-bundler' from being bundled in server components: #46992
- Add /route subpath to metadata static routes: #47030
- test: update amp test to always check redbox: #47050
- Fix generateStaticParams check in app dir: #47051
- Fix URL anchor position in
going-to-production.md: #47056 - Rewrite action transform in SWC: #47049
- Cleanup remove directive logic to reduce allocate: #47055
- Initial support of redirection in server handlers (#46944
- Move
next-*crates from Turbopack: #47019 - chore(examples): upgrade Sentry to support Middleware: #47067
- Merge branch 'canary' into jrl-next-crates
- Merge pull request #47019 from vercel/jrl-next-crates
- [with-jest]: Update to use automatic path aliases: #46982
- Update _mongoClientPromise type error: #46985
- Prevent
handleDisconnectbeing called twice: #46959 - Fix next/image config injection during static generation: #47007
- Refactor renderers and RenderResult: #46955
- Update app route handler proxy handling: #47088
Credits
Huge thanks to @hanneslund, @JesseKoldewijn, @ijjk, @kaguya3222, @yangshun, @huozhi, @konomae, @shuding, @Brooooooklyn, @jridgewell, @zlrlyy, @JohnDaly, @abhiyandhakal, @benjie, and @johnnyomair for helping!
Core Changes
- Update next/font/google data: #46988
- fix: added jsdom & canvas to the external packages list - fixes #46893: #46990
- Add auto-detection of image/x-icon content type: #47013
- fix: exclude 'mdx-bundler' from being bundled in server components: #46992
- Add /route subpath to metadata static routes: #47030
Credits
Huge thanks to @hanneslund, @JesseKoldewijn, @kaguya3222, @yangshun, and @huozhi for helping!
Core Changes
- Add Zod and router state validation: #46962
- Support default arrow function export in server boundary (#46977
- Generate fixed route path for favicon.ico: #46997
- update turbopack: #46994
Credits
Huge thanks to @shuding, @huozhi, and @sokra for helping!
Core Changes
- Check if server error already had its message updated: #46367
- [next/jest] Support path aliases from
tsconfig/jsconfig: #45815 - List unsupported Turbopack config keys: #46582
- Support named exports for server references: #46558
- Fix(typedRoutes): fixed StaticRoutes and DynamicRoutes being empty causing invalid syntax: #46620
- Fix IntelliSense for generateMetadata: #46624
- Update vendored React packages to next-41110021f: #46636
- Add request callback in Flight client: #46650
- fix: distDir in verifyTypeScriptSetup for nextLint: #46630
- Updates
next/imageeslint message to denote that costs may be incurred.: #46640 - Ensure default config passes schema checks: #46656
- Use separate workers for webpackBuildWorker: #46666
- Fix static to dynamic on revalidate: #46668
- Fix the Next.js router in Turbopack when there are no middlewares: #46681
- build(cargo): update turbopack: #46685
- Add build worker exit tracking and enable tests: #46698
- Support
force-staticon App Routes: #46693 - Add viewport field userScalable: #46696
- Update static build workers: #46705
- Refactor build context for better plugin state sharing: #46706
- Support multi title for alternates: #46700
- Ensure test-unit includes package unit tests: #46707
- Disallow wildcard export in server entries: #46710
- Add test for router.refresh preserving unaffected segments: #46687
- Failing test for SWC
shakeExportsand JSX: #35735 - Fix originalRequest not available for edge requests: #46741
- Fix require cache conflict between app and pages: #46736
- Fix Web app manifests docs: #46617
- Update client router filter to separate redirects handling: #46752
- Add support for
output: exportconfig: #46744 - Pass through original matcher source in manifest: #46753
- Use browser navigation when RSC payload fails to fetch: #46674
- Use set to track CSS imports: #46772
- Fix middleware notFound: true handling: #46759
- Only check app/ for no-head-element-rule: #46773
- Fix redundant TS plugin warning: #46769
- Correct server reference manifest in prod build: #46683
- add argon2 to serverComponentsExternalPackages auto-optOut list: #46779
- Refactor SWC transform to support named default export: #46778
- Remove
experimental.runtimeand emit warning when used: #46631 - Fix(typedRoutes): fixed type Route resolving to type any: #46679
- Improve the readability of full page refresh error in dev mode: #46634
- Port error overlay hydration error to pages directory: #46677
- eslint rule for script strategy should work properly in
app/: #46609 - fix: Add NODE_OPTIONS for debugging in next-dev: #46757
Documentation Changes
- Documentation: Update link-no-children error page for new link: #46514
- chore(docs): add snippets for common image loaders: #46647
- Fix the doc on how to use the turbo loader in option-less format: #46665
- Fix custom server error handling in the docs: #46671
- docs: clarified the wording: #46691
- Update script.md: #46680
- next/font refactoring and additional unit tests: #46731
Example Changes
- Add @types/mdx to app-dir-mdx example: #46523
Misc Changes
- test(utils): support turbopack-based overlay error text lookup #46589
- chore: improve repo templates: #46629
- Update app-static test page #46645
- test: add preconnect tests and move error tests: #46652
- Refactor and add more tests to next/font/local: #46627
- Add script to automate updating vendored React version: #46663
- Refactor next/font/google and add additional comments: #46692
- Ensure app chunk URLs are encoded properly #46749
- Adjust API route loader #46726
- test: refactor metadata tests to test multi matches easier: #46746
- Support mdx-components file in src directory: #46763
- Fix middleware 404 prefetch case: #46782
- Update view-source.tsx: #46790
- chore: add jsdoc to
outputin next.config.js: #46804 - next/font tests: support Turbopack css module format: #46658
- update dynamic-import.md example: #46787
- Change @next/font to next/font in examples: #46836
- Update vendored React: #46826
- Revert "Update vendored React": #46861
- Update fetch cache handling with POST requests: #46856
- Remove extra exports from filter utils: #46860
- test(unit): add cases for cssnano simple: #46862
- Ensure chained middleware rewrites work properly: #46866
- chore: improve PR labeling, fix, sort, add new team member: #46675
- chore: add App Router template to bug report: #46872
- Add a timeout to next/font/google in dev: #46834
- Support unnamed default export expression #46888
- Only run toSource in next/font codemod if there are changes: #46877
- Add more JSDoc to types: #46897
- Fix TS plugin showing warning for error file's
resetprop: #46898 - Fix conflict dev entry key between app and pages: #46832
- Update app-static e2e test: #46900
- Revert "Revert "Update vendored React"": #46881
- Add retry to the hmr acceptance test: #46902
- Fix
with-jestandwith-jest-babelexample test snapshot failure: #46885 - Update generateStaticParams handling with fetch cache: #46906
- Fix unexpected hoist meta tags by react in app dir: #46917
- Update turbopack to
230308.1: #46909 - Support default export expression for variables: #46896
- Reduce the number of hydration error tests: #46930
- Update Turbopack to 230308.3: #46935
- Use https_proxy environment variable in next/font/google: #46822
- Validate
req.urlin renderer: #46923 - Validate the router state header on the server: #46925
- Rename FontLoaderManifest to NextFontManifest and add better comments: #46922
- Revalidate generateStaticParams/Paths in background in dev: #46940
- Support re-exporting unnamed function expression: #46936
- Support static file robots.txt and sitemap.xml as metadata route: #46963
- Update vendored react: #46970
- Move error overlay recovery tests to new file: #46965
- Improve RSC compiler error in external module: #46953
- Update Turbopack to 230309.2: #46971
- Use turbo remote cache for build-native-test: #46975
- Do not re-assign
process.env: #46914
Credits
Huge thanks to @hanneslund, @ijjk, @JohnDaly, @jridgewell, @divslinger, @shuding, @DuCanhGH, @balazsorban44, @acdlite, @teobler, @styfle, @manovotny, @huozhi, @smorimoto, @Dannymx, @Janpot, @alexkirsz, @nohr, @Humboorgir, @wyattjoh, @timneutkens, @overlookmotel, @HaNdTriX, @proustibat, @fedeya, @wbinnssmith, @irekrog, @JanKaifer, @SukkaW, @rayrw, @kdy1, @seiry, and @unflxw for helping!
Core Changes
- fix: Add NODE_OPTIONS for debugging in next-dev: #46757
Misc Changes
- Support static file robots.txt and sitemap.xml as metadata route: #46963
- Update vendored react: #46970
- Move error overlay recovery tests to new file: #46965
- Improve RSC compiler error in external module: #46953
- Update Turbopack to 230309.2: #46971
- Use turbo remote cache for build-native-test: #46975
- Do not re-assign
process.env: #46914
Credits
Huge thanks to @huozhi, @hanneslund, @jridgewell, @seiry, and @unflxw for helping!
Misc Changes
- Use https_proxy environment variable in next/font/google: #46822
- Validate
req.urlin renderer: #46923 - Validate the router state header on the server: #46925
- Rename FontLoaderManifest to NextFontManifest and add better comments: #46922
- Revalidate generateStaticParams/Paths in background in dev: #46940
- Support re-exporting unnamed function expression: #46936
Credits
Huge thanks to @hanneslund and @shuding for helping!
Core Changes
- eslint rule for script strategy should work properly in
app/: #46609
Misc Changes
- Add retry to the hmr acceptance test: #46902
- Fix
with-jestandwith-jest-babelexample test snapshot failure: #46885 - Update generateStaticParams handling with fetch cache: #46906
- Fix unexpected hoist meta tags by react in app dir: #46917
- Update turbopack to
230308.1: #46909 - Support default export expression for variables: #46896
- Reduce the number of hydration error tests: #46930
- Update Turbopack to 230308.3: #46935
Credits
Huge thanks to @shuding, @rayrw, @JanKaifer, @huozhi, @kdy1, @hanneslund, and @jridgewell for helping!
Misc Changes
- chore: improve PR labeling, fix, sort, add new team member: #46675
- chore: add App Router template to bug report: #46872
- Add a timeout to next/font/google in dev: #46834
- Support unnamed default export expression (#46888
- Only run toSource in next/font codemod if there are changes: #46877
- Add more JSDoc to types: #46897
- Fix TS plugin showing warning for error file's
resetprop: #46898 - Fix conflict dev entry key between app and pages: #46832
- Update app-static e2e test: #46900
- Revert "Revert "Update vendored React"": #46881
Credits
Huge thanks to @balazsorban44, @hanneslund, @shuding, and @huozhi for helping!
Core Changes
- Refactor SWC transform to support named default export: #46778
- Remove
experimental.runtimeand emit warning when used: #46631 - Fix(typedRoutes): fixed type Route resolving to type any: #46679
- Improve the readability of full page refresh error in dev mode: #46634
- Port error overlay hydration error to pages directory: #46677
Documentation Changes
- next/font refactoring and additional unit tests: #46731
Misc Changes
- chore: add jsdoc to
outputin next.config.js: #46804 - next/font tests: support Turbopack css module format: #46658
- update dynamic-import.md example: #46787
- Change @next/font to next/font in examples: #46836
- Update vendored React: #46826
- Revert "Update vendored React": #46861
- Update fetch cache handling with POST requests: #46856
- Remove extra exports from filter utils: #46860
- test(unit): add cases for cssnano simple: #46862
- Ensure chained middleware rewrites work properly: #46866
Credits
Huge thanks to @styfle, @shuding, @wbinnssmith, @irekrog, @hanneslund, @JanKaifer, @DuCanhGH, and @SukkaW for helping!
Core Changes
- Fix redundant TS plugin warning: #46769
- Correct server reference manifest in prod build: #46683
- add argon2 to serverComponentsExternalPackages auto-optOut list: #46779
Misc Changes
- Support mdx-components file in src directory: #46763
- Fix middleware 404 prefetch case: #46782
- Update view-source.tsx: #46790
Credits
Huge thanks to @timneutkens, @shuding, @proustibat, and @fedeya for helping!
Core Changes
- Use browser navigation when RSC payload fails to fetch: #46674
- Use set to track CSS imports: #46772
- Fix middleware notFound: true handling: #46759
- Only check app/ for no-head-element-rule: #46773
Misc Changes
- test: refactor metadata tests to test multi matches easier: #46746
Credits
Huge thanks to @timneutkens, @huozhi, and @shuding for helping!
Core Changes
- Disallow wildcard export in server entries: #46710
- Add test for router.refresh preserving unaffected segments: #46687
- Failing test for SWC
shakeExportsand JSX: #35735 - Fix originalRequest not available for edge requests: #46741
- Fix require cache conflict between app and pages: #46736
- Fix Web app manifests docs: #46617
- Update client router filter to separate redirects handling: #46752
- Add support for
output: exportconfig: #46744 - Pass through original matcher source in manifest: #46753
Misc Changes
- Ensure app chunk URLs are encoded properly (#46749
- Adjust API route loader (#46726
Credits
Huge thanks to @shuding, @timneutkens, @overlookmotel, @wyattjoh, @huozhi, @HaNdTriX, and @styfle for helping!
Core Changes
- Check if server error already had its message updated: #46367
- [next/jest] Support path aliases from
tsconfig/jsconfig: #45815 - List unsupported Turbopack config keys: #46582
- Support named exports for server references: #46558
- Fix(typedRoutes): fixed StaticRoutes and DynamicRoutes being empty causing invalid syntax: #46620
- Fix IntelliSense for generateMetadata: #46624
- Update vendored React packages to next-41110021f: #46636
- Add request callback in Flight client: #46650
- fix: distDir in verifyTypeScriptSetup for nextLint: #46630
- Updates
next/imageeslint message to denote that costs may be incurred.: #46640 - Ensure default config passes schema checks: #46656
- Use separate workers for webpackBuildWorker: #46666
- Fix static to dynamic on revalidate: #46668
- Fix the Next.js router in Turbopack when there are no middlewares: #46681
- build(cargo): update turbopack: #46685
- Add build worker exit tracking and enable tests: #46698
- Support
force-staticon App Routes: #46693 - Add viewport field userScalable: #46696
- Update static build workers: #46705
- Refactor build context for better plugin state sharing: #46706
- Support multi title for alternates: #46700
- Ensure test-unit includes package unit tests: #46707
Documentation Changes
- Documentation: Update link-no-children error page for new link: #46514
- chore(docs): add snippets for common image loaders: #46647
- Fix the doc on how to use the turbo loader in option-less format: #46665
- Fix custom server error handling in the docs: #46671
- docs: clarified the wording: #46691
- Update script.md: #46680
Example Changes
- Add @types/mdx to app-dir-mdx example: #46523
Misc Changes
- test(utils): support turbopack-based overlay error text lookup (#46589
- chore: improve repo templates: #46629
- Update app-static test page (#46645
- test: add preconnect tests and move error tests: #46652
- Refactor and add more tests to next/font/local: #46627
- Add script to automate updating vendored React version: #46663
- Refactor next/font/google and add additional comments: #46692
Credits
Huge thanks to @hanneslund, @JohnDaly, @jridgewell, @divslinger, @shuding, @DuCanhGH, @balazsorban44, @acdlite, @teobler, @styfle, @manovotny, @huozhi, @smorimoto, @Dannymx, @Janpot, @alexkirsz, @nohr, @Humboorgir, and @wyattjoh for helping!
Core Changes
- build(cargo): update turbopack: #46581
- Fix(typedRoutes): fixed Webpack crashing without redirects/rewrites: #46591
- Fix async generateMetadata type in ts plugin: #46596
- Async Storage Cleanup: #46586
- Ensure URL can be passed to fetch correctly #46592
- Fix static to dynamic error in dev: #46597
- Add page path to repeated slashes in href error: #46557
- Implement middleware support for Turbopack: #46397
Credits
Huge thanks to @jridgewell, @DuCanhGH, @wyattjoh, and @hanneslund for helping!
Core Changes
- Fix static to dynamic error in dev: #46597
- Add page path to repeated slashes in href error: #46557
- Implement middleware support for Turbopack: #46397
Credits
Huge thanks to @hanneslund and @jridgewell for helping!
Core Changes
- build(cargo): update turbopack: #46581
- Fix(typedRoutes): fixed Webpack crashing without redirects/rewrites: #46591
- Fix async generateMetadata type in ts plugin: #46596
- Async Storage Cleanup: #46586
- Ensure URL can be passed to fetch correctly (#46592
Credits
Huge thanks to @jridgewell, @DuCanhGH, and @wyattjoh for helping!
Core Changes
- fix(ts): correctly augment
nextwhentypedRoutes: true: #46332 - feat(cssnano-simple): merge into next repo: #46380
- Dedupe next/font preload tags: #46354
- Print command for current packet manager in @next/font warning: #46359
- Loader refactoring: #46304
- Support
server-onlyinside pages/api: #46328 - fix: improve next.config.js validation for
imagesprop: #46326 - Revert "Support
server-onlyinside pages/api": #46388 - Add relative app dir field: #46393
- test(integration): properly pipe turbopack binary stdouts: #46382
- chore: improve error when exporting metadata from client component: #46334
- Update server reference syntax and tests: #46389
- Fix SWC error wrongly formatted : #46412
- Fix(typedRoutes): replaced
readFile+replaceAll, hid utils types, fixed duplication in typeRoute, fixed route groups on Windows: #46378 - Ensure fetch fields are detected with RequestInit: #46398
- Ensure SERVER_REFERENCE_MANIFEST is included in output files: #46420
- Fix duplicate link type asset generation: #46421
- chore: show large data warning once per page on prod: #46323
- fixed spelling mistake: #46446
- Fix(typedRoutes): export createServer from 'next/types/index.d.ts': #46462
- chore: Loss of precision due to Date now amplification: #46344
- Fix next/font/google config not being used: #46484
- Add @latest to next/font codemod warning: #46486
- Add error for styled-jsx in Server Component: #46482
- Refactor style loader code: #46490
- Fix SWC's auto_cjs handling: #46448
- Add theme color media support for metadata: #46502
- Fix(typedRoutes): fixed 'next' imports on TS < 5.0: #46507
- fix: codemod should preserve type only import: #46512
- Add interactive-widget optional property to Viewport type: #46506
- Update router filter to be less sensitive: #46515
- Update fetch cache internal handling: #46522
- Upgrade precompiled react packages: #46365
- fix(error-overlay): hide "Learn more" when up-to-date: #46488
- Refactor route types to include rewrites and redirects: #46327
- Added bcrypt to the serverComponentsExternalPackages auto-optOut list: #46532
- feat: add support for the src folder for the instrumentation hook: #46529
- Fix viewport typing and refactor constants: #46569
- Fix shared entries/invalidators module scope: #46533
- Fix CSS imports not included in entries with a custom extension: #46571
- fix: should not warn when image unmounts: #46567
- fix: generate next-env.d.ts file during next lint command: #46249
- Fix infinite invalidations loop in app dir (#46526)
- Use og:image instead of og:image:url: #46570
- Fix usage of textDecoder to not break utf8 characters: #46564
- Fix app client child entry not being disposed when deleting the file: #46583
- Fix: canonical should allow relative urls: #46584
Documentation Changes
- Docs:
next/fontupdates: #46159 - Add note explaining how to import fonts with spaces in name: #46348
- Docs: Fix Railway link: #46381
- Wrong function name: #46546
Example Changes
- Add missing 'key': #46386
Misc Changes
- test(next-script): teardown next-dev instance via jest hooks: #46383
- Apply filtering after rewrite as well (#46390
- Fix fetch cache key inputs and encoding (#46392
- Fix failing app-static deploy test: #46395
- Cover 1st-party examples with tests (#45270)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Tim Neutkens tim@timneutkens.nl
- Updates cms-sanity example to use Sanity v3 (#45662
- Support Two-letter Language Codes(ISO-639-1) to metadata HrefLang types (#46285
- [next/codemod]: Preserve type-only imports when using
next-image-to-legacy-image(#46460 - Remove incorrect comment (#46467)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
- dynamic = "error" violations should be shown in error overlay (#45893
- Fix typo from next-font (#46468
- Add image generation test to app route: #46449
- Remove baseUrl from create-next-app ts/jsconfig.json: #46458
- Update fetch cache key (#46513
Credits
Huge thanks to @balazsorban44, @delbaoliveira, @SukkaW, @ijjk, @hanneslund, @JanKaifer, @GitRowin, @shuding, @styfle, @mjunix, @kwonoj, @thiskevinwang, @DuCanhGH, @SethFalco, @yun-jay, @harrytothemoon, @timneutkens, @huozhi, @thomasballinger, @aretrace, @JesseKoldewijn, @feedthejim, @serkanbektas, @teobler, and @vadzim for helping!
Core Changes
- Use og:image instead of og:image:url: #46570
- Fix usage of textDecoder to not break utf8 characters: #46564
- Fix app client child entry not being disposed when deleting the file: #46583
- Fix: canonical should allow relative urls: #46584
Credits
Huge thanks to @huozhi, @vadzim, and @shuding for helping!
Core Changes
- fix(error-overlay): hide "Learn more" when up-to-date: #46488
- Refactor route types to include rewrites and redirects: #46327
- Added bcrypt to the serverComponentsExternalPackages auto-optOut list: #46532
- feat: add support for the src folder for the instrumentation hook: #46529
- Fix viewport typing and refactor constants: #46569
- Fix shared entries/invalidators module scope: #46533
- Fix CSS imports not included in entries with a custom extension: #46571
- fix: should not warn when image unmounts: #46567
- fix: generate next-env.d.ts file during next lint command: #46249
- Fix infinite invalidations loop in app dir (#46526)
Documentation Changes
- Wrong function name: #46546
Credits
Huge thanks to @balazsorban44, @shuding, @JesseKoldewijn, @feedthejim, @serkanbektas, @huozhi, @styfle, and @teobler for helping!
Core Changes
- Update fetch cache internal handling: #46522
- Upgrade precompiled react packages: #46365
Credits
Huge thanks to @ijjk and @shuding for helping!
Core Changes
- fixed spelling mistake: #46446
- Fix(typedRoutes): export createServer from 'next/types/index.d.ts': #46462
- chore: Loss of precision due to Date now amplification: #46344
- Fix next/font/google config not being used: #46484
- Add @latest to next/font codemod warning: #46486
- Add error for styled-jsx in Server Component: #46482
- Refactor style loader code: #46490
- Fix SWC's auto_cjs handling: #46448
- Add theme color media support for metadata: #46502
- Fix(typedRoutes): fixed 'next' imports on TS < 5.0: #46507
- fix: codemod should preserve type only import: #46512
- Add interactive-widget optional property to Viewport type: #46506
- Update router filter to be less sensitive: #46515
Misc Changes
- Cover 1st-party examples with tests (#45270)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Tim Neutkens tim@timneutkens.nl
- Updates cms-sanity example to use Sanity v3 (#45662
- Support Two-letter Language Codes(ISO-639-1) to metadata HrefLang types (#46285
- [next/codemod]: Preserve type-only imports when using
next-image-to-legacy-image(#46460 - Remove incorrect comment (#46467)Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
- dynamic = "error" violations should be shown in error overlay (#45893
- Fix typo from next-font (#46468
- Add image generation test to app route: #46449
- Remove baseUrl from create-next-app ts/jsconfig.json: #46458
- Update fetch cache key (#46513
Credits
Huge thanks to @yun-jay, @DuCanhGH, @harrytothemoon, @JanKaifer, @timneutkens, @hanneslund, @shuding, @huozhi, @thomasballinger, @styfle, and @aretrace for helping!
Core Changes
- test(integration): properly pipe turbopack binary stdouts: #46382
- chore: improve error when exporting metadata from client component: #46334
- Update server reference syntax and tests: #46389
- Fix SWC error wrongly formatted : #46412
- Fix(typedRoutes): replaced
readFile+replaceAll, hid utils types, fixed duplication in typeRoute, fixed route groups on Windows: #46378 - Ensure fetch fields are detected with RequestInit: #46398
- Ensure SERVER_REFERENCE_MANIFEST is included in output files: #46420
- Fix duplicate link type asset generation: #46421
- chore: show large data warning once per page on prod: #46323
Misc Changes
- Fix failing app-static deploy test: #46395
Credits
Huge thanks to @kwonoj, @thiskevinwang, @shuding, @DuCanhGH, and @SethFalco for helping!
Core Changes
- fix(ts): correctly augment
nextwhentypedRoutes: true: #46332 - feat(cssnano-simple): merge into next repo: #46380
- Dedupe next/font preload tags: #46354
- Print command for current packet manager in @next/font warning: #46359
- Loader refactoring: #46304
- Support
server-onlyinside pages/api: #46328 - fix: improve next.config.js validation for
imagesprop: #46326 - Revert "Support
server-onlyinside pages/api": #46388 - Add relative app dir field: #46393
Documentation Changes
- Docs:
next/fontupdates: #46159 - Add note explaining how to import fonts with spaces in name: #46348
- Docs: Fix Railway link: #46381
Example Changes
- Add missing 'key': #46386
Misc Changes
- test(next-script): teardown next-dev instance via jest hooks: #46383
- Apply filtering after rewrite as well (#46390
- Fix fetch cache key inputs and encoding (#46392
Credits
Huge thanks to @balazsorban44, @delbaoliveira, @SukkaW, @hanneslund, @JanKaifer, @GitRowin, @shuding, @styfle, @mjunix, and @kwonoj for helping!
Core Changes
- Fix
/having wrong file size in build output: #46314 - Fix client filter case with redirects: #46317
- Handle same page reload case in filter: #46324
Misc Changes
- fix(cli): add navigation compat types to default
next-env.d.ts: #46321 - Migrate
create-next-appand e2e tests to Metadata API.: #45819 - Update isStale checking for fetch cache (#46331
Credits
Huge thanks to @JanKaifer, @balazsorban44, @ijjk, and @leerob for helping!
Core Changes
- Fix
/having wrong file size in build output: #46314 - Fix client filter case with redirects: #46317
- Handle same page reload case in filter: #46324
Misc Changes
- fix(cli): add navigation compat types to default
next-env.d.ts: #46321 - Migrate
create-next-appand e2e tests to Metadata API.: #45819 - Update isStale checking for fetch cache (#46331
Credits
Huge thanks to @JanKaifer, @balazsorban44, and @leerob for helping!
Core Changes
- Move reducer types into separate file: #45333
- Move reducers to separate file per action: #45336
- Add support for tsconfig 'nodenext' | 'node16': #44177
- Add support for --experimental-app-only: #45352
- Add shared mutable type in router-reducer: #45369
- Refactor TS plugin code structure: #45375
- Fix trailing slash redirect applying for data request: #45417
- Update robots meta and add verification rendering: #45409
- Check message type before formatting server error: #45406
- Fix invalid source maps from terser-webpack-plugin: #45423
- Add support for navigating to external urls: #45388
- Export the Metadata type: #45445
- Add data attributes on @next/font usage: #45296
- Update error message for dynamic = "error": #45432
- Fix metadata alternate and refactor twitter item: #45480
- Apply traceIgnores to turbotrace: #45405
- misc: refactor webpack build out of build/index (1/6): #45335
- build(cargo): update turbopack to turbopack-230201.1: #45454
- misc: deprecate custom config from being passed to next/build (2/6): #45455
- misc: move entrypoints creation into webpack build step (3/6): #45456
- misc: refactor build context/webpack build step (4/6): #45458
- Support generateMetadata export: #45401
- Split router utils into smaller modules: #45451
- Improve TS experience for metadata: #45493
- Make client boundary unserializable props a warning instead of an error: #45501
- Fix middleware matcher for i18n with negative look ahead: #45504
- Add unit test for navigateReducer and refreshReducer: #45486
- Update SWC transform to attach the export name: #45494
- Add skipEntries option to turbotrace: #45410
- build: remove warning when building with a middleware present: #45518
- Reload on server component change: #45268
- Add more JSDoc to metadata interface: #45526
- Fix image blur cover when
fillandblurDataURL: #44317 - Improve error when create root layout fails: #45304
- Error when exporting AMP config in app dir: #45228
- Rename precedence: #45542
- Add unit test for prefetchReducer: #45516
- Avoid overwriting pre-existing VSCode settings: #45311
- Add editor links to module import traces: #45257
- Separate next/dynamic implementation for app and pages: #45565
- Refactor navigateReducer to handle mutable consistently: #45555
- Fix SWC test: #45574
- Improve swc transforms: #45594
- Fix AsyncLocalStorage included in the client bundle: #45589
- Fix invalid sourcemaps in taskfile-swc: #45604
- Optimize size for the error component: #45586
- Implement loader and entry creation for server: #45524
- Emit plugin errors for metadata API in client entries: #45613
- Refactor server-patch-reducer and refresh-reducer to use applyFlightData and handleMutable: #45608
- Fix unexpected polyfills in edge-runtime: #45601
- misc: fix precompiled script generation: #45616
- Fix TS plugin completions: #45634
- Use only 1 worker for type checking and linting: #45639
- Avoid loading project config multiple times: #45637
- Add same-origin to fetchServerResponse: #45648
- Use higher instanceId for redux devtools: #45649
- Fix issue where layout-router wouldn't auto-scroll if we imported styles or fonts: #45487
- Avoid injecting the TS plugin if
extendsis used: #45655 - Support filebased metadata icon and apple touch icons: #45612
- Update app dir react for client reference updates: #45490
- Improve client-only imported in external package error: #45484
- Picking apple-icon instead of apple-touch-icon: #45673
- [ESLint] Add
appdir to default linting directories: #44426 - Skip prefetching for bots in app-router too: #45678
- Fix directive parsing in SWC: #45671
- Add warning for head.js with metadata docs link: #45680
- Fix missing hasHeader mock during revalidate: #45681
- Fix CSS loaders in pages when app dir is enabled: #45619
- Allow
generateMetadatato be synchronous: #45696 - Turbopack experimental fields docs and schema: #45560
- Allow setting metadataBase for metadata: #45719
- Add IntelliSense for
generateMetadata: #45723 - Ensure bundle 404 can be rewritten in dev: #45728
- More explicit errors for invalid exports in SWC: #45679
- Fix global CSS loader behavior when appDir is enabled: #45739
- Return a special result when a route can't be resolved: #45668
- Forward type definition with the TS plugin: #45764
- Prefix basePath in navigate and prefix methods in app router: #45771
- Fix applyFocusAndScroll with server patch: #45782
- Make turbotrace run after the webpack build: #45621
- Apply module default interop for app-dynamic: #45781
- Fix displayName prop access for client reference: #45794
- next-dev: change cluster usage to child process + stabilise inspect port #45745
- Update turbopack to 230209.02: #45776
- Fix type checking for generateStaticParams #45788
- Add experimental route type checking: #45761
- Use text/x-component for RSC response: #45808
- Update server manifest and entry creation: #45722
- Disable un-necessary lint rule by default: #45813
- Update warning links back to new Metadata docs.: #45818
- remove unnecessary await when calling findPagesDir: #45807
- fix wrong variables assignment: #45833
- fix: proper check for plugin in tsconfig: #45831
- Add status code to app-render redirect response: #45846
- Static og and twitter image files as metadata: #45797
- Fix hash in route types: #45820
- Add tests for parallel routes / interception and handle router state patch merging client-side: #45615
- Update middleware prefetch handling: #45772
- fix(next-swc): Enable
ignoreDynamicfor auto_cjs: #45836 - Update default tracing root handling: #45864
- Fix redirect for the root path with i18n and defaultLocale: #45847
- Use text/plain content-type for RSC responses: #45783
- build(cargo): update turbopack: #45863
- Add missing isRootLayout when creating optimistic tree: #45899
- Disable streaming for
pages: #45895 - Improve TypeScript plugin for metadata: #45876
- Upgrade turbopack: #45861
- Add top-level trace include/exclude config: #44605
- Add warning when mismatching @next/swc version is being used: #45880
- Ensure terminal sequence is reset on dev exit: #45881
- chore(deps): upgrade cross-spawn to 7.0.3: #45839
- Server Router Improvements: #45716
- Use details tag in collapsed call stacks: #45907
- Rename manifest file names: #45877
next/navigationTypescript support forpages/: #45919- Improve server-only imported in external package error: #45749
- Make app-render error logging less verbose in dev: #45472
- fix: proper type for typed
Link: #45915 - test(integration): fix skip retry count logic: #45930
- Fix app routes on deploy: #45931
- fix(link): do not reload when Link is in SVG: #41320
- Freeze resolved metadata object in dev mode: #45923
- Improve type checking with tests: #45940
- Log dev error in Server Router: #45951
- Stop overriding the user's TS config with defaults during
next build: #45670 - Metadata fields improvements: #45945
- Fix windows path while searching matched page path: #45958
- Skip auto static entries in turbotrace: #45856
- Use metadata API in automatically created root layout: #45938
- Add next/font import: #45891
- Add next/font imports codemod: #45740
- Add edge support for route handlers: #45990
- Fix windows paths for invalid import errors: #45999
- Exclude system entrypoints from client manifest's chunk list: #46010
- Improve RSC related bundling error messages: #45971
- Fix folders included in trace: #46011
- [edge] support edge-light exports when bundling edge functions: #45188
- Skip collecting modules from page dir in the client reference plugin: #46020
- Fix metadata manifest field rendering: #46004
- Remove
swcMinifyDebugOptionsfrom the config: #45976 - Skip including test files in dist: #46022
- Refactor freezing metadata while resolving and fix title merging: #45965
- Move initial head: #45695
- fix: next-image-experimental codemod: #45970
- chore(deps): use external
@edge-runtime/cookies: #42736 - Improve generic namings: #46046
- Fix normalization of .rsc extension: #46043
- Fix RSC navigation when overriding headers in middleware: #46049
- @next/font migration warning: #46036
- Add jsdoc examples to metadata: #46035
- Make shebangs portable used in the repo portable: #46028
- Remove stray console.log line (fixes #46027) (#46025)
- feat: show version staleness in error overlay (#44234)
- Revert part of #45971: #46071
- fix: codemod
next/imagewithin monorepo: #46047 - Check for windows paths in server matchers: #46055
- Fix export conditions in Webpack config: #46066
- Add
loader-runnerto compiled packages: #45962 - Fix next/font error parsing on windows: #46053
- Add
varyheader to responses from pages and Edge SSR: #46073 - chore: Rename internal Webpack plugin: #46088
- Fix manifest error when using route.js: #46102
- fix: typedroute routes for window: #46099
- Fix React key warning when using metadata.twitter.images: #46106
- Detect invalid metadata exports errors in next-swc: #46077
- Polish metadata interface jsdoc: #46116
- speeds O(n^2) execution of detectConflictingPaths: #46080
- chore(ci): add job to test codemods: #46068
- Use tsx parser in built-in-next-font codemod tests: #46140
- Send correct stats in hot reloader sync event: #46150
- fix: OpenGraph metadata images rendering: #46154
- Improve app-render error log with edge runtime: #46157
- feat: add instrumentation hook: #46002
- Update flakey instrumentation test cases: #46165
- Update added instrument check: #46166
- Add icon descriptor property media and fetchPriority: #46149
- Fix "use client" in pages dir errors: #46191
- Fix client boundary defined in a module: #46171
- Adding next-multilingual as a new i18n option: #37452
- Use next/font in create-next-app: #45897
- Update CI test setup: #46138
- build(cargo): update turbopack: #46013
- Add invariant error when the pageData is incorrectly assigned: #46204
- Fix handle extracted CSS modules without layer info: #46200
- Add ISR handling for app routes: #46133
- Fix route.js trailingSlash handling: #46185
- fix file name in next/font unresolved import error: #46187
- fix: image optimization content-type: #46219
- Fix turbopack route resolver (#46206
- Update flaky dev tests: #46179
- Fix flaky script test: #46211
- Update Turbopack to turbopack-230221.3: #46209
- fix: don't append domain to absolute urls when using i18n: #46201
- fix: CNA issues when using
@/in custom import alias: #46184 - chore(ci): remove
needs: build-native-testfrom codemod test: #46192 - Breakup telemetry test further: #46218
- Update app dir cache handling: #46081
- Fix app-dir vary test in deploy mode: #46224
- Skip build step for docs only change: #46225
- Don't enable dev watcher when turbopack is used: #46231
- Fix API route matched as page on Windows in dev: #46238
- Fix missing metadataBase for static tw,og image resolving: #46243
- feat: add OTEL instrumentation for next-server + OTEL example: #46198
- Fix precompiled of react scheduler: #46250
- Make build error urls clickable: #46251
- feat: add
contentDispositionTypeconfig to Image Optimization API: #46254 - Add test for next-found and redirect for metadata: #46248
- update turbopack: #46253
- Remove cache built files step: #46264
- Skip pre-rendering the default param when no params are provided: #46265
- Update app-dir react bundle to leverage edge build: #46208
- Improve type checking: #46276
- Update Turbopack to turbopack-230222.3: #46278
- Rename:
OgTypFieldsvariable toOgTypeFields: #46282 - Add client router filter handling: #46283
- Update app dir cache heuristics: #46287
- Update app dir cache handling: #46271
Documentation Changes
- Typo: #45380
- @next/font change default font-display: #45430
- Update i18n-routing.md: #45448
- docs: move getStaticProps before getStaticPaths: #45357
- Remove "standalone" from next export docs: #45539
- Add example for
clearPreviewDatawith path to documentation: #45465 - docs: added missing strategy: #45584
- Update react-hydration-error.md: #43671
- Add Cypress component testing to docs & example: #44869
- Update no-img-element.md: #45701
- A repeated description should be updated: #45691
- Update app-static-to-dynamic-error.md: #45704
- chore: update
next/imagedocs with unoptimized example: #45720 - Update
NextResponsesection in Middleware docs: #45913 - Update font.md: #45932
- docs(next/router): capitalize React: #45950
- chore(examples): update with-lingui example: #46007
- Fix small error in documentation: #46105
- Update error doc for CSS Modules in third-party deps: #46121
- Update Edge Runtime docs page: #46239
Example Changes
- Update with-redux example tsconfig to use strict: true: #45325
- Update example path for authsignal/passwordless-login: #45387
- Create reproduction template for app dir: #45412
- Example/with apivideo: #45272
- Upgrade librabries and rebranding kontent.ai: #45260
- bump node alpine to version 18 (LTS): #45643
- Fix ts config in reproduction-template-app-dir: #45653
- Simplify with-google-analytics example: #43894
- Define base image for multi-stage build: #45090
- fix(next-mdx): mark
mdx-js/*as optional: #45440 - Update README for cms-kontent-ai: #45796
- Fix 404 link in example with-turbopack: #45843
- chores(examples): Define base image for multi-stage build: #45862
- Update Convex demo to 0.9.1: #45866
- Add
MDXComponentstype touseMDXComponents: #45737 - Fix syntax error in supabase auth example: #45926
- Update Material UI examples: #45974
- chore(examples): updates supertokens dependencies: #45985
- chore(examples): more practical jotai example: #45973
- Fixing nextjs-recoil example: #46024
- [examples] Use styletron-react 6.1.0: #45810
- Update @testing-library/react in with-redux example: #46085
- fix:
problem in example/blog-starter: #46122
Misc Changes
- Enable file nesting for unit test files in vscode: #45329
- Update more flakey API support checks: #45373
- Remove old CI workflows: #45377
- Revert "Fix release stats": #45164
- Ensure PATH env matches CI locally: #45376
- Fix nested example setup with create-next-app: #45390
- Fix flakey app metadata test: #45391
- Move error recovery test to new file: #45407
- Enable more hydration error overlay tests: #45404
- Add @jankaifer as codeowner of docs, .github and examples: #45446
- chore(github): update issue labeler: #45444
- Some changes in grammar: #45467
- Remove leftover server.js files in test suite: #45408
- chore: fix docs link to minimumCacheTTL: #45502
- Clean up CI logs: #45171
- Refactor
next exporttests : #45227 - fix typo in comment and unused variable remove: #45307
- Add unit test for serverPatchReducer: #45511
- Fix unsafe caching for isolated tests: #45602
- Update @next/font/google data: #45622
- Increase GitHub actions job timeouts: #45638
- migrate from yarn to pnpm: #45652
- Fix error page line height: #45676
- chore: simplify package scripts: #45226
- test(integration): allow to conitnue when test suite fails: #45682
- chore: update issue-labeler: #45706
- Fix CNA file initializing order: #45760
- Support favicon.ico for metadata (#45759
- Move CSS tests out of the main test suite: #45765
- Update CNA tests (#45768
- Separate navigation and hooks tests into new test suites: #45766
- Bring file back to original: cb195ce
- Add additional tests for @next/mdx: #45585
- Fix typo in
@next/mdxreadme: #45888 - test(integration): allow to partially skip retry: #45914
- Fix flaky rsc-build-error test: #45896
- Remove action adding "linear" label which is not used anymore: #45911
- Replace yarn with pnpm in
createTestDir(): #45878 - test: update flaky app dir test: #45921
- Include
tsconfig.jsonin tests: #45879 - Use latest CLI for E2E tests: #45925
- Update E2E deploy tests: #45929
- Fix flakey app cli output checks: #45960
- Change github issues labeler to upstream repo - our changes were merged: #45986
- test(integration): emits successful test output for continue on error: #46008
- docs: fix contributing guideline: #46005
- Fix cache built files step: #46075
- Disable cache built files step
- Remove built files chown
- Fix failed cache restoring: #46083
- Fix adding-exmaples.md doc: #46051
- Update next/font/google data: #46040
- Fix flaky invalid import test: #46089
- chore: refactor image optimization tests: #46269
- Code refactoring for loader rules: #46277
Credits
Huge thanks to @timneutkens, @loettz, @okcoker, @clive-h-townsend, @shuding, @JanKaifer, @sepiropht, @hanneslund, @huozhi, @aralroca, @balazsorban44, @cristobaldominguez95, @vinaykulk621, @Brooooooklyn, @feedthejim, @samsisle, @MarDi66, @styfle, @therealrinku, @sebmarkbage, @cravend, @hu0p, @kdy1, @ijjk, @juzhiyuan, @IvanKiral, @LukeSchlangen, @wojtekolek, @samdenty, @Josehower, @bennettdams, @SCG82, @mike-plummer, @kwonoj, @David0z, @denchance, @joulev, @wbinnssmith, @alexkirsz, @UnknownMonk, @leerob, @sairajchouhan, @imranbarbhuiya, @jomeswang, @ductnn, @thomasballinger, @chibicode, @jridgewell, @sreetamdas, @Juneezee, @SukkaW, @wyattjoh, @michaeloliverx, @cattmote, @joefreeman, @valentincostam, @qrohlf, @ossan-engineer, @rishabhpoddar, @vasucp1207, @Schniz, @andrii-bodnar, @gergelyke, @abstractvector, @wherehows, @BrodaNoel, @taep96, @abe1272001, @0xadada, @nbouvrette, @teobler, @lubakravche, @molebox, and @hiddenest for helping!
Core Changes
- Fix error on 404 page when middleware exists: #46303
- fix: lazy load dynamically generated
next/imagein Safari Firefox: #46306 - Update @next/font package warning: #46311
- Ensure generateStaticParams works in route: #46310
Documentation Changes
- Fix broken link on
node-module-in-edge-runtime.md: #46305
Example Changes
- fix(cms-examples): title warning: #46262
Misc Changes
- update test setup
Credits
Huge thanks to @none23, @shuding, @AndyBitz, @styfle, @hanneslund, and @ijjk for helping!
Core Changes
- Fix edge runtime path slashes mismatch on windows: #46302
Documentation Changes
- Docs: built-in-next-font codemod: #46301
Credits
Huge thanks to @hanneslund and @huozhi for helping!
Core Changes
- update turbopack: #46297
- Update app cache handler loading #46290
Example Changes
- Update with-apollo-neo4j-graphql: #44570
Credits
Huge thanks to @sokra and @mjfwebb for helping!
Core Changes
- Skip pre-rendering the default param when no params are provided: #46265
- Update app-dir react bundle to leverage edge build: #46208
- Improve type checking: #46276
- Update Turbopack to turbopack-230222.3: #46278
- Rename:
OgTypFieldsvariable toOgTypeFields: #46282 - Add client router filter handling: #46283
- Update app dir cache heuristics: #46287
- Update app dir cache handling: #46271
Documentation Changes
- Update Edge Runtime docs page: #46239
Misc Changes
- chore: refactor image optimization tests: #46269
- Code refactoring for loader rules: #46277
Credits
Huge thanks to @shuding, @huozhi, @styfle, @wbinnssmith, @molebox, @hiddenest, and @ijjk for helping!
Core Changes
- Fix precompiled of react scheduler: #46250
- Make build error urls clickable: #46251
- feat: add
contentDispositionTypeconfig to Image Optimization API: #46254 - Add test for next-found and redirect for metadata: #46248
- update turbopack: #46253
- Remove cache built files step: #46264
Credits
Huge thanks to @huozhi, @hanneslund, and @styfle for helping!
Core Changes
- Fix API route matched as page on Windows in dev: #46238
- Fix missing metadataBase for static tw,og image resolving: #46243
- feat: add OTEL instrumentation for next-server + OTEL example: #46198
Credits
Huge thanks to @hanneslund and @huozhi for helping!
Core Changes
- Don't enable dev watcher when turbopack is used: #46231
Core Changes
- Update app dir cache handling: #46081
- Fix app-dir vary test in deploy mode: #46224
- Skip build step for docs only change: #46225
Credits
Huge thanks to @lubakravche for helping!
Core Changes
- Add invariant error when the pageData is incorrectly assigned: #46204
- Fix handle extracted CSS modules without layer info: #46200
- Add ISR handling for app routes: #46133
- Fix route.js trailingSlash handling: #46185
- fix file name in next/font unresolved import error: #46187
- fix: image optimization content-type: #46219
- Fix turbopack route resolver (#46206
- Update flaky dev tests: #46179
- Fix flaky script test: #46211
- Update Turbopack to turbopack-230221.3: #46209
- fix: don't append domain to absolute urls when using i18n: #46201
- fix: CNA issues when using
@/in custom import alias: #46184 - chore(ci): remove
needs: build-native-testfrom codemod test: #46192 - Breakup telemetry test further: #46218
Credits
Huge thanks to @hanneslund, @shuding, @huozhi, @JanKaifer, @styfle, and @timneutkens for helping!
Core Changes
- fix: typedroute routes for window: #46099
- Fix React key warning when using metadata.twitter.images: #46106
- Detect invalid metadata exports errors in next-swc: #46077
- Polish metadata interface jsdoc: #46116
- speeds O(n^2) execution of detectConflictingPaths: #46080
- chore(ci): add job to test codemods: #46068
- Use tsx parser in built-in-next-font codemod tests: #46140
- Send correct stats in hot reloader sync event: #46150
- fix: OpenGraph metadata images rendering: #46154
- Improve app-render error log with edge runtime: #46157
- feat: add instrumentation hook: #46002
- Update flakey instrumentation test cases: #46165
- Update added instrument check: #46166
- Add icon descriptor property media and fetchPriority: #46149
- Fix "use client" in pages dir errors: #46191
- Fix client boundary defined in a module: #46171
- Adding next-multilingual as a new i18n option: #37452
- Use next/font in create-next-app: #45897
- Update CI test setup: #46138
- build(cargo): update turbopack: #46013
Documentation Changes
- Fix small error in documentation: #46105
- Update error doc for CSS Modules in third-party deps: #46121
Example Changes
- fix:
problem in example/blog-starter: #46122
Credits
Huge thanks to @BrodaNoel, @imranbarbhuiya, @taep96, @huozhi, @abe1272001, @0xadada, @styfle, @hanneslund, @nbouvrette, @teobler, @feedthejim, @ijjk, @shuding, and @jridgewell for helping!
Core Changes
- chore: Rename internal Webpack plugin: #46088
- Fix manifest error when using route.js: #46102
Misc Changes
- Fix flaky invalid import test: #46089
Credits
Huge thanks to @hanneslund and @shuding for helping!
Core Changes
- fix: codemod
next/imagewithin monorepo: #46047 - Check for windows paths in server matchers: #46055
- Fix export conditions in Webpack config: #46066
- Add
loader-runnerto compiled packages: #45962 - Fix next/font error parsing on windows: #46053
- Add
varyheader to responses from pages and Edge SSR: #46073
Example Changes
- Update @testing-library/react in with-redux example: #46085
Misc Changes
- Fix failed cache restoring: #46083
- Fix adding-exmaples.md doc: #46051
- Update next/font/google data: #46040
Credits
Huge thanks to @styfle, @hanneslund, @shuding, @wbinnssmith, @wherehows, and @vasucp1207 for helping!
Core Changes
- Revert part of #45971: #46071
Misc Changes
- Fix cache built files step: #46075
- Disable cache built files step
- Remove built files chown
Credits
Huge thanks to @shuding for helping!
Core Changes
- fix: next-image-experimental codemod: #45970
- chore(deps): use external
@edge-runtime/cookies: #42736 - Improve generic namings: #46046
- Fix normalization of .rsc extension: #46043
- Fix RSC navigation when overriding headers in middleware: #46049
- @next/font migration warning: #46036
- Add jsdoc examples to metadata: #46035
- Make shebangs portable used in the repo portable: #46028
- Remove stray console.log line (fixes #46027) (#46025)
- feat: show version staleness in error overlay (#44234)
Example Changes
- Fixing nextjs-recoil example: #46024
- [examples] Use styletron-react 6.1.0: #45810
Credits
Huge thanks to @styfle, @vasucp1207, @gergelyke, @JanKaifer, @abstractvector, @balazsorban44, @shuding, @hanneslund, and @huozhi for helping!
Core Changes
- Add edge support for route handlers: #45990
- Fix windows paths for invalid import errors: #45999
- Exclude system entrypoints from client manifest's chunk list: #46010
- Improve RSC related bundling error messages: #45971
- Fix folders included in trace: #46011
- [edge] support edge-light exports when bundling edge functions: #45188
- Skip collecting modules from page dir in the client reference plugin: #46020
- Fix metadata manifest field rendering: #46004
- Remove
swcMinifyDebugOptionsfrom the config: #45976 - Skip including test files in dist: #46022
- Refactor freezing metadata while resolving and fix title merging: #45965
- Move initial head: #45695
Documentation Changes
- chore(examples): update with-lingui example: #46007
Misc Changes
- Change github issues labeler to upstream repo - our changes were merged: #45986
- test(integration): emits successful test output for continue on error: #46008
- docs: fix contributing guideline: #46005
Credits
Huge thanks to @timneutkens, @hanneslund, @JanKaifer, @shuding, @Schniz, @andrii-bodnar, @huozhi, @kwonoj, and @kdy1 for helping!
Core Changes
- Freeze resolved metadata object in dev mode: #45923
- Improve type checking with tests: #45940
- Log dev error in Server Router: #45951
- Stop overriding the user's TS config with defaults during
next build: #45670 - Metadata fields improvements: #45945
- Fix windows path while searching matched page path: #45958
- Skip auto static entries in turbotrace: #45856
- Use metadata API in automatically created root layout: #45938
- Add next/font import: #45891
- Add next/font imports codemod: #45740
Documentation Changes
- docs(next/router): capitalize React: #45950
Example Changes
- Update Material UI examples: #45974
- chore(examples): updates supertokens dependencies: #45985
- chore(examples): more practical jotai example: #45973
Misc Changes
- Fix flakey app cli output checks: #45960
Credits
Huge thanks to @huozhi, @shuding, @valentincostam, @hanneslund, @qrohlf, @ijjk, @Brooooooklyn, @ossan-engineer, @rishabhpoddar, and @vasucp1207 for helping!
Core Changes
- test(integration): fix skip retry count logic: #45930
- Fix app routes on deploy: #45931
- fix(link): do not reload when Link is in SVG: #41320
Documentation Changes
- Update font.md: #45932
Example Changes
- Fix syntax error in supabase auth example: #45926
Misc Changes
- Update E2E deploy tests: #45929
Credits
Huge thanks to @cattmote, @ijjk, @kwonoj, @denchance, and @joefreeman for helping!
Core Changes
- Add top-level trace include/exclude config: #44605
- Add warning when mismatching @next/swc version is being used: #45880
- Ensure terminal sequence is reset on dev exit: #45881
- chore(deps): upgrade cross-spawn to 7.0.3: #45839
- Server Router Improvements: #45716
- Use details tag in collapsed call stacks: #45907
- Rename manifest file names: #45877
next/navigationTypescript support forpages/: #45919- Improve server-only imported in external package error: #45749
- Make app-render error logging less verbose in dev: #45472
- fix: proper type for typed
Link: #45915
Documentation Changes
- Update
NextResponsesection in Middleware docs: #45913
Example Changes
- Add
MDXComponentstype touseMDXComponents: #45737
Misc Changes
- test(integration): allow to partially skip retry: #45914
- Fix flaky rsc-build-error test: #45896
- Remove action adding "linear" label which is not used anymore: #45911
- Replace yarn with pnpm in
createTestDir(): #45878 - test: update flaky app dir test: #45921
- Include
tsconfig.jsonin tests: #45879 - Use latest CLI for E2E tests: #45925
Credits
Huge thanks to @kwonoj, @Juneezee, @hanneslund, @JanKaifer, @SukkaW, @styfle, @wyattjoh, @huozhi, @michaeloliverx, @shuding, and @imranbarbhuiya for helping!
Core Changes
- Add missing isRootLayout when creating optimistic tree: #45899
- Disable streaming for
pages: #45895 - Improve TypeScript plugin for metadata: #45876
- Upgrade turbopack: #45861
Credits
Huge thanks to @huozhi, @shuding, and @Brooooooklyn for helping!
Core Changes
- build(cargo): update turbopack: #45863
Misc Changes
- Fix typo in
@next/mdxreadme: #45888
Credits
Huge thanks to @jridgewell and @sreetamdas for helping!
Core Changes
- Add experimental route type checking: #45761
- Use text/x-component for RSC response: #45808
- Update server manifest and entry creation: #45722
- Disable un-necessary lint rule by default: #45813
- Update warning links back to new Metadata docs.: #45818
- remove unnecessary await when calling findPagesDir: #45807
- fix wrong variables assignment: #45833
- fix: proper check for plugin in tsconfig: #45831
- Add status code to app-render redirect response: #45846
- Static og and twitter image files as metadata: #45797
- Fix hash in route types: #45820
- Add tests for parallel routes / interception and handle router state patch merging client-side: #45615
- Update middleware prefetch handling: #45772
- fix(next-swc): Enable
ignoreDynamicfor auto_cjs: #45836 - Update default tracing root handling: #45864
- Fix redirect for the root path with i18n and defaultLocale: #45847
- Use text/plain content-type for RSC responses: #45783
Example Changes
- Fix 404 link in example with-turbopack: #45843
- chores(examples): Define base image for multi-stage build: #45862
- Update Convex demo to 0.9.1: #45866
Misc Changes
- Add additional tests for @next/mdx: #45585
Credits
Huge thanks to @shuding, @ijjk, @leerob, @sairajchouhan, @imranbarbhuiya, @hanneslund, @huozhi, @jomeswang, @ductnn, @kdy1, @thomasballinger, and @chibicode for helping!
Misc Changes
- Bring file back to original: cb195ce
Core Changes
- Fix global CSS loader behavior when appDir is enabled: #45739
- Return a special result when a route can't be resolved: #45668
- Forward type definition with the TS plugin: #45764
- Prefix basePath in navigate and prefix methods in app router: #45771
- Fix applyFocusAndScroll with server patch: #45782
- Make turbotrace run after the webpack build: #45621
- Apply module default interop for app-dynamic: #45781
- Fix displayName prop access for client reference: #45794
- next-dev: change cluster usage to child process + stabilise inspect port #45745
- Update turbopack to 230209.02: #45776
- Fix type checking for generateStaticParams #45788
Example Changes
- Update README for cms-kontent-ai: #45796
Misc Changes
- Fix CNA file initializing order: #45760
- Support favicon.ico for metadata (#45759
- Move CSS tests out of the main test suite: #45765
- Update CNA tests (#45768
- Separate navigation and hooks tests into new test suites: #45766
Credits
Huge thanks to @shuding, @ijjk, @alexkirsz, @huozhi, @Brooooooklyn, and @UnknownMonk for helping!
Core Changes
- Add same-origin to fetchServerResponse: #45648
- Use higher instanceId for redux devtools: #45649
- Fix issue where layout-router wouldn't auto-scroll if we imported styles or fonts: #45487
- Avoid injecting the TS plugin if
extendsis used: #45655 - Support filebased metadata icon and apple touch icons: #45612
- Update app dir react for client reference updates: #45490
- Improve client-only imported in external package error: #45484
- Picking apple-icon instead of apple-touch-icon: #45673
- [ESLint] Add
appdir to default linting directories: #44426 - Skip prefetching for bots in app-router too: #45678
- Fix directive parsing in SWC: #45671
- Add warning for head.js with metadata docs link: #45680
- Fix missing hasHeader mock during revalidate: #45681
- Fix CSS loaders in pages when app dir is enabled: #45619
- Allow
generateMetadatato be synchronous: #45696 - Turbopack experimental fields docs and schema: #45560
- Allow setting metadataBase for metadata: #45719
- Add IntelliSense for
generateMetadata: #45723 - Ensure bundle 404 can be rewritten in dev: #45728
- More explicit errors for invalid exports in SWC: #45679
Documentation Changes
- Update react-hydration-error.md: #43671
- Add Cypress component testing to docs & example: #44869
- Update no-img-element.md: #45701
- A repeated description should be updated: #45691
- Update app-static-to-dynamic-error.md: #45704
- chore: update
next/imagedocs with unoptimized example: #45720
Example Changes
- bump node alpine to version 18 (LTS): #45643
- Fix ts config in reproduction-template-app-dir: #45653
- Simplify with-google-analytics example: #43894
- Define base image for multi-stage build: #45090
- fix(next-mdx): mark
mdx-js/*as optional: #45440
Misc Changes
- migrate from yarn to pnpm: #45652
- Fix error page line height: #45676
- chore: simplify package scripts: #45226
- test(integration): allow to conitnue when test suite fails: #45682
- chore: update issue-labeler: #45706
Credits
Huge thanks to @LukeSchlangen, @timneutkens, @JanKaifer, @shuding, @huozhi, @hanneslund, @wojtekolek, @samdenty, @Josehower, @bennettdams, @SCG82, @mike-plummer, @balazsorban44, @kwonoj, @David0z, @denchance, @joulev, @styfle, and @wbinnssmith for helping!
Core Changes
- Fix unexpected polyfills in edge-runtime: #45601
- misc: fix precompiled script generation: #45616
- Fix TS plugin completions: #45634
- Use only 1 worker for type checking and linting: #45639
- Avoid loading project config multiple times: #45637
Documentation Changes
- docs: added missing strategy: #45584
Example Changes
- Upgrade librabries and rebranding kontent.ai: #45260
Misc Changes
- Update @next/font/google data: #45622
- Increase GitHub actions job timeouts: #45638
Credits
Huge thanks to @hanneslund, @juzhiyuan, @feedthejim, @IvanKiral, and @shuding for helping!
Core Changes
- Fix SWC test: #45574
- Improve swc transforms: #45594
- Fix AsyncLocalStorage included in the client bundle: #45589
- Fix invalid sourcemaps in taskfile-swc: #45604
- Optimize size for the error component: #45586
- Implement loader and entry creation for server: #45524
- Emit plugin errors for metadata API in client entries: #45613
- Refactor server-patch-reducer and refresh-reducer to use applyFlightData and handleMutable: #45608
Misc Changes
- Fix unsafe caching for isolated tests: #45602
Credits
Huge thanks to @shuding, @kdy1, and @ijjk for helping!
Core Changes
- Add more JSDoc to metadata interface: #45526
- Fix image blur cover when
fillandblurDataURL: #44317 - Improve error when create root layout fails: #45304
- Error when exporting AMP config in app dir: #45228
- Rename precedence: #45542
- Add unit test for prefetchReducer: #45516
- Avoid overwriting pre-existing VSCode settings: #45311
- Add editor links to module import traces: #45257
- Separate next/dynamic implementation for app and pages: #45565
- Refactor navigateReducer to handle mutable consistently: #45555
Documentation Changes
- Remove "standalone" from next export docs: #45539
- Add example for
clearPreviewDatawith path to documentation: #45465
Misc Changes
- fix typo in comment and unused variable remove: #45307
- Add unit test for serverPatchReducer: #45511
Credits
Huge thanks to @shuding, @styfle, @hanneslund, @therealrinku, @sebmarkbage, @timneutkens, @cravend, @huozhi, and @hu0p for helping!
Core Changes
- Add unit test for navigateReducer and refreshReducer: #45486
- Update SWC transform to attach the export name: #45494
- Add skipEntries option to turbotrace: #45410
- build: remove warning when building with a middleware present: #45518
- Reload on server component change: #45268
Example Changes
- Create reproduction template for app dir: #45412
- Example/with apivideo: #45272
Misc Changes
- Clean up CI logs: #45171
- Refactor
next exporttests : #45227
Credits
Huge thanks to @timneutkens, @JanKaifer, @shuding, @Brooooooklyn, @MarDi66, @feedthejim, and @hanneslund for helping!
Core Changes
- Improve TS experience for metadata: #45493
- Make client boundary unserializable props a warning instead of an error: #45501
- Fix middleware matcher for i18n with negative look ahead: #45504
Misc Changes
- chore: fix docs link to minimumCacheTTL: #45502
Credits
Huge thanks to @shuding and @samsisle for helping!
Core Changes
- Add data attributes on @next/font usage: #45296
- Update error message for dynamic = "error": #45432
- Fix metadata alternate and refactor twitter item: #45480
- Apply traceIgnores to turbotrace: #45405
- misc: refactor webpack build out of build/index (1/6): #45335
- build(cargo): update turbopack to turbopack-230201.1: #45454
- misc: deprecate custom config from being passed to next/build (2/6): #45455
- misc: move entrypoints creation into webpack build step (3/6): #45456
- misc: refactor build context/webpack build step (4/6): #45458
- Support generateMetadata export: #45401
- Split router utils into smaller modules: #45451
Misc Changes
- Some changes in grammar: #45467
- Remove leftover server.js files in test suite: #45408
Credits
Huge thanks to @hanneslund, @vinaykulk621, @timneutkens, @JanKaifer, @huozhi, @Brooooooklyn, @feedthejim, and @shuding for helping!
Core Changes
- Add support for navigating to external urls: #45388
- Export the Metadata type: #45445
Documentation Changes
- @next/font change default font-display: #45430
- Update i18n-routing.md: #45448
- docs: move getStaticProps before getStaticPaths: #45357
Misc Changes
- Add @jankaifer as codeowner of docs, .github and examples: #45446
- chore(github): update issue labeler: #45444
Credits
Huge thanks to @JanKaifer, @hanneslund, @aralroca, @balazsorban44, @shuding, and @cristobaldominguez95 for helping!
Core Changes
- Move reducer types into separate file: #45333
- Move reducers to separate file per action: #45336
- Add support for tsconfig 'nodenext' | 'node16': #44177
- Add support for --experimental-app-only: #45352
- Add shared mutable type in router-reducer: #45369
- Refactor TS plugin code structure: #45375
- Fix trailing slash redirect applying for data request: #45417
- Update robots meta and add verification rendering: #45409
- Check message type before formatting server error: #45406
- Fix invalid source maps from terser-webpack-plugin: #45423
Documentation Changes
- Typo: #45380
Example Changes
- Update with-redux example tsconfig to use strict: true: #45325
- Update example path for authsignal/passwordless-login: #45387
Misc Changes
- Enable file nesting for unit test files in vscode: #45329
- Update more flakey API support checks: #45373
- Remove old CI workflows: #45377
- Revert "Fix release stats": #45164
- Ensure PATH env matches CI locally: #45376
- Fix nested example setup with create-next-app: #45390
- Fix flakey app metadata test: #45391
- Move error recovery test to new file: #45407
- Enable more hydration error overlay tests: #45404
Credits
Huge thanks to @timneutkens, @loettz, @okcoker, @clive-h-townsend, @shuding, @JanKaifer, @sepiropht, @hanneslund, and @huozhi for helping!
Core Changes
- Add debug info to static bailout message: #45192
- Fix dynamic no ssr with babel transform: #45091
- Fix React.lazy preloading during SSR: #45160
- Fix error overlay links in parenthesis: #45155
- Add build time error if error.js is missing "use client": #44961
- Show component stack in error overlay on hydration error: #45089
- Reduce component stack spacing for components without metadata: #45218
- Revert "Revert "Revert "Revert "Initial support for metadata (#44729)"" (#45113)"": #45196
- Update handling of autoscrolling on navigation in app: #43845
- perf: avoid sync re-renders when using next/link and next/image: #45165
- Support metadata icons field: #45105
- Add editor links to RSC build error: #45179
- misc: change strategy for link prefetch test: #45234
- Add handling for app/pages manifest race condition: #45244
- Update transform exports and tests: #45251
- Attach exports information in SWC transforms: #45261
- Update app cache handling in development: #45248
- TS plugin: warn about
ampconfig in app: #45254 - Fix typo in TS plugin: #45279
- Allow metadata related exports in TS plugin: #45282
- build(cargo): update turbopack to turbopack-230125.1: #45283
- [edge] improve
fetchstack traces in edge runtime: #44750 - Move router reducer to separate file: #45236
- add next.config.js options currently supported by turbopack: #45309
- Update debug logs for app cache: #45291
- Improved
pnpm clean: #45312 - Fix:Manage Firefox and Safari Network error message: #44929
- build(cargo): update turbopack to turbopack-230126.1: #45322
- add
pageExtensionsas a supported turbopack option: #45321 - Ensure we warn for middleware with next export: #45288
- Add unit test for shouldHardNavigate: #45303
- Add unit test for redirect.ts: #45223
- Add test for fillCacheWithNewSubTreeData: #45298
- Add test for isNavigatingToNewRootLayout: #45305
- Remove unused optimistic tree parameters: #45264
- Ensure invalidateCacheBelowFlightSegmentPath file name is in line with the rest: #45299
- Resolve metadata fields: #45237
- Add turbopack route resolve handling: #45314
- Remove extra .ts from test file: #45328
- Add test for createOptimisticTree: #45330
- Clean up resolved todos: #45332
- add
turbopackLoadersto config validation: #45337
Documentation Changes
- Update example test file name in cypress example: #45146
- chore: fix invalid-new-link error typo: #45157
- Update testing.md: #45216
- Update no-html-link-for-pages.md: #45247
- Update getting-started documentation: #45284
Example Changes
- Update README.md for examples/with-mqtt-js: #45162
- Pin library version in Convex example: #45206
- Updates with-supertokens example app: #45214
Misc Changes
- Re-prompt on invalid import alias: #45194
- create-next-app: warn if project dir isn't empty before prompts: #45195
- Add timeout for actions/cache restoring: #45198
- Update testing.md to reflect that we don't use
yarnanymore: #45185 - fix: add src prefix on index page: #45150
- Ensure ctrl + c handling works with CNA prompts correctly: #45205
- Fix turbo cache miss due to depending on gitignored files: #45166
- Allow unit tests to be written in packages/next/src: #45222
- Run dev tests against default CNA templates: #45211
- Increase cache timeout for swc built files: #45243
- refactor(create-next-app): simplify import alias validation logic: #45241
- ci(workflow): notify new releases to vercel/turbo via repo_dispatch: #45201
- Revert "Fix new-error command": #45221
- Update flakey test cases: #45290
- Update flakey polyfills and acceptance tests: #45313
- Add docs on how to use MDX with app: #44923
- Update flakey fetch stack test: #45318
- Enable JS CNA tests for turbopack: #45323
Credits
Huge thanks to @MaxLeiter, @CachorroC, @ijjk, @asadnq, @huozhi, @JanKaifer, @ilyasmez, @juliusmarminge, @thomasballinger, @tissawd, @hanneslund, @shuding, @timneutkens, @feedthejim, @ClemensPaumgarten, @kwonoj, @Angelfire, @rishabhpoddar, @HyunseungLee-Travis, @wbinnssmith, @Schniz, @ForsakenHarmony, @wyattjoh, and @dtrucs for helping!
Core Changes
- fix: ncc compiled confg/schema-utils2/schema-utils3: #45351
- fix: next build in typescript 5.0: #45275
- Fix next-server trace including dev server dependencies: #45359
- Limit the static paths worker number during development: #45344
Example Changes
- Update i18n example to handle
publicfiles and/apiroutes: #45266
Misc Changes
- Remove invalid assertion/duplicate test suite: #45355
- Update flakey API support tests: #45360
- Update flakey app prefetch test: #45361
Credits
Huge thanks to @styfle, @Himself65, @shuding, and @JanKaifer for helping!
Core Changes
- Update transform exports and tests: #45251
- Attach exports information in SWC transforms: #45261
- Update app cache handling in development: #45248
- TS plugin: warn about
ampconfig in app: #45254 - Fix typo in TS plugin: #45279
- Allow metadata related exports in TS plugin: #45282
- build(cargo): update turbopack to turbopack-230125.1: #45283
- [edge] improve
fetchstack traces in edge runtime: #44750 - Move router reducer to separate file: #45236
- add next.config.js options currently supported by turbopack: #45309
- Update debug logs for app cache: #45291
- Improved
pnpm clean: #45312 - Fix:Manage Firefox and Safari Network error message: #44929
- build(cargo): update turbopack to turbopack-230126.1: #45322
- add
pageExtensionsas a supported turbopack option: #45321 - Ensure we warn for middleware with next export: #45288
- Add unit test for shouldHardNavigate: #45303
- Add unit test for redirect.ts: #45223
- Add test for fillCacheWithNewSubTreeData: #45298
- Add test for isNavigatingToNewRootLayout: #45305
- Remove unused optimistic tree parameters: #45264
- Ensure invalidateCacheBelowFlightSegmentPath file name is in line with the rest: #45299
- Resolve metadata fields: #45237
- Add turbopack route resolve handling: #45314
- Remove extra .ts from test file: #45328
- Add test for createOptimisticTree: #45330
- Clean up resolved todos: #45332
- add
turbopackLoadersto config validation: #45337
Documentation Changes
- Update getting-started documentation: #45284
Example Changes
- Updates with-supertokens example app: #45214
Misc Changes
- Update flakey test cases: #45290
- Update flakey polyfills and acceptance tests: #45313
- Add docs on how to use MDX with app: #44923
- Update flakey fetch stack test: #45318
- Enable JS CNA tests for turbopack: #45323
Credits
Huge thanks to @shuding, @rishabhpoddar, @HyunseungLee-Travis, @wbinnssmith, @Schniz, @timneutkens, @ForsakenHarmony, @wyattjoh, @dtrucs, and @huozhi for helping!
Core Changes
- Fix error overlay links in parenthesis: #45155
- Add build time error if error.js is missing "use client": #44961
- Show component stack in error overlay on hydration error: #45089
- Reduce component stack spacing for components without metadata: #45218
- Revert "Revert "Revert "Revert "Initial support for metadata (#44729)"" (#45113)"": #45196
- Update handling of autoscrolling on navigation in app: #43845
- perf: avoid sync re-renders when using next/link and next/image: #45165
- Support metadata icons field: #45105
- Add editor links to RSC build error: #45179
- misc: change strategy for link prefetch test: #45234
- Add handling for app/pages manifest race condition: #45244
Documentation Changes
- chore: fix invalid-new-link error typo: #45157
- Update testing.md: #45216
- Update no-html-link-for-pages.md: #45247
Example Changes
- Pin library version in Convex example: #45206
Misc Changes
- fix: add src prefix on index page: #45150
- Ensure ctrl + c handling works with CNA prompts correctly: #45205
- Fix turbo cache miss due to depending on gitignored files: #45166
- Allow unit tests to be written in packages/next/src: #45222
- Run dev tests against default CNA templates: #45211
- Increase cache timeout for swc built files: #45243
- refactor(create-next-app): simplify import alias validation logic: #45241
- ci(workflow): notify new releases to vercel/turbo via repo_dispatch: #45201
- Revert "Fix new-error command": #45221
Credits
Huge thanks to @ilyasmez, @juliusmarminge, @thomasballinger, @tissawd, @hanneslund, @JanKaifer, @shuding, @timneutkens, @feedthejim, @huozhi, @ClemensPaumgarten, @kwonoj, and @Angelfire for helping!
Core Changes
- Add debug info to static bailout message: #45192
- Fix dynamic no ssr with babel transform: #45091
- Fix React.lazy preloading during SSR: #45160
Documentation Changes
- Update example test file name in cypress example: #45146
Example Changes
- Update README.md for examples/with-mqtt-js: #45162
Misc Changes
- Re-prompt on invalid import alias: #45194
- create-next-app: warn if project dir isn't empty before prompts: #45195
- Add timeout for actions/cache restoring: #45198
- Update testing.md to reflect that we don't use
yarnanymore: #45185
Credits
Huge thanks to @MaxLeiter, @CachorroC, @asadnq, @huozhi, and @JanKaifer for helping!
Core Changes
- Revert "Revert "Initial support for metadata (#44729)"": #45113
- Update incremental cache handler for minimal mode: #45123
- build(cargo): update turbopack: #45126
- Revert "Revert "Revert "Initial support for metadata (#44729)"" (#45113)": #45130
- Update reducer comments: #45127
- Ensure config warnings only show once: #45142
- Don't log suppressed error during export: #45100
- Add support for node: prefix when importing Node.js builtin modules: #45149
Example Changes
- update Mux Player to latest, pin to ^1 and pin upchunk to ^3 add Mux …: #45121
Misc Changes
- Update CODEOWNERS: #45178
- Switch from
yarn packtopnpm packin tests: #45167
Credits
Huge thanks to @shuding, @dylanjha, @ijjk, @Brooooooklyn, @timneutkens, @hanneslund, @feedthejim, and @JanKaifer for helping!
Core Changes
- Ensure config warnings only show once: #45142
- Don't log suppressed error during export: #45100
- Add support for node: prefix when importing Node.js builtin modules: #45149
Misc Changes
- Update CODEOWNERS: #45178
- Switch from
yarn packtopnpm packin tests: #45167
Credits
Huge thanks to @hanneslund, @timneutkens, @feedthejim, and @JanKaifer for helping!
Core Changes
- Update reducer comments: #45127
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Revert "Revert "Revert "Initial support for metadata (#44729)"" (#45113)": #45130
Credits
Huge thanks to @shuding for helping!
Core Changes
- Revert "Revert "Initial support for metadata (#44729)"": #45113
- Update incremental cache handler for minimal mode: #45123
- build(cargo): update turbopack: #45126
Example Changes
- update Mux Player to latest, pin to ^1 and pin upchunk to ^3 add Mux …: #45121
Credits
Huge thanks to @shuding, @dylanjha, @ijjk, and @Brooooooklyn for helping!
Core Changes
- Initial support for metadata: #44729
- Improve swc transforms: #45083
- Update swc_core to
v0.56.0: #44792 - fix(#44077): allow edge runtime for api routes inside src/ folder: #45093
- Revert "Initial support for metadata (#44729)": #45111
- build(cargo): update turbopack: #45109
Documentation Changes
- Fix broken argument for rewrites on link reference docs: #45073
- Cannot redeclare block-scoped variable 'cookie'.: #45079
Misc Changes
- Fix metadata e2e test on deploy: #45104
- Update @next/font/google data: #45092
Credits
Huge thanks to @guilhermefront, @shuding, @kdy1, @iamrobins, @hanneslund, @feugy, and @jridgewell for helping!
Core Changes
- Improve swc transforms: #45083
- Update swc_core to
v0.56.0: #44792 - fix(#44077): allow edge runtime for api routes inside src/ folder: #45093
- Revert "Initial support for metadata (#44729)": #45111
- build(cargo): update turbopack: #45109
Documentation Changes
- Cannot redeclare block-scoped variable 'cookie'.: #45079
Misc Changes
- Fix metadata e2e test on deploy: #45104
- Update @next/font/google data: #45092
Credits
Huge thanks to @kdy1, @iamrobins, @hanneslund, @feugy, @shuding, and @jridgewell for helping!
Core Changes
- Initial support for metadata: #44729
Documentation Changes
- Fix broken argument for rewrites on link reference docs: #45073
Credits
Huge thanks to @guilhermefront and @shuding for helping!
Core Changes
- Refactor next dynamic: #44832
- Add built-in server-only and client-only: #44861
- Handle empty module from the next dynamic loader: #44873
- Update pre-compiled: #44874
- Use sequentialRead while encoding images with sharp: #44881
- Move server-external-packages to JSON: #44910
- fix standalone wrong url being logged: #44887
- Custom RSC compiler error message in pages/: #44865
- Replace eslint rule for
no-shadowwithtypescript-eslint/no-shadow: #44936 - Ensure rootLayoutIncluded is set on partial render: #44958
- Fix force-static description in next-typescript: #44951
- Fix CSS imports being tracked multiple times: #44938
- Use withoutEnlargement instead of sharp.metadata(): #44890
- Update res.revalidate to pass through headers: #44981
- Add experimental.allowedRevalidateHeaderKeys config: #44985
- Gracefully handle telemetry not being available: #44986
- Add proper error when app path switches static to dynamic: #44989
- Ensure force-dynamic is honored during build: #45015
- Fix turbo usage in tests: #44715
- Add project directory rename/remove handling: #44911
- chore: open dev overlay error links in new tab: #45018
- Remove next-app-loader from import trace: #44996
- Ensure additional windows are not created on Windows OS: #45022
- Don't dispaly "Error: " twice when router isn't mounted: #45038
- Display the reason of hydration error in error overlay: #44857
- Fix typescript plugin: #44128
- Add shiki and vscode-oniguruma to default server-external packages: #44968
- Fix error when CSS @import fails to resolve: #45010
- Fix next/dynamic non ssr in pages when appDir is enabled: #45066
Documentation Changes
- Update building-forms.md: #44862
- Prompt for custom import alias and store preferences in CNA: #44872
- Next/Script documentation beforeInteractive inconsistency: #44898
- fix(docs): update broken link for preset.ts: #44916
- Fix Node.js version to 14.6.0 in Upgrading guide.: #44939
- update redirects.md: #44960
- Add AsyncLocalStorage to edge-runtime APIs: #44975
Example Changes
- Removes title warning from cms example: #44894
- Fix
with-stencilexample: #44964 - refactor: Latest Tigris sdk and example using decorators: #44256
Misc Changes
- port
type: needs investigationinto linear: #44823 - Create new action that will auto-label issues that have some activity after we mark them as "verify-canary" or "add repro"": #44815
- test(snapshot): allow snapshot test not invalidate with --turbo: #43545
- Remove extra styled-components disabled test: #44870
- Fix prepublish compiled handling: #44914
- Update test env variable passing: #44912
- Support Prefer Offline for testing: #44935
- Update test env for E2E deploy mode: #44937
- Update build env for test timings: #44970
- Update to skip test timings on docs change: #44971
- Update some flakey acceptance tests: #44984
- Optimize to skip upload for non-publish swc builds: #44987
- Update codesandbox link in issue template: #44995
- Update test timings token env: #45014
- Remove useless ts-ignores: #45025
- Fix release stats: #45027
- Remove legacy safari test: #45055
Credits
Huge thanks to @huozhi, @ijjk, @kwonoj, @josuareich, @Brooooooklyn, @JanKaifer, @rajavijayasaradhi, @rortan134, @IgnisDa, @ChanhyukPark-Tech, @hanneslund, @wyattjoh, @leerob, @kristian240, @deli-ght, @shuding, @ITJesse, @dunklesToast, @therealrinku, @adilansari, @reiss-d, and @selenecodes for helping!
Core Changes
- Don't dispaly "Error: " twice when router isn't mounted: #45038
- Display the reason of hydration error in error overlay: #44857
- Fix typescript plugin: #44128
- Add shiki and vscode-oniguruma to default server-external packages: #44968
- Fix error when CSS @import fails to resolve: #45010
- Fix next/dynamic non ssr in pages when appDir is enabled: #45066
Example Changes
- refactor: Latest Tigris sdk and example using decorators: #44256
Misc Changes
- Remove useless ts-ignores: #45025
- Fix release stats: #45027
- Remove legacy safari test: #45055
Credits
Huge thanks to @therealrinku, @adilansari, @hanneslund, @reiss-d, @selenecodes, and @huozhi for helping!
Core Changes
- Add proper error when app path switches static to dynamic: #44989
- Ensure force-dynamic is honored during build: #45015
- Fix turbo usage in tests: #44715
- Add project directory rename/remove handling: #44911
- chore: open dev overlay error links in new tab: #45018
- Remove next-app-loader from import trace: #44996
- Ensure additional windows are not created on Windows OS: #45022
Misc Changes
- Optimize to skip upload for non-publish swc builds: #44987
- Update codesandbox link in issue template: #44995
- Update test timings token env: #45014
Credits
Huge thanks to @JanKaifer, @dunklesToast, and @hanneslund for helping!
Core Changes
- Add experimental.allowedRevalidateHeaderKeys config: #44985
- Gracefully handle telemetry not being available: #44986
Misc Changes
- Update some flakey acceptance tests: #44984
Core Changes
- Fix force-static description in next-typescript: #44951
- Fix CSS imports being tracked multiple times: #44938
- Use withoutEnlargement instead of sharp.metadata(): #44890
- Update res.revalidate to pass through headers: #44981
Documentation Changes
- update redirects.md: #44960
- Add AsyncLocalStorage to edge-runtime APIs: #44975
Example Changes
- Fix
with-stencilexample: #44964
Misc Changes
- Update build env for test timings: #44970
- Update to skip test timings on docs change: #44971
Credits
Huge thanks to @hanneslund, @kristian240, @deli-ght, @shuding, and @ITJesse for helping!
Core Changes
- Ensure rootLayoutIncluded is set on partial render: #44958
Core Changes
- Update pre-compiled: #44874
- Use sequentialRead while encoding images with sharp: #44881
- Move server-external-packages to JSON: #44910
- fix standalone wrong url being logged: #44887
- Custom RSC compiler error message in pages/: #44865
- Replace eslint rule for
no-shadowwithtypescript-eslint/no-shadow: #44936
Documentation Changes
- Next/Script documentation beforeInteractive inconsistency: #44898
- fix(docs): update broken link for preset.ts: #44916
- Fix Node.js version to 14.6.0 in Upgrading guide.: #44939
Example Changes
- Removes title warning from cms example: #44894
Misc Changes
- Fix prepublish compiled handling: #44914
- Update test env variable passing: #44912
- Support Prefer Offline for testing: #44935
- Update test env for E2E deploy mode: #44937
Credits
Huge thanks to @Brooooooklyn, @rajavijayasaradhi, @rortan134, @IgnisDa, @ChanhyukPark-Tech, @hanneslund, @wyattjoh, and @leerob for helping!
Core Changes
- Refactor next dynamic: #44832
- Add built-in server-only and client-only: #44861
- Handle empty module from the next dynamic loader: #44873
Documentation Changes
- Update building-forms.md: #44862
- Prompt for custom import alias and store preferences in CNA: #44872
Misc Changes
- port
type: needs investigationinto linear: #44823 - Create new action that will auto-label issues that have some activity after we mark them as "verify-canary" or "add repro"": #44815
- test(snapshot): allow snapshot test not invalidate with --turbo: #43545
- Remove extra styled-components disabled test: #44870
Credits
Huge thanks to @JanKaifer, @huozhi, @kwonoj, and @josuareich for helping!
Core Changes
- Add special error message for class component in server component: #44265
- Update license year: #44403
- Move core files to src folder and move JS files to TypeScript: #44405
- refactor: add warning helper for removed experimental option: #44213
- types: remove config.experimental.profiling: #44507
- chore: addresses leftover from #44045: #44080
- Fix cookie parsing removing extra
=: #44218 - Update server-external-packages to include aws-crt: #44214
- Collapse sequences of call stack frames from React and Next.js in the error overlay: #44137
- Update json5 dependency to latest: #44548
- Improve errors caused by client hook called in a server component: #44538
- Remove unused
target: es5fromtsconfig.json: #44567 - Make static page prefetch apply on navigation in app dir: #44502
- Improve errors caused by Next.js client hook called in a server component: #44588
- Add updated flush handling on sigterm: #44614
- chore: improves console warnings related to edge runtime: #44563
- hmr error improvements: #30616
- feat(standalone): allow configuring
HOSTNAMEvia env var: #44627 - Add experimental pre-compiled next-server: #43198
- Fix check-precompiled for next-server: #44669
- Refactor use of AsyncLocalStorage: #44668
- Add required default value for the ids parameter: #44694
- Start client compiler when server components are finished compiling: #44716
- fix: support runtime value when using multiple declarations per export: #44732
- land(Fix: Add trailing slash to locale redirect based on next config): #44735
- Fix IPv6 hostname formatting in CLI: #43491
- Hydration error link is appended multiple times in app-dir: #44741
- Improve errors caused by Class Component rendered in a server component.: #44726
- Update
jsonwebtoken: #44748 - @next/font: Add preconnect tag when fonts are used but not preloaded in app-dir: #44746
- Ensure folder exists for standalone server: #44745
- chore: Update
swc_coretov0.53.0: #44707 - Revert "chore: Update
swc_coretov0.53.0": #44760 - chore: fix typo: #44761
- Fix app ISR handling with no generateStaticParams: #44787
- Update to latest version of pnpm: #44791
- Fix router.refresh() resetting state and Suspense boundaries: #44775
- Fix capitalization in formatted server errors: #44798
- examples: Bump SWR to v2.0.0: #44790
- Fix image emittion for pure client image: #44831
Documentation Changes
- Update custom-app.md: #44351
- Update
next/headdocs.: #44454 - uses spelling: #44399
- Update Turbopack docs.: #44468
- Fix link to next-image-to-legacy-image codemod: #44471
- Add module transpilation docs: #44518
- Update TypeScript API Route example: #44517
- Update config-shared docs link: #44547
- Docs: Update
next/fontto@next/font: #44573 - Improve modularized imports docs and add config options to example: #44560
- Remove old links in docs.: #44580
- Test navigation between multiple root layouts: #43762
- [docs/bugfix] fix code example for "Prefixing the Default Locale" - NEXT_LOCALE cookie usage: #44587
- Correct link to full list of
Permissions-Policypermissions: #44607 - Update subset validation in @next/font/google and fix CJK bug: #44594
- Update mdx docs example to show merging config: #44656
- docs: clarify default
basePathvalue: #44642 - docs(middleware): add _next/image to match ignore: #44659
- Update redirects.md to fix a typo.: #44677
- Fix broken links in @next/font API reference: #44714
- Add missing modularizeImports on config snippets: #44734
- Update prompts for CNA and add default @/* alias: #44672
- Clarify middleware.ts location in docs: #44788
Example Changes
- Update with-sentry README.md Next.js version: #44374
- fix link to index page in Image Component Example: #44388
- Update get-api-cookie.ts: #44466
- Update .gitignore in pwa example: #44391
- Use the stable GraphQL Yoga v3 in the GraphQL example: #44488
- [examples] add @types/testing-library__jest-dom package: #44533
- Improvements to Cloudinary Example: #44572
- Create i18n example using app-dir and middleware: #44257
- Add lang, generateStaticParams, and server-only for i18n example: #44597
- remove unnecessary babel.config.js in react native web example: #43939
- Update to with-supertokens example: #44640
- Add support for rendering MDX as a server component: #44651
- Update: SharedModal.tsx swipe bug in with-cloudinary: #44771
- [example] Add missing package in app dir i18n example: #44820
Misc Changes
- docs: add pnpm to template readme: #44427
- Added actual error message to log output: #44453
- Fix isolated tests on windows and update azure config: #44457
- docs: Update GitHub CLI clone command in
developing.md: #44509 - Cache package lock when running tests to speed up installation: #44520
- Test server component error recovery in dev: #44155
- Fix taskr watching core files
- add
testonlyvariants for all test modes and refactoredtestas alias oftestheadless: #44528 - Use test timings token when available: #44549
- Remove un-used app-dir test fixture: #44546
- Fix prettierignore_staged for compiled: #44550
- Revert "Use turbo for packing files in test setup (#44074)": #44566
- Remove extra pnp test: #44576
- Update CNA tests running: #44577
- misc: fix benchmark script: #44592
- Change
NextInstance.fetchSignature: #44575 - Update CNA test skipping: #44606
- Disable telemetry for
pnpm nextwhen contributing locally: #44610 - Update flakey styled-components test: #44613
- Temporarily disable Azure e2e tests: #44616
- Fix docs only change for canary: #44617
- Fix font unit test on Azure: #44618
- Fix paths for check-examples script: #44661
- Change test template to use TS and improve template for
app-dir: #44227 - Replace usage of example.com in gssp-redirect tests: #44664
- Ensure yarn is used for next-with-deps: #44666
- Recommend next-with-deps for running examples: #44667
- Fix new-error command: #44720
- @next/font/google unknown font error: #44713
- Migrate set-output usage to $GITHB_OUTPUT: #44757
- Add simple test that custom server works: #44536
- Migrate basic-basepath tests into basic: #44776
- Autolabel with linear when labeled with kind: bug: #44774
- Exposing NextFont types: #44772
- Fix set output handling for DOCS_CHANGE env: #44789
- Fix echoing DOCS_CHANGE result
- Correctly handle @next/font/google fonts without any preloadable subsets: #44809
- Update release stats for newer pnpm version: #44828
- Fix FreeBSD next-swc build: #44833
Credits
Huge thanks to @shuding, @chogyejin, @ijjk, @smeubank, @h4x0rlol, @leerob, @arch-user-france1, @konojunya, @nora-soderlund, @IDrumsey, @dirheimerb, @timneutkens, @BrandNewLifeJackie26, @hyeongrok7874, @ardatan, @chibicode, @JanKaifer, @hanneslund, @abir-taheer, @SukkaW, @promer94, @feugy, @fli, @seawatts, @awareness481, @delbaoliveira, @Nutlope, @styfle, @feedthejim, @wyattjoh, @Cielquan, @NiedziolkaMichal, @nissy-dev, @balazsorban44, @raulfdm, @sokra, @rishabhpoddar, @wbinnssmith, @CuriosBasant, @gurkerl83, @akshitsinha, @ianldgs, @kdy1, @sorrycc, @tapaskumar05, @stuartkeith, @EmilianoGarciaLopez, @valentinpolitov, and @huozhi for helping!
Core Changes
- Fix image emittion for pure client image: #44831
Misc Changes
- Fix FreeBSD next-swc build: #44833
Credits
Huge thanks to @huozhi for helping!
Core Changes
- Update to latest version of pnpm: #44791
- Fix router.refresh() resetting state and Suspense boundaries: #44775
Example Changes
- [example] Add missing package in app dir i18n example: #44820
Credits
Huge thanks to @ijjk and @delbaoliveira for helping!
Core Changes
- Fix IPv6 hostname formatting in CLI: #43491
- Hydration error link is appended multiple times in app-dir: #44741
- Improve errors caused by Class Component rendered in a server component.: #44726
- Update
jsonwebtoken: #44748 - @next/font: Add preconnect tag when fonts are used but not preloaded in app-dir: #44746
- Ensure folder exists for standalone server: #44745
- chore: Update
swc_coretov0.53.0: #44707 - Revert "chore: Update
swc_coretov0.53.0": #44760 - chore: fix typo: #44761
- Fix app ISR handling with no generateStaticParams: #44787
Documentation Changes
- Clarify middleware.ts location in docs: #44788
Example Changes
- Update: SharedModal.tsx swipe bug in with-cloudinary: #44771
Misc Changes
- Migrate set-output usage to $GITHB_OUTPUT: #44757
- Add simple test that custom server works: #44536
- Migrate basic-basepath tests into basic: #44776
- Autolabel with linear when labeled with kind: bug: #44774
- Exposing NextFont types: #44772
- Fix set output handling for DOCS_CHANGE env: #44789
- Fix echoing DOCS_CHANGE result
Credits
Huge thanks to @akshitsinha, @hanneslund, @JanKaifer, @ianldgs, @kdy1, @sorrycc, @tapaskumar05, @stuartkeith, and @EmilianoGarciaLopez for helping!
Core Changes
- Start client compiler when server components are finished compiling: #44716
- fix: support runtime value when using multiple declarations per export: #44732
- land(Fix: Add trailing slash to locale redirect based on next config): #44735
Documentation Changes
- Fix broken links in @next/font API reference: #44714
- Add missing modularizeImports on config snippets: #44734
- Update prompts for CNA and add default @/* alias: #44672
Misc Changes
- Fix new-error command: #44720
- @next/font/google unknown font error: #44713
Credits
Huge thanks to @hanneslund, @timneutkens, and @feedthejim for helping!
Core Changes
- Fix check-precompiled for next-server: #44669
- Refactor use of AsyncLocalStorage: #44668
- Add required default value for the ids parameter: #44694
Documentation Changes
- Update redirects.md to fix a typo.: #44677
Credits
Huge thanks to @ijjk, @wyattjoh, @CuriosBasant, and @gurkerl83 for helping!
Core Changes
- Improve errors caused by Next.js client hook called in a server component: #44588
- Add updated flush handling on sigterm: #44614
- chore: improves console warnings related to edge runtime: #44563
- hmr error improvements: #30616
- feat(standalone): allow configuring
HOSTNAMEvia env var: #44627 - Add experimental pre-compiled next-server: #43198
Documentation Changes
- Update subset validation in @next/font/google and fix CJK bug: #44594
- Update mdx docs example to show merging config: #44656
- docs: clarify default
basePathvalue: #44642 - docs(middleware): add _next/image to match ignore: #44659
Example Changes
- remove unnecessary babel.config.js in react native web example: #43939
- Update to with-supertokens example: #44640
- Add support for rendering MDX as a server component: #44651
Misc Changes
- Update flakey styled-components test: #44613
- Temporarily disable Azure e2e tests: #44616
- Fix docs only change for canary: #44617
- Fix font unit test on Azure: #44618
- Fix paths for check-examples script: #44661
- Change test template to use TS and improve template for
app-dir: #44227 - Replace usage of example.com in gssp-redirect tests: #44664
- Ensure yarn is used for next-with-deps: #44666
- Recommend next-with-deps for running examples: #44667
Credits
Huge thanks to @hanneslund, @nissy-dev, @styfle, @balazsorban44, @raulfdm, @feugy, @sokra, @rishabhpoddar, @JanKaifer, @timneutkens, and @wbinnssmith for helping!
Core Changes
- Improve errors caused by client hook called in a server component: #44538
- Remove unused
target: es5fromtsconfig.json: #44567 - Make static page prefetch apply on navigation in app dir: #44502
Documentation Changes
- Docs: Update
next/fontto@next/font: #44573 - Improve modularized imports docs and add config options to example: #44560
- Remove old links in docs.: #44580
- Test navigation between multiple root layouts: #43762
- [docs/bugfix] fix code example for "Prefixing the Default Locale" - NEXT_LOCALE cookie usage: #44587
- Correct link to full list of
Permissions-Policypermissions: #44607
Example Changes
- Improvements to Cloudinary Example: #44572
- Create i18n example using app-dir and middleware: #44257
- Add lang, generateStaticParams, and server-only for i18n example: #44597
Misc Changes
- Revert "Use turbo for packing files in test setup (#44074)": #44566
- Remove extra pnp test: #44576
- Update CNA tests running: #44577
- misc: fix benchmark script: #44592
- Change
NextInstance.fetchSignature: #44575 - Update CNA test skipping: #44606
- Disable telemetry for
pnpm nextwhen contributing locally: #44610
Credits
Huge thanks to @hanneslund, @JanKaifer, @delbaoliveira, @Nutlope, @chibicode, @styfle, @leerob, @feedthejim, @wyattjoh, @timneutkens, @Cielquan, and @NiedziolkaMichal for helping!
Core Changes
- Add special error message for class component in server component: #44265
- Update license year: #44403
- Move core files to src folder and move JS files to TypeScript: #44405
- refactor: add warning helper for removed experimental option: #44213
- types: remove config.experimental.profiling: #44507
- chore: addresses leftover from #44045: #44080
- Fix cookie parsing removing extra
=: #44218 - Update server-external-packages to include aws-crt: #44214
- Collapse sequences of call stack frames from React and Next.js in the error overlay: #44137
- Update json5 dependency to latest: #44548
Documentation Changes
- Update custom-app.md: #44351
- Update
next/headdocs.: #44454 - uses spelling: #44399
- Update Turbopack docs.: #44468
- Fix link to next-image-to-legacy-image codemod: #44471
- Add module transpilation docs: #44518
- Update TypeScript API Route example: #44517
- Update config-shared docs link: #44547
Example Changes
- Update with-sentry README.md Next.js version: #44374
- fix link to index page in Image Component Example: #44388
- Update get-api-cookie.ts: #44466
- Update .gitignore in pwa example: #44391
- Use the stable GraphQL Yoga v3 in the GraphQL example: #44488
- [examples] add @types/testing-library__jest-dom package: #44533
Misc Changes
- docs: add pnpm to template readme: #44427
- Added actual error message to log output: #44453
- Fix isolated tests on windows and update azure config: #44457
- docs: Update GitHub CLI clone command in
developing.md: #44509 - Cache package lock when running tests to speed up installation: #44520
- Test server component error recovery in dev: #44155
- Fix taskr watching core files
- add
testonlyvariants for all test modes and refactoredtestas alias oftestheadless: #44528 - Use test timings token when available: #44549
- Remove un-used app-dir test fixture: #44546
- Fix prettierignore_staged for compiled: #44550
Credits
Huge thanks to @shuding, @chogyejin, @smeubank, @h4x0rlol, @leerob, @arch-user-france1, @konojunya, @nora-soderlund, @IDrumsey, @dirheimerb, @timneutkens, @BrandNewLifeJackie26, @hyeongrok7874, @ardatan, @chibicode, @JanKaifer, @hanneslund, @abir-taheer, @SukkaW, @promer94, @feugy, @fli, @seawatts, and @awareness481 for helping!
Core Changes
- Exclude
srcsetfrom svg image: #44308 - Fix CSS resource path not matched in
__entry_css_files__: #44310 - Fix
next/image404 whenbasePathandtrailingSlashdefined: #44312
Documentation Changes
- Remove experimental for modularizeImports from docs and example: #44311
Example Changes
- Updated dependencies for
with-tailwindcssexample: #44289
Misc Changes
- Use turbo for packing files in test setup: #44074
Credits
Huge thanks to @JanKaifer, @Nutlope, @styfle, and @chibicode for helping!
Core Changes
- Fix
next/image404 whenbasePathandtrailingSlashdefined: #44312
Documentation Changes
- Remove experimental for modularizeImports from docs and example: #44311
Credits
Huge thanks to @chibicode and @styfle for helping!
Core Changes
- Exclude
srcsetfrom svg image: #44308 - Fix CSS resource path not matched in
__entry_css_files__: #44310
Example Changes
- Updated dependencies for
with-tailwindcssexample: #44289
Misc Changes
- Use turbo for packing files in test setup: #44074
Credits
Huge thanks to @JanKaifer, @Nutlope, and @styfle for helping!
Core Changes
- Fix windows slashes for app client entry: #44052
- Hash both pitch and main loader for server CSS imports: #44063
- Add tracing for testing tools: #44046
- Run packing in tests in parallel: #44048
- feat: app dir error-global component: #44066
- Fix ignoring dev warning for preload component: #44065
- refactor(next-swc): introduce next-binding to consolidate dependencies.: #43473
- Add lodash to server components external packages: #44022
- Fix dev session stopped handling: #44112
- Add jsdoc/no-types eslint rule for TypeScript files: #44049
- Revert "Remove
useStatefromnext/image(#43587)": #44094 - should not contain pages css in app dir: #44151
- Upgrade undici to 5.14.0 to fix fetch redirect bug: #44133
- build(cargo): fix turbopack + next-swc build: #43983
- Align onRecoverableError callback between pages and app dir: #44161
- build(cargo): update turbopack: #44167
- Update styled-jsx: #44070
- Fix crash in GraalVM: #44176
- Also check error.message as digest for recoverable errors in pages: #44185
- Move options to stable: #44195
- Move
transpilePackagesout of experimental: #44194 - Fix CSS resources being duplicated in app dir: #44168
- Add telemetry for stable features: #44201
- Add warning for experimental flags that have moved: #44202
- build(cargo): bump up turbopack: #44206
- Bump
@vercel/nft@0.22.6: #44193 - Disable Image Optimization API when next.config.js has
unoptimized: true: #44205 - Honour
distDirin type generation: #44207 - Only once for the next/head usage in app dir: #44233
- Enable allowMiddlewareResponseBody by default: #44224
- Move
modularizeImportsout of experimental: #44240 - Update config validation for latest turbopack changes: #44223
- build(cargo): update turbopack: #44241
- update turbopack for bugfixes: #44251
Documentation Changes
- docs: Add explanation about font-display: #44001
- Test that adding query can be detected by useSearchParams: #43969
- Add static test for useSelectedLayoutSegments: #43955
- Docs: Update deployment.md with Firebase, Amplify and Cloudflare: #44092
- Add test for rewriting in middleware in app-dir: #43971
- docs: Add missing type to import statement: #44111
- docs: update next/dynamic docs: #44067
- Update disabling-http-keep-alive.md for server-side only: #43374
- docs: fix spelling error: #44191
- Write tests for navigation between app-dir and pages: #43881
- Add docs for middleware flags: #44235
Example Changes
- Updates with-supertokens example: #44042
- Fix styled-components setup in turbo example: #44165
- update with-turbopack example for postcss/tailwind support: #44261
Misc Changes
- Run packing in tests in parallel
- Revert "Run packing in tests in parallel"
- Remove extra turbo test: #44073
- Implement new core test API: #44086
- Refactor more tests to createNextDescribe: #44104
- Add types as a default dependency into tests: #44140
- Suggest contributors to use shallow clone: #44158
- Update pnpm new-test to use createNextDescribe: #44147
- Update README templates to include snippet on
next/font: #44088 - Wrap CSS variable in var: #44153
- Ensure next.url is used instead of next.appPort: #44163
- test: add test for notFound during streaming: #44078
- Fix test template example: #44170
- Remove devcontainer network host argument: #44157
- Fix pnpm install on Azure: #44179
- Enable ReactRefreshLogBox scss test: #44180
- Increase recommended git clone depth: #44181
- Document how chain works in BrowserInterface and chain to
browser.eval: #44085 - Remove browser.refresh in app tests: #44186
- Move tests into their test folder: #44183
- Add test checking that repeated edits won't cause hydration issues: #44189
- Update labeler.json with current next.js team members: #44231
Credits
Huge thanks to @shuding, @hanneslund, @rishabhpoddar, @JanKaifer, @huozhi, @timneutkens, @kwonoj, @IamManchanda, @styfle, @nyedidikeke, @jaslong, @jueungrace, @longzheng, @akshitsinha, @Brooooooklyn, @gish, and @sokra for helping!
Example Changes
- update with-turbopack example for postcss/tailwind support: #44261
Credits
Huge thanks to @sokra for helping!
Core Changes
- update turbopack for bugfixes: #44251
Credits
Huge thanks to @sokra for helping!
Core Changes
- Disable Image Optimization API when next.config.js has
unoptimized: true: #44205 - Honour
distDirin type generation: #44207 - Only once for the next/head usage in app dir: #44233
- Enable allowMiddlewareResponseBody by default: #44224
- Move
modularizeImportsout of experimental: #44240 - Update config validation for latest turbopack changes: #44223
- build(cargo): update turbopack: #44241
Documentation Changes
- Write tests for navigation between app-dir and pages: #43881
- Add docs for middleware flags: #44235
Misc Changes
- Move tests into their test folder: #44183
- Add test checking that repeated edits won't cause hydration issues: #44189
- Update labeler.json with current next.js team members: #44231
Credits
Huge thanks to @styfle, @JanKaifer, @shuding, @huozhi, @timneutkens, @sokra, and @kwonoj for helping!
Core Changes
- Fix crash in GraalVM: #44176
- Also check error.message as digest for recoverable errors in pages: #44185
- Move options to stable: #44195
- Move
transpilePackagesout of experimental: #44194 - Fix CSS resources being duplicated in app dir: #44168
- Add telemetry for stable features: #44201
- Add warning for experimental flags that have moved: #44202
- build(cargo): bump up turbopack: #44206
- Bump
@vercel/nft@0.22.6: #44193
Documentation Changes
- docs: fix spelling error: #44191
Misc Changes
- Fix pnpm install on Azure: #44179
- Enable ReactRefreshLogBox scss test: #44180
- Increase recommended git clone depth: #44181
- Document how chain works in BrowserInterface and chain to
browser.eval: #44085 - Remove browser.refresh in app tests: #44186
Credits
Huge thanks to @Brooooooklyn, @hanneslund, @JanKaifer, @huozhi, @gish, @shuding, @kwonoj, and @styfle for helping!
Core Changes
- Add tracing for testing tools: #44046
- Run packing in tests in parallel: #44048
- feat: app dir error-global component: #44066
- Fix ignoring dev warning for preload component: #44065
- refactor(next-swc): introduce next-binding to consolidate dependencies.: #43473
- Add lodash to server components external packages: #44022
- Fix dev session stopped handling: #44112
- Add jsdoc/no-types eslint rule for TypeScript files: #44049
- Revert "Remove
useStatefromnext/image(#43587)": #44094 - should not contain pages css in app dir: #44151
- Upgrade undici to 5.14.0 to fix fetch redirect bug: #44133
- build(cargo): fix turbopack + next-swc build: #43983
- Align onRecoverableError callback between pages and app dir: #44161
- build(cargo): update turbopack: #44167
- Update styled-jsx: #44070
Documentation Changes
- docs: Add explanation about font-display: #44001
- Test that adding query can be detected by useSearchParams: #43969
- Add static test for useSelectedLayoutSegments: #43955
- Docs: Update deployment.md with Firebase, Amplify and Cloudflare: #44092
- Add test for rewriting in middleware in app-dir: #43971
- docs: Add missing type to import statement: #44111
- docs: update next/dynamic docs: #44067
- Update disabling-http-keep-alive.md for server-side only: #43374
Example Changes
- Updates with-supertokens example: #44042
- Fix styled-components setup in turbo example: #44165
Misc Changes
- Remove extra turbo test: #44073
- Implement new core test API: #44086
- Refactor more tests to createNextDescribe: #44104
- Add types as a default dependency into tests: #44140
- Suggest contributors to use shallow clone: #44158
- Update pnpm new-test to use createNextDescribe: #44147
- Update README templates to include snippet on
next/font: #44088 - Wrap CSS variable in var: #44153
- Ensure next.url is used instead of next.appPort: #44163
- test: add test for notFound during streaming: #44078
- Fix test template example: #44170
- Remove devcontainer network host argument: #44157
Credits
Huge thanks to @hanneslund, @rishabhpoddar, @JanKaifer, @huozhi, @timneutkens, @kwonoj, @IamManchanda, @styfle, @nyedidikeke, @jaslong, @jueungrace, @longzheng, and @akshitsinha for helping!
Core Changes
- Fix windows slashes for app client entry: #44052
- Hash both pitch and main loader for server CSS imports: #44063
Misc Changes
- Run packing in tests in parallel
- Revert "Run packing in tests in parallel"
Credits
Huge thanks to @shuding for helping!
Core Changes
- Update react next tag: #43617
- fix(jest): pattern when detecting packages to transpile in next/jest: #43546
- Adding head element checking for root layout: #43597
- Revert: 'Minimized runtime errors in app dir': #43648
- fix: properly handle
trailingSlash: trueandrewrites: #43641 - @next/font fallback fonts order fix: #43633
- Update cache handling for app: #43659
- Remove resolved
appdirectory todos: #43672 - Fix typo in comment: #43685
- perf: disable prefetching for links in viewport in development for app routes: #43730
- Remove additional
<div>at each segment level inapp: #43717 - Revert "Adding head element checking for root layout": #43760
- fix ci pnpm lock error: #43767
- Force reflow when setting scrollBehavior: #43673
- Remove
__webpack_exports__from error overlay: #43715 - Fix chunk hash logic in hot-reloader for server components: #43778
- Assign layer to app client entries: #43197
- Remove notifications emitted during pnpm dev: #43801
- Display error digest if presented: #43742
- Fix HMR issue after patching the client module: #43819
- Implement loadable with lazy and suspense for next dynamic: #42589
- Do not attach CSS checksum for production build: #43827
- Provide error hints for invalid layout props via the TS plugin: #43835
- Refactor code: #43828
- Unhandled errors and rejections opens as minimized in app dir error overlay: #43844
- docs: add readme with development instructions for next/swc: #43834
- Use proxy to ensure Flight is referencing to the latest module during development: #43823
- memory: fix 2 memory leaks in
next-dev: #43859 - Refactoring in @next/font: #43848
- build(cargo): bump up swc_core, turbopack: #43652
- Move prefetch bailout to start of the prefetch function for
pages: #43731 - Alias next/head to noop for rsc and add upgration warning: #43885
- Update freebsd build: #43866
- Fix error message for invalid
runtimeoption in app dir: #43900 - fix: forwarding props to no ssr dynamic: #43901
- Improve type checking error message for invalid props: #43903
- Improve type checking error message for invalid props: #43903
- Support for named slots in type checking: #43906
- Fix next/dynamic types for resolving named export module: #43923
- Add auto completion for prop names and types to the TS plugin: #43909
- Skip creating VSCode config and
.gitignoreif running in CI: #43935 - Add helpful error for createContext used in Server Components: #43747
- Increase stack trace limit on the server: #43800
- Refactor image optimization util: #43868
- useSearchParams - bailout to client rendering during static generation: #43603
- Open server component errors fullscreen: #43887
- next-dev: restart dev server exceeds the memory limits: #43958
- Fix: status log when NEXT_TELEMETRY_DISABLED env is set: #43948
- Erase dynamic ssr:false imports on server: #43974
- use a function expression to access arguments binding: #43987
- Added support for query params on not found pages: #43836
- Update
no-img-elementlint rule: #43982 - Fix: fix pages in Route Groups returning 500 with
output: "standalone": #43746 - Add default head for app dir: #43963
- Fix browser navigation buttons not working with shallow routing and middleware: #43919
- Fast refresh should recover from event handler errors in app dir: #43882
- Fix module error for findDOMNode on edge: #43998
- Adding data attr to inlined font definition: #44008
- Replace taskr.watch for core compilation: #44027
- Fix
.images.remotePatterns[0].portwarning: #44032 - Fix app client entry key for windows: #44011
- feat: enables 'edge' as a possible runtime for API routes: #44045
Documentation Changes
- docs: Add notes about NEXT_MANUAL_SIG_HANDLE: #43686
- Changes
vercel/exampleslinks from linking to GitHub repo to template marketplace: #43780 - docs(migrating): fix broken react-router link: #43843
- Update compiler.md: #43872
- Add docs for missing support on custom routes: #44007
- docs: fix wording: #44020
- not ie 11 is dead: #44029
Example Changes
- Add with-cloudinary example: #43250
- examples(with-turbopack): Fix styling page default active stylingNav: #42739
- Fixed broken Cloudinary example: #43646
- Convert
with-why-did-you-renderexample to TypeScript: #43736 - chore(examples): Remove deprecated function from chakra: #43784
- chore(examples): Update convex example: #43741
- Update dependencies for Convex demo: #43855
- Convert
with-gsap,with-mqtt-js,with-mux-videoexamples to Typescript: #43874 - Fix
with-webassemblyexample and convert to Typescript: #43677 - corrected /examples/github-pages readme: #43766
- chore: add repro links in "verify canary" comment: #43979
- Move Google Analytics script to the : #43838
Misc Changes
- Apply publish step optimizations: #43620
- Update create-next-app template: #43482
- Update test config: #43661
- Update flakey app logbox test: #43682
- Update flakey GSSP preview test: #43702
- Fix typos in 1.bug_report.yml: #43697
- Disable jest autorun in this repo: #43727
- Build test binary in Docker image: #43745
- Update bug report template to make it clear we require repro: #43735
- Add tests for server component HMR: #43779
- Add tests for rendering null and undefined in RSC: #43768
- Remove
swcMinifyfrom Next config in CNA template: #43782 - Remove
serverComponentsfrom next.conf.js because it's unused: #43805 - Add test for providing correct params to layouts: #43775
- Fix test binary generation and update test config: #43790
- Lock pnpm version during publish: #43820
- ci(actions): pin prod-test action image: #43748
- Upgrade playwright to 1.28.1: #43818
- modify rd email: #43837
- Test imports of all file types: #43751
- test: client component under server component with ssr:false: #43853
- Delete duplicate SECURITY.md: #43856
- Clarify e2e dependency on yarn in contributin docs: #43287
- test: use react latest: #43884
- Update @next/font data: #43883
- Update flakey dev context tests: #43951
- Add VSCode settings and recommended extensions for Next.js repository: #43954
- Add Web Tooling team to codeowners: #43981
- Update docs change files list: #43984
- Fix e2e deploy test setup: #43990
Credits
Huge thanks to @Nutlope, @huozhi, @m7yue, @BRKalow, @Andarist, @hanneslund, @jueungrace, @balazsorban44, @ijjk, @mmaaaaz, @Alfred-Mountfield, @soonoo, @JanKaifer, @feedthejim, @Brooooooklyn, @shuding, @manovotny, @maxproske, @AnujSsStw, @thomasballinger, @kwonoj, @aaronbrown-vercel, @saseungmin, @styfle, @timneutkens, @aziyatali, @labyrinthitis, @padmaia, @mattpr, @gnoff, @wyattjoh, @aarnadlr, @DuCanhGH, @kleintorres, @janicklas-ralph, @theevilhead, @Nfinished, and @feugy for helping!
Core Changes
- Adding data attr to inlined font definition: #44008
- Replace taskr.watch for core compilation: #44027
- Fix
.images.remotePatterns[0].portwarning: #44032 - Fix app client entry key for windows: #44011
- feat: enables 'edge' as a possible runtime for API routes: #44045
Documentation Changes
- Add docs for missing support on custom routes: #44007
- docs: fix wording: #44020
- not ie 11 is dead: #44029
Credits
Huge thanks to @ijjk, @janicklas-ralph, @theevilhead, @Nfinished, @styfle, @huozhi, and @feugy for helping!
Core Changes
- Update
no-img-elementlint rule: #43982 - Fix: fix pages in Route Groups returning 500 with
output: "standalone": #43746 - Add default head for app dir: #43963
- Fix browser navigation buttons not working with shallow routing and middleware: #43919
- Fast refresh should recover from event handler errors in app dir: #43882
- Fix module error for findDOMNode on edge: #43998
Example Changes
- Move Google Analytics script to the : #43838
Misc Changes
- Fix e2e deploy test setup: #43990
Credits
Huge thanks to @styfle, @aarnadlr, @DuCanhGH, @huozhi, @kleintorres, and @hanneslund for helping!
Core Changes
- Fix error message for invalid
runtimeoption in app dir: #43900 - fix: forwarding props to no ssr dynamic: #43901
- Improve type checking error message for invalid props: #43903
- Improve type checking error message for invalid props: #43903
- Support for named slots in type checking: #43906
- Fix next/dynamic types for resolving named export module: #43923
- Add auto completion for prop names and types to the TS plugin: #43909
- Skip creating VSCode config and
.gitignoreif running in CI: #43935 - Add helpful error for createContext used in Server Components: #43747
- Increase stack trace limit on the server: #43800
- Refactor image optimization util: #43868
- useSearchParams - bailout to client rendering during static generation: #43603
- Open server component errors fullscreen: #43887
- next-dev: restart dev server exceeds the memory limits: #43958
- Fix: status log when NEXT_TELEMETRY_DISABLED env is set: #43948
- Erase dynamic ssr:false imports on server: #43974
- use a function expression to access arguments binding: #43987
- Added support for query params on not found pages: #43836
Documentation Changes
- Update compiler.md: #43872
Example Changes
- Convert
with-gsap,with-mqtt-js,with-mux-videoexamples to Typescript: #43874 - Fix
with-webassemblyexample and convert to Typescript: #43677 - corrected /examples/github-pages readme: #43766
- chore: add repro links in "verify canary" comment: #43979
Misc Changes
- Update @next/font data: #43883
- Update flakey dev context tests: #43951
- Add VSCode settings and recommended extensions for Next.js repository: #43954
- Add Web Tooling team to codeowners: #43981
- Update docs change files list: #43984
Credits
Huge thanks to @shuding, @huozhi, @aziyatali, @maxproske, @labyrinthitis, @hanneslund, @styfle, @timneutkens, @feedthejim, @padmaia, @mattpr, @balazsorban44, @gnoff, and @wyattjoh for helping!
Core Changes
- Provide error hints for invalid layout props via the TS plugin: #43835
- Refactor code: #43828
- Unhandled errors and rejections opens as minimized in app dir error overlay: #43844
- docs: add readme with development instructions for next/swc: #43834
- Use proxy to ensure Flight is referencing to the latest module during development: #43823
- memory: fix 2 memory leaks in
next-dev: #43859 - Refactoring in @next/font: #43848
- build(cargo): bump up swc_core, turbopack: #43652
- Move prefetch bailout to start of the prefetch function for
pages: #43731 - Alias next/head to noop for rsc and add upgration warning: #43885
- Update freebsd build: #43866
Documentation Changes
- docs(migrating): fix broken react-router link: #43843
Example Changes
- Update dependencies for Convex demo: #43855
Misc Changes
- modify rd email: #43837
- Test imports of all file types: #43751
- test: client component under server component with ssr:false: #43853
- Delete duplicate SECURITY.md: #43856
- Clarify e2e dependency on yarn in contributin docs: #43287
- test: use react latest: #43884
Credits
Huge thanks to @shuding, @aaronbrown-vercel, @JanKaifer, @hanneslund, @huozhi, @saseungmin, @styfle, @feedthejim, @thomasballinger, @kwonoj, and @timneutkens for helping!
Core Changes
- Revert "Adding head element checking for root layout": #43760
- fix ci pnpm lock error: #43767
- Force reflow when setting scrollBehavior: #43673
- Remove
__webpack_exports__from error overlay: #43715 - Fix chunk hash logic in hot-reloader for server components: #43778
- Assign layer to app client entries: #43197
- Remove notifications emitted during pnpm dev: #43801
- Display error digest if presented: #43742
- Fix HMR issue after patching the client module: #43819
- Implement loadable with lazy and suspense for next dynamic: #42589
- Do not attach CSS checksum for production build: #43827
Documentation Changes
- Changes
vercel/exampleslinks from linking to GitHub repo to template marketplace: #43780
Example Changes
- Convert
with-why-did-you-renderexample to TypeScript: #43736 - chore(examples): Remove deprecated function from chakra: #43784
- chore(examples): Update convex example: #43741
Misc Changes
- Update bug report template to make it clear we require repro: #43735
- Add tests for server component HMR: #43779
- Add tests for rendering null and undefined in RSC: #43768
- Remove
swcMinifyfrom Next config in CNA template: #43782 - Remove
serverComponentsfrom next.conf.js because it's unused: #43805 - Add test for providing correct params to layouts: #43775
- Fix test binary generation and update test config: #43790
- Lock pnpm version during publish: #43820
- ci(actions): pin prod-test action image: #43748
- Upgrade playwright to 1.28.1: #43818
Credits
Huge thanks to @JanKaifer, @shuding, @manovotny, @hanneslund, @jueungrace, @maxproske, @AnujSsStw, @thomasballinger, @ijjk, and @kwonoj for helping!
Core Changes
- Adding head element checking for root layout: #43597
- Revert: 'Minimized runtime errors in app dir': #43648
- fix: properly handle
trailingSlash: trueandrewrites: #43641 - @next/font fallback fonts order fix: #43633
- Update cache handling for app: #43659
Example Changes
- Fixed broken Cloudinary example: #43646
Misc Changes
- Update create-next-app template: #43482
Credits
Huge thanks to @Andarist, @Nutlope, @hanneslund, @jueungrace, and @balazsorban44 for helping!
Core Changes
- Update react next tag: #43617
- fix(jest): pattern when detecting packages to transpile in next/jest: #43546
Example Changes
- Add with-cloudinary example: #43250
- examples(with-turbopack): Fix styling page default active stylingNav: #42739
Misc Changes
- Apply publish step optimizations: #43620
Credits
Huge thanks to @Nutlope, @huozhi, @m7yue, and @BRKalow for helping!
Core Changes
- test(integration): allow to run
--turbodev server tests dynamically : #42967 - Ensure loaderFile is included in webpack cache key: #43315
- Improve @next/font error handling: #43298
- Improve RSC plugin to provide better errors: #42435
- fix appDir returning 404 in production with
"output": "standalone": #43268 - Fix outputting un-necessary trace files for edge functions: #43304
- fix: apply default export interop to pages/_app: #43335
- Fix package resolution issue in app dir: #43349
- Get correct chunks in flight-manifest on Windows: #43334
- Resolve RSC / HTML rendering errors in error overlay: #43332
- App directory next/link dynamic href dev error: #43074
- Add
refforwarding fornext/image: #43193 - Always transform styled-jsx for rsc and error with client-only condition: #43386
- dynamic = 'error' should only throw if page didn't get exported: #43377
- fix
output: "standalone"returning 500 error on certain pages when built without pages/: #43336 - Fix "apply() is only allowed in ready status (state: idle)" HMR errors: #43242
- Add gSP and gSSP checks for both server and client layers in the SWC transform: #43391
- Make sure the TS plugin works for src/app: #43412
- Remove stack trace from full reload warning: #43453
- Upgrade compiled undici: #43481
- Fix missing cleanup process in flight plugin globals: #43297
- Fix matchers in middleware manifest: #43549
- rsc: bundle legacy head as client component: #43425
- Remove
useStatefromnext/image: #43587 - Group redirect status imports: #43480
- Fix
Failed to copy traced filesfor Edge functions and handle its files with middleware-manifest.json: #43326 - Update next/link default legacyBehavior: #42623
- fix: Dynamic Usage Error when using previewData with generateStaticParams and appDir: #43395
- Minimized runtime errors in app dir: #43511
Documentation Changes
- Add link back to font video in Font docs.: #43440
- docs: update known Safari bug: #43513
- Add yarn berry dependency upgrade example for Next 12 to 13 upgrade documentation.: #43472
- Clarify that publicRuntimeConfig and serverRuntimeConfig do not work with Output File Tracing: #43443
- adding note that edge api routes are not supported with ISR: #43572
- Improve docs for URL Imports: #43615
Example Changes
- chore(examples): Deprecate
cms-strapi: #43325 - Add example commands for creating reproductions: #43375
- updates with-supertokens example: #43379
- Fix
with-docker-composeexample: #43419 - chore(examples): fix CLI commands for MobX examples: #43534
- Simplify and convert
with-vercel-fetchexample to TypeScript: #43403 - chore(examples): reference
mainprop in README.md in Firebase example: #43434 - chore(examples): Update active-class-name example: #43581
- Fix deploy button in with-xata example: #43608
Misc Changes
- Avoid turbo cache miss on root package change: #43309
- Add .pnpm-store to .gitignore: #43366
- Update @next/font/google fonts: #43385
- Catch errors when calculating avg font width: #43503
- chore: update issue verifier: #43339
- chore: fix issue validator
- chore: move comments of issue validator
- chore: hardcode path for issue validator
- chore: add area dropdown to bug report template: #43228
- chore: fix issue verifier issues
- Merge branch 'canary' of https://github.com/vercel/next.js into canary
- chore: fix issue verifier
- chore: don't comment twice
- chore: disable auto-labeling
- Fix "infer pnpm with example" test outside test suite: #43487
- chore: add issue labeler: #43599
- chore: fix issue labeler: #43606
- Changed output mode on app directory test application: #43607
- Fix output: standalone test for app directory: #43618
Credits
Huge thanks to @kwonoj, @hanneslund, @ijjk, @shuding, @DuCanhGH, @chibicode, @artechventure, @JanKaifer, @huozhi, @colinking, @rishabhpoddar, @maxproske, @wyattjoh, @leerob, @alantoa, @Haschikeks, @balazsorban44, @matthew-heath, @AaronJY, @dtinth, @styfle, @leoortizz, @ValentinH, @brvnonascimento, @joshuaslate, @SferaDev, and @timeyoutakeit for helping!
Documentation Changes
- adding note that edge api routes are not supported with ISR: #43572
- Improve docs for URL Imports: #43615
Example Changes
- chore(examples): Update active-class-name example: #43581
- Fix deploy button in with-xata example: #43608
Misc Changes
- chore: add issue labeler: #43599
- chore: fix issue labeler: #43606
- Changed output mode on app directory test application: #43607
- Fix output: standalone test for app directory: #43618
Credits
Huge thanks to @balazsorban44, @joshuaslate, @wyattjoh, @SferaDev, @timeyoutakeit, and @styfle for helping!
Core Changes
- Fix missing cleanup process in flight plugin globals: #43297
- Fix matchers in middleware manifest: #43549
- rsc: bundle legacy head as client component: #43425
- Remove
useStatefromnext/image: #43587 - Group redirect status imports: #43480
- Fix
Failed to copy traced filesfor Edge functions and handle its files with middleware-manifest.json: #43326 - Update next/link default legacyBehavior: #42623
- fix: Dynamic Usage Error when using previewData with generateStaticParams and appDir: #43395
- Minimized runtime errors in app dir: #43511
Documentation Changes
- Add link back to font video in Font docs.: #43440
- docs: update known Safari bug: #43513
- Add yarn berry dependency upgrade example for Next 12 to 13 upgrade documentation.: #43472
- Clarify that publicRuntimeConfig and serverRuntimeConfig do not work with Output File Tracing: #43443
Example Changes
- chore(examples): fix CLI commands for MobX examples: #43534
- Simplify and convert
with-vercel-fetchexample to TypeScript: #43403 - chore(examples): reference
mainprop in README.md in Firebase example: #43434
Misc Changes
- Catch errors when calculating avg font width: #43503
- chore: update issue verifier: #43339
- chore: fix issue validator
- chore: move comments of issue validator
- chore: hardcode path for issue validator
- chore: add area dropdown to bug report template: #43228
- chore: fix issue verifier issues
- Merge branch 'canary' of https://github.com/vercel/next.js into canary
- chore: fix issue verifier
- chore: don't comment twice
- chore: disable auto-labeling
- Fix "infer pnpm with example" test outside test suite: #43487
Credits
Huge thanks to @leerob, @hanneslund, @shuding, @alantoa, @Haschikeks, @balazsorban44, @matthew-heath, @huozhi, @maxproske, @AaronJY, @dtinth, @styfle, @leoortizz, @DuCanhGH, @ValentinH, and @brvnonascimento for helping!
Core Changes
- App directory next/link dynamic href dev error: #43074
- Add
refforwarding fornext/image: #43193 - Always transform styled-jsx for rsc and error with client-only condition: #43386
- dynamic = 'error' should only throw if page didn't get exported: #43377
- fix
output: "standalone"returning 500 error on certain pages when built without pages/: #43336 - Fix "apply() is only allowed in ready status (state: idle)" HMR errors: #43242
- Add gSP and gSSP checks for both server and client layers in the SWC transform: #43391
- Make sure the TS plugin works for src/app: #43412
- Remove stack trace from full reload warning: #43453
- Upgrade compiled undici: #43481
Example Changes
- updates with-supertokens example: #43379
- Fix
with-docker-composeexample: #43419
Misc Changes
- Update @next/font/google fonts: #43385
Credits
Huge thanks to @hanneslund, @JanKaifer, @huozhi, @DuCanhGH, @colinking, @rishabhpoddar, @maxproske, @shuding, and @wyattjoh for helping!
Core Changes
- fix: apply default export interop to pages/_app: #43335
- Fix package resolution issue in app dir: #43349
- Get correct chunks in flight-manifest on Windows: #43334
- Resolve RSC / HTML rendering errors in error overlay: #43332
Example Changes
- chore(examples): Deprecate
cms-strapi: #43325 - Add example commands for creating reproductions: #43375
Misc Changes
- Add .pnpm-store to .gitignore: #43366
Credits
Huge thanks to @chibicode, @artechventure, @shuding, @hanneslund, and @JanKaifer for helping!
Core Changes
- test(integration): allow to run
--turbodev server tests dynamically : #42967 - Ensure loaderFile is included in webpack cache key: #43315
- Improve @next/font error handling: #43298
- Improve RSC plugin to provide better errors: #42435
- fix appDir returning 404 in production with
"output": "standalone": #43268 - Fix outputting un-necessary trace files for edge functions: #43304
Misc Changes
- Avoid turbo cache miss on root package change: #43309
Credits
Huge thanks to @kwonoj, @hanneslund, @shuding, and @DuCanhGH for helping!
Core Changes
- Remove unnecessary async function when preloading async components: #42957
- Add force-static handling for app dir: #43061
- Add experimental outputFileTracingIgnores config: #43103
- Leverage outputFileTracingIgnores for next-server trace as well: #43108
- Remove
unstable_revalidate: #43119 - types: better type definition for internal utils: #43070
- Eagerly build swc binaries on change: #43142
- chore: Update swc_core to
v0.43.23: #42977 - fix(next-swc/relay): make pages directory optional: #43116
- Remove the timestamp query for CSS resources: #43185
- Update experimental skipTrailingSlashRedirect handling: #43201
- Avoid bundling appDir rendering into pages edge SSR bundle: #43184
- Alias esm next document to avoid mismatch react context: #43192
- Fix middleware not executed when pages directory is empty: #43205
- Remove app routes from _devPagesManifest: #43188
- Fix HMR error: "Cannot read properties of null (reading 'length')": #43145
- fix(ts): re-export
PageComponentandLayoutComponenttypes: #43226 - Fix app routes are not correctly matched when src directory is used: #43234
- chore: add
firebase-adminto defaultserverComponentsExternalPackageslist: #43249 - Fix React.cache() in layout/page file: #43187
- build(cargo): bump up turbopack: #43273
- fix(next-swc): aarch64 build: #43275
- Add fallback aliases for React: #43203
- fix: apply default export interop to
next/error: #43238 - Remove unused
use-sync-external-storedependency: #43281 - Imageloader: collect images serverside to include images from staticp…: #41554
- Update precompiled react: #43288
- Resolve next api for layouts to esm for edge runtime: #43302
- Refactor code: #43291
- Show error for invalid page props in the TS plugin: #43300
- docs: add error link when missing
appDir: true: #43293
Documentation Changes
- Add note in next/link docs about anchor props: #43064
- Remove unneeded
asyncin docs.: #43161 - Add JWT example to error page.: #43162
- Updated typo in the documentation: #43160
- Add missing quote in
next/scriptexample: #43196 - Add a note about the auto-created empty directory: #43219
- docs: Add default browserslist configuration as a starting point: #43260
Example Changes
- chore: Updating Tigris example to use stable release: #43058
- examples(with-ant-design): bump antd v5.0.0: #43062
- fix: Wrong link to source in "responsive" image example: #43081
- chore(examples): with-msw update msw: #43224
- Fix With Passport example: #43232
- chore(examples): update Next.js in
with-redux-reducer: #43237 - Updates supertokens example app SSR behaviour: #43218
- docs: add missing AppProps import: #43136
- Convert more jsx/styled-components examples to TypeScript: #43117
- Convert
with-videojs,with-yoga,with-zonesexamples to TypeScript: #43280
Misc Changes
- Fix e2e deploy test for Node.js v18: #43109
- Update tests config: #43204
- fix: create-next-app copies files it shouldn't: #43131
- Add links to PR template: #43239
- Update some flakey test cases: #43247
- Update flakey app HMR tests: #43253
- Add support for next.js development in docker: #43138
Credits
Huge thanks to @hanneslund, @adilansari, @chunsch, @bennettdams, @maxproske, @SukkaW, @kdy1, @orionmiz, @leerob, @shuding, @aziyatali, @NiedziolkaMichal, @huozhi, @colinking, @juliusmarminge, @andykenward, @Yutsuten, @balazsorban44, @FomichRoman, @rishabhpoddar, @arturbien, @ADTC, @JanKaifer, @ijjk, @kwonoj, @joliss, @Andarist, and @Laityned for helping!
Core Changes
- Remove unused
use-sync-external-storedependency: #43281 - Imageloader: collect images serverside to include images from staticp…: #41554
- Update precompiled react: #43288
- Resolve next api for layouts to esm for edge runtime: #43302
- Refactor code: #43291
- Show error for invalid page props in the TS plugin: #43300
- docs: add error link when missing
appDir: true: #43293
Example Changes
- Convert
with-videojs,with-yoga,with-zonesexamples to TypeScript: #43280
Misc Changes
- Add support for next.js development in docker: #43138
Credits
Huge thanks to @JanKaifer, @maxproske, @Andarist, @Laityned, @huozhi, @shuding, and @balazsorban44 for helping!
Core Changes
- build(cargo): bump up turbopack: #43273
- fix(next-swc): aarch64 build: #43275
- Add fallback aliases for React: #43203
- fix: apply default export interop to
next/error: #43238
Documentation Changes
- docs: Add default browserslist configuration as a starting point: #43260
Example Changes
- Convert more jsx/styled-components examples to TypeScript: #43117
Credits
Huge thanks to @kwonoj, @joliss, @shuding, @balazsorban44, and @maxproske for helping!
Core Changes
- fix(ts): re-export
PageComponentandLayoutComponenttypes: #43226 - Fix app routes are not correctly matched when src directory is used: #43234
- chore: add
firebase-adminto defaultserverComponentsExternalPackageslist: #43249 - Fix React.cache() in layout/page file: #43187
Documentation Changes
- Add a note about the auto-created empty directory: #43219
Example Changes
- chore(examples): with-msw update msw: #43224
- Fix With Passport example: #43232
- chore(examples): update Next.js in
with-redux-reducer: #43237 - Updates supertokens example app SSR behaviour: #43218
- docs: add missing AppProps import: #43136
Misc Changes
- Add links to PR template: #43239
- Update some flakey test cases: #43247
- Update flakey app HMR tests: #43253
Credits
Huge thanks to @andykenward, @Yutsuten, @balazsorban44, @FomichRoman, @rishabhpoddar, @arturbien, @shuding, @ADTC, @JanKaifer, and @ijjk for helping!
Core Changes
- fix(next-swc/relay): make pages directory optional: #43116
- Remove the timestamp query for CSS resources: #43185
- Update experimental skipTrailingSlashRedirect handling: #43201
- Avoid bundling appDir rendering into pages edge SSR bundle: #43184
- Alias esm next document to avoid mismatch react context: #43192
- Fix middleware not executed when pages directory is empty: #43205
- Remove app routes from _devPagesManifest: #43188
- Fix HMR error: "Cannot read properties of null (reading 'length')": #43145
Documentation Changes
- Remove unneeded
asyncin docs.: #43161 - Add JWT example to error page.: #43162
- Updated typo in the documentation: #43160
- Add missing quote in
next/scriptexample: #43196
Misc Changes
- Update tests config: #43204
- fix: create-next-app copies files it shouldn't: #43131
Credits
Huge thanks to @orionmiz, @leerob, @shuding, @aziyatali, @NiedziolkaMichal, @huozhi, @hanneslund, @colinking, and @juliusmarminge for helping!
Core Changes
- Remove
unstable_revalidate: #43119 - types: better type definition for internal utils: #43070
- Eagerly build swc binaries on change: #43142
- chore: Update swc_core to
v0.43.23: #42977
Misc Changes
- Fix e2e deploy test for Node.js v18: #43109
Credits
Huge thanks to @maxproske, @SukkaW, and @kdy1 for helping!
Core Changes
- Leverage outputFileTracingIgnores for next-server trace as well: #43108
Core Changes
- Add experimental outputFileTracingIgnores config: #43103
Core Changes
- Remove unnecessary async function when preloading async components: #42957
- Add force-static handling for app dir: #43061
Documentation Changes
- Add note in next/link docs about anchor props: #43064
Example Changes
- chore: Updating Tigris example to use stable release: #43058
- examples(with-ant-design): bump antd v5.0.0: #43062
- fix: Wrong link to source in "responsive" image example: #43081
Credits
Huge thanks to @hanneslund, @adilansari, @chunsch, and @bennettdams for helping!
Core Changes
- Show link to the docs for route segment config options: #42779
- fix: Fix regression of swc minifier: #42790
- Add additional item to RSC payload, preparing for head.tsx on navigation: #42791
- Use window.location directly instead of parsing into URL: #42888
- feat(next-swc/relay): Add
javascriptto language: #42894 - types(#42003): better typing for
next/link: #42117 - Ensure query is provided correctly with middleware rewrites: #42818
- feat(next/swc): allow to run custom turbopack binary: #42656
- fix: Error: NEXT_REDIRECT crashing server in prod: #42793
- Update caching for swc turbo builds: #42929
- Handle head.js on client-side navigation: #42904
- feat(jest): respect
transpilePackagesin tests: #42987 - App files ending with page registred as page files: #42996
- Allow generateStaticParams to be a synchronous function in app directory: #42942
- chore(eslint-config-next): bump eslint-import-resolver-typescript: #43010
- Ensure next.config.js function is handled for turbo: #43015
- Fix app page check on windows: #43022
- Add middleware prefetching config: #42936
- Fix middleware prefetch cases: #43056
- Ensure backslash is correctly handled in find-page-file: #43057
- Fix app render: escape segment value #42626: #42823
Documentation Changes
- docs: fix middleware docs cookie example: #42816
- Update docs/advanced-features/debugging.md: #42842
- docs(edge-api-routes): fixes example: #42903
- Update SFCC example to use TypeScript +
@next/font: #42865 - Add more details to invalid-next-config doc: #42917
- typo: #42968
- Document regions config for experimental-edge: #43009
- docs: Add examples of using multiple weights and styles: #43031
Example Changes
- chore(examples):
next/future/image->next/image: #42794 - docs(examples): auth0 update callback URL: #42855
- Updates Apollo Server Examples to use Apollo Server 4 & @as-integrations/next: #42771
- Improve
with-algolia-react-instantsearchexample and convert to TypeScript: #42617 - Convert blog cover images to next/image: #42908
- Make cover image full width: #42916
- Convert
with-app-layoutexample to TypeScript: #42930 - Tigris example with Next.js: #42662
- feat(examples): with-grafbase: #42898
- docs(examples): add postgres.js example: #42962
- Remove
with-atlaskitexample: #42973 - Remove
with-carbon-componentsexample: #42976 - Remove
with-cerebralexample: #42980 - Remove
swcMinifyoption from example configs: #43012 - Convert
with-cssed,with-csx,with-styled-jsxexamples to TypeScript: #43018 - feat(examples): use experimental edge runtime with grafbase: #42992
Misc Changes
- Update bundle analyzer dependency and output: #42797
- Update to latest version of turbo CLI: #42803
- Fix cache collision for swc darwin: #42960
- Fix build-wasm-dev docs skip: #42961
- Update deployment used for e2e test: #42969
- test(integration): update test fixture: #42966
- Fix test retry cleanup: #43011
- Update test wasm timeout: #43014
- @next/font/google variable fonts without weight range: #43036
- Update build-wasm to checkout directly: #43054
Credits
Huge thanks to @shuding, @balazsorban44, @kdy1, @huozhi, @reyrodrigez, @andykenward, @idoob, @maxproske, @KoltonG, @timneutkens, @feugy, @leerob, @steven-tey, @SukkaW, @kwonoj, @adilansari, @hanneslund, @notrab, @zekicaneksi, @silvioprog, @joulev, @chanceaclark, and @Marcus-Rise for helping!
Core Changes
- Fix middleware prefetch cases: #43056
- Ensure backslash is correctly handled in find-page-file: #43057
- Fix app render: escape segment value #42626: #42823
Misc Changes
- Update build-wasm to checkout directly: #43054
Credits
Huge thanks to @Marcus-Rise for helping!
Core Changes
- Fix app page check on windows: #43022
- Add middleware prefetching config: #42936
Documentation Changes
- docs: Add examples of using multiple weights and styles: #43031
Example Changes
- Convert
with-cssed,with-csx,with-styled-jsxexamples to TypeScript: #43018 - feat(examples): use experimental edge runtime with grafbase: #42992
Misc Changes
- @next/font/google variable fonts without weight range: #43036
Credits
Huge thanks to @hanneslund, @maxproske, and @notrab for helping!
Core Changes
- Handle head.js on client-side navigation: #42904
- feat(jest): respect
transpilePackagesin tests: #42987 - App files ending with page registred as page files: #42996
- Allow generateStaticParams to be a synchronous function in app directory: #42942
- chore(eslint-config-next): bump eslint-import-resolver-typescript: #43010
- Ensure next.config.js function is handled for turbo: #43015
Documentation Changes
- typo: #42968
- Document regions config for experimental-edge: #43009
Example Changes
- docs(examples): add postgres.js example: #42962
- Remove
with-atlaskitexample: #42973 - Remove
with-carbon-componentsexample: #42976 - Remove
with-cerebralexample: #42980 - Remove
swcMinifyoption from example configs: #43012
Misc Changes
- Update deployment used for e2e test: #42969
- test(integration): update test fixture: #42966
- Fix test retry cleanup: #43011
- Update test wasm timeout: #43014
Credits
Huge thanks to @zekicaneksi, @kwonoj, @silvioprog, @maxproske, @timneutkens, @balazsorban44, @hanneslund, @joulev, and @chanceaclark for helping!
Example Changes
- feat(examples): with-grafbase: #42898
Misc Changes
- Fix cache collision for swc darwin: #42960
- Fix build-wasm-dev docs skip: #42961
Credits
Huge thanks to @notrab for helping!
Core Changes
- Add additional item to RSC payload, preparing for head.tsx on navigation: #42791
- Use window.location directly instead of parsing into URL: #42888
- feat(next-swc/relay): Add
javascriptto language: #42894 - types(#42003): better typing for
next/link: #42117 - Ensure query is provided correctly with middleware rewrites: #42818
- feat(next/swc): allow to run custom turbopack binary: #42656
- fix: Error: NEXT_REDIRECT crashing server in prod: #42793
- Update caching for swc turbo builds: #42929
Documentation Changes
- Update docs/advanced-features/debugging.md: #42842
- docs(edge-api-routes): fixes example: #42903
- Update SFCC example to use TypeScript +
@next/font: #42865 - Add more details to invalid-next-config doc: #42917
Example Changes
- docs(examples): auth0 update callback URL: #42855
- Updates Apollo Server Examples to use Apollo Server 4 & @as-integrations/next: #42771
- Improve
with-algolia-react-instantsearchexample and convert to TypeScript: #42617 - Convert blog cover images to next/image: #42908
- Make cover image full width: #42916
- Convert
with-app-layoutexample to TypeScript: #42930 - Tigris example with Next.js: #42662
Misc Changes
- Update to latest version of turbo CLI: #42803
Credits
Huge thanks to @andykenward, @idoob, @maxproske, @KoltonG, @timneutkens, @feugy, @leerob, @steven-tey, @kdy1, @SukkaW, @kwonoj, @adilansari, and @hanneslund for helping!
Core Changes
- bump @typescript-eslint/parser version to support TS 4.8: #42439
- chore: Update swc_core to
v0.40.40: #42326 - Add telemetry for turbotrace: #42486
- Fix undici warning in Node.js 18: #42477
- Ensure RSC is detecting correctly during revalidate: #42508
- fix: correctly mention
generateStaticParamsin error: #42524 - Re-enable sandbox cache and update AsyncLocalStorage usage: #42547
- Check properly whether SWC is used or not when using forceSwcTransforms: #42531
- Show inlined error if the "use client" directive is not before other statements/expressions: #42507
- Refactor error codes in the TS plugin: #42585
- Fix server html insertion target: #42591
next/compat/router: #42502- Fix scrolling on router.refresh: #42583
- Fix relative TypeScript path in monorepos: #42586
- Aggregate updates using
addStatusHandlerandPromise.resolveinstead ofsetTimeout: #42350 - fix(next/dev): bubble up unhandled exception from --turbo: #42594
- Rename RSC and Router headers: #42482
- Ensure build trace ignores apply correctly when nested: #42606
- Include @prisma/client in default external packages: #42624
- Replace global with globalThis: #42627
- Colocate styles with special entries: #42506
- Add lazy initialize of router cache nodes: #42629
- Add telemetry for @next/font: #42579
- Also create head when creating root layout: #42571
- feat: add --no-mangling to next build + fix --profile option: #42633
- update react builtin deps for next channel: #42639
- Ensure skip normalize is handled correctly: #42642
- @next/font/google fetch error dev: #42637
- Add missing matcher support: #42660
- Remove useless async declaration and replace regexp to plain string in AMP postProcessor: #42495
- @next/font error messages: #42689
- Adopt script rejection pattern for link onerror.: #42645
- Fix @next/font imports from outside of the root directory: #42678
- Ensure appDir is included in webpack configVars: #42710
- Fix replaceAll usage in post-process: #42714
- Use import to load page and layout: #42325
- Alias next public api to esm on edge runtime: #42709
- fix: publish compat folder: #42613
- Change condition to check for string attribute in lint rules utility function: #42625
- Fix as option with optional catch all routes url object syntax: #42355
- fix comma splice in
verifyRootLayout.ts: #42324 - build(next-swc): update turbopack to latest: #42733
- @next/font return types: #42753
- Eagerly bundle external ESM dependencies for pages: #42741
- Handle hydration replaceState for static page with searchParams: #42744
- Add test case for image generation: #42693
- Don't pushState when already on the url: #42735
- fix: enable emotion import map: #42750
- Fix resolving for esm package with only exports.import condition: #42767
- Track page counts during builds: #42766
Documentation Changes
- Fix Static Generation link on Pages page: #42462
- Docs: Fix invalid tsconfig importSource syntax: #42465
- Update response-helpers.md: #42378
- react-version.md: Update minimum React version for Next.js 13: #42490
- Included negative matcher docs in upgrade guide: #42489
- Edit Upgrade docs to correct new-link codemod: #42501
- Update turbopack docs to use
create-next-app@latest: #42528 - Remove all custom server integration examples: #42549
- [docs] Document middleware response changes: #42295
- Convert
with-absolute-importsexample to TypeScript: #42529 - docs/next/link: Mention middleware + dynamic routes changes: #42607
- fix typo in api-reference next/sever: #42669
- font api updates: #42724
Example Changes
- Include app directory in Tailwind config: #42407
- Removed duplicate MONGODB_URI check in example: #42518
- Convert
middleware-matcherexample to TypeScript: #42520 - Convert
custom-server-expressexample to TypeScript: #42110 - Example: fixed tailwind ver in readme: #42551
- (with-supertokens example): Fixes infinite redirect issue for unauthorised error during SSR: #42634
- chore: update scripts to work on windows: #42632
- example fix url: #42695
Misc Changes
- Reuse file when shared by several google font variants: #42480
- Fix replaceAll usage in font loader: #42550
- Fix default value handling for CNA in CI: #42596
- chore: encourage adding reproductions to issues: #42667
- Fix CSS handling rules: #42615
- Update to latest version of turbo CLI: #42711
Credits
Huge thanks to @lucasassisrosa, @kdy1, @ijjk, @jakemstar, @lachlanjc, @ws-jm, @davidnx, @steven-tey, @Brooooooklyn, @hanneslund, @josephcsoti, @fantaasm, @timneutkens, @sivtu, @leerob, @balazsorban44, @maxproske, @rightones, @bot08, @shuding, @huozhi, @wyattjoh, @ethomson, @alexkirsz, @kwonoj, @MaxLeiter, @rishabhpoddar, @feedthejim, @gnoff, @moetazaneta, @superbahbi, @NOCELL, @ademilter, @nathanhammond, @imranbarbhuiya, @mrkldshv, @cvolant, @hughlilly, @ismaelrumzan, and @sQVe for helping!
Core Changes
- build(next-swc): update turbopack to latest: #42733
- @next/font return types: #42753
- Eagerly bundle external ESM dependencies for pages: #42741
- Handle hydration replaceState for static page with searchParams: #42744
- Add test case for image generation: #42693
- Don't pushState when already on the url: #42735
- fix: enable emotion import map: #42750
- Fix resolving for esm package with only exports.import condition: #42767
- Track page counts during builds: #42766
Documentation Changes
- font api updates: #42724
Credits
Huge thanks to @kwonoj, @hanneslund, @shuding, @timneutkens, @ismaelrumzan, @sQVe, and @huozhi for helping!
Core Changes
- Remove useless async declaration and replace regexp to plain string in AMP postProcessor: #42495
- @next/font error messages: #42689
- Adopt script rejection pattern for link onerror.: #42645
- Fix @next/font imports from outside of the root directory: #42678
- Ensure appDir is included in webpack configVars: #42710
- Fix replaceAll usage in post-process: #42714
- Use import to load page and layout: #42325
- Alias next public api to esm on edge runtime: #42709
- fix: publish compat folder: #42613
- Change condition to check for string attribute in lint rules utility function: #42625
- Fix as option with optional catch all routes url object syntax: #42355
- fix comma splice in
verifyRootLayout.ts: #42324
Documentation Changes
- fix typo in api-reference next/sever: #42669
Example Changes
- example fix url: #42695
Misc Changes
- Fix CSS handling rules: #42615
- Update to latest version of turbo CLI: #42711
Credits
Huge thanks to @superbahbi, @NOCELL, @hanneslund, @ademilter, @nathanhammond, @shuding, @huozhi, @imranbarbhuiya, @mrkldshv, @cvolant, and @hughlilly for helping!
Core Changes
- Include @prisma/client in default external packages: #42624
- Replace global with globalThis: #42627
- Colocate styles with special entries: #42506
- Add lazy initialize of router cache nodes: #42629
- Add telemetry for @next/font: #42579
- Also create head when creating root layout: #42571
- feat: add --no-mangling to next build + fix --profile option: #42633
- update react builtin deps for next channel: #42639
- Ensure skip normalize is handled correctly: #42642
- @next/font/google fetch error dev: #42637
- Add missing matcher support: #42660
Example Changes
- (with-supertokens example): Fixes infinite redirect issue for unauthorised error during SSR: #42634
- chore: update scripts to work on windows: #42632
Misc Changes
- chore: encourage adding reproductions to issues: #42667
Credits
Huge thanks to @shuding, @huozhi, @timneutkens, @rishabhpoddar, @hanneslund, @feedthejim, @gnoff, @moetazaneta, and @balazsorban44 for helping!
Core Changes
- fix: correctly mention
generateStaticParamsin error: #42524 - Re-enable sandbox cache and update AsyncLocalStorage usage: #42547
- Check properly whether SWC is used or not when using forceSwcTransforms: #42531
- Show inlined error if the "use client" directive is not before other statements/expressions: #42507
- Refactor error codes in the TS plugin: #42585
- Fix server html insertion target: #42591
next/compat/router: #42502- Fix scrolling on router.refresh: #42583
- Fix relative TypeScript path in monorepos: #42586
- Aggregate updates using
addStatusHandlerandPromise.resolveinstead ofsetTimeout: #42350 - fix(next/dev): bubble up unhandled exception from --turbo: #42594
- Rename RSC and Router headers: #42482
- Ensure build trace ignores apply correctly when nested: #42606
Documentation Changes
- Update turbopack docs to use
create-next-app@latest: #42528 - Remove all custom server integration examples: #42549
- [docs] Document middleware response changes: #42295
- Convert
with-absolute-importsexample to TypeScript: #42529 - docs/next/link: Mention middleware + dynamic routes changes: #42607
Example Changes
- Removed duplicate MONGODB_URI check in example: #42518
- Convert
middleware-matcherexample to TypeScript: #42520 - Convert
custom-server-expressexample to TypeScript: #42110 - Example: fixed tailwind ver in readme: #42551
Misc Changes
- Fix replaceAll usage in font loader: #42550
- Fix default value handling for CNA in CI: #42596
Credits
Huge thanks to @sivtu, @leerob, @balazsorban44, @maxproske, @rightones, @bot08, @shuding, @huozhi, @wyattjoh, @ethomson, @timneutkens, @alexkirsz, @kwonoj, and @MaxLeiter for helping!
Core Changes
- bump @typescript-eslint/parser version to support TS 4.8: #42439
- chore: Update swc_core to
v0.40.40: #42326 - Add telemetry for turbotrace: #42486
- Fix undici warning in Node.js 18: #42477
- Ensure RSC is detecting correctly during revalidate: #42508
Documentation Changes
- Fix Static Generation link on Pages page: #42462
- Docs: Fix invalid tsconfig importSource syntax: #42465
- Update response-helpers.md: #42378
- react-version.md: Update minimum React version for Next.js 13: #42490
- Included negative matcher docs in upgrade guide: #42489
- Edit Upgrade docs to correct new-link codemod: #42501
Example Changes
- Include app directory in Tailwind config: #42407
Misc Changes
- Reuse file when shared by several google font variants: #42480
Credits
Huge thanks to @lucasassisrosa, @kdy1, @jakemstar, @lachlanjc, @ws-jm, @davidnx, @steven-tey, @Brooooooklyn, @hanneslund, @josephcsoti, @fantaasm, and @timneutkens for helping!
Core Changes
- Hybrid App Hooks Support: #41767
- Add sqlite3 to the default list of server externals: #42294
- Improve the error message when custom export fields are used in an entry: #42221
- Add preload for layouts / components: #41519
- Add mongodb to default server externals: #42313
- refactor(next/turbo): consolidate turbo devserver logic: #42315
- [middleware] add tests for body reading methods #37980: #41718
- Handle dynamic css-in-js styles under suspense: #42293
- Fix page folder being wrongly resolved as page file: #42348
- Update dev process exit handling: #42367
- Ensure edge runtime doesn't propagate
cacheon fetch as Cloudflare doesn't support it.: #42362 - Add
prismato the external package list: #42323 - Local font family name: #42286
- useSelectedLayoutSegment at the current level: #42299
- Stop writing window specific paths in vscode configuration: #42338
- Ensure Undici is enabled for appDir in all cases: #42382
- fix: usage of wasm in an appDir page file using the edge runtime: #41689
- feat(next/mdx): support experimental mdx-rs loader: #41919
- Fix CSS modules imports not collected due to race conditions: #42392
- Fix entry creation on Windows: #42421
- Mock @next/font when using next/jest: #42413
- Avoid breaking useRouter() type change: #42430
- Do not strip loader arg in dynamic for server components: #42426
- Clarify app and pages file conflicting files: #42415
- Change
usePathnameto returnstring | null: #42380 - Fix undici warning showing unexpectedly: #42444
- Remove static generation bail-out from usePathname: #42440
Documentation Changes
- docs(script): explain expected
next/scriptbehavior on client-side navigation: #42260 - Add
pathfor information in cookie setting: #42146 - Update wording to remove beta FUD and keep evergreen: #42337
- update font optimization page: #42266
- Fix broken link on the upgrading guide: #42340
- Fix typo: docs/api-reference/next/font.md: #42344
- Update getting-started.md: #42353
- Fix typo in usage of onError in script.md: #42368
- Fix negative lookahead example in middleware.md: #42320
- Update customizing-postcss-config.md: #42331
- update middleware cookies example: #42341
- Fix Docs API Reference font.md broken link: #42418
- fixed missing
<Link />keyword: #42422 - Fix docs for next/image upgrade guide: #42424
- Revert font-optimization.md syntax: #42403
- Fix invalid markdown lang: #42442
Misc Changes
- Update app-dir E2E tests for deploy: #42269
- create-next-app: add head to template: #42357
- Update flakey SIGINT test: #42370
- Fix typo in app / hello.js template: #42335
- [eslint-plugin] Stop warning for head element in app/layout on Windows: #42336
- Update default eslint choice for CNA setup: #42371
- Update swc builds: #42393
- Add meta tag to default app template: #42394
- examples: Fix with-turbopack typo: #42410
- Google fonts single request: #42406
Credits
Huge thanks to @wyattjoh, @shuding, @ijjk, @timneutkens, @kwonoj, @balazsorban44, @Kikobeats, @BLUE-DEVIL1134, @timeyoutakeit, @huozhi, @ismaelrumzan, @mnajdova, @aleksa-codes, @delbaoliveira, @gruz0, @meenie, @danmindru, @inokawa, @hanneslund, @oBusk, @BRKalow, @devvspaces, @lucasassisrosa, @adictonator, @m7yue, @styfle, and @chibicode for helping!
Core Changes
- Fix entry creation on Windows: #42421
- Mock @next/font when using next/jest: #42413
- Avoid breaking useRouter() type change: #42430
- Do not strip loader arg in dynamic for server components: #42426
- Clarify app and pages file conflicting files: #42415
- Change
usePathnameto returnstring | null: #42380 - Fix undici warning showing unexpectedly: #42444
- Remove static generation bail-out from usePathname: #42440
Documentation Changes
- Fix Docs API Reference font.md broken link: #42418
- fixed missing
<Link />keyword: #42422 - Fix docs for next/image upgrade guide: #42424
- Revert font-optimization.md syntax: #42403
- Fix invalid markdown lang: #42442
Misc Changes
- Add meta tag to default app template: #42394
- examples: Fix with-turbopack typo: #42410
- Google fonts single request: #42406
Credits
Huge thanks to @shuding, @lucasassisrosa, @adictonator, @m7yue, @styfle, @hanneslund, @chibicode, @huozhi, @timneutkens, and @wyattjoh for helping!
Misc Changes
- Update swc builds: #42393
Core Changes
- Hybrid App Hooks Support: #41767
- Add sqlite3 to the default list of server externals: #42294
- Improve the error message when custom export fields are used in an entry: #42221
- Add preload for layouts / components: #41519
- Add mongodb to default server externals: #42313
Misc Changes
- Update app-dir E2E tests for deploy: #42269
Credits
Huge thanks to @wyattjoh, @shuding, and @timneutkens for helping!
Core Changes
- Rest of options in experimental.turbotrace and documentation: #41817
- Fix revalidate check in client component: #41917
- Add data attribute to div to distinguish it: #41889
- Fix lint cli help: #41783
- [Doc] Update inline documentation for next/link: #41871
- feat(edge): split
NextCookiestoRequestCookiesandResponseCookies: #41526 - Show error message when using legacy props on new
next/image: #41930 - Upgrade Edge Runtime: #41987
- Revert "Include frameworks in main-app": #41997
- fix(next/dev): do not suppress error from bindings: #41989
- Fix page static info extractor for app dir: #42001
- Add never return type for redirect() and notFound(): #42009
- Google fonts multiple weights & styles: #42008
- Merge app internal chunk into main chunk for layouts: #41902
- Fix build type error of page params: #42019
- Allow disabling Strict mode in app: #41894
- Update react next channel: #42021
- Fix turbo custom config detection: #42022
- Fix css modules imports in client components: #42077
- fix: Data URL images with 'fill' are always triggering 'missing sizes' warning: #42030
- types: leverage webpack types and remove casting: #42104
- Fix CSS imports from outside of the app dir when src folder is present: #42108
- Remove react root condition and always use concurrent mode: #42141
- Keep react-dom/server.node in precompiled: #42138
- Warn when legacy prop detected on
next/image: #42102 - Fix failing codemod test
url-to-withrouter: #42109 - Improve TypeScript plugin error when the configuration is not statically analyzable: #42062
- Ensure app revalidate has correct default: #42168
- Update turbo crates: #42014
- Update vscode config handling: #42169
- fix: allow resolving large JSON data in server components: #42025
- issue-41925 fix: skip duplicate props when transferring props from anchor to link: #42158
- Ensure we detect config correctly with turbo flag: #42201
- update turbo version: #42228
- Fix CSS modules imports from outside of the root directory: #42106
- Default font config fix: #42235
- Multiple local font weights and styles: #42232
- Optimize bundle size for appDir: #42252
- Add event for dev process stop: #42255
- Add E2E test for @vercel/og API route: #42258
Documentation Changes
- [Doc] Update Next.js + Static Web Apps: #41857
- Update the documentation.: #41758
- Fix invalid markdown lang: #41926
- Fix more incorrect markdown langs: #41939
- Update font links and add missing error: #41910
- docs: Update the version history in the middleware page: #41949
- Fix typo: docs/basic-features/font-optimization.md: #41967
- Fix broken link in
@next/fontdocs: #42002 - Add link from
next/imagedocs to example: #42020 - Fix typo.: #42067
- docs: update version install commands in upgrade guide: #42073
- Update font-optimization.md: #42036
- added @latest to codemods page: #42091
- docs: clarify env inclusion in bundles: #41950
- Correcting documentation: #42179
- feat(create-next-app): interactive mode;
--js, --tswith appDir support; enhanced testing: #42012 - Adding note about beta docs: #42230
- Add prompt for ESLint to CNA: #42218
- Escape HTML on " with child" page: #42114
Example Changes
- Add turbopack example: #41789
- examples: Update turbopack: #41793
- examples: Remove turbo.json from turbopack example: #41794
- example: add postcss as with-turbopack example devDep: #41795
- Update with-supertokens example: #41802
- chore: remove
swcMinify: trueas it's the new default.: #41877 - Update link in Turbopack example.: #41876
- fix
anytype in examplewith-turbopack: #41798 - Update with-aws-amplify with TypeScript: #41815
- Convert many examples to TypeScript: #41825
- Fixed errors at with-passport-and-next-connect.: #41897
- chore(examples): use
next@latestin all examples: #41922 - chore: update example dev script: #41904
- Update README.md: #41959
- Fix benchmark link typo in Turbopack example: #42064
- Update Examples to use React 18: #42027
- chore(examples): fix
with-aphroditeexapmle: #42078 - chore(examples): move
appdirectories: #42094 - Broken link in example page: #42135
- Fix typo in importing counterReducer: #42162
- Run next/link codemod for Next.js 13 on examples: #41913
- Fix next/link codemod errors in with-turbopack: #42203
Misc Changes
- Update Cargo.lock file
- fix example command in issue template for create-next-app : #41803
- Remove swcMinify: true since this is 13's default: #41869
- test(dev): support to run test with --turbo: #41908
- docs: clarify PR template instructions: #41957
- Update e2e test for app-dir edge: #42015
- [docs] Fix Grammar in Step 8.: #42018
- Fix turbo css-modules test: #42103
- Enhanced grammar.: #42148
- grammar fix in adding-examples README.: #42152
- [docs] Enhanced grammar in building README.: #42155
- Fix typo
pnpm-lock.yamin.prettierignore_staged: #42212 - docs(create-next-app): copy JJ's changes from #42012 to package-level README: #42217
- Update failing e2e middleware response test: #42256
Credits
Huge thanks to @jaredpalmer, @ijjk, @Brooooooklyn, @koenpunt, @rishabhpoddar, @karlhorky, @balazsorban44, @leerob, @NekoChanTaiwan, @chrisipanaque, @Reshmi-Sriram, @maxproske, @Kosai106, @timneutkens, @kwonoj, @hanneslund, @bertho-zero, @abayomi185, @styfle, @Kikobeats, @nuta, @yasath, @shuding, @serkanbektas, @steven-tey, @jimCresswell, @alpha-xek, @huozhi, @LorenzoBloedow, @iiegor, @craigwheeler, @peraltafederico, @teobler, @ismaelrumzan, @IngoVals, @jaykch, @artdevgame, @ishaqibrahimbot, @ctjlewis, @wxh06, @sokra, @timeyoutakeit, and @DuncanOgle for helping!
Core Changes
- Optimize bundle size for appDir: #42252
- Add event for dev process stop: #42255
- Add E2E test for @vercel/og API route: #42258
Documentation Changes
- Escape HTML on " with child" page: #42114
Misc Changes
- Update failing e2e middleware response test: #42256
Credits
Huge thanks to @DuncanOgle and @timneutkens for helping!
Core Changes
- issue-41925 fix: skip duplicate props when transferring props from anchor to link: #42158
- Ensure we detect config correctly with turbo flag: #42201
- update turbo version: #42228
- Fix CSS modules imports from outside of the root directory: #42106
- Default font config fix: #42235
- Multiple local font weights and styles: #42232
Documentation Changes
- Correcting documentation: #42179
- feat(create-next-app): interactive mode;
--js, --tswith appDir support; enhanced testing: #42012 - Adding note about beta docs: #42230
- Add prompt for ESLint to CNA: #42218
Example Changes
- Run next/link codemod for Next.js 13 on examples: #41913
- Fix next/link codemod errors in with-turbopack: #42203
Misc Changes
- Fix typo
pnpm-lock.yamin.prettierignore_staged: #42212 - docs(create-next-app): copy JJ's changes from #42012 to package-level README: #42217
Credits
Huge thanks to @artdevgame, @timneutkens, @ishaqibrahimbot, @ctjlewis, @wxh06, @sokra, @timeyoutakeit, @shuding, and @hanneslund for helping!
Core Changes
- fix: allow resolving large JSON data in server components: #42025
Credits
Huge thanks to @balazsorban44 for helping!
Core Changes
- Show error message when using legacy props on new
next/image: #41930 - Upgrade Edge Runtime: #41987
- Revert "Include frameworks in main-app": #41997
- fix(next/dev): do not suppress error from bindings: #41989
- Fix page static info extractor for app dir: #42001
- Add never return type for redirect() and notFound(): #42009
- Google fonts multiple weights & styles: #42008
- Merge app internal chunk into main chunk for layouts: #41902
- Fix build type error of page params: #42019
- Allow disabling Strict mode in app: #41894
- Update react next channel: #42021
- Fix turbo custom config detection: #42022
- Fix css modules imports in client components: #42077
- fix: Data URL images with 'fill' are always triggering 'missing sizes' warning: #42030
- types: leverage webpack types and remove casting: #42104
- Fix CSS imports from outside of the app dir when src folder is present: #42108
- Remove react root condition and always use concurrent mode: #42141
- Keep react-dom/server.node in precompiled: #42138
- Warn when legacy prop detected on
next/image: #42102 - Fix failing codemod test
url-to-withrouter: #42109 - Improve TypeScript plugin error when the configuration is not statically analyzable: #42062
- Ensure app revalidate has correct default: #42168
- Update turbo crates: #42014
- Update vscode config handling: #42169
Documentation Changes
- docs: Update the version history in the middleware page: #41949
- Fix typo: docs/basic-features/font-optimization.md: #41967
- Fix broken link in
@next/fontdocs: #42002 - Add link from
next/imagedocs to example: #42020 - Fix typo.: #42067
- docs: update version install commands in upgrade guide: #42073
- Update font-optimization.md: #42036
- added @latest to codemods page: #42091
- docs: clarify env inclusion in bundles: #41950
Example Changes
- Update README.md: #41959
- Fix benchmark link typo in Turbopack example: #42064
- Update Examples to use React 18: #42027
- chore(examples): fix
with-aphroditeexapmle: #42078 - chore(examples): move
appdirectories: #42094 - Broken link in example page: #42135
- Fix typo in importing counterReducer: #42162
Misc Changes
- docs: clarify PR template instructions: #41957
- Update e2e test for app-dir edge: #42015
- [docs] Fix Grammar in Step 8.: #42018
- Fix turbo css-modules test: #42103
- Enhanced grammar.: #42148
- grammar fix in adding-examples README.: #42152
- [docs] Enhanced grammar in building README.: #42155
Credits
Huge thanks to @styfle, @Kikobeats, @nuta, @yasath, @shuding, @serkanbektas, @steven-tey, @kwonoj, @jimCresswell, @timneutkens, @hanneslund, @alpha-xek, @huozhi, @LorenzoBloedow, @iiegor, @craigwheeler, @balazsorban44, @peraltafederico, @teobler, @ismaelrumzan, @IngoVals, and @jaykch for helping!
Core Changes
- Rest of options in experimental.turbotrace and documentation: #41817
- Fix revalidate check in client component: #41917
- Add data attribute to div to distinguish it: #41889
- Fix lint cli help: #41783
- [Doc] Update inline documentation for next/link: #41871
- BREAKING CHANGE: feat(edge): split
NextCookiestoRequestCookiesandResponseCookies: #41526
Documentation Changes
- [Doc] Update Next.js + Static Web Apps: #41857
- Update the documentation.: #41758
- Fix invalid markdown lang: #41926
- Fix more incorrect markdown langs: #41939
- Update font links and add missing error: #41910
Example Changes
- Add turbopack example: #41789
- examples: Update turbopack: #41793
- examples: Remove turbo.json from turbopack example: #41794
- example: add postcss as with-turbopack example devDep: #41795
- Update with-supertokens example: #41802
- chore: remove
swcMinify: trueas it's the new default.: #41877 - Update link in Turbopack example.: #41876
- fix
anytype in examplewith-turbopack: #41798 - Update with-aws-amplify with TypeScript: #41815
- Convert many examples to TypeScript: #41825
- Fixed errors at with-passport-and-next-connect.: #41897
- chore(examples): use
next@latestin all examples: #41922 - chore: update example dev script: #41904
Misc Changes
- Update Cargo.lock file
- fix example command in issue template for create-next-app : #41803
- Remove swcMinify: true since this is 13's default: #41869
- test(dev): support to run test with --turbo: #41908
Credits
Huge thanks to @jaredpalmer, @Brooooooklyn, @koenpunt, @rishabhpoddar, @karlhorky, @balazsorban44, @leerob, @NekoChanTaiwan, @chrisipanaque, @Reshmi-Sriram, @maxproske, @Kosai106, @timneutkens, @kwonoj, @hanneslund, @bertho-zero, and @abayomi185 for helping!
Core Changes
- Use resolved url in flight entry loader: #40697
- Handle redirects in new router: #40396
- Combine redirect function in new router: #40717
- fix: InferGetServerSidePropsType and InferGetStaticPropsType: #40635
- Update to leverage AsyncLocalStorage for app static handling: #40727
- Change flight querystring to header: #40752
- Improved bundling strategy for the server graph: #40739
- Remove unnecessary experimental flag: #40766
- next-swc: add next-font-loaders to crates/core: #40221
- Add next font package: #40227
- Strip internal pages for pagesDir in app edge ssr: #40776
- Add support for font loaders: #40746
- Set
__NEXT_NEW_LINK_BEHAVIORin Jest tests whennewNextLinkBehavioris true: #40702 - Add handling for 404 in new router: #40787
- Fix alias paths for bundling: #40800
- Fix required server files for font loader manifest: #40784
- Add local font loader: #40801
- Update error handling during app static generation: #40823
- Handle redirect in same way as 404 in new router: #40796
- build: upgrade edge-runtime: #40788
- Allow export const in font loader: #40836
- chore: Update swc: #40832
- Update app-router options type: #40862
- Flight client navigation error: #40861
- Use startTransition for hydrateRoot to opt-in to non-blocking hydration: #40874
- Add
optoutServerComponentsBundleoption: #40770 - Apply #40833: #40872
- Upgrade react@experimental: #40885
- Update handling of redirect/404 throw to cross server->client boundary: #40890
- Update pre-compiled: #40914
- Update font loader output path: #40868
- Disable head element lint rule for appDir: #40921
- Should resolve esm external module imports on server: #40865
- edge-ssr: bundle next/dist as ESM for better tree-shaking: #40251
- Improve types for
<Image />andresponseLimit: #40863 - chore: Update swc: #40928
- Ensure skipClientCache is honored for router.push: #40932
- Fix bundling and module resolution in the server layer: #40818
- Handle loading returning undefined: #40938
- Fix SWC loader ignore for the server layer when Babel is used: #40939
- Code refactoring for webpack-config: #40942
- Merge e2e test node_modules: #40926
- Rename 404 -> not-found for new router: #40941
- remove reducer from server bundle: #40959
- [edge] serialize custom config to middleware-manifest: #40881
- Font loader support in app: #40898
- docs: add inline documentation for Link props: #40855
- feat(experimental): option to polyfill
fetchusingundiciin Node.js <18: #40318 - Update return shape of generateStaticParams: #40965
- remove legacy transform code: #40966
- Revert "edge-ssr: bundle next/dist as ESM for better tree-shaking (#40251): #40967
- Update to use HEAD request for middleware query hydration: #40973
- Revert "Merge e2e test node_modules (#40926)": #40974
- edge-ssr: bundle next/dist as ESM for better tree-shaking (#40251): #40980
- Rename flight parameters to rsc/next: #40979
- Remove outdated warning: #40988
- misc: add MANGLING_DEBUG option: #40958
- Fix wrong code condition used when bundling the server: #40987
- Move pagesDir handling out of wrappedRender: #40995
- Fix unused CSS module imports are tracked on the server: #40996
- Skip creating virtual app client entry for pages: #41000
- chore: remove unsless @ts-ignore: #40992
- Add support for fallback font and css variable for font/local: #40990
- Use throw to trigger Suspense to avoid use() in reducer warning: #40950
- chore: Update swc: #40983
- Revert "chore: Update swc": #41015
- Docs for experimental font optimization
adjustFontFallbacks: #40771 - Drop legacy React DOM Server in Edge runtime: #40018
- misc: make useReducerWithDevtools noop on server: #41019
- Remove reload on serverComponentChanges in pages: #41020
- chore: Update swc_core to
v0.28.10: #41016 - Alias all client, shared, pages dist assets for esm: #41034
- Add Replay integration for dev e2e tests: #40955
- Add
with-xataexample: #39864 - Make sure polyfills are added for browsers without module support: #41029
- Move handling of navigation to pages from new router: #41001
- Adding experimental size adjust based option: #41009
- chore: add build step to
eslint-plugin-next: #38647 - chore: make sure polyfills are built for
pnpm dev: #40335 - refactor: migrate
eslint-plugin-nextto typescript: #41046 - Improve experimental feature naming: #41060
- Full page reload when navigating to new root layout: #40751
- Use deterministic module IDs for server: #41066
- Accept variable prop in google font loader: #41065
- Font loader call json parsing fix: #41052
- build(next/swc): consolidate swc_core dependency version: #41043
- Skip pagesDirRules when pagesDir is not present: #41075
- Fix experimental undici warning: #41077
- Temporarily disable prefetch in new router: #41086
- Add conflicting app and page error: #41099
- chore(server): improve dev logs formatting: #41109
- rename flush effects to server inserted html: #41073
- Check required root layout tags: #41120
- Lint files with
mjs,mts,cjsandctsextension by default: #40879 - Improve error messages of server compilation: #41136
- Fix edge function req.url handling with rewrite: #41139
- Ensure entry tracing applies for app correctly: #41140
- add attribution to web vitals: #39368
- Update minimum required Node.js version to v14: #41150
- Handle hmr for edge ssr in app dir: #41156
- chore: Update swc_core to
v0.28.20: #41153 - Remove unnecessary
moduleIdoption: #41160 - Apply experimental configs for middleware: #41142
- Fix reading edge info for app paths: #41163
- Fix warning messages for next export: #41165
- Refactor app dir related flags: #41166
- Fix prefetch for new router: #41119
- Disable built-in css-in-js transform on server layer: #41040
- docs(image): improve error message when
sharpis missing in standalone mode: #41133 - Fix latest experimental react and experimental-edge and unpin test versions: #41200
- Font loader with babel error: #41151
- Remove hook_optimizer transform: #41203
- chore: Update swc_core to
v0.29.5: #41181 - Update edge runtime to 1.1.0-beta.37: #41211
- Alias next/dynamic to lazy impl for appDir: #41216
- Do not bundle
react-domin the SSR build: #41227 - Add response stream errorhandling in edge-function-runtime: #41102
- App font file preload: #41158
- Fix app static generation cases: #41172
- Enabel appDir when flag and dir existed at the same time: #41233
- Font loaders next config shape: #41219
- refactor dev overlay into hot reloader: #41231
- fix(middleware): 'instanceof Function' is dynamic code false-positive: #41249
- Snyk upgrade 27010339d65c4a43f7b564bbebecab85: #41240
- fix(ts): relax
AppPropsto not require generic: #41264 - Recover from font loader error in dev: #41251
- Handle
ason next/link with new router: #41285 - Load
beforeInteractivescripts properly without blocking hydration: #41164 - Add test for link back to original page: #41297
- Local font files adjust fallbacks: #41180
- Update middleware query hydration handling: #41243
- Fix NextUrl trailing slash normalize for data route: #41311
- Global layouts error boundary: #41305
- fix(image): don't show placeholder warning in Jest: #41329
- Handle error overlay for new router: #41325
- fix(standalone): support
type: "module": #41268 - perf: lazyload the edge runtime in NextServer: #41322
- Add pretty error when image import is invalid format: #41267
- chore: Update swc_core to
v0.32.8: #41304 - Client component directive: use client: #41333
- Fix middleware rewrite for _next/data: #41341
- Add codemods for
next/image: #41004 - Fix middleware URL normalize case: #41342
- Update
next/imagecodemod to handlerequire(): #41345 - Ensure RSC paths are normalized in minimal mode: #41348
- Refactor error overlay for new router: #41343
- inline httpproxy usage: #41330
- proper error if middleware or api/route not return a Response: #41336
- Fix CSS imports tree-shaking: #41357
- Ensure content is kept rendered below the error overlay on build errors in new router: #41360
- refactor(#41164): polyfill-module should block hydration: #41352
- Fix
onLoadprop innext/future/image: #41374 - Add exports for new router: #41368
- App font loader tree shaking: #41384
- perf: lazy eval headers from the requestStore: #41353
- fix: disable css cache busting in production: #41392
- Upgrade next-swc-napi to NAPI-RS v2: #40094
- Fix prefetching for static app paths: #41398
- perf: lazy evaluate more modules: #41354
- BREAKING CHANGE: Rename
next/imagetonext/legacy/image& renamenext/future/imagetonext/image: #41399 - Fix edge workers being re-used unexpectedly: #41402
- Remove edge shared deps: #41413
- Upgrade React experimental: #41419
- Update edge runtime to 1.1.0-beta.39: #41418
- Update flakey dev AMP tests: #41428
- Add new diagnostics: #41429
- Move root layout validation: #41338
- chore: bump server pre-compiled target to Node.js 14: #41424
- Fix middleware dynamic route param on query hydration: #41436
- chore: Update swc_core to
v0.38.4: #41401 - Don't show error overlay for not found and redirect: #41438
- Change useSearchParams to URLSearchParams: #40978
- perf(#41392): improve cache busting inject performance: #41443
- Rename reload to refresh in new router: #41448
- Disable isNavigatingToNewRootLayout: #41457
- fix(app-render): make css and font respect assetPrefix: #41455
- Ignore serverComponentChanges in pages: #41464
- Include frameworks in main-app: #41465
- Fix typo and add comment to
next/imageSyntheticEvent: #41480 - Update
next/imagedocs and examples: #41434 - chore: Update swc_core to
v0.38.22: #41477 - Fix useSearchParams comment: #41483
- fix(stream): Allows body larger than 16 KiB with middleware: #41270
- fix(41456): check src/app folder too in getHasAppDir: #41458
- BREAKING CHANGE: Enable newNextLinkBehavior: #41459
- Avoid using the CSS href as the link tag key: #41493
- Fix global css being marked as side effect free: #41481
- Append the fragment in NextUrl.toString(): #41501
- Add vary header to fix incorrectly caching RSC as HTML response: #41479
- Enable swcMinify by default: #41506
- Move fetch revalidate config under next options: #41505
- Fix app sc_client componet HMR server-side: #41510
- fix(ts):
Cookies->NextCookies: #41491 - Update edge runtime to 1.1.0-beta.40: #41513
- BREAKING CHANGE: Remove
target: serverless: #41495 - Fix next-app-loader bug in windows: #41520
- Prebundle react for appDir: #41337
- BREAKING CHANGE: Remove
browsersListForSwcand change default tolegacyBrowsers: false: #41529 - chore: Update swc_core to
v0.39.7: #41544 - Mark styled-jsx as client-only package: #41414
- Fix case where dispatch was missing: #41553
- Upgrade react-server-dom-webpack and precompiled assets: #41547
- Improve type checking: #41427
- Create hash digest for errors in app in production: #41559
- fix: allow user directory with
styled-jsxprefix innext dev: #41484 - Fix
next/imagesvg blur placeholder withfill: #41573 - Add TypeScript plugin: #41569
- Update RSC detection in minimal mode and fix config collection: #41541
- Add back() and forward() to new router: #41575
- Update page config APIs: #41580
- Improve server bundling strategy: #41584
- Update error message for invalid react-dom/server imports: #41582
- Support overriding request headers in middlewares: #41380
- Check root layout change on client: #41475
- Full remaining path in selected layout segment: #41562
- Add back/forward test for new router: #41590
- perf: refactor path logic in router + add LRU cache: #41365
- Add transpilePackages option: #41583
- Font loader types: #41591
- Updating size-adjust calculation: #41406
- Fix missing JSON.stringify in loader: #41599
- Root layout head not required: #41621
- feat(edge): adds AsyncLocalStorage support to the edge function sandbox: #41622
- Add support for
images.loaderFileconfig: #41585 - BREAKING CHANGE: Remove React 17: #41629
- Update
next-image-experimentalcodemod to handle loaders: #41633 - Font loader default config: #41628
- Disable using prebundled of react for appDir: #41635
- Refactor hot-reloader client for app: #41598
- Enable ReactRefreshLogBox-builtins.test.ts, remove loader from import trace: #41645
- layout: add build status for app routes: #41627
- Update @types/node to 14.14.31: #41634
- Change
data-nimgattribute onnext/image: #41612 - chore: Update swc_core to
v0.40.7: #41613 - Update to handle correct react version with app: #41658
- Improve errors for invalid component export: #41657
- Add experimental warning note: #41666
- Bundle ssr client layer excepts react externals: #41606
- Improve error message for wrong props: #41668
- Remove deprecated
webpack5config option: #41667 - Improve error messages: #41669
- Create root layout: #41523
- Ensure we properly normalize /index in minimal mode: #41678
- Update params of PageProps to string map: #41677
- Expose AsyncLocalStorage on global for react: #41683
- Update URL malformed edge error: #41685
- Update to latest react experimental: #41671
- Revert "Add experimental warning note": #41688
- Fix typos: code comment: #41691
- useSelectedLayoutSegment -> useSelectedLayoutSegments, add useSelectedLayoutSegment with previous behavior: #41693
- Ensure
AsyncLocalStoragefor static generation is shared for client & server: #41695 - App dir sass: #41690
- chore: Update swc_core to
v0.40.13: #41692 - Disable esm resolving for appDir and alias react: #41687
- Print error when next dev has conflicting app & page: #41656
- Support next option for Request: #41614
- Revert "chore: Update swc_core to
v0.40.13": #41699 - Revert "Revert "chore: Update swc_core to
v0.40.13"": #41700 - chore: Update swc_core to
v0.40.16: #41702 - Move redirect and notFound to navigation exports: #41703
- Font subsets in function call: #41694
- Include resolved external package dirs: #41706
- Fail on prerendering with dynamic error config: #41707
- Update precompiled react to next channel: #41708
- Emit VSCode settings for TypeScript: #41710
- Upgrade Edge Runtime v.1.1.0: #41727
- Fix module trace error messages to not include queries: #41738
- Fix ignored file path: #41747
- Fix static generation and crawler requests: #41735
- Add error if
appdetected but config is missing: #41696 - Add default not found template: #41750
- Remove unneeded types: #41752
- Add message for
appDirfeedback: #41751 - feat: set a better type for the default image loader : #41639
- Fix edge entry layer resolution bug: #41757
- Dont apply existing externals path changing to rsc layers: #41744
- Pathname and search params SSG: #41247
- Update react next channel: #41761
- Font description and error messages: #41764
- Updating avg width metrics for google fonts: #41755
- Bump minimum Node.js version to 14.6.0: #41765
- Throw error child in : #41756
- [typescript] fix typo in edge runtime name: #41773
- Only import dev overlay for dev mode: #41771
- Add initial head handling in app: #41607
- Fix revalidate during dev: #41772
- Fix no-store test case: #41775
- Ensure async_hooks are not resolved for client: #41778
- Make ship happen: #41776
- Add head handling: #41768
- Update async storage fix: #41779
Documentation Changes
- Updated example for i18n middleware: #40728
- docs: Remove extraneous FallbackComponent prop from error boundary docs: #40785
- Update static-html-export.md: #40808
- Add additional fix in hydration error document: #40675
- [docs] Update Cypress config file name: #40849
- update url for React Hydration Documentation: #40883
- Typo in middleware upgrade guide: #40963
- Add useState and useEffect import: #40944
- Fix broken link in migration docs.: #41013
- Add Enterspeed blog example: #35897
- [docs] Improve documentation around
pageExtensions: #40039 - (Docs) getStaticProps & getServerSideProps TS section (#40607): #40639
- class component -> functional component: #41089
- Docs: Fix misleading
console.logoutput example: #41096 - Add note to incremental migration about dynamic routes + fallbacks: #41147
- Fix docs for next/image unconfigured hosts: #41223
- Update introduction.md: #41226
- Update security-headers doc: #41312
- docs: clarify
redirectson client-side navigation: #41362 - Update node-module-in-edge-runtime.md: #41375
- docs: note MDX with remark-gfm usage: #41391
- docs: more detailed error message when failing to parse a middleware matcher: #41390
- Update docs with minimum node version 14.x: #41482
- Add
remotePatternslink to next-image-unconfigured-host: #41504 - [docs] fix grammatical error #41507: #41508
- Add
swcMinifyto the Upgrade Guide: #41521 - Fix links to
next/legacy/imagedemo: #41539 - Docs for request headers overrides in middleware: #41546
- Fix docs typo in
next/imagesizes using fill prop: #41560 - Small change to note
<Link />executes server methods: #41577 - docs: remove next/future/image note: #41610
- Update custom-error-page for getServerSideProps: #41723
- docs: update
ci-build-caching: #41763
Example Changes
- chore: refactor with-next-sitemap example: #40712
- Updates with-supertokens example app: #40707
- chore: refactor with-typestyle example: #40740
- chore: migrate missing document of with-geist-ui example to typescript: #40743
- chore(examples): lock
mswversion inwith-mswexample: #40777 - chore: refactor using-router example: #40774
- Fix: Contentful webhook body parse.: #40732
- Open deploy link in new window for examples: #40804
- fix/window.gtag is not defined for Next.js-hydration event(#40410): #40645
- Update .env.local.example: #40839
- chore: refactor with-web-worker example: #40844
- Correct link for "Deploy" button: #40894
- Bump TypeScript version in with-typescript: #40924
- Revert "Fix: Contentful webhook body parse.": #40925
- Update cms-makeswift example: #41005
- chore(examples): upgrade
with-react-native-webdependencies: #41024 - chore(examples): Convert
with-react-hook-formexample to TypeScript: #38796 - chore(examples): remove
next-env.d.tsfiles: #41041 - Add NextUI example: #38209
- [Examples] -> Add external official example
with-react-query: #38101 - example: with-mantine: #34591
- Add Embedded KeystoneJS example: #25351
- Update examples/with-temporal: #33674
- Add windicss example: #35256
- chore(examples): Add
vanilla-extractexample: #41061 - examples/evm-multichain-dapp: #39206
- chore(examples): use correct name in
with-xataexample: #41063 - chore: update with-react-intl example: #40999
- Fix: [slug].tsx: #41074
- docs(examples): refresh
cms-prismicexample: #40121 - Authsignal passwordless example: #41079
- chore(examples): Cosmic cms updates: #41080
- chore(example): updated react-multi-carousel to TS: #37930
- Add dotCMS example: #38214
- chore(examples): Add 'Sitefinity CMS' Example: #39537
- chore(examples): update
with-linaria: #41085 - chore(examples): address remaining review in dotCMS example: #41091
- Lock experimental react version in tests: #41100
- Update Convex example for v0.2.0: #41143
- chore(examples): add webiny cms example: #41159
- chore(examples): add Radix UI example: #41169
- Updating to latest version of Clerk: #41192
- Fix error 500: #41205
- Add --frozen-lockfile in Docker example when using pnpm: #41291
- chore(examples): upgrade Auth0 example: #41284
- Remove references to
withSentryfunction inwith-sentryexample: #41326 - add Cloudflare Turnstile example: #41283
- Added example with salesforce commerce cloud: #41376
- Update next pwa version in pwa example: #41386
- examples(with-routes-graphql): update GraphQL Yoga to v3: #41478
- chore(examples): fix typo: #41496
- chore(examples): upgrade Stripe example: #41550
- chore(examples): update with-apivideo: #39727
- chore(examples): fix typo in [videoId].tsx: #41655
- examples(with-typescript-graphql): migrate to Yoga v3 and codegen new
preset: client: #41597 - Bump version tailwindcss example to 3.2: #41681
Misc Changes
- Temporarily skip switchable runtime test on deploy: #40700
- Break assetPrefix app tests into separate suite: #40701
- Skip copying next-swc debug files during testing: #40761
- Add test case for /404 client transition: #40734
- Update publish to scope as public for initializing: #40778
- Update stats config for release stats: #40780
- Fix flaky full reload hmr tests: #40786
- Add missing release stats config for app: #40805
- Tolerate already published error for retrying: #40812
- Update publish script to skip lerna: #40815
- Disable flakey dev app test temporarily: #40816
- Update publish to skip private package: #40822
- Update pnpm-lock.yaml
- Use an ellipsis character instead: #40913
- Update expected middleware test error: #40918
- Remove extra pnp test: #40929
- Always show node_modules inside test in VS Code: #40956
- misc: add benchmarking script for edge rendering: #40716
- Add timeout to playwright setup job: #40960
- Increase playwright install timeout to 5 min
- Increase other timeouts
- Skip experimental undici test for deploy mode: #41006
- Update flakey middleware rewrite test: #41007
- Add test for rewrite from pages to app with existing pages path: #41023
- chore/fix typo on contributing documentation: #41037
- chore(contributing): remove note about
eslint-config-next - Revert "chore: make sure polyfills are built for
pnpm dev(#40335)" - Merge branch 'canary' of github.com:vercel/next.js into canary
- chore: make sure polyfills are built for
pnpm dev: #41062 - chore(examples): fix lint
- chore(examples): fix lint
- chore(examples): fix lint
- chore(examples): rename file from
.tsto.tsx - chore(examples): fix lint
- chore(examples): fix lint
- chore(examples): fix example checks
- Fix PR stats from experimental react: #41112
- Align pnpm version: #41123
- Add more test job timeouts: #41162
- Fix errors entry in codeowners
- Upgrade React experimental: #41222
- Enable passing tests: #41241
- Skip serverless/serverless-trace target tests: #41252
- Add test for link to catchall route in new router: #41289
- misc: add minimal server bench setup: #41328
- Reduce local font loader options: #41332
- Reduce remote requests in google fonts: #41306
- Bump E2E test timeout minutes
- Test for unused css modules with layout: #41018
- Support aarch64 Linux with page size >= 16k: #41229
- Update rsc error message: #41351
- docs: add tips for building first before running test for contribute Nextjs.: #41379
- Add npm to
create-next-appenvironment package manager parser: #41279 - Update bench options in stats-config: #41432
- Bump test timeout-minutes for test dev
- Fix E2E deploy test for API bodies: #41542
- Run all dev tests with replay on retry: #41168
- Increase timeout-minutes for dev jobs
- chore: clarify issue template for examples
- Add test fixture
e2e/app-dir/next-image: #41609 - feat(cna): add template: #41660
- Pin build image version: #41704
- Update CNA app template: #41701
- Update font avg: #41734
- Enable appDir e2e deploy tests #1: #41759
Credits
Huge thanks to @ijjk, @huozhi, @HaNdTriX, @iKethavel, @timneutkens, @shuding, @rishabhpoddar, @hanneslund, @balazsorban44, @anthonyshew, @TomerAberbach, @philippbosch, @styfle, @mauriciomutte, @hayitsdavid, @abdennor, @Kikobeats, @cjdunteman, @Mr-Afonso, @kdy1, @jaril, @abdallah-nour, @North15, @feedthejim, @brunocrosier, @Schniz, @sedlukha, @hashlash, @Ethan-Arrowood, @fireairforce, @migueloller, @leerob, @janicklas-ralph, @Trystanr, @atilafassina, @nramkissoon, @kasperadk, @valcosmos, @henriqueholtz, @nip10, @jesstelford, @lorensr, @AviAvinav, @SukkaW, @jaycedotbin, @saurabhburade, @notrab, @kwonoj, @sanruiz, @angeloashmore, @falsepopsky, @fmontes, @Gebov, @UltiRequiem, @p13lgst, @Simek, @mrkldshv, @thomasballinger, @kyliau, @AdarshKonchady, @endymion1818, @pedro757, @perkinsjr, @gnoff, @jridgewell, @silvioprog, @mabels, @nialexsan, @feugy, @jackromo888, @crazyurus, @EarlGeorge, @MariaSolOs, @lforst, @maximbaz, @maxam2017, @teobler, @Nutlope, @sunwoo0706, @WestonThayer, @Brooooooklyn, @Nsttt, @charlypoly, @aprendendofelipe, @sviridoff, @jackton1, @nuta, @Rpaudel379, @marcialca, @MarDi66, @ismaelrumzan, @javivelasco, @eltociear, @hiro0218, @HugoDF, @saulloalmeida, @ahhshm, @eve0415, and @sokra for helping!
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Lock swc binaries version
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Match subrequest handling for edge and node
- Update publish-native
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary. This release contains a security patch for CVE-2025-29927.
Core Changes
- [backport] middleware subrequest patch (#77424)
Core Changes
- Add head handling: #41768
- Update async storage fix: #41779
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Fix no-store test case: #41775
- Ensure async_hooks are not resolved for client: #41778
- Make ship happen: #41776
Credits
Huge thanks to @sokra for helping!
Core Changes
- feat: set a better type for the default image loader : #41639
- Fix edge entry layer resolution bug: #41757
- Dont apply existing externals path changing to rsc layers: #41744
- Pathname and search params SSG: #41247
- Update react next channel: #41761
- Font description and error messages: #41764
- Updating avg width metrics for google fonts: #41755
- Bump minimum Node.js version to 14.6.0: #41765
- Throw error child in : #41756
- [typescript] fix typo in edge runtime name: #41773
- Only import dev overlay for dev mode: #41771
- Add initial head handling in app: #41607
- Fix revalidate during dev: #41772
Documentation Changes
- docs: update
ci-build-caching: #41763
Misc Changes
- Enable appDir e2e deploy tests #1: #41759
Credits
Huge thanks to @ahhshm, @shuding, @huozhi, @javivelasco, @hanneslund, @janicklas-ralph, @styfle, @eve0415, and @Schniz for helping!
Core Changes
- Upgrade Edge Runtime v.1.1.0: #41727
- Fix module trace error messages to not include queries: #41738
- Fix ignored file path: #41747
- Fix static generation and crawler requests: #41735
- Add error if
appdetected but config is missing: #41696 - Add default not found template: #41750
- Remove unneeded types: #41752
- Add message for
appDirfeedback: #41751
Documentation Changes
- Update custom-error-page for getServerSideProps: #41723
Example Changes
- examples(with-typescript-graphql): migrate to Yoga v3 and codegen new
preset: client: #41597 - Bump version tailwindcss example to 3.2: #41681
Misc Changes
- Update CNA app template: #41701
- Update font avg: #41734
Credits
Huge thanks to @Kikobeats, @HugoDF, @charlypoly, @saulloalmeida, @shuding, @styfle, @hanneslund, and @javivelasco for helping!
Core Changes
- Fail on prerendering with dynamic error config: #41707
- Update precompiled react to next channel: #41708
- Emit VSCode settings for TypeScript: #41710
Credits
Huge thanks to @javivelasco, @huozhi, and @shuding for helping!
Core Changes
- Revert "Revert "chore: Update swc_core to
v0.40.13"": #41700 - chore: Update swc_core to
v0.40.16: #41702 - Move redirect and notFound to navigation exports: #41703
- Font subsets in function call: #41694
- Include resolved external package dirs: #41706
Misc Changes
- Pin build image version: #41704
Credits
Huge thanks to @kdy1, @huozhi, @hanneslund, @Brooooooklyn, and @shuding for helping!
Core Changes
- Improve error messages: #41669
- Create root layout: #41523
- Ensure we properly normalize /index in minimal mode: #41678
- Update params of PageProps to string map: #41677
- Expose AsyncLocalStorage on global for react: #41683
- Update URL malformed edge error: #41685
- Update to latest react experimental: #41671
Credits
Huge thanks to @shuding, @hanneslund, and @huozhi for helping!
Core Changes
- Refactor hot-reloader client for app: #41598
- Enable ReactRefreshLogBox-builtins.test.ts, remove loader from import trace: #41645
- layout: add build status for app routes: #41627
- Update @types/node to 14.14.31: #41634
- Change
data-nimgattribute onnext/image: #41612 - chore: Update swc_core to
v0.40.7: #41613 - Update to handle correct react version with app: #41658
- Improve errors for invalid component export: #41657
- Add experimental warning note: #41666
- Bundle ssr client layer excepts react externals: #41606
- Improve error message for wrong props: #41668
- Remove deprecated
webpack5config option: #41667
Example Changes
- chore(examples): fix typo in [videoId].tsx: #41655
Misc Changes
- feat(cna): add template: #41660
Credits
Huge thanks to @timneutkens, @feedthejim, @javivelasco, @styfle, @eltociear, @kdy1, @ijjk, @balazsorban44, and @shuding for helping!
Core Changes
- Upgrade react-server-dom-webpack and precompiled assets: #41547
- Improve type checking: #41427
- Create hash digest for errors in app in production: #41559
- fix: allow user directory with
styled-jsxprefix innext dev: #41484 - Fix
next/imagesvg blur placeholder withfill: #41573 - Add TypeScript plugin: #41569
- Update RSC detection in minimal mode and fix config collection: #41541
- Add back() and forward() to new router: #41575
- Update page config APIs: #41580
- Improve server bundling strategy: #41584
- Update error message for invalid react-dom/server imports: #41582
- Support overriding request headers in middlewares: #41380
- Check root layout change on client: #41475
- Full remaining path in selected layout segment: #41562
- Add back/forward test for new router: #41590
- perf: refactor path logic in router + add LRU cache: #41365
- Add transpilePackages option: #41583
- Font loader types: #41591
- Updating size-adjust calculation: #41406
- Fix missing JSON.stringify in loader: #41599
- Root layout head not required: #41621
- feat(edge): adds AsyncLocalStorage support to the edge function sandbox: #41622
- Add support for
images.loaderFileconfig: #41585 - BREAKING CHANGE: Remove React 17: #41629
- Update
next-image-experimentalcodemod to handle loaders: #41633 - Font loader default config: #41628
- Disable using prebundled of react for appDir: #41635
Documentation Changes
- Docs for request headers overrides in middleware: #41546
- Fix docs typo in
next/imagesizes using fill prop: #41560 - Small change to note
<Link />executes server methods: #41577 - docs: remove next/future/image note: #41610
Example Changes
- chore(examples): update with-apivideo: #39727
Misc Changes
- Run all dev tests with replay on retry: #41168
- Increase timeout-minutes for dev jobs
- chore: clarify issue template for examples
- Add test fixture
e2e/app-dir/next-image: #41609
Credits
Huge thanks to @nuta, @styfle, @huozhi, @shuding, @timneutkens, @balazsorban44, @jaril, @marcialca, @hanneslund, @MarDi66, @feedthejim, @janicklas-ralph, @ismaelrumzan, and @feugy for helping!
Core Changes
- Fix case where dispatch was missing: #41553
Example Changes
- chore(examples): upgrade Stripe example: #41550
Credits
Huge thanks to @balazsorban44 for helping!
Core Changes
- Prebundle react for appDir: #41337
- BREAKING CHANGE: Remove
browsersListForSwcand change default tolegacyBrowsers: false: #41529 - chore: Update swc_core to
v0.39.7: #41544 - Mark styled-jsx as client-only package: #41414
Documentation Changes
- Fix links to
next/legacy/imagedemo: #41539
Misc Changes
- Fix E2E deploy test for API bodies: #41542
Credits
Huge thanks to @styfle, @ijjk, and @kdy1 for helping!
Core Changes
- Disable isNavigatingToNewRootLayout: #41457
- fix(app-render): make css and font respect assetPrefix: #41455
- Ignore serverComponentChanges in pages: #41464
- Include frameworks in main-app: #41465
- Fix typo and add comment to
next/imageSyntheticEvent: #41480 - Update
next/imagedocs and examples: #41434 - chore: Update swc_core to
v0.38.22: #41477 - Fix useSearchParams comment: #41483
- fix(stream): Allows body larger than 16 KiB with middleware: #41270
- fix(41456): check src/app folder too in getHasAppDir: #41458
- BREAKING CHANGE: Enable newNextLinkBehavior: #41459
- Avoid using the CSS href as the link tag key: #41493
- Fix global css being marked as side effect free: #41481
- Append the fragment in NextUrl.toString(): #41501
- Add vary header to fix incorrectly caching RSC as HTML response: #41479
- Enable swcMinify by default: #41506
- Move fetch revalidate config under next options: #41505
- Fix app sc_client componet HMR server-side: #41510
- fix(ts):
Cookies->NextCookies: #41491 - Update edge runtime to 1.1.0-beta.40: #41513
- BREAKING CHANGE: Remove
target: serverless: #41495 - Fix next-app-loader bug in windows: #41520
Documentation Changes
- Update docs with minimum node version 14.x: #41482
- Add
remotePatternslink to next-image-unconfigured-host: #41504 - [docs] fix grammatical error #41507: #41508
- Add
swcMinifyto the Upgrade Guide: #41521
Example Changes
- examples(with-routes-graphql): update GraphQL Yoga to v3: #41478
- chore(examples): fix typo: #41496
Credits
Huge thanks to @timneutkens, @SukkaW, @shuding, @styfle, @kdy1, @charlypoly, @aprendendofelipe, @sviridoff, @jackton1, @nuta, @leerob, @Rpaudel379, @huozhi, @balazsorban44, and @Kikobeats for helping!
Core Changes
- BREAKING CHANGE: Rename
next/imagetonext/legacy/image& renamenext/future/imagetonext/image: #41399 - Fix edge workers being re-used unexpectedly: #41402
- Remove edge shared deps: #41413
- Upgrade React experimental: #41419
- Update edge runtime to 1.1.0-beta.39: #41418
- Update flakey dev AMP tests: #41428
- Add new diagnostics: #41429
- Move root layout validation: #41338
- chore: bump server pre-compiled target to Node.js 14: #41424
- Fix middleware dynamic route param on query hydration: #41436
- chore: Update swc_core to
v0.38.4: #41401 - Don't show error overlay for not found and redirect: #41438
- Change useSearchParams to URLSearchParams: #40978
- perf(#41392): improve cache busting inject performance: #41443
- Rename reload to refresh in new router: #41448
Misc Changes
- Update bench options in stats-config: #41432
- Bump test timeout-minutes for test dev
Credits
Huge thanks to @styfle, @ijjk, @huozhi, @Kikobeats, @jridgewell, @hanneslund, @SukkaW, and @kdy1 for helping!
Core Changes
- perf: lazy eval headers from the requestStore: #41353
- fix: disable css cache busting in production: #41392
- Upgrade next-swc-napi to NAPI-RS v2: #40094
- Fix prefetching for static app paths: #41398
- perf: lazy evaluate more modules: #41354
Documentation Changes
- docs: note MDX with remark-gfm usage: #41391
- docs: more detailed error message when failing to parse a middleware matcher: #41390
Example Changes
- Added example with salesforce commerce cloud: #41376
- Update next pwa version in pwa example: #41386
Misc Changes
- Add npm to
create-next-appenvironment package manager parser: #41279
Credits
Huge thanks to @feedthejim, @SukkaW, @Nutlope, @sunwoo0706, @WestonThayer, @feugy, @Brooooooklyn, and @Nsttt for helping!
Core Changes
- refactor(#41164): polyfill-module should block hydration: #41352
- Fix
onLoadprop innext/future/image: #41374 - Add exports for new router: #41368
- App font loader tree shaking: #41384
Documentation Changes
- docs: clarify
redirectson client-side navigation: #41362 - Update node-module-in-edge-runtime.md: #41375
Misc Changes
- docs: add tips for building first before running test for contribute Nextjs.: #41379
Credits
Huge thanks to @SukkaW, @balazsorban44, @styfle, @teobler, @leerob, and @hanneslund for helping!
Core Changes
- Update
next/imagecodemod to handlerequire(): #41345 - Ensure RSC paths are normalized in minimal mode: #41348
- Refactor error overlay for new router: #41343
- inline httpproxy usage: #41330
- proper error if middleware or api/route not return a Response: #41336
- Fix CSS imports tree-shaking: #41357
- Ensure content is kept rendered below the error overlay on build errors in new router: #41360
Example Changes
- add Cloudflare Turnstile example: #41283
Misc Changes
- Test for unused css modules with layout: #41018
- Support aarch64 Linux with page size >= 16k: #41229
- Update rsc error message: #41351
Credits
Huge thanks to @hanneslund, @styfle, @maximbaz, @timneutkens, @huozhi, @feedthejim, @mabels, @maxam2017, and @shuding for helping!
Core Changes
- Global layouts error boundary: #41305
- fix(image): don't show placeholder warning in Jest: #41329
- Handle error overlay for new router: #41325
- fix(standalone): support
type: "module": #41268 - perf: lazyload the edge runtime in NextServer: #41322
- Add pretty error when image import is invalid format: #41267
- chore: Update swc_core to
v0.32.8: #41304 - Client component directive: use client: #41333
- Fix middleware rewrite for _next/data: #41341
- Add codemods for
next/image: #41004 - Fix middleware URL normalize case: #41342
Example Changes
- Remove references to
withSentryfunction inwith-sentryexample: #41326
Misc Changes
- misc: add minimal server bench setup: #41328
- Reduce local font loader options: #41332
- Reduce remote requests in google fonts: #41306
- Bump E2E test timeout minutes
Credits
Huge thanks to @huozhi, @balazsorban44, @timneutkens, @lforst, @feedthejim, @styfle, @kdy1, and @hanneslund for helping!
Core Changes
- Handle
ason next/link with new router: #41285 - Load
beforeInteractivescripts properly without blocking hydration: #41164 - Add test for link back to original page: #41297
- Local font files adjust fallbacks: #41180
- Update middleware query hydration handling: #41243
- Fix NextUrl trailing slash normalize for data route: #41311
Documentation Changes
- Update security-headers doc: #41312
Example Changes
- Add --frozen-lockfile in Docker example when using pnpm: #41291
- chore(examples): upgrade Auth0 example: #41284
Misc Changes
- Add test for link to catchall route in new router: #41289
Credits
Huge thanks to @timneutkens, @shuding, @crazyurus, @EarlGeorge, @hanneslund, and @MariaSolOs for helping!
Core Changes
- Enabel appDir when flag and dir existed at the same time: #41233
- Font loaders next config shape: #41219
- refactor dev overlay into hot reloader: #41231
- fix(middleware): 'instanceof Function' is dynamic code false-positive: #41249
- Snyk upgrade 27010339d65c4a43f7b564bbebecab85: #41240
- fix(ts): relax
AppPropsto not require generic: #41264 - Recover from font loader error in dev: #41251
Documentation Changes
- Update introduction.md: #41226
Misc Changes
- Enable passing tests: #41241
- Skip serverless/serverless-trace target tests: #41252
Credits
Huge thanks to @nialexsan, @huozhi, @hanneslund, @feugy, @jackromo888, and @balazsorban44 for helping!
Core Changes
- Remove hook_optimizer transform: #41203
- chore: Update swc_core to
v0.29.5: #41181 - Update edge runtime to 1.1.0-beta.37: #41211
- Alias next/dynamic to lazy impl for appDir: #41216
- Do not bundle
react-domin the SSR build: #41227 - Add response stream errorhandling in edge-function-runtime: #41102
- App font file preload: #41158
- Fix app static generation cases: #41172
Documentation Changes
- Fix docs for next/image unconfigured hosts: #41223
Example Changes
- Fix error 500: #41205
Misc Changes
- Upgrade React experimental: #41222
Credits
Huge thanks to @jridgewell, @silvioprog, @kdy1, @mabels, @huozhi, @shuding, @styfle, @hanneslund, and @ijjk for helping!
Core Changes
- Disable built-in css-in-js transform on server layer: #41040
- docs(image): improve error message when
sharpis missing in standalone mode: #41133 - Fix latest experimental react and experimental-edge and unpin test versions: #41200
- Font loader with babel error: #41151
Example Changes
- chore(examples): add webiny cms example: #41159
- chore(examples): add Radix UI example: #41169
- Updating to latest version of Clerk: #41192
Misc Changes
- Fix errors entry in codeowners
Credits
Huge thanks to @endymion1818, @pedro757, @huozhi, @balazsorban44, @perkinsjr, @gnoff, and @hanneslund for helping!
Core Changes
- Fix reading edge info for app paths: #41163
- Fix warning messages for next export: #41165
- Refactor app dir related flags: #41166
- Fix prefetch for new router: #41119
Misc Changes
- Add more test job timeouts: #41162
Credits
Huge thanks to @ijjk, @AdarshKonchady, and @huozhi for helping!
Core Changes
- Update minimum required Node.js version to v14: #41150
- Handle hmr for edge ssr in app dir: #41156
- chore: Update swc_core to
v0.28.20: #41153 - Remove unnecessary
moduleIdoption: #41160 - Apply experimental configs for middleware: #41142
Documentation Changes
- Add note to incremental migration about dynamic routes + fallbacks: #41147
Credits
Huge thanks to @leerob, @huozhi, @kdy1, and @shuding for helping!
Core Changes
- rename flush effects to server inserted html: #41073
- Check required root layout tags: #41120
- Lint files with
mjs,mts,cjsandctsextension by default: #40879 - Improve error messages of server compilation: #41136
- Fix edge function req.url handling with rewrite: #41139
- Ensure entry tracing applies for app correctly: #41140
- add attribution to web vitals: #39368
Example Changes
- Update Convex example for v0.2.0: #41143
Misc Changes
- Fix PR stats from experimental react: #41112
- Align pnpm version: #41123
Credits
Huge thanks to @huozhi, @hanneslund, @mrkldshv, @shuding, @thomasballinger, and @kyliau for helping!
Core Changes
- Full page reload when navigating to new root layout: #40751
- Use deterministic module IDs for server: #41066
- Accept variable prop in google font loader: #41065
- Font loader call json parsing fix: #41052
- build(next/swc): consolidate swc_core dependency version: #41043
- Skip pagesDirRules when pagesDir is not present: #41075
- Fix experimental undici warning: #41077
- Temporarily disable prefetch in new router: #41086
- Add conflicting app and page error: #41099
- chore(server): improve dev logs formatting: #41109
Documentation Changes
- [docs] Improve documentation around
pageExtensions: #40039 - (Docs) getStaticProps & getServerSideProps TS section (#40607): #40639
- class component -> functional component: #41089
- Docs: Fix misleading
console.logoutput example: #41096
Example Changes
- chore(examples): Add
vanilla-extractexample: #41061 - examples/evm-multichain-dapp: #39206
- chore(examples): use correct name in
with-xataexample: #41063 - chore: update with-react-intl example: #40999
- Fix: [slug].tsx: #41074
- docs(examples): refresh
cms-prismicexample: #40121 - Authsignal passwordless example: #41079
- chore(examples): Cosmic cms updates: #41080
- chore(example): updated react-multi-carousel to TS: #37930
- Add dotCMS example: #38214
- chore(examples): Add 'Sitefinity CMS' Example: #39537
- chore(examples): update
with-linaria: #41085 - chore(examples): address remaining review in dotCMS example: #41091
- Lock experimental react version in tests: #41100
Misc Changes
- chore: make sure polyfills are built for
pnpm dev: #41062 - chore(examples): fix lint
- chore(examples): fix lint
- chore(examples): fix lint
- chore(examples): rename file from
.tsto.tsx - chore(examples): fix lint
- chore(examples): fix lint
- chore(examples): fix example checks
Credits
Huge thanks to @jaycedotbin, @saurabhburade, @notrab, @balazsorban44, @hanneslund, @leerob, @shuding, @HaNdTriX, @kwonoj, @sanruiz, @huozhi, @ijjk, @angeloashmore, @falsepopsky, @fmontes, @Gebov, @UltiRequiem, @p13lgst, and @Simek for helping!
Core Changes
- Alias all client, shared, pages dist assets for esm: #41034
- Add Replay integration for dev e2e tests: #40955
- Add
with-xataexample: #39864 - Make sure polyfills are added for browsers without module support: #41029
- Move handling of navigation to pages from new router: #41001
- Adding experimental size adjust based option: #41009
- chore: add build step to
eslint-plugin-next: #38647 - chore: make sure polyfills are built for
pnpm dev: #40335 - refactor: migrate
eslint-plugin-nextto typescript: #41046 - Improve experimental feature naming: #41060
Documentation Changes
- Add Enterspeed blog example: #35897
Example Changes
- chore(examples): Convert
with-react-hook-formexample to TypeScript: #38796 - chore(examples): remove
next-env.d.tsfiles: #41041 - Add NextUI example: #38209
- [Examples] -> Add external official example
with-react-query: #38101 - example: with-mantine: #34591
- Add Embedded KeystoneJS example: #25351
- Update examples/with-temporal: #33674
- Add windicss example: #35256
Misc Changes
- chore/fix typo on contributing documentation: #41037
- chore(contributing): remove note about
eslint-config-next - Revert "chore: make sure polyfills are built for
pnpm dev(#40335)" - Merge branch 'canary' of github.com:vercel/next.js into canary
Credits
Huge thanks to @Trystanr, @huozhi, @jaril, @atilafassina, @nramkissoon, @shuding, @balazsorban44, @kasperadk, @valcosmos, @henriqueholtz, @janicklas-ralph, @nip10, @jesstelford, @lorensr, @AviAvinav, and @SukkaW for helping!
Core Changes
- chore: Update swc_core to
v0.28.10: #41016
Example Changes
- chore(examples): upgrade
with-react-native-webdependencies: #41024
Misc Changes
- Add test for rewrite from pages to app with existing pages path: #41023
Credits
Huge thanks to @balazsorban44 and @kdy1 for helping!
Core Changes
- Skip creating virtual app client entry for pages: #41000
- chore: remove unsless @ts-ignore: #40992
- Add support for fallback font and css variable for font/local: #40990
- Use throw to trigger Suspense to avoid use() in reducer warning: #40950
- chore: Update swc: #40983
- Revert "chore: Update swc": #41015
- Docs for experimental font optimization
adjustFontFallbacks: #40771
Documentation Changes
- Fix broken link in migration docs.: #41013
Example Changes
- Update cms-makeswift example: #41005
Misc Changes
- Skip experimental undici test for deploy mode: #41006
- Update flakey middleware rewrite test: #41007
Credits
Huge thanks to @huozhi, @fireairforce, @migueloller, @hanneslund, @timneutkens, @leerob, @kdy1, and @janicklas-ralph for helping!
Core Changes
- Update to use HEAD request for middleware query hydration: #40973
- Revert "Merge e2e test node_modules (#40926)": #40974
- edge-ssr: bundle next/dist as ESM for better tree-shaking (#40251): #40980
- Rename flight parameters to rsc/next: #40979
- Remove outdated warning: #40988
- misc: add MANGLING_DEBUG option: #40958
- Fix wrong code condition used when bundling the server: #40987
- Move pagesDir handling out of wrappedRender: #40995
- Fix unused CSS module imports are tracked on the server: #40996
Credits
Huge thanks to @ijjk, @huozhi, @feedthejim, and @shuding for helping!
Core Changes
- Fix bundling and module resolution in the server layer: #40818
- Handle loading returning undefined: #40938
- Fix SWC loader ignore for the server layer when Babel is used: #40939
- Code refactoring for webpack-config: #40942
- Merge e2e test node_modules: #40926
- Rename 404 -> not-found for new router: #40941
- remove reducer from server bundle: #40959
- [edge] serialize custom config to middleware-manifest: #40881
- Font loader support in app: #40898
- docs: add inline documentation for Link props: #40855
- feat(experimental): option to polyfill
fetchusingundiciin Node.js <18: #40318 - Update return shape of generateStaticParams: #40965
- remove legacy transform code: #40966
- Revert "edge-ssr: bundle next/dist as ESM for better tree-shaking (#40251): #40967
Documentation Changes
- Typo in middleware upgrade guide: #40963
- Add useState and useEffect import: #40944
Misc Changes
- Always show node_modules inside test in VS Code: #40956
- misc: add benchmarking script for edge rendering: #40716
- Add timeout to playwright setup job: #40960
- Increase playwright install timeout to 5 min
- Increase other timeouts
Credits
Huge thanks to @shuding, @timneutkens, @feedthejim, @ijjk, @Schniz, @hanneslund, @HaNdTriX, @sedlukha, @hashlash, and @Ethan-Arrowood for helping!
Core Changes
- Update pre-compiled: #40914
- Update font loader output path: #40868
- Disable head element lint rule for appDir: #40921
- Should resolve esm external module imports on server: #40865
- edge-ssr: bundle next/dist as ESM for better tree-shaking: #40251
- Improve types for
<Image />andresponseLimit: #40863 - chore: Update swc: #40928
- Ensure skipClientCache is honored for router.push: #40932
Documentation Changes
- update url for React Hydration Documentation: #40883
Example Changes
- Correct link for "Deploy" button: #40894
- Bump TypeScript version in with-typescript: #40924
- Revert "Fix: Contentful webhook body parse.": #40925
Misc Changes
- Use an ellipsis character instead: #40913
- Update expected middleware test error: #40918
- Remove extra pnp test: #40929
Credits
Huge thanks to @jaril, @abdallah-nour, @North15, @hanneslund, @huozhi, @feedthejim, @brunocrosier, and @kdy1 for helping!
Misc Changes
- Update pnpm-lock.yaml
Core Changes
- Update error handling during app static generation: #40823
Documentation Changes
- Add additional fix in hydration error document: #40675
Example Changes
- fix/window.gtag is not defined for Next.js-hydration event(#40410): #40645
Misc Changes
- Update publish to skip private package: #40822
Credits
Huge thanks to @hayitsdavid and @abdennor for helping!
Misc Changes
- Tolerate already published error for retrying: #40812
- Update publish script to skip lerna: #40815
- Disable flakey dev app test temporarily: #40816
Core Changes
- Add support for font loaders: #40746
- Set
__NEXT_NEW_LINK_BEHAVIORin Jest tests whennewNextLinkBehavioris true: #40702
Example Changes
- Fix: Contentful webhook body parse.: #40732
Misc Changes
- Update stats config for release stats: #40780
Credits
Huge thanks to @anthonyshew, @hanneslund, and @TomerAberbach for helping!
Core Changes
- Strip internal pages for pagesDir in app edge ssr: #40776
Example Changes
- chore(examples): lock
mswversion inwith-mswexample: #40777 - chore: refactor using-router example: #40774
Misc Changes
- Update publish to scope as public for initializing: #40778
Credits
Huge thanks to @balazsorban44, @HaNdTriX, and @huozhi for helping!
Core Changes
- Use resolved url in flight entry loader: #40697
- Handle redirects in new router: #40396
- Combine redirect function in new router: #40717
- fix: InferGetServerSidePropsType and InferGetStaticPropsType: #40635
- Update to leverage AsyncLocalStorage for app static handling: #40727
Documentation Changes
- Updated example for i18n middleware: #40728
Example Changes
- chore: refactor with-next-sitemap example: #40712
Misc Changes
- Temporarily skip switchable runtime test on deploy: #40700
- Break assetPrefix app tests into separate suite: #40701
Credits
Huge thanks to @ijjk, @huozhi, @HaNdTriX, and @iKethavel for helping!
Core Changes
- Update react-server-dom-webpack: #40356
- Fix flight manifest to include all chunks: #40365
- docs: fix typos: #40342
- Fix page url for edge routes in app dir: #40361
- Subresource Integrity for App Directory: #39729
- Stop build warning about
experimental: { esmExternals: 'loose' }: #40377 - Add template and error file types: #39808
- Bump styled-jsx for showing displayName: #40411
- fix(#40388):
next/dynamicshould only add default loading without suspense: #40397 - Add missing trace for full reload event: #40393
- feat(ts): expose
AppType: #40391 - Update dev watcher to ignore more accurately: #40412
- Add failing case for location throw: #40445
- Drop legacy RSC handling in client for pages: #40472
- fix: eslint no-script-component-in-head error url: #40422
- chore: Update swc: #40292
- feat(edge): allows configuring Dynamic code execution guard: #39539
- Rename allowDynamic to unstable_allowDynamic: #40496
- Don't execute prefetches for bot user agents: #40435
- Update semver of eslint-plugin-react: #40246
- Clean up startTransition in Link: #40505
- docs(README): next.js logo with dark mode: #40223
- Passing down original sourcemap for flight client loader: #40508
- next/script: make
onLoadconcurrent rendering resilient: #40191 - chore: Update swc: #40520
- Add missing feature in next-swc: #40550
- Mask Flight Parameters from Middleware: #39939
- Unwrap promise with experimental_use: #40575
- fix(next/router): Prevent query delete in routing when next.config basePath option is truthy: #40566
- fix(image): handle image imports with high aspect ratio: #40563
- fix: loosen webpack compilation with
fallbackNodePolyfills: false: #40612 - Adding experimentalAdjustFallback feature to font optimization: #40185
- fix: handle
notFound: truein/withnext export: #40592 - refactor: split up
CONTRIBUTING.md: #40515 - Implement SWC transformer for server and client graphs: #40603
- Fix edge wasm handling during deploy: #40625
- Client directive: #40415
- Remove internal client next api detection: #40646
- Attach module trace for RSC related errors: #40652
- Use createFromFetch instead of createFromReadableStream to fetch Flight: #40656
- Change Flight response content type to application/octet-stream: #40665
- Send web vitals to Vercel analytics in app: #40669
- Refactor fetchServerResponse: #40674
- Port page and layout level API assertions to SWC transform: #40653
- Ensure smooth scroll is disabled for navigation in new and existing router: #40642
- Upgrade to latest React experimental: #40672
- Refine error messages: #40661
- Incldue styled-jsx in swc compiling: #40679
- misc: update caniuse-lite to latest: #40680
- Remove non existed exports and files: #40685
- fix(image): preload should respect crossOrigin: #40676
- Add handling for static generation in app: #40561
- Avoid direct React client API imports in the server graph: #40686
- Drop legacy RSC server and client extension: #40692
Documentation Changes
- docs: fix middleware path: #40340
- Fix mdx docs: #40402
- Update Server Components documentation.: #40452
- docs: move
swcMinify: trueout of "Experimental features" section: #40394 - Clarify use of
loadingproperty: #40488 - docs(errors/large-page-data): how to see data being passed to page: #40491
- docs(basic-features/script): update script version history: #40263
- Added "negative matcher" documentation: #40282
- Fix a typo in docs: #40501
Example Changes
- chore: fix examples: #40395
- chore(examples): update turborepo examples link: #40487
- update(examples): Emotion modules: #40242
- Added comments to middleware-matcher example: #40273
- Remove legacy mobx example: #40304
- Update cms-makeswift example: #40560
- Fixed typo: #40608
- Revert "Fixed typo": #40623
- chore: Migrate with-prefetching example to typescript: #40671
- chore: Refactor active-class-name example: #40670
- docs(examples): fix error connection handling: #40633
Misc Changes
- Temporarily disable unstable app test: #40408
- docs(middleware): fix broken link
- chore: use
link:instead offile:in CONTRIBUTING.md: #40510 - add Balázs as codeowner to
/errors/directory - fix(cli): tune filter for extracting example
.tar: #40513 - Add additional tests for prefetch and trailingSlash: #40517
- Wrap parallel routes tests in describe: #40546
- fix(#40025): run
next/scriptbeforeInteractive test in both dev & prod: #40541
Credits
Huge thanks to @huozhi, @shuding, @ijjk, @jasham, @Kikobeats, @wyattjoh, @rubytree33, @timneutkens, @balazsorban44, @andrewrjohn, @SukkaW, @hanneslund, @leerob, @Djo1e, @kdy1, @msafi, @tknickman, @feugy, @cramforce, @ryparker, @victorboucher, @steven-tey, @JDansercoer, @janklimo, @hiro0218, @HaNdTriX, @migueloller, @flex-kyunghwa, @saalimzafar, @alxhotel, @janicklas-ralph, @feedthejim, and @chornos13 for helping!
Core Changes
- Drop legacy RSC server and client extension: #40692
Example Changes
- docs(examples): fix error connection handling: #40633
Credits
Huge thanks to @huozhi and @chornos13 for helping!
Core Changes
- Client directive: #40415
- Remove internal client next api detection: #40646
- Attach module trace for RSC related errors: #40652
- Use createFromFetch instead of createFromReadableStream to fetch Flight: #40656
- Change Flight response content type to application/octet-stream: #40665
- Send web vitals to Vercel analytics in app: #40669
- Refactor fetchServerResponse: #40674
- Port page and layout level API assertions to SWC transform: #40653
- Ensure smooth scroll is disabled for navigation in new and existing router: #40642
- Upgrade to latest React experimental: #40672
- Refine error messages: #40661
- Incldue styled-jsx in swc compiling: #40679
- misc: update caniuse-lite to latest: #40680
- Remove non existed exports and files: #40685
- fix(image): preload should respect crossOrigin: #40676
- Add handling for static generation in app: #40561
- Avoid direct React client API imports in the server graph: #40686
Example Changes
- chore: Migrate with-prefetching example to typescript: #40671
- chore: Refactor active-class-name example: #40670
Credits
Huge thanks to @huozhi, @shuding, @timneutkens, @hanneslund, @feedthejim, @SukkaW, and @HaNdTriX for helping!
Core Changes
- chore: Update swc: #40520
- Add missing feature in next-swc: #40550
- Mask Flight Parameters from Middleware: #39939
- Unwrap promise with experimental_use: #40575
- fix(next/router): Prevent query delete in routing when next.config basePath option is truthy: #40566
- fix(image): handle image imports with high aspect ratio: #40563
- fix: loosen webpack compilation with
fallbackNodePolyfills: false: #40612 - Adding experimentalAdjustFallback feature to font optimization: #40185
- fix: handle
notFound: truein/withnext export: #40592 - refactor: split up
CONTRIBUTING.md: #40515 - Implement SWC transformer for server and client graphs: #40603
- Fix edge wasm handling during deploy: #40625
Example Changes
- Update cms-makeswift example: #40560
- Fixed typo: #40608
- Revert "Fixed typo": #40623
Misc Changes
- Wrap parallel routes tests in describe: #40546
- fix(#40025): run
next/scriptbeforeInteractive test in both dev & prod: #40541
Credits
Huge thanks to @timneutkens, @SukkaW, @migueloller, @kdy1, @shuding, @wyattjoh, @huozhi, @flex-kyunghwa, @saalimzafar, @alxhotel, @balazsorban44, and @janicklas-ralph for helping!
Core Changes
- feat(edge): allows configuring Dynamic code execution guard: #39539
- Rename allowDynamic to unstable_allowDynamic: #40496
- Don't execute prefetches for bot user agents: #40435
- Update semver of eslint-plugin-react: #40246
- Clean up startTransition in Link: #40505
- docs(README): next.js logo with dark mode: #40223
- Passing down original sourcemap for flight client loader: #40508
- next/script: make
onLoadconcurrent rendering resilient: #40191
Documentation Changes
- Clarify use of
loadingproperty: #40488 - docs(errors/large-page-data): how to see data being passed to page: #40491
- docs(basic-features/script): update script version history: #40263
- Added "negative matcher" documentation: #40282
- Fix a typo in docs: #40501
Example Changes
- chore(examples): update turborepo examples link: #40487
- update(examples): Emotion modules: #40242
- Added comments to middleware-matcher example: #40273
- Remove legacy mobx example: #40304
Misc Changes
- chore: use
link:instead offile:in CONTRIBUTING.md: #40510 - add Balázs as codeowner to
/errors/directory - fix(cli): tune filter for extracting example
.tar: #40513 - Add additional tests for prefetch and trailingSlash: #40517
Credits
Huge thanks to @msafi, @tknickman, @feugy, @cramforce, @ryparker, @victorboucher, @steven-tey, @JDansercoer, @balazsorban44, @janklimo, @timneutkens, @hiro0218, @SukkaW, @huozhi, and @HaNdTriX for helping!
Core Changes
- Stop build warning about
experimental: { esmExternals: 'loose' }: #40377 - Add template and error file types: #39808
- Bump styled-jsx for showing displayName: #40411
- fix(#40388):
next/dynamicshould only add default loading without suspense: #40397 - Add missing trace for full reload event: #40393
- feat(ts): expose
AppType: #40391 - Update dev watcher to ignore more accurately: #40412
- Add failing case for location throw: #40445
- Drop legacy RSC handling in client for pages: #40472
- fix: eslint no-script-component-in-head error url: #40422
- chore: Update swc: #40292
Documentation Changes
- Fix mdx docs: #40402
- Update Server Components documentation.: #40452
- docs: move
swcMinify: trueout of "Experimental features" section: #40394
Example Changes
- chore: fix examples: #40395
Misc Changes
- Temporarily disable unstable app test: #40408
- docs(middleware): fix broken link
Credits
Huge thanks to @rubytree33, @timneutkens, @balazsorban44, @huozhi, @andrewrjohn, @SukkaW, @hanneslund, @leerob, @Djo1e, and @kdy1 for helping!
Core Changes
- Update react-server-dom-webpack: #40356
- Fix flight manifest to include all chunks: #40365
- docs: fix typos: #40342
- Fix page url for edge routes in app dir: #40361
- Subresource Integrity for App Directory: #39729
Documentation Changes
- docs: fix middleware path: #40340
Credits
Huge thanks to @huozhi, @shuding, @jasham, @Kikobeats, and @wyattjoh for helping!
Core Changes
- Refactor client entry plugin to separate methods.: #39162
- Eliminate path polyfill and incremental-cache from base server: #39548
- Remove precopied styled-jsx: #39520
- Refactor handling of addPageEntry promise: #39547
- Support multiple flush effects: #39559
- Eliminate Amp in Edge runtime: #39560
- Rename page -> entry in on-demand-entry-handler: #39564
- Update .env HMR handling: #39566
- Fix failing switchable runtime deploy test: #39579
- Fix Edge SSR routes: #39594
- Support tsconfig paths without baseurl: #34926
- Enable @typescript-eslint/no-use-before-define for functions: #39602
- Remove minify: false for webpack5 bundle: #39620
- Next Server code refactoring: #39591
- Eliminate path and utils from base server: #39622
- Remove webpack4 types: #39631
- Enable additional TypeScript ESLint rules: #39640
- fix(next/dynamic): handle template literal import path: #39623
- Add comment on slash normalizing in server: #39653
- Refactor base server: #39649
- Add separate entry per layout/page.: #39611
- fix(next-server): Fix priority for edge routes : #39462
- Add todo for dependsOn: #39677
- Improved server CSS handling: #39664
- feat(next-swc): Update swc: #39499
- fix next-app-loader on windows: #39657
- fix(swc/emotion): Correct the
SPACE_AROUND_COLONregex: #39710 - fix(#39609): warns about suspense and ssr: #39676
- Use realpath when emitting traced package.json: #39683
- fix(#39706): add avif support for node serve static: #39733
- fix(next): Do not display message when middleware is removed on dev mode: #39604
- refactor(portal): remove useRef from portal component: #39792
- refactor(use-intersection): remove useRef usage: #39791
- allow Edge Functions to stream a compressed
fetchresponse: #39608 - fix meaninglessFileNames type in compiler options schema: #39698
- build: upgrade edge-runtime: #39749
- Update stalled ensure log to use debug instead: #39826
- Skip building /500 in dev mode: #39828
- Fix
onErrorhandling innext/future/image: #39824 - Improve error message on
next/future/imagewhenobjectFitorobjectPosition: #39614 - Refactor client CSS imports: #39758
- Ensure moduleResolution is written correctly: #39836
- Fix disposing active entries in dev compilers: #39845
- fix(#39807): ignore width/height from webpack with "fill": #39849
- Add handling for auto installing TypeScript deps and HMRing tsconfig: #39838
- Remove eslint warning when no eslint config is present: #39872
- feat(next/swc): enable wasm first binding load for the platforms: #38883
- Fix
next/future/imageblur-up placeholder : #39785 - Fix runLintCheck during build: #39883
- Skip auto-install for missing deps in CI: #39882
- Remove un-necessary internal jest-worker error during ts/lint error: #39886
- Bump
@vercel/nft@0.22.0: #39906 - Handle edge runtime for app: #39910
- build: upgrade edge-runtime: #39898
- HMR for client CSS imports: #39916
- fix(ts): use
AppProps's generic forpageProps: #38867 - Treat non page file as non route under app dir: #39976
- Fix
next/future/imageincorrectly warning forfill+blur: #39986 - Ensure prefetch heuristic matches with and without middleware: #39920
- feat: add
experimental.fallbackNodePolyfillsflag: #39248 - Fix incorrect build log for moduleResolution: #39991
- fix(#39993): avoid race condition for next/script onReady: #40002
- Avoid bundling
next/scriptin the server build by default: #40013 - Handle async module for client components: #39953
- Upgrade typescript to 4.8.2: #39979
- Remove Unused SQLite file: #40056
- Update
next/future/imageto use svg blur placeholder duringnext dev: #39992 - Remove
<noscript>fromnext/future/image: #40075 - Fix
filePathbeing wrongly stringified: #40070 - Refactor Server Router: #39902
- Update to detect GSSP with edge runtime during build: #40076
- Fix handling with custom _error and pages/500: #40110
- Fix edge rewrite handling: #40115
- Error for ssg and ssr exports from client components in build time: #40106
- feat(next): Support has match and locale option on middleware config: #39257
- Change
altto required innext/future/image: #40136 - Allow port 0 in
next devandnext start: #40118 - Update to stable:
next/future/image,remotePatterns,unoptimized: #40142 - fix(#40066): preserve error status code from serveStatic: #40128
- fix: detect ESLint config in package.json: #40158
- ignore EEXIST errors when creating symlinks for output standalone: #40150
- Bump
@vercel/nft@0.22.1: #40164 - Bump styled-jsx: #40165
- Match data fetch and busting cache key when path URI encodes: #39568
- Updating the Next.js Logo: #40181
- next/script: simplify logic and update tests: #40026
- Bypass empty pages folder for layouts: #40132
- chore: Update swc: #39965
- Fix styled-jsx macro imports: #40234
- Ensure path can be specified for clearPreviewData: #40238
- fix: apply default export interop to
next/config: #40224 - Improved route resolution in next-app-loader: #40109
- Add prefetch to new router: #39866
- Update
next/future/imageto support onlywidthor onlyheight: #40278 - Add experimental proxy timeout option: #40289
- Fix static info parsing when export data fetching method as variable: #40317
- fix(switchable-runtime): make dev server not break when wrong runtime config is exported: #40312
- Revert "Refactor Server Router": #40328
- fix(switchable-runtime): Make it possible to switch between edge and server runtime in dev: #39327
- Revert "Revert "Refactor Server Router" (#40328)" : #40333
- refactor(next/swc): remove unnecessary field in
RemoveConsole: #40296 - [edge] fix URLSearchParams lacking data from rewrite: #40260
- fix(lint): disable
react/no-unknown-property: #40331 - Update
onLoadingCompletefornext/future/imageto receive reference to<img>: #40326 - Remove warning for swcMinify being enabled: #40359
Documentation Changes
- docs: Rename API middlewares title in sidebar: #39534
- [docs] Avoid next config validation warning: #39554
- Update strategies count to 4: #39610
- Change the React Server Components CTA to the router/layout RFC: #39724
- Add section to
next/future/imagedocs about Known Browser Bugs: #39759 - Update next.js.configs line number: #39802
- Add note about using the /_error page directly to custom error page article: #39671
- Typescript Documentation Improvement for Persistent Layouts: #33659
- Add clarity in docs for using
exportPathMapwithgetStaticPaths: #39813 - Update links to point to more accurate docs: #39818
- Update docs
next/future/imagewith details about computed aspect ratio: #39829 - Mention router.isPreview on Preview Mode page: #39830
- doc: improve a word client side rendering: #39771
- Docs: Updated note about using next/head in basic-features/font-optimization: #39863
- [docs] Fixed 404 links to Layouts RFC blog post: #39937
- Adds note about custom server requirements: #39931
- fix hash-link: #39929
- Mention
largePageDataBytesin warning docs: #39941 - Update Font Optimization docs: #39950
- [docs] Update UTM params of some links: #39951
- Revert "Adds note about custom server requirements": #39956
- Update image.md: #39984
- Update
script.md: #40017 - [docs] Add precision about
pageExtensions: #40016 - Update debugging.md (--dev -> --save-dev for npm): #39998
- docs(testing): add JSDoc typing in
jest.config.js: #40090 - docs(image): Use hook inside of function component: #40096
- docs(security-headers): interest-cohort has been replaced by browsing-topics: #40113
- [docs] Functional syntax for _document example in Basic Features: Font Optimization: #40140
- Fix typo in error/middleware-upgrade-guide.md: #40176
- docs: documents middleware matcher: #40180
- docs: update get-static-paths.md: #40205
- Change image sizes docs to use em instead of px: #40288
- Change sizes docs to use max-width in media query: #40290
- docs: fix numbering in middleware docs: #40276
- Update docs for
remotePatternsimage config: #40350 - docs: fix typo: #40354
Example Changes
- docs(examples): use vercel integration in cms-sanity: #39323
- Typo : #39596
- Update Convex Example: #39562
- Update with-loading example: #39646
- [Docs] Update with-slate example: #39639
- Tweak Convex example: #39739
- examples/with-redux-thunk , update README (#39555): #39712
- [Docs] Update mongodb example: #39658
- Convert with-goober example to TS: #39761
- [docs] Migrate dynamic routing example to typescript: #39806
- Remove unnecessary type reference in Vitest example: #39819
- Update cms-makeswift example: #39834
- Migrate data-fetch example to typescript: #39852
- [Docs] Update examples to favour functional _document: #39871
- chore(with-docker): don't copy package.json twice: #39896
- Prefer function _app component in examples: #39967
- Migrate with-xstate to typescript: #39974
- Use Font Optimization in examples: #39977
- Add local setup info in the with-supabase-auth-realtime-db example's README: #40030
- Remove semi in Convex example: #40052
- Refactored the with-supertokens example to use typescript: #39987
- Add config types to all examples: #40083
- adding with-axiom example: #38300
- Update Convex example to convex 0.1.9: #40162
- Remove extra "d" in comment: #40212
- fix(examples/with-styled-components-babel): list should have unique key: #40215
- Migrate image-component example to typescript: #40204
- ref(with-sentry example): Explicitly set
hideSourceMaps: #40079 - Update next-forms example: #40284
- Migrate with-context-api example to typescript: #40297
- Migrate with-react-jss to typescript: #40308
- Update react-remove-properties example: #40307
- Migrate using-preact example to typescript: #40295
- added type to clientPromise in with-mongodb/lib: #40339
- Remove babel from custom-server-typescript example: #40309
- Merge with-mobx-state-tree with with-mobx-state-tree-typescript example: #40306
- Fix
image-componentexample types: #40352
Misc Changes
- Fix preinstall failed in yarn@1.x on FreeBSD with npm@8.17: #39529
- Add edge ssr to pr stats: #39621
- Update test failure logging : #39655
- Update image tests files from *.js to *.ts: #39663
- fix(create-app): support github url has trailing slash: #39665
- Update contributing.md : #39767
- Update ubuntu CI version due to deprecation: #39817
- Leverage VERCEL_CLI_VERSION env for deploy tests: #39823
- Update flakey relay analytics test: #39877
- Added tests for next/router in app directory: #39867
- Fix failing e2e getServerSideProps test: #39885
- Add path to export-page: #39893
- Fix rsc basic e2e test on deploy: #39905
- test: merge edge ssr tests: #39924
- chore: check against
npmversion in issue validator: #38915 - Increase test concurrency: #39922
- Fix passing VERCEL_CLI_VERSION env for deploy tests: #39946
- test: pin typescript version to 4.7: #39978
- (next/mdx) set providerImportSource to react by default: #39954
- Add test for server CSS imports: #40019
- Update docker image for stats action: #40032
- Update flakey tsconfig test: #40105
- fix: scripts comment typos: #40207
- fix(cli): do not throw error when extracting examples in Node 18+: #40182
- Update to use specific swc version for PR stats: #40237
- fix(cli): delete temp file after extraction: #40259
- Fix test hydration check in Safari 10.1: #40285
- chore: turn off debug mode on issue validator: #40301
- Update README.md
Credits
Huge thanks to @stipsan, @ijjk, @timneutkens, @bennettdams, @shuding, @cherniavskii, @huozhi, @Brooooooklyn, @thatbeautifuldream, @Janpot, @MoosaSaadat, @alexcole, @HaNdTriX, @magic-akari, @balazsorban44, @styfle, @SukkaW, @kdy1, @sokra, @delbaoliveira, @puneetkathar1, @nkzawa, @Schniz, @greebl3, @kasperaamodt, @chaseignited, @masad-frost, @Kikobeats, @davewelsh, @MaedahBatool, @adrianbienias, @michaeloliverx, @arthurdenner, @sumiren, @migueloller, @hanneslund, @wyattjoh, @kwonoj, @boredland, @simongavelin, @esbenam, @theMosaad, @jleclanche, @leerob, @AdilAmanat, @souporserious, @ykdojo, @sanjaiyan-dev, @yoannmoinet, @thomasballinger, @titusdmoore, @jferrettiboke, @Dueen, @dunglas, @KenAKAFrosty, @wbinnssmith, @schehata, @remorses, @visnup, @Nutlope, @yhay81, @hiro0218, @avigoldman, @feugy, @jeferson-sb, @lobsterkatie, @atcastle, @bcheidemann, @Will956, @orionmiz, @S0UPernova, @cvbuelow, and @leonzalion for helping!
Core Changes
- refactor(next/swc): remove unnecessary field in
RemoveConsole: #40296 - [edge] fix URLSearchParams lacking data from rewrite: #40260
- fix(lint): disable
react/no-unknown-property: #40331 - Update
onLoadingCompletefornext/future/imageto receive reference to<img>: #40326 - Remove warning for swcMinify being enabled: #40359
Documentation Changes
- Update docs for
remotePatternsimage config: #40350 - docs: fix typo: #40354
Example Changes
- added type to clientPromise in with-mongodb/lib: #40339
- Remove babel from custom-server-typescript example: #40309
- Merge with-mobx-state-tree with with-mobx-state-tree-typescript example: #40306
- Fix
image-componentexample types: #40352
Misc Changes
- Update README.md
Credits
Huge thanks to @orionmiz, @Schniz, @S0UPernova, @HaNdTriX, @styfle, @balazsorban44, @cvbuelow, and @leonzalion for helping!
Core Changes
- Revert "Revert "Refactor Server Router" (#40328)" : #40333
Example Changes
- Migrate with-react-jss to typescript: #40308
- Update react-remove-properties example: #40307
- Migrate using-preact example to typescript: #40295
Credits
Huge thanks to @HaNdTriX and @Will956 for helping!
Core Changes
- fix: apply default export interop to
next/config: #40224 - Improved route resolution in next-app-loader: #40109
- Add prefetch to new router: #39866
- Update
next/future/imageto support onlywidthor onlyheight: #40278 - Add experimental proxy timeout option: #40289
- Fix static info parsing when export data fetching method as variable: #40317
- fix(switchable-runtime): make dev server not break when wrong runtime config is exported: #40312
- Revert "Refactor Server Router": #40328
- fix(switchable-runtime): Make it possible to switch between edge and server runtime in dev: #39327
Documentation Changes
- docs: update get-static-paths.md: #40205
- Change image sizes docs to use em instead of px: #40288
- Change sizes docs to use max-width in media query: #40290
- docs: fix numbering in middleware docs: #40276
Example Changes
- Update next-forms example: #40284
- Migrate with-context-api example to typescript: #40297
Misc Changes
- fix(cli): delete temp file after extraction: #40259
- Fix test hydration check in Safari 10.1: #40285
- chore: turn off debug mode on issue validator: #40301
Credits
Huge thanks to @balazsorban44, @sumiren, @shuding, @timneutkens, @styfle, @atcastle, @HaNdTriX, @bcheidemann, @huozhi, and @hanneslund for helping!
Core Changes
- Fix styled-jsx macro imports: #40234
- Ensure path can be specified for clearPreviewData: #40238
Documentation Changes
- docs: documents middleware matcher: #40180
Example Changes
- fix(examples/with-styled-components-babel): list should have unique key: #40215
- Migrate image-component example to typescript: #40204
- ref(with-sentry example): Explicitly set
hideSourceMaps: #40079
Misc Changes
- fix(cli): do not throw error when extracting examples in Node 18+: #40182
- Update to use specific swc version for PR stats: #40237
Credits
Huge thanks to @feugy, @jeferson-sb, @balazsorban44, @HaNdTriX, @huozhi, and @lobsterkatie for helping!
Core Changes
- fix: detect ESLint config in package.json: #40158
- ignore EEXIST errors when creating symlinks for output standalone: #40150
- Bump
@vercel/nft@0.22.1: #40164 - Bump styled-jsx: #40165
- Match data fetch and busting cache key when path URI encodes: #39568
- Updating the Next.js Logo: #40181
- next/script: simplify logic and update tests: #40026
- Bypass empty pages folder for layouts: #40132
- chore: Update swc: #39965
Documentation Changes
- Fix typo in error/middleware-upgrade-guide.md: #40176
Example Changes
- adding with-axiom example: #38300
- Update Convex example to convex 0.1.9: #40162
- Remove extra "d" in comment: #40212
Misc Changes
- fix: scripts comment typos: #40207
Credits
Huge thanks to @schehata, @balazsorban44, @remorses, @thomasballinger, @styfle, @visnup, @Nutlope, @yhay81, @SukkaW, @kdy1, @hiro0218, and @avigoldman for helping!
Core Changes
- Fix handling with custom _error and pages/500: #40110
- Fix edge rewrite handling: #40115
- Error for ssg and ssr exports from client components in build time: #40106
- feat(next): Support has match and locale option on middleware config: #39257
- Change
altto required innext/future/image: #40136 - Allow port 0 in
next devandnext start: #40118 - Update to stable:
next/future/image,remotePatterns,unoptimized: #40142 - fix(#40066): preserve error status code from serveStatic: #40128
Documentation Changes
- docs(security-headers): interest-cohort has been replaced by browsing-topics: #40113
- [docs] Functional syntax for _document example in Basic Features: Font Optimization: #40140
Example Changes
- Add config types to all examples: #40083
Credits
Huge thanks to @dunglas, @huozhi, @nkzawa, @styfle, @KenAKAFrosty, @HaNdTriX, @wbinnssmith, and @SukkaW for helping!
Core Changes
- Upgrade typescript to 4.8.2: #39979
- Remove Unused SQLite file: #40056
- Update
next/future/imageto use svg blur placeholder duringnext dev: #39992 - Remove
<noscript>fromnext/future/image: #40075 - Fix
filePathbeing wrongly stringified: #40070 - Refactor Server Router: #39902
- Update to detect GSSP with edge runtime during build: #40076
Documentation Changes
- Update debugging.md (--dev -> --save-dev for npm): #39998
- docs(testing): add JSDoc typing in
jest.config.js: #40090 - docs(image): Use hook inside of function component: #40096
Example Changes
- Refactored the with-supertokens example to use typescript: #39987
Misc Changes
- Update flakey tsconfig test: #40105
Credits
Huge thanks to @huozhi, @wyattjoh, @titusdmoore, @ykdojo, @styfle, @shuding, @jferrettiboke, and @Dueen for helping!
Core Changes
- build: upgrade edge-runtime: #39898
- HMR for client CSS imports: #39916
- fix(ts): use
AppProps's generic forpageProps: #38867 - Treat non page file as non route under app dir: #39976
- Fix
next/future/imageincorrectly warning forfill+blur: #39986 - Ensure prefetch heuristic matches with and without middleware: #39920
- feat: add
experimental.fallbackNodePolyfillsflag: #39248 - Fix incorrect build log for moduleResolution: #39991
- fix(#39993): avoid race condition for next/script onReady: #40002
- Avoid bundling
next/scriptin the server build by default: #40013 - Handle async module for client components: #39953
Documentation Changes
- [docs] Fixed 404 links to Layouts RFC blog post: #39937
- Adds note about custom server requirements: #39931
- fix hash-link: #39929
- Mention
largePageDataBytesin warning docs: #39941 - Update Font Optimization docs: #39950
- [docs] Update UTM params of some links: #39951
- Revert "Adds note about custom server requirements": #39956
- Update image.md: #39984
- Update
script.md: #40017 - [docs] Add precision about
pageExtensions: #40016
Example Changes
- Prefer function _app component in examples: #39967
- Migrate with-xstate to typescript: #39974
- Use Font Optimization in examples: #39977
- Add local setup info in the with-supabase-auth-realtime-db example's README: #40030
- Remove semi in Convex example: #40052
Misc Changes
- test: merge edge ssr tests: #39924
- chore: check against
npmversion in issue validator: #38915 - Increase test concurrency: #39922
- Fix passing VERCEL_CLI_VERSION env for deploy tests: #39946
- test: pin typescript version to 4.7: #39978
- (next/mdx) set providerImportSource to react by default: #39954
- Add test for server CSS imports: #40019
- Update docker image for stats action: #40032
Credits
Huge thanks to @huozhi, @Kikobeats, @simongavelin, @esbenam, @theMosaad, @jleclanche, @shuding, @balazsorban44, @leerob, @HaNdTriX, @hanneslund, @AdilAmanat, @souporserious, @styfle, @SukkaW, @ykdojo, @sanjaiyan-dev, @yoannmoinet, and @thomasballinger for helping!
Core Changes
- Remove un-necessary internal jest-worker error during ts/lint error: #39886
- Bump
@vercel/nft@0.22.0: #39906 - Handle edge runtime for app: #39910
Example Changes
- chore(with-docker): don't copy package.json twice: #39896
Misc Changes
- Add path to export-page: #39893
- Fix rsc basic e2e test on deploy: #39905
Credits
Huge thanks to @timneutkens, @boredland, and @styfle for helping!
Core Changes
- Fix runLintCheck during build: #39883
- Skip auto-install for missing deps in CI: #39882
Misc Changes
- Fix failing e2e getServerSideProps test: #39885
Core Changes
- fix(#39807): ignore width/height from webpack with "fill": #39849
- Add handling for auto installing TypeScript deps and HMRing tsconfig: #39838
- Remove eslint warning when no eslint config is present: #39872
- feat(next/swc): enable wasm first binding load for the platforms: #38883
- Fix
next/future/imageblur-up placeholder : #39785
Example Changes
- [Docs] Update examples to favour functional _document: #39871
Misc Changes
- Update flakey relay analytics test: #39877
- Added tests for next/router in app directory: #39867
Credits
Huge thanks to @SukkaW, @HaNdTriX, @wyattjoh, @kwonoj, and @styfle for helping!
Core Changes
- fix next-app-loader on windows: #39657
- fix(swc/emotion): Correct the
SPACE_AROUND_COLONregex: #39710 - fix(#39609): warns about suspense and ssr: #39676
- Use realpath when emitting traced package.json: #39683
- fix(#39706): add avif support for node serve static: #39733
- fix(next): Do not display message when middleware is removed on dev mode: #39604
- refactor(portal): remove useRef from portal component: #39792
- refactor(use-intersection): remove useRef usage: #39791
- allow Edge Functions to stream a compressed
fetchresponse: #39608 - fix meaninglessFileNames type in compiler options schema: #39698
- build: upgrade edge-runtime: #39749
- Update stalled ensure log to use debug instead: #39826
- Skip building /500 in dev mode: #39828
- Fix
onErrorhandling innext/future/image: #39824 - Improve error message on
next/future/imagewhenobjectFitorobjectPosition: #39614 - Refactor client CSS imports: #39758
- Ensure moduleResolution is written correctly: #39836
- Fix disposing active entries in dev compilers: #39845
Documentation Changes
- Change the React Server Components CTA to the router/layout RFC: #39724
- Add section to
next/future/imagedocs about Known Browser Bugs: #39759 - Update next.js.configs line number: #39802
- Add note about using the /_error page directly to custom error page article: #39671
- Typescript Documentation Improvement for Persistent Layouts: #33659
- Add clarity in docs for using
exportPathMapwithgetStaticPaths: #39813 - Update links to point to more accurate docs: #39818
- Update docs
next/future/imagewith details about computed aspect ratio: #39829 - Mention router.isPreview on Preview Mode page: #39830
- doc: improve a word client side rendering: #39771
- Docs: Updated note about using next/head in basic-features/font-optimization: #39863
Example Changes
- Tweak Convex example: #39739
- examples/with-redux-thunk , update README (#39555): #39712
- [Docs] Update mongodb example: #39658
- Convert with-goober example to TS: #39761
- [docs] Migrate dynamic routing example to typescript: #39806
- Remove unnecessary type reference in Vitest example: #39819
- Update cms-makeswift example: #39834
- Migrate data-fetch example to typescript: #39852
Misc Changes
- Update contributing.md : #39767
- Update ubuntu CI version due to deprecation: #39817
- Leverage VERCEL_CLI_VERSION env for deploy tests: #39823
Credits
Huge thanks to @sokra, @magic-akari, @SukkaW, @delbaoliveira, @alexcole, @styfle, @puneetkathar1, @nkzawa, @Schniz, @greebl3, @HaNdTriX, @kasperaamodt, @chaseignited, @masad-frost, @Kikobeats, @davewelsh, @MaedahBatool, @adrianbienias, @michaeloliverx, @arthurdenner, @sumiren, @migueloller, @shuding, and @hanneslund for helping!
Core Changes
- Fix failing switchable runtime deploy test: #39579
- Fix Edge SSR routes: #39594
- Support tsconfig paths without baseurl: #34926
- Enable @typescript-eslint/no-use-before-define for functions: #39602
- Remove minify: false for webpack5 bundle: #39620
- Next Server code refactoring: #39591
- Eliminate path and utils from base server: #39622
- Remove webpack4 types: #39631
- Enable additional TypeScript ESLint rules: #39640
- fix(next/dynamic): handle template literal import path: #39623
- Add comment on slash normalizing in server: #39653
- Refactor base server: #39649
- Add separate entry per layout/page.: #39611
- fix(next-server): Fix priority for edge routes : #39462
- Add todo for dependsOn: #39677
- Improved server CSS handling: #39664
- feat(next-swc): Update swc: #39499
Documentation Changes
- Update strategies count to 4: #39610
Example Changes
- Typo : #39596
- Update Convex Example: #39562
- Update with-loading example: #39646
- [Docs] Update with-slate example: #39639
Misc Changes
- Add edge ssr to pr stats: #39621
- Update test failure logging : #39655
- Update image tests files from *.js to *.ts: #39663
- fix(create-app): support github url has trailing slash: #39665
Credits
Huge thanks to @thatbeautifuldream, @shuding, @Janpot, @timneutkens, @huozhi, @MoosaSaadat, @alexcole, @HaNdTriX, @magic-akari, @balazsorban44, @styfle, @SukkaW, and @kdy1 for helping!
Core Changes
- Refactor client entry plugin to separate methods.: #39162
- Eliminate path polyfill and incremental-cache from base server: #39548
- Remove precopied styled-jsx: #39520
- Refactor handling of addPageEntry promise: #39547
- Support multiple flush effects: #39559
- Eliminate Amp in Edge runtime: #39560
- Rename page -> entry in on-demand-entry-handler: #39564
- Update .env HMR handling: #39566
Documentation Changes
- docs: Rename API middlewares title in sidebar: #39534
- [docs] Avoid next config validation warning: #39554
Example Changes
- docs(examples): use vercel integration in cms-sanity: #39323
Misc Changes
- Fix preinstall failed in yarn@1.x on FreeBSD with npm@8.17: #39529
Credits
Huge thanks to @stipsan, @timneutkens, @bennettdams, @shuding, @cherniavskii, @huozhi, and @Brooooooklyn for helping!
Core Changes
- Change invalid internal upstream image error code: #39334
- Hoist styles for Route Announcer: #39331
- fix: wrong reference url for disableStaticImages: #39362
- fix: skip resizing image if it's animated: #39325
- Fix catchall rewrites for _next/data routes: #39370
- Fix
next/future/imagealt text: #39366 - refactor: add named export in next/server: #39381
- fix(ts): More strict Redirect type: #38277
- fix(next): dev server starting when importing a file using get-projec…: #38274
- Add runtime to PageConfig type: #37453
- fix: improve logging for _devPagesManifest.json loading failures: #38046
- Allow custom path for preview mode cookies: #38313
- Fix removing whitespacing in dev overlay: #28277
- Fix emotion labelFormat and sourcemap options: #39389
- Fix emotion shouldForwardProp options breaks component selectors: #39390
- next/image imgix loader can use multiple auto params: #34808
- Adds
eslint-plugin-eslint-pluginto ensureeslint-plugin-nextrules follow ESLint rule best practices along with enforcing some consistency.: #37920 - [ESLint] Adds
--output-fileflag: #36420 - Update polyfill for eslint no-unwanted-polyfillio rule: #33170
- fix(ts): Middleware type tweaks: #38625
- Fix Link generation for SSG pages if locale domains are used: #36818
- Setup require hook in next-server for styled-jsx resolving: #39305
- fix: ensure trailing slash on registry URL when fetching wasm fallback: #39427
- typing: upgrade styled-jsx to remove workaround in build script: #39408
- Extract redirect utils into a separate file: #39433
- Ensure locale redirects are not applied in minimal mode: #39436
- feat(middleware): augments / matcher with /index: #39397
- Bump edge-runtime packages: #39450
- Ensure default _app is used when falling back to default _error: #39467
- Handle rewriting WebSocket requests: #39463
- App Build Stats: #38884
- Tweak styled-jsx type declarations: #39474
- FIX GAUSSIAN BLUR IN FUTURE\IMAGE: #39190
- Add hot-reloading for env file changes: #38483
- feat(next-swc/modularize_imports): Add Kebab case: #38583
- Make dev watch ignore more specific: #39504
- Bump styled-jsx and remove manual types creation: #39506
- Add position styling to future fill images: #39438
- fix: ensure hidden iframe apps render in development mode: #39514
- Enable @typescript-eslint/no-use-before-define variables,enums,typedefs for core files: #39511
- Re-add styled-jsx as a normal dependency: #39518
Documentation Changes
- docs: update When section of getStaticProps page: #39393
- Update script.md: #39400
- API Routes Request Helpers docs.: #39407
- Improve description of
context.queryingetServerSideProps(): #39422 - Enhance sizes documentation for next/image: #39301
- Add component wrapper in sizes documentation code snippet: #39437
- Update
router.prefetchdocumentation to includelocaleoption: #39442 - Fix docs path "Invalid getServerSideProps Return Value": #39443
- Improve next/future/image Migration docs: #39421
Example Changes
- Fixed links to supabase examples: #39343
- Examples/cms-wordpress migrate to TypeScript: #39250
- chore: upgrade example to Docker Compose v2: #39372
- fix (examples): Changed the version of next-pwa: #39369
- Port 'with-static-export' example to TypeScript: #38268
- update examples/custom-server-fastify and replace depreaction: #38269
- Land(Update example with-apivideo-upload README): #39391
- Fix: broken TypeScript in WordPress example.: #39402
- Enable @typescript-eslint/no-use-before-define for examples dir: #39469
- [examples] Add on-demand revalidation to Contentful example: #39475
- Fixed issues with environment variables for Windows users: #37853
- fix(examples/with-wdyr): example config to support SWC: #39465
Misc Changes
- test: ensure default output is correct: #39358
- Fix failing escheck test: #39365
- Add yarn 2 Setup Files to Valid Files for create-next-app: #30936
- Add Object#fromEntries polyfill (with 6 lines of code): #36426
- chore: restores removed tests: #39452
- Fix next.config.js overwriting on deploy e2e test: #39476
- Update contributing.md to recommend corepack: #39479
- Fix swc build for freebsd target: #39478
Credits
Huge thanks to @pthomas931, @madmed88, @sanjaiyan-dev, @balazsorban44, @DonghyukJacobJang, @ijjk, @chaiwattsw, @styfle, @dunglas, @ahkhanjani, @promer94, @terrierscript, @shawncal, @insik-han, @QuiiBz, @ykzts, @JoshuaKGoldberg, @lucasassisrosa, @dikwickley, @Brooooooklyn, @sicarius97, @FourwingsY, @manovotny, @SukkaW, @pepoeverton, @jdeniau, @sumiren, @anthonyshew, @pekarja5, @huozhi, @leerob, @fediev, @atcastle, @shuding, @feugy, @jonohewitt, @zakiego, @Schniz, @timneutkens, @wyattjoh, @MaedahBatool, @X7Becka, @nnnnoel, @dcdev67, @alvinometric, @timothympace, and @jeferson-sb for helping!
Core Changes
- Re-add styled-jsx as a normal dependency: #39518
Core Changes
- Add position styling to future fill images: #39438
- fix: ensure hidden iframe apps render in development mode: #39514
- Enable @typescript-eslint/no-use-before-define variables,enums,typedefs for core files: #39511
Example Changes
- fix(examples/with-wdyr): example config to support SWC: #39465
Credits
Huge thanks to @atcastle, @timothympace, @timneutkens, and @jeferson-sb for helping!
Core Changes
- Make dev watch ignore more specific: #39504
- Bump styled-jsx and remove manual types creation: #39506
Example Changes
- Fixed issues with environment variables for Windows users: #37853
Credits
Huge thanks to @huozhi and @alvinometric for helping!
Core Changes
- FIX GAUSSIAN BLUR IN FUTURE\IMAGE: #39190
- Add hot-reloading for env file changes: #38483
- feat(next-swc/modularize_imports): Add Kebab case: #38583
Example Changes
- [examples] Add on-demand revalidation to Contentful example: #39475
Credits
Huge thanks to @X7Becka, @nnnnoel, and @dcdev67 for helping!
Documentation Changes
- Improve next/future/image Migration docs: #39421
Misc Changes
- Fix next.config.js overwriting on deploy e2e test: #39476
- Update contributing.md to recommend corepack: #39479
- Fix swc build for freebsd target: #39478
Credits
Huge thanks to @MaedahBatool and @styfle for helping!
Core Changes
- Setup require hook in next-server for styled-jsx resolving: #39305
- fix: ensure trailing slash on registry URL when fetching wasm fallback: #39427
- typing: upgrade styled-jsx to remove workaround in build script: #39408
- Extract redirect utils into a separate file: #39433
- Ensure locale redirects are not applied in minimal mode: #39436
- feat(middleware): augments / matcher with /index: #39397
Documentation Changes
- API Routes Request Helpers docs.: #39407
- Improve description of
context.queryingetServerSideProps(): #39422 - Enhance sizes documentation for next/image: #39301
- Add component wrapper in sizes documentation code snippet: #39437
Credits
Huge thanks to @huozhi, @leerob, @balazsorban44, @fediev, @atcastle, @shuding, and @feugy for helping!
Core Changes
- Change invalid internal upstream image error code: #39334
- Hoist styles for Route Announcer: #39331
- fix: wrong reference url for disableStaticImages: #39362
- fix: skip resizing image if it's animated: #39325
- Fix catchall rewrites for _next/data routes: #39370
- Fix
next/future/imagealt text: #39366 - refactor: add named export in next/server: #39381
- fix(ts): More strict Redirect type: #38277
- fix(next): dev server starting when importing a file using get-projec…: #38274
- Add runtime to PageConfig type: #37453
- fix: improve logging for _devPagesManifest.json loading failures: #38046
- Allow custom path for preview mode cookies: #38313
- Fix removing whitespacing in dev overlay: #28277
- Fix emotion labelFormat and sourcemap options: #39389
- Fix emotion shouldForwardProp options breaks component selectors: #39390
- next/image imgix loader can use multiple auto params: #34808
- Adds
eslint-plugin-eslint-pluginto ensureeslint-plugin-nextrules follow ESLint rule best practices along with enforcing some consistency.: #37920 - [ESLint] Adds
--output-fileflag: #36420 - Update polyfill for eslint no-unwanted-polyfillio rule: #33170
- fix(ts): Middleware type tweaks: #38625
- Fix Link generation for SSG pages if locale domains are used: #36818
Documentation Changes
- docs: update When section of getStaticProps page: #39393
- Update script.md: #39400
Example Changes
- Fixed links to supabase examples: #39343
- Examples/cms-wordpress migrate to TypeScript: #39250
- chore: upgrade example to Docker Compose v2: #39372
- fix (examples): Changed the version of next-pwa: #39369
- Port 'with-static-export' example to TypeScript: #38268
- update examples/custom-server-fastify and replace depreaction: #38269
- Land(Update example with-apivideo-upload README): #39391
- Fix: broken TypeScript in WordPress example.: #39402
Misc Changes
- test: ensure default output is correct: #39358
- Fix failing escheck test: #39365
- Add yarn 2 Setup Files to Valid Files for create-next-app: #30936
- Add Object#fromEntries polyfill (with 6 lines of code): #36426
Credits
Huge thanks to @pthomas931, @madmed88, @sanjaiyan-dev, @balazsorban44, @DonghyukJacobJang, @chaiwattsw, @styfle, @dunglas, @ahkhanjani, @promer94, @terrierscript, @shawncal, @insik-han, @QuiiBz, @ykzts, @JoshuaKGoldberg, @lucasassisrosa, @dikwickley, @Brooooooklyn, @sicarius97, @FourwingsY, @manovotny, @SukkaW, @pepoeverton, @jdeniau, @sumiren, @anthonyshew, and @pekarja5 for helping!
Core Changes
- Fix error message typos: #38894
- Update to latest version of @vercel/nft: #38878
- fix(#38090): add missing
analyticsIdto config schema: #38911 - Ensure hash on initial request is preserved in new router: #38913
- Remove unnecessary assertions: #38899
- Clear unnecessary code: #38900
- fix: Impl
attachRequestMetain base server to handle meta differently in edge and node servers: #38932 - feat: enhance warning messages about unanalyzable
configfield: #38907 - fix: fix generateEtags type inside schema: #38936
- Refactor router reducer: #38983
- Add state comparison to router: #38422
- update webpack: #38988
- Update config schema for empty basePath: #38998
- Add handling for prefetching onTouchStart and initial mobile testing : #38805
- Add additional comments to new router: #38986
- Update config-schema for relay field to be less strict: #39010
- Add config for opting out of optimistic client cache behavior: #38774
- Fix tracing edge-runtime dependencies: #39009
- Ensure dangerouslyAllowSVG is passed correctly: #39031
- Handle getStaticPaths error inside worker to avoid serializing: #39032
- chore: enable swc externalHelpers when pre-compile: #38182
- Update to use HEAD request for On-Demand ISR: #39038
- chore: Clean up imports and unused code: #39044
- Replace node-sass test dependency with sass: #39053
- Add comments in new router reducer: #39025
- Add additional comments for reducer/cachenode: #39065
- fix: print Request & Response properties: #38903
- fix: show
asPathon large page data warning: #39071 - Remove RSC rendering from render: #39045
- Ensure query is updated correctly with shallow and middleware: #39086
- Update pre-compiled to fix check: #39089
- Fix unhandled rejections with edge runtime: #39091
- feat(next-swc): Update swc: #39055
- Collect telemetry for next/future/image: #39046
- [Script] Adds
onReadyprop tonext/script: #38849 - Ensure we hard navigate for failed _next/data with middleware: #39148
- Refactor Flight plugins to use types.: #39136
- Fix middleware + afterFiles SSG rewrite case: #39153
- Update swc minifier: #39158
- Fix incorrect component cache for middleware cases: #39159
- Add shared dynamic api: #39163
- Add exportPathMap config type/schema field: #39171
- Fix default error style overrides: #39169
- refactor: return single middleware from getMiddleware in dev server: #39177
- fix(#11930): rewritten api routes can correctly handle cors in dev mode: #38937
- refactor: simplify middleware execution: #39192
- Add missing @napi-rs/cli devDependency to next-swc: #39164
- Fix missing edge routes in dev middleware manifest: #39199
- Fix: only contain middleware in dev middleware manifest: #39217
- fix: react dev bundle is picked in prod mode: #39221
- Add "fill" mode to
next/future/image: #38855 - Handle assetPrefix in app: #39236
- Export URLPattern from next/server: #39219
- Ensure middleware has single data fetch on query hydration with valid props: #39210
- Fix URLPattern next/server export on deploy: #39290
- Flush styles effects: #39268
- chore: rename typo middlewares to interceptors in hot reloader: #39292
- Remove default setting for object-fit on future fill images: #39297
- feat(config): implement a human readable ajv errors: #39291
- Enable concurrent mode by default in app-render: #39307
- Fix next/server being required during build: #39310
- feat(next-swc/wasm): export async interfaces: #39231
- Ensure On-Demand revalidate does not consider preview cookie: #39313
- fix: buffer is not usable on edge runtime: #39227
Documentation Changes
- Remove next-page-tester from testing.md: #38920
- Add section about building
getStaticPathson-demand.: #38943 - Docs: Fix grammatical typo: #38962
- docs: update typescript.md: #38717
- Add note to
next/future/imageabout default styles.: #38978 - Add caveat note about shallow routing with middleware: #39154
- fix: Update testing.md: #39195
- Replaces getStaticProps with getStaticPaths: #39218
- Clear up rewrites documentation: #39238
- Add section about migrating from
next/imagetonext/future/image: #39270 - [docs] Clarify polyfill support: #39272
- fix typo: docs/advanced-features/react-18/streaming.md: #39293
- docs: add missing dot: #39314
Example Changes
- Add example with cookies-next package: #31243
- chore(example): convert
with-stitchesto TS: #38892 - Update Convex example not to ignore generated files: #38931
- Convert
custom-routes-proxyingexample to TypeScript: #38974 - Added workaround for --isolatedModules inside of configuration files: #39004
- Update default gitignore templates: #39051
- docs(examples): improve DX while copying command to create new project: #38410
- docs(example): Update Makeswift example: #39070
- fix: use
if..elif..elsein docker examples: #39072 - feat(with-mux-video): Update mux-player scope and version to latest.: #39079
- Convert
cms-agilitycmsexample to TypeScript: #38976 - Convert the Cypress config to ESM Module syntax: #39036
- fix: missing semicolon on Dockerfile: #39142
- Fix typo in with-docker-compose README: #39176
- examples/with-msw-typescript: #39196
- Update edgedb.toml: #39243
- fix: use
if...elsein dockerfile: #39263 - Add TypeScript to ant design example: #38470
Misc Changes
- Update Safari 10 test to no longer wait for modern Safari: #39028
- Update delayed test output handling: #39078
- Update tests to use random directory: #39230
- Update Android NDK path for swc builds: #39298
- Add delay before exiting tests for log flushing: #39302
- chore(trace): fix typo in trace-to-event-format.mjs: #39279
Credits
Huge thanks to @theMosaad, @SukkaW, @timneutkens, @Yuddomack, @msquitieri, @andreizanik, @nix6839, @shuding, @thomasballinger, @ziishaned, @leerob, @xyeres, @nyedidikeke, @maxproske, @sokra, @titusdmoore, @thebergamo, @fikrikarim, @Kikobeats, @balazsorban44, @clearlyTHUYDOAN, @ijjk, @nasso, @qutek, @kdy1, @kyliau, @housseindjirdeh, @huozhi, @barissayil, @seveibar, @Jessidhia, @santidalmasso, @JohnDaly, @Nikhilnama18, @atcastle, @styfle, @Schniz, @mduleone, @colinhacks, @ductnn, @josh, @hiro0218, @eltociear, @kwonoj, @valcosmos, and @feugy for helping!
Core Changes
- Enable concurrent mode by default in app-render: #39307
- Fix next/server being required during build: #39310
- feat(next-swc/wasm): export async interfaces: #39231
- Ensure On-Demand revalidate does not consider preview cookie: #39313
- fix: buffer is not usable on edge runtime: #39227
Documentation Changes
- docs: add missing dot: #39314
Example Changes
- Add TypeScript to ant design example: #38470
Misc Changes
- chore(trace): fix typo in trace-to-event-format.mjs: #39279
Credits
Huge thanks to @huozhi, @eltociear, @kwonoj, @valcosmos, and @feugy for helping!
Core Changes
- Flush styles effects: #39268
- chore: rename typo middlewares to interceptors in hot reloader: #39292
- Remove default setting for object-fit on future fill images: #39297
- feat(config): implement a human readable ajv errors: #39291
Documentation Changes
- [docs] Clarify polyfill support: #39272
- fix typo: docs/advanced-features/react-18/streaming.md: #39293
Misc Changes
- Update Android NDK path for swc builds: #39298
- Add delay before exiting tests for log flushing: #39302
Credits
Huge thanks to @huozhi, @josh-, @hiro0218, @atcastle, and @SukkaW for helping!
Core Changes
- Add shared dynamic api: #39163
- Add exportPathMap config type/schema field: #39171
- Fix default error style overrides: #39169
- refactor: return single middleware from getMiddleware in dev server: #39177
- fix(#11930): rewritten api routes can correctly handle cors in dev mode: #38937
- refactor: simplify middleware execution: #39192
- Add missing @napi-rs/cli devDependency to next-swc: #39164
- Fix missing edge routes in dev middleware manifest: #39199
- Fix: only contain middleware in dev middleware manifest: #39217
- fix: react dev bundle is picked in prod mode: #39221
- Add "fill" mode to
next/future/image: #38855 - Handle assetPrefix in app: #39236
Documentation Changes
- fix: Update testing.md: #39195
- Replaces getStaticProps with getStaticPaths: #39218
Example Changes
- Fix typo in with-docker-compose README: #39176
- examples/with-msw-typescript: #39196
Misc Changes
- Update tests to use random directory: #39230
Credits
Huge thanks to @huozhi, @barissayil, @seveibar, @Jessidhia, @santidalmasso, @JohnDaly, @Nikhilnama18, @atcastle, and @styfle for helping!
Core Changes
- Update swc minifier: #39158
- Fix incorrect component cache for middleware cases: #39159
Documentation Changes
- Add caveat note about shallow routing with middleware: #39154
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Refactor Flight plugins to use types.: #39136
- Fix middleware + afterFiles SSG rewrite case: #39153
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Collect telemetry for next/future/image: #39046
- [Script] Adds
onReadyprop tonext/script: #38849 - Ensure we hard navigate for failed _next/data with middleware: #39148
Credits
Huge thanks to @kyliau and @housseindjirdeh for helping!
Core Changes
- feat(next-swc): Update swc: #39055
Example Changes
- fix: missing semicolon on Dockerfile: #39142
Credits
Huge thanks to @qutek and @kdy1 for helping!
Core Changes
- Update pre-compiled to fix check: #39089
- Fix unhandled rejections with edge runtime: #39091
Example Changes
- Convert the Cypress config to ESM Module syntax: #39036
Credits
Huge thanks to @ijjk and @nasso for helping!
Core Changes
- chore: Clean up imports and unused code: #39044
- Replace node-sass test dependency with sass: #39053
- Add comments in new router reducer: #39025
- Add additional comments for reducer/cachenode: #39065
- fix: print Request & Response properties: #38903
- fix: show
asPathon large page data warning: #39071 - Remove RSC rendering from render: #39045
- Ensure query is updated correctly with shallow and middleware: #39086
Example Changes
- Update default gitignore templates: #39051
- docs(examples): improve DX while copying command to create new project: #38410
- docs(example): Update Makeswift example: #39070
- fix: use
if..elif..elsein docker examples: #39072 - feat(with-mux-video): Update mux-player scope and version to latest.: #39079
- Convert
cms-agilitycmsexample to TypeScript: #38976
Misc Changes
- Update delayed test output handling: #39078
Credits
Huge thanks to @shuding, @thebergamo, @timneutkens, @fikrikarim, @Kikobeats, @balazsorban44, @clearlyTHUYDOAN, and @maxproske for helping!
Core Changes
- Add additional comments to new router: #38986
- Update config-schema for relay field to be less strict: #39010
- Add config for opting out of optimistic client cache behavior: #38774
- Fix tracing edge-runtime dependencies: #39009
- Ensure dangerouslyAllowSVG is passed correctly: #39031
- Handle getStaticPaths error inside worker to avoid serializing: #39032
- chore: enable swc externalHelpers when pre-compile: #38182
- Update to use HEAD request for On-Demand ISR: #39038
Example Changes
- Added workaround for --isolatedModules inside of configuration files: #39004
Misc Changes
- Update Safari 10 test to no longer wait for modern Safari: #39028
Credits
Huge thanks to @timneutkens, @titusdmoore, and @SukkaW for helping!
Core Changes
- Refactor router reducer: #38983
- Add state comparison to router: #38422
- update webpack: #38988
- Update config schema for empty basePath: #38998
- Add handling for prefetching onTouchStart and initial mobile testing : #38805
Documentation Changes
- Add section about building
getStaticPathson-demand.: #38943 - Docs: Fix grammatical typo: #38962
- docs: update typescript.md: #38717
- Add note to
next/future/imageabout default styles.: #38978
Example Changes
- Convert
custom-routes-proxyingexample to TypeScript: #38974
Credits
Huge thanks to @leerob, @xyeres, @nyedidikeke, @timneutkens, @maxproske, @shuding, and @sokra for helping!
Core Changes
- Fix error message typos: #38894
- Update to latest version of @vercel/nft: #38878
- fix(#38090): add missing
analyticsIdto config schema: #38911 - Ensure hash on initial request is preserved in new router: #38913
- Remove unnecessary assertions: #38899
- Clear unnecessary code: #38900
- fix: Impl
attachRequestMetain base server to handle meta differently in edge and node servers: #38932 - feat: enhance warning messages about unanalyzable
configfield: #38907 - fix: fix generateEtags type inside schema: #38936
Documentation Changes
- Remove next-page-tester from testing.md: #38920
Example Changes
- Add example with cookies-next package: #31243
- chore(example): convert
with-stitchesto TS: #38892 - Update Convex example not to ignore generated files: #38931
Credits
Huge thanks to @theMosaad, @SukkaW, @timneutkens, @Yuddomack, @msquitieri, @andreizanik, @nix6839, @shuding, @thomasballinger, and @ziishaned for helping!
Core Changes
- Remove dynamic params from
queryin new router: #38466 - Fix test page detection: #38475
- build(ci): enable rustls as default: #38471
- Handle on-demand-entries and error overlay for Server Components: #38480
- Add refreshing of Server Components: #38508
- Handle dynamic routes / catchall routes in on-demand entries: #38512
- chore(deps): Update swc: #38347
- Enable css import in rsc server side : #38418
- Pass missing incrementalCacheHandlerPath to IncrementalCache instance: #38433
- fix(next/build): correct payload for plugin telemetry: #38468
- Update some dependencies' versions :): #38427
- refactor(next/swc): disable default features for crash report: #38531
- fix: don't use optional chaining in ESLint rule: #38534
- feat(next-swc/auto-cjs): Detect
__esModule: #38181 - CSS modules support improvements for Server Components: #38536
- Handle development error when Server Component throws: #38550
- Upgrade edge-runtime + make EdgeRuntime value overridable with an env var on compilation: #38331
- Rename todos: #38560
- Fix injecting CSS link tags before page content: #38559
- Optimize Edge SSR bundle size: #38570
- Handle dev fouc for layout styling: #38557
- Fix independent CSSModule missing from flight manifest: #38575
- Mark dynamic as client component: #38574
- Add error when createServerContext is not available: #38578
- Handle server context being refreshed: #38580
- Pass server context to Flight render: #38582
- Ensure .client.tsx/.ts/.jsx Client Components can be imported: #38591
- Remove the
hide-fouctags after hydration: #38592 - Add heuristic for optimistic push: #38599
- Remove implemented todos: #38610
- Add next.config.js validation with ajv: #38498
- Fix
next/jestwhen testingnext/future/image: #38569 - refactor(next/telemetry): use basename for the absolute plugin path: #38473
- Remove the hide-fouc tag earlier: #38614
- Fix reloading Client Component require.cache: #38633
- Fix failed to hydrate error with global CSS: #38626
- Ensure selected segment is the value of dynamic routes: #38644
- Add focus and scroll management for new router: #38642
- New Router Tests: #38390
- Rename query to searchParams for getServerSideProps in new Router: #38654
- Refine scrolling into view in new router: #38682
- Improve element detection further: #38684
- Remove obsolete code from loader: #38681
- Fix check for optimistic routing and handle loading in server-patch: #38687
- add user check in
auth-with-stytch.: #38648 - Ensure flight manifest is correct with app and pages dir: #38716
- Fix missing client entry matcher and simplify imports path: #38691
- refactor: rewrite etag: #38568
- Fix CSSM loader applying for both pages and app: #38761
- Support postcss.config.cjs: #38486
- fix(next/swc): let async wasm binding coerce to sync correctly: #38780
- Ensure route group with separate root layout does not get wrapped in : #38792
- [edge] allow importing blob assets: #38492
- [ESLint] Make
src/a default linting directory: #38810 - Fix usage of
experimental-edgeinpages/api/index: #38024 - fix(edge-runtime): undefined global in edge runtime.: #38769
- Fix squoosh image optimization for Node.js 18: #38833
- chore: TS improvments: #38834
- fix: don't treat
output: "standalone"as custom server: #38831 - Improve
next/imageerror message whensrcprop is missing: #38847 - Remove the next/streaming endpoint and experimental refresh api: #38837
- Ensure module require is awaited in app-render: #38860
- Leverage mini css plugin hmr for app dir: #38830
- fix(edge): error handling for edge route and middleware is inconsistent: #38401
- fix: correct the next config optimizeCss type: #38879
- Update Edge Runtime: #38862
- Ensure mixed query/hash values are handled correctly: #38852
- fix(#38743): config.runtime support template literal: #38750
Documentation Changes
- Update api-middlewares.md: #38499
- Add note about standalone + runtimeConfig caveat: #38532
- Note about manually passing props from custom app: #37329
- [DOCS]: Middleware doesn't execute for on-demand ISR: #38562
- Update docs for
next/future/imagewith browser support: #38563 - Add missing closing curly bracket in compiler option example: #38586
- docs: clarify that
matcherneeds to be constant values: #38597 - Add documentation on accessibility.: #38522
- Add bundlejs site: #38677
- Update get-static-props.md: #38703
- update fallback docs: #38659
- Improve response body in Middleware error page.: #38537
- docs: improve wording on
pathnameandasPath: #38835
Example Changes
- chore: update file references in Auth0 example README: #38476
- chore(examples): Convert
api-routesexample to TypeScript: #38083 - Fix url of tRPC's
next-minimal-starter: #38452 - Update Fauna examples to support new FAUNA_DB_DOMAIN environment variable: #38434
- feat(examples): Use helper function in
with-sentryexample_error.js: #37866 - Update MongoDB example to use integration for deploy button.: #38738
- chore(examples): require
WORDPRESS_API_URLto include/graphql: #38764 - Update with-emotion-swc to use TypeScript: #38744
- chore: auto-detect preferred package manager in
Dockerfile: #38693 - chore: update
with-service-workerexample: #38670 - Fixup main Fauna example and drop support for outdated one: #38692
- Fix export issue in with-fauna example: #38812
- Update Convex example.: #38850
- chore: convert
with-dynamic-importto TypeScript: #38844 - chore(examples): Convert
with-cypressexample to TypeScript: #38818
Misc Changes
- Migrate rsc integration tests to e2e tests: #38460
- Update flakey unoptimized image test: #38478
- fix: fix bundle-analyzer plugin types: #38255
- Update CI job skipping based on related changes: #38479
- Fix rsc test during deploy testing: #38517
- Add docs condition for all azure steps: #38519
- skip rsc tests for react 17 e2e: #38524
- Add dev/start timing to PR stats: #38525
- chore: extend example contribution guidelines: #38511
- Fix e2e rsc test for deploy mode: #38538
- Add test env variables to readme: #38566
- Fix flaky rsc test: #38573
- chore: tweak issue validator: #38600
- Update to latest version of turbo: #38629
- chore: improve issue validator logs
- chore: tweak issue validator action
- Update version for yarn pnp tests: #38688
- Add dark mode to Create Next App: #38671
- Add note about test-trace artifact to test readme: #38770
- Fix postcss deploy e2e test: #38782
- test: disable the rsc flaky test temporarily: #38843
- Update edge blob asset e2e test: #38857
- ci: dropping macos-10.15: #38865
- Update query/hash test for safari: #38889
Credits
Huge thanks to @huozhi, @mihaic195, @ijjk, @kwonoj, @stefanprobst, @maxproske, @valcosmos, @KATT, @kdy1, @thiagomorales, @sanjaiyan-dev, @danielcavanagh, @balazsorban44, @shuding, @Schniz, @steven-tey, @styfle, @hellomhc, @trevor-fauna, @timneutkens, @leerob, @wyattjoh, @nguyenyou, @eminvergil, @lobsterkatie, @dorian-davis, @SukkaW, @sambecker, @isaac-martin, @JohnDaly, @housseindjirdeh, @lfades, @feugy, @thomasballinger, @amorimr, and @javivelasco for helping!
Core Changes
- fix(edge): error handling for edge route and middleware is inconsistent: #38401
- fix: correct the next config optimizeCss type: #38879
- Update Edge Runtime: #38862
- Ensure mixed query/hash values are handled correctly: #38852
- fix(#38743): config.runtime support template literal: #38750
Example Changes
- chore(examples): Convert
with-cypressexample to TypeScript: #38818
Misc Changes
- ci: dropping macos-10.15: #38865
- Update query/hash test for safari: #38889
Credits
Huge thanks to @SukkaW, @feugy, @amorimr, and @javivelasco for helping!
Core Changes
- Remove the next/streaming endpoint and experimental refresh api: #38837
- Ensure module require is awaited in app-render: #38860
- Leverage mini css plugin hmr for app dir: #38830
Example Changes
- Update Convex example.: #38850
- chore: convert
with-dynamic-importto TypeScript: #38844
Misc Changes
- Update edge blob asset e2e test: #38857
Credits
Huge thanks to @huozhi, @ijjk, @thomasballinger, and @balazsorban44 for helping!
Core Changes
- Ensure route group with separate root layout does not get wrapped in : #38792
- [edge] allow importing blob assets: #38492
- [ESLint] Make
src/a default linting directory: #38810 - Fix usage of
experimental-edgeinpages/api/index: #38024 - fix(edge-runtime): undefined global in edge runtime.: #38769
- Fix squoosh image optimization for Node.js 18: #38833
- chore: TS improvments: #38834
- fix: don't treat
output: "standalone"as custom server: #38831 - Improve
next/imageerror message whensrcprop is missing: #38847
Documentation Changes
- Improve response body in Middleware error page.: #38537
- docs: improve wording on
pathnameandasPath: #38835
Example Changes
- Fixup main Fauna example and drop support for outdated one: #38692
- Fix export issue in with-fauna example: #38812
Misc Changes
- Fix postcss deploy e2e test: #38782
- test: disable the rsc flaky test temporarily: #38843
Credits
Huge thanks to @leerob, @ijjk, @timneutkens, @Schniz, @trevor-fauna, @housseindjirdeh, @lfades, @feugy, @balazsorban44, @styfle, and @huozhi for helping!
Core Changes
- Support postcss.config.cjs: #38486
- fix(next/swc): let async wasm binding coerce to sync correctly: #38780
Documentation Changes
- update fallback docs: #38659
Example Changes
- chore(examples): require
WORDPRESS_API_URLto include/graphql: #38764 - Update with-emotion-swc to use TypeScript: #38744
- chore: auto-detect preferred package manager in
Dockerfile: #38693 - chore: update
with-service-workerexample: #38670
Misc Changes
- Add note about test-trace artifact to test readme: #38770
Credits
Huge thanks to @balazsorban44, @isaac-martin, @JohnDaly, and @kwonoj for helping!
Core Changes
- refactor: rewrite etag: #38568
- Fix CSSM loader applying for both pages and app: #38761
Example Changes
- Update MongoDB example to use integration for deploy button.: #38738
Misc Changes
- Add dark mode to Create Next App: #38671
Credits
Huge thanks to @SukkaW, @leerob, @huozhi, and @sambecker for helping!
Core Changes
- add user check in
auth-with-stytch.: #38648 - Ensure flight manifest is correct with app and pages dir: #38716
- Fix missing client entry matcher and simplify imports path: #38691
Documentation Changes
- Add bundlejs site: #38677
- Update get-static-props.md: #38703
Example Changes
- feat(examples): Use helper function in
with-sentryexample_error.js: #37866
Misc Changes
- Update version for yarn pnp tests: #38688
Credits
Huge thanks to @nguyenyou, @ijjk, @eminvergil, @lobsterkatie, @dorian-davis, and @huozhi for helping!
Core Changes
- Improve element detection further: #38684
- Remove obsolete code from loader: #38681
Core Changes
- New Router Tests: #38390
- Rename query to searchParams for getServerSideProps in new Router: #38654
- Refine scrolling into view in new router: #38682
Credits
Huge thanks to @wyattjoh for helping!
Core Changes
- Ensure selected segment is the value of dynamic routes: #38644
- Add focus and scroll management for new router: #38642
Documentation Changes
- Add documentation on accessibility.: #38522
Credits
Huge thanks to @leerob for helping!
Core Changes
- Add next.config.js validation with ajv: #38498
- Fix
next/jestwhen testingnext/future/image: #38569 - refactor(next/telemetry): use basename for the absolute plugin path: #38473
- Remove the hide-fouc tag earlier: #38614
- Fix reloading Client Component require.cache: #38633
- Fix failed to hydrate error with global CSS: #38626
Misc Changes
- chore: tweak issue validator: #38600
- Update to latest version of turbo: #38629
- chore: improve issue validator logs
Credits
Huge thanks to @ijjk, @styfle, @kwonoj, @shuding, and @balazsorban44 for helping!
Core Changes
- Remove the
hide-fouctags after hydration: #38592 - Add heuristic for optimistic push: #38599
- Remove implemented todos: #38610
Documentation Changes
- Add missing closing curly bracket in compiler option example: #38586
- docs: clarify that
matcherneeds to be constant values: #38597
Example Changes
- Update Fauna examples to support new FAUNA_DB_DOMAIN environment variable: #38434
Credits
Huge thanks to @shuding, @hellomhc, @balazsorban44, @trevor-fauna, and @timneutkens for helping!
Core Changes
- Ensure .client.tsx/.ts/.jsx Client Components can be imported: #38591
Core Changes
- Add error when createServerContext is not available: #38578
- Handle server context being refreshed: #38580
- Pass server context to Flight render: #38582
Core Changes
- Upgrade edge-runtime + make EdgeRuntime value overridable with an env var on compilation: #38331
- Rename todos: #38560
- Fix injecting CSS link tags before page content: #38559
- Optimize Edge SSR bundle size: #38570
- Handle dev fouc for layout styling: #38557
- Fix independent CSSModule missing from flight manifest: #38575
- Mark dynamic as client component: #38574
Documentation Changes
- [DOCS]: Middleware doesn't execute for on-demand ISR: #38562
- Update docs for
next/future/imagewith browser support: #38563
Misc Changes
- Fix e2e rsc test for deploy mode: #38538
- Add test env variables to readme: #38566
- Fix flaky rsc test: #38573
Credits
Huge thanks to @ijjk, @Schniz, @steven-tey, @styfle, @shuding, and @huozhi for helping!
Core Changes
- feat(next-swc/auto-cjs): Detect
__esModule: #38181 - CSS modules support improvements for Server Components: #38536
- Handle development error when Server Component throws: #38550
Credits
Huge thanks to @kdy1 and @shuding for helping!
Core Changes
- chore(deps): Update swc: #38347
- Enable css import in rsc server side : #38418
- Pass missing incrementalCacheHandlerPath to IncrementalCache instance: #38433
- fix(next/build): correct payload for plugin telemetry: #38468
- Update some dependencies' versions :): #38427
- refactor(next/swc): disable default features for crash report: #38531
- fix: don't use optional chaining in ESLint rule: #38534
Documentation Changes
- Add note about standalone + runtimeConfig caveat: #38532
- Note about manually passing props from custom app: #37329
Misc Changes
- Update CI job skipping based on related changes: #38479
- Fix rsc test during deploy testing: #38517
- Add docs condition for all azure steps: #38519
- skip rsc tests for react 17 e2e: #38524
- Add dev/start timing to PR stats: #38525
- chore: extend example contribution guidelines: #38511
Credits
Huge thanks to @kdy1, @huozhi, @thiagomorales, @kwonoj, @sanjaiyan-dev, @danielcavanagh, and @balazsorban44 for helping!
Core Changes
- Remove dynamic params from
queryin new router: #38466 - Fix test page detection: #38475
- build(ci): enable rustls as default: #38471
- Handle on-demand-entries and error overlay for Server Components: #38480
- Add refreshing of Server Components: #38508
- Handle dynamic routes / catchall routes in on-demand entries: #38512
Documentation Changes
- Update api-middlewares.md: #38499
Example Changes
- chore: update file references in Auth0 example README: #38476
- chore(examples): Convert
api-routesexample to TypeScript: #38083 - Fix url of tRPC's
next-minimal-starter: #38452
Misc Changes
- Migrate rsc integration tests to e2e tests: #38460
- Update flakey unoptimized image test: #38478
- fix: fix bundle-analyzer plugin types: #38255
Credits
Huge thanks to @huozhi, @mihaic195, @ijjk, @kwonoj, @stefanprobst, @maxproske, @valcosmos, and @KATT for helping!
Core Changes
- Update README.md: #38371
- Add support for catchall with new router: #38439
- Fix client entry point prefix: #38445
- Add support for optional catchall with new router: #38444
- Add handling for back/forward (popstate) between old and new router: #38453
- Make catchall parameters consistent with existing router: #38456
- Fix warning
next/future/imagesemicolon: #38454 - fix(next/build): disable next-swc crash reporting temporarily: #38472
Documentation Changes
- Update building-form sample code: #38437
- Update i18n routing example with Middleware.: #38419
- Adds mention of INP to "Measuring Performance" page: #38464
Example Changes
- Replace JS
blog-starterexample with TS, deprecateblog-starter-typescriptexample: #38395 - Convert
api-routes-rate-limitexample to TypeScript: #38393 - examples(with-jotai): Update example: #38398
- fix(examples/with-playwritght): use PORT env variable and fall back to 3000: #38107
- docs: add trpc to examples: #38272
- Convert
api-routes-restexample to TypeScript: #38394 - chore(examples): Convert
api-routes-graphqlexample to TypeScript: #38357
Credits
Huge thanks to @mongolyy, @balazsorban44, @maxproske, @leerob, @huozhi, @Thisen, @thebergamo, @zorrolisto, @styfle, @housseindjirdeh, and @kwonoj for helping!
Core Changes
- Update README.md: #38371
- Add support for catchall with new router: #38439
- Fix client entry point prefix: #38445
- Add support for optional catchall with new router: #38444
- Add handling for back/forward (popstate) between old and new router: #38453
- Make catchall parameters consistent with existing router: #38456
- Fix warning
next/future/imagesemicolon: #38454 - fix(next/build): disable next-swc crash reporting temporarily: #38472
Documentation Changes
- Update building-form sample code: #38437
- Update i18n routing example with Middleware.: #38419
- Adds mention of INP to "Measuring Performance" page: #38464
Example Changes
- Replace JS
blog-starterexample with TS, deprecateblog-starter-typescriptexample: #38395 - Convert
api-routes-rate-limitexample to TypeScript: #38393 - examples(with-jotai): Update example: #38398
- fix(examples/with-playwritght): use PORT env variable and fall back to 3000: #38107
- docs: add trpc to examples: #38272
- Convert
api-routes-restexample to TypeScript: #38394 - chore(examples): Convert
api-routes-graphqlexample to TypeScript: #38357
Credits
Huge thanks to @mongolyy, @balazsorban44, @maxproske, @leerob, @huozhi, @Thisen, @thebergamo, @zorrolisto, @styfle, @housseindjirdeh, and @kwonoj for helping!
Core Changes
- Remove unused
layoutRawconfig: #38120 - Fix invalid config warning for runtime config: #38122
- fix(next/config): update default config for the experimental: #38123
- feat(next/swc): setup native next-swc crash reporter: #38076
- Fix unnecessary flight render passes: #38133
- Readds missing
@next/next/no-assign-module-variableESLint rule.: #38134 - Fix failing to set initial ISR cache item in new folder: #38136
- Add default experimental values: #38135
- Fix error when
next/future/imageis missing width or height: #38132 - docs(readme.md): remove broken 404 links: #38104
- fix(#38106): use swc client config to pre-compile shared lib: #38137
- Fix chunk path resolution: #38162
- Revert "feat(next/swc): setup native next-swc crash reporter": #38170
- fix(next/swc): set cache dir explicitly: #38175
- Ensure @swc/helpers do not rely on hoisting: #38174
- Migrate rsc tests to app dir tests: #38158
- Check for performance.getEntriesByName before calling: #38186
- Adds tests to ensure
eslint-plugin-next's available rules are properly exported and recommended rules are correctly defined.: #38183 - Fix pageProps is missing when route changes: #38178
- feat(next/build): send next-swc plugins telemetry: #38116
- Ensure page.server.js matches correctly: #38236
- Alias react and react-dom by default: #38245
- Fix: convert head instances to array: #38252
- [edge] Make runtime addressable in compile time: #38288
- Ensure trailing slash is handled correctly with middleware: #38282
- Fix CSS modules imported from client components in app dir: #38310
- [edge] favor browser exports for edge compiler: #38319
- Fix CSS modules imported from client components in app dir with next build: #38329
- Honor NEXT_MANUAL_SIG_HANDLE flag in standalone mode: #38346
- Display stack trace when error occurs in API route: #38289
- Handle Client Rewrites Correctly: #38340
- Fix global CSS file imports: #38339
- [build] validate the exported config values: #38370
- Correctly check if width is lte 0 in Image Optimization API: #38226
- chore: shorten image blur svg placholder: #38157
- Enable swc minifier in create next apps: #38215
- Filter proper chunks from chunk group for client components: #38379
- [edge] enable edge compiler source maps by default: #38365
- Call Error.getInitialProps for the top level error: #21240
- feat: build edge functions with node.js modules and fail at runtime: #38234
- Implement new client-side router: #37551
- Add param names into the tree: #38415
- feat(next/swc): setup native next-swc crash reporter with platform supports: #38221
- Ensure server components entries are not part of the pages buildmanifest: #38416
- Add app-path-routes manifest: #38420
Documentation Changes
- Middleware docs update: #38111
- Update middleware upgrade guide w/ more rationale: #38074
- Update
next/future/imagedocs to mention the difference withnext/image: #38108 - Clarify router.query initial value during prerendering: #38093
- Remove
lazyRootexample fromnext/future/imagedoc: #38140 - Add a Makeswift example: #38018
- docs: remove eslint config link: #38206
- fix: middleware-upgrade-guide.md: #38246
- Typo in NextResponse docs: #38259
- Update
next/future/imagedocs to specify supported browser versions.: #38307 - Update get-static-props.md: #38287
- Clarification for Testing Environment Variables: #38359
- Fix typo in SWC plugin destructuring example: #38367
- Fix/update docs for swc styled components: #38280
- Update edge-runtime.md: #38271
- Add note about casing to getStaticPaths docs: #38426
Example Changes
- Adding with-ably example for realtime messaging in next apps: #37319
- Convert auth0 example to TypeScript: #38087
- Convert basic-export example to TypeScript: #38092
- Convert basic-css example to TypeScript: #38091
- Add Convex example: #38129
- Convert catch-all-routes example to TypeScript: #38188
- feat(examples): link to turbo next.js examples: #38173
- feat(examples): adds middleware example: #38240
- fix(examples): fix link on middleware example: #38323
- Update analysis scripts: #38201
- chore(examples): fix experiments loading npm wasm: #38348
- chore(examples): Convert
api-routes-corsexample to TypeScript: #38356 - chore(examples): Convert
api-routes-middlewareexample to TypeScript: #38358 - Remove CharkraProvicer RestCSS prop: #38199
- Add example: with-apivideo-upload: #36050
- Updates with-supertokens example: #38369
- fix: update with-msw example to function properly for all use cases: #38050
- chore(examples): Convert
blogexample to TypeScript: #38095
Misc Changes
- Add more code ownership paths for padmaia: #38121
- Fix create-next-app tests from changed example: #38154
- Fix missing trace script devDependencies: #38172
- chore: don't use
type: "module"when building the Issue validator action: #38197 - fix: declare NextBundleAnalyzer as a type: #38168
- Replace placeholder.com images with *.vercel.app in image-component tests: #38090
- chore: point to
/distfor local action - chore: fix issue validator paths
- Update some flaking tests for edge compiler and rsc: #38344
- chore: remove workspace from
package.jsonsince we have `pnpm-works…: #38166 - Revert "chore: remove workspace from
package.jsonsince we have `pnpm-works…": #38376 - Replace pre-commit with husky: #38350
- Add more CSS imports test cases: #38343
Credits
Huge thanks to @ethomson, @styfle, @padmaia, @kwonoj, @shuding, @ijjk, @manovotny, @thisisjofrank, @maxproske, @dominiksipowicz, @awareness481, @pakaponk, @SukkaW, @apledger, @wyattjoh, @huozhi, @thomasballinger, @balazsorban44, @longzheng, @tknickman, @rbrcsk, @emersonlaurentino, @carstenlebek, @edusig, @Schniz, @riccardogiorato, @leerob, @valcosmos, @hanneslund, @ryanhaticus, @j-mendez, @armandabric, @WinmezzZ, @andershagbard, @dammy001, @MarDi66, @stefanprobst, @okmttdhr, @rishabhpoddar, @marjorg, @dustinsgoodman, @zanechua, @feugy, and @timneutkens for helping!
Core Changes
- Add param names into the tree: #38415
- feat(next/swc): setup native next-swc crash reporter with platform supports: #38221
- Ensure server components entries are not part of the pages buildmanifest: #38416
- Add app-path-routes manifest: #38420
Documentation Changes
- Add note about casing to getStaticPaths docs: #38426
Credits
Huge thanks to @timneutkens and @kwonoj for helping!
Core Changes
- Honor NEXT_MANUAL_SIG_HANDLE flag in standalone mode: #38346
- Display stack trace when error occurs in API route: #38289
- Handle Client Rewrites Correctly: #38340
- Fix global CSS file imports: #38339
- [build] validate the exported config values: #38370
- Correctly check if width is lte 0 in Image Optimization API: #38226
- chore: shorten image blur svg placholder: #38157
- Enable swc minifier in create next apps: #38215
- Filter proper chunks from chunk group for client components: #38379
- [edge] enable edge compiler source maps by default: #38365
- Call Error.getInitialProps for the top level error: #21240
- feat: build edge functions with node.js modules and fail at runtime: #38234
- Implement new client-side router: #37551
Documentation Changes
- Update get-static-props.md: #38287
- Clarification for Testing Environment Variables: #38359
- Fix typo in SWC plugin destructuring example: #38367
- Fix/update docs for swc styled components: #38280
- Update edge-runtime.md: #38271
Example Changes
- Update analysis scripts: #38201
- chore(examples): fix experiments loading npm wasm: #38348
- chore(examples): Convert
api-routes-corsexample to TypeScript: #38356 - chore(examples): Convert
api-routes-middlewareexample to TypeScript: #38358 - Remove CharkraProvicer RestCSS prop: #38199
- Add example: with-apivideo-upload: #36050
- Updates with-supertokens example: #38369
- fix: update with-msw example to function properly for all use cases: #38050
- chore(examples): Convert
blogexample to TypeScript: #38095
Misc Changes
- Update some flaking tests for edge compiler and rsc: #38344
- chore: remove workspace from
package.jsonsince we have `pnpm-works…: #38166 - Revert "chore: remove workspace from
package.jsonsince we have `pnpm-works…": #38376 - Replace pre-commit with husky: #38350
- Add more CSS imports test cases: #38343
Credits
Huge thanks to @valcosmos, @hanneslund, @wyattjoh, @shuding, @ryanhaticus, @Schniz, @j-mendez, @maxproske, @armandabric, @WinmezzZ, @andershagbard, @dammy001, @MarDi66, @styfle, @stefanprobst, @padmaia, @huozhi, @okmttdhr, @rishabhpoddar, @marjorg, @dustinsgoodman, @zanechua, @feugy, and @timneutkens for helping!
Core Changes
- Fix: convert head instances to array: #38252
- [edge] Make runtime addressable in compile time: #38288
- Ensure trailing slash is handled correctly with middleware: #38282
- Fix CSS modules imported from client components in app dir: #38310
- [edge] favor browser exports for edge compiler: #38319
- Fix CSS modules imported from client components in app dir with next build: #38329
Documentation Changes
- fix: middleware-upgrade-guide.md: #38246
- Typo in NextResponse docs: #38259
- Update
next/future/imagedocs to specify supported browser versions.: #38307
Example Changes
- feat(examples): adds middleware example: #38240
- fix(examples): fix link on middleware example: #38323
Misc Changes
- chore: point to
/distfor local action - chore: fix issue validator paths
Credits
Huge thanks to @huozhi, @emersonlaurentino, @carstenlebek, @edusig, @Schniz, @shuding, @riccardogiorato, and @leerob for helping!
Core Changes
- fix(next/swc): set cache dir explicitly: #38175
- Ensure @swc/helpers do not rely on hoisting: #38174
- Migrate rsc tests to app dir tests: #38158
- Check for performance.getEntriesByName before calling: #38186
- Adds tests to ensure
eslint-plugin-next's available rules are properly exported and recommended rules are correctly defined.: #38183 - Fix pageProps is missing when route changes: #38178
- feat(next/build): send next-swc plugins telemetry: #38116
- Ensure page.server.js matches correctly: #38236
- Alias react and react-dom by default: #38245
Documentation Changes
- docs: remove eslint config link: #38206
Example Changes
- Add Convex example: #38129
- Convert catch-all-routes example to TypeScript: #38188
- feat(examples): link to turbo next.js examples: #38173
Misc Changes
- Fix missing trace script devDependencies: #38172
- chore: don't use
type: "module"when building the Issue validator action: #38197 - fix: declare NextBundleAnalyzer as a type: #38168
- Replace placeholder.com images with *.vercel.app in image-component tests: #38090
Credits
Huge thanks to @wyattjoh, @kwonoj, @huozhi, @thomasballinger, @maxproske, @balazsorban44, @longzheng, @manovotny, @tknickman, and @rbrcsk for helping!
Core Changes
- Fix chunk path resolution: #38162
- Revert "feat(next/swc): setup native next-swc crash reporter": #38170
Credits
Huge thanks to @shuding for helping!
Core Changes
- Flush initial styled-jsx in gIP first in concurrent rendering: #36594
- Add falling back to wasm swc build on native load failure: #36612
- feat(next-swc): introduce experimental tracing support for swc: #35803
- Add initial handling for routing tests: #36635
- Fix asPath handling for data route revalidation in minimal mode: #36660
- fix: react root enabled properly in custom server: #36664
- Route Loader Trusted Types Violation Fix: #34730
- Update components in GitHub Actions: #36669
- Fix various Trusted Types violations without use of policy: #34726
- Add experimental wildcard
remotePatternsconfig for upstream images: #36245 - Tweak routing tests: #36667
- Update renderOpts.dev handling and fix check: #36666
- fix: duplicate app server: #36710
- Add route loader: #36712
- Fix leftover todo in loader: #36734
- Leverage pageExtensions for resolving in loader: #36747
- Use react dom server node api to detect react root is enabled: #36749
- replace use-subscription with use-sync-external-store: #36733
- Add flight render starting point: #36760
- feat: better cookies API for Edge Functions: #36478
- Clarify variables being used during rendering: #36773
- Update x-nextjs-cache header in minimal mode: #36791
- Add experimental flag to force SWC transforms: #36789
- Update root component handling: #36781
- Add final newline to package-lock.json: #36813
- Move FlightManifestPlugin to server compilers: #36810
- Update moduleNameMapper jest config and remove extra deps: #36787
- Wait for shell resolve with gIP is customized in react 18: #36792
- Build x86_64-freebsd SWC binary: #36826
- Don't convert error to string: #36804
- fix(#36534): enable interopClientDefaultExport for next/jest: #36824
- fix(#30300): force export 404.html: #36827
- Telemetry: track usage of 'experimental/nextScriptWorkers': #36812
- Eagerly load swc bindings for wasm fallback for jest: #36784
- Add experimental config for basePath testing: #36843
- Enable html post optimization for react 18: #36837
- Update client router for tests: #36822
- Fix return type of middleware
req.cookies.get(): #36872 - Make esm default interpolation work with jest mock: #36877
- Decouple entries for server components and client components: #36860
- fix(#36855/#30300): export 404.html correctly: #36910
- Drop the unstable web vital hook and remove exports of flush effects: #36912
- Update swc: #36745
- Add additional layer for server components case: #36921
- Support graceful shutdowns: #36909
- Update @types/node-fetch to latest: #36953
- Fix SWC dynamic transform with suspense but without ssr: #36825
- fix(#36651): disable reactRemoveProperties in jest transform: #36922
- Update swc: #36972
- Update lockfile patching for different versions: #36959
- Add support for browserslist and legacyBrowsers experimental option: #36584
- Remove optional chaining from eslint rule to support older node versions: #36978
- escape flight response values: #36989
- fix(middleware): false positive dynamic code detection at build time: #36955
- Fix interopDefault on jest object-proxy: #37002
- Simplify the logic for static flight response generation: #36984
- Fixes
beforeInteractivescripts failing in custom document: #37000 - Change experimental
layout=rawto use native img lazy loading: #36985 - Don't add locale to client side redirects from data fetching: #36944
- Edge Cookies: Add
.getWithOptionsmethod: #36943 - Deprecate nested Middleware in favor of root middleware: #36772
- Fix styled-jsx not working in client components in the edge runtime when SSR: #37042
- Update to latest version of @vercel/nft: #37041
- Fixes beforeInteractive inline scripts don't run: #37033
- Update swc: #37009
- feat(middleware)!: forbids middleware response body: #36835
- Extract and refactor
getPageStaticInfo: #37062 - Keep custom app as non server component: #37044
- Ensure hydration error doc link is shown with react 18: #37074
- Stabilize SWC emotion transform plugin: #37058
- DecodeError from invalid URI causes 500 with middleware (vs 400 without): #36993
- feat: Opt-out Error page from dark scheme color: #36951
- Properly await for this.hasPage() in base-server: #37091
- Enable Trusted Types Compatibility in Webpack: #36750
- Fix Trusted Types violations from dangerouslySetInnerHTML on style elements: #36751
- Remove invalid attrs for head html element: #36457
- Fix next/link can't jump to non-latin anchors: #36430
- Fix: Cleaner error message when importing sass without it being installed in dev: #35051
- fix(#33081): handle relative path correctly: #36823
- fix: place the charset meta tag at the top of the head: #36561
- keep method when cloning Request, fixes #36522: #36539
- fix: Catch hash change errors, and emit a
routeChangeErrorevent: #36828 - fix: should listen for config file changes when specifying the app directory: #36570
- improve getStaticProps error message: #34287
- next-swc: Improve error message for nested styled jsx tags: #33805
- Add missing file in mini-css-extract-plugin: #25691
- fix NextApiRequestCookies and NextApiRequestQuery types: #25532
- Add eslint rule for not allowing styled-jsx in _document.js: #32678
- fix: Scroll restoration bug caused by
idxreset to 0 on reload: #36861 - Add JSX.Element to styles type in DocumentInitialProps: #36392
- Fix Type to solve issue found in #36008: #36671
- Warn when building a TS project with composite: true and fallback to incremental: #35270
- Support TS exactOptionalPropertyTypes (fixes #35280): #35281
- feat(middleware): issues warnings when using node.js global APIs in middleware: #36980
- perf: run type check and eslint in parallel: #37105
- Remove process.cwd usage from path polyfill: #37130
- Bump
@vercel/nftto 0.19.1: #37129 - Add libc field to swc packages: #37131
- chore(devDeps): bump @vercel/ncc to 0.33.4: #37113
- fix(typescript): worker execution failed with custom
next.config.js: #37125 - Update swc: #37148
- Update swc: #37149
- Fix client component hydration: #37134
- Avoid anonymous function in next/link: #37154
- should render the correct sizes passed when a noscript is rendered: #37161
- Use customized chunk loading implementation: #37163
- Rename app paths folder: #37146
- Fix experimental
remotePatternswildcard: #37137 - Split useServerResponse for initial responses: #37209
- Refactor fetchFlight: #37213
- build: import useSyncExternalStore from react when using react 18: #37212
- feat(next/swc): support experimental swc plugins: #36790
- Small code improvements: #37227
- build(actions): skip plugin features for non supported platform: #37229
- Use deterministic module IDs in the client bundle: #37249
- Execute middleware on Next.js internal requests: #37121
- Preload chunks for next/dynamic in suspense mode: #37245
- Refactor incremental cache to be extensible: #37258
- Ignore popstate with invalid state: #37110
- Show warning during build if page is returning a large amount of data: #37264
- Add
swcMinifyDebugOptions: #37172 - Update to leverage pnpm for monorepo: #37259
- Refactor client component out of client runtime: #37238
- Update to not trigger revalidation during prefetch: #37201
- Upgrade amp optimizer to v2.8.3: #27106
- Use Edge Runtime for running Edge Functions locally: #37024
- fix: do not pass
legacyBehaviourtoaas prop: #37306 - Add router replace to experiment: #37312
- Extract router utils to common functions: #37313
- Include router context as rsc shared dep: #37320
- Update to leverage turbo for build/prepublish: #37280
- Update of @babel/core: #37145
- Migrate prerender lru cache into fs cache handler: #37326
- support
runtime: edgein api endpoints: #36947 - Revert "support
runtime: edgein api endpoints": #37337 - Ensure type check/link worker does not retry: #37324
- Revert "Revert "support
runtime: edgein api endpoints"": #37344 - Revert Edge API endpoints: #37350
- Handle link with back/forward navigation: #37332
- Edge Functions: deprecate access to
request.page: #37349 - Fix bloat in main bundle from amp: #37383
- Add Suspense boundary to demo: #37393
- update webpack and watchpack: #37397
- Fix next dev not working for server components in app: #37403
- Use the new moduleMap option in the flight client during SSR: #37406
- Remove unused id rsc cache cleaning and avoid rsc refresh existed in client chunk: #37404
- Allow Middleware to set its matcher: #37177
- Skip loading unused plugins in
next dev: #37430 - Fix
next/imageusinglayout=rawwithpriority: #37381 - Fix document head with react 18: #37443
- Set
swcMinifyas an attribute onterser-webpack-plugin-optimizespan: #37416 - Allowing hiding the ReactDevOverlay: #37417
- Ensure ENOENT error is not ignored when loading pages: #37486
- Upgrade node-html-parser: #37449
- Fix invalid middleware regexp in manifest: #37492
- Avoid unnecessary router state changes: #37431
- Enable externalHelpers swc option: #37150
- Add check for duplicate locales: #37485
- add method to measure Interaction to Next Paint (INP): #36490
- chore: remove unused variable: #37538
- Update to latest version of @swc/helpers: #37531
- [middleware] Support any
methodwhen fetching aRequestinstance: #37540 - Migrate head side effects to hooks: #37526
- chore: remove unused safari nomodule fix: #37541
- fix(#37106): middleware can not be loaded from src folder: #37428
- Remove Middleware Preflight: #37490
- fix(eslint): false positive for legit next/server imports: #37515
- chore: reworks nested middleware error message: #37513
- Revert "Avoid unnecessary router state changes": #37572
- Middleware: remove
req.ua: #37512 - [middleware] support destructuring for env vars in static analysis: #37556
- Fix react root env missing in NextServer: #37562
- Fix client entry unexpectedly created in app dir: #37561
- Ensure check-precompiled exits correctly on failure: #37592
- Revert "Revert "Avoid unnecessary router state changes"": #37593
- Update to process redirects/rewrites for _next/data with middleware: #37574
- Bump @vercel/nft 0.20.0: #37602
- Strip next internal queries for flight response: #37617
- chore: narrows regexp to enable middleware source maps: #37582
- feat(next export): add warning if using getInitialProps: #37642
- Update matched path params priority: #37646
- Re-introduce Edge API Endpoints: #37481
- Fix rewrite/dynamic interpolation E2E cases: #37669
- Fix Image Optimization cache-control regression with external images: #37625
- Adds consistency to ESLint rules.: #34335
- Ensure custom middleware matcher is used correctly in client manifest: #37672
- Optimize middleware regex handling: #37688
- Revert "Revert "Revert "Avoid unnecessary router state changes""": #37692
- Add test combining middleware & config rewrites: #37667
- fix(ts): expose
DynamicOptionsLoadingPropstype: #37700 - Improve Middleware errors: #37695
- Ensure navigating with middleware parses route params correctly: #37704
- Fix shallow routing with rewrites/middleware: #37716
- chore: bump react dev dep to 18.2: #37697
- Ensure rewrite query params with middleware are available in router: #37724
- Update pre-compiled: #37729
- fix(eslint): allow
in conjunction with
(#37504): #37570 - [middleware] Warn dynamic WASM compilation: #37681
- Update to skip middleware for unstable_revalidate: #37734
- Remove previous query param deleting warning: #37740
- Enhance experimental feature warning: #37752
- Add
images.unoptimized: truefor easynext export: #37698 - Ensure eslint-config warning/errors are correct: #37760
- Refactor server routing: #37725
- refactor(middleware): leverages edge-runtime builtins to decorate errors in dev: #37718
- Ensure query params are populated correctly with middleware: #37784
- Use SVG blur technique for raw layout images: #37022
- fix(config): only warn experimental feature when used: #37755
- Display full refresh warning even when error has occurred: #37425
- Detect pnpm correctly when installing missing dependencies: #37813
- Throw an error when
target: 'serverless'is used with Middleware: #37819 - Enable
externalHelperswhen pre compiling Next.js' code: #37164 - Revert "Enable
externalHelperswhen pre compiling Next.js' code": #37829 - Allow Edge Functions to receive body: #37822
- Add hard navigation guard and fix middleware rewrite cases: #37815
- [edge api] allow wasm usage: #37836
- Include i18 and basePath on middleware with custom matchers: #37854
- Fix compile time log after error: #37863
- Fix
<Image/>'slazyRootand other optimizations: #37447 - resolve swc-plugin paths: #37412
- Update swc: #37607
- Ensure next-server tracing uses tracing root config: #37888
- Migrate middleware ssr to edge functions: #37708
- refactor: merge duplicated render page logic: #37897
- Fix styled-jsx types when package is not hoisted: #37902
- Remove full reload overlay and warn in CLI instead: #37874
- Remove NextResponse.json as we already have it defined from inheriting Response: #37887
- fix: keep _ssgManifest.js output uniform: #37906
- Fix next/head in _app in RSC pages: #37928
- Ensure resolvedUrl is correct with fallback rewrites: #37932
- Ensure special chars in middleware matcher is handled: #37933
- Drop experimental.reactRoot in favor of auto detection: #37956
- feat: enable configuration of
styled-componentstransform and enablecssprop support: #37861 - feat: enable styled-components css prop swc transform by default: #37962
- Ensure cache-control is correct when returning redirect: #37958
- Move styled-jsx type reference: #37964
- Add experimental
next/future/imagecomponent: #37927 - Remove Middleware warning message: #37973
- Fix hard navigation guard on popstate and handle fetching fresh data: #37970
- Fixes for middleware compilation errors: #37984
- Fix npm publish to include
futurefolder: #37999 - Move outputStandalone config: #37994
- Move
rimraffrom root packages using it: #37996 - On-demand ISR updates: #37955
- fix: hardcoded protocol in request url: #37925
- Fix eslint-config-next peer dep issue: #38009
- fix(#37981): handle legacy link behavior with number type children: #38013
- Fix invalid warning for existing experimental flag: #38027
- feat(cli): allow configuration of http-server's timeout configuration: #35827
- [eslint-plugin-next] remove
no-server-import-in-pagerule: #38028 - chore: rename middleware ssr loader and flight manifest to edge related: #38042
- Ensure we do not ignore module not found errors during build: #38026
- Rename page runtime edge to experimental-edge: #38041
- chore: make experimental images options optional: #38030
- Remove layout raw image experiment: #38006
- [Script] Allow
next/scriptto be placed in_documentbody: #37894 - [middleware] avoid fetching a chunk for api endpoints on middleware redirect: #37949
- Upgrade Edge Runtime: #38069
- feat(cli): report
eslint-config-nextversion innext info: #38062 - Add invariant with debug information when failing to load static file: #38075
- Add error for renaming of unstable_revalidate: #38070
- fix(next): bind new stream functions with base incomingMessage object: #37806
- Add
initto someNextResponsemethods: #38071 - Fix resolving dynamic routes when on returns a redirect: #38079
- Remove unnecessary
<noscript>fromnext/future/image: #38080 - Ensure history navigation is correct after query update: #38086
- Ensure client cache keys match between prefetch and transition: #38089
- Upgrade Edge Runtime: #38105
Documentation Changes
- docs: add jest-environment-jsdom package for Jest configuration: #36632
- Added type to Page Component for TypeScript: #36608
- Improve wording: #36649
- fix(docs): mention cookies in context: #36342
- Add docs about nextRuntime for custom webpack: #36685
- Updated the middleware api docs env section to remove dev and prod : #36739
- Fixed typo: #36753
- Fixing Tina + Adding a demo URL: #35480
- Updated copy around enabling source maps: #36852
- scss exects semicolon: #36779
- docs: add more details about nextRuntime in webpack config and runtime in next config: #36862
- Move CI build cache instructions to Deployment docs: #35418
- docs: adding changes to setCookie example: #36870
- Update no-floating-promises lint rule docs page: #36913
- Update runtime-configuration.md: #36923
- Clarify .env* environment variable priority: #36967
- Add note clarifying pnpm args handling: #37049
- typo: Change yarn into pnpm: #37092
- Include router.asPath caveats in docs: #36876
- docs: clarify environment variables behavior: #36620
- docs: Add pageExtensions usage note in API Routes: #35918
- Add docs about locale: #33401
- Clarify conditions under which process.env expressions are inlined: #33212
- Update testing.md: #29954
- Add section for jetbrains webstorm debugging: #24556
- Update incremental-static-regeneration.md: #37159
- Docs: missing parenthesis on example: #37156
- Use appropriate
classNameattribute for JSX: #37168 - Fix broken links in image.md: #37223
- Add note that
next buildoutput is compressed.: #37228 - add supported API's link to middleware docs: #37251
- Update
pnpm create next-appfor latest pnpm 6 and 7: #37254 - [docs] Clarify "When does getStaticProps run" note: #37289
- Improve
next/dynamicdocs and add links to layouts RFC.: #37244 - Add a note: #37315
- docs: fix usage in middleware errors: #37364
- Update nested Middleware error reference.: #37368
- Add note about NEXT_DATA hydration: #37480
- Update deployment documentation.: #37571
- i18n regression tests and docs for ignore locale in rewrite: #37581
- [Script] Updates stale
no-script-in-document-pageerror doc: #37568 - Fix links in google-font-display error: #37661
- Update Jest config with SWC docs: #37705
- Add upgrade guide for Middleware.: #37382
- Add missing error manifest entry and fix lint: #37758
- fix grammar in failed-loading-swc: #37765
- Update 4MB API Routes warning error guide.: #37779
- Update custom-document.md: #37811
- Fix broken link for no-script-in-document-page error.: #37831
- fix typo in example section of dynamic-import.md: #37834
- fix: missing parentheses: #37839
- Describe relation between region locale and country locale when a country is not found: #37745
- Change Middleware error guide from
.jsto.ts.: #37858 - Update Middleware docs to mention canary version.: #37865
- Fix typo in dynamic import section of dynamic-import.md: #37872
- chore(examples): fix
active-class-nameexample: #37828 - Fix some casing of "On-Demand ISR": #37892
- Adds new userAgent docs to the next/server docs page: #37613
- Add a Plasmic example: #37522
- Update Middleware beta message.: #37934
- docs: clarify
NextRequest.ip: #37987 - docs: return response in code example: #37985
- Fix flaky
onLoad()test fornext/image/future: #37993 - Fix typo for rewrites to rewrite.: #38000
- Add note about skipping upstream cache during revalidation: #38014
- Add SWC plugins to version history in docs.: #38039
- Fix typo for rewrites/redirects to rewrite/redirect: #38016
- Added ESLint upgrade instructions to middleware upgrade guide: #38008
- Rephrase middleware location: #38073
- Update middleware-upgrade-guide to be consistent: #38102
Example Changes
- Update buttercms example: #35436
- Fix mobile tests in with-playwright: #36705
- added example: with-geist-ui: #36525
- chore: upgrade dependencies in Jest examples: #36858
- Example/facebook pixel script: #34417
- fix(examples): maxlength was inconsistent: #36840
- chore: update Jest example snapshots: #36884
- Remove un-helpful error in with-sentry example: #36902
- Update to with-supertokens example: #36906
- Add with-markdoc/ example: #36867
- custom-server-express fix type definition and eliminate dead code: #37054
- fix(examples/with-segment-analytics): Update README: #35387
- fix(with-tailwindcss-emotion): 'theme' of undefined: #35588
- update zustand example: #35022
- example: Added with-contentlayer example: #30045
- docs: svg as component example leveraging swc instead of babeljs: #36410
- Fix gh-pages example for windows user: #35169
- Use apollo onError in with-apollo example: #25051
- [EXAMPLES] fix apollo client cache hydration: #27799
- docs(with-sentry): Add note regarding replacing wizardcopy.js config files: #37039
- feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes: #36439
- feat(examples): refactor
api-routes-graphqlto GraphQL Yoga: #36155 - refactor(examples/with-typescript-graphql): use codegen
TypedDocumentNodeand GraphQL Yoga for better DX and smaller bundle size: #36240 - Update
cms-kontentexample SDK package to v11: #37187 - Fix
cms-kontentexampleNext/Imagedomain error: #37188 - Update
cms-kontentexample to action PR feedback: #37206 - chore: simplify
with-styled-components: #37237 - add pnpm link to docs: #37221
- Fix with-contentlayer example build error: #37257
- chore: update
with-tailwindcssexample to TypeScript: #37208 - Updated graphql API to support v1.7.2: #35896
- Update GitHub Pages deployment example.: #37282
- change map function to forEach function: #37284
- Remove extra prettier config from tailwindcss example : #37351
- Update for CMS Wordpress Example.: #37402
- Fix with mux video example: #37434
- Changed _app.js to a functional component: #37635
- Bump version tailwindcss example to 3.1: #37633
- Update with-faunadb dependencies: #37650
- Request library required by setup: #37658
- Update with-mux-video to use latest upchunk and replace video player with mux-player-react: #37621
- Convert active-class-name example to TypeScript: #37676
- Add with-docker-compose example: #32668
- Convert hello-world example to TypeScript: #37706
- Update Ghost CMS Example: Accept-Version Header API requirement, typo: #37737
- Update Chakra-UI dependencies for React 18: #37772
- fix: markdown format for the blog-starter example: #37792
- Convert amp example to TypeScript: #37744
- feat: add correct type to with-styled-coponents: #37816
- Update Cosmic CMS Example: cosmicjs package to v4.1.7, update queries: #37693
- update devdDependencies @types/react and @types/react-dom : #37423
- [Examples] updated styled-components: #37856
- [Examples] Add external example with typescript to "with-material-ui" folder: #37846
- Adding example with-fingerprintjs-pro for identifying visitors: #37549
- chore: detect no canary verification: #37788
- Added with-particles template: #35471
- Fixing bug - Can't resolve 'prop-types': #38021
- Add *.tsbuildinfo to .gitignore of examples that use typescript: #38005
- Convert amp-first example to TypeScript: #38029
- fix(38043): replace double slashes with hashtag for comment lines in …: #38044
- Convert amp-story example to TypeScript: #38038
- Convert analyze-bundles example to TypeScript: #38040
Misc Changes
- Enable disabled tests that pass: #36644
- test: merge rsc custom app cases: #36713
- enforce omitting
nameandversion: #36771 - test: clean up duplicated tests: #36871
- Update to latest version of turbo: #37046
- Fix copying local swc binary for pnpm test: #37047
- Update a couple flakey tests: #37071
- Fixed anotation param name: #37075
- Enable E2E deploy tests on publish: #37019
- Merge multiple log statements: #35310
- Add typedef for next-bundle-analyzer: #35075
- next-bundle-analyzer: openAnalyzer option: #36493
- chore: add test for in-fragment HEAD reflection: #35320
- Add tests for getStaticProps and getServerSideProps: #37014
- Update deploy E2E test setup: #37126
- Fix example extraction when branch name contains slash: #37140
- Fix build-wasm CI job: #37165
- Update contributing doc and PR template for examples: #37193
- Update contributing doc and PR template for examples: #37215
- Update test config to only install pnpm when needed: #37222
- Fix memory allocation issue on linux gnu platform: #37243
- Add type definitions for next/mdx: #36815
- Ensure all bench dependencies are added: #37278
- add version step for publish
- Update swc builds : #37285
- Ensure pnpm is available during publish
- declare pnpm7 as engine: #37303
- Update install native script: #37354
- Update missed yarn -> pnpm in contributing: #37370
- Fix font-optimization snapshot test: #37432
- fix: removes invalid path from doc: #37415
- Update tests root->app: #37477
- test: upgrade playwright-chromium from 1.14.1 to 1.22.2: #37436
- Update flakey preview test: #37518
- Add middleware size stats: #37519
- Fix failing swc builds: #37629
- Update usage of example.com -> example.vercel.sh: #37630
- Update flakey next-script tests: #37663
- Allow passing FileRef directly to createNext: #37664
- Update middleware matcher e2e test: #37694
- Update concurrency for dev and start E2E tests: #37719
- Expose test timings token for e2e tests: #37756
- chore: use
pnpm installin tests: #37712 - Add bug report field to issue template: #37766
- Update to use latest version of pnpm: #37794
- Fix a couple flakey next-script and unoptimized image tests: #37848
- add a test that verifies that NextResponse can be cloned: #37883
- fix(ci): Don't build wasmer for freebsd and i686 windows target: #37891
- chore: add
action.ymlto Issue validator action: #37950 - feat(cli): support examples without
package.json: #37910 - Update middleware matcher test for root: #37961
- Ensure repo is checked out before running validate issue action: #37972
- Fix issue-validator path
- chore: use Node 16 for issue validator action: #37982
- Update to latest version of turbo: #37976
- Bump
releaseto 6.3.1: #37995 - Update flakey prefetch test: #37997
- Update expected error for middleware deploy test: #37998
- Update
.gitignoreto include@next/swc-wasm-nodejs: #38025 - chore: compile issue validator action: #37990
- Update image tests from placeholder.com to *.vercel.app: #38081
Credits
Huge thanks to @huozhi, @ijjk, @kwonoj, @ViolanteCodes, @akrabdev, @timneutkens, @jpveilleux, @stigkj, @jgoping, @oof2win2, @Brooooooklyn, @CGamesPlay, @lfades, @molebox, @steven-tey, @SukkaW, @Kikobeats, @balazsorban44, @erikbrinkman, @therealmarzouq, @remcohaszing, @perkinsjr, @shuding, @hanneslund, @housseindjirdeh, @RobertKeyser, @styfle, @htunnicliff, @lukeshumard, @sagnik3, @pixelass, @JoshuaKGoldberg, @rishabhpoddar, @nguyenyou, @kdy1, @sidwebworks, @gnoff, @gaspar09, @feugy, @mfix-stripe, @javivelasco, @Chastrlove, @goncharov-vlad, @NaveenDA, @Firfi, @idkwhojamesis, @FLCN-16, @icyJoseph, @ElijahPepe, @elskwid, @irvile, @Munawwar, @ykolbin, @hulufei, @baruchadi, @imadatyatalah, @await-ovo, @menosprezzi, @gazs, @Exortions, @rubens-lopes, @woochul2, @stefee, @stmtk1, @jlarmstrongiv, @MaedahBatool, @jameshfisher, @fabienheureux, @TxHawks, @mattbrandlysonos, @iggyzap, @src200, @AkifumiSato, @hermanskurichin, @kamilogorek, @ben-xD, @dawsonbooth, @Josehower, @crutchcorn, @ericmatthys, @CharlesStover, @charlypoly, @apmatthews, @naingaungphyo, @alexandrutasica, @stefanprobst, @dc7290, @DilwoarH, @tommarshall, @stanhong, @leerob, @appsbytom, @sshyam-gupta, @saulloalmeida, @indicozy, @ArianHamdi, @Clariity, @sebastianbenz, @7iomka, @gr-qft, @Schniz, @dgagn, @sokra, @okbel, @tbvjaos510, @dmvjs, @PepijnSenders, @JohnPhamous, @kyliau, @eric-burel, @alabhyajindal, @jsjoeio, @vorcigernix, @clearlyTHUYDOAN, @splatterxl, @manovotny, @maxproske, @nvh95, @frankievalentine, @nuta, @bagpyp, @dfelsie, @qqpann, @atcastle, @jsimonrichard, @mass2527, @ekamkohli, @Yuddomack, @tonyspiro, @saurabhmehta1601, @banner4422, @falsepopsky, @jantimon, @henriqueholtz, @ilfa, @matteobruni, @ryscheng, @hoonoh, @ForsakenHarmony, @william-keller, @AleksaC, @Miikis, @zakiego, @radunemerenco, @AliYusuf95, and @dominiksipowicz for helping!
Core Changes
- Upgrade Edge Runtime: #38105
Documentation Changes
- Update middleware-upgrade-guide to be consistent: #38102
Credits
Huge thanks to @Kikobeats and @dominiksipowicz for helping!
Core Changes
- Remove unnecessary
<noscript>fromnext/future/image: #38080 - Ensure history navigation is correct after query update: #38086
- Ensure client cache keys match between prefetch and transition: #38089
Misc Changes
- Update image tests from placeholder.com to *.vercel.app: #38081
Credits
Huge thanks to @styfle for helping!
Core Changes
- fix(next): bind new stream functions with base incomingMessage object: #37806
- Add
initto someNextResponsemethods: #38071 - Fix resolving dynamic routes when on returns a redirect: #38079
Credits
Huge thanks to @AliYusuf95 and @javivelasco for helping!
Core Changes
- fix: hardcoded protocol in request url: #37925
- Fix eslint-config-next peer dep issue: #38009
- fix(#37981): handle legacy link behavior with number type children: #38013
- Fix invalid warning for existing experimental flag: #38027
- feat(cli): allow configuration of http-server's timeout configuration: #35827
- [eslint-plugin-next] remove
no-server-import-in-pagerule: #38028 - chore: rename middleware ssr loader and flight manifest to edge related: #38042
- Ensure we do not ignore module not found errors during build: #38026
- Rename page runtime edge to experimental-edge: #38041
- chore: make experimental images options optional: #38030
- Remove layout raw image experiment: #38006
- [Script] Allow
next/scriptto be placed in_documentbody: #37894 - [middleware] avoid fetching a chunk for api endpoints on middleware redirect: #37949
- Upgrade Edge Runtime: #38069
- feat(cli): report
eslint-config-nextversion innext info: #38062 - Add invariant with debug information when failing to load static file: #38075
- Add error for renaming of unstable_revalidate: #38070
Documentation Changes
- Add note about skipping upstream cache during revalidation: #38014
- Add SWC plugins to version history in docs.: #38039
- Fix typo for rewrites/redirects to rewrite/redirect: #38016
- Added ESLint upgrade instructions to middleware upgrade guide: #38008
- Rephrase middleware location: #38073
Example Changes
- Fixing bug - Can't resolve 'prop-types': #38021
- Add *.tsbuildinfo to .gitignore of examples that use typescript: #38005
- Convert amp-first example to TypeScript: #38029
- fix(38043): replace double slashes with hashtag for comment lines in …: #38044
- Convert amp-story example to TypeScript: #38038
- Convert analyze-bundles example to TypeScript: #38040
Misc Changes
- Update
.gitignoreto include@next/swc-wasm-nodejs: #38025 - chore: compile issue validator action: #37990
Credits
Huge thanks to @feugy, @SukkaW, @william-keller, @lfades, @AleksaC, @Miikis, @maxproske, @Schniz, @leerob, @huozhi, @zakiego, @balazsorban44, @radunemerenco, @steven-tey, @stefanprobst, @styfle, @javivelasco, @housseindjirdeh, and @Kikobeats for helping!
Core Changes
- Fix npm publish to include
futurefolder: #37999 - Move outputStandalone config: #37994
- Move
rimraffrom root packages using it: #37996 - On-demand ISR updates: #37955
Documentation Changes
- Fix flaky
onLoad()test fornext/image/future: #37993 - Fix typo for rewrites to rewrite.: #38000
Misc Changes
- Bump
releaseto 6.3.1: #37995 - Update flakey prefetch test: #37997
- Update expected error for middleware deploy test: #37998
Credits
Huge thanks to @ijjk and @leerob for helping!
Core Changes
- Add experimental
next/future/imagecomponent: #37927 - Remove Middleware warning message: #37973
- Fix hard navigation guard on popstate and handle fetching fresh data: #37970
- Fixes for middleware compilation errors: #37984
Documentation Changes
- docs: clarify
NextRequest.ip: #37987 - docs: return response in code example: #37985
Misc Changes
- Ensure repo is checked out before running validate issue action: #37972
- Fix issue-validator path
- chore: use Node 16 for issue validator action: #37982
- Update to latest version of turbo: #37976
Credits
Huge thanks to @ijjk, @balazsorban44, @leerob, @styfle, and @javivelasco for helping!
Core Changes
- Ensure special chars in middleware matcher is handled: #37933
- Drop experimental.reactRoot in favor of auto detection: #37956
- feat: enable configuration of
styled-componentstransform and enablecssprop support: #37861 - feat: enable styled-components css prop swc transform by default: #37962
- Ensure cache-control is correct when returning redirect: #37958
- Move styled-jsx type reference: #37964
Documentation Changes
- Update Middleware beta message.: #37934
Misc Changes
- chore: add
action.ymlto Issue validator action: #37950 - feat(cli): support examples without
package.json: #37910 - Update middleware matcher test for root: #37961
Credits
Huge thanks to @leerob, @balazsorban44, @huozhi, and @ForsakenHarmony for helping!
Core Changes
- refactor: merge duplicated render page logic: #37897
- Fix styled-jsx types when package is not hoisted: #37902
- Remove full reload overlay and warn in CLI instead: #37874
- Remove NextResponse.json as we already have it defined from inheriting Response: #37887
- fix: keep _ssgManifest.js output uniform: #37906
- Fix next/head in _app in RSC pages: #37928
- Ensure resolvedUrl is correct with fallback rewrites: #37932
Documentation Changes
- Adds new userAgent docs to the next/server docs page: #37613
- Add a Plasmic example: #37522
Example Changes
- [Examples] Add external example with typescript to "with-material-ui" folder: #37846
- Adding example with-fingerprintjs-pro for identifying visitors: #37549
- chore: detect no canary verification: #37788
- Added with-particles template: #35471
Credits
Huge thanks to @huozhi, @henriqueholtz, @ilfa, @balazsorban44, @molebox, @matteobruni, @ryscheng, @hanneslund, @Schniz, @hoonoh, and @shuding for helping!
Core Changes
- Migrate middleware ssr to edge functions: #37708
Documentation Changes
- Fix some casing of "On-Demand ISR": #37892
Misc Changes
- fix(ci): Don't build wasmer for freebsd and i686 windows target: #37891
Credits
Huge thanks to @huozhi and @kdy1 for helping!
Core Changes
- Use SVG blur technique for raw layout images: #37022
- fix(config): only warn experimental feature when used: #37755
- Display full refresh warning even when error has occurred: #37425
- Detect pnpm correctly when installing missing dependencies: #37813
- Throw an error when
target: 'serverless'is used with Middleware: #37819 - Enable
externalHelperswhen pre compiling Next.js' code: #37164 - Revert "Enable
externalHelperswhen pre compiling Next.js' code": #37829 - Allow Edge Functions to receive body: #37822
- Add hard navigation guard and fix middleware rewrite cases: #37815
- [edge api] allow wasm usage: #37836
Documentation Changes
- Update custom-document.md: #37811
- Fix broken link for no-script-in-document-page error.: #37831
- fix typo in example section of dynamic-import.md: #37834
- fix: missing parentheses: #37839
- Describe relation between region locale and country locale when a country is not found: #37745
Example Changes
- fix: markdown format for the blog-starter example: #37792
- Convert amp example to TypeScript: #37744
- feat: add correct type to with-styled-coponents: #37816
- Update Cosmic CMS Example: cosmicjs package to v4.1.7, update queries: #37693
- update devdDependencies @types/react and @types/react-dom : #37423
Misc Changes
- Update to use latest version of pnpm: #37794
- Fix a couple flakey next-script and unoptimized image tests: #37848
Credits
Huge thanks to @qqpann, @atcastle, @SukkaW, @maxproske, @jsimonrichard, @hanneslund, @Schniz, @mass2527, @leerob, @ekamkohli, @Yuddomack, @tonyspiro, @saurabhmehta1601, and @eric-burel for helping!
Core Changes
- Update pre-compiled: #37729
- fix(eslint): allow
in conjunction with
(#37504): #37570 - [middleware] Warn dynamic WASM compilation: #37681
- Update to skip middleware for unstable_revalidate: #37734
- Remove previous query param deleting warning: #37740
- Enhance experimental feature warning: #37752
- Add
images.unoptimized: truefor easynext export: #37698 - Ensure eslint-config warning/errors are correct: #37760
- Refactor server routing: #37725
- refactor(middleware): leverages edge-runtime builtins to decorate errors in dev: #37718
- Ensure query params are populated correctly with middleware: #37784
Documentation Changes
- Add upgrade guide for Middleware.: #37382
- Add missing error manifest entry and fix lint: #37758
- fix grammar in failed-loading-swc: #37765
- Update 4MB API Routes warning error guide.: #37779
Example Changes
- Update Ghost CMS Example: Accept-Version Header API requirement, typo: #37737
- Update Chakra-UI dependencies for React 18: #37772
Misc Changes
- Expose test timings token for e2e tests: #37756
- chore: use
pnpm installin tests: #37712 - Add bug report field to issue template: #37766
Credits
Huge thanks to @frankievalentine, @nuta, @leerob, @balazsorban44, @bagpyp, @styfle, @javivelasco, @dfelsie, and @feugy for helping!
Core Changes
- Add test combining middleware & config rewrites: #37667
- fix(ts): expose
DynamicOptionsLoadingPropstype: #37700 - Improve Middleware errors: #37695
- Ensure navigating with middleware parses route params correctly: #37704
- Fix shallow routing with rewrites/middleware: #37716
- chore: bump react dev dep to 18.2: #37697
- Ensure rewrite query params with middleware are available in router: #37724
Documentation Changes
- Update Jest config with SWC docs: #37705
Example Changes
- Convert hello-world example to TypeScript: #37706
Misc Changes
- Update middleware matcher e2e test: #37694
- Update concurrency for dev and start E2E tests: #37719
Credits
Huge thanks to @javivelasco, @balazsorban44, @nvh95, @maxproske, @Schniz, and @huozhi for helping!
Core Changes
- Optimize middleware regex handling: #37688
- Revert "Revert "Revert "Avoid unnecessary router state changes""": #37692
Example Changes
- Convert active-class-name example to TypeScript: #37676
- Add with-docker-compose example: #32668
Credits
Huge thanks to @maxproske for helping!
Core Changes
- Fix Image Optimization cache-control regression with external images: #37625
- Adds consistency to ESLint rules.: #34335
- Ensure custom middleware matcher is used correctly in client manifest: #37672
Credits
Huge thanks to @styfle and @manovotny for helping!
Core Changes
- Re-introduce Edge API Endpoints: #37481
- Fix rewrite/dynamic interpolation E2E cases: #37669
Misc Changes
- Allow passing FileRef directly to createNext: #37664
Credits
Huge thanks to @Schniz for helping!
Core Changes
- chore: narrows regexp to enable middleware source maps: #37582
- feat(next export): add warning if using getInitialProps: #37642
- Update matched path params priority: #37646
Documentation Changes
- [Script] Updates stale
no-script-in-document-pageerror doc: #37568 - Fix links in google-font-display error: #37661
Example Changes
- Fix with mux video example: #37434
- Changed _app.js to a functional component: #37635
- Bump version tailwindcss example to 3.1: #37633
- Update with-faunadb dependencies: #37650
- Request library required by setup: #37658
- Update with-mux-video to use latest upchunk and replace video player with mux-player-react: #37621
Misc Changes
- Update flakey next-script tests: #37663
Credits
Huge thanks to @icyJoseph, @feugy, @alabhyajindal, @nguyenyou, @jsjoeio, @vorcigernix, @housseindjirdeh, @clearlyTHUYDOAN, and @splatterxl for helping!
Misc Changes
- Fix failing swc builds: #37629
- Update usage of example.com -> example.vercel.sh: #37630
Core Changes
- Revert "Avoid unnecessary router state changes": #37572
Documentation Changes
- Update deployment documentation.: #37571
Credits
Huge thanks to @leerob and @shuding for helping!
Core Changes
- Avoid unnecessary router state changes: #37431
- Enable externalHelpers swc option: #37150
- Add check for duplicate locales: #37485
- add method to measure Interaction to Next Paint (INP): #36490
- chore: remove unused variable: #37538
- Update to latest version of @swc/helpers: #37531
- [middleware] Support any
methodwhen fetching aRequestinstance: #37540 - Migrate head side effects to hooks: #37526
- chore: remove unused safari nomodule fix: #37541
- fix(#37106): middleware can not be loaded from src folder: #37428
- Remove Middleware Preflight: #37490
- fix(eslint): false positive for legit next/server imports: #37515
- chore: reworks nested middleware error message: #37513
Misc Changes
- test: upgrade playwright-chromium from 1.14.1 to 1.22.2: #37436
- Update flakey preview test: #37518
- Add middleware size stats: #37519
Credits
Huge thanks to @kyliau, @shuding, @eric-burel, @balazsorban44, @Schniz, @huozhi, @SukkaW, @feugy, and @javivelasco for helping!
Core Changes
- Fix invalid middleware regexp in manifest: #37492
Documentation Changes
- Add note about NEXT_DATA hydration: #37480
Credits
Huge thanks to @MaedahBatool for helping!
Core Changes
- Fix next dev not working for server components in app: #37403
- Use the new moduleMap option in the flight client during SSR: #37406
- Remove unused id rsc cache cleaning and avoid rsc refresh existed in client chunk: #37404
- Allow Middleware to set its matcher: #37177
- Skip loading unused plugins in
next dev: #37430 - Fix
next/imageusinglayout=rawwithpriority: #37381 - Fix document head with react 18: #37443
- Set
swcMinifyas an attribute onterser-webpack-plugin-optimizespan: #37416 - Allowing hiding the ReactDevOverlay: #37417
- Ensure ENOENT error is not ignored when loading pages: #37486
- Upgrade node-html-parser: #37449
Example Changes
- Update for CMS Wordpress Example.: #37402
Misc Changes
- Fix font-optimization snapshot test: #37432
- fix: removes invalid path from doc: #37415
- Update tests root->app: #37477
Credits
Huge thanks to @shuding, @huozhi, @okbel, @Schniz, @styfle, @tbvjaos510, @dmvjs, @timneutkens, @PepijnSenders, and @JohnPhamous for helping!
Core Changes
- update webpack and watchpack: #37397
Credits
Huge thanks to @sokra for helping!
Core Changes
- Edge Functions: deprecate access to
request.page: #37349 - Fix bloat in main bundle from amp: #37383
- Add Suspense boundary to demo: #37393
Documentation Changes
- docs: fix usage in middleware errors: #37364
- Update nested Middleware error reference.: #37368
Misc Changes
- Update install native script: #37354
- Update missed yarn -> pnpm in contributing: #37370
Credits
Huge thanks to @huozhi, @ijjk, @leerob, @Kikobeats, and @styfle for helping!
Core Changes
- Revert "Revert "support
runtime: edgein api endpoints"": #37344 - Revert Edge API endpoints: #37350
- Handle link with back/forward navigation: #37332
Example Changes
- Remove extra prettier config from tailwindcss example : #37351
Credits
Huge thanks to @Schniz and @dgagn for helping!
Core Changes
- Include router context as rsc shared dep: #37320
- Update to leverage turbo for build/prepublish: #37280
- Update of @babel/core: #37145
- Migrate prerender lru cache into fs cache handler: #37326
- support
runtime: edgein api endpoints: #36947 - Revert "support
runtime: edgein api endpoints": #37337 - Ensure type check/link worker does not retry: #37324
Documentation Changes
- Add a note: #37315
Credits
Huge thanks to @huozhi, @7iomka, @gr-qft, @Schniz, and @shuding for helping!
Core Changes
- Use Edge Runtime for running Edge Functions locally: #37024
Misc Changes
- declare pnpm7 as engine: #37303
Credits
Huge thanks to @Kikobeats for helping!
Core Changes
- Update to not trigger revalidation during prefetch: #37201
- Upgrade amp optimizer to v2.8.3: #27106
Documentation Changes
- Improve
next/dynamicdocs and add links to layouts RFC.: #37244
Misc Changes
- Ensure pnpm is available during publish
Credits
Huge thanks to @leerob and @sebastianbenz for helping!
Core Changes
- Use deterministic module IDs in the client bundle: #37249
- Execute middleware on Next.js internal requests: #37121
- Preload chunks for next/dynamic in suspense mode: #37245
Documentation Changes
- add supported API's link to middleware docs: #37251
Example Changes
- chore: simplify
with-styled-components: #37237 - add pnpm link to docs: #37221
Misc Changes
- Fix memory allocation issue on linux gnu platform: #37243
Credits
Huge thanks to @Brooooooklyn, @balazsorban44, @shuding, @javivelasco, @appsbytom, and @huozhi for helping!
Core Changes
- build(actions): skip plugin features for non supported platform: #37229
Credits
Huge thanks to @kwonoj for helping!
Core Changes
- Use customized chunk loading implementation: #37163
- Rename app paths folder: #37146
Documentation Changes
- Use appropriate
classNameattribute for JSX: #37168
Credits
Huge thanks to @shuding, @DilwoarH, and @ijjk for helping!
Core Changes
- should render the correct sizes passed when a noscript is rendered: #37161
Misc Changes
- Fix build-wasm CI job: #37165
Credits
Huge thanks to @dc7290 for helping!
Core Changes
- Remove process.cwd usage from path polyfill: #37130
- Bump
@vercel/nftto 0.19.1: #37129 - Add libc field to swc packages: #37131
- chore(devDeps): bump @vercel/ncc to 0.33.4: #37113
- fix(typescript): worker execution failed with custom
next.config.js: #37125
Example Changes
- feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes: #36439
- feat(examples): refactor
api-routes-graphqlto GraphQL Yoga: #36155 - refactor(examples/with-typescript-graphql): use codegen
TypedDocumentNodeand GraphQL Yoga for better DX and smaller bundle size: #36240
Misc Changes
- Update deploy E2E test setup: #37126
- Fix example extraction when branch name contains slash: #37140
Credits
Huge thanks to @charlypoly, @huozhi, @styfle, @SukkaW, and @apmatthews for helping!
Core Changes
- Extract and refactor
getPageStaticInfo: #37062 - Keep custom app as non server component: #37044
- Ensure hydration error doc link is shown with react 18: #37074
- Stabilize SWC emotion transform plugin: #37058
- DecodeError from invalid URI causes 500 with middleware (vs 400 without): #36993
- feat: Opt-out Error page from dark scheme color: #36951
- Properly await for this.hasPage() in base-server: #37091
- Enable Trusted Types Compatibility in Webpack: #36750
- Fix Trusted Types violations from dangerouslySetInnerHTML on style elements: #36751
- Remove invalid attrs for head html element: #36457
- Fix next/link can't jump to non-latin anchors: #36430
- Fix: Cleaner error message when importing sass without it being installed in dev: #35051
- fix(#33081): handle relative path correctly: #36823
- fix: place the charset meta tag at the top of the head: #36561
- keep method when cloning Request, fixes #36522: #36539
- fix: Catch hash change errors, and emit a
routeChangeErrorevent: #36828 - fix: should listen for config file changes when specifying the app directory: #36570
- improve getStaticProps error message: #34287
- next-swc: Improve error message for nested styled jsx tags: #33805
- Add missing file in mini-css-extract-plugin: #25691
- fix NextApiRequestCookies and NextApiRequestQuery types: #25532
- Add eslint rule for not allowing styled-jsx in _document.js: #32678
- fix: Scroll restoration bug caused by
idxreset to 0 on reload: #36861 - Add JSX.Element to styles type in DocumentInitialProps: #36392
- Fix Type to solve issue found in #36008: #36671
- Warn when building a TS project with composite: true and fallback to incremental: #35270
- Support TS exactOptionalPropertyTypes (fixes #35280): #35281
- feat(middleware): issues warnings when using node.js global APIs in middleware: #36980
- perf: run type check and eslint in parallel: #37105
Documentation Changes
- Add note clarifying pnpm args handling: #37049
- typo: Change yarn into pnpm: #37092
- Include router.asPath caveats in docs: #36876
- docs: clarify environment variables behavior: #36620
- docs: Add pageExtensions usage note in API Routes: #35918
- Add docs about locale: #33401
- Clarify conditions under which process.env expressions are inlined: #33212
- Update testing.md: #29954
- Add section for jetbrains webstorm debugging: #24556
Example Changes
- custom-server-express fix type definition and eliminate dead code: #37054
- fix(examples/with-segment-analytics): Update README: #35387
- fix(with-tailwindcss-emotion): 'theme' of undefined: #35588
- update zustand example: #35022
- example: Added with-contentlayer example: #30045
- docs: svg as component example leveraging swc instead of babeljs: #36410
- Fix gh-pages example for windows user: #35169
- Use apollo onError in with-apollo example: #25051
- [EXAMPLES] fix apollo client cache hydration: #27799
- docs(with-sentry): Add note regarding replacing wizardcopy.js config files: #37039
Misc Changes
- Update a couple flakey tests: #37071
- Fixed anotation param name: #37075
- Enable E2E deploy tests on publish: #37019
- Merge multiple log statements: #35310
- Add typedef for next-bundle-analyzer: #35075
- next-bundle-analyzer: openAnalyzer option: #36493
- chore: add test for in-fragment HEAD reflection: #35320
- Add tests for getStaticProps and getServerSideProps: #37014
Credits
Huge thanks to @ijjk, @javivelasco, @huozhi, @goncharov-vlad, @Brooooooklyn, @NaveenDA, @Firfi, @idkwhojamesis, @FLCN-16, @icyJoseph, @ElijahPepe, @jgoping, @elskwid, @irvile, @Munawwar, @ykolbin, @hulufei, @baruchadi, @imadatyatalah, @SukkaW, @balazsorban44, @await-ovo, @menosprezzi, @gazs, @Exortions, @rubens-lopes, @woochul2, @stefee, @stmtk1, @jlarmstrongiv, @hanneslund, @MaedahBatool, @jameshfisher, @fabienheureux, @TxHawks, @mattbrandlysonos, @iggyzap, @src200, @AkifumiSato, @hermanskurichin, @kamilogorek, @ben-xD, @dawsonbooth, @Josehower, @crutchcorn, @ericmatthys, @CharlesStover, and @feugy for helping!
Core Changes
- Fixes beforeInteractive inline scripts don't run: #37033
- Update swc: #37009
- feat(middleware)!: forbids middleware response body: #36835
Misc Changes
- Update to latest version of turbo: #37046
- Fix copying local swc binary for pnpm test: #37047
Credits
Huge thanks to @Chastrlove, @kdy1, and @feugy for helping!
Core Changes
- Edge Cookies: Add
.getWithOptionsmethod: #36943 - Deprecate nested Middleware in favor of root middleware: #36772
- Fix styled-jsx not working in client components in the edge runtime when SSR: #37042
- Update to latest version of @vercel/nft: #37041
Credits
Huge thanks to @Kikobeats, @javivelasco, and @shuding for helping!
Core Changes
- Remove optional chaining from eslint rule to support older node versions: #36978
- escape flight response values: #36989
- fix(middleware): false positive dynamic code detection at build time: #36955
- Fix interopDefault on jest object-proxy: #37002
- Simplify the logic for static flight response generation: #36984
- Fixes
beforeInteractivescripts failing in custom document: #37000 - Change experimental
layout=rawto use native img lazy loading: #36985 - Don't add locale to client side redirects from data fetching: #36944
Documentation Changes
- Clarify .env* environment variable priority: #36967
Example Changes
- Add with-markdoc/ example: #36867
Credits
Huge thanks to @hanneslund, @gnoff, @gaspar09, @feugy, @shuding, @housseindjirdeh, @styfle, and @mfix-stripe for helping!
Core Changes
- Make esm default interpolation work with jest mock: #36877
- Decouple entries for server components and client components: #36860
- fix(#36855/#30300): export 404.html correctly: #36910
- Drop the unstable web vital hook and remove exports of flush effects: #36912
- Update swc: #36745
- Add additional layer for server components case: #36921
- Support graceful shutdowns: #36909
- Update @types/node-fetch to latest: #36953
- Fix SWC dynamic transform with suspense but without ssr: #36825
- fix(#36651): disable reactRemoveProperties in jest transform: #36922
- Update swc: #36972
- Update lockfile patching for different versions: #36959
- Add support for browserslist and legacyBrowsers experimental option: #36584
Documentation Changes
- Update no-floating-promises lint rule docs page: #36913
- Update runtime-configuration.md: #36923
Example Changes
- chore: update Jest example snapshots: #36884
- Remove un-helpful error in with-sentry example: #36902
- Update to with-supertokens example: #36906
Credits
Huge thanks to @balazsorban44, @Brooooooklyn, @shuding, @SukkaW, @JoshuaKGoldberg, @huozhi, @rishabhpoddar, @nguyenyou, @kdy1, @timneutkens, @sidwebworks, and @lfades for helping!
Core Changes
- Update client router for tests: #36822
- Fix return type of middleware
req.cookies.get(): #36872
Documentation Changes
- Move CI build cache instructions to Deployment docs: #35418
- docs: adding changes to setCookie example: #36870
Example Changes
- Example/facebook pixel script: #34417
- fix(examples): maxlength was inconsistent: #36840
Misc Changes
- test: clean up duplicated tests: #36871
Credits
Huge thanks to @styfle, @huozhi, @htunnicliff, @lukeshumard, @sagnik3, and @pixelass for helping!
Core Changes
- Build x86_64-freebsd SWC binary: #36826
- Don't convert error to string: #36804
- fix(#36534): enable interopClientDefaultExport for next/jest: #36824
- fix(#30300): force export 404.html: #36827
- Telemetry: track usage of 'experimental/nextScriptWorkers': #36812
- Eagerly load swc bindings for wasm fallback for jest: #36784
- Add experimental config for basePath testing: #36843
- Enable html post optimization for react 18: #36837
Documentation Changes
- Updated copy around enabling source maps: #36852
- scss exects semicolon: #36779
- docs: add more details about nextRuntime in webpack config and runtime in next config: #36862
Example Changes
- chore: upgrade dependencies in Jest examples: #36858
Credits
Huge thanks to @Brooooooklyn, @hanneslund, @SukkaW, @housseindjirdeh, @molebox, @balazsorban44, @RobertKeyser, and @huozhi for helping!
Core Changes
- Fix leftover todo in loader: #36734
- Leverage pageExtensions for resolving in loader: #36747
- Use react dom server node api to detect react root is enabled: #36749
- replace use-subscription with use-sync-external-store: #36733
- Add flight render starting point: #36760
- feat: better cookies API for Edge Functions: #36478
- Clarify variables being used during rendering: #36773
- Update x-nextjs-cache header in minimal mode: #36791
- Add experimental flag to force SWC transforms: #36789
- Update root component handling: #36781
- Add final newline to package-lock.json: #36813
- Move FlightManifestPlugin to server compilers: #36810
- Update moduleNameMapper jest config and remove extra deps: #36787
- Wait for shell resolve with gIP is customized in react 18: #36792
Documentation Changes
- Updated the middleware api docs env section to remove dev and prod : #36739
- Fixed typo: #36753
- Fixing Tina + Adding a demo URL: #35480
Example Changes
- added example: with-geist-ui: #36525
Misc Changes
- enforce omitting
nameandversion: #36771
Credits
Huge thanks to @timneutkens, @molebox, @huozhi, @steven-tey, @SukkaW, @Kikobeats, @balazsorban44, @erikbrinkman, @therealmarzouq, @remcohaszing, @perkinsjr, and @shuding for helping!
Core Changes
- Update renderOpts.dev handling and fix check: #36666
- fix: duplicate app server: #36710
- Add route loader: #36712
Example Changes
- Fix mobile tests in with-playwright: #36705
Misc Changes
- test: merge rsc custom app cases: #36713
Credits
Huge thanks to @lfades, @ijjk, and @huozhi for helping!
Core Changes
- fix: react root enabled properly in custom server: #36664
- Route Loader Trusted Types Violation Fix: #34730
- Update components in GitHub Actions: #36669
- Fix various Trusted Types violations without use of policy: #34726
- Add experimental wildcard
remotePatternsconfig for upstream images: #36245 - Tweak routing tests: #36667
Documentation Changes
- Improve wording: #36649
- fix(docs): mention cookies in context: #36342
- Add docs about nextRuntime for custom webpack: #36685
Credits
Huge thanks to @stigkj, @huozhi, @jgoping, @oof2win2, @Brooooooklyn, @CGamesPlay, and @ijjk for helping!
Core Changes
- Fix asPath handling for data route revalidation in minimal mode: #36660
Documentation Changes
- Added type to Page Component for TypeScript: #36608
Misc Changes
- Enable disabled tests that pass: #36644
Credits
Huge thanks to @timneutkens and @jpveilleux for helping!
Core Changes
- Flush initial styled-jsx in gIP first in concurrent rendering: #36594
- Add falling back to wasm swc build on native load failure: #36612
- feat(next-swc): introduce experimental tracing support for swc: #35803
- Add initial handling for routing tests: #36635
Documentation Changes
- docs: add jest-environment-jsdom package for Jest configuration: #36632
Example Changes
- Update buttercms example: #35436
Credits
Huge thanks to @huozhi, @ijjk, @kwonoj, @ViolanteCodes, and @akrabdev for helping!
Core Changes
- rsc: remove router injection: #36101
- Fix
export fromand native modules in server component: #36072 - feat(next-swc): Update css parser: #36114
- fix: do not add locale prefix to api route on NextURL: #36118
- Add experimental onlyGenereated flag for unstable_revalidate: #36108
- Support necessary headers in the web server response: #36122
- Fix only generated case in minimal mode: #36130
- Fix req.url of rsc dynamic routes pages gSSP in edge runtime: #36134
- Reogranize the client component detection utils: #36135
- Add support for catch-all route params in NextRequest page type declaration: #36137
- rsc: mark next head as client component: #36138
- rsc: keep static page props: #36157
- Update to target es5 for use-subscription: #36159
- Fix text decoding for chunk: #36165
- Fix symlink and copy logic to
standalonedirectory when usingoutputStandalone: #35535 - Adds linting rule to avoid assignment to 'module' variable: #35279
- Fix res.json support for string / null: #36186
- Update swc: #36187
- Fix
next/imageusage in most cases ofonLoad(): #36176 - [eslint-config-next] Update @typescript-eslint/parser to v5.19.0: #36156
- Add support for tsconfig moduleResolution
node | node12 | nodenext: #36189 - Fix missing _app component of AppTree in gIP context: #36206
- refactor(build): no force transpile optional chaining: #35976
- NextResponse.json: pass options to Response: #35367
- Improve NextApiHandler type for early returns: #35166
- Fix build activity indicator position: #36208
- 404 page - Responsive color scheme: #32113
- perf(escapeStringRegexp): test before replace: #34472
- rsc: skip next builtin module when apply loaders: #36202
- Use finally to clean up seen requests: #36222
- fix(next-swc/ssg): less aggressive exports drop: #36199
- fix type definition for defaultGetInitialProps: #36252
- Use renderToStaticMarkup to render documentHTML: #36213
- Fix flight loader: #36282
- Add telemetry for image config formats (avif/webp): #36289
- Ensure error is cleared for missing global css: #36292
- next/jest: Allow moduleNameMapper to match before Next.js internal mappings: #36312
- Add client HMR tracing for debugging: #36328
- feat:Add support for useDefineForClassFields typescript option: #36335
- Use fallbackable path module for node and edge runtime: #36306
- Update swc: #36269
- fix(next): use moduleGraph.getIssuer to avoid deprecation warning (#36329): #36330
- Ensure beforeFiles client-side resolving handles dynamic routes: #36317
- Ensure there is only 1 render pass in concurrent rendering with getInitialProps in
_document: #36352 - Changes to the beforeInteractive strategy to make it work for streaming: #31936
- Update swc: #36351
- Fix failing E2E deployment test cases: #36368
- chore: upgrade PostCSS dependencies: #34354
- Fix
next/imageusage ofonError(): #36305 - Simplify the App and Component handling in render: #36395
- Do not polyfill node built-in modules on edge functions: #36190
- Fix to remove webpack message per error: #36452
- Rework behavior (backwards compatible): #36436
- Fix missing interpolation on next/head exports: #36435
- Add stitches and material-ui tests for new link behavior + fix TypeScript types when imported: #36474
- chore: remove git.io: #36479
- fix(#36435): apply correct fix: #36464
- Add process env NEXT_RUNTIME: #36383
- Fix incorrect asPath with fallback rewrite in minimal mode: #36463
- Update manual revalidate response cache handling: #36462
- Pass nextRuntime in webpack context: #36488
- Support swc parse api in WASM: #36482
- Use edge compiler for middleware: #36486
- Update swc: #36477
- Remove passhref Eslint rule as it's no longer needed with new link behavior: #36511
- Add string children case for newNextLinkBehavior codemod: #36516
- Add with-edgedb example: #35929
- polish isomorphic path module: #36521
- Ensure optional params are normalized correctly in minimal mode: #36513
- Always add height and width prop to image with layout="raw": #36523
- Align behavior of SWC transform & transformSync: #36500
- Add event for swc load failure and attempt patching lockfile: #36527
- next-swc/wasm: Make span start at 0: #36532
- Add support for passing ref to next/link with new behavior enabled: #36537
- Update swc: #36535
- Refactor base server to get rid of the __server_context hack: #36550
- Tweak lockfile patching to be eager: #36549
- unlock eslint-config-next dependencies: #35781
- Hoist the desired ReactDOM import expression: #36552
- bump styled-jsx to latest: #36554
- chore: clarify CLI network errors: #36567
- Ensure older lockfile/invalid formats are handled: #36577
- Adds inline script functionality to
next/scriptforworkerandbeforeInteractivestrategies: #36364 - Fix missing
Content-Lengthheader from Image Optimization API: #36581 - Refactor Page Paths utils and Middleware Plugin: #36576
- Reexports styled-jsx JSXStyle in nextjs: #36585
- Update status code for normalize error: #36580
- Add pagesDir to Jest transformer: #36599
- Add tests for routing experiment: #36618
- Update findPagesDir: #36619
- Fix swc jest pagesDir config: #36623
- Fix next node buildin module error message for edge runtime: #36434
- Handle styled-jsx in newLinkBehavior codemod: #36628
Documentation Changes
- Add instructions to create pages directory and add an index.js file to it: #35971
- docs: specify minimum required
reactversion: #36091 - Loosen the "public" condition on getSSP: #36018
- fixed typo, that should say 'in' not 'from': #36046
- Docs: workarounds for router not resetting state (fixes #35138): #35651
- Add onLoad gotcha note to basic-features doc: #36261
- Fix introduction.md for
next.config.js: #36286 - Clarifies that path params exist on query object: #36321
- Fix broken data fetching links in docs: #33766
- Change getStaticProps to getStaticPaths in getStaticPaths docs: #36403
- Revert "Change getStaticProps to getStaticPaths in getStaticPaths docs": #36425
- Update usage paragraph of next/script
onLoad: #36453 - Add note about lockfile causing swc to fail to load: #36484
- Add docs on self-hosted ISR persisting across pods.: #36520
- Adds
<link rel="preconnect" ... />to example optimized font output: #36529 - Add note about running next without a sub-command: #36560
- Add docs about SSR caching (yes, you can do this with Next.js): #36588
Example Changes
- Fixes scripts in Electron examples.: #36133
- docs(examples/with-emotion-swc): update readme: #36197
- docs: add yoga to examples: #36253
- Adds
removeListenerhandler towith-electron-typescriptexample.: #36323 - Removed unnecessary React Fragment: #36331
- updated with-rebass dependencies: #36416
- Add pnpm-debug: #36394
- added with-react-foundation example: #36375
- Grammar Changed features and API to features and it's API: #36396
- Adding Typescript and Mantine example: #36294
- [examples] Update styled-components with Babel - add types: #36125
- Fix failing yarn PnP test from missing dependency: #36515
- docs(examples): Updated Chakra UI examples: #36333
- Fix typo: #36592
- add Script key for cache: #36627
Misc Changes
- Update CODEOWNERS: #36164
- Stabilize flakey prerender test: #36193
- Stabilize flakey build-output test: #36195
- Validate streaming writer chunk type in testing: #36200
- Update CI cache key to allow re-running only failed: #36249
- feat(trace): next/trace to event format converter: #36281
- Add handling for testing against deployments: #36285
- Make setup-wasm script work for local dev: #36355
- chore(create-next-app): fix pnpm create step: #36398
- Update font-optimization test snapshot: #36492
- docs: clarify triaging: #36507
- Remove extra yarn PnP example test: #36518
- Update rewrite destination for flakey rewrite tests: #36519
- Normalize font optimization snapshot to reduce flakes: #36531
- Bump react dev dep to 18.1: #36491
Credits
Huge thanks to @huozhi, @shuding, @kdy1, @nkzawa, @prichey, @manovotny, @balazsorban44, @remorses, @amandeepmittal, @mward-sudo, @eric-burel, @timneutkens, @styfle, @ytkg, @CuriosBasant, @bart-krakowski, @SukkaW, @jameshfisher, @Kikobeats, @bjorm, @alex-page, @fmmoret, @ijjk, @davidbarker, @kwonoj, @seanparmelee, @ddgrishkin, @mmartinsoliv, @byjoshuadavis, @sakib412, @Chastrlove, @padmaia, @janicklas-ralph, @MaedahBatool, @shinkj11, @youngvform, @zaida04, @therealmarzouq, @codedbyjordan, @deadlynjdj, @lfades, @Brooooooklyn, @renbaoshuo, @javivelasco, @triyanox, @rafae2k, @colinhacks, @atcastle, @leerob, @sa3dany, @nikolovlazar, @refactorized, @housseindjirdeh, @ro11ingbutler, and @gusrb3164 for helping!
Core Changes
- Add tests for routing experiment: #36618
- Update findPagesDir: #36619
- Fix swc jest pagesDir config: #36623
- Fix next node buildin module error message for edge runtime: #36434
- Handle styled-jsx in newLinkBehavior codemod: #36628
Example Changes
- add Script key for cache: #36627
Credits
Huge thanks to @ijjk, @nkzawa, and @gusrb3164 for helping!
Core Changes
- Fix missing
Content-Lengthheader from Image Optimization API: #36581 - Refactor Page Paths utils and Middleware Plugin: #36576
- Reexports styled-jsx JSXStyle in nextjs: #36585
- Update status code for normalize error: #36580
- Add pagesDir to Jest transformer: #36599
Documentation Changes
- Add docs about SSR caching (yes, you can do this with Next.js): #36588
Example Changes
- Fix typo: #36592
Credits
Huge thanks to @styfle, @javivelasco, @leerob, @ro11ingbutler, @huozhi, and @ijjk for helping!
Core Changes
- Hoist the desired ReactDOM import expression: #36552
- bump styled-jsx to latest: #36554
- chore: clarify CLI network errors: #36567
- Ensure older lockfile/invalid formats are handled: #36577
- Adds inline script functionality to
next/scriptforworkerandbeforeInteractivestrategies: #36364
Documentation Changes
- Add note about running next without a sub-command: #36560
Credits
Huge thanks to @huozhi, @refactorized, @balazsorban44, and @housseindjirdeh for helping!
Core Changes
- Update swc: #36535
- Refactor base server to get rid of the __server_context hack: #36550
- Tweak lockfile patching to be eager: #36549
- unlock eslint-config-next dependencies: #35781
Example Changes
- docs(examples): Updated Chakra UI examples: #36333
Credits
Huge thanks to @kdy1, @nikolovlazar, @shuding, and @balazsorban44 for helping!
Core Changes
- Always add height and width prop to image with layout="raw": #36523
- Align behavior of SWC transform & transformSync: #36500
- Add event for swc load failure and attempt patching lockfile: #36527
- next-swc/wasm: Make span start at 0: #36532
- Add support for passing ref to next/link with new behavior enabled: #36537
Documentation Changes
- Add docs on self-hosted ISR persisting across pods.: #36520
- Adds
<link rel="preconnect" ... />to example optimized font output: #36529
Misc Changes
- Normalize font optimization snapshot to reduce flakes: #36531
- Bump react dev dep to 18.1: #36491
Credits
Huge thanks to @atcastle, @leerob, @sa3dany, @ijjk, @Brooooooklyn, @huozhi, and @kdy1 for helping!
Core Changes
- Add with-edgedb example: #35929
- polish isomorphic path module: #36521
- Ensure optional params are normalized correctly in minimal mode: #36513
Misc Changes
- Remove extra yarn PnP example test: #36518
- Update rewrite destination for flakey rewrite tests: #36519
Credits
Huge thanks to @colinhacks and @huozhi for helping!
Core Changes
- Add string children case for newNextLinkBehavior codemod: #36516
Core Changes
- Pass nextRuntime in webpack context: #36488
- Support swc parse api in WASM: #36482
- Use edge compiler for middleware: #36486
- Update swc: #36477
- Remove passhref Eslint rule as it's no longer needed with new link behavior: #36511
Example Changes
- Adding Typescript and Mantine example: #36294
- [examples] Update styled-components with Babel - add types: #36125
- Fix failing yarn PnP test from missing dependency: #36515
Misc Changes
- Update font-optimization test snapshot: #36492
- docs: clarify triaging: #36507
Credits
Huge thanks to @ijjk, @huozhi, @javivelasco, @balazsorban44, @kdy1, @triyanox, and @rafae2k for helping!
Core Changes
- chore: remove git.io: #36479
- fix(#36435): apply correct fix: #36464
- Add process env NEXT_RUNTIME: #36383
- Fix incorrect asPath with fallback rewrite in minimal mode: #36463
- Update manual revalidate response cache handling: #36462
Documentation Changes
- Add note about lockfile causing swc to fail to load: #36484
Credits
Huge thanks to @renbaoshuo, @SukkaW, and @huozhi for helping!
Core Changes
- Fix missing interpolation on next/head exports: #36435
- Add stitches and material-ui tests for new link behavior + fix TypeScript types when imported: #36474
Credits
Huge thanks to @Brooooooklyn for helping!
Core Changes
- Fix
next/imageusage ofonError(): #36305 - Simplify the App and Component handling in render: #36395
- Do not polyfill node built-in modules on edge functions: #36190
- Fix to remove webpack message per error: #36452
- Rework behavior (backwards compatible): #36436
Documentation Changes
- Change getStaticProps to getStaticPaths in getStaticPaths docs: #36403
- Revert "Change getStaticProps to getStaticPaths in getStaticPaths docs": #36425
- Update usage paragraph of next/script
onLoad: #36453
Example Changes
- updated with-rebass dependencies: #36416
- Add pnpm-debug: #36394
- added with-react-foundation example: #36375
- Grammar Changed features and API to features and it's API: #36396
Misc Changes
- chore(create-next-app): fix pnpm create step: #36398
Credits
Huge thanks to @shinkj11, @huozhi, @youngvform, @zaida04, @therealmarzouq, @nkzawa, @codedbyjordan, @deadlynjdj, @lfades, and @timneutkens for helping!
Core Changes
- Ensure there is only 1 render pass in concurrent rendering with getInitialProps in
_document: #36352 - Changes to the beforeInteractive strategy to make it work for streaming: #31936
- Update swc: #36351
- Fix failing E2E deployment test cases: #36368
- chore: upgrade PostCSS dependencies: #34354
Documentation Changes
- Fix broken data fetching links in docs: #33766
Misc Changes
- Make setup-wasm script work for local dev: #36355
Credits
Huge thanks to @shuding, @padmaia, @janicklas-ralph, @kdy1, @ijjk, @balazsorban44, and @MaedahBatool for helping!
Core Changes
- Use renderToStaticMarkup to render documentHTML: #36213
- Fix flight loader: #36282
- Add telemetry for image config formats (avif/webp): #36289
- Ensure error is cleared for missing global css: #36292
- next/jest: Allow moduleNameMapper to match before Next.js internal mappings: #36312
- Add client HMR tracing for debugging: #36328
- feat:Add support for useDefineForClassFields typescript option: #36335
- Use fallbackable path module for node and edge runtime: #36306
- Update swc: #36269
- fix(next): use moduleGraph.getIssuer to avoid deprecation warning (#36329): #36330
- Ensure beforeFiles client-side resolving handles dynamic routes: #36317
Documentation Changes
- Fix introduction.md for
next.config.js: #36286 - Clarifies that path params exist on query object: #36321
Example Changes
- docs: add yoga to examples: #36253
- Adds
removeListenerhandler towith-electron-typescriptexample.: #36323 - Removed unnecessary React Fragment: #36331
Misc Changes
- feat(trace): next/trace to event format converter: #36281
- Add handling for testing against deployments: #36285
Credits
Huge thanks to @shuding, @ddgrishkin, @mmartinsoliv, @styfle, @kwonoj, @timneutkens, @manovotny, @byjoshuadavis, @sakib412, @Chastrlove, @huozhi, and @kdy1 for helping!
Core Changes
- rsc: skip next builtin module when apply loaders: #36202
- Use finally to clean up seen requests: #36222
- fix(next-swc/ssg): less aggressive exports drop: #36199
- fix type definition for defaultGetInitialProps: #36252
Documentation Changes
- Add onLoad gotcha note to basic-features doc: #36261
Misc Changes
- Validate streaming writer chunk type in testing: #36200
- Update CI cache key to allow re-running only failed: #36249
Credits
Huge thanks to @huozhi, @fmmoret, @ijjk, @davidbarker, @kwonoj, and @seanparmelee for helping!
Core Changes
- Fix missing _app component of AppTree in gIP context: #36206
- refactor(build): no force transpile optional chaining: #35976
- NextResponse.json: pass options to Response: #35367
- Improve NextApiHandler type for early returns: #35166
- Fix build activity indicator position: #36208
- 404 page - Responsive color scheme: #32113
- perf(escapeStringRegexp): test before replace: #34472
Documentation Changes
- Docs: workarounds for router not resetting state (fixes #35138): #35651
Credits
Huge thanks to @huozhi, @SukkaW, @jameshfisher, @Kikobeats, @bjorm, and @alex-page for helping!
Core Changes
- Fix text decoding for chunk: #36165
- Fix symlink and copy logic to
standalonedirectory when usingoutputStandalone: #35535 - Adds linting rule to avoid assignment to 'module' variable: #35279
- Fix res.json support for string / null: #36186
- Update swc: #36187
- Fix
next/imageusage in most cases ofonLoad(): #36176 - [eslint-config-next] Update @typescript-eslint/parser to v5.19.0: #36156
- Add support for tsconfig moduleResolution
node | node12 | nodenext: #36189
Documentation Changes
- Add instructions to create pages directory and add an index.js file to it: #35971
- docs: specify minimum required
reactversion: #36091 - Loosen the "public" condition on getSSP: #36018
- fixed typo, that should say 'in' not 'from': #36046
Example Changes
- docs(examples/with-emotion-swc): update readme: #36197
Misc Changes
- Update CODEOWNERS: #36164
- Stabilize flakey prerender test: #36193
- Stabilize flakey build-output test: #36195
Credits
Huge thanks to @huozhi, @balazsorban44, @remorses, @amandeepmittal, @mward-sudo, @eric-burel, @timneutkens, @kdy1, @styfle, @ytkg, @CuriosBasant, and @bart-krakowski for helping!
Core Changes
- Fix only generated case in minimal mode: #36130
- Fix req.url of rsc dynamic routes pages gSSP in edge runtime: #36134
- Reogranize the client component detection utils: #36135
- Add support for catch-all route params in NextRequest page type declaration: #36137
- rsc: mark next head as client component: #36138
- rsc: keep static page props: #36157
- Update to target es5 for use-subscription: #36159
Example Changes
- Fixes scripts in Electron examples.: #36133
Credits
Huge thanks to @huozhi, @prichey, and @manovotny for helping!
Core Changes
- rsc: remove router injection: #36101
- Fix
export fromand native modules in server component: #36072 - feat(next-swc): Update css parser: #36114
- fix: do not add locale prefix to api route on NextURL: #36118
- Add experimental onlyGenereated flag for unstable_revalidate: #36108
- Support necessary headers in the web server response: #36122
Credits
Huge thanks to @huozhi, @shuding, @kdy1, and @nkzawa for helping!
Core Changes
- [Script] Use
__non_webpack_require__to fetch partytown server-side: #35793 - Use ReadableStream in client hydration for Firefox compatibility: #35796
- Continue testing react v17 with e2e tests: #35787
- Collect packages are used and eliminated in getServerSideProps: #35404
- Initial implementation of statically optimized flight data of server component pages: #35619
- Fix
layout="raw"image element sizes prop: #35809 - fix: reset visible state when src/href changed: #35287
- Add warning when importing "next" directly: #35884
- Custom app for switchable runtime: #35666
- Update repo to use react 18 by default: #35888
- Fix Firefox flash of white on
next/imagewithplaceholder=blur: #35889 - Fix data encoder and decoder to use
streamin renderer: #35936 - Revert "fix the dynamic routing of middleware": #35932
- Update: Add error message when for getServerSideProps invalid return value: #35887
- Code refactoring: #35937
- fix: add locale prefix to middleware preflight url: #35911
- Emotion SWC Plugin - Allow for jsxImportSource to be configurable: #35963
- Update polyfill of web streams: #35571
- Add
.eslintrc.cjsto list of supportednext lintconfig files: #35440 - update webpack: #35867
- Ensure minimalMode previousCache expire time is capped: #35954
- Add test case for module resolution in node_modules from different contexts: #35978
- Support shared component with next built-in client components: #35975
- Use eager import to include client modules: #35979
- Use renderToString for flush effects: #35999
- test: organize react 18 tests: #36003
- allow to provide postcss plugin options as a string: #35173
- Fix leaking internal config to user-defined
loaderprop innext/image: #36013 - Support export all syntax in client components: #36027
- Interpolate default exports: #35933
- feat(next-swc): Update swc crates: #35996
- Interpolate default exports is now unnecessary: #36065
- Do not add locale to link for api route and middleware preflight: #35994
- update @vercel/nft to 0.18.1: #36075
- Fix outputStandalone with optimizeCss: #36028
- Interpolate module.exports as default import : #36082
- fix(next-url): print properly using logger symbol: #36097
Documentation Changes
- Docs: update react 18's overview: #35766
- Update dead link for getStaticPaths in error docs: #35814
- Link to
with-docker-multi-envexample.: #35820 - Add Vitest example.: #35858
- Docs: Add useful link to invalid-getstaticprops-value error message: #35915
- Update Manual Steps in Getting Started guide: #35898
- fix: toBeInTheDocument is not a function: #35930
- Refactor default locale prefix to support clone(): #35874
- docs: clarify when you use getServerSideProps: #35922
- Update docs related to React 18: #35952
- Mention HTTP 303 See Other in redirects section: #35997
- Update the docs for Switchable Runtime: #36015
- Add docs for x-nextjs-cache header: #36023
- Improvements to the MDX Docs and replaced a leftover reference to babel: #35332
- Moving middleware file : #36009
- Revert "Improvements to the MDX Docs and replaced a leftover reference to babel": #36066
- docs: failed-loading-swc possible fix for Windows users: #36081
Example Changes
- fix(with-mongodb): Change comment of MongoDB
clientingetServerSideProps: #35750 - [example] Fix bird animations in with-three-js example: #36053
- Update to with-supertokens example: #35991
- [Examples] Updating with-elasticsearch to latest Elasticsearch lib version: #36063
- [example] Fix fast refresh in with-slate example: #36095
- add support for changing /route/#hashes: #36079
Misc Changes
- test: add test for basic dynamic import with react 18 hydration: #35772
- Send build trace to datadog in CI: #35306
- Fix docs only check for performance metrics job: #35785
- Run e2e suite against React 18: #35774
- ci(trace): adjust agent env variables: #35790
- ci(trace): fix workflow conditions: #35800
- ci(workflow): fix api key for trace: #35804
- Stabilize react streaming ISR test: #35885
- Fix flaky test: #35951
- Add note to contributing about docs manifest: #36020
- Update turbo cache key: #36074
- docs: suggest cloning with depth=1 to avoid huge downloads: #36064
Credits
Huge thanks to @TianenPang, @huozhi, @Brooooooklyn, @SokichiFujita, @timneutkens, @housseindjirdeh, @kwonoj, @jonespen, @leerob, @shuding, @atcastle, @SukkaW, @samueldusek, @styfle, @amandeepmittal, @bestony, @nkzawa, @kamerat, @JohnDaly, @jakejarvis, @sokra, @reconbot, @bjorm, @kdy1, @HaNdTriX, @Markos-Th09, @rishabhpoddar, @timeyoutakeit, @aravindputrevu, @molebox, @gsimone, @Ethan-Arrowood, @Kikobeats, @williamli, and @vltansky for helping!
Core Changes
- Interpolate module.exports as default import : #36082
- fix(next-url): print properly using logger symbol: #36097
Documentation Changes
- docs: failed-loading-swc possible fix for Windows users: #36081
Example Changes
- [example] Fix fast refresh in with-slate example: #36095
- add support for changing /route/#hashes: #36079
Credits
Huge thanks to @Brooooooklyn, @Kikobeats, @HaNdTriX, @williamli, and @vltansky for helping!
Core Changes
- update @vercel/nft to 0.18.1: #36075
- Fix outputStandalone with optimizeCss: #36028
Misc Changes
- Update turbo cache key: #36074
- docs: suggest cloning with depth=1 to avoid huge downloads: #36064
Credits
Huge thanks to @gsimone and @Ethan-Arrowood for helping!
Core Changes
- fix: add locale prefix to middleware preflight url: #35911
- Emotion SWC Plugin - Allow for jsxImportSource to be configurable: #35963
- Update polyfill of web streams: #35571
- Add
.eslintrc.cjsto list of supportednext lintconfig files: #35440 - update webpack: #35867
- Ensure minimalMode previousCache expire time is capped: #35954
Misc Changes
- Fix flaky test: #35951
Credits
Huge thanks to @shuding, @nkzawa, @JohnDaly, @jakejarvis, and @sokra for helping!
Core Changes
- Fix data encoder and decoder to use
streamin renderer: #35936 - Revert "fix the dynamic routing of middleware": #35932
- Update: Add error message when for getServerSideProps invalid return value: #35887
- Code refactoring: #35937
Documentation Changes
- Update Manual Steps in Getting Started guide: #35898
- fix: toBeInTheDocument is not a function: #35930
- Refactor default locale prefix to support clone(): #35874
Credits
Huge thanks to @amandeepmittal, @bestony, @shuding, @nkzawa, @kamerat, and @samueldusek for helping!
Core Changes
- fix: reset visible state when src/href changed: #35287
- Add warning when importing "next" directly: #35884
- Custom app for switchable runtime: #35666
- Update repo to use react 18 by default: #35888
- Fix Firefox flash of white on
next/imagewithplaceholder=blur: #35889
Documentation Changes
- Add Vitest example.: #35858
- Docs: Add useful link to invalid-getstaticprops-value error message: #35915
Misc Changes
- Stabilize react streaming ISR test: #35885
Credits
Huge thanks to @SukkaW, @leerob, @samueldusek, @huozhi, and @styfle for helping!
Core Changes
- Collect packages are used and eliminated in getServerSideProps: #35404
- Initial implementation of statically optimized flight data of server component pages: #35619
- Fix
layout="raw"image element sizes prop: #35809
Documentation Changes
- Update dead link for getStaticPaths in error docs: #35814
- Link to
with-docker-multi-envexample.: #35820
Credits
Huge thanks to @jonespen, @Brooooooklyn, @leerob, @shuding, and @atcastle for helping!
Core Changes
- [Script] Use
__non_webpack_require__to fetch partytown server-side: #35793 - Use ReadableStream in client hydration for Firefox compatibility: #35796
- Continue testing react v17 with e2e tests: #35787
Documentation Changes
- Docs: update react 18's overview: #35766
Example Changes
- fix(with-mongodb): Change comment of MongoDB
clientingetServerSideProps: #35750
Misc Changes
- test: add test for basic dynamic import with react 18 hydration: #35772
- Send build trace to datadog in CI: #35306
- Fix docs only check for performance metrics job: #35785
- Run e2e suite against React 18: #35774
- ci(trace): adjust agent env variables: #35790
- ci(trace): fix workflow conditions: #35800
- ci(workflow): fix api key for trace: #35804
Credits
Huge thanks to @TianenPang, @huozhi, @Brooooooklyn, @SokichiFujita, @timneutkens, @housseindjirdeh, and @kwonoj for helping!
Core Changes
- Only resolve page runtime for react 18 and error on read failure: #35705
- feat(next-swc): Update swc crates: #35395
- Fix document styles with react 18: #35760
- Fix router isReady and react 18 not being detected with no config: #35762
Documentation Changes
- Updated create-next-app docs to include pnpm usage: #35755
Credits
Huge thanks to @huozhi, @styfle, and @kdy1 for helping!
Core Changes
- Fix document styles with react 18: #35760
- Fix router isReady and react 18 not being detected with no config: #35762
Core Changes
- Only resolve page runtime for react 18 and error on read failure: #35705
- feat(next-swc): Update swc crates: #35395
Documentation Changes
- Updated create-next-app docs to include pnpm usage: #35755
Credits
Huge thanks to @huozhi, @styfle, and @kdy1 for helping!
Core Changes
- Add deprecated JSDoc comments for the previous middleware signature: #35448
- fix the dynamic routing of middleware: #32601
- fix: don't override user-agent in fetch if specified: #35547
- Fix typos: #35683
- Fix Fast Refresh for React 18: #35718
- Emotion css minify should not trim end spaces if item is not the last: #35697
- Ensure the app shell is rendered before rendering the document: #35732
- fix: Prevent page to scroll to top during data HMR: #35739
- Fix _document and getInitialProps with React 18: #35736
- test(fix: Prevent page to scroll to top during data HMR): #35744
- Update to pre-compile use-subscription: #35746
- Fix useStatic404 condition: #35749
- Fix streaming SSR with multi-byte characters: #35724
Documentation Changes
- docs: fix typo in Script Component docs: #35731
Misc Changes
- Fix next info test during stable release: #35668
- Update default test timeouts for yarn install times: #35669
- test(integration): emit console error when test fails: #35507
Credits
Huge thanks to @lfades, @nkzawa, @kwonoj, @SethFalco, @hiro0218, @Brooooooklyn, @shuding, @BWsix, @schickling, @ijjk, and @martinnabhan for helping!
Core Changes
- Update to pre-compile use-subscription: #35746
- Fix useStatic404 condition: #35749
- Fix streaming SSR with multi-byte characters: #35724
Credits
Huge thanks to @ijjk, @shuding, and @martinnabhan for helping!
Core Changes
- fix: Prevent page to scroll to top during data HMR: #35739
- Fix _document and getInitialProps with React 18: #35736
- test(fix: Prevent page to scroll to top during data HMR): #35744
Documentation Changes
- docs: fix typo in Script Component docs: #35731
Credits
Huge thanks to @BWsix, @schickling, @shuding, and @ijjk for helping!
Core Changes
- Emotion css minify should not trim end spaces if item is not the last: #35697
- Ensure the app shell is rendered before rendering the document: #35732
Credits
Huge thanks to @Brooooooklyn and @shuding for helping!
Core Changes
- Fix typos: #35683
- Fix Fast Refresh for React 18: #35718
Credits
Huge thanks to @hiro0218 for helping!
Core Changes
- Add deprecated JSDoc comments for the previous middleware signature: #35448
- fix the dynamic routing of middleware: #32601
- fix: don't override user-agent in fetch if specified: #35547
Misc Changes
- Fix next info test during stable release: #35668
- Update default test timeouts for yarn install times: #35669
- test(integration): emit console error when test fails: #35507
Credits
Huge thanks to @lfades, @nkzawa, @kwonoj, and @SethFalco for helping!
Core Changes
- RSC: handle commonjs in flight loader: #35563
- Update rsc refresh typing and doc example: #35543
- Revert "Revert "Make concurrent features independent from the global runtime option" #35405": #35490
- Update terminal tree view for switchable runtime: #35394
- Prevent spaces between expressions from being removed: #35613
- Fix: disable script worker in edge and fix rsc loader and runtime: #35604
- enhance: detect ESM by ast type: #35627
- Clean up legacy react 18 tests: #35615
- Fix server component render condition: #35663
- Rename createRSCHook to createFlightHook: #35665
- Ensure eslint plugins dont conflict: #35667
Documentation Changes
- docs: update styling support for streaming: #35375
- Fix typo in rewrites docs: #35639
- Update middleware examples list: #35622
Misc Changes
- Fix create-next-app failing without yarn installed: #35608
- Fix hydration issue in the switchable runtime tests: #35616
Credits
Huge thanks to @huozhi, @shuding, @Brooooooklyn, @TianenPang, @lfades, and @timneutkens for helping!
Core Changes
- enhance: detect ESM by ast type: #35627
- Clean up legacy react 18 tests: #35615
- Fix server component render condition: #35663
- Rename createRSCHook to createFlightHook: #35665
- Ensure eslint plugins dont conflict: #35667
Documentation Changes
- Fix typo in rewrites docs: #35639
- Update middleware examples list: #35622
Credits
Huge thanks to @TianenPang, @huozhi, @shuding, @lfades, and @timneutkens for helping!
Core Changes
- RSC: handle commonjs in flight loader: #35563
- Update rsc refresh typing and doc example: #35543
- Revert "Revert "Make concurrent features independent from the global runtime option" #35405": #35490
- Update terminal tree view for switchable runtime: #35394
- Prevent spaces between expressions from being removed: #35613
- Fix: disable script worker in edge and fix rsc loader and runtime: #35604
Documentation Changes
- docs: update styling support for streaming: #35375
Misc Changes
- Fix create-next-app failing without yarn installed: #35608
- Fix hydration issue in the switchable runtime tests: #35616
Credits
Huge thanks to @huozhi, @shuding, and @Brooooooklyn for helping!
Core Changes
- refactor: move
HtmlContext: #34482 - rsc: clean client buffer cache after flushed: #34475
- Ensure config's
experimentalfield exists: #34500 - Only log experiments warning if user actually opted in to an experiment(s): #34413
- Add
unstable_useFlushEffectshook: #34117 - fix: mock image path as
next/imageexpects it: #34350 - fix process polyfill on middleware: #34426
- Ensure workers are not left open: #34503
- Leverage existing component checking warning for streaming: #34526
- build(next-swc): linux glibc compatible issue: #34481
- Fix
next/imageincorrectly warning forposition: absoluteparent: #34551 - Remove
useMaybeDeferContenthook: #34506 - Allow reading request bodies in middlewares (#34294): #34519
- Update swc crates: #34491
- feat(react-dev-overlay): export getErrorByType and add preventDisplay prop: #34237
- Improve
next/imagewarnings to avoid printing more than once: #34562 - Support trailingSlash in middleware SSR: #34544
- Update to latest version of jscodeshift: #34563
- Don't import internally from types in
next-env.d.ts: #34394 - Improve type imports in server/render and optimize the Edge SSR loader: #34552
- remove commons chunk config: #34445
- Add
cargo clippyandcargo fmtto CI: #34625 - Fix rsc bootstrap buffer missing in the future renders: #34631
- fix: match
redirectandrewritedestination types: #34617 - fix: make sure
image-config.tsgets transpiled to ES5: #34677 - Normalize image optimizer error status codes: #34699
- Fix CSS Loader Detection False Positives: #34584
- Upgrade @napi-rs/triples to support android arm platform: #34752
- Add proper headers to responses in web server: #34723
- produce source maps for middlewares: #34409
- Reduce the size of web server: #34767
- collect telemetry for ESLint rules: #34564
- Refactor entries generation in hot-reloader: #34733
- Integrate tsec into the linting process: #33746
- Add API config to allow disabling response size warning: #34700
- fix(#34030): ignore non-checkable jsx spread attribute: #34473
- fix eslint-plugin-react version to avoid jsx-key error: #34800
- fix: #34711 ensure distDir inside project folder: #34795
- Update to ncc dev overlay during build instead of pre-compile: #34813
- Add warning for Yarn PnP v3 with Node.js < 16.14: #34818
- lock eslint-config-next dependencies: #34823
- Clean-up error when starting next with non-existent dir: #34830
- Ensure unstable_revalidate does not error from notFound: true: #34826
- Update eslint-plugin-react to latest version: #34819
- Add CLI command typo detection: #34836
- Fix flight loader for shared components: #34692
- refactor: re-use existed escapeRegex: #34470
- Fix only byte stream writing is allowed in CF workers: #34893
- Only warn styles and scripts under next head in concurrent mode: #34897
- Fix image optimization invalid internal upstream image: #34899
- feat(next-swc): Update swc: #34878
- Simplify next-flight-server-loader: #34902
- Ensure non-matching API routes can be rewritten: #33966
- Optimize component type filters: #34941
- Expose WASM bindings in Middleware: #34437
- Provide page runtime parsing utils: #34922
- Refactor export marks of server components: #34945
- Fix
next/imagenoscript when blur and priority: #34973 - Fix named export missing from client components: #34974
- Adopt react 18 rc1: #34972
- Fix typescript 4.6.2 randomUUID(): #34976
- Update ISR error handling: #34931
- Handle de-duping revalidations in minimal mode: #34935
- feat: allow dotenv default expansion: #34765
- Support colons in Middleware NextResponse.rewrite path: #32543
- Generate static html for bots: #35004
- Enable import assertion syntax parsing: #33750
- Split up & tweak
next/clientinitialization: #33838 - Normalize root path according to trailingSlash option in default next/image loader #21337: #22453
- Fix animated png bypass from Image Optimization API: #35120
- watch node_modules: #35140
- feat(trace): postprocess trace reporter for datadog: #35032
- [next] Fix to not call middleware with shallow push, fix middleware call wit…: #35047
- fix post request hangs when no body is consumed on middleware: #35131
- fix: hard-navigate when preflight request fails: #35145
- Per-page runtime: #35011
- Delay prefix flushing: #35170
- Change to loadBindings for swc parse: #35171
- Ensure mjs files are transformed with jest: #34698
- Disable the functions manifest plugin: #35155
- Adopt react 18 rc2: #35161
- Convert server.js to module.exports: #35181
- Fix
next/imagewhen src is webp but browser doesnt support it: #35190 - [Fix] Adds try/catch to gracefully handle performance observer exception: #35202
- Render resolved streaming content for static render result: #35221
- feat(next-swc): Update crates: #35133
- Ensure that pages manifest contains pages of both runtimes: #35243
- chore: upgrade
cssnano-simple: #35258 - fix(Script): allow passing defer=false to Script component: #34850
- Remove the special
_document-concurrentcomponent: #35242 - Adds web worker support to
<Script />using Partytown: #34244 - Bump styled-jsx to 5.0.1: #35290
- Add new 'raw' image layout: #34339
- SWC emotion transform plugin: #34687
- enhance: cover re-exported gsp cases for runtime fallback: #35326
- Make concurrent features independent from the global runtime option: #35245
- Update comments for the web server: #35366
- Add libc fields to Linux platform packages: #35354
- Drop browser field for edge runtime: #35335
- Make router able to navigate between rsc pages: #35344
- Revert "Make concurrent features independent from the global runtime option": #35405
- Update on-demand ISR to skip fetch locally: #35386
- Use hasConcurrentFeatures instead of reactRoot as the condition of Fizz: #35407
- Abstract out stream related utils from render and web/utils: #35372
- Keep fouc tags for streaming: #35417
- Fix: change the timing for clearing the inlined data buffer: #35413
- fix(document): accepts nodearray for head's children: #35424
- Update to latest @vercel/nft and leverage new reason types: #35446
- Add test to ensure
fs.readFile()works with Output File Tracing: #35338 - feat(next-swc): embed target triple string: #35416
- Typo in URL removed: #35472
- feat(telemetry): report swc target triple to telemetry: #35420
- Update trace ignore check to check reasons correctly: #35511
- SWC import modularization plugin: #34969
- Reduce hello-world middleware bundle size from 128k to 88k: #35512
- Update next/link error when no children are provided: #35453
- Normalize ssgCacheKey for /index with minimalMode de-duping: #35536
- Merge rsc queries handling: #35545
- Upgrade react-server-dom-webpack: #35524
- Fix styled transform in next-swc/emotion: #35527
- Fix
next infoaccidentally printing stderr: #35556 - chore: replace deprecated String.prototype.substr(): #35421
- test: warn on substr() usage: #35499
Documentation Changes
- Update docs for image optimization swr: #34483
- Fix 404 links in React 18 docs: #34486
- Fix snippet language sh -> bash: #34487
- Add info on rendering an error page when using getServerSideProps: #34488
- Update details about Cache Control Headers: #34416
- Update wrong code snippet: #34520
- fix: change showcase url: #34590
- Add note about public folder with standalone mode: #34646
- added styled-components & replay support in swc: #34647
- Provide more detail to static folder placement: #34651
- Update testing.md: #34661
- Remove page-specific font example from docs: #34694
- Fix typo in documentation: #34734
- Improve rewrites documentation: #34725
- Add Error Handling document: #34329
- Update inlineCode reference: #34817
- Add redirect for error doc rename: #34791
- Fix issues in getStaticPaths docs: #34840
- Improve TypeScript documentation.: #34690
- Fix broken link in react-18 streaming docs.: #34884
- Add missing closing parenthesis in docs: #34924
- [examples] Update styled-components to use SWC: #34770
- feat: support
pnpmwithcreate-next-app: #34947 - Fix missing parenthesis for link in docs: #35090
- Update shallow routing caveat: #35052
- Add
next/imagedocs section for animated images: #35123 - Add info on
context.ctxargument in _app docs page: #35303 - Encourage installation of sass as a devDep: #35323
- [docs] Update docs about Cache-Control default headers.: #35336
- [docs] Update going to production docs around caching headers: #35374
- Update
next/imagedocs for width & height: #35188 - Added note about why Next.js used 307 and 308 status codes: #35325
- Fix typo in getServerSideProps doc page: #35467
- clarify use of Script: #35491
- Server component docs use wrong next version: #35313
- Add link for revalidate from notFound section: #35553
- Fix typo in docs: #35561
Example Changes
- Convert custom-server-hapi Example to Typescript: #34507
- Updated head, img -> Image, type { NextPage } as default next-app: #34513
- removing redundant/unnecessary lines as these are defaults: #34587
- Sentry example: add js types to SentryWebpackPluginOptions: #28726
- Add .git to .dockerignore in docker examples: #34628
- Updates with-supertokens example: #34679
- Convert
with-redisexample to TypeScript: #34720 - Update MySQL example.: #34784
- Some minor adjustments to MySQL example.: #34792
- docs: update CMS examples to use the new tw grid gaps: #34917
- docs: update cms-sanity example: #34898
- Update cms-wordpress example: #34944
- Update supertokens demo app: #35007
- fix(examples/with-docker): add npm comment for yarn build: #35040
- [examples] Add Tina CMS blog starter: #35045
- [examples] Use more semantic footer element: #35033
- Re-add _document to with-styled-components example: #35163
- docs(examples): add on-demand ISR to cms-sanity: #35220
- examples: update instructions for create-strapi-app: #35288
- Remove with-custom-reverse-proxy example: #35340
- Change README structure in examples: #35349
- use initial state for rootReducer in with-redux-saga example: #35406
Misc Changes
- chore: clarify GitHub action (bot) comments: #34546
- Add test for multiple cookies coming from middleware: #34465
- Simplify .env.local gitignores: #34471
- Clarify test types during scaffolding: #34638
- Ensure rust-check skips on docs only change: #34648
- Update CODEOWNERS to include renamed files: #34686
- Lock yarn pnp version in tests: #34688
- Fix create-next-app Multiple calls to the function 'makeDir': #34669
- chore: Move test for streaming and RSC: #34724
- Fix react-dom type error in CNA typescript template: #34623
- Update test concurrency for CI: #34827
- Update to use whatwg validator for test: #34891
- dep: upgrade @swc/core v1.2.148 , @swc/cli v0.1.55: #35054
- Run tests against node LTS (v16) and current (v17): #35414
- test: add document head multi child prod test: #35426
- Use check on prerender test assertion: #35482
Credits
Huge thanks to @styfle, @shuding, @balazsorban44, @huozhi, @amandeepmittal, @bennettdams, @sophiabits, @MaedahBatool, @devknoll, @nkzawa, @kinetifex, @elrumordelaluz, @Brooooooklyn, @mitchell-abbott, @Schniz, @natew, @nrjdalal, @dephraiim, @lfades, @sokra, @AmirhBeigi, @marshalcode, @timneutkens, @mxgnus-de, @MoltenCoffee, @jonespen, @NoamNol, @khuezy, @rishabhpoddar, @kara, @reubn, @luciy, @Pauldic, @brodyd795, @eungyeole, @kyliau, @Nutlope, @jgoping, @crice88, @leerob, @SukkaW, @thibautsabot, @sincovschi, @ahollenbach, @kolarski, @AFusco, @stipsan, @sisp, @kdy1, @lydiahallie, @Skagoo, @ijjk, @klarstrup, @midgleyc, @perkinsjr, @bnoguchi, @fhinkel, @fliptheweb, @kwonoj, @leyanlo, @ericponto, @huzaifarif, @chemicalkosek, @chentsulin, @housseindjirdeh, @bernard-lin, @atcastle, @kylemh, @samsisle, @Gomurmamma, @molebox, @Xairoo, @nelodev, @SevlaMare, @lukahartwig, @losfair, @cramforce, @hiro0218, and @CommanderRoot for helping!
Core Changes
- SWC import modularization plugin: #34969
- Reduce hello-world middleware bundle size from 128k to 88k: #35512
- Update next/link error when no children are provided: #35453
- Normalize ssgCacheKey for /index with minimalMode de-duping: #35536
- Merge rsc queries handling: #35545
- Upgrade react-server-dom-webpack: #35524
- Fix styled transform in next-swc/emotion: #35527
- Fix
next infoaccidentally printing stderr: #35556 - chore: replace deprecated String.prototype.substr(): #35421
- test: warn on substr() usage: #35499
Documentation Changes
- Add link for revalidate from notFound section: #35553
- Fix typo in docs: #35561
Credits
Huge thanks to @losfair, @cramforce, @huozhi, @shuding, @Brooooooklyn, @styfle, @hiro0218, and @CommanderRoot for helping!
Core Changes
- feat(telemetry): report swc target triple to telemetry: #35420
- Update trace ignore check to check reasons correctly: #35511
Documentation Changes
- Server component docs use wrong next version: #35313
Credits
Huge thanks to @lukahartwig, @kwonoj, and @ijjk for helping!
Core Changes
- Update to latest @vercel/nft and leverage new reason types: #35446
- Add test to ensure
fs.readFile()works with Output File Tracing: #35338 - feat(next-swc): embed target triple string: #35416
- Typo in URL removed: #35472
Documentation Changes
- Added note about why Next.js used 307 and 308 status codes: #35325
- Fix typo in getServerSideProps doc page: #35467
- clarify use of Script: #35491
Misc Changes
- Use check on prerender test assertion: #35482
Credits
Huge thanks to @styfle, @kwonoj, @molebox, @Xairoo, @nelodev, and @SevlaMare for helping!
Core Changes
- Abstract out stream related utils from render and web/utils: #35372
- Keep fouc tags for streaming: #35417
- Fix: change the timing for clearing the inlined data buffer: #35413
- fix(document): accepts nodearray for head's children: #35424
Documentation Changes
- Update
next/imagedocs for width & height: #35188
Example Changes
- use initial state for rootReducer in with-redux-saga example: #35406
Misc Changes
- Run tests against node LTS (v16) and current (v17): #35414
- test: add document head multi child prod test: #35426
Credits
Huge thanks to @styfle, @ijjk, @shuding, @kwonoj, and @thibautsabot for helping!
Core Changes
- Revert "Make concurrent features independent from the global runtime option": #35405
- Update on-demand ISR to skip fetch locally: #35386
- Use hasConcurrentFeatures instead of reactRoot as the condition of Fizz: #35407
Credits
Huge thanks to @shuding for helping!
Core Changes
- Make router able to navigate between rsc pages: #35344
Documentation Changes
- [docs] Update going to production docs around caching headers: #35374
Example Changes
- Change README structure in examples: #35349
Credits
Huge thanks to @Nutlope, @huozhi, and @leerob for helping!
Core Changes
- Render resolved streaming content for static render result: #35221
- feat(next-swc): Update crates: #35133
- Ensure that pages manifest contains pages of both runtimes: #35243
Example Changes
- Re-add _document to with-styled-components example: #35163
- docs(examples): add on-demand ISR to cms-sanity: #35220
Credits
Huge thanks to @chemicalkosek, @huozhi, @stipsan, @kdy1, and @shuding for helping!
Core Changes
- Disable the functions manifest plugin: #35155
- Adopt react 18 rc2: #35161
- Convert server.js to module.exports: #35181
- Fix
next/imagewhen src is webp but browser doesnt support it: #35190 - [Fix] Adds try/catch to gracefully handle performance observer exception: #35202
Credits
Huge thanks to @huozhi, @ericponto, and @huzaifarif for helping!
Core Changes
- watch node_modules: #35140
- feat(trace): postprocess trace reporter for datadog: #35032
- [next] Fix to not call middleware with shallow push, fix middleware call wit…: #35047
- fix post request hangs when no body is consumed on middleware: #35131
- fix: hard-navigate when preflight request fails: #35145
- Per-page runtime: #35011
- Delay prefix flushing: #35170
- Change to loadBindings for swc parse: #35171
- Ensure mjs files are transformed with jest: #34698
Documentation Changes
- Update shallow routing caveat: #35052
- Add
next/imagedocs section for animated images: #35123
Example Changes
- [examples] Use more semantic footer element: #35033
Credits
Huge thanks to @lfades, @sokra, @kwonoj, @styfle, @nkzawa, @leyanlo, @shuding, and @ijjk for helping!
Core Changes
- Fix named export missing from client components: #34974
- Adopt react 18 rc1: #34972
- Fix typescript 4.6.2 randomUUID(): #34976
- Update ISR error handling: #34931
- Handle de-duping revalidations in minimal mode: #34935
- feat: allow dotenv default expansion: #34765
- Support colons in Middleware NextResponse.rewrite path: #32543
- Generate static html for bots: #35004
- Enable import assertion syntax parsing: #33750
- Split up & tweak
next/clientinitialization: #33838 - Normalize root path according to trailingSlash option in default next/image loader #21337: #22453
- Fix animated png bypass from Image Optimization API: #35120
Documentation Changes
- feat: support
pnpmwithcreate-next-app: #34947 - Fix missing parenthesis for link in docs: #35090
Example Changes
- Update supertokens demo app: #35007
- fix(examples/with-docker): add npm comment for yarn build: #35040
- [examples] Add Tina CMS blog starter: #35045
Misc Changes
- dep: upgrade @swc/core v1.2.148 , @swc/cli v0.1.55: #35054
Credits
Huge thanks to @shuding, @styfle, @ijjk, @rishabhpoddar, @balazsorban44, @klarstrup, @midgleyc, @perkinsjr, @bnoguchi, @fhinkel, @devknoll, and @fliptheweb for helping!
Core Changes
- Simplify next-flight-server-loader: #34902
- Ensure non-matching API routes can be rewritten: #33966
- Optimize component type filters: #34941
- Expose WASM bindings in Middleware: #34437
- Provide page runtime parsing utils: #34922
- Refactor export marks of server components: #34945
- Fix
next/imagenoscript when blur and priority: #34973
Documentation Changes
- [examples] Update styled-components to use SWC: #34770
Example Changes
- docs: update cms-sanity example: #34898
- Update cms-wordpress example: #34944
Credits
Huge thanks to @huozhi, @shuding, @stipsan, @lydiahallie, @Skagoo, @Schniz, and @styfle for helping!
Core Changes
- Add CLI command typo detection: #34836
- Fix flight loader for shared components: #34692
- refactor: re-use existed escapeRegex: #34470
- Fix only byte stream writing is allowed in CF workers: #34893
- Only warn styles and scripts under next head in concurrent mode: #34897
- Fix image optimization invalid internal upstream image: #34899
- feat(next-swc): Update swc: #34878
Documentation Changes
- Fix issues in getStaticPaths docs: #34840
- Improve TypeScript documentation.: #34690
- Fix broken link in react-18 streaming docs.: #34884
- Add missing closing parenthesis in docs: #34924
Example Changes
- docs: update CMS examples to use the new tw grid gaps: #34917
Misc Changes
- Update to use whatwg validator for test: #34891
Credits
Huge thanks to @leerob, @shuding, @AFusco, @SukkaW, @huozhi, @stipsan, @styfle, @sisp, and @kdy1 for helping!
Core Changes
- fix: #34711 ensure distDir inside project folder: #34795
- Update to ncc dev overlay during build instead of pre-compile: #34813
- Add warning for Yarn PnP v3 with Node.js < 16.14: #34818
- lock eslint-config-next dependencies: #34823
- Clean-up error when starting next with non-existent dir: #34830
- Ensure unstable_revalidate does not error from notFound: true: #34826
- Update eslint-plugin-react to latest version: #34819
Documentation Changes
- Add Error Handling document: #34329
- Update inlineCode reference: #34817
- Add redirect for error doc rename: #34791
Misc Changes
- Update test concurrency for CI: #34827
Credits
Huge thanks to @sincovschi, @amandeepmittal, @ahollenbach, and @kolarski for helping!
Core Changes
- Upgrade @napi-rs/triples to support android arm platform: #34752
- Add proper headers to responses in web server: #34723
- produce source maps for middlewares: #34409
- Reduce the size of web server: #34767
- collect telemetry for ESLint rules: #34564
- Refactor entries generation in hot-reloader: #34733
- Integrate tsec into the linting process: #33746
- Add API config to allow disabling response size warning: #34700
- fix(#34030): ignore non-checkable jsx spread attribute: #34473
- fix eslint-plugin-react version to avoid jsx-key error: #34800
Documentation Changes
- Improve rewrites documentation: #34725
Example Changes
- Update MySQL example.: #34784
- Some minor adjustments to MySQL example.: #34792
Misc Changes
- Fix react-dom type error in CNA typescript template: #34623
Credits
Huge thanks to @Brooooooklyn, @shuding, @Schniz, @eungyeole, @kyliau, @Nutlope, @jgoping, @crice88, @leerob, @SukkaW, and @thibautsabot for helping!
Core Changes
- Don't import internally from types in
next-env.d.ts: #34394 - Improve type imports in server/render and optimize the Edge SSR loader: #34552
- remove commons chunk config: #34445
- Add
cargo clippyandcargo fmtto CI: #34625 - Fix rsc bootstrap buffer missing in the future renders: #34631
- fix: match
redirectandrewritedestination types: #34617 - fix: make sure
image-config.tsgets transpiled to ES5: #34677 - Normalize image optimizer error status codes: #34699
- Fix CSS Loader Detection False Positives: #34584
Documentation Changes
- fix: change showcase url: #34590
- Add note about public folder with standalone mode: #34646
- added styled-components & replay support in swc: #34647
- Provide more detail to static folder placement: #34651
- Update testing.md: #34661
- Remove page-specific font example from docs: #34694
- Fix typo in documentation: #34734
Example Changes
- removing redundant/unnecessary lines as these are defaults: #34587
- Sentry example: add js types to SentryWebpackPluginOptions: #28726
- Add .git to .dockerignore in docker examples: #34628
- Updates with-supertokens example: #34679
- Convert
with-redisexample to TypeScript: #34720
Misc Changes
- Clarify test types during scaffolding: #34638
- Ensure rust-check skips on docs only change: #34648
- Update CODEOWNERS to include renamed files: #34686
- Lock yarn pnp version in tests: #34688
- Fix create-next-app Multiple calls to the function 'makeDir': #34669
- chore: Move test for streaming and RSC: #34724
Credits
Huge thanks to @lfades, @shuding, @sokra, @AmirhBeigi, @marshalcode, @Brooooooklyn, @huozhi, @timneutkens, @balazsorban44, @mxgnus-de, @MoltenCoffee, @jonespen, @NoamNol, @khuezy, @styfle, @rishabhpoddar, @kara, @reubn, @luciy, @Pauldic, and @brodyd795 for helping!
Core Changes
- Fix
next/imageincorrectly warning forposition: absoluteparent: #34551 - Remove
useMaybeDeferContenthook: #34506 - Allow reading request bodies in middlewares (#34294): #34519
- Update swc crates: #34491
- feat(react-dev-overlay): export getErrorByType and add preventDisplay prop: #34237
- Improve
next/imagewarnings to avoid printing more than once: #34562 - Support trailingSlash in middleware SSR: #34544
- Update to latest version of jscodeshift: #34563
Example Changes
- Convert custom-server-hapi Example to Typescript: #34507
- Updated head, img -> Image, type { NextPage } as default next-app: #34513
Misc Changes
- Add test for multiple cookies coming from middleware: #34465
- Simplify .env.local gitignores: #34471
Credits
Huge thanks to @styfle, @mitchell-abbott, @devknoll, @Schniz, @natew, @nrjdalal, @dephraiim, and @huozhi for helping!
Core Changes
- refactor: move
HtmlContext: #34482 - rsc: clean client buffer cache after flushed: #34475
- Ensure config's
experimentalfield exists: #34500 - Only log experiments warning if user actually opted in to an experiment(s): #34413
- Add
unstable_useFlushEffectshook: #34117 - fix: mock image path as
next/imageexpects it: #34350 - fix process polyfill on middleware: #34426
- Ensure workers are not left open: #34503
- Leverage existing component checking warning for streaming: #34526
- build(next-swc): linux glibc compatible issue: #34481
Documentation Changes
- Update docs for image optimization swr: #34483
- Fix 404 links in React 18 docs: #34486
- Fix snippet language sh -> bash: #34487
- Add info on rendering an error page when using getServerSideProps: #34488
- Update details about Cache Control Headers: #34416
- Update wrong code snippet: #34520
Misc Changes
- chore: clarify GitHub action (bot) comments: #34546
Credits
Huge thanks to @styfle, @shuding, @balazsorban44, @huozhi, @amandeepmittal, @bennettdams, @sophiabits, @MaedahBatool, @devknoll, @nkzawa, @kinetifex, @elrumordelaluz, and @Brooooooklyn for helping!
Core Changes
- Relay Support in Rust Compiler: #33702
- fix eslint link-passhref rule: #33857
- update webpack: #33831
- Flush buffered vitals metrics on page mount: #33867
- fix problem with HMR when middleware and page reference the same node_module: #33873
- Refactor page component getter in web server: #33759
- update NextResponse default redirect status to 307 to match docs: #33505
- Bug fix: dynamic page should not be interpreted as predefined page: #33808
- Group streaming experimental apis: #33878
- Encapsulate routing and initial hydration: #33875
- Optimize offline condition judgment: #33238
- Ensure external beforeFiles rewrites are handled with next/link: #33888
- Fix parsing params for i18n optional route in minimal mode: #33896
- Ensure browserslist extends works properly: #33890
- Fix image cache race condition: #33883
- Add support for Relay projects without
artifactDirectory: #33918 - fix: handle jsxspreadattribute in inline-script-id eslint rule: #32421
- feat(next-swc): Update swc: #33724
- Update to latest version of amphtml-validator: #33967
- Warn in dev mode when script tags are added with next/head: #33968
- Ensure optional chaining in swc matches babel: #33995
- Use
react-dom/server.browserin Node.js: #33950 - Ensure external middleware rewrite is handled correctly: #33962
- Update Terser to v5.10.0, fix minification issues: #33045
- Warn in dev mode when stylesheets are added using next/head: #34004
- Use
ReadableStreaminRenderResult: #34005 - Fix suffix ordering while streaming: #34011
- Don't use yarn if a package-lock.json file is found: #31926
- Do not warn when application/ld+json scripts are used with next/head: #34021
- Babel & next-swc: Fix exporting page config with AsExpression: #32702
- Detect per page runtime config for functions manifest: #33945
- Add JSDoc to config options: #32915
- Update font-stylesheet-gathering-plugin.ts: #30709
- Add decoratorMetadata flag if enabled by tsconfig: #32914
- fix: data url handling in css-loader: #34034
- Place 'charset' element at the top of : #28119
- Fix detection of anchor click events inside svg: #23272
- Allow passing nothing as custom jest config: #32328
- Fixes #31240: Adding a recursive addPackagePath function in webpack-config: #31264
- Require component rendered as child of
Linkto pass event toonClickhandler: #27723 - Allow scroll prevention on hash change: #31921
- Add support for async fn / promise in next.config.js/.mjs: #33662
- Fix
lazyRootfunctionality fornext/image: #33933 - Change SWC minify from beta to release candidate: #34056
- Make
Routerstate immutable: #33925 - Stop exposing internal
renderandrenderErrormethods fromnext/client: #34069 - Add api-utils helper for testing: #34078
- feat(next-swc): Update swc: #34045
- Deprecate
concurrentFeatureswithruntime: #34068 - Add check for resolveWeak to next/dynamic: #33908
- remove unneeded and broken plugin: #34087
- Remove experimental warning from next/jest: #34096
- fix: arrow function export in rsc client component: #34105
- Use
renderToStreamwith React 18: #34106 - Fix static result being piped: #34111
- Polyfill pipeTo and pipeThrough: #34112
- Update to leverage response-cache for image-optimizer: #34075
- fix:
next/imageusage fromnode_modules: #33559 - Fix included flight manifest on node runtime: #34113
- Fix: Use
react-dom/server.browserwhenreactRoot: true: #34116 - Fix image-optimizer requires in next-server: #34141
- Fix required files matching in rsc: #34137
- Throw error when ts file contains css.resolve: #34149
- Chore/stable swc compiler options: #34074
- Fix bug with "Circular Structure" error: #23905
- Add _document and _app pre-import: #23261
- Ensure standalone server handles SIGTERM: #34151
- Bump nft to 0.17.5: #34190
- feat: copy
.envfile in standalone mode: #34143 - Fix reuse of inline flight response and 404 for RSC in node runtime: #34202
- Use updated recursive rm fs method for image-optimizer: #34210
- Fix link for "Delete Query Params in Middleware" error message in
next-server.ts: #34230 - Enable dynamic HTML in minimal mode: #34222
- Fix uncaught error in getInitialProps when
runtimeis set tonodejs: #34228 - Optimize the web server size: #34242
- feat: allow
node-sass@7as peer dependency: #34107 - Adding step to build the app with docker in existing projects: #34083
- Changed all occurrences of etc to match: #34280
- Align reactRoot config between server and webpack config: #34328
- Fix
<RouteAnnouncer/>shouldn't announce initial path under strict mode and React 18: #34338 - Fix flight root failed to hydrate in strict mode: #34333
- Allow dismissing full refresh warning for session: #33868
- Remove experimental image optimization feature: #34349
- Add support for "type": "module" in package.json: #33637
- feat(next-swc): Update swc: #34355
- Ensure invalid request to static page is handled correctly: #34346
- Add Error Handing section for ISR: #34360
- feat(next-swc): Update swc: #34408
- feat: improve opening a new issue flow: #34434
- Ensure we don't poll page in development when notFound: true is returned: #34352
- Add image config for
dangerouslyAllowSVGandcontentSecurityPolicy: #34431 - Revert swc css bump temporarily: #34440
- update webpack: #34444
- Update server-only changes HMR handling: #34298
- Fix
.svgimage optimization with aloaderprop: #34452 - Allow reading request bodies in middlewares: #34294
- Revert "Allow reading request bodies in middlewares": #34479
- update webpack: #34477
- Fix chunk buffering for server components: #34474
- Remove deprecation for relative URL usage in middlewares: #34461
Documentation Changes
- Building web forms with Next.js and Vercel: #32525
- Add Clarity About Downloading and Self-Hosting a Font File: #33760
- Correct pluralization in newly added Relay documentation: #33880
- Update MDX document: #33916
- Update info on how to process webhooks by disabling bodyParser: #33909
- Update deployment docs to fix oversized image.: #33934
- docs: recommend
.endinstead of.sendwhen no body is being sent: #33611 - Update custom document docs to prepare for React 18.: #33814
- Fix typo in new experimental Relay support docs: #33963
- docs(isr): add missing key prop in jsx loop: #33984
- docs: use function for components in general: #33990
- Updated going-to-production with loading performance: #33179
- docs: fix variable name from
profileDatatodatain CSR page: #34018 - Improve Form Guide Contents: #33913
- Add
asyncto middleware docs.: #31356 - (docs): update i18n-routing.md: #33123
- Fix redirect url for prefixing the default locale: #33762
- Add note about dns-prefetch as fallback: #30385
- Update custom server docs for async methods: #30521
- Update multiple docs pages to follow Docs Content style guide: #33855
- fix: Change
urltonextUrlinside delete-query-params-in-middlewa…: #33796 - Changing GitHub Actions cache documentation: #28228
- [docs] Add env var load order: #32350
- docs: add Ory vercel example to auth page: #33029
- Add note about crawlers and
fallback: true: #34114 - docs(api-routes): fix node docs links: #34125
- add note to clarify use of Link when clearing preview cookies (issue #34129): #34142
- Re-render details if rewrites are used: #34049
- Add heading to
invalid-api-status-bodyerror: #34150 - Ensure /index route is redirected correctly for docs: #34206
- Update docs for image
lazyRootprop: #34241 - Update link for includeFiles glob reference: #34269
- Update Preview Mode docs.: #34278
- Update frequently asked questions in documentation: #34252
- Alphabetize auth docs providers.: #34281
- Replace babel with SWC & minor changes in
getting started: #34282 - Update Middleware docs to add version history.: #34302
- Fix typo on
getInitialProps: #34309 - Update missing curly brace in image.md: #34307
- docs: Add link to pageExtensions config in page-without-valid-component.md: #34285
- Add an example to Write server-side code directly section: #34319
- Few touch-ups to the docs on web forms in Next: #34286
- Update MDX Custom Elements setup: #34175
- Update image.md: #34374
- Updated failed to load error page to include info about node versions: #34362
- docs: react 18, streaming SSR, rsc with new apis: #33986
- Update MDX Guide config example: #34405
- Remove hello world RSC example.: #34456
- Fix typo: #34480
Example Changes
- Update npm comment in Docker example: #33881
- Update Contentful example to add validations to solve graphql complexity errors.: #33958
- Update all CMS examples dependencies.: #33580
- Fix warning unknown prettier option when running
yarn lint.: #34019 - [New Example] with docker - multiple deployment environments: #34015
- Fix ambiguous flags in Dockerfile example: #33417
- fix(examples/with-docker): update env comments: #29972
- Remove unused "start" script from with-docker/package.json: #31053
- Update remark in blog-starter-typescript: #31393
- Update _document.js: #29930
- Docs: use the nextv12 example from the storybook-addon-next repo as the with-storybook example: #33891
- examples, update with new URL: #34035
- [with-typescript-graphql] fixes breaking changes in graphql-let v0.18.0: #32681
- fix(example): with-typescript-graphql graphql-let package migrate: #29996
- feat: update firebase in with-firebase: #29581
- progressive web app example converted to typescript : #33100
- Make adjustment to cache config of with-apollo example: #32733
- Fix error thrown by
next/imagein the Sanity example: #34203 - Update examples/active-class-name: #34205
- chore(example): update preact links in examples: #34233
- fix: don't wrap
profilein firebase example: #34457
Misc Changes
- Fix flakey image-optimizer test: #33957
- Update azure config: #33999
- Add types to nextConfig in default template : #34029
- docs(contributing): Search GitHub for an open or closed PR that relates to your submission: #22533
- fix(create-next-app): add default version: #33006
- chore: do not run lock/stale actions on forks: #34053
- Fix functions manifest test: #34092
- add pnpm debug file in gitignore templates: #34091
- Update failing tests from upstream resource: #34110
- Update version number in next.config.js API reference
- chore: log lock bot output: #34168
- chore: decrease lock action runs #34180
- Allow listening for page requests in tests: #34204
- Update code of conduct from v1.4 to v2.1: #34208
- Update contributing.md to link to walkthrough video.: #34299
- fix: typo in gitignore in typescript template: #34372
- test: add inline flight response reuse test: #34364
- Update 2.example_bug_report.yml
- Update 1.bug_report.yml
- Update 2.example_bug_report.yml
- Update font-optimization test snapshot: #34478
Credits
Huge thanks to @MaedahBatool, @mutebg, @sokra, @huozhi, @hanford, @shuding, @sean6bucks, @jameshfisher, @devknoll, @yuta-ike, @zh-lx, @amandeepmittal, @alunyov, @stefanprobst, @leerob, @balazsorban44, @kdy1, @brittanyrw, @jord1e, @kara, @vvo, @ismaelrumzan, @dlindenkreuz, @MohammadxAli, @nguyenyou, @thibautsabot, @hanneslund, @vertti, @KateKate, @stefee, @mikinovation, @Leticijak, @mohsen1, @ncphillips, @ehowey, @lancechentw, @krychaxp, @fmacherey, @pklawansky, @RyanClementsHax, @lakbychance, @sannajammeh, @oliviertassinari, @alexander-akait, @u-yas, @Cheprer, @msp5382, @chrispat, @getspooky, @Ryz0nd, @klaasman, @midgleyc, @kumard3, @jesstelford, @neeraj3029, @glenngijsberts, @pie6k, @wouterraateland, @timneutkens, @11koukou, @thesyedbasim, @aeneasr, @ijjk, @lfades, @JuniorTour, @xavhan, @mattyocode, @padmaia, @Skn0tt, @gwer, @Nutlope, @styfle, @stipsan, @xhoantran, @eolme, @sespinosa, @zenorocha, @hjaber, @benmvp, @T-O-R-U-S, @dburrows, @atcastle, @kiriny, @molebox, @kitayoshi, and @Schniz for helping!
Core Changes
- Allow reading request bodies in middlewares: #34294
- Revert "Allow reading request bodies in middlewares": #34479
- update webpack: #34477
- Fix chunk buffering for server components: #34474
- Remove deprecation for relative URL usage in middlewares: #34461
Documentation Changes
- Remove hello world RSC example.: #34456
- Fix typo: #34480
Example Changes
- fix: don't wrap
profilein firebase example: #34457
Misc Changes
- Update font-optimization test snapshot: #34478
Credits
Huge thanks to @leerob, @balazsorban44, @Schniz, @sokra, and @shuding for helping!
Core Changes
- update webpack: #34444
- Update server-only changes HMR handling: #34298
- Fix
.svgimage optimization with aloaderprop: #34452
Documentation Changes
- Update MDX Guide config example: #34405
Misc Changes
- Update 1.bug_report.yml
- Update 2.example_bug_report.yml
Credits
Huge thanks to @sokra, @kitayoshi, and @styfle for helping!
Core Changes
- feat: improve opening a new issue flow: #34434
- Ensure we don't poll page in development when notFound: true is returned: #34352
- Add image config for
dangerouslyAllowSVGandcontentSecurityPolicy: #34431 - Revert swc css bump temporarily: #34440
Misc Changes
- Update 2.example_bug_report.yml
Credits
Huge thanks to @balazsorban44 and @styfle for helping!
Core Changes
- feat(next-swc): Update swc: #34408
Documentation Changes
- docs: react 18, streaming SSR, rsc with new apis: #33986
Credits
Huge thanks to @huozhi and @kdy1 for helping!
Core Changes
- Add Error Handing section for ISR: #34360
Misc Changes
- test: add inline flight response reuse test: #34364
Credits
Huge thanks to @huozhi and @amandeepmittal for helping!
Core Changes
- Changed all occurrences of etc to match: #34280
- Align reactRoot config between server and webpack config: #34328
- Fix
<RouteAnnouncer/>shouldn't announce initial path under strict mode and React 18: #34338 - Fix flight root failed to hydrate in strict mode: #34333
- Allow dismissing full refresh warning for session: #33868
- Remove experimental image optimization feature: #34349
- Add support for "type": "module" in package.json: #33637
- feat(next-swc): Update swc: #34355
- Ensure invalid request to static page is handled correctly: #34346
Documentation Changes
- Update link for includeFiles glob reference: #34269
- Update Preview Mode docs.: #34278
- Update frequently asked questions in documentation: #34252
- Alphabetize auth docs providers.: #34281
- Replace babel with SWC & minor changes in
getting started: #34282 - Update Middleware docs to add version history.: #34302
- Fix typo on
getInitialProps: #34309 - Update missing curly brace in image.md: #34307
- docs: Add link to pageExtensions config in page-without-valid-component.md: #34285
- Add an example to Write server-side code directly section: #34319
- Few touch-ups to the docs on web forms in Next: #34286
- Update MDX Custom Elements setup: #34175
- Update image.md: #34374
- Updated failed to load error page to include info about node versions: #34362
Misc Changes
- Update contributing.md to link to walkthrough video.: #34299
- fix: typo in gitignore in typescript template: #34372
Credits
Huge thanks to @ijjk, @leerob, @Nutlope, @zenorocha, @huozhi, @hjaber, @benmvp, @shuding, @amandeepmittal, @T-O-R-U-S, @dburrows, @sokra, @atcastle, @thesyedbasim, @kiriny, @molebox, and @kdy1 for helping!
Core Changes
- feat: allow
node-sass@7as peer dependency: #34107 - Adding step to build the app with docker in existing projects: #34083
Credits
Huge thanks to @balazsorban44 and @sespinosa for helping!
Core Changes
- Enable dynamic HTML in minimal mode: #34222
- Fix uncaught error in getInitialProps when
runtimeis set tonodejs: #34228 - Optimize the web server size: #34242
Documentation Changes
- Update docs for image
lazyRootprop: #34241
Example Changes
- chore(example): update preact links in examples: #34233
Credits
Huge thanks to @shuding, @styfle, and @eolme for helping!
Core Changes
- Fix reuse of inline flight response and 404 for RSC in node runtime: #34202
- Use updated recursive rm fs method for image-optimizer: #34210
- Fix link for "Delete Query Params in Middleware" error message in
next-server.ts: #34230
Documentation Changes
- Ensure /index route is redirected correctly for docs: #34206
Example Changes
- Fix error thrown by
next/imagein the Sanity example: #34203 - Update examples/active-class-name: #34205
Misc Changes
- Allow listening for page requests in tests: #34204
- Update code of conduct from v1.4 to v2.1: #34208
Credits
Huge thanks to @huozhi, @stipsan, @Nutlope, @xhoantran, and @MaedahBatool for helping!
Core Changes
- Throw error when ts file contains css.resolve: #34149
- Chore/stable swc compiler options: #34074
- Fix bug with "Circular Structure" error: #23905
- Add _document and _app pre-import: #23261
- Ensure standalone server handles SIGTERM: #34151
- Bump nft to 0.17.5: #34190
- feat: copy
.envfile in standalone mode: #34143
Documentation Changes
- add note to clarify use of Link when clearing preview cookies (issue #34129): #34142
- Re-render details if rewrites are used: #34049
- Add heading to
invalid-api-status-bodyerror: #34150
Misc Changes
- Update version number in next.config.js API reference
- chore: log lock bot output: #34168
- chore: decrease lock action runs #34180
Credits
Huge thanks to @mattyocode, @padmaia, @MaedahBatool, @Skn0tt, @gwer, @Nutlope, @balazsorban44, and @styfle for helping!
Core Changes
- Fix image-optimizer requires in next-server: #34141
- Fix required files matching in rsc: #34137
Documentation Changes
- docs(api-routes): fix node docs links: #34125
Credits
Huge thanks to @xavhan and @huozhi for helping!
Core Changes
- Update to leverage response-cache for image-optimizer: #34075
- fix:
next/imageusage fromnode_modules: #33559 - Fix included flight manifest on node runtime: #34113
- Fix: Use
react-dom/server.browserwhenreactRoot: true: #34116
Documentation Changes
- docs: add Ory vercel example to auth page: #33029
- Add note about crawlers and
fallback: true: #34114
Misc Changes
- Update failing tests from upstream resource: #34110
Credits
Huge thanks to @aeneasr, @ijjk, @lfades, @JuniorTour, @huozhi, and @devknoll for helping!
Core Changes
- feat(next-swc): Update swc: #34045
- Deprecate
concurrentFeatureswithruntime: #34068 - Add check for resolveWeak to next/dynamic: #33908
- remove unneeded and broken plugin: #34087
- Remove experimental warning from next/jest: #34096
- fix: arrow function export in rsc client component: #34105
- Use
renderToStreamwith React 18: #34106 - Fix static result being piped: #34111
- Polyfill pipeTo and pipeThrough: #34112
Misc Changes
- Fix functions manifest test: #34092
- add pnpm debug file in gitignore templates: #34091
Credits
Huge thanks to @kdy1, @shuding, @timneutkens, @sokra, @thesyedbasim, and @devknoll for helping!
Core Changes
- Add support for async fn / promise in next.config.js/.mjs: #33662
- Fix
lazyRootfunctionality fornext/image: #33933 - Change SWC minify from beta to release candidate: #34056
- Make
Routerstate immutable: #33925 - Stop exposing internal
renderandrenderErrormethods fromnext/client: #34069 - Add api-utils helper for testing: #34078
Misc Changes
- chore: do not run lock/stale actions on forks: #34053
Credits
Huge thanks to @timneutkens, @balazsorban44, @11koukou, and @devknoll for helping!
Core Changes
- Use
ReadableStreaminRenderResult: #34005 - Fix suffix ordering while streaming: #34011
- Don't use yarn if a package-lock.json file is found: #31926
- Do not warn when application/ld+json scripts are used with next/head: #34021
- Babel & next-swc: Fix exporting page config with AsExpression: #32702
- Detect per page runtime config for functions manifest: #33945
- Add JSDoc to config options: #32915
- Update font-stylesheet-gathering-plugin.ts: #30709
- Add decoratorMetadata flag if enabled by tsconfig: #32914
- fix: data url handling in css-loader: #34034
- Place 'charset' element at the top of : #28119
- Fix detection of anchor click events inside svg: #23272
- Allow passing nothing as custom jest config: #32328
- Fixes #31240: Adding a recursive addPackagePath function in webpack-config: #31264
- Require component rendered as child of
Linkto pass event toonClickhandler: #27723 - Allow scroll prevention on hash change: #31921
Documentation Changes
- docs: fix variable name from
profileDatatodatain CSR page: #34018 - Improve Form Guide Contents: #33913
- Add
asyncto middleware docs.: #31356 - (docs): update i18n-routing.md: #33123
- Fix redirect url for prefixing the default locale: #33762
- Add note about dns-prefetch as fallback: #30385
- Update custom server docs for async methods: #30521
- Update multiple docs pages to follow Docs Content style guide: #33855
- fix: Change
urltonextUrlinside delete-query-params-in-middlewa…: #33796 - Changing GitHub Actions cache documentation: #28228
- [docs] Add env var load order: #32350
Example Changes
- Fix warning unknown prettier option when running
yarn lint.: #34019 - [New Example] with docker - multiple deployment environments: #34015
- Fix ambiguous flags in Dockerfile example: #33417
- fix(examples/with-docker): update env comments: #29972
- Remove unused "start" script from with-docker/package.json: #31053
- Update remark in blog-starter-typescript: #31393
- Update _document.js: #29930
- Docs: use the nextv12 example from the storybook-addon-next repo as the with-storybook example: #33891
- examples, update with new URL: #34035
- [with-typescript-graphql] fixes breaking changes in graphql-let v0.18.0: #32681
- fix(example): with-typescript-graphql graphql-let package migrate: #29996
- feat: update firebase in with-firebase: #29581
- progressive web app example converted to typescript : #33100
- Make adjustment to cache config of with-apollo example: #32733
Misc Changes
- Add types to nextConfig in default template : #34029
- docs(contributing): Search GitHub for an open or closed PR that relates to your submission: #22533
- fix(create-next-app): add default version: #33006
Credits
Huge thanks to @devknoll, @MohammadxAli, @nguyenyou, @MaedahBatool, @thibautsabot, @kara, @hanneslund, @vertti, @KateKate, @stefee, @mikinovation, @Leticijak, @huozhi, @mohsen1, @ncphillips, @ehowey, @lancechentw, @krychaxp, @fmacherey, @pklawansky, @amandeepmittal, @RyanClementsHax, @lakbychance, @sannajammeh, @oliviertassinari, @alexander-akait, @u-yas, @Cheprer, @msp5382, @chrispat, @getspooky, @Ryz0nd, @klaasman, @balazsorban44, @midgleyc, @kumard3, @jesstelford, @neeraj3029, @glenngijsberts, @pie6k, and @wouterraateland for helping!
Core Changes
- Use
react-dom/server.browserin Node.js: #33950 - Ensure external middleware rewrite is handled correctly: #33962
- Update Terser to v5.10.0, fix minification issues: #33045
- Warn in dev mode when stylesheets are added using next/head: #34004
Misc Changes
- Update azure config: #33999
Credits
Huge thanks to @devknoll, @dlindenkreuz, and @kara for helping!
Core Changes
- Update to latest version of amphtml-validator: #33967
- Warn in dev mode when script tags are added with next/head: #33968
- Ensure optional chaining in swc matches babel: #33995
Documentation Changes
- Fix typo in new experimental Relay support docs: #33963
- docs(isr): add missing key prop in jsx loop: #33984
- docs: use function for components in general: #33990
- Updated going-to-production with loading performance: #33179
Example Changes
- Update Contentful example to add validations to solve graphql complexity errors.: #33958
- Update all CMS examples dependencies.: #33580
Misc Changes
- Fix flakey image-optimizer test: #33957
Credits
Huge thanks to @brittanyrw, @jord1e, @leerob, @kara, @vvo, @huozhi, and @ismaelrumzan for helping!
Core Changes
- fix: handle jsxspreadattribute in inline-script-id eslint rule: #32421
- feat(next-swc): Update swc: #33724
Documentation Changes
- Update deployment docs to fix oversized image.: #33934
- docs: recommend
.endinstead of.sendwhen no body is being sent: #33611 - Update custom document docs to prepare for React 18.: #33814
Credits
Huge thanks to @stefanprobst, @leerob, @balazsorban44, and @kdy1 for helping!
Core Changes
- Fix image cache race condition: #33883
- Add support for Relay projects without
artifactDirectory: #33918
Credits
Huge thanks to @alunyov for helping!
Core Changes
- Bug fix: dynamic page should not be interpreted as predefined page: #33808
- Group streaming experimental apis: #33878
- Encapsulate routing and initial hydration: #33875
- Optimize offline condition judgment: #33238
- Ensure external beforeFiles rewrites are handled with next/link: #33888
- Fix parsing params for i18n optional route in minimal mode: #33896
- Ensure browserslist extends works properly: #33890
Documentation Changes
- Update MDX document: #33916
- Update info on how to process webhooks by disabling bodyParser: #33909
Credits
Huge thanks to @jameshfisher, @huozhi, @devknoll, @yuta-ike, @zh-lx, and @amandeepmittal for helping!
Core Changes
- Flush buffered vitals metrics on page mount: #33867
- fix problem with HMR when middleware and page reference the same node_module: #33873
- Refactor page component getter in web server: #33759
- update NextResponse default redirect status to 307 to match docs: #33505
Documentation Changes
- Correct pluralization in newly added Relay documentation: #33880
Example Changes
- Update npm comment in Docker example: #33881
Credits
Huge thanks to @huozhi, @sokra, @hanford, @shuding, and @sean6bucks for helping!
Core Changes
- Relay Support in Rust Compiler: #33702
- fix eslint link-passhref rule: #33857
- update webpack: #33831
Documentation Changes
- Building web forms with Next.js and Vercel: #32525
- Add Clarity About Downloading and Self-Hosting a Font File: #33760
Credits
Huge thanks to @MaedahBatool, @mutebg, and @sokra for helping!
Core Changes
- fix: image optimizer hangs when invalid image is requested: #33719
- feat: make
compressconfigurable in standalone mode: #33717 - fix: allow certain variable names in development: #33638
- Use swc parse for flight server and client loaders: #33713
- Properly support custom 500 page in the web server: #33729
- chore: deprecate process.browser: #32862
- Improve tests for streaming and server components: #33740
- fix: fixes #33314 move is-plain-object for es5 compilation: #33690
- Add
stale-while-revalidatepattern to Image Optimization API: #33735 - Allow to delete URL search params in middleware rewrites: #33725
- Ensure all CSS files are included for experimental critical CSS: #33752
- Ensure non-error thrown in getStaticPaths shows correctly: #33753
- Fix encoding error with location and refresh headers: #33763
- Fix duplicate image src causing canceled request: #33776
- Generate functions manifest: #33770
- Enable jest hoist transform when using next/jest: #33731
- fix typo: #33840
- fix(next/image): render valid html according to W3C: #33825
Documentation Changes
- Update Time to First Byte (TTFB) link: #33715
- Changed data fetching file name to overview to fix meta data title: #33232
- Correct misspelling in testing documentation #33754: #33755
- Move custom server note from middleware doc: #33744
- Fixed duplicate data fetching overview page + links: #33774
- [docs] Mention SWC in TypeScript documentation.: #33801
- Testing docs: Comment out optional config that points to a file: #33827
- Update Content-Security-Policy header usage explanation: #33833
Example Changes
- Fix
with-dockerexample dockerfile: #33695 - Added next.config.js with datocms-assets domain in allow list: #33647
- Fix: broken npm install: #33767
- [example] Upgrade the with-stripe-typescript example app: #33761
- Upgrade to @stitches/react 1.2.6: #33817
- Doc: fix broken link to api routes doc: #33836
Misc Changes
- run stale 20 minutes earlier
- fix: use github action instead of bot: #33718
- fix syntax error in
lock.yml - fix rsc test suite runner: #33745
Credits
Huge thanks to @Vienio99, @balazsorban44, @kyliau, @molebox, @huozhi, @shuding, @PepijnSenders, @krystofex, @PizzaPete, @souljuse, @styfle, @Schniz, @Nelsonfrank, @ijjk, @Mhmdrza, @timneutkens, @hideokamoto-stripe, @Emrin, @gr-qft, @delbaoliveira, @redbar0n, @amandeepmittal, @lxy-yz, and @Divlo for helping!
Core Changes
- Generate functions manifest: #33770
- Enable jest hoist transform when using next/jest: #33731
- fix typo: #33840
- fix(next/image): render valid html according to W3C: #33825
Documentation Changes
- Fixed duplicate data fetching overview page + links: #33774
- [docs] Mention SWC in TypeScript documentation.: #33801
- Testing docs: Comment out optional config that points to a file: #33827
- Update Content-Security-Policy header usage explanation: #33833
Example Changes
- Upgrade to @stitches/react 1.2.6: #33817
- Doc: fix broken link to api routes doc: #33836
Credits
Huge thanks to @molebox, @Emrin, @gr-qft, @delbaoliveira, @huozhi, @timneutkens, @redbar0n, @amandeepmittal, @lxy-yz, and @Divlo for helping!
Core Changes
- Fix encoding error with location and refresh headers: #33763
- Fix duplicate image src causing canceled request: #33776
Documentation Changes
- Move custom server note from middleware doc: #33744
Example Changes
- Fix: broken npm install: #33767
- [example] Upgrade the with-stripe-typescript example app: #33761
Credits
Huge thanks to @ijjk, @Mhmdrza, @timneutkens, and @hideokamoto-stripe for helping!
Core Changes
- fix: image optimizer hangs when invalid image is requested: #33719
- feat: make
compressconfigurable in standalone mode: #33717 - fix: allow certain variable names in development: #33638
- Use swc parse for flight server and client loaders: #33713
- Properly support custom 500 page in the web server: #33729
- chore: deprecate process.browser: #32862
- Improve tests for streaming and server components: #33740
- fix: fixes #33314 move is-plain-object for es5 compilation: #33690
- Add
stale-while-revalidatepattern to Image Optimization API: #33735 - Allow to delete URL search params in middleware rewrites: #33725
- Ensure all CSS files are included for experimental critical CSS: #33752
- Ensure non-error thrown in getStaticPaths shows correctly: #33753
Documentation Changes
- Update Time to First Byte (TTFB) link: #33715
- Changed data fetching file name to overview to fix meta data title: #33232
- Correct misspelling in testing documentation #33754: #33755
Example Changes
- Fix
with-dockerexample dockerfile: #33695 - Added next.config.js with datocms-assets domain in allow list: #33647
Misc Changes
- run stale 20 minutes earlier
- fix: use github action instead of bot: #33718
- fix syntax error in
lock.yml - fix rsc test suite runner: #33745
Credits
Huge thanks to @Vienio99, @balazsorban44, @kyliau, @molebox, @huozhi, @shuding, @PepijnSenders, @krystofex, @PizzaPete, @souljuse, @styfle, @Schniz, and @Nelsonfrank for helping!
This upgrade is completely backward-compatible and recommended for all users on versions below 12.0.9
Vulnerable code could allow a bad actor to trigger a denial of service attack via the /${locale}/_next/ route for anyone running a Next.js app at version >= 12.0.0, and using built-in i18n routing functionality.
How to Upgrade
- We have released patch versions for both the stable and canary channels of Next.js.
- To upgrade run
npm install next@latest --save
Impact
- Affected: All of the following must be true to be affected by this CVE
- Next.js versions between
v12.0.0andv12.0.9 - Using next start or a custom server
- Using the built-in i18n support
- Next.js versions between
- Not affected:
- Deployments on Vercel (vercel.com) are not affected along with similar environments where invalid requests are filtered before reaching Next.js.
We recommend everyone to upgrade regardless of whether you can reproduce the issue or not.
How to Assess Impact
If your server has seen requests to any route under the prefix /${locale}/_next/ that have triggered a heap overflow error, this was caused by the patched issue.
What is Being Done
As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to our users for their investigation and responsible disclosure of the original bug.
We've landed a patch that ensures this is handled properly so the requested route no longer crashes and triggers a heap overflow.
Regression tests for this attack were added to the i18n integration test suite
- A public CVE was released.
- We encourage responsible disclosure of future reports. Please email us at
security@vercel.com. We are actively monitoring this mailbox.
Core Changes
- middlewares: limit
process.envto inferred usage: #33186 - update webpack: #33207
- Abstract out native filesystem usage from the base server: #33226
- use text data url instead of base64 for shorter encoding: #33218
- chore(deps): upgrade
postcss: #33142 - Fix global process testing for the process polyfill: #33220
- Update swc: #33201
- improve full refresh overlay: #33301
- Custom app for server components: #33149
- Update yarn PnP tests and disable swc file reading for PnP: #33236
- Base Http for BaseServer: #32999
- Update swc: #33342
- Update check for fallback pages during export: #33323
- Pre-compile more dependencies: #32742
- Remove node fetch polyfill from base server: #33395
- Replace regexp to plain string for optimization render HTML: #33306
- Fix broken html on streaming render for error page: #33399
- Disable cache for rsc pages: #33438
- Fix pre-compiled check from copying react-refresh-utils: #33442
- fix(next-swc): Update swc: #33427
- Move middleware handling to node server: #33448
- Enforce absolute URLs in Edge Functions runtime: #33410
- feat(next-swc): Update swc: #33461
- Update main field for nccd jest-worker: #33465
- chore(deps): upgrade
node-fetch: #33466 - Move static serving to next server: #33475
- feat(next-swc): Update swc: #33485
- Fix multiple calls to image
onLoadingComplete(): #33474 - Refactor base server to remove native dependencies: #33499
- Update swc: #33514
- Implement abstract methods to get manifest files in the base server: #33537
- Simplify getMiddlewareInfo calls: #33542
- Fix static file check with i18n: #33503
- Bump styled-jsx: #33546
- Ensure optional value normalizing is correct for index: #33547
- Bump nft to 0.17.4: #33548
- Add
next-multilingualexample: #29386 - Removed the s from NextConfig: #33560
- feat(next-swc): Update swc: #33595
- Fix rsc export component name detection: #33608
- upgrade webpack: #33549
- Ensure fetch polyfill is loaded in next-server: #33616
- feat(next-swc): Update swc: #33628
- Add
lazyRootoptional property tonext/imagecomponent : #33290 - feat(next-swc): Update swc: #33675
- Implement web server as the request handler for edge SSR: #33635
- Relay Support in Rust Compiler: #33240
- Revert "Relay Support in Rust Compiler": #33699
Documentation Changes
- Fixed broken link related to the recently merged Data fetching docs refactor: #33209
- Removed backticks on data fetching api titles: #33216
- Added links to data fetching api refs, fixed title: #33221
- Remove outdated & possibly confusing statement about redirects: #33224
- [examples] Add a statically generated blog example using Next.js and Builder.io: #22094
- Typo Fix: #33252
- Update font-optimization.md: #33266
- Fixed broken links in data fetching docs: #33250
- docs: Mention middleware for getStaticProps: #33273
- Add sections for Remove React Properties and Remove Console to compiler docs: #33311
- Update links in
next export+next/imageerror message: #33317 - Add
onLoadgottcha note tonext/scriptdocs: #33097 - Update security-headers.md: fix path does not match homepage: #33137
- fix minor typo in SWR: #33378
- ReferenceError in authentication.md example fixed: #33411
- docs: fix url: #33409
- fix(docs): Fix typo in Custom Build Id docs: #33515
- [docs] Update authentication docs to fix iron-session link.: #33483
- docs(authentication): fix iron-session example link: #33502
- Update middleware documentation for custom server: #33535
- Removed unrequired path in docs' manifest: #33579
- Update
next/serverdocumentation forgeo: #33609 - Clarify
next/imageusage withnext exportbased on feedback.: #33555 - Clarify
headersconfig option description: #33484 - fix(errors/no-cache):
netlify-plugin-cache-nextjshas been deprecated: #33629 - Updated docs for getServerSideProps and getStaticProps return values: #33577
- Use relative path for example: #33565
- chore(docs): update security headers specification: #33673
- REMOVE: duplicate key in docs/testing.md: #33681
Example Changes
- [examples] Update remark dependency for blog-starter: #33313
- Update package.json for examples/with-supabase-auth-realtime-db: #33321
- Working example for building forms with Next.js: #32669
- Updates dependency version of frontend SDK in with-supertokens example: #33393
- docs: add skynexui to examples: #33326
- Update with-linaria dependency: #33487
- Update Supabase example README.: #33610
- [examples] Add new Tailwind CSS Prettier plugin to example: #33614
Misc Changes
- Update license year
- fix(docs): master branch renaming: #33312
- Add link to security email directly.: #33358
- Fix getServerSideProps hanging in dev on early end: #33366
- [docs] Fix 404 link for testing example.: #33407
- Update to latest version of turbo: #33613
- Update other instances of node-fetch: #33617
Credits
Huge thanks to @molebox, @Schniz, @sokra, @kachkaev, @shuding, @teleaziz, @OgbeniHMMD, @goncy, @balazsorban44, @MaedahBatool, @bennettdams, @kdy1, @huozhi, @hsynlms, @styfle, @ijjk, @callumgare, @jonrosner, @karaggeorge, @rpie3, @MartijnHols, @leerob, @bashunaimiroy, @NOCELL, @rishabhpoddar, @omariosouto, @hanneslund, @theMosaad, @javivelasco, @pierrenel, @lobsterkatie, @tharakabimal, @vvo, @saevarb, @lfades, @nbouvrette, @paulnbrd, @ecklf, @11koukou, @renbaoshuo, @chozzz, @tbezman, @karlhorky, @j-mendez, and @ffan0811 for helping!
Documentation Changes
- chore(docs): update security headers specification: #33673
- REMOVE: duplicate key in docs/testing.md: #33681
Credits
Huge thanks to @j-mendez and @ffan0811 for helping!
Core Changes
- Revert "Relay Support in Rust Compiler": #33699
Documentation Changes
- Use relative path for example: #33565
Credits
Huge thanks to @karlhorky for helping!
Core Changes
- feat(next-swc): Update swc: #33628
- Add
lazyRootoptional property tonext/imagecomponent : #33290
Documentation Changes
- Clarify
headersconfig option description: #33484 - fix(errors/no-cache):
netlify-plugin-cache-nextjshas been deprecated: #33629
Credits
Huge thanks to @lobsterkatie, @kdy1, @11koukou, and @renbaoshuo for helping!
Core Changes
- Ensure fetch polyfill is loaded in next-server: #33616
Example Changes
- [examples] Add new Tailwind CSS Prettier plugin to example: #33614
Misc Changes
- Update to latest version of turbo: #33613
- Update other instances of node-fetch: #33617
Credits
Huge thanks to @ecklf for helping!
Core Changes
- Ensure optional value normalizing is correct for index: #33547
- Bump nft to 0.17.4: #33548
- Add
next-multilingualexample: #29386 - Removed the s from NextConfig: #33560
- feat(next-swc): Update swc: #33595
- Fix rsc export component name detection: #33608
- upgrade webpack: #33549
Documentation Changes
- Removed unrequired path in docs' manifest: #33579
- Update
next/serverdocumentation forgeo: #33609 - Clarify
next/imageusage withnext exportbased on feedback.: #33555
Example Changes
- Update Supabase example README.: #33610
Credits
Huge thanks to @styfle, @lfades, @nbouvrette, @paulnbrd, @kdy1, @huozhi, @leerob, and @sokra for helping!
Core Changes
- Implement abstract methods to get manifest files in the base server: #33537
- Simplify getMiddlewareInfo calls: #33542
- Fix static file check with i18n: #33503
- Bump styled-jsx: #33546
Documentation Changes
- Update middleware documentation for custom server: #33535
Credits
Huge thanks to @shuding, @huozhi, and @saevarb for helping!
Core Changes
- Fix multiple calls to image
onLoadingComplete(): #33474 - Refactor base server to remove native dependencies: #33499
- Update swc: #33514
Documentation Changes
- fix(docs): Fix typo in Custom Build Id docs: #33515
- [docs] Update authentication docs to fix iron-session link.: #33483
- docs(authentication): fix iron-session example link: #33502
Credits
Huge thanks to @styfle, @shuding, @lobsterkatie, @tharakabimal, @vvo, and @kdy1 for helping!
Core Changes
- feat(next-swc): Update swc: #33485
Example Changes
- Update with-linaria dependency: #33487
Credits
Huge thanks to @kdy1 and @pierrenel for helping!
Core Changes
- Move middleware handling to node server: #33448
- Enforce absolute URLs in Edge Functions runtime: #33410
- feat(next-swc): Update swc: #33461
- Update main field for nccd jest-worker: #33465
- chore(deps): upgrade
node-fetch: #33466 - Move static serving to next server: #33475
Credits
Huge thanks to @shuding, @javivelasco, @kdy1, @balazsorban44, and @huozhi for helping!
Core Changes
- Disable cache for rsc pages: #33438
- Fix pre-compiled check from copying react-refresh-utils: #33442
- fix(next-swc): Update swc: #33427
Credits
Huge thanks to @huozhi, @ijjk, and @kdy1 for helping!
Core Changes
- Update swc: #33201
- improve full refresh overlay: #33301
- Custom app for server components: #33149
- Update yarn PnP tests and disable swc file reading for PnP: #33236
- Base Http for BaseServer: #32999
- Update swc: #33342
- Update check for fallback pages during export: #33323
- Pre-compile more dependencies: #32742
- Remove node fetch polyfill from base server: #33395
- Replace regexp to plain string for optimization render HTML: #33306
- Fix broken html on streaming render for error page: #33399
Documentation Changes
- Add sections for Remove React Properties and Remove Console to compiler docs: #33311
- Update links in
next export+next/imageerror message: #33317 - Add
onLoadgottcha note tonext/scriptdocs: #33097 - Update security-headers.md: fix path does not match homepage: #33137
- fix minor typo in SWR: #33378
- ReferenceError in authentication.md example fixed: #33411
- docs: fix url: #33409
Example Changes
- [examples] Update remark dependency for blog-starter: #33313
- Update package.json for examples/with-supabase-auth-realtime-db: #33321
- Working example for building forms with Next.js: #32669
- Updates dependency version of frontend SDK in with-supertokens example: #33393
- docs: add skynexui to examples: #33326
Misc Changes
- fix(docs): master branch renaming: #33312
- Add link to security email directly.: #33358
- Fix getServerSideProps hanging in dev on early end: #33366
- [docs] Fix 404 link for testing example.: #33407
Credits
Huge thanks to @kdy1, @sokra, @huozhi, @hsynlms, @styfle, @ijjk, @callumgare, @jonrosner, @karaggeorge, @rpie3, @MartijnHols, @leerob, @bashunaimiroy, @MaedahBatool, @NOCELL, @rishabhpoddar, @omariosouto, @hanneslund, and @theMosaad for helping!
Core Changes
- middlewares: limit
process.envto inferred usage: #33186 - update webpack: #33207
- Abstract out native filesystem usage from the base server: #33226
- use text data url instead of base64 for shorter encoding: #33218
- chore(deps): upgrade
postcss: #33142 - Fix global process testing for the process polyfill: #33220
Documentation Changes
- Fixed broken link related to the recently merged Data fetching docs refactor: #33209
- Removed backticks on data fetching api titles: #33216
- Added links to data fetching api refs, fixed title: #33221
- Remove outdated & possibly confusing statement about redirects: #33224
- [examples] Add a statically generated blog example using Next.js and Builder.io: #22094
- Typo Fix: #33252
- Update font-optimization.md: #33266
- Fixed broken links in data fetching docs: #33250
- docs: Mention middleware for getStaticProps: #33273
Misc Changes
- Update license year
Credits
Huge thanks to @molebox, @Schniz, @sokra, @kachkaev, @shuding, @teleaziz, @OgbeniHMMD, @goncy, @balazsorban44, @MaedahBatool, and @bennettdams for helping!
Core Changes
- Fix no-server-import-in-page eslint rule for subfolder middleware: #32139
- Create Base Server: #32154
- Revert support for render prop in
<Main />: #32184 - Refactor FS references in the Base Server: #32179
- telemetry: collect feature usage for linting during build: #32022
- Chore/load bindings improvements: #32191
- fix(NODE_ENV): Warn when launching start or build on development: #14033
- Fix crash in no-page-custom-font eslint rule when default export is unnamed.: #32251
- Add docs for leveraging outputStandalone config: #32255
- Replace raw-body with get-stream and bytes: #21915
- Update to latest ncc and ensure caniuse-lite data is external : #32064
- Update swc: #32210
- Simplify custom
Writable: #32247 - Add shake exports transform to next-swc: #32253
- Revert "Replace raw-body with get-stream and bytes": #32305
- Re-open chore(deps): upgrade browserslist: #32300
- Fix RSC link navigation: #32303
- Compile escape-string-regexp: #32310
- Add unstable_useRefreshRoot: #32342
- Upate swc: #32365
- fix unstable_useRefreshRoot typing: #32364
- fix(next-swc/styled-jsx): Fix
nth: #32358 - Rename experimental vital hook: #32343
- Inline server data response with partial hydration: #32330
- Update
jsxtransform of swc: #32383 - Fix running server with Polyfilled fetch: #32368
- Fix dynamic routes with pages under index folder: #32440
- Fixes #32338 missing Document components trigger an error for production builds: #32345
- Fixes for inline embedding data in the web runtime: #32471
- Add vitals and rsc to npm files: #32472
- fixes to allow lazy compilation for import(): #32441
- upgrade webpack and watchpack: #32173
- Update to filter loader specific files from traces: #32267
- Fix server data cache key: #32506
- [middleware] Fix hydration for rewrites to dynamic pages: #32534
- Ensure image-optimizer is traced for standalone mode: #32522
- Remove unused classnames dependency from react-dev-overlay: #32487
- next-swc: Emit errors and add tests to next-ssg: #32254
- Include message body in redirect responses: #31886
- Prevent NEXT_PHASE env change in workers: #28941
- Check stack property for page export exceptions: #32289
- fix(next-swc/styled-jsx): Fix interpolation in media query: #32490
- Update swc: #32566
- Add turbo / improve Rust build caching in GitHub Actions: #31464
- Fix ReadableStream.pipeTo() being unimplemented in the web runtime: #32602
- Ensure AMP optimizer is only excluded from trace when not used: #32577
- Upgraded next-env dependencies: #32613
- Feat/14701 full reload notification: #28866
- Move fs API for inc cache to node server: #32604
- Add options to defaultGetInitialProps and upgrade styled-jsx-with-csp example: #32594
- Fix
style.filteron image withplaceholder=blur: #32623 - Fix writing strings to the writable stream writer: #32637
- fix(next/jest): do not watch
.nextfolder: #32659 - chore: Update swc: #32664
- Pre-compile more dependencies: #32627
- Upgrade react 18 to rc, drop prerelease warning: #32619
- next-swc: styled-jsx error checking and reporting updated (invalid-styled-jsx-children.md): #31940
- Fix style reset on image with
placeholder=blur: #32680 - Pre-compile more dependencies continued: #32679
- web runtime: add AbortController & AbortSignal: #32089
- Don't swallow test failures caused by POSIX signals: #32688
- Escape from next head in rsc _error page: #32624
- fix popstate detection for safari when basepath is present: #32687
- Bust cache for RSC in each render: #32710
- Update web runtime externals: #32717
- Reduce styled-jsx size in client bundle: #32730
- Bump nft to version 0.17.1: #32737
- Remove anonymous default export rule from Babel: #32763
- feat(eslint): allow
afor internal url whentarget="blank"present: #32780 - fix(eslint-plugin-next): Broken links in eslint output: #32837
- [ESLint] Adds lint rule to flag usage of
<head>: #32897 - ignore .d.ts files inside pages folder: #30728
- Fix
next/imagenoscript tag to only render when lazy: #32918 - Simplify trace span id generation: #32946
- Move resolve-url-loader into Next.js: #32932
- fix(router): scroll to top when
href="/"and hash already present: #32954 - Remove un-needed test dependency: #32616
- Fix issue with escape-string-regexp in IE11: #32708
- Allow to opt-out from preflight cache: #32767
- Ensure setImmediate and punycode are polyfilled: #32768
- Fixes issue with makeStylesheetInert: #32027
- Reduce install size for linux glibc/musl: #32850
- Ensure middleware is output in standalone mode: #32967
- Revert "Reduce install size for linux glibc/musl": #32973
- feat(cli): introduce
next infoCLI command: #32972 - Ensure NODE_ENV is not inlined for next/jest: #33032
- converted the old tailwind css example to typescript : #32808
- fix: ensure revalidation error is logged from response-cache: #32657
- Bump
@vercel/nftto 0.17.2: #33048 - Add util for generating new tests/error documents: #33001
- Fix middleware at root in standalone mode: #33053
- Update swc: #33063
- use a separate webpack runtime for middleware: #33134
- Allow dependencies to use environment variables in middlewares: #33141
- next-swc: fix ssg code elimination when used in render: #32709
- drop dynamic import with
ssr: falseon server-side: #32606 - Fix broken yarn pnp: #32867
- Add util for normalizing errors: #33159
Documentation Changes
- Fixed Yarn and NPM
devswapped arguments: #32135 - Removed misleading id's from headings: #32163
- Details about starting dev server Next.js docs.: #32002
- Add Umbraco Heartcore blog example: #21409
- Fix error page doc for no server import in page: #32164
- Document staticPageGenerationTimeout config: #32306
- Change using-preact example dependencies and docs: #30394
- Updated link to Local Images: #32427
- docs: remove empty example link: #32439
- Update react version to rc in react-18 doc: #32473
- doc: update remark import: #32481
- Include mention of the onError Prop for next/script: #31945
- Document basePath redirect field for getStaticProps/getServerSideProps: #32550
- Fix typo in documentation: #32581
- Add moduleDirectories for TS Jest Config: #32574
- Added section about router methods returning a promise: #31341
- Added example for setting cookie before redirect in middleware: #32542
- chore: convert Jest examples to TypeScript: #32705
- Update note about .next/static in standalone mode: #32771
- Fixed syntax error in the example of React Hydration Error: #32773
- fix: typo: #32820
- Update the React 18 documentation: #32896
- doc: add quotes to api: #32898
- Update lint-staged example to use node.js path: #30510
- Update scrolling example using query param instead of hash: #31473
- Updated wrong link to example of gtag init in measuring-performance.md: #32974
- Update deployment documentation.: #32006
- Fix link for Next.js Analytics in docs: #33049
- docs: fix typo in MDX docs: #33077
- docs: minor text-copy cleanup: #33120
- No info on environment variables in the src folder (#33110): #33136
- Add Caveats section to custom error page: #33160
- Fixes #33153: Updating cross-references from master to main + canary: #33198
- Docs: correct ignorance pattern for .env.local: #32647
- Refactor data fetching API docs: #30615
Example Changes
- fix cms-sanity example: #32182
- Fix issue in auth0 example: #32293
- Update Next.js version in api rate limits example: #32326
- Update example for Tailwind v3: #32339
- chore: remove duplicate example: #32391
- Updated to working example: #32256
- Update Dockerfile: #32299
- Update docker image to leverage output traces: #32258
- chore(blog-starter): update tailwindcss to v3: #32398
- fix: setup prismic image host: #31589
- fix: add .web.jsx extension support in react-native-web example: #32076
- Update 14-alpine to 16-alpine: #31777
- chore(blog-starter-typescript): update tailwindcss to v3: #32579
- Typo fix in comments: #32609
- This example does not show how to use Jest with TypeScript: #32633
- Updates with-supertokens example: Fixes init race condition: #32706
- Add authentication example using Stytch: #32194
- Update Sentry example readme to mention Next.js 12 support: #32724
- fix(examples): Update
nextjs-graphql-with-prisma-simpleexample API endpoint: #32759 - chore(examples): remove duplicate examples: #32779
- fix(examples): bring
with-semantic-uiexample up-to-date: #32805 - fix(examples): update link URL in
cms-kontentexample: #32806 - Add id to inline Segment script: #32878
- Remove un-necessary second yarn install from example Dockerfile: #32934
- fix(examples): add missing dependencies: #32977
- Rename api in with-redis example: #33016
- fix(examples/cms-contentful): add correct Content-Type + missing closing tag for html: #30321
- Avoid page double render with emotion vanilla: #30541
- fix: typescript example supporting strict w/ version >= 4.4: #33042
- [chore] Update
detaversion in examples: #30204 - (examples/with-next-translate) Removed Redundancies in Strings: #29501
- Remove extra config from tailwind example: #33062
- Adding Asset Component for Rich Text Renderer: #32503
Misc Changes
- chore: auto close inactive issues without reproduction: #32214
- Ensure wasm dev artifact uploads even on cache hit: #32248
- Ensure test wasm does not fail for docs only change: #32259
- chore: lock version on stale action: #32262
- Fix styled-jsx tests from swc bump: #32297
- Update AMP validation tests: #32327
- Update only fetch all tags for publish commits: #32337
- Fix flakey next/link react streaming test: #32351
- test: add wait timeout between clicks for rsc link: #32376
- test: add timeout for dev entries to avoid hard navigation: #32476
- chore: lock stale & closed issues sooner
- Added docs issue template: #32488
- Ensure experimental SWC options invalidate the cache: #32540
- Edited contribution docs: #32583
- Update contributing guidelines for examples: #32584
- Remove unused turbo env vars: #32588
- Move some img tests out of serverless mode: #32620
- Disable turbo for build-native temporarily: #32621
- Add test case for middleware rewrite to fallback: true page: #32626
- Ensure device IP is used for safari browserstack test: #32712
- fix: run prettier on with-jest and with-jest-babel examples
- Update readme.md of next-mdx to allow typescript file extensions for pages: #32830
- chore: decrease stale time before closing issues with no reproduction: #32955
- Re-enable turbo caching for swc build jobs: #32617
- fix(ci): Remove unused turbo remote cache env vars: #33030
- Update next.config.js: #33091
Credits
Huge thanks to @arthurfiorette, @thibautsabot, @shuding, @chimit, @joperron, @devknoll, @MaedahBatool, @kyliau, @padmaia, @moh12594, @rasmusjp, @balazsorban44, @molebox, @bryanrsmith, @TrySound, @josharsh, @kdy1, @styfle, @huozhi, @delbaoliveira, @PizzaPete, @thecrypticace, @arturparkhisenko, @segheysens, @thevinter, @AryanBeezadhur, @xiaohp, @tknickman, @javivelasco, @oriolcp, @sokra, @smakosh, @ijjk, @jorrit, @timneutkens, @hanneslund, @mix3d, @Clecio013, @michielvangendt, @intergalacticspacehighway, @jbraithwaite, @marcelocarmona, @benmerckx, @haykerman, @steven-tey, @jaredpalmer, @pi-guy-in-the-sky, @JuanM04, @apollisa, @D-Pagey, @jameshfisher, @rishabhpoddar, @Kikobeats, @ramosbugs, @dan-weaver, @chris-stytch, @MikevPeeren, @janpio, @emw3, @nubpro, @cmdcolin, @joostdecock, @sgallese, @housseindjirdeh, @minervabot, @cjboco, @Ryuurock, @dm430, @mkarkachov, @nvh95, @gfortaine, @kumard3, @zifeo, @vicente-s, @Rohithgilla12, @brookton, @leerob, @skirsten, @davidfateh, @DavidBabel, @mannybecerra, @Schniz, @glenngijsberts, @pveyes, @kaykdm, and @xhiroga for helping!
Documentation Changes
- Fixes #33153: Updating cross-references from master to main + canary: #33198
- Docs: correct ignorance pattern for .env.local: #32647
- Refactor data fetching API docs: #30615
Credits
Huge thanks to @mannybecerra, @xhiroga, and @molebox for helping!
Core Changes
- next-swc: fix ssg code elimination when used in render: #32709
- drop dynamic import with
ssr: falseon server-side: #32606 - Fix broken yarn pnp: #32867
- Add util for normalizing errors: #33159
Documentation Changes
- Add Caveats section to custom error page: #33160
Credits
Huge thanks to @glenngijsberts, @pveyes, @sokra, and @kaykdm for helping!
Core Changes
- Update swc: #33063
- use a separate webpack runtime for middleware: #33134
- Allow dependencies to use environment variables in middlewares: #33141
Documentation Changes
- docs: fix typo in MDX docs: #33077
- docs: minor text-copy cleanup: #33120
- No info on environment variables in the src folder (#33110): #33136
Example Changes
- Adding Asset Component for Rich Text Renderer: #32503
Misc Changes
- Update next.config.js: #33091
Credits
Huge thanks to @balazsorban44, @davidfateh, @DavidBabel, @kdy1, @mannybecerra, @sokra, and @Schniz for helping!
Core Changes
- Bump
@vercel/nftto 0.17.2: #33048 - Add util for generating new tests/error documents: #33001
- Fix middleware at root in standalone mode: #33053
Documentation Changes
- Update deployment documentation.: #32006
- Fix link for Next.js Analytics in docs: #33049
Example Changes
- Remove extra config from tailwind example: #33062
Credits
Huge thanks to @leerob, @styfle, and @skirsten for helping!
Core Changes
- Ensure NODE_ENV is not inlined for next/jest: #33032
- converted the old tailwind css example to typescript : #32808
- fix: ensure revalidation error is logged from response-cache: #32657
Example Changes
- Rename api in with-redis example: #33016
- fix(examples/cms-contentful): add correct Content-Type + missing closing tag for html: #30321
- Avoid page double render with emotion vanilla: #30541
- fix: typescript example supporting strict w/ version >= 4.4: #33042
- [chore] Update
detaversion in examples: #30204 - (examples/with-next-translate) Removed Redundancies in Strings: #29501
Misc Changes
- fix(ci): Remove unused turbo remote cache env vars: #33030
Credits
Huge thanks to @jaredpalmer, @nvh95, @gfortaine, @kumard3, @zifeo, @vicente-s, @Rohithgilla12, @brookton, and @balazsorban44 for helping!
Core Changes
- feat(cli): introduce
next infoCLI command: #32972
Documentation Changes
- Updated wrong link to example of gtag init in measuring-performance.md: #32974
Example Changes
- fix(examples): add missing dependencies: #32977
Misc Changes
- Re-enable turbo caching for swc build jobs: #32617
Credits
Huge thanks to @mkarkachov and @balazsorban44 for helping!
Core Changes
- Ensure middleware is output in standalone mode: #32967
- Revert "Reduce install size for linux glibc/musl": #32973
Credits
Huge thanks to @styfle for helping!
Core Changes
- fix(router): scroll to top when
href="/"and hash already present: #32954 - Remove un-needed test dependency: #32616
- Fix issue with escape-string-regexp in IE11: #32708
- Allow to opt-out from preflight cache: #32767
- Ensure setImmediate and punycode are polyfilled: #32768
- Fixes issue with makeStylesheetInert: #32027
- Reduce install size for linux glibc/musl: #32850
Misc Changes
- chore: decrease stale time before closing issues with no reproduction: #32955
Credits
Huge thanks to @balazsorban44, @javivelasco, @dm430, and @styfle for helping!
Core Changes
- Remove anonymous default export rule from Babel: #32763
- feat(eslint): allow
afor internal url whentarget="blank"present: #32780 - fix(eslint-plugin-next): Broken links in eslint output: #32837
- [ESLint] Adds lint rule to flag usage of
<head>: #32897 - ignore .d.ts files inside pages folder: #30728
- Fix
next/imagenoscript tag to only render when lazy: #32918 - Simplify trace span id generation: #32946
- Move resolve-url-loader into Next.js: #32932
Documentation Changes
- Update note about .next/static in standalone mode: #32771
- Fixed syntax error in the example of React Hydration Error: #32773
- fix: typo: #32820
- Update the React 18 documentation: #32896
- doc: add quotes to api: #32898
- Update lint-staged example to use node.js path: #30510
- Update scrolling example using query param instead of hash: #31473
Example Changes
- Add authentication example using Stytch: #32194
- Update Sentry example readme to mention Next.js 12 support: #32724
- fix(examples): Update
nextjs-graphql-with-prisma-simpleexample API endpoint: #32759 - chore(examples): remove duplicate examples: #32779
- fix(examples): bring
with-semantic-uiexample up-to-date: #32805 - fix(examples): update link URL in
cms-kontentexample: #32806 - Add id to inline Segment script: #32878
- Remove un-necessary second yarn install from example Dockerfile: #32934
Misc Changes
- Update readme.md of next-mdx to allow typescript file extensions for pages: #32830
Credits
Huge thanks to @chris-stytch, @MikevPeeren, @janpio, @timneutkens, @emw3, @balazsorban44, @nubpro, @cmdcolin, @joostdecock, @sgallese, @shuding, @huozhi, @housseindjirdeh, @thibautsabot, @minervabot, @cjboco, and @Ryuurock for helping!
Core Changes
- Bust cache for RSC in each render: #32710
- Update web runtime externals: #32717
- Reduce styled-jsx size in client bundle: #32730
- Bump nft to version 0.17.1: #32737
Documentation Changes
- chore: convert Jest examples to TypeScript: #32705
Misc Changes
- fix: run prettier on with-jest and with-jest-babel examples
Credits
Huge thanks to @huozhi, @balazsorban44, and @styfle for helping!
Core Changes
- Fix style reset on image with
placeholder=blur: #32680 - Pre-compile more dependencies continued: #32679
- web runtime: add AbortController & AbortSignal: #32089
- Don't swallow test failures caused by POSIX signals: #32688
- Escape from next head in rsc _error page: #32624
- fix popstate detection for safari when basepath is present: #32687
Documentation Changes
- Added example for setting cookie before redirect in middleware: #32542
Example Changes
- Updates with-supertokens example: Fixes init race condition: #32706
Misc Changes
- Ensure device IP is used for safari browserstack test: #32712
Credits
Huge thanks to @styfle, @molebox, @rishabhpoddar, @Kikobeats, @ramosbugs, @huozhi, and @dan-weaver for helping!
Core Changes
- Fix writing strings to the writable stream writer: #32637
- fix(next/jest): do not watch
.nextfolder: #32659 - chore: Update swc: #32664
- Pre-compile more dependencies: #32627
- Upgrade react 18 to rc, drop prerelease warning: #32619
- next-swc: styled-jsx error checking and reporting updated (invalid-styled-jsx-children.md): #31940
Documentation Changes
- Added section about router methods returning a promise: #31341
Example Changes
- This example does not show how to use Jest with TypeScript: #32633
Misc Changes
- Add test case for middleware rewrite to fallback: true page: #32626
Credits
Huge thanks to @shuding, @balazsorban44, @molebox, @jameshfisher, @kdy1, @huozhi, and @hanneslund for helping!
Core Changes
- Move fs API for inc cache to node server: #32604
- Add options to defaultGetInitialProps and upgrade styled-jsx-with-csp example: #32594
- Fix
style.filteron image withplaceholder=blur: #32623
Misc Changes
- Move some img tests out of serverless mode: #32620
- Disable turbo for build-native temporarily: #32621
Credits
Huge thanks to @huozhi and @styfle for helping!
Core Changes
- next-swc: Emit errors and add tests to next-ssg: #32254
- Include message body in redirect responses: #31886
- Prevent NEXT_PHASE env change in workers: #28941
- Check stack property for page export exceptions: #32289
- fix(next-swc/styled-jsx): Fix interpolation in media query: #32490
- Update swc: #32566
Documentation Changes
- Include mention of the onError Prop for next/script: #31945
- Document basePath redirect field for getStaticProps/getServerSideProps: #32550
Example Changes
- fix: setup prismic image host: #31589
- fix: add .web.jsx extension support in react-native-web example: #32076
- Update 14-alpine to 16-alpine: #31777
Credits
Huge thanks to @hanneslund, @mix3d, @Clecio013, @michielvangendt, @intergalacticspacehighway, @jbraithwaite, @marcelocarmona, @benmerckx, @ijjk, and @kdy1 for helping!
Core Changes
- Fix server data cache key: #32506
- [middleware] Fix hydration for rewrites to dynamic pages: #32534
- Ensure image-optimizer is traced for standalone mode: #32522
- Remove unused classnames dependency from react-dev-overlay: #32487
Misc Changes
- chore: lock stale & closed issues sooner
- Added docs issue template: #32488
- Ensure experimental SWC options invalidate the cache: #32540
Credits
Huge thanks to @shuding, @javivelasco, @jorrit, @molebox, and @timneutkens for helping!
Core Changes
- Fix dynamic routes with pages under index folder: #32440
- Fixes #32338 missing Document components trigger an error for production builds: #32345
- Fixes for inline embedding data in the web runtime: #32471
- Add vitals and rsc to npm files: #32472
- fixes to allow lazy compilation for import(): #32441
- upgrade webpack and watchpack: #32173
- Update to filter loader specific files from traces: #32267
Documentation Changes
- Update react version to rc in react-18 doc: #32473
- doc: update remark import: #32481
Misc Changes
- test: add timeout for dev entries to avoid hard navigation: #32476
Credits
Huge thanks to @huozhi, @oriolcp, @shuding, @sokra, @smakosh, and @ijjk for helping!
Core Changes
- Rename experimental vital hook: #32343
- Inline server data response with partial hydration: #32330
- Update
jsxtransform of swc: #32383 - Fix running server with Polyfilled fetch: #32368
Documentation Changes
- Change using-preact example dependencies and docs: #30394
- Updated link to Local Images: #32427
- docs: remove empty example link: #32439
Example Changes
- chore: remove duplicate example: #32391
- Updated to working example: #32256
- Update Dockerfile: #32299
- Update docker image to leverage output traces: #32258
- chore(blog-starter): update tailwindcss to v3: #32398
Misc Changes
- test: add wait timeout between clicks for rsc link: #32376
Credits
Huge thanks to @huozhi, @arturparkhisenko, @balazsorban44, @segheysens, @thevinter, @AryanBeezadhur, @shuding, @kdy1, @xiaohp, @tknickman, and @javivelasco for helping!
Core Changes
- Fix RSC link navigation: #32303
- Compile escape-string-regexp: #32310
- Add unstable_useRefreshRoot: #32342
- Upate swc: #32365
- fix unstable_useRefreshRoot typing: #32364
- fix(next-swc/styled-jsx): Fix
nth: #32358
Example Changes
- Update Next.js version in api rate limits example: #32326
- Update example for Tailwind v3: #32339
Misc Changes
- Update AMP validation tests: #32327
- Update only fetch all tags for publish commits: #32337
- Fix flakey next/link react streaming test: #32351
Credits
Huge thanks to @huozhi, @delbaoliveira, @PizzaPete, @thecrypticace, and @kdy1 for helping!
Core Changes
- Update swc: #32210
- Simplify custom
Writable: #32247 - Add shake exports transform to next-swc: #32253
- Revert "Replace raw-body with get-stream and bytes": #32305
- Re-open chore(deps): upgrade browserslist: #32300
Documentation Changes
- Document staticPageGenerationTimeout config: #32306
Misc Changes
- Fix styled-jsx tests from swc bump: #32297
Credits
Huge thanks to @kdy1, @devknoll, @padmaia, and @styfle for helping!
Core Changes
- Chore/load bindings improvements: #32191
- fix(NODE_ENV): Warn when launching start or build on development: #14033
- Fix crash in no-page-custom-font eslint rule when default export is unnamed.: #32251
- Add docs for leveraging outputStandalone config: #32255
- Replace raw-body with get-stream and bytes: #21915
- Update to latest ncc and ensure caniuse-lite data is external : #32064
Documentation Changes
- Add Umbraco Heartcore blog example: #21409
- Fix error page doc for no server import in page: #32164
Example Changes
- Fix issue in auth0 example: #32293
Misc Changes
- chore: auto close inactive issues without reproduction: #32214
- Ensure wasm dev artifact uploads even on cache hit: #32248
- Ensure test wasm does not fail for docs only change: #32259
- chore: lock version on stale action: #32262
Credits
Huge thanks to @padmaia, @moh12594, @rasmusjp, @balazsorban44, @molebox, @bryanrsmith, @TrySound, and @josharsh for helping!
Core Changes
- Create Base Server: #32154
- Revert support for render prop in
<Main />: #32184 - Refactor FS references in the Base Server: #32179
- telemetry: collect feature usage for linting during build: #32022
Documentation Changes
- Removed misleading id's from headings: #32163
- Details about starting dev server Next.js docs.: #32002
Example Changes
- fix cms-sanity example: #32182
Credits
Huge thanks to @shuding, @chimit, @joperron, @devknoll, @MaedahBatool, and @kyliau for helping!
Core Changes
- Fix no-server-import-in-page eslint rule for subfolder middleware: #32139
Documentation Changes
- Fixed Yarn and NPM
devswapped arguments: #32135
Credits
Huge thanks to @arthurfiorette and @thibautsabot for helping!
Core Changes
- Add test for TailwindCSS JIT mode reloading: #32130
- Ensure conf type for createServer is not changed: #32134
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Add test for TailwindCSS JIT mode reloading: #32130
- Ensure conf type for createServer is not changed: #32134
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Fix document type import path: #32117
Core Changes
- Fix document type import path: #32117
This upgrade is completely backward-compatible and recommended for all users on versions below 12.0.5. A backport of the patch to Next.js 11 is available as 11.1.3.
When a URL is provided to next-server that cannot be parsed, an unhandledPromiseRejection could occur. On Node.js versions < v15.0.0 this isn't a fatal issue as only a warning is shown. However, in Node.js versions > v15.0.0, this causes the server process to exit, which can result in unexpected server crashes.
How to Upgrade
- We have released patch versions for both the stable and canary channels of Next.js.
- To upgrade run
npm install next@latest --save
Impact
- Affected: All of the following must be true to be affected
- Next.js versions above
v11.1.0and belowv12.0.5 - Node.js above
v15.0.0being used - Using
next startor a custom server
- Next.js versions above
- Not affected: Deployments on Vercel (vercel.com) are not affected along with similar environments where invalid requests are filtered before reaching Next.js.
We recommend everyone to upgrade regardless of whether you can reproduce the issue or not.
How to Assess Impact
If you are running Node.js > v15.0.0 with Next.js, you can filter any server error logs for ERR_INVALID_URL.
What is Being Done
As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to GitHub user hopeless-programmer-online for their investigation and discovery of the original bug.
We've landed a patch that ensures this is handled properly so the unhandledPromiseRejection issue no longer occurs.
Regression tests for this attack were added to the security integration test suite
- A public CVE is requested.
- We encourage responsible disclosure of future reports. Please email us at
security@vercel.com. We are actively monitoring this mailbox.
Core Changes
- Add a swc transform for removal of
console.*calls.: #31449 - Support ESLint v8: #29865
- fix: allow
next lintwithouteslint-config-nextinstalled: #29823 - Remove TextEncoder and TextDecoder wrappers: #31490
- simplify output messages: #31454
- update webpack: #31455
- NextResponse: add
.jsonstatic method: #31483 - Use _error for development in streaming: #31466
- Refactor the middleware SSR loader: #31508
- Add detection for
Google-PageRendererbot: #31521 - Click-to-open error state for development overlay #14461: #21819
- Ensure only one doctype is rendered: #31534
- Update swc: #31540
- Add/wasm build: #31470
- telemetry: track usage of 'optimizeFonts': #31522
- Make missing
Documentcomponents an error: #31505 - Adjust AVIF size so that its smaller than WebP size: #31494
- Fix unhandled rejection on route change in dev: #31554
- Re-add native package folders and ensure wasm artifacts are downloaded: #31561
- Fix HMR for middleware #30791: #31548
- Minor simplifications to
renderToWebStream: #31553 - Fix accessing router before ready for HMR ping: #31588
- Implement SWC port of next-page-disallow-re-export-all-exports: #31582
- [ESLint] Prevent
no-html-link-for-pagesfrom warning for static files: #31495 - Move root div to an app wrapper: #31596
- Add types for geo lat and long: #31624
- Fix non-concurrent function _document: #31628
- Remove outdated comment about string children being deprecated in
next/link: #30606 - fix(middleware): consider localhost variations: #31603
- Update swc: #31639
- Extract next-swc Rust code into its own package: #31635
- Fix dev router usage before router initializing: #31632
- avoid mutating response.cookie options: #31679
- Add cookies and headers for request using in RSC: #31623
- Remove trace_target env var in favor of .next/trace: #31697
- Add error link when hydration error occurs: #31519
- Fix initial compile timing incorrect measurement: #31733
- Lazily init getStaticPathsWorker: #31760
- Remove noop import: #31722
- update webpack: #31759
- Fix wasm loading: #31772
- Remove some watcher hacks and update version: #31768
- Improve and refactor some types: #31704
- read file in swc when no loaders follow the next-swc-loader: #31682
- Lazy-load postcss: #31762
- update webpack: #31798
- Ensure middleware order is preserved: #31801
- Refactor sandbox module cache: #31822
- Fix hydration middleware effects: #31800
- fix: support function components in _document in no-page-custom-font: #31560
- Add support for removing React properties.: #31606
- Include submodules in exported type definition: #28316
- Move require.resolve into the module scope: #31799
- fix amp validator message format: #31018
- Fix auto export condition in edge SSR: #31845
- bugfix: href value is not defined when typing out the href: #31813
- Do not load external binding if local was found: #31853
- fix: rsc headers: #31854
- Add port and hostname options to Next Server: #31858
- Fix: Cannot assign to read only property 'children': #31784
- Fix disabling of built-in CSS support if there is a custom loader: #31078
- include no-document-import-in-page rule in plugin index: #31890
- Account for platform/arch not supported by napi-rs: #31938
- Removng prop writable checking in prod: #31929
- Enable default functional document when concurrentFeatures is enabled: #31954
- Stop using environment variables in
pages/_document: #31946 - Fix image related link prop warning with react 18 beta: #31895
- Escape string when converting to regexp: #31791
- Add TS types for NextMiddleware: #30578
- fix(types): add missing ua type for NextRequest: #31901
- Ensure that external modules are not bundled into the client for RSC: #31968
- Resolve streaming data for flight requests: #32010
- Allow pre-release React 18 as peer: #31991
- fix(Link): Do not ignore onMouseEnter prop with absolute href: #32012
- add experimental.swcFileReading flag to disable file reading in swc: #31995
- Fix middleware types with skipLibCheck: false: #32025
- Include page for export errors for easier debugging: #32013
- avoid retaining webpack config too long: #32053
- Skip warnings for Image not rendered to the dom: #32049
- Improve exported root definitions: #32077
- Fix running server with Polyfilled fetch: #31935
- Ensure invalid URLs respond with 400 correctly: #32092
- Remove future.strictPostcssConfiguration config: #32098
- Revert "Fix running server with Polyfilled fetch (#31935)": #32100
Documentation Changes
- Update react-18.md: #31476
- Add docs for the Rust Compiler (SWC).: #31467
- Script examples: #31181
- Fix type declaration for API Routes response: #31486
- Update environment-variables.md: #31525
- Add middleware examples to custom page extensions: #31545
- Added guide for setting up Next.js with MDX: #30869
- Fix typo in MDX guide: #31709
- Added note on env vars: #31237
- docs(next-config): extend phase lines reference: #31711
- [Docs][Fix] Broken Link to API Reference: #31820
- Docs(router): Add type for url parameter: #31737
- SWC: Add error checks and tests to next-dynamic: #31683
- Docs(React 18): add missing
Suspenseimport: #31897 - Docs(React 18): remove unnecessary
Reactimport: #31900 - IMPROVE: Middlerware Set Cookie API Ref: #31707
- Update
next exportdocumentation.: #31465 - Update Jest examples and docs: #31633
- Add note to docs about
sharpmemory usage on default Linux setup: #31919 - docs(Testing): Remove duplicate link: #32071
Example Changes
- Replace old static path by public | typo: #31573
- Update README of cms-cosmic example: #31701
- 'imgix.cosmicjs.com' image domain in cms-cosmic example: #31703
- Fix pwa demo: #31734
- docs(examples): add secure flag explanation to with-iron-session: #31896
- [WIP] Add tracing to
with-sentryexample: #30401 - Fix with-mongo example by removing deprecated function: #30675
- grammatical error in alert.js: #32062
Misc Changes
- Revert "Add docs for the Rust Compiler (SWC).": #31484
- Ensure wasm package.json is written before publish: #31568
- Update labeler.json
- Update labeler.json
- Update send-to-jaeger URL output: #31563
- Fixing typo in Documentation about Testing: #31653
- Add docs for the Next.js Compiler written in Rust (leveraging SWC): #31485
- Fix prettier linting
- Fix labels for release sections
- Fix musl build
- Enable require for swc_bundler: #31663
- add test case: #31691
- Update swc: #31816
- docs(middleware): file extension consistency: #31879
- Remove unpurpose test: #31898
- Remove unnecessary workflow step : #31943
- Update swc: #31963
- docs(NextRequest): req.cookie => req.cookies: #31975
- Add next-swc to labeler
- Add Rich, Maedah, and Ismael to the docs label
- Updated Maedahs name in label gen config: #32005
- Fix copying swc binary for isolated tests locally: #32026
- Lock node version for CI: #32057
- Make CI build cache key more specific: #32059
- Remove "yarn jest" from Next.js repo scripts: #32042
- Fix the testall npm script: #32081
Credits
Huge thanks to @mzaien, @losfair, @ykzts, @leerob, @timneutkens, @stefanprobst, @javivelasco, @sokra, @goncy, @knezevicdev, @Kikobeats, @huozhi, @shuding, @styfle, @yang-feng-yfeng, @kdy1, @xuchaobei, @elkevinwolf, @padmaia, @kyliau, @devknoll, @fabienheureux, @hanneslund, @nilskaspersson, @Andarist, @mathcrln, @ijjk, @dferber90, @molebox, @FranciscoMoretti, @benschwarz, @wendellhu95, @gazdagergo, @imabp, @ljosberinn, @samuliasmala, @lfades, @ka2jun8, @monsonjeremy, @pqt, @vvo, @leoortizz, @michel-kraemer, @thibautsabot, @MaedahBatool, @lobsterkatie, @ntkoopman, @delbaoliveira, @iicdii, @j-mendez, @chentsulin, @ericmatthys, @lennym, @balogunkeji, and @wnr for helping!
Core Changes
- Revert "Fix running server with Polyfilled fetch (#31935)": #32100
Credits
Huge thanks to @javivelasco for helping!
Core Changes
- Fix running server with Polyfilled fetch: #31935
- Ensure invalid URLs respond with 400 correctly: #32092
- Remove future.strictPostcssConfiguration config: #32098
Misc Changes
- Fix the testall npm script: #32081
Credits
Huge thanks to @javivelasco, @chentsulin, and @timneutkens for helping!
Core Changes
- Allow pre-release React 18 as peer: #31991
- fix(Link): Do not ignore onMouseEnter prop with absolute href: #32012
- add experimental.swcFileReading flag to disable file reading in swc: #31995
- Fix middleware types with skipLibCheck: false: #32025
- Include page for export errors for easier debugging: #32013
Documentation Changes
- Add note to docs about
sharpmemory usage on default Linux setup: #31919
Example Changes
- grammatical error in alert.js: #32062
Misc Changes
- Updated Maedahs name in label gen config: #32005
- Fix copying swc binary for isolated tests locally: #32026
- Lock node version for CI: #32057
- Make CI build cache key more specific: #32059
Credits
Huge thanks to @molebox, @chentsulin, @ericmatthys, @lennym, @sokra, and @balogunkeji for helping!
Core Changes
- Add TS types for NextMiddleware: #30578
- fix(types): add missing ua type for NextRequest: #31901
- Ensure that external modules are not bundled into the client for RSC: #31968
- Resolve streaming data for flight requests: #32010
Documentation Changes
- Update Jest examples and docs: #31633
Example Changes
- Fix with-mongo example by removing deprecated function: #30675
Misc Changes
- docs(NextRequest): req.cookie => req.cookies: #31975
- Add next-swc to labeler
- Add Rich, Maedah, and Ismael to the docs label
Credits
Huge thanks to @styfle, @delbaoliveira, @vvo, @iicdii, @j-mendez, @shuding, and @huozhi for helping!
Core Changes
- Account for platform/arch not supported by napi-rs: #31938
- Removng prop writable checking in prod: #31929
- Enable default functional document when concurrentFeatures is enabled: #31954
- Stop using environment variables in
pages/_document: #31946 - Fix image related link prop warning with react 18 beta: #31895
- Escape string when converting to regexp: #31791
Documentation Changes
- IMPROVE: Middlerware Set Cookie API Ref: #31707
- Update
next exportdocumentation.: #31465
Example Changes
- [WIP] Add tracing to
with-sentryexample: #30401
Misc Changes
- Remove unnecessary workflow step : #31943
- Update swc: #31963
Credits
Huge thanks to @padmaia, @MaedahBatool, @lobsterkatie, @huozhi, @leerob, @kdy1, @devknoll, and @ntkoopman for helping!
Core Changes
- Refactor sandbox module cache: #31822
- Fix hydration middleware effects: #31800
- fix: support function components in _document in no-page-custom-font: #31560
- Add support for removing React properties.: #31606
- Include submodules in exported type definition: #28316
- Move require.resolve into the module scope: #31799
- fix amp validator message format: #31018
- Fix auto export condition in edge SSR: #31845
- bugfix: href value is not defined when typing out the href: #31813
- Do not load external binding if local was found: #31853
- fix: rsc headers: #31854
- Add port and hostname options to Next Server: #31858
- Fix: Cannot assign to read only property 'children': #31784
- Fix disabling of built-in CSS support if there is a custom loader: #31078
- include no-document-import-in-page rule in plugin index: #31890
Documentation Changes
- [Docs][Fix] Broken Link to API Reference: #31820
- Docs(router): Add type for url parameter: #31737
- SWC: Add error checks and tests to next-dynamic: #31683
- Docs(React 18): add missing
Suspenseimport: #31897 - Docs(React 18): remove unnecessary
Reactimport: #31900
Example Changes
- docs(examples): add secure flag explanation to with-iron-session: #31896
Misc Changes
- Update swc: #31816
- docs(middleware): file extension consistency: #31879
- Remove unpurpose test: #31898
Credits
Huge thanks to @kdy1, @imabp, @javivelasco, @ljosberinn, @samuliasmala, @losfair, @lfades, @hanneslund, @timneutkens, @ka2jun8, @shuding, @monsonjeremy, @padmaia, @huozhi, @pqt, @styfle, @vvo, @leoortizz, @michel-kraemer, and @thibautsabot for helping!
Core Changes
- Lazily init getStaticPathsWorker: #31760
- Remove noop import: #31722
- update webpack: #31759
- Fix wasm loading: #31772
- Remove some watcher hacks and update version: #31768
- Improve and refactor some types: #31704
- read file in swc when no loaders follow the next-swc-loader: #31682
- Lazy-load postcss: #31762
- update webpack: #31798
- Ensure middleware order is preserved: #31801
Documentation Changes
- Added note on env vars: #31237
- docs(next-config): extend phase lines reference: #31711
Credits
Huge thanks to @molebox, @sokra, @padmaia, @javivelasco, and @gazdagergo for helping!
Core Changes
- avoid mutating response.cookie options: #31679
- Add cookies and headers for request using in RSC: #31623
- Remove trace_target env var in favor of .next/trace: #31697
- Add error link when hydration error occurs: #31519
- Fix initial compile timing incorrect measurement: #31733
Documentation Changes
- Added guide for setting up Next.js with MDX: #30869
- Fix typo in MDX guide: #31709
Example Changes
- Update README of cms-cosmic example: #31701
- 'imgix.cosmicjs.com' image domain in cms-cosmic example: #31703
- Fix pwa demo: #31734
Misc Changes
- Enable require for swc_bundler: #31663
- add test case: #31691
Credits
Huge thanks to @dferber90, @sokra, @molebox, @huozhi, @FranciscoMoretti, @benschwarz, @ijjk, and @wendellhu95 for helping!
Core Changes
- Fix dev router usage before router initializing: #31632
Misc Changes
- Fix labels for release sections
- Fix musl build
Credits
Huge thanks to @ijjk for helping!
Core Changes
- fix(middleware): consider localhost variations: #31603
- Update swc: #31639
Credits
Huge thanks to @Kikobeats and @kdy1 for helping!
Core Changes
- Implement SWC port of next-page-disallow-re-export-all-exports: #31582
- [ESLint] Prevent
no-html-link-for-pagesfrom warning for static files: #31495 - Move root div to an app wrapper: #31596
- Add types for geo lat and long: #31624
- Fix non-concurrent function _document: #31628
- Remove outdated comment about string children being deprecated in
next/link: #30606
Misc Changes
- Update labeler.json
- Update send-to-jaeger URL output: #31563
Credits
Huge thanks to @hanneslund, @nilskaspersson, @devknoll, @huozhi, and @Andarist for helping!
Core Changes
- Fix HMR for middleware #30791: #31548
- Minor simplifications to
renderToWebStream: #31553 - Fix accessing router before ready for HMR ping: #31588
Credits
Huge thanks to @javivelasco and @devknoll for helping!
Example Changes
- Replace old static path by public | typo: #31573
Misc Changes
- Ensure wasm package.json is written before publish: #31568
- Update labeler.json
Credits
Huge thanks to @fabienheureux for helping!
Core Changes
- Add a swc transform for removal of
console.*calls.: #31449 - Support ESLint v8: #29865
- fix: allow
next lintwithouteslint-config-nextinstalled: #29823 - Remove TextEncoder and TextDecoder wrappers: #31490
- simplify output messages: #31454
- update webpack: #31455
- NextResponse: add
.jsonstatic method: #31483 - Use _error for development in streaming: #31466
- Refactor the middleware SSR loader: #31508
Documentation Changes
- Update react-18.md: #31476
- Add docs for the Rust Compiler (SWC).: #31467
- Script examples: #31181
- Fix type declaration for API Routes response: #31486
Misc Changes
- Revert "Add docs for the Rust Compiler (SWC).": #31484
Credits
Huge thanks to @mzaien, @losfair, @ykzts, @leerob, @timneutkens, @stefanprobst, @javivelasco, @sokra, @goncy, @knezevicdev, @Kikobeats, @huozhi, and @shuding for helping!
Core Changes
- Update middleware eval checks: #30883
- Optimize the SSR middleware runtime size: #30906
- Improve error handling in the SSR middleware: #31057
- Ensure decode error in minimal mode responds with 400 not 500: #31037
- Update ServerlessPlugin to use chunkGraph: #31058
- Fix custom 404 page when concurrentFeatures is enabled: #31059
- Upgrade React alpha and experimental dependencies to latest: #31039
- Change disabled SWC message to Log.info: #31091
- Add render prop support to
<Main>: #30156 - Change .web extension of document page to part of path: #31116
- Enable code splitting for the web runtime build: #31090
- Give priority to document.title over h1 when announcing page change: #31147
- Add webpack5 namespace to fix type errors: #31140
- Add warning when image has unused
sizesprop: #31064 - Add experimental next-swc jest transform: #30993
- fix: support --cache-strategy ESLint argument (fixes #29926): #29928
- fixes #31060: NullReferenceException: #31061
- use loader-utils 2 for resolve-url-loader to fix
./data:urls in sass: #31134 - Update reason message for isolatedModules and esModuleInterop: #31150
- Add input/output test for 30091: #31166
- Fix
useIdmismatches on hydration: #31102 - Do not hide body when concurrentFeatures is enabled: #31187
- Fix middleware i18n rewrites: #31174
- next-swc: Add
displayNameAndIdofstyled-components: #31189 - Use require.resolve to detect "framework" packages (fix pnpm): #21048
- Add all cases where webpack5 type is used: #31206
- Add test for styled-components SWC transform disabled: #31214
- Add initial standalone build handling: #31003
- fix(middleware): expose
CryptoKeyandglobalThis.CryptoKey: #31193 - Disable styled-components displayName in production: #31216
- fix(31013): add base path to preflight request url: #31101
- share collections in middleware vm context: #31043
- Support assetPrefix specific protocol: #31213
- upgrade webpack: #31034
- Update swc: #31233
- run middleware parser handler only for middleware modules: #31219
- Update swc minifier: #31242
- Fix process.env overriden in web runtime: #31261
- fix: replaced useless let: #31239
- Experimental next/jest config helper: #31246
- correctly assess node equality when nonce attribute is present: #27573
- bugfix/i18n Do not support the second locale in the pathname: #31229
- Fix typo in
next buildlog: #31295 - Ensure next/jest is published: #31296
- Update swc for
jsc.paths: #31290 - next/jest: Ensure typeof window is not transformed in jsdom environment: #31304
- Output where preference is saved: #31305
- Upgrade webpack: #31313
- Ensure asPath is correctly normalized in minimalMode with i18n: #31281
- Automatically using different port to start dev server for non-explicit port: #30736
- Resolve stream piper on complete shell for renderToReadableStream: #31186
- fix(middleware): fetch resource may be a URL instance (or any stringifiable value): #31260
- Ensure NODE_ENV is replaced correctly with swc: #31274
- Add support for jsxImportSource in tsconfig/jsconfig: #31358
- fix(30724): clear "x-middleware-next" header when chaining middlewares: #30866
- Add eslint rule to prevent importing next/server outside of _middleware: #30973
- Don't proxy middleware if host is the same: #31180
- Add support for legacy decorators through tsconfig/jsconfig: #31376
- Update swc & fix
styled-jsx: #31407 - show
(middleware only)when a middleware is added to the compiler: #31409 - Add minify debug env var to investigate minifier bugs: #31417
- add filename to babel warning about anonymous function default exports: #31322
- Refactor server/render for SSR streaming: #31231
- Remove moment locale replace from craCompat as it's a default in Next.js 12: #31431
- Fix basePath replacing server-side and
normalizeLocalePath()when path is empty string: #30978 - Close stream when fatal error occurs: #31164
- middleware: add request referrer support: #31343
Documentation Changes
- Expands
next/scriptdocumentation: #31063 - Fix minor typos: #31161
- Include www subdomain example in Domain Routing: #30487
- Fix heading levels in URL imports docs.: #31163
- Update upgrading.md: #31173
- docs: fix typo in css-in-js page: #31244
- Testing Docs: Add links to jump to sections: #31311
- Changes in dev script (package.json): #31245
- Typo fixes on Markdown files: #31380
- Update data-fetching.md: #31394
- Update image-optimization.md: #31401
- Fix function syntax for API Routes documentation: #31414
- docs: next-iron-session renamed to iron-session: #31292
- Clarify with commas: #31224
- docs(auth): fix iron-session example url + API: #31413
Example Changes
- Optimise bundle size for with-supertokens example: #31040
- Update remark and remark-html dependencies: #31051
- Docs/examples/with iron session updates: #30956
- Fix Auth0 Example: #31284
- Updates with-supertokens example to add sign in with apple: #31200
- Auth0 Example:
getSessionshould be called withreqandres: #31330 - examples: fix README with google analytics: #31384
- Add Playwright example: #29426
- Fix storybook styled-jsx example with styled-jsx 5: #31357
Misc Changes
- improve windows support for benchmark: #31032
- Add integration test for Suspense and streaming: #31197
- Bump cancel-workflow-action to 0.9.1: #31210
- test: skip flaky dynamic import tests: #31221
- Add integration test of API routes with
concurrentFeaturesenabled: #31227 - Update contributing doc with trouble shooting section for swc: #31265
- Fix test-pnp stalling in CI: #31282
- Fix failed-loading-swc link in Troubleshooting: #31314
- Maintain co-authors when kodiak merges: #31316
- bugfix/second-locale-in-pathname remove console.log: #31289
- Rewrite send-trace-to-jaeger in Rust: #31392
- Ensure Git feature.manyFiles is enabled: #31408
- Remove .only and ensure jest lint rules apply for all tests: #31456
- Ensure swc dep is copied for isolated tests: #31462
Credits
Huge thanks to @javivelasco, @shuding, @rishabhpoddar, @chemicalkosek, @huozhi, @timneutkens, @devknoll, @sokra, @KittyGiraudel, @styfle, @padmaia, @housseindjirdeh, @OKinane, @KonstHardy, @BrandonRomano, @leerob, @furcan, @dusanralic, @kdy1, @elliottsj, @vvo, @Kikobeats, @hi-ogawa, @panva, @genetschneider, @thundermiracle, @stefano-rainieri, @ericbiewener, @vordgi, @stevejarvis, @ihmpavel, @ijjk, @delbaoliveira, @matamatanot, @dyarfaradj, @iheyunfei, @thibautsabot, @ascorbic, @fytriht, @emzoumpo, @onurtemiz, @a-ursino, @mxschmitt, @knezevicdev, @bywo, @OArnarsson, and @TurekBot for helping!
Core Changes
- middleware: add request referrer support: #31343
Misc Changes
- Ensure swc dep is copied for isolated tests: #31462
Credits
Huge thanks to @Kikobeats for helping!
Core Changes
- add filename to babel warning about anonymous function default exports: #31322
- Refactor server/render for SSR streaming: #31231
- Remove moment locale replace from craCompat as it's a default in Next.js 12: #31431
- Fix basePath replacing server-side and
normalizeLocalePath()when path is empty string: #30978 - Close stream when fatal error occurs: #31164
Documentation Changes
- docs: next-iron-session renamed to iron-session: #31292
- Clarify with commas: #31224
- docs(auth): fix iron-session example url + API: #31413
Misc Changes
- Remove .only and ensure jest lint rules apply for all tests: #31456
Credits
Huge thanks to @bywo, @OArnarsson, @TurekBot, @vvo, @shuding, @timneutkens, @styfle, and @huozhi for helping!
Core Changes
- show
(middleware only)when a middleware is added to the compiler: #31409 - Add minify debug env var to investigate minifier bugs: #31417
Documentation Changes
- Fix function syntax for API Routes documentation: #31414
Example Changes
- Fix storybook styled-jsx example with styled-jsx 5: #31357
Misc Changes
- Ensure Git feature.manyFiles is enabled: #31408
Credits
Huge thanks to @sokra, @knezevicdev, and @huozhi for helping!
Core Changes
- Update swc & fix
styled-jsx: #31407
Documentation Changes
- Typo fixes on Markdown files: #31380
- Update data-fetching.md: #31394
- Update image-optimization.md: #31401
Example Changes
- examples: fix README with google analytics: #31384
- Add Playwright example: #29426
Misc Changes
- Rewrite send-trace-to-jaeger in Rust: #31392
Credits
Huge thanks to @emzoumpo, @onurtemiz, @a-ursino, @mxschmitt, and @kdy1 for helping!
Core Changes
- fix(30724): clear "x-middleware-next" header when chaining middlewares: #30866
- Add eslint rule to prevent importing next/server outside of _middleware: #30973
- Don't proxy middleware if host is the same: #31180
- Add support for legacy decorators through tsconfig/jsconfig: #31376
Example Changes
- Updates with-supertokens example to add sign in with apple: #31200
- Auth0 Example:
getSessionshould be called withreqandres: #31330
Credits
Huge thanks to @hi-ogawa, @thibautsabot, @ascorbic, @rishabhpoddar, and @fytriht for helping!
Core Changes
- Automatically using different port to start dev server for non-explicit port: #30736
- Resolve stream piper on complete shell for renderToReadableStream: #31186
- fix(middleware): fetch resource may be a URL instance (or any stringifiable value): #31260
- Ensure NODE_ENV is replaced correctly with swc: #31274
- Add support for jsxImportSource in tsconfig/jsconfig: #31358
Documentation Changes
- Changes in dev script (package.json): #31245
Misc Changes
- bugfix/second-locale-in-pathname remove console.log: #31289
Credits
Huge thanks to @dyarfaradj, @vordgi, @iheyunfei, @huozhi, @panva, and @ijjk for helping!
Core Changes
- Output where preference is saved: #31305
- Upgrade webpack: #31313
- Ensure asPath is correctly normalized in minimalMode with i18n: #31281
Misc Changes
- Fix failed-loading-swc link in Troubleshooting: #31314
- Maintain co-authors when kodiak merges: #31316
Credits
Huge thanks to @timneutkens, @matamatanot, and @huozhi for helping!
Core Changes
- next/jest: Ensure typeof window is not transformed in jsdom environment: #31304
Documentation Changes
- Testing Docs: Add links to jump to sections: #31311
Credits
Huge thanks to @delbaoliveira for helping!
Core Changes
- Fix typo in
next buildlog: #31295 - Ensure next/jest is published: #31296
- Update swc for
jsc.paths: #31290
Misc Changes
- Fix test-pnp stalling in CI: #31282
Credits
Huge thanks to @ihmpavel, @kdy1, and @ijjk for helping!
Core Changes
- Update swc: #31233
- run middleware parser handler only for middleware modules: #31219
- Update swc minifier: #31242
- Fix process.env overriden in web runtime: #31261
- fix: replaced useless let: #31239
- Experimental next/jest config helper: #31246
- correctly assess node equality when nonce attribute is present: #27573
- bugfix/i18n Do not support the second locale in the pathname: #31229
Documentation Changes
- docs: fix typo in css-in-js page: #31244
Example Changes
- Fix Auth0 Example: #31284
Misc Changes
- Add integration test of API routes with
concurrentFeaturesenabled: #31227 - Update contributing doc with trouble shooting section for swc: #31265
Credits
Huge thanks to @shuding, @kdy1, @sokra, @thundermiracle, @huozhi, @stefano-rainieri, @ericbiewener, @vordgi, and @stevejarvis for helping!
Core Changes
- Add initial standalone build handling: #31003
- fix(middleware): expose
CryptoKeyandglobalThis.CryptoKey: #31193 - Disable styled-components displayName in production: #31216
- fix(31013): add base path to preflight request url: #31101
- share collections in middleware vm context: #31043
- Support assetPrefix specific protocol: #31213
- upgrade webpack: #31034
Misc Changes
- test: skip flaky dynamic import tests: #31221
Credits
Huge thanks to @Kikobeats, @timneutkens, @hi-ogawa, @panva, @huozhi, @genetschneider, and @sokra for helping!
Core Changes
- Add test for styled-components SWC transform disabled: #31214
Example Changes
- Docs/examples/with iron session updates: #30956
Misc Changes
- Bump cancel-workflow-action to 0.9.1: #31210
Credits
Huge thanks to @vvo and @styfle for helping!
Core Changes
- Use require.resolve to detect "framework" packages (fix pnpm): #21048
- Add all cases where webpack5 type is used: #31206
Misc Changes
- Add integration test for Suspense and streaming: #31197
Credits
Huge thanks to @shuding and @elliottsj for helping!
Core Changes
- Update middleware eval checks: #30883
- Optimize the SSR middleware runtime size: #30906
- Improve error handling in the SSR middleware: #31057
- Ensure decode error in minimal mode responds with 400 not 500: #31037
- Update ServerlessPlugin to use chunkGraph: #31058
- Fix custom 404 page when concurrentFeatures is enabled: #31059
- Upgrade React alpha and experimental dependencies to latest: #31039
- Change disabled SWC message to Log.info: #31091
- Add render prop support to
<Main>: #30156 - Change .web extension of document page to part of path: #31116
- Enable code splitting for the web runtime build: #31090
- Give priority to document.title over h1 when announcing page change: #31147
- Add webpack5 namespace to fix type errors: #31140
Example Changes
- Optimise bundle size for with-supertokens example: #31040
- Update remark and remark-html dependencies: #31051
Misc Changes
- improve windows support for benchmark: #31032
Credits
Huge thanks to @javivelasco, @shuding, @rishabhpoddar, @chemicalkosek, @huozhi, @timneutkens, @devknoll, @sokra, and @KittyGiraudel for helping!
Core Changes
- Improve error message for importing native Node APIs in the edge runtime: #30696
- Keep attempting to load binary files after failure: #30755
- Fix Invalid character in header ["Content-Disposition"]: #30287
- Relax restriction of
images.pathin next.config.js: #30741 - Prevent storing page props cache when in SSG + preview mode: #30757
- Optimize other fonts provide by Google: #30554
- Update swc: #30790
- Add regenerator path: #30786
- Update loader-utils: #30743
- Re-enable minifying middleware chunks: #30823
- Don't require source files to be writeable in dev mode: #30758
- Fix incorrect
_document.jserror whendisableStaticImages: true: #30768 - Improve error message for importing unsupported native modules: #30829
- update mini-css-plugin and remove experimentalUseImportModule: #30617
- Ensure dev react bundles are not ignored in traces: #30849
- Fix client component imports are not being correctly tracked: #30853
- Update swc: #30859
- Fix lost combinator before global: #30771
- Add Next.js version to trace: #30881
- Update swc: #30890
- Edge Functions: expose
globalThis: #30877 - Move browserslist loading webpack-config.ts: #30889
- Add linux-x64-musl to napi array: #30909
- Re-enable linux-musl-x64 build target: #30910
- Fix musll typo: #30912
- Add config support for build activity indicator position: #30109
- Update to use repo specific napi instead of npx: #30914
- fixes #30604 - Cannot read properties of null (reading 'tagName'): #30919
- Update to use project dir for file tracing base: #30857
- Fix styles that should not be made dynamic: #30928
- Account for
assetPrefixwhen initializing HMR connection : #30632 - upgrade webpack-sources: #30944
next-swc: Add.bundle(): #30935- fix preset name for improved performance: #30954
- Use absolute document and app paths for the middleware SSR loader: #30963
- Fix version in trace: #30982
- Update resolving for node_modules trace pass: #30985
- Fix code splitting and build target for the server-web build: #30972
- pass Buffer directly to Rust: #30975
Documentation Changes
- Add note about HMR WebSocket to upgrade guide: #30704
- Add security notes to the URL imports documentation.: #30708
- Add workaround for prefixing the default locale to the docs.: #30673
- Fix spelling error: #30737
- docs: update react 18 configuration: #30726
- Recommend using next CLI for Docker entrypoint and not yarn: #29024
- Add note about rewrites query updating: #30747
- Update response-helpers.md: #30816
- Add note about HMR WebSocket with express to upgrading: #30905
- Added closing tag to
<Suspense>: #30983
Example Changes
- Fix link to Elasticsearch products page: #30752
- Updates dependencies for with-supertokens example: #30162
Misc Changes
- Ensure dev binary download skips for docs only change: #30746
- Fix a couple more missing doc only checks: #30748
- Remove
binary-cachecheck inid: binary-cache: #30658 - Add Node.js 17 to CI: #30760
- Upgraded the node-notifier version to 8.0.1: #30777
- Add postinstall script to install native packages: #30850
- Ensure correct tmpdir is used for install-native: #30855
- Update lock time and message.: #30902
- Skip next-swc canary postinstall in CI: #30916
- Update codeowners to be more specific: #30908
- Decrease lock time from 90 to 45.: #30922
- Keep using checkout instead of cache for building swc: #30923
- Fix flakey preload test: #30969
Credits
Huge thanks to @ijjk, @leerob, @shuding, @gish, @matamatanot, @vadymshymko, @huozhi, @padmaia, @stefee, @styfle, @ihmpavel, @rishabhpoddar, @kamsar, @skhaz, @Prashoon123, @kdy1, @IrisvanOllefen, @timneutkens, @evan-bradley, @sokra, @Kikobeats, @ntltd, @furcan, @genetschneider, and @EzequielDM for helping!
Core Changes
- Fix code splitting and build target for the server-web build: #30972
- pass Buffer directly to Rust: #30975
Credits
Huge thanks to @shuding and @sokra for helping!
Core Changes
- Use absolute document and app paths for the middleware SSR loader: #30963
- Fix version in trace: #30982
- Update resolving for node_modules trace pass: #30985
Documentation Changes
- Added closing tag to
: #30983
Misc Changes
- Fix flakey preload test: #30969
Credits
Huge thanks to @huozhi, @timneutkens, and @EzequielDM for helping!
Core Changes
next-swc: Add.bundle(): #30935- fix preset name for improved performance: #30954
Credits
Huge thanks to @kdy1 and @sokra for helping!
Core Changes
- upgrade webpack-sources: #30944
Credits
Huge thanks to @sokra for helping!
Core Changes
- fixes #30604 - Cannot read properties of null (reading 'tagName'): #30919
- Update to use project dir for file tracing base: #30857
- Fix styles that should not be made dynamic: #30928
- Account for
assetPrefixwhen initializing HMR connection : #30632
Credits
Huge thanks to @furcan, @ijjk, @padmaia, and @genetschneider for helping!
Misc Changes
- Update codeowners to be more specific: #30908
- Decrease lock time from 90 to 45.: #30922
- Keep using checkout instead of cache for building swc: #30923
Credits
Huge thanks to @styfle and @leerob for helping!
Core Changes
- Update loader-utils: #30743
- Re-enable minifying middleware chunks: #30823
- Don't require source files to be writeable in dev mode: #30758
- Fix incorrect
_document.jserror whendisableStaticImages: true: #30768 - Improve error message for importing unsupported native modules: #30829
- update mini-css-plugin and remove experimentalUseImportModule: #30617
- Ensure dev react bundles are not ignored in traces: #30849
- Fix client component imports are not being correctly tracked: #30853
Documentation Changes
- Update response-helpers.md: #30816
Misc Changes
- Add postinstall script to install native packages: #30850
- Ensure correct tmpdir is used for install-native: #30855
Credits
Huge thanks to @IrisvanOllefen, @timneutkens, @evan-bradley, @styfle, @huozhi, @sokra, @padmaia, and @shuding for helping!
Core Changes
- Optimize other fonts provide by Google: #30554
- Update swc: #30790
- Add regenerator path: #30786
Documentation Changes
- Add note about rewrites query updating: #30747
Misc Changes
- Upgraded the node-notifier version to 8.0.1: #30777
Credits
Huge thanks to @skhaz, @Prashoon123, @ijjk, and @kdy1 for helping!
Core Changes
- Improve error message for importing native Node APIs in the edge runtime: #30696
- Keep attempting to load binary files after failure: #30755
- Fix Invalid character in header ["Content-Disposition"]: #30287
- Relax restriction of
images.pathin next.config.js: #30741 - Prevent storing page props cache when in SSG + preview mode: #30757
Documentation Changes
- Add note about HMR WebSocket to upgrade guide: #30704
- Add security notes to the URL imports documentation.: #30708
- Add workaround for prefixing the default locale to the docs.: #30673
- Fix spelling error: #30737
- docs: update react 18 configuration: #30726
- Recommend using next CLI for Docker entrypoint and not yarn: #29024
Example Changes
- Fix link to Elasticsearch products page: #30752
- Updates dependencies for with-supertokens example: #30162
Misc Changes
- Ensure dev binary download skips for docs only change: #30746
- Fix a couple more missing doc only checks: #30748
- Remove
binary-cachecheck inid: binary-cache: #30658 - Add Node.js 17 to CI: #30760
Credits
Huge thanks to @ijjk, @leerob, @shuding, @gish, @matamatanot, @vadymshymko, @huozhi, @padmaia, @stefee, @styfle, @ihmpavel, @rishabhpoddar, and @kamsar for helping!
Core Changes
- update tsconfig correctly when compilerOptions is not set yet: #30355
- Update swc: #30404
- fix external fallback for invalid packages: #30427
- Update swc: #30426
- remove console.log: #30447
- Relax warning for
next/imageparent element: #30453 - Make sure externals is an array: #30466
- Fix native-url containing non-es5 usage: #30474
- Fix issue with placeholder followed by numbers: #30493
- Share resolve logic for trace and externals: #30499
- Update to copy necessary RSC files from dep: #30505
- Update swc: #30509
- Update swc to fix minifier issue: #30540
- Exclude musl from target: #30548
- Revert "Update swc to fix minifier issue": #30551
- Fix file path overflowing in error popup: #27575
- add warning to update featureName in FEATURE_USAGE backend: #30283
- Update publish-native to not block on error: #30565
- Simplify concurrent features related configurations and fix tests: #30546
- Split Set-Cookie header correctly: #30560
- Relax warning for
next/imageloader width: #30562 - Fix publish native including non-packages: #30589
- Fix redundant styled-jsx global issue: #30584
- Add buffering for streaming until the shell is completed: #30585
- Check react 18 flags and add more tests: #30575
- Update to latest shell-quote: #30621
- Relax warning for
next/imageloader width even more: #30624 - make sure "webpack" exists in the repo for typings: #30371
- Chore/rust workflow: #30577
- update webpack: #30634
- Update output tracing to do separate passes: #30637
- Revert incremental config to fix missing types: #30644
- Fix check compiled step : #30645
- Fix missing dev option for the middleware SSR loader: #30639
- Fixed "Expected jsx identifier" error on TypeScript generics & angle bracket type assertions in .ts files: #30619
- Add auto-commonjs and update swc: #30661
- Provide default fallback _document and _app for for concurrent mode: #30642
- Remove isCommonJS check as it has been moved to next-swc: #30677
- Update swc: #30685
Documentation Changes
- Removing duplicated instead word: #30442
- fix(docs): Fix broken link in testing documentation: #30448
- Update SWC failed error with link to discussion: #30469
- docs: update Middleware API reference: #30485
- Update examples at headers documentation: #30502
- Document Cross-Platform VS Code Debugging: #30052
- Add note about no-optional to swc error doc: #30566
- Fix link to documentation from deprecated target config message: #30607
- correct Next.js 11 upgrade instructions: #30665
Example Changes
- Update next-transpile-modules to 9.0.0 across examples: #30418
Misc Changes
- Add
incrementalto template/tsconfig.json to avoid changes on first build: #30357 - Fix playwright trace names: #30374
- include stdio in error message: #30358
- Disable using polling for webpack on test retry: #30372
- Update test traces to only run on retry: #30459
- Remove extra config for PR stats: #30478
- Fixed grammatical errors in contributing.md: #30542
- Use fallback SWC version when binary publish fails: #30568
- Use unfiltered SWC packages when updating optional: #30571
- remove Object.fromEntries polyfill for node 10 in test utils: #30657
- Ensure native binary is available for release stats: #30649
Credits
Huge thanks to @oBusk, @sokra, @ijjk, @kdy1, @martpie, @BruceRodrigues, @luke-h1, @styfle, @balazsorban44, @padmaia, @lucasvazq, @velocity23, @AkiraTsuboi, @mitheelgajare, @kyliau, @huozhi, @karaggeorge, @JamiesWhiteShirt, @shuding, @stefanprobst, @leroydev, @JulienZD, and @timneutkens for helping!
Core Changes
- Update swc: #30685
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Provide default fallback _document and _app for for concurrent mode: #30642
- Remove isCommonJS check as it has been moved to next-swc: #30677
Documentation Changes
- correct Next.js 11 upgrade instructions: #30665
Credits
Huge thanks to @JulienZD, @huozhi, and @timneutkens for helping!
Core Changes
- Fix missing dev option for the middleware SSR loader: #30639
- Fixed "Expected jsx identifier" error on TypeScript generics & angle bracket type assertions in .ts files: #30619
- Add auto-commonjs and update swc: #30661
Misc Changes
- remove Object.fromEntries polyfill for node 10 in test utils: #30657
- Ensure native binary is available for release stats: #30649
Credits
Huge thanks to @shuding, @stefanprobst, @ijjk, @leroydev, and @kdy1 for helping!
Core Changes
- Revert incremental config to fix missing types: #30644
- Fix check compiled step : #30645
Core Changes
- make sure "webpack" exists in the repo for typings: #30371
- Chore/rust workflow: #30577
- update webpack: #30634
- Update output tracing to do separate passes: #30637
Credits
Huge thanks to @sokra and @padmaia for helping!
Core Changes
- Fix redundant styled-jsx global issue: #30584
- Add buffering for streaming until the shell is completed: #30585
- Check react 18 flags and add more tests: #30575
- Update to latest shell-quote: #30621
- Relax warning for
next/imageloader width even more: #30624
Documentation Changes
- Fix link to documentation from deprecated target config message: #30607
Credits
Huge thanks to @padmaia, @JamiesWhiteShirt, @shuding, @huozhi, and @styfle for helping!
Core Changes
- Relax warning for
next/imageloader width: #30562 - Fix publish native including non-packages: #30589
Credits
Huge thanks to @styfle for helping!
Core Changes
- Simplify concurrent features related configurations and fix tests: #30546
- Split Set-Cookie header correctly: #30560
Documentation Changes
- Add note about no-optional to swc error doc: #30566
Misc Changes
- Use unfiltered SWC packages when updating optional: #30571
Credits
Huge thanks to @huozhi and @karaggeorge for helping!
Core Changes
- Fix file path overflowing in error popup: #27575
- add warning to update featureName in FEATURE_USAGE backend: #30283
- Update publish-native to not block on error: #30565
Misc Changes
- Fixed grammatical errors in contributing.md: #30542
- Use fallback SWC version when binary publish fails: #30568
Credits
Huge thanks to @AkiraTsuboi, @mitheelgajare, and @kyliau for helping!
Core Changes
- Relax warning for
next/imageparent element: #30453 - Make sure externals is an array: #30466
Documentation Changes
- Removing duplicated instead word: #30442
- fix(docs): Fix broken link in testing documentation: #30448
Credits
Huge thanks to @BruceRodrigues, @luke-h1, and @styfle for helping!
Core Changes
- Update swc: #30426
- remove console.log: #30447
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- update tsconfig correctly when compilerOptions is not set yet: #30355
- Update swc: #30404
- fix external fallback for invalid packages: #30427
Example Changes
- Update next-transpile-modules to 9.0.0 across examples: #30418
Misc Changes
- Add
incrementalto template/tsconfig.json to avoid changes on first build: #30357 - Fix playwright trace names: #30374
- include stdio in error message: #30358
- Disable using polling for webpack on test retry: #30372
Credits
Huge thanks to @oBusk, @sokra, @ijjk, @kdy1, and @martpie for helping!
Core Changes
- Add new target for middleware: #30299
- Clear up confusion around SWC being disabled for Babel while swcMinify is on: #30337
- fix missed hmr events: #30309
- Update SWC OS and CPU fields: #30341
- Fix flight loader parsing: #30345
- keep sortedMiddleware intact as it's used by the runtime: #30361
- fix rsc on windows: #30364
- lint: remove unused variable: #30370
- Fix exportRuntime and react-18 concurrent tests: #30381
- Disable loading of
.swcrc: #30384 - Fix PerformanceObserver usage for older browsers and CI: #30387
Documentation Changes
- Add React 18 docs: #30325
- Add missing closing quote: #30336
- Fix lint on react-18 docs: #30354
- Added warning about trusted domains: #30348
- Fix typo
currentFeaturestoconcurrentFeatures: #30356
Misc Changes
- Update manifest.json
- Ensure linux-aarch64-musl swc target skips when cached: #30331
- feat: ignore incremental TS compilation build info: #30362
- Make check release job parallel to build job: #30350
- Revert "Make check release job parallel to build job": #30388
Credits
Huge thanks to @shuding, @leotaku, @timneutkens, @sokra, @huozhi, @ijjk, @molebox, @mattfwood, @kripod, @kdy1, and @styfle for helping!
Core Changes
- Fix PerformanceObserver usage for older browsers and CI: #30387
Misc Changes
- Revert "Make check release job parallel to build job": #30388
Credits
Huge thanks to @styfle for helping!
Core Changes
- keep sortedMiddleware intact as it's used by the runtime: #30361
- fix rsc on windows: #30364
Documentation Changes
- Fix lint on react-18 docs: #30354
- Added warning about trusted domains: #30348
- Fix typo
currentFeaturestoconcurrentFeatures: #30356
Credits
Huge thanks to @ijjk, @molebox, @mattfwood, and @sokra for helping!
Core Changes
- Clear up confusion around SWC being disabled for Babel while swcMinify is on: #30337
- fix missed hmr events: #30309
- Update SWC OS and CPU fields: #30341
- Fix flight loader parsing: #30345
Documentation Changes
- Add missing closing quote: #30336
Misc Changes
- Ensure linux-aarch64-musl swc target skips when cached: #30331
Credits
Huge thanks to @leotaku, @timneutkens, @sokra, and @huozhi for helping!
Core Changes
- Add new target for middleware: #30299
Credits
Huge thanks to @shuding for helping!
Documentation Changes
- Add React 18 docs: #30325
Misc Changes
- Update manifest.json
Core Changes
- Remove .next/traces directory as it's not used: #28728
- Update css-loader runtime to use compiled files: #28735
- Fix typings of dynamic suspense: #28740
- Ensure build trace handles mixed modules: #28770
- [ESLint Plugin] Updates
no-document-import-in-pagerule to usepathseparators: #28768 - feat: Adding generic typing for previewData: #28668
- Add
RenderResultclass: #28776 - Reuse warning from postcss-loader: #28727
- mini-css-extract-plugin should not bundle webpack code: #28822
- update webpack to 5.52.0: #28771
- Add tracing for css-loader: #28756
- Simplify static + dynamic HTML generation: #28793
- [ESLint] Support single-file linting in
next lint(necessary forlint-staged): #28042 - Webpack rule to block importing images into _document: #28475
- Remove outdated webpack conformance experiment: #28846
- Remove unused profiler: #28844
- Remove unused dependencies: #28876
- Update concurrent tests and enable experimental streaming: #28892
- Fix/swc minify: #28898
- Ensure timed out prefetches are cleaned up correctly: #28899
- Simplify
RenderResult: #28900 - fix: should allow optional properties for
imagesoption: #28709 - Adopt context based experimental styled-jsx version: #28646
- Fix ensurePage race condition: #28939
- Support node-sass@6: #28710
- Update swc: #28946
- Update swc in next-swc: #28970
- Ensure cache-control is correct for notFound: true with revalidate: #28973
- Update gSSP type to support props as a promise: #28999
- Use
Writableinstead ofObservable: #29007 - Pass code as buffer to swc minify: #29009
- Deprecate webpack 4 support: #28840
- Make next-ssg optional: #28862
next/dynamic: AcceptpagesDir: #29055- Update test set-up to leverage playwright when able to: #28634
- Make traces in development reliable: #28990
- Fix webpack version and safari test and update compiled: #29059
- Throw error if res is accessed after gSSP returns: #29010
- Fix/upload binary artifact: #29069
- Add crossOrigin type to the NextConfig: #29033
- reload the page to show 404 when receiving
invalidevent from on-demand-entries: #29074 - Add stats config for SWC: #28883
- Fix host segment replacing for custom routes: #29090
- Add/styled jsx swc: #29005
- Update styled-jsx: #29103
- Remove inert font tag in font optimization: #28869
- Remove log from failing to parse source map: #29118
- Development tracing improvements: #29076
- Update trace ignores for next import: #29119
- Fix partial one off global selectors: #29128
- Update next-swc binaries: #29132
- Fix transform of ` in styled-jsx: #29136
- Update next-swc binaries: #29140
- Ensure Next.js dist files are commonjs compatible with swcLoader enabled: #29138
- next-ssg: Don't inject
__N_SSPfor files without server props.: #29141 - Build next-swc binaries: #29144
- Add crawler blocking for fallback: true: #29121
- upgrade to typescript 4.4.3: #29112
- Fix native unit tests: #29146
- Ensure traces are flushed in development when there is an error: #29149
- Add name to invalidated span: #29170
- suggest incremental typescript for typescript >= 4.4.2: #29169
- make code consistent with babel externals: #28867
- add support for new URL(): #28940
- Fix bug where returning
{ notFound: true }from GSP brokenext export: #24481 - Fix #11107 - don't prefetch preloaded modules: #22818
- Fix array query value has matching: #29216
- Remove useless getComputedStyle call.: #27969
- Preserve
next-env.d.tsline ending: #28100 - fix compilation span relationship: #29174
- Add spans for hot-reloader start: #29251
- Fix dynamic style issue: #29163
- Ensure trailingSlash is correct for index with query: #29217
- Migrate prerender tests to new set-up: #29245
- Fix resolving href with query and matching as: #29246
- upgrade webpack to 5.53.0: #29168
- Fix basePath: false not being honored for client-side redirect: #29235
- Fix default static /500 with i18n: #29250
- Remove docker usage for running development tests: #29264
- Remove collect-dependencies span as it balloons trace size: #29266
- Initial work for using webpack 5 typings: #29105
- Rename experimental tracing to
outputFileTracing: #29267 - Add internal mode for debugging Next.js core webpack: #29254
- Fix invalid project dir casing breaking Next.js on Windows: #29205
- Fix add-entry span duration: #29288
- Update to latest @vercel/nft and use async fs methods: #29341
- feat: allow setting custom tsconfig file: #28104
- Ensure static image works correctly with basePath: #29307
- Use webpack resolve with nft: #29342
- Experimental: hook version of reportWebVitals: #28769
- enable unsafeCache for better incremental build performance: #29175
- upgrade webpack and enable experiments.cacheUnaffected: #29369
- Fix
onLoadingComplete()callback when image src is Data URL: #29367 - Additional bench tracing improvements: #29325
- Remove inline-source-map for Windows: #28893
- Ensure blurDataURL is correct in dev with basePath: #29436
- Update swc : #29460
- Build next-swc binaries: #29465
- Fix SWC unit test: #29466
- Ensure initial imports are included in traces correctly: #29437
- Rename
onReadyToStreamtoonCompleteShell: #29442 - Update css parser: #29484
- update webpack: #29469
- Parallelize
requirePagewhen loading components: #29494 - Invalidate webpack cache when swc options are enabled/disabled: #29497
- Update output tracing resolving: #29473
- Remove error that is too strict in next/dynamic swc transform: #29511
- make client and server independent for on-demand-entries: #29518
- Update resolve options for nft: #29524
- Fix root global jsx style: #29505
- Fix custom app file regex: #29525
- Upgrade swc deps: #29531
- Ensure all package.json files are traced correctly: #29539
- Add page mapping for Server Components: #29508
- Fix ie11 from untranspiled vitals: #29532
- Update version @babel/runtime: #29458
- upgrade webpack: #29549
- Include param vars in nearest scope bindings: #29536
- Update
swc_css_parser: #29572 - Upgrade swc deps: #29620
- fixes #29553: #29611
- Add trace file for "next dev": #29633
- Update to latest version of node-file-trace: #29617
- Update swc crates: #29643
- Fix missing trace items and migrate required files test: #29649
- Create TelemetryPlugin for collecting feature usage metrics: #29145
- Fix grammar in conflicting paths error: #29658
- update webpack: #29644
- Bump squoosh to the latest version: #29506
- Remove webpack 4 support: #29660
- Ensure conditional resolve alias does not affect server: #29673
- Chore/update swc: #29675
- Remove isWebpack5 checks: #29677
- chore: Update swc: #29689
- fix: Prevent image redirection when trailingSlash is set: #29640
- fix(styled-jsx): Use correct SyntaxContext for identifiers: #29705
- Use correct arg for require.resolveWeak: #29719
- update webpack: #29708
- update webpack: #29738
- serverOnlyChanges should be determined when both compilers are done: #29757
- Hmr DX improvements: #29753
- Add trace span for module readFile: #29759
- Fix bug with getServerSideProps when swcLoader is enabled: #29760
- feat(build/swc): Add debug utilities: #29730
- Fix bugs of
styled-jsxandswc: #29774 - Fix swc tests: #29776
- Fix
styled-jsx: Don't drop extra selectors: #29791 - show partial compiled message and correct module count: #29795
- avoid using absolute paths in import/require: #29797
- Update swc: #29798
- Pass sourcemap when swcMinify is enabled: #29794
- hide build error when returning to old build: #29813
- only schedule pages for disposing and dispose on next compile: #29816
- reduce default maxInactiveAge to 15s: #29817
- add summary logging option: #29814
- handle new hmr connection as heartbeat signal: #29818
- allow to reload disposed client pages: #29815
- Collect feature usage for optimizeCss: #29828
- Add support for AVIF to
next/image: #29683 - Update swc: #29843
- Avoid TypeError when comparing path param: #29821
- feat(jsconfig-paths-plugin): Resolve paths synchronously: #29467
- Update swc: #29866
- Update swc: #29881
- Added more examples to Response Helpers page: #29462
- update webpack: #29870
- Add experimental option to enable fullySpecified: #29880
- only listen to drain even once: #29885
- Update swc & Improve CI time: #29884
- Enable esmExternals by default: #29878
- Refactor Document to prep for classic streaming: #29834
- Update to latest @vercel/nft: #29902
- Remove unused options from swc-loader: #29907
- Update swc: #29913
- upgrade strip-ansi in react-dev-overlay: #29906
- Add revalidate to the GetStaticPropsResult: #29919
- Migrate server-sent events HMR connection to WebSocket: #29903
- Upate swc to allow line comments in css: #29943
- fix Log Typo: #29937
- Bump "engines" to node >= 12.22.0: #29949
- Update webpack target to node12.22: #29953
- Add ESLint docs URLs: #29645
- Use import() to load next.config.js: #29935
- Fix config import on Windows and disable test in failing envs: #29971
- Update swc: #29969
- Fix identifier handling of
styled-jsx: #29986 - Update swc to fix minifier: #29989
- Remove obsolete prerender indicator code: #30004
- Update swc: #30019
- Update swc: #30029
- Compile native-url and node-libs-browser: #30032
- Update swc to fix regenerator issue: #30035
- Update tracing to collect from reasons: #29975
- Fix eslint loading on Windows: #30040
- Fix
next/imagewhen parent is<p>: #30041 - Fix trace when initial file is also child: #30048
- Update react 18 streaming api: #30038
- Update manifest to include notFound revalidate info: #30046
- Sanitize the path to the user config before importing: #30003
- Update swc: #30055
- Update swc: #30057
- Update swc: #30066
- Prevent inherited styles on
next/imagewrapper or sizer: #30064 - update webpack: #30073
- Print error when
images.loaderis assigned butimages.pathis not: #30080 - Update swc: #30086
- Enable fast refresh transform when using SWC: #30106
- Implement Middleware RFC: #30081
- Enable shared worker pool by default: #30110
- use xxhash64 by default: #30095
- [ESLint] Adds temporary error message for ESLint v8: #30113
- improve production error message printing: #30065
- Simplify export statement: #30015
- automatically enable managed paths for all node_modules: #30089
- Skip minifying middleware: #30122
- Fix creation of styled jsx ids: #30124
- Update swc: #30127
- avoid showing empty
Import trace for requested module: #30130 - fix pageKey and compiling output for on-demand-entries: #30116
- add experimental.urlImports option: #30079
- Update swc: #30141
- Ensure we dont attempt minifying middleware-chunks: #30147
- Update middleware chunk handling: #30151
- Ensure error message prints
next.config.mjs: #30152 - Use default
next.config.jsif not found: #30155 - Add warning when using middleware: #30160
- test and fix error reporting for stack overflows and other fatal errors: #30169
- [ESLint] Add add
next/scriptsupport forno-unwanted-polyfilliorule: #28944 - make static image import output path consistent with other media: #30168
- De-dupe inflight getStaticProps requests: #30125
- Update include/exclude handling for output tracing: #30184
- make import trace consistent between runtime and build: #30175
- Add middlewareCount info to build optimized: #30185
- Change AVIF to opt-in via configuration: #30180
- Add page config swc transform: #30183
- Move tracing next-server to next build: #30190
- Update to latest caniuse-lite version: #30194
- Remove
all: initialin favor of specific styles onnext/image: #30191 - Upgrade styled-jsx for react 18 improvement: #30179
- Enable SWC by default when there is no custom Babel config: #29811
- Enable outputFileTracing by default: #30202
- Add isDevfallback to cache name to create a separate cache for the fallback compiler: #30227
- Use SWC for middleware: #30209
- Update swc: #30230
- Add deprecation note for target: #30200
- Add initial documentation for output file tracing: #30199
- partially migrate to webpack 5 types: #30189
- hide next-middleware-loader in import trace: #30243
- fix some labels for middleware stuff: #30241
- Use
Log.warn()instead ofconsole.warn()in next-server: #30240 - test, fix and document all possible import types for URL imports: #30165
- Ensure isServer is true when compiling middleware: #30242
- Add initial test trace outputs: #30246
- Move swcMinify out of experimental: #29810
- Add events polyfill: #30256
- next-swc: Support more platforms: #30254
- Update error for failing to load SWC bindings: #30269
- update webpack: #30268
- fix middleware on windows: #30253
- Add warning for large amount of page data: #29956
- Add warning when LCP image is missing
priorityprop: #30221 - New Middleware API signature: #30282
- Fix trace case with tsconfig/jsconfig baseUrl: #30286
- Warn when mutating res if not streaming: #30284
- Chore/publish all swc: #30289
- Update swc-minify-enabled link: #30290
- Fix middleware header propagation: #30288
- Move outputFileTracing config up: #30295
- Track usage of swc features: #30297
- Ensure null bytes in resolved path are handled: #30313
- Improve deprecation errors for new middleware API: #30316
Documentation Changes
- Update docs to clarify that image imports are static: #28744
- Add note to Gatsby migration guide about using
next/imagewith custom loaders.: #28805 - doc: fix typo: #28817
- (docs) Remove duplicate comma: #28850
- (docs) Add
permanentproperty in redirect object: #28852 - Update
next/linkAPI docs to mention a11y and ESLint rule.: #28841 - name should be key: #28917
- chore(examples): switch to Script component on the google analytics example: #27674
- Fixed issue with grammar: #28964
- Fixed typo: #28989
- Fix minor typo in no-img-element.md: #29027
- Add more examples of static generation to docs page.: #29052
- Add note about using Sharp for next/image to deployment docs.: #29067
- Add client-side debugging instructions: #28815
- Use new @clerk/nextjs package in with-clerk example, update Next.js authentication docs: #28906
- Update router.prefetch section to clarify it supports dynamic routes: #29070
- Ensure manifests check has correct exit code on fail: #29183
- Fix minor typos: #29188
- Update Gatsby migration guide to use image imports.: #29178
- Ensure href/as behavior points to correct docs: #29270
- Update invalid-getstaticpaths-value.md: #29397
- Update imperative routing docs to have better a11y: #29382
- Add Stitches example to CSS-in-JS docs: #29498
- Update getServerSideProps docs with req.cookie note: #29457
- docs: Link to getInitialProps on Custom
Apppage: #29567 - Update permanent redirect field documentation: #29557
- Use npx create-next-app@latest instead of the version that is installed: #29595
- docs: Clarify locale properties on
contextobject in data-fetching: #29566 - docs: remove
thisusage from function component: #29596 - Overhaul image component documentation: #29186
- Document i18n routing with dynamic routes: #29632
- Fix debugging docs markdown lang: #29674
- Grammatical fixes: #29676
- Fix typo in image optimization documentation: #29685
- Fixed method for removing class: #29735
- Fix test running command in testing.md: #29778
- docs(testing): added Playwright guide: #29832
- Add Scss variables section to Built-in CSS Support document: #29822
- Update testing based on Failed to parse src "test-file-stub" on `next…: #29039
- Update docs for image caching behavior: #29895
- Update typo in response helpers doc: #29899
- Update minimum Node version in Getting Started: #29952
- docs: Remove invalid link "Glamor": #29982
- Update docs for Prerender Error message: #30044
- Update documentation to fix github cache key: #29983
- Update eslint.md with instructions for installing Prettier plugin dependency: #29764
- Add image example with background color using blurDataURL: #30111
- docs: remove mention of experimental pageDataCollectionTimeout: #30107
- Update upgrade docs: #30265
- Add minimum Node.js version to upgrading guide: #30274
- Fix typo of upgrading: #30276
- Add note about improved CSS parser for styled-jsx to upgrading guide: #30280
- Add "priority" section to Image Optimization doc: #30218
- Add more docs.: #30320
Example Changes
- with-stitches example fixes #28650: #28652
- Updates @react-three/drei version and other dependencies.: #28755
- fixes with-typescript-graphql: unable to resolve dependency tree: #28637
- Examples Prepr CMS update: #28871
- Fix Typo in "with-eslint" Example docs: #28601
- Updates supertokens-node dependency version: #28916
- Fix falsy values not being returned in post fields: #29011
- [Examples] Updates
with-google-tag-managerexample to use<Script>component: #29061 - Update Redux example to use Toolkit + update dependencies.: #29104
- fix(with-sentry example): Small tweaks: #28359
- bugfix: remark/webpack conflict: #29180
- Fix dependency in
api-routesexample: #29181 - Fix type-check in Temporal example: #28546
- Update with-react-intl example: #28336
- switch to Script component on the facebook pixel example: #29192
- Update with-segment-analytics example to use next/script component: #29282
- fix: cover image redirect to undefined: #29311
- Update Prisma example: #29459
- Fixed MongoParseError: #29277
- Add id to inline gtag script: #29530
- Updates supertokens-auth-react dependency version: #29547
- Update examples/cms-contentful: #29641
- Adding Formspree contact-form example: #29314
- Rename
utilstolib: #29651 - Update typescript version: #29854
- Update mongoose and swr and remove no longer needed connection options: #29934
- Fixed Favicons URL mismatch across the project in [examples/blog-starter] : #29990
- Updating with-supertokens example: #29876
- [examples] Fix deploy button URL in
with-sentryexample: #30112 - Update image component example to use AVIF: #30294
Misc Changes
- Bug fix for lint rule: #28677
- router-is-ready test. Clean up unused vars.: #28723
- Fix
next lintno-document-import-in-page on Windows: #28745 - Fix lerna publish for automation token: #28750
- Update github labeler with
eslint-plugin-next: #28751 - Update to new npm publish token: #28772
- Change create-next-app getting started text in TypeScript template: #28718
- exclude test files from copy in trace-next-server: #28819
- Add line break to typescript template: #28760
- Update precompiled
- Upgrade upload-artifact action
- Trim large test output to not exceed limit: #28881
- Fix create-next-app tests from example change: #28972
- Update test workflows for mac/react: #29060
- Remove extra macOS test workflow: #29064
- Fix minor typo in index.test.js: #29065
- Ensure browser instances are not re-created un-necessarily: #29091
- Merge branch 'canary' of github.com:vercel/next.js into canary
- Update swc dependencies: #29151
- Workflow improvements: #29155
- Temporarily disable unreliable tests: #29249
- Ensure we only ignore .git cache for check-precompiled: #29274
- Ensure actions/cache paths match for restoring: #29275
- Update webpack5 import when using local webpack version
- Update font-optimization test snapshot: #29305
- fix(create-next-app): starter styling errors: #28096
- Remove unsafeCache from benchmark + use cross-env for benchmark: #29425
- Update test timings endpoint: #29443
- fix test/integration/app-document-remove-hmr flake: #29486
- Update stats-config for release stats: #29654
- Add automated bench script for nested-deps: #29583
- Exclude SWC test input/output JS from eslint checks
- Exclude SWC test input/output JS from prettier checks
- Exclude bench/nested-deps from prettier check
- avoid running multiple test from the same directory in parallel: #29830
- Add rich to codeowners for docs: #29848
- Pin create-next-app to eslint@v7: #29837
- make test directories more unique: #29864
- Add native build caching to main workflow also: #29920
- add trace-to-tree script to allow to visualize traces on the commandline: #29942
- Update labeler.json
- Fix repo-setup when .DS_Store exists: #30119
- fix(docs): Clarify contribution docs about linting: #30123
- improve CI stability: #30171
- Update removeHash handling for stats-app: #30235
- upload test traces for integration tests too: #30260
- Update test-pnp tests: #30273
- Add necessary workflow job dependencies: #30291
Credits
Huge thanks to @prateekbh, @andersonleite, @huozhi, @styfle, @mrmckeb, @housseindjirdeh, @buraksakalli, @espipj, @devknoll, @sokra, @leerob, @royal, @Perry-Olsson, @well-balanced, @alexvilchis, @RobEasthope, @ijjk, @msp5382, @tim-hanssen, @appsplash99, @padmaia, @scottrepreneur, @smakosh, @catnose99, @adrienharnay, @kdy1, @rishabhpoddar, @donsn, @volcareso, @kara, @oiva, @KonstHardy, @timneutkens, @sinchang, @janicklas-ralph, @TyMick, @lobsterkatie, @rezathematic, @colinclerk, @x4th, @fracture91, @lorensr, @Sheraff, @HaNdTriX, @emilio, @oluan, @ddzieduch, @Dev-CasperTheGhost, @ctjlewis, @thien-do, @AryanBeezadhur, @Bundy-Mundi, @shuding, @kylemh, @vitorbal, @zNeb, @jacksonhardaker, @micro-chipset, @arthurdenner, @whitep4nth3r, @kyliau, @colevscode, @atcastle, @velocity23, @jonowu, @Blevs, @GustavoEdinger, @harryheman, @kriswuollett, @mxschmitt, @PhattOZ, @finn-orsini, @oste, @genetschneider, @jantimon, @molebox, @angelopoole, @thibautsabot, @AlfonzAlfonz, @mohamedbhy, @matamatanot, @christianvuerings, @pgrodrigues, @kimizuy, @paul-creates, @TimBarley, @georgegach, @ionut-botizan, @javivelasco, @rojserbest, and @ka2n for helping!
See https://github.com/vercel/next.js/releases/v12.0.5 for details about this patch.
Misc Changes
- Add necessary workflow job dependencies: #30291
Core Changes
- Add warning when LCP image is missing
priorityprop: #30221 - New Middleware API signature: #30282
- Fix trace case with tsconfig/jsconfig baseUrl: #30286
Documentation Changes
- Add note about improved CSS parser for styled-jsx to upgrading guide: #30280
- Add "priority" section to Image Optimization doc: #30218
Credits
Huge thanks to @timneutkens, @kara, @styfle, and @javivelasco for helping!
Core Changes
- Add initial test trace outputs: #30246
- Move swcMinify out of experimental: #29810
- Add events polyfill: #30256
- next-swc: Support more platforms: #30254
- Update error for failing to load SWC bindings: #30269
- update webpack: #30268
- fix middleware on windows: #30253
- Add warning for large amount of page data: #29956
Documentation Changes
- Update upgrade docs: #30265
- Add minimum Node.js version to upgrading guide: #30274
- Fix typo of upgrading: #30276
Misc Changes
- upload test traces for integration tests too: #30260
- Update test-pnp tests: #30273
Credits
Huge thanks to @sokra, @timneutkens, @kdy1, and @matamatanot for helping!
Core Changes
- test, fix and document all possible import types for URL imports: #30165
- Ensure isServer is true when compiling middleware: #30242
Credits
Huge thanks to @sokra and @timneutkens for helping!
Core Changes
- Add deprecation note for target: #30200
- Add initial documentation for output file tracing: #30199
- partially migrate to webpack 5 types: #30189
- hide next-middleware-loader in import trace: #30243
- fix some labels for middleware stuff: #30241
- Use
Log.warn()instead ofconsole.warn()in next-server: #30240
Misc Changes
- Update removeHash handling for stats-app: #30235
Credits
Huge thanks to @sokra and @styfle for helping!
Core Changes
- Enable outputFileTracing by default: #30202
- Add isDevfallback to cache name to create a separate cache for the fallback compiler: #30227
- Use SWC for middleware: #30209
- Update swc: #30230
Credits
Huge thanks to @ijjk and @kdy1 for helping!
Core Changes
- Upgrade styled-jsx for react 18 improvement: #30179
- Enable SWC by default when there is no custom Babel config: #29811
Credits
Huge thanks to @huozhi for helping!
Core Changes
- De-dupe inflight getStaticProps requests: #30125
- Update include/exclude handling for output tracing: #30184
- make import trace consistent between runtime and build: #30175
- Add middlewareCount info to build optimized: #30185
- Change AVIF to opt-in via configuration: #30180
- Add page config swc transform: #30183
- Move tracing next-server to next build: #30190
- Update to latest caniuse-lite version: #30194
- Remove
all: initialin favor of specific styles onnext/image: #30191
Credits
Huge thanks to @ijjk, @sokra, and @padmaia for helping!
Core Changes
- Add warning when using middleware: #30160
- test and fix error reporting for stack overflows and other fatal errors: #30169
- [ESLint] Add add
next/scriptsupport forno-unwanted-polyfilliorule: #28944 - make static image import output path consistent with other media: #30168
Misc Changes
- improve CI stability: #30171
Credits
Huge thanks to @sokra and @ka2n for helping!
Core Changes
- Update middleware chunk handling: #30151
- Ensure error message prints
next.config.mjs: #30152 - Use default
next.config.jsif not found: #30155
Credits
Huge thanks to @styfle for helping!
Core Changes
- Ensure we dont attempt minifying middleware-chunks: #30147
Core Changes
- Update swc: #30141
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Fix creation of styled jsx ids: #30124
- Update swc: #30127
- avoid showing empty
Import trace for requested module: #30130 - fix pageKey and compiling output for on-demand-entries: #30116
- add experimental.urlImports option: #30079
Credits
Huge thanks to @padmaia, @kdy1, and @sokra for helping!
Core Changes
- [ESLint] Adds temporary error message for ESLint v8: #30113
- improve production error message printing: #30065
- Simplify export statement: #30015
- automatically enable managed paths for all node_modules: #30089
- Skip minifying middleware: #30122
Misc Changes
- Fix repo-setup when .DS_Store exists: #30119
- fix(docs): Clarify contribution docs about linting: #30123
Credits
Huge thanks to @housseindjirdeh, @styfle, @sokra, @rojserbest, and @lobsterkatie for helping!
Core Changes
- Enable shared worker pool by default: #30110
- use xxhash64 by default: #30095
Documentation Changes
- Add image example with background color using blurDataURL: #30111
- docs: remove mention of experimental pageDataCollectionTimeout: #30107
Example Changes
- [examples] Fix deploy button URL in
with-sentryexample: #30112
Credits
Huge thanks to @lobsterkatie, @styfle, @thibautsabot, and @sokra for helping!
Core Changes
- Implement Middleware RFC: #30081
Credits
Huge thanks to @javivelasco for helping!
Core Changes
- update webpack: #30073
- Print error when
images.loaderis assigned butimages.pathis not: #30080 - Update swc: #30086
- Enable fast refresh transform when using SWC: #30106
Example Changes
- Updating with-supertokens example: #29876
Credits
Huge thanks to @sokra, @styfle, @rishabhpoddar, and @kdy1 for helping!
Core Changes
- Update swc: #30066
- Prevent inherited styles on
next/imagewrapper or sizer: #30064
Credits
Huge thanks to @kdy1 and @styfle for helping!
Core Changes
- Update swc: #30055
- Update swc: #30057
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Update react 18 streaming api: #30038
- Update manifest to include notFound revalidate info: #30046
- Sanitize the path to the user config before importing: #30003
Example Changes
- Fixed Favicons URL mismatch across the project in [examples/blog-starter] : #29990
Credits
Huge thanks to @huozhi, @georgegach, and @ionut-botizan for helping!
Core Changes
- Fix
next/imagewhen parent is<p>: #30041 - Fix trace when initial file is also child: #30048
Documentation Changes
- Update docs for Prerender Error message: #30044
- Update documentation to fix github cache key: #29983
- Update eslint.md with instructions for installing Prettier plugin dependency: #29764
Credits
Huge thanks to @styfle, @paul-creates, and @TimBarley for helping!
Core Changes
- Update swc: #30029
- Compile native-url and node-libs-browser: #30032
- Update swc to fix regenerator issue: #30035
- Update tracing to collect from reasons: #29975
- Fix eslint loading on Windows: #30040
Credits
Huge thanks to @kdy1 and @styfle for helping!
Core Changes
- Remove obsolete prerender indicator code: #30004
- Update swc: #30019
Documentation Changes
- docs: Remove invalid link "Glamor": #29982
Misc Changes
- Update labeler.json
Credits
Huge thanks to @kimizuy, @devknoll, and @kdy1 for helping!
Core Changes
- Update swc to fix minifier: #29989
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Fix identifier handling of
styled-jsx: #29986
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Fix config import on Windows and disable test in failing envs: #29971
- Update swc: #29969
Credits
Huge thanks to @ijjk and @kdy1 for helping!
Core Changes
- Bump "engines" to node >= 12.22.0: #29949
- Update webpack target to node12.22: #29953
- Add ESLint docs URLs: #29645
- Use import() to load next.config.js: #29935
Documentation Changes
- Update minimum Node version in Getting Started: #29952
Example Changes
- Update mongoose and swr and remove no longer needed connection options: #29934
Credits
Huge thanks to @styfle, @matamatanot, @christianvuerings, and @pgrodrigues for helping!
Core Changes
- fix Log Typo: #29937
Credits
Huge thanks to @mohamedbhy for helping!
Core Changes
- Upate swc to allow line comments in css: #29943
Misc Changes
- add trace-to-tree script to allow to visualize traces on the commandline: #29942
Credits
Huge thanks to @sokra and @kdy1 for helping!
Core Changes
- Add revalidate to the GetStaticPropsResult: #29919
- Migrate server-sent events HMR connection to WebSocket: #29903
Credits
Huge thanks to @AlfonzAlfonz and @ijjk for helping!
Core Changes
- Update swc: #29913
- upgrade strip-ansi in react-dev-overlay: #29906
Misc Changes
- Add native build caching to main workflow also: #29920
Credits
Huge thanks to @kdy1, @thibautsabot, and @ijjk for helping!
Core Changes
- Enable esmExternals by default: #29878
- Refactor Document to prep for classic streaming: #29834
- Update to latest @vercel/nft: #29902
- Remove unused options from swc-loader: #29907
Documentation Changes
- Update docs for image caching behavior: #29895
- Update typo in response helpers doc: #29899
Credits
Huge thanks to @timneutkens, @kara, and @styfle for helping!
Core Changes
- Added more examples to Response Helpers page: #29462
- update webpack: #29870
- Add experimental option to enable fullySpecified: #29880
- only listen to drain even once: #29885
- Update swc & Improve CI time: #29884
Documentation Changes
- Update testing based on Failed to parse src "test-file-stub" on `next…: #29039
Credits
Huge thanks to @molebox, @angelopoole, @sokra, and @kdy1 for helping!
Core Changes
- Update swc: #29881
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Avoid TypeError when comparing path param: #29821
- feat(jsconfig-paths-plugin): Resolve paths synchronously: #29467
- Update swc: #29866
Example Changes
- Update typescript version: #29854
Misc Changes
- make test directories more unique: #29864
Credits
Huge thanks to @oste, @genetschneider, @sokra, @jantimon, and @kdy1 for helping!
Core Changes
- Collect feature usage for optimizeCss: #29828
- Add support for AVIF to
next/image: #29683 - Update swc: #29843
Documentation Changes
- docs(testing): added Playwright guide: #29832
- Add Scss variables section to Built-in CSS Support document: #29822
Misc Changes
- avoid running multiple test from the same directory in parallel: #29830
- Add rich to codeowners for docs: #29848
- Pin create-next-app to eslint@v7: #29837
Credits
Huge thanks to @sokra, @kyliau, @mxschmitt, @PhattOZ, @kdy1, and @finn-orsini for helping!
Core Changes
- hide build error when returning to old build: #29813
- only schedule pages for disposing and dispose on next compile: #29816
- reduce default maxInactiveAge to 15s: #29817
- add summary logging option: #29814
- handle new hmr connection as heartbeat signal: #29818
- allow to reload disposed client pages: #29815
Credits
Huge thanks to @sokra for helping!
Additional publishes are because of https://status.npmjs.org/incidents/wy4002vc8ryc
Core Changes
- show partial compiled message and correct module count: #29795
- avoid using absolute paths in import/require: #29797
- Update swc: #29798
- Pass sourcemap when swcMinify is enabled: #29794
Credits
Huge thanks to @sokra and @kdy1 for helping!
Core Changes
- Fix swc tests: #29776
- Fix
styled-jsx: Don't drop extra selectors: #29791
Documentation Changes
- Fix test running command in testing.md: #29778
Credits
Huge thanks to @kriswuollett and @kdy1 for helping!
Misc Changes
- Exclude SWC test input/output JS from eslint checks
- Exclude SWC test input/output JS from prettier checks
- Exclude bench/nested-deps from prettier check
Core Changes
- Fix bugs of
styled-jsxandswc: #29774
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Fix bug with getServerSideProps when swcLoader is enabled: #29760
- feat(build/swc): Add debug utilities: #29730
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Add trace span for module readFile: #29759
Core Changes
- update webpack: #29738
- serverOnlyChanges should be determined when both compilers are done: #29757
- Hmr DX improvements: #29753
Documentation Changes
- Fixed method for removing class: #29735
Credits
Huge thanks to @sokra and @harryheman for helping!
Core Changes
- update webpack: #29708
Credits
Huge thanks to @sokra for helping!
Core Changes
- Use correct arg for require.resolveWeak: #29719
Core Changes
- fix: Prevent image redirection when trailingSlash is set: #29640
- fix(styled-jsx): Use correct SyntaxContext for identifiers: #29705
Credits
Huge thanks to @GustavoEdinger and @kdy1 for helping!
Core Changes
- Remove isWebpack5 checks: #29677
- chore: Update swc: #29689
Documentation Changes
- Grammatical fixes: #29676
- Fix typo in image optimization documentation: #29685
Credits
Huge thanks to @AryanBeezadhur, @Blevs, and @kdy1 for helping!
Documentation Changes
- Fix debugging docs markdown lang: #29674
Core Changes
- Remove webpack 4 support: #29660
- Ensure conditional resolve alias does not affect server: #29673
- Chore/update swc: #29675
Credits
Huge thanks to @timneutkens and @ijjk for helping!
Core Changes
- Fix grammar in conflicting paths error: #29658
- update webpack: #29644
- Bump squoosh to the latest version: #29506
Documentation Changes
- Overhaul image component documentation: #29186
- Document i18n routing with dynamic routes: #29632
Example Changes
- Adding Formspree contact-form example: #29314
- Rename
utilstolib: #29651
Misc Changes
- Update stats-config for release stats: #29654
- Add automated bench script for nested-deps: #29583
Credits
Huge thanks to @colevscode, @AryanBeezadhur, @atcastle, @ijjk, @velocity23, @jonowu, @sokra, and @timneutkens for helping!
Core Changes
- Fix missing trace items and migrate required files test: #29649
- Create TelemetryPlugin for collecting feature usage metrics: #29145
Credits
Huge thanks to @kyliau for helping!
Core Changes
- Update to latest version of node-file-trace: #29617
- Update swc crates: #29643
Example Changes
- Update examples/cms-contentful: #29641
Credits
Huge thanks to @ijjk, @whitep4nth3r, and @kdy1 for helping!
Core Changes
- Add trace file for "next dev": #29633
Core Changes
- Update version @babel/runtime: #29458
- upgrade webpack: #29549
- Include param vars in nearest scope bindings: #29536
- Update
swc_css_parser: #29572 - Upgrade swc deps: #29620
- fixes #29553: #29611
Documentation Changes
- docs: Link to getInitialProps on Custom
Apppage: #29567 - Update permanent redirect field documentation: #29557
- Use npx create-next-app@latest instead of the version that is installed: #29595
- docs: Clarify locale properties on
contextobject in data-fetching: #29566 - docs: remove
thisusage from function component: #29596
Credits
Huge thanks to @micro-chipset, @sokra, @TyMick, @padmaia, @kdy1, @timneutkens, and @arthurdenner for helping!
Core Changes
- Ensure all package.json files are traced correctly: #29539
- Add page mapping for Server Components: #29508
- Fix ie11 from untranspiled vitals: #29532
Example Changes
- Updates supertokens-auth-react dependency version: #29547
Credits
Huge thanks to @rishabhpoddar and @devknoll for helping!
Core Changes
- Upgrade swc deps: #29531
Core Changes
- Remove error that is too strict in next/dynamic swc transform: #29511
- make client and server independent for on-demand-entries: #29518
- Update resolve options for nft: #29524
- Fix root global jsx style: #29505
- Fix custom app file regex: #29525
Documentation Changes
- Update getServerSideProps docs with req.cookie note: #29457
Example Changes
- Add id to inline gtag script: #29530
Credits
Huge thanks to @padmaia, @sokra, @vitorbal, @zNeb, and @jacksonhardaker for helping!
Core Changes
- Parallelize
requirePagewhen loading components: #29494 - Invalidate webpack cache when swc options are enabled/disabled: #29497
- Update output tracing resolving: #29473
Documentation Changes
- Add Stitches example to CSS-in-JS docs: #29498
Credits
Huge thanks to @shuding, @timneutkens, and @kylemh for helping!
Core Changes
- update webpack: #29469
Misc Changes
- fix test/integration/app-document-remove-hmr flake: #29486
Credits
Huge thanks to @sokra for helping!
Core Changes
- Rename
onReadyToStreamtoonCompleteShell: #29442 - Update css parser: #29484
Credits
Huge thanks to @devknoll and @kdy1 for helping!
Core Changes
- Fix SWC unit test: #29466
- Ensure initial imports are included in traces correctly: #29437
Example Changes
- Update Prisma example: #29459
- Fixed MongoParseError: #29277
Misc Changes
- Update test timings endpoint: #29443
Credits
Huge thanks to @AryanBeezadhur and @Bundy-Mundi for helping!
Core Changes
- Remove inline-source-map for Windows: #28893
- Ensure blurDataURL is correct in dev with basePath: #29436
- Update swc : #29460
- Build next-swc binaries: #29465
Misc Changes
- Remove unsafeCache from benchmark + use cross-env for benchmark: #29425
Credits
Huge thanks to @ijjk and @kdy1 for helping!
Core Changes
- Experimental: hook version of reportWebVitals: #28769
- enable unsafeCache for better incremental build performance: #29175
- upgrade webpack and enable experiments.cacheUnaffected: #29369
- Fix
onLoadingComplete()callback when image src is Data URL: #29367 - Additional bench tracing improvements: #29325
Documentation Changes
- Update invalid-getstaticpaths-value.md: #29397
- Update imperative routing docs to have better a11y: #29382
Misc Changes
- fix(create-next-app): starter styling errors: #28096
Credits
Huge thanks to @ctjlewis, @huozhi, @sokra, @thien-do, @styfle, and @leerob for helping!
Core Changes
- Update to latest @vercel/nft and use async fs methods: #29341
- feat: allow setting custom tsconfig file: #28104
- Ensure static image works correctly with basePath: #29307
- Use webpack resolve with nft: #29342
Credits
Huge thanks to @Dev-CasperTheGhost for helping!
Core Changes
- Fix invalid project dir casing breaking Next.js on Windows: #29205
- Fix add-entry span duration: #29288
Documentation Changes
- Ensure href/as behavior points to correct docs: #29270
Example Changes
- Update with-segment-analytics example to use next/script component: #29282
- fix: cover image redirect to undefined: #29311
Misc Changes
- Update webpack5 import when using local webpack version
- Update font-optimization test snapshot: #29305
Credits
Huge thanks to @janicklas-ralph, @timneutkens, and @rezathematic for helping!
Core Changes
- Rename experimental tracing to
outputFileTracing: #29267 - Add internal mode for debugging Next.js core webpack: #29254
Credits
Huge thanks to @styfle for helping!
Misc Changes
- Ensure we only ignore .git cache for check-precompiled: #29274
- Ensure actions/cache paths match for restoring: #29275
Core Changes
- fix compilation span relationship: #29174
- Add spans for hot-reloader start: #29251
Credits
Huge thanks to @sokra for helping!
Core Changes
- Fix bug where returning
{ notFound: true }from GSP brokenext export: #24481 - Fix #11107 - don't prefetch preloaded modules: #22818
- Fix array query value has matching: #29216
- Remove useless getComputedStyle call.: #27969
- Preserve
next-env.d.tsline ending: #28100
Documentation Changes
- Fix minor typos: #29188
- Update Gatsby migration guide to use image imports.: #29178
Example Changes
- Fix type-check in Temporal example: #28546
- Update with-react-intl example: #28336
- switch to Script component on the facebook pixel example: #29192
Credits
Huge thanks to @KonstHardy, @fracture91, @lorensr, @leerob, @Sheraff, @HaNdTriX, @emilio, @oluan, and @ddzieduch for helping!
Core Changes
- suggest incremental typescript for typescript >= 4.4.2: #29169
- make code consistent with babel externals: #28867
- add support for new URL(): #28940
Documentation Changes
- Use new @clerk/nextjs package in with-clerk example, update Next.js authentication docs: #28906
- Update router.prefetch section to clarify it supports dynamic routes: #29070
- Ensure manifests check has correct exit code on fail: #29183
Example Changes
- fix(with-sentry example): Small tweaks: #28359
- bugfix: remark/webpack conflict: #29180
- Fix dependency in
api-routesexample: #29181
Credits
Huge thanks to @lobsterkatie, @sokra, @rezathematic, @colinclerk, @TyMick, and @x4th for helping!
Core Changes
- Add name to invalidated span: #29170
Misc Changes
- Update swc dependencies: #29151
- Workflow improvements: #29155
Credits
Huge thanks to @ijjk and @padmaia for helping!
Core Changes
- Add crawler blocking for fallback: true: #29121
- upgrade to typescript 4.4.3: #29112
- Fix native unit tests: #29146
- Ensure traces are flushed in development when there is an error: #29149
Credits
Huge thanks to @ijjk, @sokra, and @padmaia for helping!
Core Changes
- Ensure Next.js dist files are commonjs compatible with swcLoader enabled: #29138
- next-ssg: Don't inject
__N_SSPfor files without server props.: #29141 - Build next-swc binaries: #29144
Credits
Huge thanks to @kdy1 for helping!
Core Changes
- Fix transform of ` in styled-jsx: #29136
- Update next-swc binaries: #29140
Documentation Changes
- Add client-side debugging instructions: #28815
Credits
Huge thanks to @TyMick and @kdy1 for helping!
Core Changes
- Remove inert font tag in font optimization: #28869
- Remove log from failing to parse source map: #29118
- Development tracing improvements: #29076
- Update trace ignores for next import: #29119
- Fix partial one off global selectors: #29128
- Update next-swc binaries: #29132
Example Changes
- Update Redux example to use Toolkit + update dependencies.: #29104
Misc Changes
- Merge branch 'canary' of github.com:vercel/next.js into canary
Credits
Huge thanks to @leerob, @janicklas-ralph, @ijjk, and @padmaia for helping!
Core Changes
- Update styled-jsx: #29103
Misc Changes
- Ensure browser instances are not re-created un-necessarily: #29091
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Add/styled jsx swc: #29005
Credits
Huge thanks to @padmaia for helping!
Core Changes
- Update gSSP type to support props as a promise: #28999
- Use
Writableinstead ofObservable: #29007 - Pass code as buffer to swc minify: #29009
- Deprecate webpack 4 support: #28840
- Make next-ssg optional: #28862
next/dynamic: AcceptpagesDir: #29055- Update test set-up to leverage playwright when able to: #28634
- Make traces in development reliable: #28990
- Fix webpack version and safari test and update compiled: #29059
- Throw error if res is accessed after gSSP returns: #29010
- Fix/upload binary artifact: #29069
- Add crossOrigin type to the NextConfig: #29033
- reload the page to show 404 when receiving
invalidevent from on-demand-entries: #29074 - Add stats config for SWC: #28883
- Fix host segment replacing for custom routes: #29090
Documentation Changes
- Fixed typo: #28989
- Fix minor typo in no-img-element.md: #29027
- Add more examples of static generation to docs page.: #29052
- Add note about using Sharp for next/image to deployment docs.: #29067
Example Changes
- Fix falsy values not being returned in post fields: #29011
- [Examples] Updates
with-google-tag-managerexample to use<Script>component: #29061
Misc Changes
- Update test workflows for mac/react: #29060
- Remove extra macOS test workflow: #29064
- Fix minor typo in index.test.js: #29065
Credits
Huge thanks to @volcareso, @kara, @devknoll, @padmaia, @oiva, @KonstHardy, @timneutkens, @kdy1, @housseindjirdeh, @leerob, @sinchang, and @sokra for helping!
Core Changes
- Simplify
RenderResult: #28900 - fix: should allow optional properties for
imagesoption: #28709 - Adopt context based experimental styled-jsx version: #28646
- Fix ensurePage race condition: #28939
- Support node-sass@6: #28710
- Update swc: #28946
- Update swc in next-swc: #28970
- Ensure cache-control is correct for notFound: true with revalidate: #28973
Documentation Changes
- name should be key: #28917
- chore(examples): switch to Script component on the google analytics example: #27674
- Fixed issue with grammar: #28964
Example Changes
- Updates supertokens-node dependency version: #28916
Misc Changes
- Fix create-next-app tests from example change: #28972
Credits
Huge thanks to @scottrepreneur, @devknoll, @smakosh, @catnose99, @huozhi, @ijjk, @adrienharnay, @kdy1, @rishabhpoddar, @donsn, and @padmaia for helping!
Core Changes
- Remove outdated webpack conformance experiment: #28846
- Remove unused profiler: #28844
- Remove unused dependencies: #28876
- Update concurrent tests and enable experimental streaming: #28892
- Fix/swc minify: #28898
- Ensure timed out prefetches are cleaned up correctly: #28899
Documentation Changes
- Update
next/linkAPI docs to mention a11y and ESLint rule.: #28841
Example Changes
- Updates @react-three/drei version and other dependencies.: #28755
- fixes with-typescript-graphql: unable to resolve dependency tree: #28637
- Examples Prepr CMS update: #28871
- Fix Typo in "with-eslint" Example docs: #28601
Misc Changes
- Trim large test output to not exceed limit: #28881
Credits
Huge thanks to @andersonleite, @ijjk, @leerob, @msp5382, @tim-hanssen, @appsplash99, @devknoll, and @padmaia for helping!
Misc Changes
- Fix lerna publish for automation token: #28750
Core Changes
- Remove .next/traces directory as it's not used: #28728
- Update css-loader runtime to use compiled files: #28735
Misc Changes
- Bug fix for lint rule: #28677
Credits
Huge thanks to @prateekbh for helping!
Core Changes
- Use consistent postcss version for all transforms: #28529
Documentation Changes
- Update image styling doc: #28724
Credits
Huge thanks to @atcastle for helping!
Core Changes
- Ensure build trace is correct with extra entries: #28667
- fix: should allow nullable param for res.end: #28694
- Ensure @babel/types is not duplicated: #28713
- Ensure @babel/core is not duplicated: #28716
Documentation Changes
- Update docs about exposing env vars to the browser: #28673
Misc Changes
- Do not have the required package error fix: #28662
Credits
Huge thanks to @AleksaC, @eungyeole, and @huozhi for helping!
Core Changes
- fix esm externals edge case with "module" condition: #28612
- Fix TS type conflict for
<img>tag: #28672
Documentation Changes
- Add error page path for next-script-for-ga: #28643
Misc Changes
- Fix for
next-script-for-gaESLint rule crashing when a method is used in dangerouslySetInnerHTML: #28675
Credits
Huge thanks to @matamatanot, @sokra, @styfle, and @rgabs for helping!
Core Changes
- chore: upgrade styled-jsx to 4.0.1: #28626
- getServerSideProps should support props value as Promise: #28607
- Ensure custom app regex is correct for Windows: #28631
Credits
Huge thanks to @huozhi and @kara for helping!
Core Changes
- chore: upgrade styled-jsx to 4.0.1: #28626
- getServerSideProps should support props value as Promise: #28607
- Ensure custom app regex is correct for Windows: #28631
Credits
Huge thanks to @huozhi and @kara for helping!
Core Changes
- Next.js swc publish flow: #27984
- Ensure config file message is only shown once: #28017
- Add missing fields to
NextConfigtype: #27974 - use a shared worker pool for collecting page data and static page generation: #27924
- Use @next scope for native packages: #28046
- Fix
generateBuildIdtype that can be async function: #28040 - Fix image optimization encoding url: #28045
- Clean up
Documentin preparation for streaming: #28032 - Render as a concatenation of streams: #28082
- Add support for dynamic HTML: #28085
- Support suspense in next dynamic: #27611
- Handle blob urls in image component: #27975
- Bypass webpack compilation for precompiled @next/polyfills-nomodule: #27596
- Update
utilto 0.12.4: #27939 - Remove duplicate doctypes: #28089
- Fix revalidate for initial notFound: true paths: #28097
- Add proper error when failing to load next.config.js: #28099
- Fix: wrong link error message: #28127
- Add support for Jaeger trace target: #28129
- Enable pure client suspense in blocking rendering: #28165
- Add entrypoint tracing: #25538
- Add module type to build-module trace: #28128
- Update to latest babel versions: #28174
- Improve jaeger traces: #28168
- fix development mode bug with pages with "+" and other special characters: #28122
- let loaders automatically infer source map setting: #28204
- Avoid fs write
next-env.d.tson read-only filesystems: #28206 - Document usage of suspense option of next/dynamic: #28210
- Add warning when parent styles break
next/image: #28221 - Use
zen-observablelibrary: #28214 - Fix HMR when custom _app or _document is removed: #28227
- Add relationship between issuer and module to traces: #28192
- Update generating next-server dependencies: #28223
- Fix
next/imageblur placeholder when JS is disabled: #28269 - Ensure adding _app/_document HMRs correctly: #28279
- upgrade webpack to 5.51.1: #28291
- [ESLint] Adds
process.exittonext lintsuccess output: #28299 - Fix next env vars injection in dynamic: #28309
- Add layout to data-nimg attribute: #28312
- Add data attribute to script component: #28310
- Ensure @babel/core is de-duped when nccing: #28384
- Fix forked NODE_OPTIONS except for inspect: #28420
- [ESLint] Enable caching by default: #28349
- Update test config to leverage swc: #28400
- Add missing
typescriptproperty toNextConfig: #28459 - next/script fix duplicate scripts : #28428
- Ensure error is shown correctly for empty headers field: #28430
- Add default trace format that is exported automatically: #28461
- Update i18n locales limit to warning: #28429
- Fix handling for 204 status code with a body: #28479
- Update warning when parent styles break
next/image: #28517 - Support for functional Document components: #28515
- Ensure dev server side errors are correct: #28520
- Add CSP to Image Optimization API: #28620
Documentation Changes
- Fix incorrect error manifest path: #27970
- Add testing docs: #27965
- [DOCS] Update testing docs: #28064
- [ESLint] Disallow
- Docs: Mention 3rd option 'blocking' for fallback: #28077
- Add a Styling Section to next/image component docs: #28055
- Improve React Strict Mode documentation.: #28139
- doc: fix typo: #28146
- docs: corrected the link to the example: #28175
- ESLint Plugin: Prefer next script component when using the inline script for Google Analytics.: #25147
- Update testing.md: #28190
- docs: Add link to Cypress GitHub Actions Guide to Testing docs: #28207
- Add docs for ESLint plugin settings and rule options: #28059
- Add eslint rule for id attribute on inline next/script: #27853
- Update supported-browsers-features.md: #28326
- fix link to global stylesheet in from-create-react-app.md: #28327
- docs: update font-optimization.md: #28397
- Improved
next/imagedocs around layouts.: #28345 - Minor docs edit: cors -> CORS: #28472
- Update docs for
sharpusage to mention Vercel: #28476 - Use recommended pattern in testing example: #28404
- Update with-jest packages and docs: #28209
- Add docs for using pageExtensions to colocate other files with page components: #22740
- Small grammar fixes: #28590
Example Changes
- Make sure all example packages has
private: true: #28008 - next-env.d.ts note in templates: #27983
- Add
.gitignoreto examples that lack them: #28003 - Update Firebase hosting example to use Node.js 14.: #27988
- Examples: Jotai: #27940
- Remove
licencefrom allexample/package.jsonthat has them: #28007 - Add ci script to check examples: #28009
- Replace CSS tag with JS import: #28143
- Fixed typos that existed on some files: #28314
- Add Temporal example: #28348
- [examples] Added
with-couchbaseexample: #27184 - [examples] Add ElasticSearch example: #28043
- Fix: changing import syntax slightly to ensure success with
create-next-app: #28431 - Add prop-types in package.json: #28481
- Update to use the latest MongoDB best practices to limit connection pooling issues.: #28350
- Add apiVersion to config: #28610
Misc Changes
- Tests: Execute development-logs tests.: #27996
- Fix publish native script: #28037
- Authenticate npm before publishing native packages: #28041
- publish flow fixes: #28050
- USe await correctly: #28053
- Refactor development-logs removing duplicated code.: #28049
- Fix gh action workflow when docs changed: #28092
- Skip native ci steps for docs only changes: #28101
- Add setup for m1 build: #28138
- fix(tests): fixes typo in basic integration test: #28158
- Fix crash of lint rule no-document-import-in-page: #28148
- docs: make contributing.md more contributor-friendly: #27913
- Update polling env var for tests in CI: #28264
- Ensure all packages are packed while tracing: #28263
- Use temp repo copy while linking packages: #28301
- feat: upgrade swc/core to 1.2.80: #28347
- Move unit tests to one folder and migrate them to TypeScript: #28427
- Tests: Adds test to data-nimg data attribute based on layout prop.: #28444
- Remove unused imports
- [ESLint Plugin] Handles edge case for
no-import-document-in-pagerule: #28261 - Tests: Remove unnecessary await: #28594
Credits
Huge thanks to @delbaoliveira, @padmaia, @andersonleite, @stefanprobst, @oBusk, @sokra, @xnuk, @styfle, @leerob, @devknoll, @huozhi, @timneutkens, @awareness481, @agektmr, @gu-stav, @sampoder, @Thisen, @ijjk, @oscarafuentes, @AryanBeezadhur, @bmuenzenmeyer, @tdkn, @rgabs, @urko-pineda, @davecaruso, @kevinold, @ctjlewis, @chrislloyd, @mrmckeb, @housseindjirdeh, @hiro0218, @Bezmehrabi, @atcastle, @janicklas-ralph, @lorensr, @lekterable, @vcnc-hex, @ejscribner, @Andarist, @aravindputrevu, @robbieaverill, @zhafri-shafiq, @htunnicliff, @kukicado, @OzzieOrca, @mikehedman, and @kmelve for helping!
Example Changes
- Add apiVersion to config: #28610
Credits
Huge thanks to @kmelve for helping!
Core Changes
- Update warning when parent styles break
next/image: #28517 - Support for functional Document components: #28515
- Ensure dev server side errors are correct: #28520
- Add CSP to Image Optimization API: #28620
Documentation Changes
- Update with-jest packages and docs: #28209
- Add docs for using pageExtensions to colocate other files with page components: #22740
- Small grammar fixes: #28590
Misc Changes
- Tests: Remove unnecessary await: #28594
Credits
Huge thanks to @devknoll, @delbaoliveira, @ijjk, @OzzieOrca, @mikehedman, and @andersonleite for helping!
Documentation Changes
- Use recommended pattern in testing example: #28404
Example Changes
- Update to use the latest MongoDB best practices to limit connection pooling issues.: #28350
Misc Changes
- [ESLint Plugin] Handles edge case for
no-import-document-in-pagerule: #28261
Credits
Huge thanks to @htunnicliff, @kukicado, and @housseindjirdeh for helping!
Core Changes
- Update i18n locales limit to warning: #28429
- Fix handling for 204 status code with a body: #28479
Example Changes
- Add prop-types in package.json: #28481
Misc Changes
- Remove unused imports
Credits
Huge thanks to @zhafri-shafiq and @ijjk for helping!
Core Changes
- next/script fix duplicate scripts : #28428
- Ensure error is shown correctly for empty headers field: #28430
- Add default trace format that is exported automatically: #28461
Documentation Changes
- Minor docs edit: cors -> CORS: #28472
- Update docs for
sharpusage to mention Vercel: #28476
Example Changes
- [examples] Add ElasticSearch example: #28043
- Fix: changing import syntax slightly to ensure success with
create-next-app: #28431
Misc Changes
- Tests: Adds test to data-nimg data attribute based on layout prop.: #28444
Credits
Huge thanks to @janicklas-ralph, @aravindputrevu, @ejscribner, @robbieaverill, @andersonleite, @styfle, and @ijjk for helping!
Core Changes
- Fix next env vars injection in dynamic: #28309
- Add layout to data-nimg attribute: #28312
- Add data attribute to script component: #28310
- Ensure @babel/core is de-duped when nccing: #28384
- Fix forked NODE_OPTIONS except for inspect: #28420
- [ESLint] Enable caching by default: #28349
- Update test config to leverage swc: #28400
- Add missing
typescriptproperty toNextConfig: #28459
Documentation Changes
- Add eslint rule for id attribute on inline next/script: #27853
- Update supported-browsers-features.md: #28326
- fix link to global stylesheet in from-create-react-app.md: #28327
- docs: update font-optimization.md: #28397
- Improved
next/imagedocs around layouts.: #28345
Example Changes
- Fixed typos that existed on some files: #28314
- Add Temporal example: #28348
- [examples] Added
with-couchbaseexample: #27184
Misc Changes
- feat: upgrade swc/core to 1.2.80: #28347
- Move unit tests to one folder and migrate them to TypeScript: #28427
Credits
Huge thanks to @stefanprobst, @hiro0218, @huozhi, @AryanBeezadhur, @Bezmehrabi, @atcastle, @awareness481, @janicklas-ralph, @lorensr, @lekterable, @vcnc-hex, @leerob, @housseindjirdeh, @ejscribner, and @Andarist for helping!
Core Changes
- [ESLint] Adds
process.exittonext lintsuccess output: #28299
Misc Changes
- Use temp repo copy while linking packages: #28301
Credits
Huge thanks to @housseindjirdeh for helping!
Core Changes
- Fix
next/imageblur placeholder when JS is disabled: #28269 - Ensure adding _app/_document HMRs correctly: #28279
- upgrade webpack to 5.51.1: #28291
Documentation Changes
- Add docs for ESLint plugin settings and rule options: #28059
Misc Changes
- Update polling env var for tests in CI: #28264
- Ensure all packages are packed while tracing: #28263
Credits
Huge thanks to @styfle, @mrmckeb, and @sokra for helping!
Core Changes
- fix development mode bug with pages with "+" and other special characters: #28122
- let loaders automatically infer source map setting: #28204
- Avoid fs write
next-env.d.tson read-only filesystems: #28206 - Document usage of suspense option of next/dynamic: #28210
- Add warning when parent styles break
next/image: #28221 - Use
zen-observablelibrary: #28214 - Fix HMR when custom _app or _document is removed: #28227
- Add relationship between issuer and module to traces: #28192
- Update generating next-server dependencies: #28223
Documentation Changes
- Update testing.md: #28190
- docs: Add link to Cypress GitHub Actions Guide to Testing docs: #28207
Misc Changes
- docs: make contributing.md more contributor-friendly: #27913
Credits
Huge thanks to @urko-pineda, @davecaruso, @sokra, @kevinold, @ctjlewis, @chrislloyd, @huozhi, @styfle, @devknoll, and @timneutkens for helping!
Core Changes
- Update to latest babel versions: #28174
- Improve jaeger traces: #28168
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Add support for Jaeger trace target: #28129
- Enable pure client suspense in blocking rendering: #28165
- Add entrypoint tracing: #25538
- Add module type to build-module trace: #28128
Documentation Changes
- doc: fix typo: #28146
- docs: corrected the link to the example: #28175
- ESLint Plugin: Prefer next script component when using the inline script for Google Analytics.: #25147
Example Changes
- Replace CSS tag with JS import: #28143
Misc Changes
- fix(tests): fixes typo in basic integration test: #28158
- Fix crash of lint rule no-document-import-in-page: #28148
Credits
Huge thanks to @timneutkens, @oscarafuentes, @AryanBeezadhur, @bmuenzenmeyer, @huozhi, @tdkn, and @rgabs for helping!
Core Changes
- Fix revalidate for initial notFound: true paths: #28097
- Add proper error when failing to load next.config.js: #28099
- Fix: wrong link error message: #28127
Documentation Changes
- Docs: Mention 3rd option 'blocking' for fallback: #28077
- Add a Styling Section to next/image component docs: #28055
- Improve React Strict Mode documentation.: #28139
Example Changes
- Examples: Jotai: #27940
- Remove
licencefrom allexample/package.jsonthat has them: #28007 - Add ci script to check examples: #28009
Misc Changes
- Skip native ci steps for docs only changes: #28101
- Add setup for m1 build: #28138
Credits
Huge thanks to @gu-stav, @sampoder, @Thisen, @ijjk, @oBusk, @huozhi, and @leerob for helping!
Core Changes
- Render as a concatenation of streams: #28082
- Add support for dynamic HTML: #28085
- Support suspense in next dynamic: #27611
- Handle blob urls in image component: #27975
- Bypass webpack compilation for precompiled @next/polyfills-nomodule: #27596
- Update
utilto 0.12.4: #27939 - Remove duplicate doctypes: #28089
Documentation Changes
- [DOCS] Update testing docs: #28064
- [ESLint] Disallow
Misc Changes
- Refactor development-logs removing duplicated code.: #28049
- Fix gh action workflow when docs changed: #28092
Credits
Huge thanks to @delbaoliveira, @andersonleite, @devknoll, @huozhi, @stefanprobst, @timneutkens, @awareness481, @agektmr, and @styfle for helping!
Core Changes
- Clean up
Documentin preparation for streaming: #28032
Example Changes
- Update Firebase hosting example to use Node.js 14.: #27988
Misc Changes
- USe await correctly: #28053
Credits
Huge thanks to @leerob and @devknoll for helping!
Documentation Changes
- Fix incorrect error manifest path: #27970
A security team from one of our partners noticed an issue in Next.js that allowed for an open redirect to occur.
Specially encoded paths could be used when pages/_error.js was statically generated allowing an open redirect to occur to an external site.
In general, this redirect does not directly harm users although can allow for phishing attacks by redirecting to an attacker's domain from a trusted domain.
We recommend upgrading to the latest version of Next.js to improve the overall security of your application.
How to Upgrade
- We have released patch versions for both the stable and canary channels of Next.js.
- To upgrade run
npm install next@latest --save
Impact
- Affected: Users of Next.js between 10.0.5 and 10.2.0
- Affected: Users of Next.js between 11.0.0 and 11.0.1 using
pages/_error.jswithoutgetInitialProps - Affected: Users of Next.js between 11.0.0 and 11.0.1 using
pages/_error.jsandnext export - Not affected: Deployments on Vercel (vercel.com) are not affected
- Not affected: Deployments with
pages/404.js
We recommend everyone to upgrade regardless of whether you can reproduce the issue or not.
How to Assess Impact
If you think sensitive code or data could have been exposed, you can filter logs of affected sites by // (double slash at the start of the url) followed by a domain.
What is Being Done
As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to Gabriel Benmergui from Robinhood for their investigation and discovery of the original bug and subsequent responsible disclosure.
We've landed a patch that ensures path parsing is handled properly for these paths so that the open redirect can no longer occur.
Regression tests for this attack were added to the security integration test suite
- We have notified known Next.js users in advance of this publication.
- A public CVE was released.
- We encourage responsible disclosure of future reports. Please email us at
security@vercel.com. We are actively monitoring this mailbox.
Release notes
Core Changes
- Don't test image domains in test env: #26502
- Fix props not updating when changing the locale and keeping hash: #26205
- Allow user to override next-image-loader: #26548
- Add logging when a custom babelrc is loaded: #26570
- Add comment to not edit in next-env file: #26573
- Add trace url on bootup: #26594
- Add check for ObjectExpression when iterating on tags for font optimization: #26608
- Fix GSP redirect cache error: #26627
- Correct statusCode when visiting _error directly: #26610
- fix: next dynamic with jest: #26614
- Ensure API routes are not available under the locale: #26629
- Fix image content type octet stream 400: #26705
- [ESLint] Adds --max-warnings flag to
next lint: #26697 - Simplify
next-dev-serverimplementation: #26230 - Move code shared between server/client to "shared" folder: #26734
- Move next-server directory files to server directory: #26756
- Support new hydrate API in latest react 18 alpha release: #26664
- Add upstream
max-ageto optimized image: #26739 - Fix blurred image position when using objectPosition: #26590
- Leverage blocked page for _error: #26748
- fix: detect loop in client error page: #26567
- Add
onLoadingComplete()prop to Image component: #26824 - Add "Vary: Accept" header to /_next/image responses: #26788
- Add additional tests for image type detection: #26832
- Fix immutable header for image with static import & unoptimized: #26836
- Make sure 404 pages do not get cached by a CDN when using next start: #24983
- Don't emit duplicate image files: #26843
- Warn when response body is larger than 5mb: #26831
- Fix: added the key property to the pre next scripts: #26646
- Ensure API route errors are propagated in minimal mode: #26875
- 5MB -> 4MB body size limit: #26887
- [ESLint] Update default
.eslintrcfile created to have.jsonformat: #26884 - Refactor decode failures: #26899
- Add initial
ResponsePayloadsupport: #26938 - Fix typo in route-loader: #26942
- More explicit typing for
IncrementalCacheAPI: #26941 - Fix merge issue and use
respondWith: #26961 - (next/image): Merge query string params in imgix loader: #26719
- Fix: (rewrites) incorrect parsing of destination query: #26619
- Fix forward slash encoding while interpolating: #26963
- update webpack to 5.43.0: #26979
- Rename
next/scriptinterface Props to ScriptProps: #26990 - Don't lazy-load already-loaded image in client-side transition: #26968
- Loosen
next/imageTS types forwidthandheight: #26991 - Add
dangerously-unoptimizedloader for next/image: #26847 - Fix hash change events not firing with i18n: #26994
- Loosen
next/imageTS types forsrc: #26996 - Provide Next.js postcss version to cssnano-simple: #26952
- Rename next/image
dangerously-unoptimizedtocustomand warn when applicable: #26998 - Add newline to the end of
next-env.d.ts: #27028 - Add performance tracing for next-image-loader: #27043
- Include message body in redirect responses: #25257
- add support for esm externals: #27069
- Enhance
next devperformance with placeholder=blur: #27061 - Add batching to zipkin reporter: #27082
- Bind sendBeacon to navigator: #26601
- Fall back to fallbackSend when send is false: #27113
- Upgrades
web-vitalsto v1.1.2.: #25272 - Prevent timeout when loading routes in development: #25749
- Workaround for Node.js 16+ on Apple Silicon M1: #27031
- Replace
withCoalescedInvokewithResponseCache: #26997 - Add some missing fields to the NextConfig type: #27126
- Update redirect regexes to not match _next: #27143
- Bump babel target to Node.js 12: #27147
- Use SWC to compile Next.js core server files: #27167
- Fix css minify incorrectly duplicating variables: #27150
- Fix gsp generation with file extension: #27144
- Add
minimumCacheTTLconfig for Image Optimization: #27200 - Fix Script beforeInteractive on navigation: #26995
- improve static generation UX: #27171
- Add warning for large number of routes: #27214
- Add x-forward headers to external rewrites: #17557
- [ESLint] Remove error when file patterns are unmatched + ESLint setup changes: #27119
- Fix inline scripts being duplicated when used with
next/scriptcomponent: #27218 - Fix
minimumCacheTTLso it doesn't affect browser caching: #27307 - Fix default server host value causing issues on Windows: #27306
- Fix
placeholder=blurinside<noscript>: #27311 - fix type NextWebVitalsMetric: #24780
- Add
RequestContext: #27303 - Fix ISR page re-rendering after revalidate expiry (Fork of #24807): #27335
- Update NextConfig type to not require experimental or future fields: #25517
- Allow enabling worker threads on dev server: #23027
- Refactor i18n checks on request handling: #27328
- Add configuration for ISR Memory Cache Size (#21535): #27337
- Rename spr config to ISR: #27379
- Add
keepAlivetonode-fetchpolyfill: #27376 - Fix external redirect with i18n domains: #27415
- Don't cache
nullresponses: #27403 - Use Sharp if available for Image Optimization: #27346
- Fix typo in error message: #27438
- Add
lazyBoundaryprop to Image component: #27258 - Ensure generateBuildId is not required in config type: #27443
- Add eslint config options to
NextConfigtype: #27446 - Wait for getFilesForRoute promise to fulfill before timeout in dev mode: #27395
- Add config check for invalid duplicate locale domains: #27451
- Add warning when
next/imagecomponent hasstyleprop: #27441 - [ESLint] Adds
--formatflag tonext lint: #27052 - ESLint: custom directories from next.config.js: #26401
- Updated the Error message describing the alternative and added styles…: #14652
- Clarify error message in isSerializableProps: #22856
- Update eslint doc comment: #27478
- fix: Make router ready in case of custom _app getInitialProps: #27473
- fix(critical CSS): use the assetPrefix in the critters config: #27506
- Add initial next swc package with first transform: #27355
- Add
RenderResult: #27319 - Document i18n locale limit: #27542
- Fix: Added the content-disposition header: #27521
- Use SWC for Next.js core client files: #27196
- upgrade to webpack 5.47.0 and webpack-sources 3.1.1: #27538
- persistent cache need to be invalidated when source-maps are enabled: #27607
- Update report to leverage new variables: #27084
- Update Terser: #27600
- Ensure Next.js core development sourcemaps use correct input file: #27623
- Undo sourcemap change : #27690
- URI-encode url parameter in image optimizer: #27671
- More React 17 clean up: #26775
- Enforce source/destination limit for custom routes: #27703
- Add naturalWidth/naturalHeight to
onLoadingComplete()callback: #27695 - update webpack-sources to 3.2.0 for bugfixes and performance: #27673
- Add
next.config.jsoption to override defaultkeepAlive: #27709 - Port next-ssg getStaticProps/getServerSideProps tree shaking Babel transform to rust: #27552
- Add handling for repeated slashes: #27738
- Add/amp attribute patcher: #27700
- Add missing
removeHeader()function to image optimizer mock res: #27763 - Fix html validation for Image component sizer: #27767
- Update has query encoding when used in path: #27762
- [ESLint] Introduce a new setup process when
next lintis run for the first time: #26584 - remove unecessary fs.stat calls from recursive-readdir: #27769
- Wrap last return statement in
elseto fix tree shaking: #27788 - Update client error to show link in console: #27789
- Upgrade styled-jsx: #27782
- update webpack to 5.49.0: #27813
- Add experimental SWC minify and SWC loader options: #27664
- Use @vercel/fetch for run-tests requests: #27815
- Add next dynamic swc transform: #27745
- Add Import trace for requested module when it fails to resolve: #27840
- disable cache compression as it slows down the build: #27887
- Remove extraneous fs.stat calls: #27779
- Upgrade styled-jsx to v4: #27890
- Replace
placeholderwithblurDataURLin globalStaticImageDatatype: #27916 - Fix
next/scriptunhandled promise rejection: #27903 - update to webpack 5.50.0: #27929
- Remove duplicate type for StaticImageData: #27931
- Add data-nimg attribute to image component: #27899
- test(next): add tests for Node-like hashbang support: #27906
- Add experimental
concurrentFeaturesconfig: #27768 - Add warning during
next buildwhen sharp is missing: #27933 - Next swc publish flow: #27932
Documentation Changes
- docs: updated minimum Node.js version: #26528
- Update next-env note in docs: #26536
- Add note about adding additional types: #26545
- chore: Enable Alex documentation linting for error pages: #26526
- Update SWR example to include fetcher function.: #26520
- doc: prettify docs for next script: #26572
- Enable Alex documentation linting for docs: #26598
- Update next/image docs for relative parent with layout=fill.: #26615
- Update to environment-variable.md: #26863
- Add instructions on how to add nextjs.org/docs/messages urls: #26865
- Reorder docs manifest and rename to Script Optimization.: #26874
- Fix typo on "occured" to "occurred": #26876
- Update data-fetching.md: #27018
- Docs/Typo: Replace triple dot character with real dots: #27030
- Mention customization of next.config.js to import images: #27104
- [docs] Layouts & Going to Production: #27021
- Add jsdoc types to docs snippets: #27125
- Fix code block in Layouts docs.: #27130
- Update Going to Production docs to use quote.: #27131
- Revert "Update data-fetching.md": #27148
- Change pure functions to functions: #27192
- [ESLint Plugin] Adds
no-duplicate-headrule: #27179 - Fix typo in env howto: #27227
- Add note about beforeFiles continuing: #27211
- Document full routes order in rewrites doc: #27247
- Use named functions in layouts docs: #27297
- Update next-image-unconfigured-host.md: #24953
- Add extra explanation to next/image about positioning: #27341
- docs: add note for Image responsive layout: #25915
- Update docs around ISR revalidation: #25571
- Indicate attaching debugger (vs launching): #27377
- [errors/no-cache] Prevent GitHub Actions cache from going stale: #27362
- Clarify automatic updates in deployment.: #27418
- Update
next/imagedocs withonLoadingComplete(): #27440 - Update max-age in HSTS sample: #27452
- [ESLint] add no-typos rule to eslint: #26650
- Fixed minor grammar issue: #27493
- Fix typo in placeholder-blur-data-url error docs: #27510
- Update custom-page-extensions.md: #27541
- Document redirect query passing behavior: #27545
- [docs] Added per page layout example with TypeScript: #27488
- Fix incorrect example in headers and rewrites docs: #27652
- Clarify in docs that
next/scriptmust not be innext/head: #27534 - Improve custom server documentation.: #27693
- Add a note about the existence of 'next/script': #27725
- [ESLint] Documentation updates + bug fixes: #26331
- fix eslint plugin install instructions in docs: #27807
- Document that Google has begun using CLS metric: #27843
- Little typo: #27911
- Adding a missing a period: #27928
- Add manifest check step and add missing items: #27934
Example Changes
- [examples] Fix ssr-caching example.: #26540
- tailwind examps upgraded to v2.2: #26549
- fix with-loading example for next 11: #26569
- Add link to live demo already hosted: #25718
- Update layouts example to persist state across client-side transitions.: #26706
- Fix typo on "occured" to "occurred": #26709
- update with-redux-toolkit-typescript: #26714
- examples: fix typo
lunix→linux: #26796 - Fix using-preact example deps: #26821
- Use Prismic CDN URL in cms-prismic example: #26837
- Updated next-transpile-modules to 8.0.0: #26971
- Fix (trailingSlash: true) causes issue in auth0 example: #27010
- Update dependencies of all CMS examples.: #27001
- Update SuperTokens dependency version in with-supertokens example: #27110
- fix tailwind error: #27042
- [examples] Use Strapi template: #27114
- Clean up examples
package.json: #27121 - Fix Image is missing required "src" property error: #27180
- Fix Prop
hrefdid not match error: #27183 - upgrade next-redux-wrapper to 7.0.2: #26521
- updated zustand example for 3.5.4+ interface change: #27229
- Update cms-wordpress readme file: #27234
- update fastify example to the latest version: #27273
- Remove redundant ssr option for styled-components: #27221
- Optimised Cypher queries in Neo4j example: #25973
- (examples/with-i18n-next-intl): fixes warning : #25928
- Continue: fix typo in breakpoint config: #27313
- Continue: Update blog-starter-typescript postcss.config.js: #27314
- Fix image link: #27323
- Update layout-component example to use named functions: #27331
- fix: hydration warning in with-mobx-state-tree-typescript example: #27339
- Update graphql example: #27334
- Examples: Delete
asprop from<Link>components: #27359 - Fixed typo and error when using Auth0 service;: #27383
- Rename
utiltolibinwith-mongodbexample: #27404 - Rename
utilstolibinwith-mongodb-mongooseexample: #27407 - Add locale switcher to i18n-routing example: #27444
- Auth0 Example: Fix issuer base URL: #27074
- Fix CORS issue in GraphQL example that prevented Apollo Studio from working: #27486
- [typo] posts.map( posts => {} ) in examples/blog-starter-typescript: #27523
- Drop react-is dependency in styled-components example: #27527
- Revert "Drop react-is dependency in styled-components example (#27527)": #27543
- Added missing 'create user' functionality: #27516
- Add missing await for API request: #27676
- Update Fauna example with new guestbook: #27295
- Patch with-fauna example.: #27701
- Add with-joi example: #25759
- Fix create-strapi-app instruction in strapi example: #27707
- Rename environment variable in Fauna example.: #27712
- Update Fauna example to create Fauna resources properly: #27757
- fix wrong link in readme: #27802
- Update with-jest example: #27894
- Add with-cypress example: #27900
Misc Changes
- Separate node polyfill test from basic suite: #26550
- Update PR labeler action
- Simplify stats action: #26751
- Disable build-output size specific tests: #26769
- Update azure tests: #26779
- Stabilize relay-analytics test: #26782
- Update codeowners to add new maintainers: #26770
- Update repo scripts to separate folder: #26787
- Update snapshot for font-optimization test: #26823
- Update
publish-canaryscript to include checkout: #26840 - include image types in
create-next-appnext-env.d.ts: #26890 - fix error message during create-next-app: #26980
- Add page with next/image to stats-app: #26973
- [ESLint] Removes image rule as error in Core Web Vitals config: #26967
- Update labeler.json
- Mention running local changes inside monorepo: #27050
- Add test for
placeholder=blurwithassetPrefix: #27120 - Update the "Top level .mdx pages" code sample: #27080
- Add additional stats app pages: #27202
- Add NextPage type to create-next-app typescript template: #27246
- Increase stats action install timeout: #27308
- Upgrade swc for mac m1 compiling issue: #27329
- chore: Set Prettier to ignore integration output HTMLs: #26353
- Support multiple pages directories for linting: #25565
- Increase PR stats repo build timeout: #27419
- [eslint] move core-web-vitals config to eslint-plugin-next: #27363
- Add --dev flag to bundle-analyzer install command: #27463
- change ts template readme api/index file extension from tsx to ts: #27485
- Update bundle analyzer readme: #27507
- ESLint Config: Adds some more basic a11y rules: #25770
- Fix eslint config next/core-web-vitals: #27567
- Only output test logs on failure in CI: #27604
- Use require alias to resolve react 18 for testing: #27601
- move
next/scripttopages/_appin script loader integration tests: #27626 - Minor typo fix in the @next/mdx README: #27784
- Remove codeowners from examples: #27798
- Updates Aurora team members in labeler: #27795
- Add sourceFileName for SWC compiled core files
- feat(package.json): add contributor-friendly lifecycle scripts: #27825
- Add type annotation for NextConfig to CNA typescript template: #27872
- Update release stats job name: #27923
- Add rootDir setting to eslint-plugin-next: #27918
- Revert "Next swc publish flow (#27932)"
- Revert "Add warning during
next buildwhen sharp is missing (#27933)"
Credits
Huge thanks to @atcastle, @vitalybaev, @leerob, @destruc7i0n, @styfle, @petermekhaeil, @phocks, @pranavp10, @huozhi, @ijjk, @johnrackles, @timneutkens, @Vadorequest, @hiro0218, @housseindjirdeh, @sohamsshah, @devknoll, @schoenwaldnils, @kasipavankumar, @jviide, @sedlukha, @PaulvdDool, @padmaia, @LetItRock, @angeloashmore, @sachinraja, @pa-rang, @theostrahlen, @schultzp2020, @lsndr, @sokra, @andys-github, @darshkpatel, @tanys123, @papaponmx, @karlsander, @borekb, @michielvangendt, @rishabhpoddar, @enesakar, @ctbarna, @markkaylor, @stovmascript, @lucleray, @mvasilkov, @nyedidikeke, @mastoj, @janicklas-ralph, @ThangHuuVu, @Munawwar, @reod, @thomasmarshall, @AndreVarandas, @Ryz0nd, @qwertyforce, @samrobbins85, @brandonchinn178, @adam-cowley, @akellbl4, @jflayhart, @jaybekster, @stuymedova, @m-abdelwahab, @UniqueNL, @jamsinclair, @fabb, @abotsi, @kylemh, @JacobLey, @AryanBeezadhur, @afbarbaro, @javivelasco, @breyed, @roim, @mandarons, @stefanprobst, @sa3dany, @jarvelov, @apuyou, @gnbaron, @kaykdm, @michalbundyra, @brijendravarma, @tmcgann, @arturmuller, @noahweingand, @omasher, @yunger7, @raon0211, @noreiller, @shibe23, @enzoferey, @JeffersonBledsoe, @Timvdv, @smitssjors, @zackdotcomputer, @jameshoward, @tigger9flow, @sergioalvz, @tomchen, @kdy1, @zeekrey, @NickKelly1, @orta, @euess, @NickCrews, @ctjlewis, @delbaoliveira, @ahmedosama7450, @samsisle, and @mrmckeb for helping!
Misc Changes
- Revert "Add warning during
next buildwhen sharp is missing (#27933)"
Credits
Huge thanks to @styfle for helping!
Misc Changes
- Revert "Next swc publish flow (#27932)"
Credits
Huge thanks to @padmaia for helping!
Core Changes
- Add Import trace for requested module when it fails to resolve: #27840
- disable cache compression as it slows down the build: #27887
- Remove extraneous fs.stat calls: #27779
- Upgrade styled-jsx to v4: #27890
Documentation Changes
- Document that Google has begun using CLS metric: #27843
Example Changes
- Update with-jest example: #27894
- Add with-cypress example: #27900
Misc Changes
- Add sourceFileName for SWC compiled core files
- feat(package.json): add contributor-friendly lifecycle scripts: #27825
- Add type annotation for NextConfig to CNA typescript template: #27872
Credits
Huge thanks to @NickCrews, @sokra, @NickKelly1, @ctjlewis, @stefanprobst, @huozhi, and @delbaoliveira for helping!
Core Changes
- Wrap last return statement in
elseto fix tree shaking: #27788 - Update client error to show link in console: #27789
- Upgrade styled-jsx: #27782
- update webpack to 5.49.0: #27813
- Add experimental SWC minify and SWC loader options: #27664
- Use @vercel/fetch for run-tests requests: #27815
- Add next dynamic swc transform: #27745
Documentation Changes
- fix eslint plugin install instructions in docs: #27807
Example Changes
- fix wrong link in readme: #27802
Misc Changes
- Minor typo fix in the @next/mdx README: #27784
- Remove codeowners from examples: #27798
- Updates Aurora team members in labeler: #27795
Credits
Huge thanks to @orta, @smitssjors, @huozhi, @styfle, @housseindjirdeh, @euess, @sokra, @timneutkens, @stefanprobst, and @padmaia for helping!
Core Changes
- Port next-ssg getStaticProps/getServerSideProps tree shaking Babel transform to rust: #27552
- Add handling for repeated slashes: #27738
- Add/amp attribute patcher: #27700
- Add missing
removeHeader()function to image optimizer mock res: #27763 - Fix html validation for Image component sizer: #27767
- Update has query encoding when used in path: #27762
- [ESLint] Introduce a new setup process when
next lintis run for the first time: #26584 - remove unecessary fs.stat calls from recursive-readdir: #27769
Documentation Changes
- Add a note about the existence of 'next/script': #27725
- [ESLint] Documentation updates + bug fixes: #26331
Example Changes
- Fix create-strapi-app instruction in strapi example: #27707
- Rename environment variable in Fauna example.: #27712
- Update Fauna example to create Fauna resources properly: #27757
Misc Changes
- move
next/scripttopages/_appin script loader integration tests: #27626
Credits
Huge thanks to @tomchen, @leerob, @stefanprobst, @kdy1, @padmaia, @zeekrey, @styfle, @tigger9flow, @housseindjirdeh, and @NickKelly1 for helping!
Core Changes
- Ensure Next.js core development sourcemaps use correct input file: #27623
- Undo sourcemap change : #27690
- URI-encode url parameter in image optimizer: #27671
- More React 17 clean up: #26775
- Enforce source/destination limit for custom routes: #27703
- Add naturalWidth/naturalHeight to
onLoadingComplete()callback: #27695 - update webpack-sources to 3.2.0 for bugfixes and performance: #27673
- Add
next.config.jsoption to override defaultkeepAlive: #27709
Documentation Changes
- [docs] Added per page layout example with TypeScript: #27488
- Fix incorrect example in headers and rewrites docs: #27652
- Clarify in docs that
next/scriptmust not be innext/head: #27534 - Improve custom server documentation.: #27693
Example Changes
- Add missing await for API request: #27676
- Update Fauna example with new guestbook: #27295
- Patch with-fauna example.: #27701
- Add with-joi example: #25759
Credits
Huge thanks to @smitssjors, @timneutkens, @zackdotcomputer, @jameshoward, @leerob, @stefanprobst, @tigger9flow, @devknoll, @styfle, @sokra, and @sergioalvz for helping!
Core Changes
- upgrade to webpack 5.47.0 and webpack-sources 3.1.1: #27538
- persistent cache need to be invalidated when source-maps are enabled: #27607
- Update report to leverage new variables: #27084
- Update Terser: #27600
Example Changes
- Added missing 'create user' functionality: #27516
Misc Changes
- Only output test logs on failure in CI: #27604
- Use require alias to resolve react 18 for testing: #27601
Credits
Huge thanks to @sokra, @timneutkens, @huozhi, and @Timvdv for helping!
Core Changes
- fix: Make router ready in case of custom _app getInitialProps: #27473
- fix(critical CSS): use the assetPrefix in the critters config: #27506
- Add initial next swc package with first transform: #27355
- Add
RenderResult: #27319 - Document i18n locale limit: #27542
- Fix: Added the content-disposition header: #27521
- Use SWC for Next.js core client files: #27196
Documentation Changes
- Update custom-page-extensions.md: #27541
- Document redirect query passing behavior: #27545
Example Changes
- [typo] posts.map( posts => {} ) in examples/blog-starter-typescript: #27523
- Drop react-is dependency in styled-components example: #27527
- Revert "Drop react-is dependency in styled-components example (#27527)": #27543
Misc Changes
- ESLint Config: Adds some more basic a11y rules: #25770
- Fix eslint config next/core-web-vitals: #27567
Credits
Huge thanks to @raon0211, @noreiller, @shibe23, @enzoferey, @padmaia, @JeffersonBledsoe, @devknoll, @AryanBeezadhur, @LetItRock, @timneutkens, and @stefanprobst for helping!
Core Changes
- ESLint: custom directories from next.config.js: #26401
- Updated the Error message describing the alternative and added styles…: #14652
- Clarify error message in isSerializableProps: #22856
- Update eslint doc comment: #27478
Documentation Changes
- [ESLint] add no-typos rule to eslint: #26650
- Fixed minor grammar issue: #27493
- Fix typo in placeholder-blur-data-url error docs: #27510
Example Changes
- Auth0 Example: Fix issuer base URL: #27074
- Fix CORS issue in GraphQL example that prevented Apollo Studio from working: #27486
Misc Changes
- Add --dev flag to bundle-analyzer install command: #27463
- change ts template readme api/index file extension from tsx to ts: #27485
- Update bundle analyzer readme: #27507
Credits
Huge thanks to @gnbaron, @kaykdm, @michalbundyra, @brijendravarma, @tmcgann, @arturmuller, @stefanprobst, @noahweingand, @m-abdelwahab, @omasher, and @yunger7 for helping!
Core Changes
- Fix typo in error message: #27438
- Add
lazyBoundaryprop to Image component: #27258 - Ensure generateBuildId is not required in config type: #27443
- Add eslint config options to
NextConfigtype: #27446 - Wait for getFilesForRoute promise to fulfill before timeout in dev mode: #27395
- Add config check for invalid duplicate locale domains: #27451
- Add warning when
next/imagecomponent hasstyleprop: #27441 - [ESLint] Adds
--formatflag tonext lint: #27052
Documentation Changes
- Update
next/imagedocs withonLoadingComplete(): #27440 - Update max-age in HSTS sample: #27452
Example Changes
- Add locale switcher to i18n-routing example: #27444
Misc Changes
- [eslint] move core-web-vitals config to eslint-plugin-next: #27363
Credits
Huge thanks to @styfle, @Ryz0nd, @stefanprobst, @sa3dany, @jarvelov, @apuyou, and @housseindjirdeh for helping!
Core Changes
- Rename spr config to ISR: #27379
- Add
keepAlivetonode-fetchpolyfill: #27376 - Fix external redirect with i18n domains: #27415
- Don't cache
nullresponses: #27403 - Use Sharp if available for Image Optimization: #27346
Documentation Changes
- [errors/no-cache] Prevent GitHub Actions cache from going stale: #27362
- Clarify automatic updates in deployment.: #27418
Example Changes
- Fixed typo and error when using Auth0 service;: #27383
- Rename
utiltolibinwith-mongodbexample: #27404 - Rename
utilstolibinwith-mongodb-mongooseexample: #27407
Misc Changes
- Increase PR stats repo build timeout: #27419
Credits
Huge thanks to @roim, @mandarons, @styfle, @AryanBeezadhur, @leerob, @devknoll, and @atcastle for helping!
Core Changes
- Update NextConfig type to not require experimental or future fields: #25517
- Allow enabling worker threads on dev server: #23027
- Refactor i18n checks on request handling: #27328
- Add configuration for ISR Memory Cache Size (#21535): #27337
Documentation Changes
- docs: add note for Image responsive layout: #25915
- Update docs around ISR revalidation: #25571
- Indicate attaching debugger (vs launching): #27377
Example Changes
- Examples: Delete
asprop from<Link>components: #27359
Misc Changes
- chore: Set Prettier to ignore integration output HTMLs: #26353
- Support multiple pages directories for linting: #25565
Credits
Huge thanks to @fabb, @petermekhaeil, @abotsi, @kylemh, @JacobLey, @AryanBeezadhur, @afbarbaro, @javivelasco, and @breyed for helping!
Core Changes
- Fix
placeholder=blurinside<noscript>: #27311 - fix type NextWebVitalsMetric: #24780
- Add
RequestContext: #27303 - Fix ISR page re-rendering after revalidate expiry (Fork of #24807): #27335
Documentation Changes
- Update next-image-unconfigured-host.md: #24953
- Add extra explanation to next/image about positioning: #27341
Example Changes
- (examples/with-i18n-next-intl): fixes warning : #25928
- Continue: fix typo in breakpoint config: #27313
- Continue: Update blog-starter-typescript postcss.config.js: #27314
- Fix image link: #27323
- Update layout-component example to use named functions: #27331
- fix: hydration warning in with-mobx-state-tree-typescript example: #27339
- Update graphql example: #27334
Misc Changes
- Upgrade swc for mac m1 compiling issue: #27329
Credits
Huge thanks to @akellbl4, @jflayhart, @styfle, @jaybekster, @stuymedova, @huozhi, @samrobbins85, @ThangHuuVu, @m-abdelwahab, @UniqueNL, @devknoll, and @jamsinclair for helping!
Core Changes
- Fix Script beforeInteractive on navigation: #26995
- improve static generation UX: #27171
- Add warning for large number of routes: #27214
- Add x-forward headers to external rewrites: #17557
- [ESLint] Remove error when file patterns are unmatched + ESLint setup changes: #27119
- Fix inline scripts being duplicated when used with
next/scriptcomponent: #27218 - Fix
minimumCacheTTLso it doesn't affect browser caching: #27307 - Fix default server host value causing issues on Windows: #27306
Documentation Changes
- Fix typo in env howto: #27227
- Add note about beforeFiles continuing: #27211
- Document full routes order in rewrites doc: #27247
- Use named functions in layouts docs: #27297
Example Changes
- upgrade next-redux-wrapper to 7.0.2: #26521
- updated zustand example for 3.5.4+ interface change: #27229
- Update cms-wordpress readme file: #27234
- update fastify example to the latest version: #27273
- Remove redundant ssr option for styled-components: #27221
- Optimised Cypher queries in Neo4j example: #25973
Misc Changes
- Add additional stats app pages: #27202
- Add NextPage type to create-next-app typescript template: #27246
- Increase stats action install timeout: #27308
Credits
Huge thanks to @janicklas-ralph, @sokra, @ThangHuuVu, @Munawwar, @reod, @thomasmarshall, @AndreVarandas, @housseindjirdeh, @Ryz0nd, @qwertyforce, @samrobbins85, @brandonchinn178, @adam-cowley, and @styfle for helping!
Core Changes
- Use SWC to compile Next.js core server files: #27167
- Fix css minify incorrectly duplicating variables: #27150
- Fix gsp generation with file extension: #27144
- Add
minimumCacheTTLconfig for Image Optimization: #27200
Documentation Changes
- Change pure functions to functions: #27192
- [ESLint Plugin] Adds
no-duplicate-headrule: #27179
Example Changes
- Fix Image is missing required "src" property error: #27180
- Fix Prop
hrefdid not match error: #27183
Credits
Huge thanks to @timneutkens, @styfle, @nyedidikeke, @mastoj, @housseindjirdeh, and @huozhi for helping!
Core Changes
- Update redirect regexes to not match _next: #27143
- Bump babel target to Node.js 12: #27147
Documentation Changes
- Revert "Update data-fetching.md": #27148
Misc Changes
- Update the "Top level .mdx pages" code sample: #27080
Credits
Huge thanks to @mvasilkov and @styfle for helping!
Documentation Changes
- Fix code block in Layouts docs.: #27130
- Update Going to Production docs to use quote.: #27131
Credits
Huge thanks to @leerob for helping!
Core Changes
- Replace
withCoalescedInvokewithResponseCache: #26997 - Add some missing fields to the NextConfig type: #27126
Documentation Changes
- [docs] Layouts & Going to Production: #27021
- Add jsdoc types to docs snippets: #27125
Example Changes
- Clean up examples
package.json: #27121
Misc Changes
- Add test for
placeholder=blurwithassetPrefix: #27120
Credits
Huge thanks to @styfle, @leerob, @devknoll, and @lucleray for helping!
Core Changes
- Bind sendBeacon to navigator: #26601
- Fall back to fallbackSend when send is false: #27113
- Upgrades
web-vitalsto v1.1.2.: #25272 - Prevent timeout when loading routes in development: #25749
- Workaround for Node.js 16+ on Apple Silicon M1: #27031
Documentation Changes
- Mention customization of next.config.js to import images: #27104
Example Changes
- Update SuperTokens dependency version in with-supertokens example: #27110
- fix tailwind error: #27042
- [examples] Use Strapi template: #27114
Credits
Huge thanks to @timneutkens, @rishabhpoddar, @enesakar, @ctbarna, @markkaylor, @stovmascript, and @styfle for helping!
Core Changes
- Add batching to zipkin reporter: #27082
Core Changes
- Add newline to the end of
next-env.d.ts: #27028 - Add performance tracing for next-image-loader: #27043
- Include message body in redirect responses: #25257
- add support for esm externals: #27069
- Enhance
next devperformance with placeholder=blur: #27061
Example Changes
- Update dependencies of all CMS examples.: #27001
Misc Changes
- Update labeler.json
- Mention running local changes inside monorepo: #27050
Credits
Huge thanks to @borekb, @leerob, @michielvangendt, @ijjk, @sokra, and @styfle for helping!
Documentation Changes
- Docs/Typo: Replace triple dot character with real dots: #27030
Credits
Huge thanks to @karlsander for helping!
Core Changes
- update webpack to 5.43.0: #26979
Credits
Huge thanks to @sokra for helping!
Core Changes
- [ESLint] Update default
.eslintrcfile created to have.jsonformat: #26884 - Refactor decode failures: #26899
- Add initial
ResponsePayloadsupport: #26938 - Fix typo in route-loader: #26942
- More explicit typing for
IncrementalCacheAPI: #26941 - Fix merge issue and use
respondWith: #26961 - (next/image): Merge query string params in imgix loader: #26719
- Fix: (rewrites) incorrect parsing of destination query: #26619
- Fix forward slash encoding while interpolating: #26963
Example Changes
- Updated next-transpile-modules to 8.0.0: #26971
Misc Changes
- include image types in
create-next-appnext-env.d.ts: #26890
Credits
Huge thanks to @sachinraja, @housseindjirdeh, @devknoll, @pa-rang, @theostrahlen, @schultzp2020, and @lsndr for helping!
Core Changes
- Make sure 404 pages do not get cached by a CDN when using next start: #24983
- Don't emit duplicate image files: #26843
- Warn when response body is larger than 5mb: #26831
- Fix: added the key property to the pre next scripts: #26646
- Ensure API route errors are propagated in minimal mode: #26875
- 5MB -> 4MB body size limit: #26887
Documentation Changes
- Update to environment-variable.md: #26863
- Add instructions on how to add nextjs.org/docs/messages urls: #26865
- Reorder docs manifest and rename to Script Optimization.: #26874
- Fix typo on "occured" to "occurred": #26876
Example Changes
- Use Prismic CDN URL in cms-prismic example: #26837
Credits
Huge thanks to @timneutkens, @PaulvdDool, @atcastle, @leerob, @hiro0218, @padmaia, @LetItRock, and @angeloashmore for helping!
Core Changes
- Fix image content type octet stream 400: #26705
- [ESLint] Adds --max-warnings flag to
next lint: #26697 - Simplify
next-dev-serverimplementation: #26230 - Move code shared between server/client to "shared" folder: #26734
- Move next-server directory files to server directory: #26756
- Support new hydrate API in latest react 18 alpha release: #26664
- Add upstream
max-ageto optimized image: #26739 - Fix blurred image position when using objectPosition: #26590
- Leverage blocked page for _error: #26748
- fix: detect loop in client error page: #26567
- Add
onLoadingComplete()prop to Image component: #26824 - Add "Vary: Accept" header to /_next/image responses: #26788
- Add additional tests for image type detection: #26832
- Fix immutable header for image with static import & unoptimized: #26836
Example Changes
- Update layouts example to persist state across client-side transitions.: #26706
- Fix typo on "occured" to "occurred": #26709
- update with-redux-toolkit-typescript: #26714
- examples: fix typo
lunix→linux: #26796 - Fix using-preact example deps: #26821
Misc Changes
- Update PR labeler action
- Simplify stats action: #26751
- Disable build-output size specific tests: #26769
- Update azure tests: #26779
- Stabilize relay-analytics test: #26782
- Update codeowners to add new maintainers: #26770
- Update repo scripts to separate folder: #26787
- Update snapshot for font-optimization test: #26823
- Update
publish-canaryscript to include checkout: #26840
Credits
Huge thanks to @styfle, @leerob, @hiro0218, @housseindjirdeh, @sohamsshah, @devknoll, @timneutkens, @huozhi, @schoenwaldnils, @kasipavankumar, @jviide, and @sedlukha for helping!
Core Changes
- Add check for ObjectExpression when iterating on tags for font optimization: #26608
- Fix GSP redirect cache error: #26627
- Correct statusCode when visiting _error directly: #26610
- fix: next dynamic with jest: #26614
- Ensure API routes are not available under the locale: #26629
Documentation Changes
- Enable Alex documentation linting for docs: #26598
- Update next/image docs for relative parent with layout=fill.: #26615
Example Changes
- Add link to live demo already hosted: #25718
Credits
Huge thanks to @timneutkens, @petermekhaeil, @Vadorequest, @leerob, and @huozhi for helping!
Core Changes
- Add trace url on bootup: #26594
Core Changes
- Add logging when a custom babelrc is loaded: #26570
- Add comment to not edit in next-env file: #26573
Documentation Changes
- chore: Enable Alex documentation linting for error pages: #26526
- Update SWR example to include fetcher function.: #26520
- doc: prettify docs for next script: #26572
Example Changes
- tailwind examps upgraded to v2.2: #26549
- fix with-loading example for next 11: #26569
Misc Changes
- Separate node polyfill test from basic suite: #26550
Credits
Huge thanks to @petermekhaeil, @phocks, @pranavp10, @huozhi, @ijjk, and @johnrackles for helping!
Core Changes
- Don't test image domains in test env: #26502
- Fix props not updating when changing the locale and keeping hash: #26205
- Allow user to override next-image-loader: #26548
Documentation Changes
- docs: updated minimum Node.js version: #26528
- Update next-env note in docs: #26536
- Add note about adding additional types: #26545
Example Changes
- [examples] Fix ssr-caching example.: #26540
Credits
Huge thanks to @atcastle, @vitalybaev, @leerob, @destruc7i0n, and @styfle for helping!
Core Changes
- Fix failing Runner import: #26172
- docs: fix ignoring-eslint-url during build: #26165
- Fix babel-loader failing on JSON5 syntax: #26194
- Fix eslint version check for older versions: #26212
- fix: use a client-side navigation when redirecting to a rewriten URL: #25990
- Fix next/image noscript src path with loaders: #24011
- Fix long URLs causing 400s with dynamic routes/rewrites: #26221
- Ensure has query encoding is normalized: #25732
- Fix Show error when user put wrong values in width or height: #26166
- Update to latest TypeScript version and de-dupe versions: #26285
- Automatically use createRoot for React@>=18: #26279
- Omit svg static imports if custom webpack config is defined: #26281
- [ESLint] Adds
--quietflag, TypeScript resolver and bug fixes: #26280 - Add runtime to hotUpdateMainFilename: #26256
- Add check for startLatency in fast refresh: #26417
- fix: ignore invalid accept-language header: #26476
- chore: Add Alex to lint documentation: #26354
- Fix domain locales not available on client: #26083
- Update to only add image import types when enabled: #26485
- Strongly type
Router.events.onandRouter.events.off: #26456
Documentation Changes
- docs(image): fix image import path: #26142
- Ensure all errors are added in manifest: #26129
- Update next/image docs and examples: #26150
- Fixed no-img-element documentation snippet.: #26154
- docs(next/script): Improve formatting of docs: #26149
- add missing step of installing next@latest: #26141
- Fix
next/imagedocs version history: #26192 - Update next/image docs and example with shimmer animation: #26183
- Update docs on static image imports: #26211
- Update note in script doc: #26214
- Doc "no-sync-scripts" remove experimental notice: #26225
- Correct the word "remove": #26258
- Update next/script docs to clear up confusion around next/head and client-side JS: #26253
- docs: remove duplicated
--ts, --typescriptfrom Options: #26252 - Correct Next.js 9 upgrade instructions: #26271
- Fix closing tag in Script docs: #26276
- docs: fixed typo: #26311
- Extend disclaimer for dynamic image imports: #26241
- Add docs on adding HTTP security headers.: #25833
- Improve the
next/scriptdocumentation.: #26325 - add missing closing bracket: #26375
- Docs: Add Prettier section on ESLint page: #26347
- docs(router.md) Add note about page state and navigation: #26320
- Add module.exports to security headers documentation: #26466
- Update i18n fields in docs: #26492
Example Changes
- (examples/image-component): fix placeholder href: #26140
- fix(examples):
future.webpack5-> top levelwebpack5: #26175 - [examples/cms-wordpress] fix typo on alert message: #26115
- Follow the breaking change of jest-config: #26082
- Update examples to use React 17: #26133
- Add cms-drupal example: #25198
- Fix: upgrade react-test-renderer version to 17.0.2: #26229
- Update postcss version in examples: #26226
- Update with-supertokens example: #26266
- Updating Typescript to recommended minimum 4.3.2: #26267
- (examples/with-lingui): update example: #26076
- Examples: Fixed the example path to correct value: #26255
- Update with-eslint example.: #25817
- (examples/with-webassembly) fixed for webpack 5: #26440
Misc Changes
- Update create-next-app template favicons: #26289
- Remove period for ESLint
passHrefdocs link.: #26402 - Ensure image-types file is included: #26495
Credits
Huge thanks to @HermanNygaard, @styfle, @IvanKalinin, @lachlanjc, @Braweria, @RileyMShea, @Dev-CasperTheGhost, @CauanCabral, @toyamarinyon, @DavidVaness, @nickbabcock, @jwilsson, @timneutkens, @antoinechalifour, @valse, @arshad, @Silinde87, @Vadorequest, @tim-hanssen, @ducdev, @rishabhpoddar, @LEvinson2504, @akellbl4, @schemburkar, @greatSumini, @giraffesyo, @zNeb, @jthcast, @devknoll, @housseindjirdeh, @lukeingalls, @joe-bell, @leerob, @pacocoursey, @aksdevac, @araujogui, @ijjk, @vitalybaev, @samrobbins85, @huozhi, @petermekhaeil, @RobVermeer, and @flybayer for helping!
Core Changes
- Strongly type
Router.events.onandRouter.events.off: #26456
Misc Changes
- Ensure image-types file is included: #26495
Credits
Huge thanks to @flybayer for helping!
Core Changes
- Add check for startLatency in fast refresh: #26417
- fix: ignore invalid accept-language header: #26476
- chore: Add Alex to lint documentation: #26354
- Fix domain locales not available on client: #26083
- Update to only add image import types when enabled: #26485
Documentation Changes
- Add module.exports to security headers documentation: #26466
- Update i18n fields in docs: #26492
Example Changes
- (examples/with-webassembly) fixed for webpack 5: #26440
Credits
Huge thanks to @timneutkens, @vitalybaev, @samrobbins85, @huozhi, @petermekhaeil, and @RobVermeer for helping!
Documentation Changes
- Improve the
next/scriptdocumentation.: #26325 - add missing closing bracket: #26375
- Docs: Add Prettier section on ESLint page: #26347
- docs(router.md) Add note about page state and navigation: #26320
Example Changes
- Update with-eslint example.: #25817
Misc Changes
- Update create-next-app template favicons: #26289
- Remove period for ESLint
passHrefdocs link.: #26402
Credits
Huge thanks to @pacocoursey, @leerob, @aksdevac, @araujogui, and @ijjk for helping!
Core Changes
- [ESLint] Adds
--quietflag, TypeScript resolver and bug fixes: #26280 - Add runtime to hotUpdateMainFilename: #26256
Documentation Changes
- docs: fixed typo: #26311
- Extend disclaimer for dynamic image imports: #26241
- Add docs on adding HTTP security headers.: #25833
Credits
Huge thanks to @housseindjirdeh, @lukeingalls, @joe-bell, @timneutkens, and @leerob for helping!
Core Changes
- Fix Show error when user put wrong values in width or height: #26166
- Update to latest TypeScript version and de-dupe versions: #26285
- Automatically use createRoot for React@>=18: #26279
- Omit svg static imports if custom webpack config is defined: #26281
Documentation Changes
- Fix closing tag in Script docs: #26276
Credits
Huge thanks to @zNeb, @jthcast, @devknoll, and @styfle for helping!
Core Changes
- Fix next/image noscript src path with loaders: #24011
- Fix long URLs causing 400s with dynamic routes/rewrites: #26221
- Ensure has query encoding is normalized: #25732
Documentation Changes
- Doc "no-sync-scripts" remove experimental notice: #26225
- Correct the word "remove": #26258
- Update next/script docs to clear up confusion around next/head and client-side JS: #26253
- docs: remove duplicated
--ts, --typescriptfrom Options: #26252 - Correct Next.js 9 upgrade instructions: #26271
Example Changes
- Add cms-drupal example: #25198
- Fix: upgrade react-test-renderer version to 17.0.2: #26229
- Update postcss version in examples: #26226
- Update with-supertokens example: #26266
- Updating Typescript to recommended minimum 4.3.2: #26267
- (examples/with-lingui): update example: #26076
- Examples: Fixed the example path to correct value: #26255
Credits
Huge thanks to @valse, @arshad, @Silinde87, @Vadorequest, @tim-hanssen, @ducdev, @timneutkens, @rishabhpoddar, @LEvinson2504, @akellbl4, @schemburkar, @greatSumini, and @giraffesyo for helping!
Core Changes
- docs: fix ignoring-eslint-url during build: #26165
- Fix babel-loader failing on JSON5 syntax: #26194
- Fix eslint version check for older versions: #26212
- fix: use a client-side navigation when redirecting to a rewriten URL: #25990
Documentation Changes
- Update docs on static image imports: #26211
- Update note in script doc: #26214
Example Changes
- Update examples to use React 17: #26133
Credits
Huge thanks to @DavidVaness, @nickbabcock, @jwilsson, @timneutkens, and @antoinechalifour for helping!
Core Changes
- Fix failing Runner import: #26172
Documentation Changes
- Update next/image docs and examples: #26150
- Fixed no-img-element documentation snippet.: #26154
- docs(next/script): Improve formatting of docs: #26149
- add missing step of installing next@latest: #26141
- Fix
next/imagedocs version history: #26192 - Update next/image docs and example with shimmer animation: #26183
Example Changes
- fix(examples):
future.webpack5-> top levelwebpack5: #26175 - [examples/cms-wordpress] fix typo on alert message: #26115
- Follow the breaking change of jest-config: #26082
Credits
Huge thanks to @styfle, @IvanKalinin, @lachlanjc, @Braweria, @RileyMShea, @Dev-CasperTheGhost, @CauanCabral, and @toyamarinyon for helping!
Documentation Changes
- docs(image): fix image import path: #26142
- Ensure all errors are added in manifest: #26129
Example Changes
- (examples/image-component): fix placeholder href: #26140
Credits
Huge thanks to @HermanNygaard for helping!
Core Changes
- fix(types): allow nonpromise return types for static functions: #24685
- Ensure history navigates correctly with dynamic routes + basePath: #25459
- Fix external check for non-local next import: #25518
- Ensure providing only query on dynamic route works as expected: #25469
- Assume a recent
react@experimentalifreactRootis set: #25496 - Update to latest webpack 5 and webpack-sources: #25558
- Set default webpack publicPath value to override auto: #25452
- Add helpful error for link with multiple children: #25657
- Ensure rewrites are resolved correctly through history: #25666
- Fix rewrite and dynamic params on navigating to initial history entry: #25495
- Enable serial build by default: #25642
- Don't show webpack version message in production server: #25654
- Font optimization add preconnect: #25346
- Enable new babel mode: #25635
- Remove deprecated features: #25446
- Disable split chunks in webpack 5 in dev mode: #25735
- Remove experimental tag from Script component: #25435
next lint+ ESLint in Create Next App: #25064- Bump "engines" to node >= 12.0.0: #25761
- Support for static image imports: #24993
- Bump minimum React version to
^17.0.2: #25788 - Remove feature flags for static image and blurry placeholder: #25797
- Add note to upgrading guide about React version: #25849
- Fix "env" key in babelrc with new Babel mode: #25841
- Enable webpack5 for all apps: #25639
- Fix types for static image: #25808
- Do not remove placeholder for data URL: #24704
- Add warning for older TypeScript versions: #25867
- Prevent node inspect from causing webpack check to fail: #25876
- fix(21606): consider scroll option when using shallow routing: #24888
- remove opentelemetry/api: #25900
- Adjust JPEG quality when generating placeholder: #25904
- Improve check for eslint version: #25910
- Refactor image optimizer static immutable header: #25909
- ESLint Updates: #25895
- Fix immutable header on static image: #25914
- ESLint: Updates disable ESLint message during builds: #25917
- Remove
@types/comment-json: #25810 - Add delay to placeholder removal: #25916
- Add experimental cra-to-next transform in codemod cli: #24969
- add global callback for refresh latency: #25944
- Add css blur when
placeholder=blur: #25945 - ESLint: More updates and bug fixes: #25952
- Add errors for invalid
placeholder=blurusage: #25953 - Fix delay between blur image and high res image: #25994
- Update
json5and remove@types/json5: #25946 - Disable prerendering /500 when _error has getServerSideProps: #23586
- Update comments for clarity & grammar in router.ts: #25947
- include lib folder when publishing next-codemod: #26003
- Update client-side default error: #25997
- Add gitignore template to published files for codemod: #26008
- Fix Firefox image decode error: #26011
- Enable optimized loading strategy: #26021
- Remove deprecated features and enable future flag: #26066
- Remove unsupported examples: #26075
- Remove React version checks and warnings that are no longer needed: #25992
- fix: don't create .eslintrc if package.json contains eslintConfig: #26025
- Add lint checking events: #26089
- Update to latest version of webpack 5: #26102
Documentation Changes
- Update Authentication docs to be an examples list.: #25497
- Improve documentation of CDN asset paths : #25531
- Fix rewrite example for fallback site: #25508
- doc: update TS version for --incremental: #25736
- Update ESLint docs.: #25816
- ESLint Plugin: Fix Document and Head import rules: #25730
- Adding
--typescriptoption: #25831 - Fix command in upgrade guide: #25879
- docs: use descriptive links instead of "click here": #25897
- Fix loader url composition on image/next doc: #25893
- Add changing the hostname to the cli doc: #25971
- Add experimental CRA transform to docs: #25989
- docs: advise users of
create-next-app --ts, --typescript: #25349 - Update react-version.md: #26093
- [ESLint] Adds section to docs for migrating existing ESLint configurations: #26101
- Update learn path in getting started and from cra docs: #26104
- Script component docs: #25471
- Update image documentation for static image: #25949
Example Changes
- Updated example name: #25428
- Example: Treat "mockServiceWorker" as a generated artifact in "with-msw": #25515
- Fix with-docker example fails to load image: #25536
- Updated with-mdx-remote dynamic components example: #25366
- up-to-date electron: #25551
- Update tsconfig of example to be consistent with default output of next.js: #25581
- Remove react-relay-network-modern example.: #25815
- fix mobx-state-tree-typesript missing babel/core dependency: #25589
- feat: bump styled-components version on examples: #25826
- Add run on Google Cloud Run button to the docker example: #25824
- updated example for zustand v3.5.1 interface change: #25066
- fix: added typescript dependency in next-sitemap example: #25866
- docs(examples/with-iron-session): fix mutate + fetch, add TypeScript example link: #25889
- docs: add 'Open in StackBlitz' buttons to various examples: #25853
- fix: move viewport meta tag to head in _app.js: #25901
- fix: use key while rendering arrays: #25902
- docs(examples/with-mobx-state-tree-typescript): add 'Open in StackBlitz' button: #25926
- tslib module missing in package.json: #25829
- Updated Readme: #25575
- Modify image component examples app for static image: #25956
- (examples/with-urql): fixes graphql server url: #25987
- docs(examples/with-redux-persist): add 'Open in StackBlitz' button: #25972
- Example blog with comments: #24829
- docs: fix typo in with-unstated/README.md: #26004
- (examples/with-react-md): switch from node-sass to sass: #26001
- Update next-transpile-modules to 7.3.0 across examples: #26040
- examples/with-mongodb: avoid destructuring of environment variables.: #26029
- (example/with-typescript-grapql): fix deps: #26010
- (examples): fix missed peer dependencies: #26069
- (examples/with-rbx-bulma-pro): update deps: #26077
Misc Changes
- Update
yarn nextscript with--enable-source-maps: #25533 - Update size limit test
- ESLint Config: Adds
alttext rule for Image: #25462 - Enable Strict Mode in new
create-next-appprojects: #25696 - Replace 'require' with 'import' in bench files and update dependancies: #25775
- Fix occasional test failures: #25855
- feat: have .tsx be in ts template for create-next-app: #25820
- Run acceptance tests non-concurrently: #25861
- Update CNA build target in tsconfig: #25780
- Replace
CLIEnginewithESLint: #25801 - Ensure correct browser env is used: #26014
- Update preload test for safari: #26020
- Update safari preload test: #26086
- Fix react@next and react@experimental tests: #26088
Credits
Huge thanks to @kahy9, @ljosberinn, @leerob, @kettanaito, @thomasboyt, @hussainanjar, @styfle, @devknoll, @LiuuY, @timneutkens, @housseindjirdeh, @PepijnSenders, @janicklas-ralph, @payapula, @tmtk75, @ijjk, @hiramhuang, @daku10, @atcastle, @matamatanot, @pelhage, @Lukazovic, @Mzaien, @gleich, @geshan, @Munawwar, @ykzts, @vitalybaev, @mottox2, @vvo, @chrisneven, @turneand, @d3lm, @akellbl4, @sokra, @johnjago, @alicanyildirim, @sanathusk, @valse, @samrobbins85, @SamVerschueren, @ademilter, @ctjlewis, @brandondc741, @eltociear, @martpie, @kasipavankumar, and @joecohens for helping!
Documentation Changes
- Update image documentation for static image: #25949
Credits
Huge thanks to @atcastle for helping!
Core Changes
- Update to latest version of webpack 5: #26102
Documentation Changes
- Script component docs: #25471
Credits
Huge thanks to @janicklas-ralph for helping!
Core Changes
- Remove deprecated features and enable future flag: #26066
- Remove unsupported examples: #26075
- Remove React version checks and warnings that are no longer needed: #25992
- fix: don't create .eslintrc if package.json contains eslintConfig: #26025
- Add lint checking events: #26089
Documentation Changes
- Update react-version.md: #26093
- [ESLint] Adds section to docs for migrating existing ESLint configurations: #26101
- Update learn path in getting started and from cra docs: #26104
Example Changes
- Update next-transpile-modules to 7.3.0 across examples: #26040
- examples/with-mongodb: avoid destructuring of environment variables.: #26029
- (example/with-typescript-grapql): fix deps: #26010
- (examples): fix missed peer dependencies: #26069
- (examples/with-rbx-bulma-pro): update deps: #26077
Misc Changes
- Update safari preload test: #26086
- Fix react@next and react@experimental tests: #26088
Credits
Huge thanks to @martpie, @kasipavankumar, @akellbl4, @timneutkens, @devknoll, @vitalybaev, @housseindjirdeh, and @joecohens for helping!
Core Changes
- Add gitignore template to published files for codemod: #26008
- Fix Firefox image decode error: #26011
Misc Changes
- Ensure correct browser env is used: #26014
- Update preload test for safari: #26020
Core Changes
- Update
json5and remove@types/json5: #25946 - Disable prerendering /500 when _error has getServerSideProps: #23586
- Update comments for clarity & grammar in router.ts: #25947
- include lib folder when publishing next-codemod: #26003
- Update client-side default error: #25997
Documentation Changes
- docs: advise users of
create-next-app --ts, --typescript: #25349
Example Changes
- docs(examples/with-redux-persist): add 'Open in StackBlitz' button: #25972
- Example blog with comments: #24829
- docs: fix typo in with-unstated/README.md: #26004
Credits
Huge thanks to @SamVerschueren, @matamatanot, @ademilter, @ctjlewis, @brandondc741, @timneutkens, and @eltociear for helping!
Core Changes
- ESLint: More updates and bug fixes: #25952
- Add errors for invalid
placeholder=blurusage: #25953 - Fix delay between blur image and high res image: #25994
Documentation Changes
- Fix loader url composition on image/next doc: #25893
- Add changing the hostname to the cli doc: #25971
- Add experimental CRA transform to docs: #25989
Example Changes
- Modify image component examples app for static image: #25956
- (examples/with-urql): fixes graphql server url: #25987
Credits
Huge thanks to @atcastle, @valse, @housseindjirdeh, @samrobbins85, @vitalybaev, and @styfle for helping!
Core Changes
- Add css blur when
placeholder=blur: #25945
Documentation Changes
- docs: use descriptive links instead of "click here": #25897
Example Changes
- tslib module missing in package.json: #25829
- Updated Readme: #25575
Credits
Huge thanks to @johnjago, @styfle, @alicanyildirim, and @sanathusk for helping!
Core Changes
- add global callback for refresh latency: #25944
Credits
Huge thanks to @sokra for helping!
Core Changes
- ESLint: Updates disable ESLint message during builds: #25917
- Remove
@types/comment-json: #25810 - Add delay to placeholder removal: #25916
- Add experimental cra-to-next transform in codemod cli: #24969
Example Changes
- fix: move viewport meta tag to head in _app.js: #25901
- fix: use key while rendering arrays: #25902
- docs(examples/with-mobx-state-tree-typescript): add 'Open in StackBlitz' button: #25926
Misc Changes
- Replace
CLIEnginewithESLint: #25801
Credits
Huge thanks to @housseindjirdeh, @akellbl4, @matamatanot, @atcastle, @d3lm, and @ijjk for helping!
Core Changes
- Improve check for eslint version: #25910
- Refactor image optimizer static immutable header: #25909
- ESLint Updates: #25895
- Fix immutable header on static image: #25914
Example Changes
- docs: add 'Open in StackBlitz' buttons to various examples: #25853
Credits
Huge thanks to @d3lm, @timneutkens, @styfle, and @housseindjirdeh for helping!
Core Changes
- Add warning for older TypeScript versions: #25867
- Prevent node inspect from causing webpack check to fail: #25876
- fix(21606): consider scroll option when using shallow routing: #24888
- remove opentelemetry/api: #25900
- Adjust JPEG quality when generating placeholder: #25904
Example Changes
- docs(examples/with-iron-session): fix mutate + fetch, add TypeScript example link: #25889
Misc Changes
- Update CNA build target in tsconfig: #25780
Credits
Huge thanks to @ijjk, @matamatanot, @vvo, @chrisneven, @turneand, and @atcastle for helping!
Core Changes
- Do not remove placeholder for data URL: #24704
Documentation Changes
- Fix command in upgrade guide: #25879
Credits
Huge thanks to @mottox2 and @ykzts for helping!
Core Changes
- Add note to upgrading guide about React version: #25849
- Fix "env" key in babelrc with new Babel mode: #25841
- Enable webpack5 for all apps: #25639
- Fix types for static image: #25808
Example Changes
- Add run on Google Cloud Run button to the docker example: #25824
- updated example for zustand v3.5.1 interface change: #25066
- fix: added typescript dependency in next-sitemap example: #25866
Misc Changes
- Fix occasional test failures: #25855
- feat: have .tsx be in ts template for create-next-app: #25820
- Run acceptance tests non-concurrently: #25861
Credits
Huge thanks to @timneutkens, @gleich, @geshan, @Munawwar, @ykzts, and @vitalybaev for helping!
Core Changes
- Bump minimum React version to
^17.0.2: #25788 - Remove feature flags for static image and blurry placeholder: #25797
Documentation Changes
- Update ESLint docs.: #25816
- ESLint Plugin: Fix Document and Head import rules: #25730
- Adding
--typescriptoption: #25831
Example Changes
- Remove react-relay-network-modern example.: #25815
- fix mobx-state-tree-typesript missing babel/core dependency: #25589
- feat: bump styled-components version on examples: #25826
Misc Changes
- Replace 'require' with 'import' in bench files and update dependancies: #25775
Credits
Huge thanks to @matamatanot, @leerob, @pelhage, @Lukazovic, @housseindjirdeh, @Mzaien, @devknoll, and @atcastle for helping!
Core Changes
- Bump "engines" to node >= 12.0.0: #25761
- Support for static image imports: #24993
Documentation Changes
- doc: update TS version for --incremental: #25736
Example Changes
- Update tsconfig of example to be consistent with default output of next.js: #25581
Credits
Huge thanks to @hiramhuang, @styfle, @daku10, and @atcastle for helping!
Core Changes
- Disable split chunks in webpack 5 in dev mode: #25735
- Remove experimental tag from Script component: #25435
next lint+ ESLint in Create Next App: #25064
Example Changes
- up-to-date electron: #25551
Credits
Huge thanks to @tmtk75, @ijjk, @janicklas-ralph, and @housseindjirdeh for helping!
Core Changes
- Ensure rewrites are resolved correctly through history: #25666
- Fix rewrite and dynamic params on navigating to initial history entry: #25495
- Enable serial build by default: #25642
- Don't show webpack version message in production server: #25654
- Font optimization add preconnect: #25346
- Enable new babel mode: #25635
- Remove deprecated features: #25446
Example Changes
- Updated with-mdx-remote dynamic components example: #25366
Misc Changes
- Enable Strict Mode in new
create-next-appprojects: #25696
Credits
Huge thanks to @PepijnSenders, @timneutkens, @janicklas-ralph, @devknoll, and @payapula for helping!
Core Changes
- Fix external check for non-local next import: #25518
- Ensure providing only query on dynamic route works as expected: #25469
- Assume a recent
react@experimentalifreactRootis set: #25496 - Update to latest webpack 5 and webpack-sources: #25558
- Set default webpack publicPath value to override auto: #25452
- Add helpful error for link with multiple children: #25657
Example Changes
- Fix with-docker example fails to load image: #25536
Misc Changes
- Update
yarn nextscript with--enable-source-maps: #25533 - Update size limit test
- ESLint Config: Adds
alttext rule for Image: #25462
Credits
Huge thanks to @styfle, @devknoll, @LiuuY, @timneutkens, and @housseindjirdeh for helping!
Core Changes
- fix(types): allow nonpromise return types for static functions: #24685
- Ensure history navigates correctly with dynamic routes + basePath: #25459
Documentation Changes
- Update Authentication docs to be an examples list.: #25497
- Improve documentation of CDN asset paths : #25531
- Fix rewrite example for fallback site: #25508
Example Changes
- Updated example name: #25428
- Example: Treat "mockServiceWorker" as a generated artifact in "with-msw": #25515
Credits
Huge thanks to @kahy9, @ljosberinn, @leerob, @kettanaito, @thomasboyt, and @hussainanjar for helping!
Core Changes
- lazy load postcss plugins: #25317
- Add missing i18n types in gip context: #25363
- Ensure externals are correct for mini-css-extract-plugin: #25340
- Update beforeFiles rewrites to continue: #25418
Documentation Changes
- Update docs to show how to typecheck next.config.js: #25240
- docs: typo in rewrites page: #25377
Example Changes
- Fix PatternFly 4 example: #25356
- Update package.json blog-starter-typescript: #25361
- New kontent UI screenshots: #25387
Misc Changes
- Follow up rewrites regression test for #25208: #25282
- Fix ie11 has rewrite test: #25342
Credits
Huge thanks to @alexbrazier, @jamsinclair, @sokra, @fabianishere, @rokinsky, @ijjk, @msidqi, @rubensdemelo, and @Simply007 for helping!
Core Changes
- Update beforeFiles rewrites to continue: #25418
Example Changes
- New kontent UI screenshots: #25387
Credits
Huge thanks to @Simply007 for helping!
Core Changes
- lazy load postcss plugins: #25317
- Add missing i18n types in gip context: #25363
- Ensure externals are correct for mini-css-extract-plugin: #25340
Documentation Changes
- Update docs to show how to typecheck next.config.js: #25240
- docs: typo in rewrites page: #25377
Example Changes
- Fix PatternFly 4 example: #25356
- Update package.json blog-starter-typescript: #25361
Misc Changes
- Follow up rewrites regression test for #25208: #25282
- Fix ie11 has rewrite test: #25342
Credits
Huge thanks to @alexbrazier, @jamsinclair, @sokra, @fabianishere, @rokinsky, @ijjk, @msidqi, and @rubensdemelo for helping!
Core Changes
- server doesn't need to be contenthashing at all: #25251
- Update postcss-loader to 4.3.0: #25197
- restore webpack defaults for managed/immutablePaths: #25250
- react-loadable-plugin. Handle undefined opts.caller: #25264
Documentation Changes
- doc(typescript.md) Mention incremental type checking: #25268
Misc Changes
- Ensure CNA install succeeds with npm and example flags: #25267
- Update output size test to handle version change: #25275
- Update the text for eslint/no-page-custom-font rule: #25117
Credits
Huge thanks to @sokra, @bradlc, @SinimaWath, and @rgabs for helping!
Misc Changes
- Update output size test to handle version change: #25275
- Update the text for eslint/no-page-custom-font rule: #25117
Credits
Huge thanks to @rgabs for helping!
Core Changes
- server doesn't need to be contenthashing at all: #25251
- Update postcss-loader to 4.3.0: #25197
- restore webpack defaults for managed/immutablePaths: #25250
- react-loadable-plugin. Handle undefined opts.caller: #25264
Documentation Changes
- doc(typescript.md) Mention incremental type checking: #25268
Misc Changes
- Ensure CNA install succeeds with npm and example flags: #25267
Credits
Huge thanks to @sokra, @bradlc, and @SinimaWath for helping!
Core Changes
- Remove unnecessary optimizeFonts key from type: #24563
- Fix Image compatibility issue when using
sizes: #24569 - Replace regex lexer with minimal regex for named groups: #24604
- Remove un-used lib files: #24625
- Adds ESLint with default rule-set: #23702
- Don't swallow MODULE_NOT_FOUND error: #24577
- Fix/link router 24075 take asPath instead of pathName in router: #24199
- Add experimental blurry placeholder to image component: #24153
- update webpack to 5.36.2, use dependOn: #24656
- Add type checking events: #24595
- fix memory leak in require.cache: #24282
- Don't throw 500 error when Content-type is invalid: #24818
- Land - Font optimizations - Adobe Fonts / Typekit support : #24834
- updated zustand example : #24884
- feat(build): Log whether type checking is actually performed: #24440
- webpack 5 externals fixes: #24603
- Remove experimental babel flag: #24776
- cache typechecking with incremental compilation: #24559
- Ensure next/dynamic transpiles for tests: #24751
- fix: handle compression for custom-server render calls (#16378): #18891
- Refactor experimental-script component : #24940
- Fix: Non-writable pages/_app breaks build : #24849
- I18n context initial props: #21930
- update webpack to 5.37.0: #24954
- Ensure webpack cache is invalidated for alias change: #24956
Documentation Changes
- Add documentation on Font Optimization.: #24572
- Clarify whether router.pathname includes basePath: #24675
- Update font optimization docs to mention opting out.: #24756
- Bumps version of supertokens dependencies and updates its README: #24571
- docs(response-helpers): Update res.json definition: #24782
- docs(next/router): Update router.push api: #24833
- docs(config intro): Fix github link hash: #24838
- Add version note for
hasproperty: #24836 - Remove old docs sections: #24853
- Add additional reason for the Prerender Error when running next export: #24828
- feat(create-next-app): add
--ts, --typescriptsupport: #24655 - ESLint Plugin: Disallow
in Head from next/document: #24868 - Clarify rewrites and other docs cleanup.: #24890
- ESLint Plugin: Google Font rules: #24766
- ESLint Plugin: passHref is not assigned: #24670
- ESLint Plugin: Custom Font at page-level rule: #24789
- ESLint Plugin: Prevent bad imports of next/document and next/head: #24832
Example Changes
- Fix: with-passport example dependency issue: #24567
- demo serving storybook static build with serve: #24812
- Update signin/signup form samples: #24524
- react-hook-form example: #21245
- Update example with-sentry: #24819
- Update custom server examples: #24814
- Remove outdated/deprecated/unmainted examples: #24945
- Fix build in blog-starter-typescript example: #24695
- Update with-three-js example: #24857
- Update with-mdx-remote example: #24973
Misc Changes
- fix(next-storybook): make rules an array in webpack config: #22125
- Fix rewrite shape in Storybook: #24827
- Match last PR mention in commit message for release notes
- Add label for chrome automatically to PR
Credits
Huge thanks to @darshkpatel, @leerob, @sumanthratna, @shuding, @housseindjirdeh, @PepijnSenders, @prophet1996, @Joonpark13, @tremby, @sokra, @stefanprobst, @dopt, @rishabhpoddar, @aydinkn, @ErfanMirzapour, @vitalybaev, @ijjk, @tubbo, @frontendtony, @eric-burel, @ctjlewis, @Munawwar, @iker-barriocanal, @eps1lon, @janicklas-ralph, @Gigiz, @mplis, @HaNdTriX, and @jigsawye for helping!
Core Changes
- Fix font optimization failing on some builds: #25071
Documentation Changes
- Remove snippet that is not recommended.: #25220
Misc Changes
- test(create-next-app): assert for typescript template dependencies: #25214
Credits
Huge thanks to @jamesgeorge007, @timneutkens, and @janicklas-ralph for helping!
Core Changes
- Fix typo in dev-build-watcher.js: #25196
- Ensure default params are detected after rewrite: #25205
- fix: replace usage of
fromEntriesin browser bundledresolve-rewrites.ts: #25208 - docs(readme.md): add good first issue section to readme.md: #25085
- Make next.config.js keys optional: #25204
Documentation Changes
- Add default revalidate value to docs: #25238
Example Changes
- fix responsive example tailwind: #24582
Credits
Huge thanks to @eltociear, @jamsinclair, @ananta, @holiq, and @PepijnSenders for helping!
Core Changes
- Ensure server split chunks are nested in chunks dir: #25203
Documentation Changes
- ESLint Plugin: Image rules : #23402
Credits
Huge thanks to @housseindjirdeh for helping!
Core Changes
- Re-add strip-ansi babel include: #25146
- Upgrade browserslist to 4.16.6: #24692
- Update @hapi/accept to latest: #24283
- performance improvement of static generation: #25035
Documentation Changes
- docs(image.md): update layout property part: #25149
Example Changes
- typo fix: #25159
Misc Changes
- chore(create-next-app): remove stub types definition: #25139
Credits
Huge thanks to @shaped1, @jamesgeorge007, @ijjk, @jhujhul, @kachkaev, and @sokra for helping!
Core Changes
- Disable suggesting incremental type checking: #25144
- Remove import type syntax: #25145
Documentation Changes
- Update docs to reflect page props are optional: #25142
Credits
Huge thanks to @mariusc23 and @sokra for helping!
Core Changes
- Remove leftover babel include regex: #25101
- Escape href when detecting already existing preload tags: #20782
- Fix export worker threads options: #25063
- Ensure rewrites work with manual href/as correctly: #25112
- Remove experimental-modern-preset option: #25100
- add experimental.gzipSize flag which allows to switch to uncompressed sizes: #25028
Documentation Changes
- docs(rewrites.md): update beforeFiles note: #25113
Example Changes
- Updates SuperTokens dependency version: #25102
Credits
Huge thanks to @rishabhpoddar, @ijjk, @ykzts, and @sokra for helping!
Core Changes
- allow incremental type checking to use caching: #24992
- Refactor scriptloader option names: #25012
- Font optimization bug fix: #24968
- Fix ie11 support with webpack 5: #25014
- use official mini-css-extract-plugin and experimentalUseImportModule: #24573
- enable contenthashing in webpack 5: #25055
- Improving script loading strategy: #24939
- Ensure rewrite does not override params from page in minimal mode: #25074
Documentation Changes
- fix typo in path: #24978
- Update has redirect examples: #25003
- Fix no-sync-scripts doc: #25062
- update
create-next-appdocumentation: #25079 - Update rewrites doc to mention they are applied to client-side routing: #25099
Misc Changes
- Skip processing when href is not a simple string: #24986
- Update windows tests to use node 12: #25015
Credits
Huge thanks to @a-ursino, @ykzts, @sokra, @ijjk, @janicklas-ralph, and @arroiz for helping!
Core Changes
- update webpack to 5.37.0: #24954
- Ensure webpack cache is invalidated for alias change: #24956
Documentation Changes
- ESLint Plugin: passHref is not assigned: #24670
- ESLint Plugin: Custom Font at page-level rule: #24789
- ESLint Plugin: Prevent bad imports of next/document and next/head: #24832
Example Changes
- Fix build in blog-starter-typescript example: #24695
- Update with-three-js example: #24857
- Update with-mdx-remote example: #24973
Misc Changes
- Add label for chrome automatically to PR
Credits
Huge thanks to @sokra, @housseindjirdeh, @mplis, @HaNdTriX, @ijjk, and @jigsawye for helping!
Core Changes
- Refactor experimental-script component : #24940
- Fix: Non-writable pages/_app breaks build : #24849
- I18n context initial props: #21930
Documentation Changes
- ESLint Plugin: Google Font rules: #24766
Example Changes
- Remove outdated/deprecated/unmainted examples: #24945
Misc Changes
- Match last PR mention in commit message for release notes
Credits
Huge thanks to @housseindjirdeh, @janicklas-ralph, @darshkpatel, and @Gigiz for helping!
Core Changes
- update webpack to 5.36.2, use dependOn: #24656
- Add type checking events: #24595
- fix memory leak in require.cache: #24282
- Don't throw 500 error when Content-type is invalid: #24818
- Land - Font optimizations - Adobe Fonts / Typekit support : #24834
- updated zustand example : #24884
- feat(build): Log whether type checking is actually performed: #24440
- webpack 5 externals fixes: #24603
- Remove experimental babel flag: #24776
- cache typechecking with incremental compilation: #24559
- Ensure next/dynamic transpiles for tests: #24751
- fix: handle compression for custom-server render calls (#16378): #18891
Documentation Changes
- Clarify whether router.pathname includes basePath: #24675
- Update font optimization docs to mention opting out.: #24756
- Bumps version of supertokens dependencies and updates its README: #24571
- docs(response-helpers): Update res.json definition: #24782
- docs(next/router): Update router.push api: #24833
- docs(config intro): Fix github link hash: #24838
- Add version note for
hasproperty: #24836 - Remove old docs sections: #24853
- Add additional reason for the Prerender Error when running next export: #24828
- feat(create-next-app): add
--ts, --typescriptsupport: #24655 - ESLint Plugin: Disallow
in Head from next/document: #24868 - Clarify rewrites and other docs cleanup.: #24890
Example Changes
- demo serving storybook static build with serve: #24812
- Update signin/signup form samples: #24524
- react-hook-form example: #21245
- Update example with-sentry: #24819
- Update custom server examples: #24814
Misc Changes
- fix(next-storybook): make rules an array in webpack config: #22125
- Fix rewrite shape in Storybook: #24827
Credits
Huge thanks to @tremby, @sokra, @leerob, @stefanprobst, @dopt, @rishabhpoddar, @aydinkn, @ErfanMirzapour, @vitalybaev, @ijjk, @tubbo, @frontendtony, @eric-burel, @ctjlewis, @housseindjirdeh, @Munawwar, @iker-barriocanal, and @eps1lon for helping!
Core Changes
- Adds ESLint with default rule-set: #23702
- Don't swallow MODULE_NOT_FOUND error: #24577
- Fix/link router 24075 take asPath instead of pathName in router: #24199
- Add experimental blurry placeholder to image component: #24153
Credits
Huge thanks to @housseindjirdeh, @PepijnSenders, @prophet1996, and @Joonpark13 for helping!
Core Changes
- Remove un-used lib files: #24625
Core Changes
- Remove unnecessary optimizeFonts key from type: #24563
- Fix Image compatibility issue when using
sizes: #24569 - Replace regex lexer with minimal regex for named groups: #24604
Documentation Changes
- Add documentation on Font Optimization.: #24572
Example Changes
- Fix: with-passport example dependency issue: #24567
Credits
Huge thanks to @darshkpatel, @leerob, @sumanthratna, and @shuding for helping!
Core Changes
- Ensure default fallback values are correct with i18n: #23675
- Font optimization: #21676
- Stop mutating
resolvedAsPath: #23705 - Fix webpack5 cache distDir: #23718
- Ensure basePath is not applied for external GSSP redirect: #23673
- Ensure fallback rewrites dont match over pages with i18n: #23674
- Ensure no-op export returns without error: #23752
- upgrade to webpack 5.31.0: #23776
- Babel fast mode: #23760
- Resolve new babel loader through require.resolve: #23819
- upgrade webpack to 5.31.2: #23861
- reduce the number of write syscalls by buffering: #23863
- Remove bugfix needed for webpack 4 when webpack 5 is used: #23886
- Ensure no-op rewrite matches dynamic route with i18n correctly: #23860
- Ensure minimal mode SSR 404 handling is correct: #23996
- Enable webpack5 by default: #23810
- Add request deduplication to image optimizer: #24000
- Use regex lexer for gathering named groups from has: #23626
- Clean up eventsource initialization: #24015
- Add react@experimental testing: #23359
- fix: upgrade cssnano/postcss version: #24034
- update webpack to 5.33: #24077
- Fall back to default components when a top-level error occurs: #24079
- improve pr stats action: #24086
- Fix IE11 incompatibility due to string litterals: #23784
- Fix fallback: false triggering 404 before rewrites: #24121
- Use same num workers between export and build: #24180
- Fix serving Images through external rewrite with Image component: #21001
- Ensure locale is not duplicated from differing casing: #24187
- Add error for getStaticPaths on non-dynamic page: #24188
- Ensure query for static pages with rewrites is updated correctly: #24189
- startup performance improvements: #24129
- ci: fix PnP e2e tests using Webpack 5: #24216
- Disable strictExportPresence when webpack 5 is enabled: #24214
- upgrade webpack to 5.34: #24230
- Omit un-necessary stack trace from invalid routes: #24240
- Babel Turbo Loader, Part 2: #24078
- Ensure locale cookie does not error with similarly named cookie: #24182
- Add event for webpack 5 usage: #24222
- Fix metrics measurements under new root API: #24110
- feat: add type to previewData: #21574
- improve react-loadable-plugin: #24281
- webpack 5.35: #24293
- Ensure locale key not duplicated when navigating back to root path with a query or hash value: #24323
- Adding script loader files to package.json: #24326
- Bump next-babel-loader cache key: #24335
- Ensure dev overlay is triggered for more _app/_document errors: #24328
- Fix not exposing server errors in hot reloader: #24331
- experimental: remove legacy plugin system: #20759
- Replace experimental
reactModewithreactRoot: #24280 - [next] update initial config message: #23165
- Upgrade eslint to the latest version: #24377
- Ensure proxy rewrite does not hang on error: #24394
- Font optimization bug fix: #24162
- Ensure stalled CSS triggers fallback navigation: #24488
- Remove experimental note for has routes: #24529
- Test fixes for Babel mode: #24312
- Upgrade postcss: #24546
Documentation Changes
- Add note about prefetching: #23732
- docs: Update built-in-css-support.md with Linaria example: #23333
- Fix upgrading broken link: #23785
- Add experimental note to docs for has: #23835
- Update incremental migration doc and add version for new rewrites: #23859
- Add missing import in CSS docs: #24007
- docs: Fix TypeScript casing: #24040
- Update .now.sh to .vercel.app.: #22359
- Updated prefetch documentation: #24171
- Docs update: Redirect paths with parentheses: #24062
- Update incremental adoption in rewrites doc: #24186
- docs: fix a11y router examples: #23031
- Add next-intl example: #21447
- Clarify dynamic imports documentation: #24168
- docs: reduce image size in sample Dockerfile: #24108
- Update Preview Mode docs for developing locally: #22906
- Docs: add info about fallback to prerender-error: #22828
- Add note for exportPathMap query and prerender pages: #24266
- Mention notFound cache purging use-case: #21234
- docs(deployment): prune non-production deps: #23056
- Docs update: Adds supertokens to 'Bring Your Own Database' section as well + improvements to code structure in example: #23779
Example Changes
- fixes a part of #23607 remove with-glamor example: #23639
- fix with-web-worker example.: #23634
- fix with-styled-jsx-plugins example.: #23635
- fix with-mqtt-js example.: #23636
- Fix: Codeblock Syntax Highlighting: #23545
- Update to with-supertokens example: #23728
- Fixed issue accessing index page of "with-reason-relay" example: #23780
- Adding a plausible example: #23814
- Update tailwind css to v2.1 with jit support: #23793
- Update Tailwind CSS example with emotion to use JIT: #23843
- Update with-electron example: #23873
- Update redux-toolkit-typescript example: #23997
- Fix typescript types.: #23771
- Update Chakra UI examples to latest versions.: #23585
- Update SWR in with-magic example: #24185
- Minor fix to build command: #24158
- Fix call to setInterval: #22357
- Fixed bug where styled-jsx examples don't work because of a wrong plugin: #23414
- Bumping up the rebass version (v1 - v4) and fixing components and styling for it.: #23342
- cache Mongoose connections between hot reloads: #23321
- update with-realm-web example: #24241
- Update seed data for Kontent CMS example.: #24089
- Enable JIT for Tailwind + Emotion CSS example: #23912
- body parsing middleware is bundled with express >= 4.16.0: #23899
- chore(with-react-intl): allow extracting translation key from a deeper directory: #23874
- Simplify with redux toolkit typescript: #24161
- docs(examples): with-iron-session logout must be called via POST: #22240
- feat: add with-reflexjs example: #24068
- Add Clerk.dev example: #24311
- Fix for with-clerk example: #24324
- Fix strapi links: #24330
- Update with-aws-amplify-typescript example: #24292
- Now -> Vercel in api-routes-rest: #24431
- Fix: Object Destructuring Error: #24397
- feat: bump styled-components lib version examples: #24482
Misc Changes
- test(create-next-app): suppplying --use-npm prefers npm for installation: #23880
- Increase base Lighthouse score of default Create Next App template: #23887
- docs(create-next-app): add --use-npm: #24018
- Switch Create Next App default template to use next/image: #24076
- Update with-electron test: #24036
- Document the need to call App.getInitialProps() from a custom app's getInitialProps: #24002
- test(create-next-app): use latest examples: #24048
- add css to the stats-app: #24228
- Update 1.bug_report.yml
- Update 2.example_bug_report.yml
- Update 3.feature_request.yml
- Update CI jobs to re-use cache: #24231
- chore(create-next-app): update help information: #24251
- fix types of next-webdriver: #23995
- Made template look correct in IE11: #24245
- Add test for top-level _document error: #24313
- Fix side effects in router-is-ready tests: #24360
- Workaround for discrete passive effects change: #24369
- Update 1.bug_report.yml
- Update 2.example_bug_report.yml
- Update 3.feature_request.yml
Credits
Huge thanks to @rpxs, @lemarier, @RayhanADev, @janicklas-ralph, @devknoll, @felipeptcho, @rishabhpoddar, @sokra, @m-leon, @turadg, @PierreBerger, @divmain, @dominikwilkowski, @pranavp10, @ijjk, @santidalmasso, @HaNdTriX, @jamesgeorge007, @garmeeh, @leerob, @shuding, @feute, @timneutkens, @alexvilchis, @Timer, @malixsys, @sahilrajput03, @marcvangend, @steven-tey, @julienben, @umarsenpai, @Mzaien, @merceyz, @AntelaBrais, @SystemDisc, @M1ck0, @jbmoelker, @jaisharx, @amannn, @vkarpov15, @gaelhameon, @4ortytwo, @Simply007, @styxlab, @xCloudzx, @wodCZ, @emmanuelgautier, @leosuncin, @ludder, @geritol, @vassbence, @vvo, @portenez, @arshad, @tarunama, @flybayer, @Hanaffi, @SokratisVidros, @chibicode, @kylemarshall18, @jarrodwatts, @sampoder, @coetry, @Jkker, and @omariosouto for helping!
Core Changes
- Remove experimental note for has routes: #24529
- Test fixes for Babel mode: #24312
- Upgrade postcss: #24546
Example Changes
- feat: bump styled-components lib version examples: #24482
Credits
Huge thanks to @omariosouto and @timneutkens for helping!
Core Changes
- Replace experimental
reactModewithreactRoot: #24280 - [next] update initial config message: #23165
- Upgrade eslint to the latest version: #24377
- Ensure proxy rewrite does not hang on error: #24394
- Font optimization bug fix: #24162
- Ensure stalled CSS triggers fallback navigation: #24488
Example Changes
- Now -> Vercel in api-routes-rest: #24431
- Fix: Object Destructuring Error: #24397
Credits
Huge thanks to @devknoll, @sampoder, @coetry, @timneutkens, @Jkker, and @janicklas-ralph for helping!
Core Changes
- experimental: remove legacy plugin system: #20759
Misc Changes
- Fix side effects in router-is-ready tests: #24360
- Workaround for discrete passive effects change: #24369
- Update 1.bug_report.yml
- Update 2.example_bug_report.yml
- Update 3.feature_request.yml
Credits
Huge thanks to @devknoll for helping!
Core Changes
- Ensure locale key not duplicated when navigating back to root path with a query or hash value: #24323
- Adding script loader files to package.json: #24326
- Bump next-babel-loader cache key: #24335
- Ensure dev overlay is triggered for more _app/_document errors: #24328
- Fix not exposing server errors in hot reloader: #24331
Example Changes
- Add Clerk.dev example: #24311
- Fix for with-clerk example: #24324
- Fix strapi links: #24330
- Update with-aws-amplify-typescript example: #24292
Misc Changes
- Add test for top-level _document error: #24313
Credits
Huge thanks to @SokratisVidros, @chibicode, @kylemarshall18, @janicklas-ralph, @jarrodwatts, and @shuding for helping!
Core Changes
- improve react-loadable-plugin: #24281
- webpack 5.35: #24293
Core Changes
- Babel Turbo Loader, Part 2: #24078
- Ensure locale cookie does not error with similarly named cookie: #24182
- Add event for webpack 5 usage: #24222
- Fix metrics measurements under new root API: #24110
- feat: add type to previewData: #21574
Documentation Changes
- Clarify dynamic imports documentation: #24168
- docs: reduce image size in sample Dockerfile: #24108
- Update Preview Mode docs for developing locally: #22906
- Docs: add info about fallback to prerender-error: #22828
- Add note for exportPathMap query and prerender pages: #24266
- Mention notFound cache purging use-case: #21234
- docs(deployment): prune non-production deps: #23056
- Docs update: Adds supertokens to 'Bring Your Own Database' section as well + improvements to code structure in example: #23779
Example Changes
- update with-realm-web example: #24241
- Update seed data for Kontent CMS example.: #24089
- Enable JIT for Tailwind + Emotion CSS example: #23912
- body parsing middleware is bundled with express >= 4.16.0: #23899
- chore(with-react-intl): allow extracting translation key from a deeper directory: #23874
- Simplify with redux toolkit typescript: #24161
- docs(examples): with-iron-session logout must be called via POST: #22240
- feat: add with-reflexjs example: #24068
Misc Changes
- Update 1.bug_report.yml
- Update 2.example_bug_report.yml
- Update 3.feature_request.yml
- Update CI jobs to re-use cache: #24231
- chore(create-next-app): update help information: #24251
- fix types of next-webdriver: #23995
- Made template look correct in IE11: #24245
Credits
Huge thanks to @gaelhameon, @4ortytwo, @Simply007, @styxlab, @xCloudzx, @wodCZ, @emmanuelgautier, @leosuncin, @ludder, @geritol, @divmain, @jamesgeorge007, @vassbence, @timneutkens, @devknoll, @vvo, @portenez, @arshad, @rishabhpoddar, @tarunama, @flybayer, and @Hanaffi for helping!
Core Changes
- ci: fix PnP e2e tests using Webpack 5: #24216
- Disable strictExportPresence when webpack 5 is enabled: #24214
- upgrade webpack to 5.34: #24230
- Omit un-necessary stack trace from invalid routes: #24240
Documentation Changes
- docs: fix a11y router examples: #23031
- Add next-intl example: #21447
Example Changes
- Minor fix to build command: #24158
- Fix call to setInterval: #22357
- Fixed bug where styled-jsx examples don't work because of a wrong plugin: #23414
- Bumping up the rebass version (v1 - v4) and fixing components and styling for it.: #23342
- cache Mongoose connections between hot reloads: #23321
Misc Changes
- add css to the stats-app: #24228
Credits
Huge thanks to @merceyz, @timneutkens, @sokra, @AntelaBrais, @SystemDisc, @M1ck0, @jbmoelker, @jaisharx, @amannn, and @vkarpov15 for helping!
Core Changes
- Use same num workers between export and build: #24180
- Fix serving Images through external rewrite with Image component: #21001
- Ensure locale is not duplicated from differing casing: #24187
- Add error for getStaticPaths on non-dynamic page: #24188
- Ensure query for static pages with rewrites is updated correctly: #24189
- startup performance improvements: #24129
Documentation Changes
- Updated prefetch documentation: #24171
- Docs update: Redirect paths with parentheses: #24062
- Update incremental adoption in rewrites doc: #24186
Example Changes
- Update Chakra UI examples to latest versions.: #23585
- Update SWR in with-magic example: #24185
Credits
Huge thanks to @steven-tey, @julienben, @umarsenpai, @Mzaien, and @sokra for helping!
Core Changes
- Fix IE11 incompatibility due to string litterals: #23784
- Fix fallback: false triggering 404 before rewrites: #24121
Example Changes
- Fix typescript types.: #23771
Misc Changes
- Update with-electron test: #24036
- Document the need to call App.getInitialProps() from a custom app's getInitialProps: #24002
- test(create-next-app): use latest examples: #24048
Credits
Huge thanks to @malixsys, @sahilrajput03, @marcvangend, and @jamesgeorge007 for helping!
Core Changes
- Add react@experimental testing: #23359
- fix: upgrade cssnano/postcss version: #24034
- update webpack to 5.33: #24077
- Fall back to default components when a top-level error occurs: #24079
- improve pr stats action: #24086
Documentation Changes
- docs: Fix TypeScript casing: #24040
- Update .now.sh to .vercel.app.: #22359
Misc Changes
- docs(create-next-app): add --use-npm: #24018
- Switch Create Next App default template to use next/image: #24076
Credits
Huge thanks to @devknoll, @alexvilchis, @Timer, @jamesgeorge007, @leerob, @sokra, and @garmeeh for helping!
Core Changes
- Add request deduplication to image optimizer: #24000
- Use regex lexer for gathering named groups from has: #23626
- Clean up eventsource initialization: #24015
Documentation Changes
- Add missing import in CSS docs: #24007
Credits
Huge thanks to @shuding, @feute, and @timneutkens for helping!
Core Changes
- Enable webpack5 by default: #23810
Example Changes
- Update redux-toolkit-typescript example: #23997
Credits
Huge thanks to @leerob for helping!
Core Changes
- Ensure no-op rewrite matches dynamic route with i18n correctly: #23860
- Ensure minimal mode SSR 404 handling is correct: #23996
Misc Changes
- test(create-next-app): suppplying --use-npm prefers npm for installation: #23880
- Increase base Lighthouse score of default Create Next App template: #23887
Credits
Huge thanks to @jamesgeorge007 and @garmeeh for helping!
Core Changes
- Resolve new babel loader through require.resolve: #23819
- upgrade webpack to 5.31.2: #23861
- reduce the number of write syscalls by buffering: #23863
- Remove bugfix needed for webpack 4 when webpack 5 is used: #23886
Documentation Changes
- Add experimental note to docs for has: #23835
- Update incremental migration doc and add version for new rewrites: #23859
Example Changes
- Adding a plausible example: #23814
- Update tailwind css to v2.1 with jit support: #23793
- Update Tailwind CSS example with emotion to use JIT: #23843
- Update with-electron example: #23873
Credits
Huge thanks to @dominikwilkowski, @pranavp10, @ijjk, @santidalmasso, @sokra, and @HaNdTriX for helping!
Core Changes
- upgrade to webpack 5.31.0: #23776
- Babel fast mode: #23760
Documentation Changes
- Add note about prefetching: #23732
- docs: Update built-in-css-support.md with Linaria example: #23333
- Fix upgrading broken link: #23785
Example Changes
- Fixed issue accessing index page of "with-reason-relay" example: #23780
Credits
Huge thanks to @sokra, @m-leon, @turadg, @PierreBerger, and @divmain for helping!
Core Changes
- Fix webpack5 cache distDir: #23718
- Ensure basePath is not applied for external GSSP redirect: #23673
- Ensure fallback rewrites dont match over pages with i18n: #23674
- Ensure no-op export returns without error: #23752
Example Changes
- Update to with-supertokens example: #23728
Credits
Huge thanks to @felipeptcho and @rishabhpoddar for helping!
Core Changes
- Font optimization: #21676
- Stop mutating
resolvedAsPath: #23705
Credits
Huge thanks to @janicklas-ralph and @devknoll for helping!
Core Changes
- Ensure default fallback values are correct with i18n: #23675
Example Changes
- fixes a part of #23607 remove with-glamor example: #23639
- fix with-web-worker example.: #23634
- fix with-styled-jsx-plugins example.: #23635
- fix with-mqtt-js example.: #23636
- Fix: Codeblock Syntax Highlighting: #23545
Credits
Huge thanks to @rpxs, @lemarier, and @RayhanADev for helping!
Core Changes
- Fix memory leak in image optimization: #23565
- Mark this.router protected: #23573
- Ensure has segments are allowed in destination: #23588
- Update decoder to correctly handle grayscale PNGs: #23393
- update webpack to 5.30: #23612
- Clean up RenderOptsPartial: #23614
Documentation Changes
- Update router.md to improve a11y: #23611
Example Changes
- Remove redundant prefresh dependency in with-preact example: #23567
- Delete examples/with-style-sheet directory: #23609
- Update custom-routes-proxying to use fallback rewrites: #23610
Credits
Huge thanks to @shuding, @zephraph, @timneutkens, @samrobbins85, @sokra, and @devknoll for helping!
Core Changes
- Clean up RenderOptsPartial: #23614
Credits
Huge thanks to @devknoll for helping!
Core Changes
- Mark this.router protected: #23573
- Ensure has segments are allowed in destination: #23588
- Update decoder to correctly handle grayscale PNGs: #23393
- update webpack to 5.30: #23612
Documentation Changes
- Update router.md to improve a11y: #23611
Example Changes
- Remove redundant prefresh dependency in with-preact example: #23567
- Delete examples/with-style-sheet directory: #23609
- Update custom-routes-proxying to use fallback rewrites: #23610
Credits
Huge thanks to @zephraph, @timneutkens, @shuding, @samrobbins85, and @sokra for helping!
Core Changes
- Fix memory leak in image optimization: #23565
Credits
Huge thanks to @shuding for helping!
Core Changes
- Temporarily remove experimental ESLint integration: #23521
Credits
Huge thanks to @Timer for helping!
Core Changes
- Temporarily remove experimental ESLint integration: #23521
Credits
Huge thanks to @Timer for helping!
Core Changes
- Make eslint opt-in until it lands on stable: #23509
Documentation Changes
- Fix YAML parsing issue in ESLint docs.: #23511
Credits
Huge thanks to @leerob for helping!
Core Changes
- Make eslint opt-in until it lands on stable: #23509
Documentation Changes
- Fix YAML parsing issue in ESLint docs.: #23511
Credits
Huge thanks to @leerob for helping!
Core Changes
- Revert "Revert "[a11y] Route Announcements"": #23086
- Upgrade jest-worker: #23077
- update webpack, fix runtime location, fix undeclared variable, omit env vars from cache version: #23113
- add env var to enable advanced webpack logging and profiling: #23178
- get files from entrypoints instead of from chunks: #23174
- rename to NEXT_WEBPACK_LOGGING: #23186
- Improve image optimizer to only create 1 worker thread: #23188
- Ensure process exits after build completes : #23207
- Fix invalid console.error link: #23213
- Experimental feature for allowing importing Typescript files outside of the root directory: #22867
- add separate progress output for typechecking: #23226
- Fix wrong source path resolved from the stack frame to not expose internal code: #23203
- upgrade webpack to 5.27.1: #23224
- Remove
visibility: hiddenfrom the image component: #23278 - Add fallback for
component when JavaScript is disabled in browser: #19052
- Add polyfills for node_modules that are covered in webpack 4 to webpack 5: #23316
- Add ESLint to Next.js: #22437
- Remove
visibility: inheritfrom the image component: #23329 - Automatically enable webpack 5 when possible: #22323
- upgrade webpack to 5.28.0: #23350
- Add has route field: #22341
- Make sure the image optimization endpoint only response with images: #23366
- Run server client/server builds serially: #23371
- Add handling fo beforeFiles, afterFiles, and fallback rewrites: #23407
- Update err.sh links to use nextjs.org/docs/messages instead: #23353
- Add os-browserify dep: #23354
- Temporarily remove the automatic opt-in for webpack5: #23497
Documentation Changes
- Add note about next/export to Image Optimization docs.: #23088
- Duplicate scroll description: #23103
- Add image base path configuration option: #23115
- Document how to use
basePathwithnext/image.: #23123 - Update next.config.js link to default config: #22989
- Add note about multiple requests when using incremental static generation: #23190
- docs(authentication): rephrase next-iron-session/next-auth: #23199
- Clarify a custom server doesn't mean you can't use an existing backend.: #23200
- Added Prepr CMS Examples to docs: #23221
- Include useEffect in SPA demo import, Fix punctuation: #23256
- Add manifest of error pages: #23310
- Fix typo in eslint doc: #23338
- Update babel docs to mention you can use babel.config.js.: #23434
- doc: fix ActiveLink detection condition: #23472
- Update
with-dockerexample and deployment docs.: #23486
Example Changes
- fix(lib/db): type mismatch: #23107
- Simplify redux toolkit example and update packages: #23047
- Add Typescript section to Redux Toolkit Example: #23166
- Update Redis example to use Tailwind.: #23131
- Make @tailwindcss/jit default engine for Tailwind CSS: #23192
- Update README for sentry example.: #23205
- Update reference to commit sha: #23215
- Fix broken link: #23230
- Add portfolio starter kit.: #23212
- feat: add exemple with redux toolkit in typescript: #23250
- Update with-stitches example: #23281
- Small updates to blog example.: #23258
- update with-xstate example and add documentation for inspect package usage: #23287
- Update dependencies for blog starter.: #23317
- Update with stitches example: #23326
with-stitches: Uselatestversion: #23343- with-stitches Fix Stitches config: #23394
- update with-linaria example: #23332
- [examples] Fix image-component typo: #23437
- Add links to dependencies in with-three-js example README: #23470
Misc Changes
- Update CODEOWNERS
- Add PR template
- Consistent use of colons in contributing docs: #23260
- Update static-dir-deprecated.md
- Update next.config.js rewrites
- Update manifest.json
- Update webpack5.md
Credits
Huge thanks to @shuding, @leerob, @rekomat, @Mzaien, @phoenixbox, @Mokshit06, @sokra, @jflayhart, @vvo, @ijjk, @samsisle, @tim-hanssen, @cipriancaba, @DeHoKo, @Mito9999, @JulienKode, @elitan, @peduarte, @timneutkens, @moh12594, @brunocrosier, @housseindjirdeh, @matamatanot, @Timer, @turadg, @styfle, @huozhi, and @scottmacdonnell for helping!
Misc Changes
- Update manifest.json
- Update webpack5.md
Core Changes
- Update err.sh links to use nextjs.org/docs/messages instead: #23353
- Add os-browserify dep: #23354
- Temporarily remove the automatic opt-in for webpack5: #23497
Documentation Changes
- doc: fix ActiveLink detection condition: #23472
- Update
with-dockerexample and deployment docs.: #23486
Example Changes
- update with-linaria example: #23332
- [examples] Fix image-component typo: #23437
- Add links to dependencies in with-three-js example README: #23470
Credits
Huge thanks to @turadg, @styfle, @huozhi, @scottmacdonnell, and @leerob for helping!
Core Changes
- Add handling fo beforeFiles, afterFiles, and fallback rewrites: #23407
Documentation Changes
- Update babel docs to mention you can use babel.config.js.: #23434
Example Changes
- with-stitches Fix Stitches config: #23394
Misc Changes
- Update next.config.js rewrites
Credits
Huge thanks to @peduarte and @leerob for helping!
Core Changes
- Make sure the image optimization endpoint only response with images: #23366
- Run server client/server builds serially: #23371
Credits
Huge thanks to @shuding for helping!
Core Changes
- upgrade webpack to 5.28.0: #23350
- Add has route field: #22341
Example Changes
with-stitches: Uselatestversion: #23343
Credits
Huge thanks to @sokra and @peduarte for helping!
Core Changes
- Remove
visibility: inheritfrom the image component: #23329 - Automatically enable webpack 5 when possible: #22323
Documentation Changes
- Fix typo in eslint doc: #23338
Example Changes
- Update with stitches example: #23326
Credits
Huge thanks to @shuding, @peduarte, @matamatanot, and @Timer for helping!
Core Changes
- Remove
visibility: hiddenfrom the image component: #23278 - Add fallback for
component when JavaScript is disabled in browser: #19052
- Add polyfills for node_modules that are covered in webpack 4 to webpack 5: #23316
- Add ESLint to Next.js: #22437
Documentation Changes
- Add manifest of error pages: #23310
Example Changes
- Update with-stitches example: #23281
- Small updates to blog example.: #23258
- update with-xstate example and add documentation for inspect package usage: #23287
- Update dependencies for blog starter.: #23317
Misc Changes
- Consistent use of colons in contributing docs: #23260
- Update static-dir-deprecated.md
Credits
Huge thanks to @elitan, @shuding, @peduarte, @leerob, @timneutkens, @moh12594, @brunocrosier, and @housseindjirdeh for helping!
Core Changes
- Experimental feature for allowing importing Typescript files outside of the root directory: #22867
- add separate progress output for typechecking: #23226
- Fix wrong source path resolved from the stack frame to not expose internal code: #23203
- upgrade webpack to 5.27.1: #23224
Documentation Changes
- Include useEffect in SPA demo import, Fix punctuation: #23256
Example Changes
- Update reference to commit sha: #23215
- Fix broken link: #23230
- Add portfolio starter kit.: #23212
- feat: add exemple with redux toolkit in typescript: #23250
Credits
Huge thanks to @shuding, @cipriancaba, @DeHoKo, @sokra, @leerob, @Mito9999, and @JulienKode for helping!
Documentation Changes
- Added Prepr CMS Examples to docs: #23221
Misc Changes
- Add PR template
Credits
Huge thanks to @tim-hanssen for helping!
Core Changes
- Improve image optimizer to only create 1 worker thread: #23188
- Ensure process exits after build completes : #23207
- Fix invalid console.error link: #23213
Documentation Changes
- Add note about multiple requests when using incremental static generation: #23190
- docs(authentication): rephrase next-iron-session/next-auth: #23199
- Clarify a custom server doesn't mean you can't use an existing backend.: #23200
Example Changes
- Make @tailwindcss/jit default engine for Tailwind CSS: #23192
- Update README for sentry example.: #23205
Misc Changes
- Update CODEOWNERS
Credits
Huge thanks to @shuding, @Mokshit06, @vvo, @leerob, @ijjk, and @samsisle for helping!
Core Changes
- rename to NEXT_WEBPACK_LOGGING: #23186
Credits
Huge thanks to @sokra for helping!
Core Changes
- add env var to enable advanced webpack logging and profiling: #23178
- get files from entrypoints instead of from chunks: #23174
Documentation Changes
- Update next.config.js link to default config: #22989
Example Changes
- Add Typescript section to Redux Toolkit Example: #23166
- Update Redis example to use Tailwind.: #23131
Credits
Huge thanks to @Mokshit06, @jflayhart, and @leerob for helping!
Core Changes
- update webpack, fix runtime location, fix undeclared variable, omit env vars from cache version: #23113
Credits
Huge thanks to @sokra for helping!
Core Changes
- Upgrade jest-worker: #23077
Documentation Changes
- Add note about next/export to Image Optimization docs.: #23088
- Duplicate scroll description: #23103
- Add image base path configuration option: #23115
- Document how to use
basePathwithnext/image.: #23123
Example Changes
- fix(lib/db): type mismatch: #23107
- Simplify redux toolkit example and update packages: #23047
Credits
Huge thanks to @leerob, @rekomat, @Mzaien, @phoenixbox, @Mokshit06, and @shuding for helping!
Core Changes
- Revert "Revert "[a11y] Route Announcements"": #23086
Credits
Huge thanks to @shuding for helping!
Core Changes
- Fix idleTimeout error being thrown in route loader: #22775
- Dedupe in-flight server data requests: #22781
- Ensure /404 is not exported during build un-necessarily: #22825
- Remove extra work on cli functions: #22855
- Upgrade webpack 5: #22864
- Ensure env is loaded before next config: #22879
- Update /500 page exporting when _error has custom GIP: #22887
- Add appDir field to server files manifest: #22915
- Fix next/image being downloaded multiple times on Safari: #22902
- Telemetry-compatible tracing: #22713
- Silence trace debug messages: #22988
- Ensure export only triggers when static pages are present: #22996
- Ensure i18n index prefetch is correct with trailingSlash: #22746
- Update README to fix broken links.: #23058
- Update error message for next export and next/image.: #23061
Documentation Changes
- Update module-path-aliases.md: #22739
- Update router.md: #21899
- Fix typo: #22891
- Add documentation for new static 500 behavior: #22888
- Fix typo in source maps documentation.: #22952
- Add note for loading env files during testing: #22982
- When there is data already, the props is props: { data }: #23003
- it is props: { posts }: #23004
- Update pages.md: #23064
Example Changes
- Add deploy with Vercel button to api-routes-apollo-server-and-client example: #22841
- Add RTL to with-next-translate example: #22808
- Corrected the url to strapi documentation: #22870
- chore: adds compiled css example: #22786
- Install tailwindcss as a development dependency: #22964
- Add an example for styled-jsx with content security policy: #23021
Credits
Huge thanks to @shuding, @edazpotato, @laithyounes, @ijjk, @harshitsan, @selrond, @sromexs, @melono6, @timneutkens, @madou, @mottox2, @leerob, @divmain, @nblthree, @KennethKinLum, @KarthikeyanRanasthala, and @alex-safian for helping!
Core Changes
- Ensure i18n index prefetch is correct with trailingSlash: #22746
- Update README to fix broken links.: #23058
- Update error message for next export and next/image.: #23061
Documentation Changes
- Update pages.md: #23064
Example Changes
- Add an example for styled-jsx with content security policy: #23021
Credits
Huge thanks to @KarthikeyanRanasthala, @alex-safian, and @leerob for helping!
Core Changes
- Ensure export only triggers when static pages are present: #22996
Documentation Changes
- Add note for loading env files during testing: #22982
- When there is data already, the props is props: { data }: #23003
- it is props: { posts }: #23004
Credits
Huge thanks to @KennethKinLum for helping!
Core Changes
- Silence trace debug messages: #22988
Example Changes
- Install tailwindcss as a development dependency: #22964
Credits
Huge thanks to @nblthree and @divmain for helping!
Core Changes
- Telemetry-compatible tracing: #22713
Documentation Changes
- Fix typo in source maps documentation.: #22952
Credits
Huge thanks to @leerob and @divmain for helping!
Core Changes
- Add appDir field to server files manifest: #22915
- Fix next/image being downloaded multiple times on Safari: #22902
Credits
Huge thanks to @shuding for helping!
Core Changes
- Update /500 page exporting when _error has custom GIP: #22887
Documentation Changes
- Fix typo: #22891
- Add documentation for new static 500 behavior: #22888
Example Changes
- chore: adds compiled css example: #22786
Credits
Huge thanks to @madou, @mottox2, and @ijjk for helping!
Core Changes
- Remove extra work on cli functions: #22855
- Upgrade webpack 5: #22864
- Ensure env is loaded before next config: #22879
Documentation Changes
- Update module-path-aliases.md: #22739
- Update router.md: #21899
Example Changes
- Corrected the url to strapi documentation: #22870
Credits
Huge thanks to @harshitsan, @selrond, @sromexs, @melono6, and @timneutkens for helping!
Core Changes
- Ensure /404 is not exported during build un-necessarily: #22825
Example Changes
- Add deploy with Vercel button to api-routes-apollo-server-and-client example: #22841
- Add RTL to with-next-translate example: #22808
Credits
Huge thanks to @edazpotato, @laithyounes, and @ijjk for helping!
Core Changes
- Fix idleTimeout error being thrown in route loader: #22775
- Dedupe in-flight server data requests: #22781
Credits
Huge thanks to @shuding for helping!
Core Changes
- fix: use absolute paths for require hook: #21877
- Experimental feature - fix optimizeCss flag for serverless deployments: #21790
- feat(next/image): remove
sharpfor wasm variant: #22253 - Add isPreview field to router: #21638
- Delay server compilation until client compilation is done in development: #22187
- Reduce webpack watcher aggregate timing: #22418
- Add generating static 500 status page: #22139
- chore: upgrade webpack5: #22460
- Ensure static 500 hydrates correctly with query: #22468
- Ensure rewrites are resolved while prefetching: #22442
- Allow smaller sizes in srcset for image with fill layout and sizes prop: #21670
- Experimental script loader changes: #22038
- Ensure component load order: #22731
- chore: upgrade webpack 5 version: #22737
- Fix index revalidate with dynamic route in minimal mode: #22783
Documentation Changes
- Document
scrolloption for router.push: #22275 - Point to official next-auth example: #22282
- Update docs.: #22358
- docs(deployment): Add Docker Image section: #17794
- add-supertokens-to-authentication.md: #22223
- Update NEXT_LOCALE cookie note: #22736
Example Changes
- With Supertokens example: #21384
- Fixing grammar: #22201
- Update emotion example package names in readme: #22144
- with-google-analytics: replace the GA_TRACKING_ID string by a environment variable: #21817
- Fix typo in German translation: #22291
- Change zeit fetch to vercel fetch: #21913
- Fix/Update (with-chakra-ui-typescript) dependencies: #22328
- improved the example on how to use WDYR with the latest next.js: #21651
- chore: fix typo in web.js: #22150
- added port config var to migrate-db.js and .env: #22395
- fix(examples/with-three-js): Upgrade drei@2.2.21 & three@0.125.0 #22365: #22431
- moving to upstash and new integration: #22436
- Add Azure Pipelines example to no-cache docs: #22708
- Add missing dependencies in example: #22712
Misc Changes
- Update CODEOWNERS: #22232
- Fix issue templates: #22349
- docs(deployment): Update working directory in builder stage: #22478
- Update deployment docs to mention caveat on next.config.js.: #22480
- example: Nhost with auth and realtime graphql example added: #22493
- fix: correctly handle fallbacks for webpack 5: #22497
- Mention regex route behavior with i18n: #22500
- Fix experimental optimizeCss for SSR: #22513
- docs(deployment): Update user ownership in docker deployment docs (#22539)
- bug (#21943): remove incorrect rewrite of parsedUrl.pathname in serverless handler (#22445)
- Forward log argument from loadEnvConfig to processEnv (#22440)
- Update the react-three-js example. (#22549)
- Add link to TypeScript docs from API Routes section (#22564)
- Simplify code examples for dynamic API routes (#22546)
- Load next.config.js async (#22578)
- fix: load webpack hook before config is required (#22583)
- Switch to stable rust for with-webassembly example (#22582)
- Add use cases for API Routes to documentation. (#22616)
- Fix typescript-eslint-jest example to remove Prettier package causing errors (#22452)
- Add note about other redirects to
next.config.jsdocs.: #22640 - Update authentication.md SSR example: #22641
- Fix grammar in next/amp API reference: #22653
- Add note about preloading to routing introduction.: #22656
- [examples/with-typescript] Upgrade to React v17: #22674
- deps(examples/hello-world): Upgrade to React v17: #22692
- Add note for using
getStaticPropswith404.js: #22693 - Ensure optional params are normalized in minimal mode: #22676
- Update webpack server chunks output: #22697
- Examples bump supertokens: #22764
- Add example prepr cms: #22776
Credits
Huge thanks to @rishabhpoddar, @daviavmello, @jpalmieri, @merceyz, @Segolene-Alquier, @divmain, @michrome, @janicklas-ralph, @Parnswir, @giraffesyo, @balazsorban44, @ijjk, @Cicada95, @vzaidman, @deniseyu, @leerob, @eltociear, @unimprobable, @timneutkens, @getspooky, @Timer, @armand1m, @alexknipfer, @elitan, @atcastle, @noahfschr, @amille44420, @laanayam333, @spidgorny, @devuxer, @Janpot, @nickbabcock, @rsipakov, @NkxxkN, @dominicfraser, @alevosia, @Kerumen, @CMeeg, @Pomaio, and @tim-hanssen for helping!
Core Changes
- Ensure component load order: #22731
- chore: upgrade webpack 5 version: #22737
Documentation Changes
- Update NEXT_LOCALE cookie note: #22736
Example Changes
- Add Azure Pipelines example to no-cache docs: #22708
- Add missing dependencies in example: #22712
Credits
Huge thanks to @CMeeg, @Pomaio, and @ijjk for helping!
Misc Changes
- Update webpack server chunks output: #22697
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Experimental script loader changes: #22038
Misc Changes
- Ensure optional params are normalized in minimal mode: #22676
Credits
Huge thanks to @janicklas-ralph for helping!
Misc Changes
- Fix grammar in next/amp API reference: #22653
- Add note about preloading to routing introduction.: #22656
- [examples/with-typescript] Upgrade to React v17: #22674
- deps(examples/hello-world): Upgrade to React v17: #22692
- Add note for using
getStaticPropswith404.js: #22693
Credits
Huge thanks to @alevosia, @leerob, @Kerumen, and @getspooky for helping!
Documentation Changes
- add-supertokens-to-authentication.md: #22223
Misc Changes
- Add note about other redirects to
next.config.jsdocs.: #22640 - Update authentication.md SSR example: #22641
Credits
Huge thanks to @NkxxkN, @leerob, and @dominicfraser for helping!
Misc Changes
- docs(deployment): Update user ownership in docker deployment docs (#22539)
- bug (#21943): remove incorrect rewrite of parsedUrl.pathname in serverless handler (#22445)
- Forward log argument from loadEnvConfig to processEnv (#22440)
- Update the react-three-js example. (#22549)
- Add link to TypeScript docs from API Routes section (#22564)
- Simplify code examples for dynamic API routes (#22546)
- Load next.config.js async (#22578)
- fix: load webpack hook before config is required (#22583)
- Switch to stable rust for with-webassembly example (#22582)
- Add use cases for API Routes to documentation. (#22616)
- Fix typescript-eslint-jest example to remove Prettier package causing errors (#22452)
Credits
Huge thanks to @alexknipfer, @amille44420, @laanayam333, @spidgorny, @devuxer, @Janpot, @nickbabcock, @leerob, and @rsipakov for helping!
Core Changes
- Allow smaller sizes in srcset for image with fill layout and sizes prop: #21670
Example Changes
- moving to upstash and new integration: #22436
Misc Changes
- Mention regex route behavior with i18n: #22500
- Fix experimental optimizeCss for SSR: #22513
Credits
Huge thanks to @atcastle and @noahfschr for helping!
Core Changes
- Ensure rewrites are resolved while prefetching: #22442
Documentation Changes
- docs(deployment): Add Docker Image section: #17794
Misc Changes
- docs(deployment): Update working directory in builder stage: #22478
- Update deployment docs to mention caveat on next.config.js.: #22480
- example: Nhost with auth and realtime graphql example added: #22493
- fix: correctly handle fallbacks for webpack 5: #22497
Credits
Huge thanks to @armand1m, @alexknipfer, @leerob, @elitan, and @Timer for helping!
Core Changes
- chore: upgrade webpack5: #22460
- Ensure static 500 hydrates correctly with query: #22468
Example Changes
- fix(examples/with-three-js): Upgrade drei@2.2.21 & three@0.125.0 #22365: #22431
Credits
Huge thanks to @getspooky and @Timer for helping!
Core Changes
- Reduce webpack watcher aggregate timing: #22418
- Add generating static 500 status page: #22139
Documentation Changes
- Update docs.: #22358
Example Changes
- improved the example on how to use WDYR with the latest next.js: #21651
- chore: fix typo in web.js: #22150
- added port config var to migrate-db.js and .env: #22395
Misc Changes
- Fix issue templates: #22349
Credits
Huge thanks to @vzaidman, @deniseyu, @leerob, @eltociear, @unimprobable, and @timneutkens for helping!
Core Changes
- Delay server compilation until client compilation is done in development: #22187
Example Changes
- Fix/Update (with-chakra-ui-typescript) dependencies: #22328
Credits
Huge thanks to @Cicada95 for helping!
Core Changes
- Add isPreview field to router: #21638
Credits
Huge thanks to @ijjk for helping!
Documentation Changes
- Point to official next-auth example: #22282
Example Changes
- Change zeit fetch to vercel fetch: #21913
Credits
Huge thanks to @giraffesyo and @balazsorban44 for helping!
Core Changes
- Experimental feature - fix optimizeCss flag for serverless deployments: #21790
Documentation Changes
- Document
scrolloption for router.push: #22275
Example Changes
- with-google-analytics: replace the GA_TRACKING_ID string by a environment variable: #21817
Misc Changes
- Update CODEOWNERS: #22232
Credits
Huge thanks to @Segolene-Alquier, @divmain, @michrome, and @janicklas-ralph for helping!
Core Changes
- fix: use absolute paths for require hook: #21877
Example Changes
- With Supertokens example: #21384
- Fixing grammar: #22201
- Update emotion example package names in readme: #22144
Credits
Huge thanks to @rishabhpoddar, @daviavmello, @jpalmieri, and @merceyz for helping!
Core Changes
- Fix #top anchor link scroll: #16638
- fix: add declarations for compiled webpack and loader: #21741
- Add stats config option: #21761
- Update stats flag default: #21791
- Add webpack type to ncc bundle: #21785
- Rename package build scripts to dev: #21743
- Add version for stats: #21823
- feat: Implement webpack require hook: #21802
- Make experimental stats file approximately 90% smaller: #21858
- Update reasons array to use module id instead of identifier: #21895
- Make sure all modules are included in the stats file: #21942
- Fix profiling plugin for next build: #21989
- Ensure error is passed up in minimal mode: #22030
- Add nccing AMP optimizer: #21980
- Only create locale domain links if on locale domain: #22032
- fix(link): cancel idle callback on unmount: #22072
- Check if parentspan is provided in profiler: #22061
- Upgrade to lerna 4: #22039
Documentation Changes
- Fix “it’s” typo in CRA migration doc: #21678
- Docs: delete extra bracket [introduction.md]: #21715
- Fix docs for sample query parameters: #21879
- Revert "Fix docs for sample query parameters": #21881
- Add example for headers and link in the docs: #21821
- Update server output path in static optimization docs: #21910
Example Changes
- Return a number from sort compare function: #21763
- fix: send url to gtm.pageview: #21747
- Remove dotenv from Relay example.: #21814
- Fix Linaria link: #21826
- Update react to 17.0.1 in example/with-typescript-eslint-jest: #21870
- Update React version in Tailwind example: #21906
- [examples] Wrap entire app with Styletron provider for with-styletron: #21908
- Fix example for custom server SSR caching: #18786
- Added blog-starter example using Ghost CMS: #19990
- Upgrade packages for example/with-typescript-eslint-jest: #21963
- Improve sanity.io example: #18227
- with-apollo SSR example added.: #21956
- Fix with-firebase-hosting running locally: #21971
Misc Changes
- Update script loader tests: #21730
- Fix getting latest stable tag for stats: #21753
Credits
Huge thanks to @lachlanjc, @lebreRafael, @AryanBeezadhur, @ijjk, @guybedford, @giraffesyo, @balazsorban44, @timneutkens, @leerob, @petecorreia, @kaznak, @sam3d, @Timer, @fwuensche, @rafaellaurindo, @sphilee, @styxlab, @rexxars, @smitbarmase, @maerzhase, @divmain, and @matamatanot for helping!
Core Changes
- fix(link): cancel idle callback on unmount: #22072
- Check if parentspan is provided in profiler: #22061
- Upgrade to lerna 4: #22039
Credits
Huge thanks to @Timer, @divmain, and @matamatanot for helping!
Core Changes
- Fix profiling plugin for next build: #21989
- Ensure error is passed up in minimal mode: #22030
- Add nccing AMP optimizer: #21980
- Only create locale domain links if on locale domain: #22032
Example Changes
- Upgrade packages for example/with-typescript-eslint-jest: #21963
- Improve sanity.io example: #18227
- with-apollo SSR example added.: #21956
- Fix with-firebase-hosting running locally: #21971
Credits
Huge thanks to @kaznak, @rexxars, @smitbarmase, @maerzhase, and @timneutkens for helping!
Core Changes
- Make sure all modules are included in the stats file: #21942
Documentation Changes
- Update server output path in static optimization docs: #21910
Example Changes
- Update React version in Tailwind example: #21906
- [examples] Wrap entire app with Styletron provider for with-styletron: #21908
- Fix example for custom server SSR caching: #18786
- Added blog-starter example using Ghost CMS: #19990
Credits
Huge thanks to @rafaellaurindo, @ijjk, @giraffesyo, @sphilee, and @styxlab for helping!
Core Changes
- Update reasons array to use module id instead of identifier: #21895
Documentation Changes
- Fix docs for sample query parameters: #21879
- Revert "Fix docs for sample query parameters": #21881
- Add example for headers and link in the docs: #21821
Example Changes
- Update react to 17.0.1 in example/with-typescript-eslint-jest: #21870
Credits
Huge thanks to @kaznak, @sam3d, @Timer, and @fwuensche for helping!
Core Changes
- feat: Implement webpack require hook: #21802
- Make experimental stats file approximately 90% smaller: #21858
Example Changes
- Fix Linaria link: #21826
Credits
Huge thanks to @petecorreia, @guybedford, and @timneutkens for helping!
Core Changes
- Add webpack type to ncc bundle: #21785
- Rename package build scripts to dev: #21743
- Add version for stats: #21823
Example Changes
- Return a number from sort compare function: #21763
- fix: send url to gtm.pageview: #21747
- Remove dotenv from Relay example.: #21814
Credits
Huge thanks to @giraffesyo, @balazsorban44, @guybedford, @timneutkens, @leerob, and @ijjk for helping!
Core Changes
- Update stats flag default: #21791
Core Changes
- Add stats config option: #21761
Misc Changes
- Fix getting latest stable tag for stats: #21753
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Fix #top anchor link scroll: #16638
- fix: add declarations for compiled webpack and loader: #21741
Documentation Changes
- Fix “it’s” typo in CRA migration doc: #21678
- Docs: delete extra bracket [introduction.md]: #21715
Misc Changes
- Update script loader tests: #21730
Credits
Huge thanks to @lachlanjc, @lebreRafael, @AryanBeezadhur, @ijjk, and @guybedford for helping!
Core Changes
- refactor(next): client/index.tsx: #20806
- Update profiling approach to cover webpack runs: #20900
- Prevent unpredictable dependency hosting by explicitly resolve module path on webpack.ProvidePlugin: #20971
- fix: Replace all backslashes when normalizing path in getFormattedDiagnostic: #17915
- Error when exporting to
staticdirectory: #20969 - fix(next): always enable absoluteRuntime when running under webpack: #19538
- perf(next): use require.resolve instead of resolve: #19518
- feat(css): add strictPostcssConfiguration flag: #20914
- Add proper error when conflicting paths are detected: #20918
- Font optimization - remove warning message: #20874
- Wrong index path revalidation timer: #20818
- Fix image cache for vector and animated images: #20480
- feat: webpack inlining with configuration for v4 / v5: #20598
- fix: bump node-sass peer dependency: #21084
- fix: webpack 5 and worker-loader support: #21050
- feat: Webpack loader inlining: #21127
- Bump minimum suggested React version: #21046
- fix: resolve two peer dep install warnings: #21176
- fix hydration mismatch on href for url with anchor refs: #21065
- Minimal mode normalizing: #21083
- use webpack resolve api to resolve in externals config: #21205
- improve splitChunks config for webpack 5: #21208
- Add codemod for files that do not support the new React JSX transform: #21281
- Fix webpack 5 warning + disabling of profiling: #21276
- chore: upgrade
chokidarto fix install warning: #21343 - Fix splitting page path by buildId: #19901
- upgrade webpack 5 for empty entrypoint fix: #21353
- Add experimental per-page option to disable JS preloads: #21329
- chore: compile resolve-url-loader: #21351
- chore: compile
style-loaderdep: #21355 - chore: compile css-loader: #21357
- Preserve asPath while resolving rewrites: #21410
- ci: fix webpack 5 enabling for tests: #21436
- Fix shallow routing scroll: #21437
- fix(next): respect extends in tsconfig with exclude and include: #16619
- Fix hostname message in dev/start: #20409
- fix: upgrade pinned deps for tests: #21515
- Require only build directory to be writeable for build: #20977
- Critical css fix: #21462
- Fix aspath for getInitialProps: #20572
- refactor: server/api-utils.ts: #21148
- expanded on No Router Instance: #21248
- refactor: add types to name-default-components.ts: #21291
- Fix to parse REACT_EDITOR in env: #21331
- Remove mkdirp: #21365
- Change type of GetServerSidePropsContext.req.cookies the be the same as NextApiRequest.cookies: #21336
- Allow
undefinedbody sent tosendData(): #20981 - Font optimization - Pass nonce to inlined font definition: #21346
- chore: upgrade webpack5: #21563
- Ensure prerender-manifest contains all i18n revalidate values: #21404
- Improvements to webpack tracing, including hot-reload: #21652
- Experimental feature changes: #21646
Documentation Changes
- Fix deploy buttons URLs: #20834
- Fix typo in error markdown: #20825
- Replace
zeit/next.jswithvercel/next.js: #20849 - Adding small note to ENV documentation: #20860
- Add note on destructuring to Env Variables docs: #20869
- Add "Migrating from React Router" docs.: #20982
- Fix teeny tiny typo: #21005
- Update a link: #20999
- Add missing word to Data Fetching docs: #21018
- Update redirected or broken Vercel docs links.: #21119
- Small spelling fix: #21246
- Add guide "Migrating from Create React App": #21212
- Update Supabase example.: #21200
- Add Note to i18n-routing Docs for Subdomains for Locale Domains: #21387
- Update data-fetching.md to use async file loading: #17518
- Update headers.md to clarify Cache-Control gets overwritten in prod: #19967
- Added Typescript example for withRouter: #18116
- Add Next.js Analytics to documentation.: #21527
- Doc: pageExtensions - note regarding affected files: #21326
- Add Kontent example to preview section: #21542
- Update docs and Create Next App to use API Middlewares by default.: #21639
- Add note about Yarn 2 support.: #21657
- Remove note about Yarn 2 support.: #21665
Example Changes
- Fix an error in Kontent CMS example caused by a file name typo: #20863
- Improve with firebase cloud messaging: #20868
- Update PostCSS plugin list in README: #20956
- Fix error in example: #20934
- Fix with-three-js example: #20897
- GraphCMS example - Upgrade to React 17 / Tailwind 2 and next/image: #20772
- Update Supabase Quickstart Screen + Tailwind 1.x to 2.x: #20770
- Use archive link for electron-next in the examples: #20879
- fix(examples): make with-graphql-hooks run correctly again: #20929
- Update with-polyfills example.: #20996
- Add useCreateIndex to mongoose connection options: #21145
- Include utm_source on example links to vercel.com: #21305
- added an ipcRenderer usage sample to the electron-typescript example: #20000
- Adds optional REDIS_PASSWORD env var to make setup with RedisLabs work easily for the
with-redisexample: #21432 - Use autoprefixer instead of postcss-preset-env: #21215
- feature/vanilla-emotion - add an example of vanilla emotion: #20228
- refactor(with-tailwindcss-emotion): example remove styles directory: #21368
- Fix typo in Header component of with-iron-session example: #21428
- Add example: Firebase authentication + SSR: #15202
- Unify installation scripts for example apps: #19808
- Bring Tailwind CSS example in line with official Tailwind docs: #19750
- Add "title" as the source for "slug" in cms-sanity example: #19867
- Update dependencies of with-tailwindcss example: #21517
- Corrected links in with-yarn-workspaces: #21523
- suppressing eslint warning: #21163
- Update links that go to vercel.com/now: #21556
- Grammatical fixes: #21644
Misc Changes
- Update redbox tests: #20866
- Update license year for all packages
- Add pnpm integration test: #17882
- Skip GitHub actions tests for irrelevant changes: #20867
- Update next/image test: #20986
- Fix "rule.test.test is not a function" in @next/plugin-storybook: #21032
- Fix tests for React 16 + Webpack 4/5: #21146
- Update 1.bug_report.yml
- fix: lint
- Update chromedriver brew install instructions in contributing doc: #21251
- Move hydration mis-match test suite: #21264
- fix: lint
- Remove console.log
- ci: stabilize Window CI: #21344
- Add additional dynamic route hash tests: #21363
- Update manifest.json
- Test: serverless target should set correct revalidation (
cache-control) header: #15512 - Add a VSCode Launch configuration for debugging examples: #16940
- Filter canary branch for GitHub actions cancelling: #21524
- Fix docs only check for CI: #21530
- Fix and add test filterModuleRules for next-plugin-storybook: #17306
- Update CI docs change diff check: #21558
- Remove branches filter from actions cancel workflow: #21564
- Update CI publish step to trigger after build: #21661
Credits
Huge thanks to @lucleray, @jeremybalog, @tarunama, @zainfathoni, @destumme, @ijjk, @timneutkens, @VictorAssis, @giraffesyo, @bhbs, @ciruz, @lachlanjc, @simnalamburt, @Almad, @frol, @ludofischer, @merceyz, @elliottsj, @leerob, @Baheya, @Lalit2005, @vldmrkl, @janicklas-ralph, @AriFreyr, @kaykdm, @guybedford, @Sharcoux, @ramasilveyra, @devknoll, @botv, @pkellner, @sumanthratna, @sokra, @lfades, @thorwebdev, @berndartmueller, @davidspiessens, @ShashiSrinath, @elsigh, @MMT-LD, @hankandre, @maxnowack, @kmjennison, @darshkpatel, @mohsen1, @DylanRJohnston, @calmonr, @imrobinized, @justintemps, @ncarchedi, @btk, @faizanv, @chulkilee, @ryan-lustre, @dfelber, @Ymirke, @Robogeek95, @mcha-dev, @youngvform, @andrehsu, @Simply007, @kaznak, @rokobekavac0, @ja0n, @Timer, @mattruby, and @divmain for helping!
Documentation Changes
- Remove note about Yarn 2 support.: #21665
Misc Changes
- Update CI publish step to trigger after build: #21661
Credits
Huge thanks to @ijjk and @leerob for helping!
Core Changes
- Experimental feature changes: #21646
Documentation Changes
- Add note about Yarn 2 support.: #21657
Credits
Huge thanks to @janicklas-ralph and @leerob for helping!
Core Changes
- Improvements to webpack tracing, including hot-reload: #21652
Documentation Changes
- Update docs and Create Next App to use API Middlewares by default.: #21639
Example Changes
- Grammatical fixes: #21644
Credits
Huge thanks to @mattruby, @leerob, and @divmain for helping!
Core Changes
- Fix aspath for getInitialProps: #20572
- refactor: server/api-utils.ts: #21148
- expanded on No Router Instance: #21248
- refactor: add types to name-default-components.ts: #21291
- Fix to parse REACT_EDITOR in env: #21331
- Remove mkdirp: #21365
- Change type of GetServerSidePropsContext.req.cookies the be the same as NextApiRequest.cookies: #21336
- Allow
undefinedbody sent tosendData(): #20981 - Font optimization - Pass nonce to inlined font definition: #21346
- chore: upgrade webpack5: #21563
- Ensure prerender-manifest contains all i18n revalidate values: #21404
Documentation Changes
- Add Next.js Analytics to documentation.: #21527
- Doc: pageExtensions - note regarding affected files: #21326
- Add Kontent example to preview section: #21542
Example Changes
- suppressing eslint warning: #21163
- Update links that go to vercel.com/now: #21556
Misc Changes
- Fix docs only check for CI: #21530
- Fix and add test filterModuleRules for next-plugin-storybook: #17306
- Update CI docs change diff check: #21558
- Remove branches filter from actions cancel workflow: #21564
Credits
Huge thanks to @kaykdm, @leerob, @tarunama, @Robogeek95, @mcha-dev, @youngvform, @chulkilee, @andrehsu, @Simply007, @kaznak, @rokobekavac0, @janicklas-ralph, @lfades, @ja0n, and @Timer for helping!
Core Changes
- ci: fix webpack 5 enabling for tests: #21436
- Fix shallow routing scroll: #21437
- fix(next): respect extends in tsconfig with exclude and include: #16619
- Fix hostname message in dev/start: #20409
- fix: upgrade pinned deps for tests: #21515
- Require only build directory to be writeable for build: #20977
- Critical css fix: #21462
Documentation Changes
- Update data-fetching.md to use async file loading: #17518
- Update headers.md to clarify Cache-Control gets overwritten in prod: #19967
- Added Typescript example for withRouter: #18116
Example Changes
- feature/vanilla-emotion - add an example of vanilla emotion: #20228
- refactor(with-tailwindcss-emotion): example remove styles directory: #21368
- Fix typo in Header component of with-iron-session example: #21428
- Add example: Firebase authentication + SSR: #15202
- Unify installation scripts for example apps: #19808
- Bring Tailwind CSS example in line with official Tailwind docs: #19750
- Add "title" as the source for "slug" in cms-sanity example: #19867
- Update dependencies of with-tailwindcss example: #21517
- Corrected links in with-yarn-workspaces: #21523
Misc Changes
- Test: serverless target should set correct revalidation (
cache-control) header: #15512 - Add a VSCode Launch configuration for debugging examples: #16940
- Filter canary branch for GitHub actions cancelling: #21524
Credits
Huge thanks to @MMT-LD, @hankandre, @maxnowack, @kaykdm, @kmjennison, @darshkpatel, @mohsen1, @DylanRJohnston, @calmonr, @imrobinized, @justintemps, @ncarchedi, @btk, @faizanv, @chulkilee, @ryan-lustre, @dfelber, @Ymirke, @ijjk, and @janicklas-ralph for helping!
Core Changes
- Preserve asPath while resolving rewrites: #21410
Documentation Changes
- Add Note to i18n-routing Docs for Subdomains for Locale Domains: #21387
Example Changes
- added an ipcRenderer usage sample to the electron-typescript example: #20000
- Adds optional REDIS_PASSWORD env var to make setup with RedisLabs work easily for the
with-redisexample: #21432 - Use autoprefixer instead of postcss-preset-env: #21215
Misc Changes
- Add additional dynamic route hash tests: #21363
- Update manifest.json
Credits
Huge thanks to @ijjk, @davidspiessens, @ShashiSrinath, @elsigh, and @giraffesyo for helping!
Core Changes
- chore: compile
style-loaderdep: #21355 - chore: compile css-loader: #21357
Core Changes
- Add codemod for files that do not support the new React JSX transform: #21281
- Fix webpack 5 warning + disabling of profiling: #21276
- chore: upgrade
chokidarto fix install warning: #21343 - Fix splitting page path by buildId: #19901
- upgrade webpack 5 for empty entrypoint fix: #21353
- Add experimental per-page option to disable JS preloads: #21329
- chore: compile resolve-url-loader: #21351
Documentation Changes
- Add guide "Migrating from Create React App": #21212
- Update Supabase example.: #21200
Example Changes
- Include utm_source on example links to vercel.com: #21305
Misc Changes
- Move hydration mis-match test suite: #21264
- fix: lint
- Remove console.log
- ci: stabilize Window CI: #21344
Credits
Huge thanks to @kaykdm, @timneutkens, @leerob, @lfades, @thorwebdev, @berndartmueller, and @sokra for helping!
Core Changes
- fix hydration mismatch on href for url with anchor refs: #21065
- Minimal mode normalizing: #21083
- use webpack resolve api to resolve in externals config: #21205
- improve splitChunks config for webpack 5: #21208
Documentation Changes
- Small spelling fix: #21246
Misc Changes
- Update chromedriver brew install instructions in contributing doc: #21251
Credits
Huge thanks to @kaykdm, @ijjk, @pkellner, @sumanthratna, and @sokra for helping!
Core Changes
- fix: resolve two peer dep install warnings: #21176
Example Changes
- Add useCreateIndex to mongoose connection options: #21145
Misc Changes
- Update 1.bug_report.yml
- fix: lint
Credits
Huge thanks to @botv for helping!
Core Changes
- feat: Webpack loader inlining: #21127
- Bump minimum suggested React version: #21046
Documentation Changes
- Update redirected or broken Vercel docs links.: #21119
Misc Changes
- Fix tests for React 16 + Webpack 4/5: #21146
Credits
Huge thanks to @leerob, @guybedford, and @devknoll for helping!
Core Changes
- Add proper error when conflicting paths are detected: #20918
- Font optimization - remove warning message: #20874
- Wrong index path revalidation timer: #20818
- Fix image cache for vector and animated images: #20480
- feat: webpack inlining with configuration for v4 / v5: #20598
- fix: bump node-sass peer dependency: #21084
- fix: webpack 5 and worker-loader support: #21050
Documentation Changes
- Add "Migrating from React Router" docs.: #20982
- Fix teeny tiny typo: #21005
- Update a link: #20999
- Add missing word to Data Fetching docs: #21018
Example Changes
- Update with-polyfills example.: #20996
Misc Changes
- Skip GitHub actions tests for irrelevant changes: #20867
- Update next/image test: #20986
- Fix "rule.test.test is not a function" in @next/plugin-storybook: #21032
Credits
Huge thanks to @ijjk, @leerob, @Baheya, @Lalit2005, @vldmrkl, @janicklas-ralph, @AriFreyr, @kaykdm, @guybedford, @ludofischer, @Sharcoux, and @ramasilveyra for helping!
Core Changes
- refactor(next): client/index.tsx: #20806
- Update profiling approach to cover webpack runs: #20900
- Prevent unpredictable dependency hosting by explicitly resolve module path on webpack.ProvidePlugin: #20971
- fix: Replace all backslashes when normalizing path in getFormattedDiagnostic: #17915
- Error when exporting to
staticdirectory: #20969 - fix(next): always enable absoluteRuntime when running under webpack: #19538
- perf(next): use require.resolve instead of resolve: #19518
- feat(css): add strictPostcssConfiguration flag: #20914
Documentation Changes
- Fix deploy buttons URLs: #20834
- Fix typo in error markdown: #20825
- Replace
zeit/next.jswithvercel/next.js: #20849 - Adding small note to ENV documentation: #20860
- Add note on destructuring to Env Variables docs: #20869
Example Changes
- Fix an error in Kontent CMS example caused by a file name typo: #20863
- Improve with firebase cloud messaging: #20868
- Update PostCSS plugin list in README: #20956
- Fix error in example: #20934
- Fix with-three-js example: #20897
- GraphCMS example - Upgrade to React 17 / Tailwind 2 and next/image: #20772
- Update Supabase Quickstart Screen + Tailwind 1.x to 2.x: #20770
- Use archive link for electron-next in the examples: #20879
- fix(examples): make with-graphql-hooks run correctly again: #20929
Misc Changes
- Update redbox tests: #20866
- Update license year for all packages
- Add pnpm integration test: #17882
Credits
Huge thanks to @lucleray, @jeremybalog, @tarunama, @zainfathoni, @destumme, @ijjk, @timneutkens, @VictorAssis, @giraffesyo, @bhbs, @ciruz, @lachlanjc, @simnalamburt, @Almad, @frol, @ludofischer, @merceyz, and @elliottsj for helping!
Core Changes
- Remove extra redirect for index with i18n: #20397
- Update revalidate checks: #19796
- Ensure query is present with i18n and history navigation: #20441
- Ensure index rewrite is matched with i18n correctly: #20509
- fix(next/image): inherit parent visibility: #20542
- fix Fast Refresh tests with webpack@5: #20543
- Ensure path encoding is handled consistently for prerendered pages: #19135
- Remove import type syntax from core files: #20379
- Add error for invalid webpack 5 version: #20558
- Ignore emacs lockfiles: #20497
- fix(next/image): ignore typography prose styles: #20580
- Clean up webpack 5 version error: #20578
- Update sharp optional dependency to support NPM 7: #20432
- deps: upgrade various deps (mainly babel): #20586
- Remove unnecessary unfetch polyfill for dev: #20589
- Add profiling to webpack loaders: #20392
- Ensure next/image loads correctly with basePath: #20592
- fix(next/link): reset scroll before lifecycles: #20595
- Refactor GS(S)P notFound client-side handling: #20594
- Ensure index basePath is detected correctly: #20596
- Ensure domain locales are redirected client-side: #20562
- fix(build): require test files be full name or extension: #20605
- fix(router): consistent scroll behavior for Link/Router#push: #20606
- feat(next/image): reduce byte waste for 3x screens: #20610
- Fix memory leak in useIntersection: #20407
- feat(next/image): preload priority images: #20615
- Move CSS Preloads to top of head at document render: #18864
- Ensure SSG data 404 handles correctly for non-notFound: #20622
- Fix: fallback font tag repetition: #20382
- feat: upgrade to ncc@0.26.1: #20627
- Ensure href is updated for locale domain: #20631
- fix(experimental scroll): use
sessionStorageinstead ofhistory: #20633 - Add isReady field on router: #20628
- fix(overlay): skip disable & upgrade platform: #20647
- Fix react-dev-overlay rem style conflict: #17723
- fix(next/image): do not pass-through srcSrc on lazy image: #20651
- Ensure all entries are cleared from cache on runtime change: #20652
- Update error when internal href and external as are used: #20658
- fix(source map): correctly generate source maps: #20672
- chore: remove old traces of
next/dataexperiment: #20678 - fix(next/babel): read env from caller, not process: #20679
- Don't dedupe meta tags with the same name but unique keys: #17099
- chore(client-image): add return types: #20686
- Ensure isReady is set correctly for auto static dynamic route: #20729
- Call res.write('') inside apiRes.redirect() helper to prevent an edge case: #20461
- fix(next): add missing peer dependencies for sass support: #17606
- fix(next-mdx): resolve webpack loader: #17983
- Move sizes var declaration just before used: #18402
- fix(next/head): assign bool attrs to match server: #20748
- Fix notFound false pages returning 404: #19861
- Add pr section to azure config: #20758
- refactor(client): add return types: #20728
- Support for custom image loaders via image component prop: #20216
- Ensure path starts with / when deleting index basePath with query: #20766
- Ensure i18n + API rewrite is handled correctly: #20751
- Update error for mis-matching path in getStaticPaths: #20767
- Only prefetch Link if router is in context: #19857
- Add missing isReady declaration to NextRouter type: #20819
Documentation Changes
- Upgrade all http links to https: #20402
- Docs typo fix: #20498
- Remove "priority" prop from Image docs: #20471
- Ignore domains option when loader is set: #18447
- Add version history for API changes to documentation.: #20604
- docs: update image docs for consistency: #20621
- Add docs on authentication patterns.: #16277
- Update docs for
basePath: falserewrite: #20663 - Update link.md: #20435
- Clarify how to use Environment Variables on Vercel: #20708
- Remove outdated documentation: #20714
- Clarify ctx.query type on getServerSideProps: #20327
- Add documentation for rewrite params query passing behavior: #20757
- Add docs for custom image loaders.: #20788
- Update static file serving doc to mention Next.js 10: #20815
- Use vercel.app for blog starter URL: #20820
Example Changes
- example with-google-tag-manager: #20042
- Style improvements on MongoDB example : #20515
- Fix typos found on examples docs: #20516
- fix example using-router import wrong pathname: #20536
- Update README for with-emotion example: #20338
- Update README.md: #19885
- Upgrade Tailwindcss to 2.0.2: #20517
- Update with-msw example: #20335
- Correct import comment in interfaces: #20052
- with-zustand example fix for build error on ssr page: #19465
- Update with-mongodb to be TypeScript-friendly: #19383
- Update with-styletron example to not use DebugEngine: #20233
- Update authentication examples: #19330
- Update dbConnect.js: #19644
- Update blog starter example: #19698
- Update Next.js in mongoose example: #20644
- example with-mdbreact: #19879
- Fix withSourceMaps is not a function: #20643
- Update to Tailwind CSS 2.0 in blog-starter-typescript example: #20664
- Improve the "why did you render" library example and readme: #20712
- Update database config explanation in with-firebase-app example: #20709
- New example: /with-storybook-styled-jsx-scss: #18570
- Update withUser to useUser in README.md of the example with-iron-session: #20723
- Update with-antd example: #19699
- Add new example for rate limiting API routes.: #19509
- Remove an undefined parameter: #20762
- with-sitemap example - fix deploy button: #20774
- with-strict-csp example - fix deploy button since repo was moved: #20777
- Fix with-react-intl example: #20763
- Move
windowcheck to after initializing Firebase: #20764 - Updated deploy button URL: #20756
- Fix mini typo in with-cookie-auth-fauna-example: #20808
- Guard useSwr() to avoid sending invalid request: #20671
- Fix: Build time error for with-mysql example #19635: #19636
- Added with-mqtt-js example: #17939
- Update gtm.js: #20807
- feat: add Twilio Paste example: #20587
Misc Changes
- Update i18n test: #20548
- Ensure webpack 5 test set-up matches integration flow: #20553
- ci: adjust Azure Pipelines trigger: #20554
- Create bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Rename bug_report.yml to 1.bug_report.yml
- Delete 1.Bug_report.md
- Update 1.bug_report.yml
- Create 2.feature_request.yml
- Update 2.feature_request.yml
- Delete 2.Feature_request.md
- Update 1.bug_report.yml
- Update 1.bug_report.yml
- Update 1.bug_report.yml
- Update 1.bug_report.yml
- Create 3.example_bug_report.yml
- Update 1.bug_report.yml
- Change order of templates
- Run prettier against new issue templates
- Bring back indicator documentation with a note that the feature has been removed
- tests: add
isReadyfield test for TS: #20821
Credits
Huge thanks to @xom9ikk, @niko20, @LauraBeatris, @armspkt, @xiaooye, @sungpro, @awareness481, @ijjk, @joebernard, @jensmeindertsma, @donavon, @DaneTheory, @Zertz, @danielyefet, @lfender6445, @tajo, @Timer, @lfades, @jorrit, @timneutkens, @matamatanot, @leerob, @tvler, @mustafaKamal-fe, @atcastle, @prateekbh, @gregrickaby, @guybedford, @ciruz, @enochndika, @zimv, @lharries, @JstnEdr, @zbialecki, @fredmontet, @tarunama, @vzaidman, @leo, @kachkaev, @merceyz, @mongolyy, @justinphilpott, @mjr, @fireairforce, @jvarho, @gr-qft, @kaykdm, @thomaswang, @c316, @benbender, @michael, @damusnet, @farhankk360, @smaktacular, @webda2l, @chibicode, @bar7b, and @SiTaggart for helping!
Core Changes
- Add missing isReady declaration to NextRouter type: #20819
Documentation Changes
- Use vercel.app for blog starter URL: #20820
Example Changes
- Added with-mqtt-js example: #17939
- Update gtm.js: #20807
- feat: add Twilio Paste example: #20587
Misc Changes
- tests: add
isReadyfield test for TS: #20821
Credits
Huge thanks to @smaktacular, @webda2l, @chibicode, @bar7b, and @SiTaggart for helping!
Core Changes
- Ensure i18n + API rewrite is handled correctly: #20751
- Update error for mis-matching path in getStaticPaths: #20767
- Only prefetch Link if router is in context: #19857
Documentation Changes
- Add docs for custom image loaders.: #20788
- Update static file serving doc to mention Next.js 10: #20815
Example Changes
- Fix mini typo in with-cookie-auth-fauna-example: #20808
- Guard useSwr() to avoid sending invalid request: #20671
- Fix: Build time error for with-mysql example #19635: #19636
Credits
Huge thanks to @leerob, @benbender, @ijjk, @timneutkens, @michael, @damusnet, and @farhankk360 for helping!
Core Changes
- fix(next-mdx): resolve webpack loader: #17983
- Move sizes var declaration just before used: #18402
- fix(next/head): assign bool attrs to match server: #20748
- Fix notFound false pages returning 404: #19861
- Add pr section to azure config: #20758
- refactor(client): add return types: #20728
- Support for custom image loaders via image component prop: #20216
- Ensure path starts with / when deleting index basePath with query: #20766
Documentation Changes
- Clarify ctx.query type on getServerSideProps: #20327
- Add documentation for rewrite params query passing behavior: #20757
Example Changes
- Update database config explanation in with-firebase-app example: #20709
- New example: /with-storybook-styled-jsx-scss: #18570
- Update withUser to useUser in README.md of the example with-iron-session: #20723
- Update with-antd example: #19699
- Add new example for rate limiting API routes.: #19509
- Remove an undefined parameter: #20762
- with-sitemap example - fix deploy button: #20774
- with-strict-csp example - fix deploy button since repo was moved: #20777
- Fix with-react-intl example: #20763
- Move
windowcheck to after initializing Firebase: #20764 - Updated deploy button URL: #20756
Misc Changes
- Bring back indicator documentation with a note that the feature has been removed
Credits
Huge thanks to @merceyz, @matamatanot, @mongolyy, @justinphilpott, @mjr, @fireairforce, @awareness481, @leerob, @jvarho, @ijjk, @gr-qft, @tarunama, @ciruz, @kaykdm, @atcastle, @thomaswang, and @c316 for helping!
Core Changes
- Don't dedupe meta tags with the same name but unique keys: #17099
- chore(client-image): add return types: #20686
- Ensure isReady is set correctly for auto static dynamic route: #20729
- Call res.write('') inside apiRes.redirect() helper to prevent an edge case: #20461
- fix(next): add missing peer dependencies for sass support: #17606
Documentation Changes
- Update link.md: #20435
- Clarify how to use Environment Variables on Vercel: #20708
- Remove outdated documentation: #20714
Example Changes
- Improve the "why did you render" library example and readme: #20712
Misc Changes
- Create bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Update bug_report.yml
- Rename bug_report.yml to 1.bug_report.yml
- Delete 1.Bug_report.md
- Update 1.bug_report.yml
- Create 2.feature_request.yml
- Update 2.feature_request.yml
- Delete 2.Feature_request.md
- Update 1.bug_report.yml
- Update 1.bug_report.yml
- Update 1.bug_report.yml
- Update 1.bug_report.yml
- Create 3.example_bug_report.yml
- Update 1.bug_report.yml
- Change order of templates
- Run prettier against new issue templates
Credits
Huge thanks to @zbialecki, @fredmontet, @tarunama, @vzaidman, @ijjk, @leo, @timneutkens, @kachkaev, and @merceyz for helping!
Core Changes
- chore: remove old traces of
next/dataexperiment: #20678 - fix(next/babel): read env from caller, not process: #20679
Core Changes
- Ensure href is updated for locale domain: #20631
- fix(experimental scroll): use
sessionStorageinstead ofhistory: #20633 - Add isReady field on router: #20628
- fix(overlay): skip disable & upgrade platform: #20647
- Fix react-dev-overlay rem style conflict: #17723
- fix(next/image): do not pass-through srcSrc on lazy image: #20651
- Ensure all entries are cleared from cache on runtime change: #20652
- Update error when internal href and external as are used: #20658
- fix(source map): correctly generate source maps: #20672
Documentation Changes
- Add docs on authentication patterns.: #16277
- Update docs for
basePath: falserewrite: #20663
Example Changes
- Update Next.js in mongoose example: #20644
- example with-mdbreact: #19879
- Fix withSourceMaps is not a function: #20643
- Update to Tailwind CSS 2.0 in blog-starter-typescript example: #20664
Credits
Huge thanks to @leerob, @Timer, @ciruz, @enochndika, @zimv, @lharries, and @JstnEdr for helping!
Core Changes
- Move CSS Preloads to top of head at document render: #18864
- Ensure SSG data 404 handles correctly for non-notFound: #20622
- Fix: fallback font tag repetition: #20382
- feat: upgrade to ncc@0.26.1: #20627
Example Changes
- Update blog starter example: #19698
Credits
Huge thanks to @atcastle, @prateekbh, @gregrickaby, and @guybedford for helping!
Core Changes
- feat(next/image): reduce byte waste for 3x screens: #20610
- Fix memory leak in useIntersection: #20407
- feat(next/image): preload priority images: #20615
Documentation Changes
- docs: update image docs for consistency: #20621
Example Changes
- Update dbConnect.js: #19644
Credits
Huge thanks to @tvler and @mustafaKamal-fe for helping!
Core Changes
- Ignore emacs lockfiles: #20497
- fix(next/image): ignore typography prose styles: #20580
- Clean up webpack 5 version error: #20578
- Update sharp optional dependency to support NPM 7: #20432
- deps: upgrade various deps (mainly babel): #20586
- Remove unnecessary unfetch polyfill for dev: #20589
- Add profiling to webpack loaders: #20392
- Ensure next/image loads correctly with basePath: #20592
- fix(next/link): reset scroll before lifecycles: #20595
- Refactor GS(S)P notFound client-side handling: #20594
- Ensure index basePath is detected correctly: #20596
- Ensure domain locales are redirected client-side: #20562
- fix(build): require test files be full name or extension: #20605
- fix(router): consistent scroll behavior for Link/Router#push: #20606
Documentation Changes
- Ignore domains option when loader is set: #18447
- Add version history for API changes to documentation.: #20604
Example Changes
- Update with-styletron example to not use DebugEngine: #20233
- Update authentication examples: #19330
Credits
Huge thanks to @lfender6445, @tajo, @Timer, @lfades, @jorrit, @timneutkens, @matamatanot, and @leerob for helping!
Core Changes
- Add error for invalid webpack 5 version: #20558
Documentation Changes
- Remove "priority" prop from Image docs: #20471
Misc Changes
- ci: adjust Azure Pipelines trigger: #20554
Credits
Huge thanks to @danielyefet and @ijjk for helping!
Core Changes
- Remove import type syntax from core files: #20379
Misc Changes
- Ensure webpack 5 test set-up matches integration flow: #20553
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Ensure query is present with i18n and history navigation: #20441
- Ensure index rewrite is matched with i18n correctly: #20509
- fix(next/image): inherit parent visibility: #20542
- fix Fast Refresh tests with webpack@5: #20543
- Ensure path encoding is handled consistently for prerendered pages: #19135
Documentation Changes
- Docs typo fix: #20498
Example Changes
- example with-google-tag-manager: #20042
- Style improvements on MongoDB example : #20515
- Fix typos found on examples docs: #20516
- fix example using-router import wrong pathname: #20536
- Update README for with-emotion example: #20338
- Update README.md: #19885
- Upgrade Tailwindcss to 2.0.2: #20517
- Update with-msw example: #20335
- Correct import comment in interfaces: #20052
- with-zustand example fix for build error on ssr page: #19465
- Update with-mongodb to be TypeScript-friendly: #19383
Misc Changes
- Update i18n test: #20548
Credits
Huge thanks to @niko20, @LauraBeatris, @armspkt, @xiaooye, @sungpro, @awareness481, @ijjk, @joebernard, @jensmeindertsma, @donavon, @DaneTheory, and @Zertz for helping!
Core Changes
- Remove extra redirect for index with i18n: #20397
- Update revalidate checks: #19796
Documentation Changes
- Upgrade all http links to https: #20402
Credits
Huge thanks to @xom9ikk for helping!
Core Changes
- Ensure next commands respect termination signals: #19433
- Break up the serverless loader into typed handlers: #19511
- fix: Revert #18921 and inline absolute babel runtime only for YarnPnp: #19542
- Fix cloudinary default quality to use q_auto: #19694
- Css optimizations: #16539
- Script loader component: #18281
- Error Message Clarity: #16052
- Update @ampproject/toolbox-optimizer to latest version: #19722
- Making font optimization as default: #19758
- Ensure i18n custom routes resolves correctly : #19766
- Improve way cache version string is created: #19763
- Custom Server with bodyParser, don't parse body again in API Route: #16169
- Ensure trailingSlash redirect applies correctly for i18n: #19859
- Remove aliases that are no longer needed: #19937
- Fix failing Azure tests: #19877
- Clear up production build missing message for
next startandnext export: #19777 - Fix double-quoted hotlinks in dev error panel: #19974
- Update logo for dark mode: #20047
- Upgrade Terser: #20063
- [Image Component] image sizes property becomes 100vw by default: #20067
- Ensure href resolvedAs is correct with locale: #20080
- Update terser-webpack-plugin to support webpack 4: #20089
- Fix prefetching for URLs including trailing slash: #19474
- Update import to prevent loader from erroring in webpack 5: #20211
- Update font-stylesheet-gathering-plugin to be webpack 5 compatible: #20229
- Add required server files manifest: #20035
- Upgrade
http-proxydependency: #20239 - Added flag to identify shallow router events: #19802
- Move productionBrowserSourceMaps out of experimental: #20267
- Upgrade webpack-bundle-analyzer: #20232
- Extend IncomingMessage type to include cookies from middleware: #19724
- Update experimental profiling: #20357
- temporary: re-flag font optimization: #20372
- Ensure only backslashes are in pages-manifest with i18n: #20376
- Fix webpack 5 terser compat: #20378
- fix: set empty document files for amp first: #16934
Documentation Changes
- Typo: #19475
- Update next export docs to mention i18n caveat: #19491
- Fix grammar in API routes: Introduction: #19385
- Update documentation links: #19502
- Remove mention of the Next.js site repo from docs: #19504
- Update getInitialProps.md: #19506
- Fix typo in image-optimization.md: #19670
- Avoid misleading inline comments in .env example: #19708
- Clarify data fetching documentation on calling API routes.: #19748
- docs/Remove extra word: #19754
- Add locale: false custom route prefix note: #19765
- Add NEXT_LOCALE cookie note to docs: #20045
- Update introduction.md: #20129
- Add dynamic and import note.: #20145
- Update Link documentation: #19980
- Correct a typo: #20183
- Fix source map config description: #20279
- changed ref from 'master' to 'main' branch: #20390
- Add note to deployment docs about handling new versions.: #20373
Example Changes
- [ EXAMPLES ] Added with-neo4j: #16559
- with-firebase example for SSR: #16070
- Fix italics in readme: #19441
- Change duplicated redirect in examples: #19479
- example fix: hydrate method of the mobx store needs to be an action: #19522
- [Examples] update with-tailwindcss-emotion to tailwind 2.0: #19476
- add missing import in with-firebase example: #19572
- Fix typo: #19624
- Remove the
asprop from the Link component in with-static-export example: #19650 - Spelling fix: #19686
- Update with-zones example readme: #19713
- Fix typo in gitignore: #19638
- Replace Graphcool with a working GraphQL endpoint in with-apollo-and-redux example: #19248
- with-facebook-pixel: #19762
- Update fauna example: #19806
- with-facebook-pixel: remove package and update readme: #19807
- Update client-only.js: #19884
- Correct production docker base image tag: #19962
- Update example with next-translate upgrading to 1.0: #20039
- Fix bug in with-apollo example leading to cached lists being duplicated.: #19812
- docs: add example of Ionic with TypeScript: #18532
- Fix a link to a Slack clone example in Supabase: #19993
- Sentry URL for Organization: #20269
- Fix: progressive-web-app example : #20288
Misc Changes
- tests(create-next-app): leverage execa: #19008
- Move note about next export and i18n
- Automatically cancel old workflow runs on PRs: #16976
- Update README-template.md for API endpoint info: #20024
Credits
Huge thanks to @lolobosse, @jamesgeorge007, @nikosantis, @lfades, @mikan3rd, @oshdev, @balazsorban44, @UnbearableBear, @tunesmith, @jamsinclair, @ivandotv, @Arthie, @guybedford, @louison, @FutureKode, @wesleytian, @dennismorello, @vispaduchuri, @styfle, @caulagi, @berekuk, @janicklas-ralph, @jescalan, @leerob, @giraffesyo, @cascandaliato, @niko20, @coetry, @prateekbh, @PepijnSenders, @dkempner, @ijjk, @timneutkens, @sungpro, @dlackty, @lachlanjc, @aralroca, @felixmeziere, @bmvantunes, @hideokamoto, @bram-l, @craigdanj, @ErikAugust, @joiglifberg, @blvdmitry, @gr-qft, @Timer, @bragle, @ykdojo, @vitorhsb, @TrySound, @darshkpatel, @mattfwood, @ka2jun8, and @rfinkley for helping!
Core Changes
- Ensure only backslashes are in pages-manifest with i18n: #20376
- Fix webpack 5 terser compat: #20378
- fix: set empty document files for amp first: #16934
Documentation Changes
- changed ref from 'master' to 'main' branch: #20390
- Add note to deployment docs about handling new versions.: #20373
Credits
Huge thanks to @ijjk, @ka2jun8, @rfinkley, and @leerob for helping!
Core Changes
- Upgrade webpack-bundle-analyzer: #20232
- Extend IncomingMessage type to include cookies from middleware: #19724
- Update experimental profiling: #20357
- temporary: re-flag font optimization: #20372
Example Changes
- Sentry URL for Organization: #20269
- Fix: progressive-web-app example : #20288
Credits
Huge thanks to @TrySound, @vispaduchuri, @darshkpatel, @mattfwood, and @timneutkens for helping!
Core Changes
- Added flag to identify shallow router events: #19802
- Move productionBrowserSourceMaps out of experimental: #20267
Documentation Changes
- Fix source map config description: #20279
Example Changes
- Fix a link to a Slack clone example in Supabase: #19993
Credits
Huge thanks to @bragle, @ykdojo, @timneutkens, and @vitorhsb for helping!
Core Changes
- Update font-stylesheet-gathering-plugin to be webpack 5 compatible: #20229
- Add required server files manifest: #20035
- Upgrade
http-proxydependency: #20239
Credits
Huge thanks to @timneutkens and @Timer for helping!
Core Changes
- Fix prefetching for URLs including trailing slash: #19474
- Update import to prevent loader from erroring in webpack 5: #20211
Documentation Changes
- Update introduction.md: #20129
- Add dynamic and import note.: #20145
- Update Link documentation: #19980
- Correct a typo: #20183
Misc Changes
- Update README-template.md for API endpoint info: #20024
Credits
Huge thanks to @bram-l, @craigdanj, @ErikAugust, @joiglifberg, @blvdmitry, and @gr-qft for helping!
Core Changes
- [Image Component] image sizes property becomes 100vw by default: #20067
- Ensure href resolvedAs is correct with locale: #20080
- Update terser-webpack-plugin to support webpack 4: #20089
Example Changes
- docs: add example of Ionic with TypeScript: #18532
Credits
Huge thanks to @bmvantunes, @hideokamoto, and @timneutkens for helping!
Core Changes
- Fix double-quoted hotlinks in dev error panel: #19974
- Update logo for dark mode: #20047
- Upgrade Terser: #20063
Documentation Changes
- Add NEXT_LOCALE cookie note to docs: #20045
Example Changes
- Update example with next-translate upgrading to 1.0: #20039
- Fix bug in with-apollo example leading to cached lists being duplicated.: #19812
Credits
Huge thanks to @lachlanjc, @aralroca, @ijjk, @felixmeziere, and @lfades for helping!
Core Changes
- Custom Server with bodyParser, don't parse body again in API Route: #16169
- Ensure trailingSlash redirect applies correctly for i18n: #19859
- Remove aliases that are no longer needed: #19937
- Fix failing Azure tests: #19877
- Clear up production build missing message for
next startandnext export: #19777
Example Changes
- with-facebook-pixel: remove package and update readme: #19807
- Update client-only.js: #19884
- Correct production docker base image tag: #19962
Misc Changes
- Automatically cancel old workflow runs on PRs: #16976
Credits
Huge thanks to @dkempner, @ijjk, @timneutkens, @niko20, @sungpro, and @dlackty for helping!
Core Changes
- Update @ampproject/toolbox-optimizer to latest version: #19722
- Making font optimization as default: #19758
- Ensure i18n custom routes resolves correctly : #19766
- Improve way cache version string is created: #19763
Documentation Changes
- Clarify data fetching documentation on calling API routes.: #19748
- docs/Remove extra word: #19754
- Add locale: false custom route prefix note: #19765
Example Changes
- Replace Graphcool with a working GraphQL endpoint in with-apollo-and-redux example: #19248
- with-facebook-pixel: #19762
- Update fauna example: #19806
Credits
Huge thanks to @leerob, @giraffesyo, @cascandaliato, @niko20, @coetry, @prateekbh, and @PepijnSenders for helping!
Core Changes
- Error Message Clarity: #16052
Credits
Huge thanks to @jescalan for helping!
Core Changes
- Remove old modern mode experiment: #19275
- Rewrite locale : fix wrong error message: #19319
- Fix serverless with next start error case: #19288
- Correct errsh links in config checks: #19280
- Ensure non-configured i18n locales 404: #19338
- Ensure export progress handles less pages than segments: #19281
- Ensure i18n + trailingSlash works for different page types: #19331
- Exclude well known files when trailing slash: true: #19364
- Update fallback locale for locale: false: #19322
- Use
renderafterhydrate: #19442 - Update vitals URL: #19454
Documentation Changes
- Update incremental adoption documentation.: #19286
- Add note to docs for i18n and next export: #19321
- Disabling prefetching: #19299
Example Changes
- Upgrade Emotion example to React 17 and Emotion 11 and use automatic JSX runtime: #18620
- Update Tailwind example to v2.0: #19278
- [ EXAMPLES ] Added with-apollo-neo4j-graphql: #16560
- add example with mobx version 6 and mobx react lite: #17493
- Update Chakra UI examples to v1: #19282
- [examples] Add Next.js + MySQL example: #19452
- Update Koa Router Example: #19272
Misc Changes
- Ensure dist-dir test has fresh start: #19370
Credits
Huge thanks to @Timer, @leerob, @bannier, @karlhorky, @shihabus, @yakovlevyuri, @nikosantis, @dav-is, @ijjk, @ivandotv, @lundgren2, @coetry, and @NoobTW for helping!
Example Changes
- [examples] Add Next.js + MySQL example: #19452
- Update Koa Router Example: #19272
Credits
Huge thanks to @coetry and @NoobTW for helping!
Core Changes
- Update vitals URL: #19454
Core Changes
- Exclude well known files when trailing slash: true: #19364
- Update fallback locale for locale: false: #19322
- Use
renderafterhydrate: #19442
Example Changes
- add example with mobx version 6 and mobx react lite: #17493
- Update Chakra UI examples to v1: #19282
Misc Changes
- Ensure dist-dir test has fresh start: #19370
Credits
Huge thanks to @dav-is, @ijjk, @ivandotv, and @lundgren2 for helping!
Core Changes
- Remove old modern mode experiment: #19275
- Rewrite locale : fix wrong error message: #19319
- Fix serverless with next start error case: #19288
- Correct errsh links in config checks: #19280
- Ensure non-configured i18n locales 404: #19338
- Ensure export progress handles less pages than segments: #19281
- Ensure i18n + trailingSlash works for different page types: #19331
Documentation Changes
- Update incremental adoption documentation.: #19286
- Add note to docs for i18n and next export: #19321
- Disabling prefetching: #19299
Example Changes
- Upgrade Emotion example to React 17 and Emotion 11 and use automatic JSX runtime: #18620
- Update Tailwind example to v2.0: #19278
- [ EXAMPLES ] Added with-apollo-neo4j-graphql: #16560
Credits
Huge thanks to @Timer, @leerob, @bannier, @karlhorky, @shihabus, @yakovlevyuri, and @nikosantis for helping!
Core Changes
- Fix router not working on some protocol: #16650
- Remove @babel/preset-modules: #18759
- Typo in err.sh url nextjs instead of next.js: #18787
- Omit ignored property from <Image/ > to prevent confusion: #18796
- Update Image docs with links to examples: #18770
- Print error when Image src is protocol-relative: #18809
- Disable image optimization for Data URLs: #18804
- ncc inlining optimizations: #18752
- Ensure redirects are handled properly from cache: #18806
- Update ncc: #18823
- tests(create-next-app): increase coverage: #18630
- Speed up SSG prefetching: #18813
- Make getInlineScriptSource arg Readonly: #17281
- Upgrade browserslist: #17662
- ncc Babel inlining: #18768
- (docs) Add format to
notFoundfor consistency: #18363 - Add props
objectFitandobjectPositionto Image component: #18849 - Fix chromedriver set-up to test electron separately: #18854
- yarn dev regression fix, ncc revert: #18861
- Fix lazy loaded images on IE 11 when no IntersectionObserver detected: #18868
- Ensure we prefetch on hover: #18859
- ncc 0.25.0 upgrade and fixes: #18873
- Upgrade cssnano: #18879
- Load CSS early instead of only preloading: #18846
- Ensure correct target is used for ncc'ing web-vitals: #18905
- Control
prefetching with React: #18904
- Fix redirect query handling for param like values: #17448
- Fix html validation for Image component: #18903
- Ensure auto-export dynamic routes work with i18n next start: #18930
- Export ImageProps from Image component: #18576
- Fix false positive in isSerializable with shared references in arrays: #18232
- Upgrade sass-loader to 10.0.5: #18972
- Add etag header to optimized image response: #18986
- Remove
next-head-count: #16758 - Fixed wrong function name in error message: #19034
- Ensure correct defaultLocale is provided for locale domain: #19040
- Ensure basePath behavior with GS(S)P redirect: #18988
- Update chokidar to latest: #18995
- fix(next): resolve absolute path to @babel/runtime: #18921
- Print error during
next exportwith default image loader: #19032 - Replace page loader with new route loader: #19006
- Ensure params and locale are parsed correctly in fallback mode: #19063
- Add test and errsh for mixed notFound/redirect error: #19076
- Add experimental Next.js plugin version locking: #19084
- Ensure i18n with basePath works properly: #19083
- Upgrade use-subscription for React 16/17 bicompat: #19087
- Adjust how CSS files are fetched: #19091
- Update node-html-parser lib: #19103
- Fix grammar in isSerializableProps: #19072
- fix: issue #18338 - don't add a trailing slash to external links: #18595
- Ensure optional catchall prerendered indexes and i18n: #19116
- Fallback to default config to enable testing Image component: #19107
- Remove preload for priority images: #19118
- Fix component lifecycle order for style swap: #19125
- Add missing
sizesprop on image component: #19128 - Respect next/babel user provided runtime option: #19136
- Add "nonce" from to the injected
- Upgrade Cosmic example to Next.js 10, image load fix, post sorting by -created_at: #18310
- Add locale: false for custom-routes + i18n: #19164
- Enable handling for revalidate and notFound: #19165
- Fix minifying inline CSS comments: #19167
- Fix prefetching in IE11: #19171
- Upgrade
styled-jsx: #19241 - Ensure data prefetch for default locale is correct: #19085
- Ensure i18n + trailingSlash: true handles correctly: #19149
Documentation Changes
- Update exportPathMap.md: #18483
- Update asPath to mention basePath/locale stripping: #18807
- docs: fix a typo "concatenated" instead of "concatentated": #18812
- Fix typo on
api-reference/image: #18818 - Add note to i18n docs about domain locales: #18845
- Update docs for
notFoundandredirect: #18870 - Add docs for fallback: 'blocking': #18568
- Add type keyword to API Routes examples: #18234
- Add upgrading guide from Next.js 9 to 10: #19101
- Add note about changing basePath config: #19111
- Propose some sentence changes: #19121
- Update docs to use
instead of
: #19160
- Add next/image docs for omitted props: #19158
- Update response-helpers.md: #19189
- Update multi zones example: #16281
- Update fast-refresh.md: #18047
- Add docs on incrementally adopting Next.js.: #19226
- Update next/link docs to not include example without
href: #19247 - Fix docs about the return of getStaticProps on basic-features/pages: #19267
Example Changes
- fix: issue #18256 - examples/with-firebase-authentication: fix to use getIdToken to get the token: #18599
- feat(examples): use next-plugin-preact on using-preact example: #18588
- Fix issues with apollo cache data merging and restoration: #17681
- Updated chakra-ui dependencies: #18881
- Add to : #18900
- Update image example with link back to source code: #18909
- [Examples] Switch contentful example to graphql: #15223
- chore: updated react to v17 on with-webassembly example: #18916
- Fixes with-chakra-ui example error: #18954
- chore: fix some with-electron-typescript example setup: #18976
- Update with-sentry example to show how to track API routes + bug fixes: #16484
- Add
with-gsapexample: #17195 - Upgrade with-mobx example: #17921
- Fix ViewSource component in the docs: #19022
- Add mutation example to with-typescript-graphql: #16742
- Add with-knex example: #17904
- Feat(example): Add with-zustand example: #17835
- [Examples] Prevent getStaticProps from returning "undefined": #19012
- Add missing dependency to with-typescript-eslint-jest: #17864
- Fixed missing SSR styles in with-fela example: #17647
- Use useRouter over Router for with-react-ga example: #17710
- refactor: update example of storybook: #17936
- fix(examples/with-firebase-cloud-messaging): replace deprecated method: #19080
- Add self-hosted information to with-sentry example: #18102
- Example for adding a service worker into a next.js application: #17855
- [examples/blog-starter-typescript] Upgrade to TypeScript v4: #18225
- fix(examples/with-chakra-ui): Fixed Spelling: #19088
- fixed project name to reflect example name in readme: #19056
- Improve with-electron-typescript example: #18277
- Added query object as property to url object: #18340
- Example: Deta Base: #19061
- Revise image example with layouts near the top: #19161
- Add apollo state func: #19137
- Upgraded to chakra V1: #19181
- Update with-magic example: #19207
- Fix link to developer plan in Kontent example: #19265
- Upgraded to chakra V1: #19181
- Update with-magic example: #19207
Misc Changes
- Silence GH Comments for Preview URLs: #18766
- tests(create-next-app): remove extraneous helper: #18833
- Fix production test compatibility for ie11: #18874
- Fix relay-analytics test on Azure: #18875
- Add additional tests: #18597
- feat: update create-next-app to init with main as initial branch: #17745
- Update Azure config: #18931
- Update Azure cache key: #18964
- tests(create-next-app): prevent catch assertions: #18939
- Break-up unit tests to separate step: #18992
- Add test for
.icoimage bypass: #19025 - [bundle-analyzer] Fix incorrect example: #18952
- Bump node-sass development dep to v5: #19070
- Mention feature requests are converted to discussions
- Update 1.Bug_report.md
- Fix typo in 1.Bug_report.md: #19143
- Update 1.Bug_report.md
Credits
Huge thanks to @Cow258, @styfle, @toshi1127, @guybedford, @ciruz, @Timer, @jorisw, @rifaidev, @willianjusten, @jamesgeorge007, @willheslam, @TrySound, @alexvilchis, @ijjk, @vitordino, @matthewlilley, @lfades, @Prottoy2938, @brunocrosier, @OriginalEXE, @sidthesloth92, @davidsonsns, @awareness481, @giraffesyo, @saitolume, @tolfino, @iczero, @WestonThayer, @galanggg, @davidgolden, @weichienhung, @devknoll, @ashconnell, @callumbooth, @lyderichti59, @lukyth, @FredyC, @merceyz, @danielstocks, @valse, @MrJmpl3, @Sm1t, @lucas-varela, @jose-donato, @Kerumen, @chr-ge, @pocorschi, @ludofischer, @timneutkens, @jflayhart, @aried3r, @gr-qft, @LittleboyHarry, @Akumzy, @balazsorban44, @xeust, @tonyspiro, @yordis, @AmrSaber, @Mzaien, @PaulPCIO, @sphilee, @leerob, and @Simply007 for helping!
Core Changes
- Ensure i18n + trailingSlash: true handles correctly: #19149
Documentation Changes
- Update next/link docs to not include example without
href: #19247 - Fix docs about the return of getStaticProps on basic-features/pages: #19267
Example Changes
- Fix link to developer plan in Kontent example: #19265
- Upgraded to chakra V1: #19181
- Update with-magic example: #19207
Credits
Huge thanks to @ijjk, @Simply007, @lfades, and @vitordino for helping!
Core Changes
- Upgrade
styled-jsx: #19241 - Ensure data prefetch for default locale is correct: #19085
Documentation Changes
- Update response-helpers.md: #19189
- Update multi zones example: #16281
- Update fast-refresh.md: #18047
- Add docs on incrementally adopting Next.js.: #19226
Example Changes
- Add apollo state func: #19137
- Upgraded to chakra V1: #19181
- Update with-magic example: #19207
Misc Changes
- Update 1.Bug_report.md
Credits
Huge thanks to @yordis, @AmrSaber, @Mzaien, @lfades, @PaulPCIO, @sphilee, @leerob, and @Timer for helping!
Core Changes
- Fix prefetching in IE11: #19171
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Enable handling for revalidate and notFound: #19165
- Fix minifying inline CSS comments: #19167
Credits
Huge thanks to @Timer for helping!
Core Changes
- Upgrade Cosmic example to Next.js 10, image load fix, post sorting by -created_at: #18310
- Add locale: false for custom-routes + i18n: #19164
Documentation Changes
- Update docs to use
instead of
: #19160
- Add next/image docs for omitted props: #19158
Example Changes
- Example: Deta Base: #19061
- Revise image example with layouts near the top: #19161
Credits
Huge thanks to @xeust, @tonyspiro, @styfle, and @ijjk for helping!
Core Changes
- Respect next/babel user provided runtime option: #19136
- Add "nonce" from to the injected
Misc Changes
- Mention feature requests are converted to discussions
- Update 1.Bug_report.md
- Fix typo in 1.Bug_report.md: #19143
Credits
Huge thanks to @balazsorban44 and @styfle for helping!
Core Changes
- Fix component lifecycle order for style swap: #19125
- Add missing
sizesprop on image component: #19128
Credits
Huge thanks to @styfle for helping!
Core Changes
- Update node-html-parser lib: #19103
- Fix grammar in isSerializableProps: #19072
- fix: issue #18338 - don't add a trailing slash to external links: #18595
- Ensure optional catchall prerendered indexes and i18n: #19116
- Fallback to default config to enable testing Image component: #19107
- Remove preload for priority images: #19118
Documentation Changes
- Add upgrading guide from Next.js 9 to 10: #19101
- Add note about changing basePath config: #19111
- Propose some sentence changes: #19121
Example Changes
- Improve with-electron-typescript example: #18277
- Added query object as property to url object: #18340
Credits
Huge thanks to @timneutkens, @jflayhart, @aried3r, @ijjk, @toshi1127, @styfle, @gr-qft, @LittleboyHarry, and @Akumzy for helping!
Core Changes
- Adjust how CSS files are fetched: #19091
Example Changes
- fixed project name to reflect example name in readme: #19056
Misc Changes
- Bump node-sass development dep to v5: #19070
Credits
Huge thanks to @pocorschi and @ludofischer for helping!
Core Changes
- Ensure params and locale are parsed correctly in fallback mode: #19063
- Add test and errsh for mixed notFound/redirect error: #19076
- Add experimental Next.js plugin version locking: #19084
- Ensure i18n with basePath works properly: #19083
- Upgrade use-subscription for React 16/17 bicompat: #19087
Example Changes
- Fixed missing SSR styles in with-fela example: #17647
- Use useRouter over Router for with-react-ga example: #17710
- refactor: update example of storybook: #17936
- fix(examples/with-firebase-cloud-messaging): replace deprecated method: #19080
- Add self-hosted information to with-sentry example: #18102
- Example for adding a service worker into a next.js application: #17855
- [examples/blog-starter-typescript] Upgrade to TypeScript v4: #18225
- fix(examples/with-chakra-ui): Fixed Spelling: #19088
Credits
Huge thanks to @danielstocks, @ijjk, @valse, @MrJmpl3, @Sm1t, @lucas-varela, @jose-donato, @Kerumen, and @chr-ge for helping!
Core Changes
- Replace page loader with new route loader: #19006
Core Changes
- Fixed wrong function name in error message: #19034
- Ensure correct defaultLocale is provided for locale domain: #19040
- Ensure basePath behavior with GS(S)P redirect: #18988
- Update chokidar to latest: #18995
- fix(next): resolve absolute path to @babel/runtime: #18921
- Print error during
next exportwith default image loader: #19032
Example Changes
- Add with-knex example: #17904
- Feat(example): Add with-zustand example: #17835
- [Examples] Prevent getStaticProps from returning "undefined": #19012
- Add missing dependency to with-typescript-eslint-jest: #17864
Misc Changes
- [bundle-analyzer] Fix incorrect example: #18952
Credits
Huge thanks to @ashconnell, @callumbooth, @OriginalEXE, @lyderichti59, @lukyth, @FredyC, @merceyz, and @styfle for helping!
Core Changes
- Remove
next-head-count: #16758
Example Changes
- Fix ViewSource component in the docs: #19022
- Add mutation example to with-typescript-graphql: #16742
Misc Changes
- Break-up unit tests to separate step: #18992
- Add test for
.icoimage bypass: #19025
Credits
Huge thanks to @styfle, @ijjk, @weichienhung, and @devknoll for helping!
Core Changes
- Add etag header to optimized image response: #18986
Example Changes
- Add
with-gsapexample: #17195 - Upgrade with-mobx example: #17921
Credits
Huge thanks to @galanggg, @davidgolden, and @styfle for helping!
Core Changes
- Export ImageProps from Image component: #18576
- Fix false positive in isSerializable with shared references in arrays: #18232
- Upgrade sass-loader to 10.0.5: #18972
Documentation Changes
- Add docs for fallback: 'blocking': #18568
- Add type keyword to API Routes examples: #18234
Example Changes
- Fixes with-chakra-ui example error: #18954
- chore: fix some with-electron-typescript example setup: #18976
- Update with-sentry example to show how to track API routes + bug fixes: #16484
Misc Changes
- Update Azure config: #18931
- Update Azure cache key: #18964
- tests(create-next-app): prevent catch assertions: #18939
Credits
Huge thanks to @lfades, @awareness481, @giraffesyo, @ijjk, @saitolume, @davidsonsns, @jamesgeorge007, @tolfino, @iczero, and @WestonThayer for helping!
Core Changes
- Ensure auto-export dynamic routes work with i18n next start: #18930
Example Changes
- chore: updated react to v17 on with-webassembly example: #18916
Credits
Huge thanks to @davidsonsns for helping!
Core Changes
- Control
prefetching with React: #18904
- Fix redirect query handling for param like values: #17448
- Fix html validation for Image component: #18903
Example Changes
- Update image example with link back to source code: #18909
- [Examples] Switch contentful example to graphql: #15223
Misc Changes
- Add additional tests: #18597
- feat: update create-next-app to init with main as initial branch: #17745
Credits
Huge thanks to @styfle, @OriginalEXE, @ijjk, and @sidthesloth92 for helping!
Core Changes
- Fix chromedriver set-up to test electron separately: #18854
- yarn dev regression fix, ncc revert: #18861
- Fix lazy loaded images on IE 11 when no IntersectionObserver detected: #18868
- Ensure we prefetch on hover: #18859
- ncc 0.25.0 upgrade and fixes: #18873
- Upgrade cssnano: #18879
- Load CSS early instead of only preloading: #18846
- Ensure correct target is used for ncc'ing web-vitals: #18905
Documentation Changes
- Update docs for
notFoundandredirect: #18870
Example Changes
- Updated chakra-ui dependencies: #18881
- Add to : #18900
Misc Changes
- Fix production test compatibility for ie11: #18874
- Fix relay-analytics test on Azure: #18875
Credits
Huge thanks to @guybedford, @styfle, @Timer, @lfades, @Prottoy2938, and @brunocrosier for helping!
Core Changes
- (docs) Add format to
notFoundfor consistency: #18363 - Add props
objectFitandobjectPositionto Image component: #18849
Documentation Changes
- Add note to i18n docs about domain locales: #18845
Example Changes
- feat(examples): use next-plugin-preact on using-preact example: #18588
- Fix issues with apollo cache data merging and restoration: #17681
Credits
Huge thanks to @alexvilchis, @ijjk, @vitordino, @matthewlilley, and @styfle for helping!
Core Changes
- Update ncc: #18823
- tests(create-next-app): increase coverage: #18630
- Speed up SSG prefetching: #18813
- Make getInlineScriptSource arg Readonly: #17281
- Upgrade browserslist: #17662
- ncc Babel inlining: #18768
Documentation Changes
- docs: fix a typo "concatenated" instead of "concatentated": #18812
- Fix typo on
api-reference/image: #18818
Misc Changes
- tests(create-next-app): remove extraneous helper: #18833
Credits
Huge thanks to @rifaidev, @willianjusten, @guybedford, @jamesgeorge007, @willheslam, and @TrySound for helping!
Core Changes
- Fix router not working on some protocol: #16650
- Remove @babel/preset-modules: #18759
- Typo in err.sh url nextjs instead of next.js: #18787
- Omit ignored property from <Image/ > to prevent confusion: #18796
- Update Image docs with links to examples: #18770
- Print error when Image src is protocol-relative: #18809
- Disable image optimization for Data URLs: #18804
- ncc inlining optimizations: #18752
- Ensure redirects are handled properly from cache: #18806
Documentation Changes
- Update exportPathMap.md: #18483
- Update asPath to mention basePath/locale stripping: #18807
Example Changes
- fix: issue #18256 - examples/with-firebase-authentication: fix to use getIdToken to get the token: #18599
Misc Changes
- Silence GH Comments for Preview URLs: #18766
Credits
Huge thanks to @Cow258, @styfle, @toshi1127, @guybedford, @ciruz, @Timer, and @jorisw for helping!
Core Changes
- Add err.sh for missing images domain: #18325
- Unlazify images if no intersection observer found: #18345
- Add err.sh for image config errors: #18424
- Add err.sh for i18n config errors: #18425
- Ensure custom routes handling with i18n: #18427
- Ensure i18n context values are provided for blocking 404: #18513
- Add layout prop to Image component: #18491
- Deprecate Image
unsizedproperty and addlayout="fill": #18562 - Add all deviceSizes to srcset for responsive and fill: #18594
- Avoid calling setState in callback ref: #18589
- Ensure correct params are used with i18n revalidation: #18569
- Fix image format for Safari and old browsers: #18646
- Update 3rd party image loaders to prevent upscaling: #18647
- fix: add missing dot to https://err.sh/nextjs: #18652
- Remove the static optimization indicator: #18629
- Rotate image from EXIF data: #18687
- Ensure preload works correctly with locale option: #18511
- Ensure html lang is updating on locale transition: #18699
- Ensure getStaticProps isn't called without params with i18n: #18702
- Ensure localeDetection: false doesn't detect from header: #18695
- Allow passing statusCode for GS(S)P redirect: #18422
- Ensure correct locale is used for non-prefixed path: #18708
- Ensure locale is added/stripped correctly: #18712
- Update default widths configuration to handle 2x/3x DPI: #18717
- Ensure multi-level basePath works properly: #18715
- Fix dynamic css unloading: #17173
- Prevent Next.js from removing all of its styles on hydration: #18723
- Ensure redirect from GS(S)P doesn't render: #18749
Documentation Changes
- Fix docs default config values: #18319
- Update docs with details for cached images: #18399
- Update image optimization docs to include blog details: #18401
- docs: Add description to i18n-routing: #18438
- Update install-sharp.md: #18508
- docs: fix missing comma in invalid redirect gssp: #18580
- Update
redirectand notFound GS(S)P documentation: #18690 - Add documentation for localeDetection: false: #18696
- Update Gatsby migration guide to include next/image.: #18741
Example Changes
- fix: Order
moduleFileExtensionsleft-to-right: #18328 - Tweak Image Optimization URL in example: #18355
- remove unneeded deps & updated example: #17651
- Fix GSP page titles in i18n-routing example: #18465
- Update using-preact example's dependencies: #18493
- Fix i18n-routing Vercel deploy button URLs: #18524
- small tweaks for those testing on an existing site with missing autho…: #18506
- fix: issue #18360 - loading spinner not showing up: #18527
- Update next-translate example to support Next 10 with i18n routing: #18480
Misc Changes
- Fix Symbol.prototype.description: #18423
- Update README.md
- Fix Symbol.protype.description polyfill: #18575
- Add default tags for issue templates: #18627
- add rewrites in storybook preset: #18364
Credits
Huge thanks to @styfle, @quinnturner, @ijjk, @atcastle, @SebastianTroc, @JipSterk, @developit, @yokinist, @jorisw, @queq1890, @oriverk, @ospira, @danielivert, @huv1k, @Janpot, @minhtule, @shunkakinoki, @cascandaliato, @khades, @leerob, @aralroca, and @eric-burel for helping!
Core Changes
- Fix dynamic css unloading: #17173
- Prevent Next.js from removing all of its styles on hydration: #18723
- Ensure redirect from GS(S)P doesn't render: #18749
Documentation Changes
- Update Gatsby migration guide to include next/image.: #18741
Example Changes
- Update next-translate example to support Next 10 with i18n routing: #18480
Misc Changes
- add rewrites in storybook preset: #18364
Credits
Huge thanks to @khades, @leerob, @aralroca, @eric-burel, and @ijjk for helping!
Core Changes
- Rotate image from EXIF data: #18687
- Ensure preload works correctly with locale option: #18511
- Ensure html lang is updating on locale transition: #18699
- Ensure getStaticProps isn't called without params with i18n: #18702
- Ensure localeDetection: false doesn't detect from header: #18695
- Allow passing statusCode for GS(S)P redirect: #18422
- Ensure correct locale is used for non-prefixed path: #18708
- Ensure locale is added/stripped correctly: #18712
- Update default widths configuration to handle 2x/3x DPI: #18717
- Ensure multi-level basePath works properly: #18715
Documentation Changes
- Update
redirectand notFound GS(S)P documentation: #18690 - Add documentation for localeDetection: false: #18696
Credits
Huge thanks to @ijjk and @styfle for helping!
Core Changes
- Fix image format for Safari and old browsers: #18646
- Update 3rd party image loaders to prevent upscaling: #18647
- fix: add missing dot to https://err.sh/nextjs: #18652
- Remove the static optimization indicator: #18629
Misc Changes
- Add default tags for issue templates: #18627
Credits
Huge thanks to @styfle, @shunkakinoki, and @cascandaliato for helping!
Core Changes
- Avoid calling setState in callback ref: #18589
- Ensure correct params are used with i18n revalidation: #18569
Documentation Changes
- docs: fix missing comma in invalid redirect gssp: #18580
Misc Changes
- Fix Symbol.protype.description polyfill: #18575
Credits
Huge thanks to @huv1k, @Janpot, @ijjk, and @minhtule for helping!
Core Changes
- Deprecate Image
unsizedproperty and addlayout="fill": #18562 - Add all deviceSizes to srcset for responsive and fill: #18594
Credits
Huge thanks to @styfle for helping!
Core Changes
- Ensure i18n context values are provided for blocking 404: #18513
- Add layout prop to Image component: #18491
Documentation Changes
- Update install-sharp.md: #18508
Example Changes
- Update using-preact example's dependencies: #18493
- Fix i18n-routing Vercel deploy button URLs: #18524
- small tweaks for those testing on an existing site with missing autho…: #18506
- fix: issue #18360 - loading spinner not showing up: #18527
Credits
Huge thanks to @queq1890, @ijjk, @styfle, @oriverk, @ospira, and @danielivert for helping!
Core Changes
- Ensure custom routes handling with i18n: #18427
Core Changes
- Add err.sh for missing images domain: #18325
- Unlazify images if no intersection observer found: #18345
- Add err.sh for image config errors: #18424
- Add err.sh for i18n config errors: #18425
Documentation Changes
- Fix docs default config values: #18319
- Update docs with details for cached images: #18399
- Update image optimization docs to include blog details: #18401
- docs: Add description to i18n-routing: #18438
Example Changes
- fix: Order
moduleFileExtensionsleft-to-right: #18328 - Tweak Image Optimization URL in example: #18355
- remove unneeded deps & updated example: #17651
- Fix GSP page titles in i18n-routing example: #18465
Misc Changes
- Fix Symbol.prototype.description: #18423
- Update README.md
Credits
Huge thanks to @styfle, @quinnturner, @ijjk, @atcastle, @SebastianTroc, @JipSterk, @developit, @yokinist, and @jorisw for helping!
Core Changes
- Add handling for domain to locale mapping: #17771
- Make sure locale detecting is case-insensitive: #17757
- Fix a couple i18n cases: #17805
- Font optimization for webpack 5: #17450
- Allow pages to be async modules to enable top-level-await: #17590
- Update redirect handling for locale domains: #17856
- Image component foundation: #17343
- chore(collect-plugins.ts): removes duplicated entries: #17441
- Resolve to real path before checking for path inequality: #17279
- Handle preferring default locale over accept-lang preferred locale: #17883
- Add locale prop for transitioning locales client side: #17898
- Make sure that params are properly passed to hybrid amp pages: #17461
- Add i18n items to routes manifest: #17893
- Add support for returning 404 from getStaticProps: #17755
- Ensure i18n support with AMP: #17923
- Call Web Vitals reporting at correct time: #17933
- Fix initialRevalidateSeconds manifest field with i18n: #17926
- Add support for Image Optimizer: #17749
- Add missing next/image package file: #17940
- Only load plugins with @next prefix: #17945
- Update default configuration to match image optimization: #17943
- Fix width param name for Image Optimizer: #17952
- Unify config.image.breakpoints to config.image.sizes: #17953
- Improve types for Image Component: #17954
- Add perf data experiment: #17956
- Make sure
wparameter is only included when a width is provided.: #17971 - Image component lazy loading: #17916
- Make sure animated assets aren't de-animated by optimizer: #17974
- Fix types for lazy image component: #17984
- Update to postcss-loader 4.0.2.: #17458
- Update handling for relative files in image-optimizer: #17998
- Ensure correct default locale is detected for domain locale: #18046
- Remove multi-host support for image component and support quality pass-through: #18038
- Add
widthandheightprops to Image component: #18031 - Ensure root index GSP page's revalidate is recorded: #18053
- Update resolve-url-loader to fix vulnerability: #18064
- Pass locales to getStaticPaths for i18n: #18077
- Add
unsizedproperty to Image component: #18059 - Fix css dependency in /_error: #17301
- Move sharp to optionalDependencies: #18068
- Update to PostCSS 8.: #17415
- Update peerdependency to account for React 17: #18089
- Upgrade to Chokidar 3.: #17558
- Upgrade @ampproject/toolbox-optimizer: #18087
- Fix precompiled code: #18093
- Image Component: Support for Akamai image CDN: #18100
- Fix Image component defaults & remove autoOptimize: #18101
- Fix merge conflict: #18106
- Update fallback 404 handling to prevent reload loop: #18119
- Make lazy-loading the default for next/image: #18123
- Add locale false handling: #18115
- Bypass image optimization for vector images: #18179
- Add support for string width/height on Image component: #18178
- Fix flashing of no-src image when using next/image: #18195
- Bump styled-jsx to 3.3.1: #18200
- Ensure 404 with SSG is rendered correctly with notFound: #18205
- Update use-subscription to account for React 17 peerDependency: #18199
- Separate config into
deviceSizesandiconSizes(#18267) - Add config limit checks for image optimizer (#18217)
- Fix Image
srcsetto ensure the component'swidthis the largest possible image (#18236) - Add next/image default loader errors (#18152)
- Image Optimization API should 404 when loader is not default (#18211)
- Adjust configuration option placement: #18279
- Remove unstable_ prefix from unstable_blocking: #18276
- Fix browser back issue of redirects from getServerSideProps / getStaticProps: #17741
- Add support for notFound in getServerSideProps: #18241
- Improve type for GSP return type: #18285
- Remove unstable_ prefix from unstable_redirect: #18282
- Re-add domain locale redirect handling: #18274
- Remove unstable_ prefix from unstable_notFound: #18283
- Add fetching 404 SSG data on fallback notFound: #18214
- Expose configured default locale in GS(S)P methods: #18216
- Adjust default image quality to 75: #18292
- Add support number quality on Image Component: #18224
- Rename iconSizes to imageSizes, remove size limitation: #18294
- Record leveraged configs: #18175
- Fix trailing slash for default image loader: #18298
- Ensure getStaticProps is called for SSG 404 in blocking mode: #18300
- Enable feature flag: #18303
Documentation Changes
- Fix grammatical typo in docs: #17779
- Fix broken url caused in docs: #17789
- Fix higherOrderComponent causing broken layout: #17812
- docs: Clarify use of getStaticProps / getServerSideProps with app / document: #17839
- Add use-npm CLI flag docs: #17803
- (docs) Fixes for "Migrating from Gatsby" doc: #17858
- Capitalize Data Fetching title in docs: #18001
- Fix typo in headers docs example: #18012
- Add initial i18n documentation: #18067
- Add docs for Image Optimization: #18107
- Fix image optimization docs (#18254)
- Add i18n routing docs to manifest: #18264
- Add absolute import example: #17342
- Update example link text: #18286
- update @now/next to @vercel/next: #18246
- Update docs - add default config for images property: #18296
Example Changes
- Improve with-tailwindcss example: #17742
- feat(example): added missing prisma.io examples: #17896
- Fixed link for expo: #17908
- Fix with-mongodb hot-reload issue and race condition: #17666
- Updated dependencies for example: with-react-native-web: #17375
- Add with-facebook-pixel example: #17667
- Update step 5 to Strapi example Readme: #17985
- Use ya in case xa is false: #18074
- Add initial example for i18n routing: #18206
Misc Changes
- Stabilize i18n fallback test: #17957
Credits
This release was brought to you by the contributions of: @ijjk, @adebiyial, @elliottsj, @saintmalik, @HaNdTriX, @prateekbh, @amirsaeed671, @paambaati, @imagentleman, @gregrickaby, @Janpot, @atcastle, @Kirkhammetz, @remorses, @davidsonsns, @kmkzt, @slawekkolodziej, @Timer, @styfle, @timneutkens, @ykzts, @ashconnell, @orYoffe, @lfades, @justinwhall, @fbaiodias, @ludofischer, @felipeguilhermefs, @gr-qft, @TasukuUno, @YichiZ, @weichienhung, @seosmmbusiness, @HsuTing, @gsimone, @peduarte, @ztanner, @neighborhood999, @chibicode, @merceyz, @opudalo, @lunchboxav, @mohsen1, @akd-io, @justman00, @helloworld, @devknoll, @borekb, @ArthurMaverick, @sakito21, @TrySound, @omBratteng, @svenheden, @hallaji, @kettanaito, @vvo, @m-lautenbach, @jensmeindertsma, @Zeko369, @longlho, @stefanprobst, @laugharn, @sdornan, @daneroo, @mohd-akram, @austingmhuang, @sphilee, @devinekadeni, @Bacher, @nghiepit, @tomasdisk, @leader22, @paulogdm, @284km, @belgattitude, @geritol, @stigkj, @sampoder, @samrobbins85, @Pitasi, @digitalPlayer1125, @timfee, @plug-n-play, @philihp, @leerob, @dylanjha, @Kerumen, @rdimaio, @jorisw, @zerbinidamata, @jamesgeorge007, @Jashnm, and @futantan!
Core Changes
- Adjust default image quality to 75: #18292
- Add support number quality on Image Component: #18224
- Rename iconSizes to imageSizes, remove size limitation: #18294
- Record leveraged configs: #18175
- Fix trailing slash for default image loader: #18298
- Ensure getStaticProps is called for SSG 404 in blocking mode: #18300
- Enable feature flag: #18303
Documentation Changes
- Update example link text: #18286
- update @now/next to @vercel/next: #18246
- Update docs - add default config for images property: #18296
Credits
Huge thanks to @ykzts, @mottox2, @awareness481, @styfle, and @ijjk for helping!
Core Changes
- Fix browser back issue of redirects from getServerSideProps / getStaticProps: #17741
- Add support for notFound in getServerSideProps: #18241
- Improve type for GSP return type: #18285
- Remove unstable_ prefix from unstable_redirect: #18282
- Re-add domain locale redirect handling: #18274
- Remove unstable_ prefix from unstable_notFound: #18283
- Add fetching 404 SSG data on fallback notFound: #18214
- Expose configured default locale in GS(S)P methods: #18216
Documentation Changes
- Add i18n routing docs to manifest: #18264
- Add absolute import example: #17342
Example Changes
- Add initial example for i18n routing: #18206
Credits
Huge thanks to @TasukuUno, @ijjk, and @samrobbins85 for helping!
Core Changes
- Adjust configuration option placement: #18279
- Remove unstable_ prefix from unstable_blocking: #18276
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Separate config into
deviceSizesandiconSizes(#18267) - Add config limit checks for image optimizer (#18217)
- Fix Image
srcsetto ensure the component'swidthis the largest possible image (#18236) - Add next/image default loader errors (#18152)
- Image Optimization API should 404 when loader is not default (#18211)
Documentation Changes
- Fix image optimization docs (#18254)
Credits
Huge thanks to @ijjk, @styfle, and @timneutkens for helping!
Core Changes
- Bypass image optimization for vector images: #18179
- Add support for string width/height on Image component: #18178
- Fix flashing of no-src image when using next/image: #18195
- Bump styled-jsx to 3.3.1: #18200
- Ensure 404 with SSG is rendered correctly with notFound: #18205
- Update use-subscription to account for React 17 peerDependency: #18199
Documentation Changes
- Add initial i18n documentation: #18067
- Add docs for Image Optimization: #18107
Credits
Huge thanks to @ijjk, @styfle, and @giuseppeg for helping!
- Add missing
wparam fallback (#18151) - Bump node-sass from 4.12.0 to 4.13.1 (#18140)
- Bump tree-kill from 1.2.1 to 1.2.2 (#18139)
- Pass
qparam of image component to preload (#18158) - Update redirect query encoding (#18149)
- Update Image Optimization API to prevent upscaling image (#18147)
- Change Image component
lazy=truetoloading=lazy(#18138)
Core Changes
- Update fallback 404 handling to prevent reload loop: #18119
- Make lazy-loading the default for next/image: #18123
- Add locale false handling: #18115
Credits
Huge thanks to @timneutkens for helping!
Core Changes
- Image Component: Support for Akamai image CDN: #18100
- Fix Image component defaults & remove autoOptimize: #18101
- Fix merge conflict: #18106
Credits
Huge thanks to @atcastle and @styfle for helping!
Core Changes
- Pass locales to getStaticPaths for i18n: #18077
- Add
unsizedproperty to Image component: #18059 - Fix css dependency in /_error: #17301
- Move sharp to optionalDependencies: #18068
- Update to PostCSS 8.: #17415
- Update peerdependency to account for React 17: #18089
- Upgrade to Chokidar 3.: #17558
- Upgrade @ampproject/toolbox-optimizer: #18087
- Fix precompiled code: #18093
Example Changes
- Use ya in case xa is false: #18074
Credits
Huge thanks to @gr-qft, @ijjk, @styfle, @TasukuUno, and @ludofischer for helping!
Core Changes
- Update resolve-url-loader to fix vulnerability: #18064
Credits
Huge thanks to @felipeguilhermefs for helping!
Core Changes
- Ensure root index GSP page's revalidate is recorded: #18053
Core Changes
- Remove multi-host support for image component and support quality pass-through: #18038
- Add
widthandheightprops to Image component: #18031
Credits
Huge thanks to @atcastle and @styfle for helping!
Core Changes
- Ensure correct default locale is detected for domain locale: #18046
Core Changes
- Make sure
wparameter is only included when a width is provided.: #17971 - Image component lazy loading: #17916
- Make sure animated assets aren't de-animated by optimizer: #17974
- Fix types for lazy image component: #17984
- Update to postcss-loader 4.0.2.: #17458
- Update handling for relative files in image-optimizer: #17998
Documentation Changes
- Capitalize Data Fetching title in docs: #18001
- Fix typo in headers docs example: #18012
Example Changes
- Fix with-mongodb hot-reload issue and race condition: #17666
- Updated dependencies for example: with-react-native-web: #17375
- Add with-facebook-pixel example: #17667
- Update step 5 to Strapi example Readme: #17985
Misc Changes
- Stabilize i18n fallback test: #17957
Credits
Huge thanks to @ashconnell, @timneutkens, @atcastle, @ykzts, @orYoffe, @lfades, @justinwhall, @fbaiodias, and @ludofischer for helping!
Core Changes
- Fix width param name for Image Optimizer: #17952
- Unify config.image.breakpoints to config.image.sizes: #17953
- Improve types for Image Component: #17954
- Add perf data experiment: #17956
Credits
Huge thanks to @ykzts for helping!
Core Changes
- Add support for returning 404 from getStaticProps: #17755
- Ensure i18n support with AMP: #17923
- Call Web Vitals reporting at correct time: #17933
- Fix initialRevalidateSeconds manifest field with i18n: #17926
- Add support for Image Optimizer: #17749
- Add missing next/image package file: #17940
- Only load plugins with @next prefix: #17945
- Update default configuration to match image optimization: #17943
Credits
Huge thanks to @Timer, @styfle, and @timneutkens for helping!
Core Changes
- Add i18n items to routes manifest: #17893
Core Changes
- Handle preferring default locale over accept-lang preferred locale: #17883
- Add locale prop for transitioning locales client side: #17898
- Make sure that params are properly passed to hybrid amp pages: #17461
Example Changes
- feat(example): added missing prisma.io examples: #17896
- Fixed link for expo: #17908
Credits
Huge thanks to @ijjk, @davidsonsns, @kmkzt, and @slawekkolodziej for helping!
Core Changes
- Add handling for domain to locale mapping: #17771
- Make sure locale detecting is case-insensitive: #17757
- Fix a couple i18n cases: #17805
- Font optimization for webpack 5: #17450
- Allow pages to be async modules to enable top-level-await: #17590
- Update redirect handling for locale domains: #17856
- Image component foundation: #17343
- chore(collect-plugins.ts): removes duplicated entries: #17441
- Resolve to real path before checking for path inequality: #17279
Documentation Changes
- Fix grammatical typo in docs: #17779
- Fix broken url caused in docs: #17789
- Fix higherOrderComponent causing broken layout: #17812
- docs: Clarify use of getStaticProps / getServerSideProps with app / document: #17839
- Add use-npm CLI flag docs: #17803
- (docs) Fixes for "Migrating from Gatsby" doc: #17858
Example Changes
- Improve with-tailwindcss example: #17742
Credits
Huge thanks to @ijjk, @adebiyial, @elliottsj, @saintmalik, @HaNdTriX, @prateekbh, @amirsaeed671, @paambaati, @imagentleman, @gregrickaby, @Janpot, @atcastle, @Kirkhammetz, and @remorses for helping!
Core Changes
- Update to have default locale matched on root: #17669
- Handle css-loader file resolving change: #17724
Example Changes
- Fix with-apollo example : #17686
- Fix with-msw example: #17695
Credits
Huge thanks to @HaNdTriX, and @jensmeindertsma for helping!
Core Changes
- Update to generate auto static pages with all locales: #17730
Core Changes
- Add initial changes for i18n support: #17370
- Update to have default locale matched on root: #17669
- Handle css-loader file resolving change: #17724
Example Changes
- Fix with-apollo example : #17686
- Fix with-msw example: #17695
Credits
Huge thanks to @HaNdTriX and @jensmeindertsma for helping!
This upgrade is completely backwards compatible and recommended for all users on versions below 9.5.4. For future security related communications of our OSS projects, please join this mailing list.
A security team from one of our partners noticed an issue in Next.js that allowed for open redirects to occur.
Specially encoded paths could be used with the trailing slash redirect to allow an open redirect to occur to an external site.
In general, this redirect does not directly harm users although can allow for phishing attacks by redirecting to an attackers domain from a trusted domain.
We recommend upgrading to the latest version of Next.js to improve the overall security of your application.
How to Upgrade
- We have released patch versions for both the stable and canary channels of Next.js.
- To upgrade run
npm install next@latest --save
Impact
- Affected: Users of Next.js between 9.5.0 and 9.5.3
- Not affected: Deployments on Vercel (https://vercel.com) are not affected
- Not affected: Deployments using
next export
We recommend everyone to upgrade regardless of whether you can reproduce the issue or not.
How to Assess Impact
If you think users could have been affected, you can filter logs of affected sites by %2F with a 308 response.
What is Being Done
As Next.js has grown in popularity, it has received the attention of security teams and auditors. We are thankful to those that reached out for their investigation and discovery of the original bug and subsequent responsible disclosure.
We've landed a patch that ensures encoding is handled properly for these types of redirects so the open redirect can no longer occur.
Regression tests for this attack were added to the security integration test suite.
- We have notified known Next.js users in advance of this publication.
- A public CVE was released.
- If you want to stay on top of our security related news impacting Next.js or other Vercel projects, please join this mailing list.
- We encourage responsible disclosure of future issues. Please email us at security@vercel.com. We are actively monitoring this mailbox.
Core Changes
- Make the image post-processor ignore SVG images: #16732
- Only update lookups for dev overlay if mounted: #16776
- Ensure interpolating dynamic href values works correctly: #16774
- Add automatic reloading when editing GS(S)P methods: #16744
- Update to show build indicator while re-fetching GS(S)P data in dev: #16789
- make parseRelativeUrl return a UrlObject: #16809
- Add tests for searchParams dev warning: #16798
- Fix invalid config export errors: #16834
- Correct client rewrite resolving with query: #16860
- Fix href resolving with trailing slash enabled: #16873
- Divide export build output into 4 segments instead of showing it one by one: #16815
- Include additional query values when interpolating href: #16878
- Correct page path for GS(S)P data refreshing: #16939
- Fix align documentation with the code: #16843
- Remove
next-head-count: #16758 - Add Support for CSS Module Value Imports: #16973
- Fix resolving href with a rewrite: #16975
- Correct query behavior for falsey values to pre 9.5.1 behavior: #16608
- Importing CSS from Third Party React Components: #16993
- Add error when href interpolation fails: #16946
- Security upgrade node-fetch: #17009
- Upgrade sass loader: #16970
- Prefer builtin optional chaining and nullish coalescing: #16780
- Upgrade cacache of terser-webpack-plugin: #17022
- Upgrade web-vitals: #17028
- Remove false positive in circular structure detection: #16380
- Fix Webpack 5 configuration for v5.0.0-beta.30: #17038
- Improve custom document error message: #17048
- Use babel 7 jsx syntax: #17043
- [Fix]
webpack@5.0.0-beta.30: Invalid configuration: #17045 - Normalize asPath for GS(S)P pages: #17081
- Polyfill missing std lib fns for module browsers: #17083
- Provide resolvedUrl to getServerSideProps: #17082
- Fix API page check during SSG page collecting: #17092
- Update webpack 5 resolving: #17095
- Separate resolved asPath from resolved URL for GSSP: #17121
- Fix export-cli progress label default value: #17106
- Improve server performance by skipping decode/re-encode: #17323
- Remove extra check in config loading: #17336
- Expose dotenv loading under separate package: #17152
- Fix empty title in head: #17430
- Ensure optional-chaining/nullish coalescing is included: #17429
- Remove left-over api-utils method: #17595
- Add warning when exporting with custom routes: #17538
- Normalize optional catch-all fallback: true page params: #17551
- Update to use hasNextSupport for custom-routes in next export check: #17630
Documentation Changes
- Add Fast Refresh Demo: #16576
- Update dynamic-import docs: #16803
- Update link docs to reflect changes on dynamic routing (#16634)
- Add handling for redirects from getStaticProps/getServerSideProps (#16642)
- Document CSS Grid Better: #16996
- Improve Asset Prefix Docs: #16998
- Update build time env variable link in the runtime config section: #17017
- fix gtag syntax in measuring docs: #16933
- docs(babelrc): precise usage without configuring plugins: #16779
- Improve Document Component Error: #17047
- Add missing comma in docs example: #17129
- Adds note about public directory: #17203
- Fix invalid href error message: #17183
- Update trailingSlash parameter name: #17228
- Update cdn-support-with-asset-prefix.md: #17237
- Docs(api-middlewares): use typings for serialize options from @types/cookie: #17285
- Remove reference to now env example: #17341
- Mention required version for global CSS imports in node_modules: #17506
- Mention
favicon.icoin static file serving docs.: #17540 - Add note about priority to rewrites docs: #17535
- [docs] Fix typo Next.js -> TypeScript: #17561
- Add missing introductory exportPathMap purpose description: #17444
- Add docs on how to migrate from Gatsby.: #17491
- Update migrating from Gatsby docs.: #17636
- change anonymous functions to named in docs examples: #17510
Example Changes
- force persistor persist again after persistStore bootstrap done: #16085
- Create _document.js to include current language in HTML tag: #16360
- [Example] Fix relay network request: #16525
- Minor spelling fix in zones example's readme: #16822
- Update
with-stitchesexample: #16827 - Undo unrequired readme changes done to examples: #16831
- chore(examples): fix missing document components error messages: #16802
- Use useRouter over Router for with-google-analytics example: #16846
- chore: update example names to match their folders: #16268
- [EXAMPLE] with-cssed: #16735
- update nextjs-auth0 versionfor auth0 example: #16871
- Remove path specific switch statement from http2 example: #16558
- Fix Three.js example's BoxesPage variable name: #16900
- Fix extension name for example app (#16916)
- Fix typo in Pet mongoose model: #16943
- Ignore .next also in subfolders: #16962
- Update with-slate example: #16959
- Adding globalStyled with styled components: #16783
- Updates "msw" package to version 0.21.0: #17012
- Examples blogs: fix spelling: #17049
- Include all files in Prettier: #17050
- feat(examples/with-react-intl): add locale negotation to client side: #16806
- Update PatternFly example to v4: #17241
- Fix for missing babel dependencies in with-rebass example: #16839
- [Example] With TS Eslint Jest - unnecessary package: #17170
- [Example] with-react-intl: fix getInitialProps props ordering: #17174
- [Example] with-react-intl: fix doubling messages: #17175
- [Examples] Optimize with-docker: #17116
- Add with-chakra-ui-typescript example: #16561
- Delete vercel.json from "yarn workspaces" example: #17263
- Add project name to examples/with-three-js create command: #17256
- Example: with-next-auth updated to v3: #17266
- fix(examples/with-redux-wrapper): wrong initial state (close #17299): #17335
- Update README.md: #17347
- Fix a small typo in index.css: #17399
- Fixed minor typo: #17456
- with-google-analytics-amp needs in Document component: #17462
- update README for vercel.app, stream.new: #17539
- Improve formatting in examples: #17571
- Fixes #16431: #17610
- fix typo: #17653
Misc Changes
- Update to check for overlay in client nav tests: #17002
- Update workflow to use latest webpack 5 beta
- fix(eslint-plugin-next): support src/pages folder in no-html-link-for-pages rule: #16743
- Update no-document-viewport-meta.md
- Rename exportTrailingSlash to trailingSlash in docs: #17268
- Remove duplicate
shouldin test name: #17303 - Remove Random Blank Line in create-next-app: #17328
- Update release stats workflow: #17533
- Update release stats workflow: #17580
- test(create-next-app): increase coverage: #17507
- Update release stats workflow step to restore cache: #17656
Credits
Huge thanks to @YichiZ, @weichienhung, @atcastle, @ijjk, @seosmmbusiness, @HsuTing, @gsimone, @peduarte, @Janpot, @ztanner, @lfades, @neighborhood999, @chibicode, @merceyz, @opudalo, @lunchboxav, @mohsen1, @akd-io, @justman00, @helloworld, @devknoll, @borekb, @HaNdTriX, @ArthurMaverick, @sakito21, @TrySound, @omBratteng, @svenheden, @hallaji, @kettanaito, @vvo, @m-lautenbach, @jensmeindertsma, @Zeko369, @Timer, @longlho, @stefanprobst, @laugharn, @sdornan, @daneroo, @mohd-akram, @austingmhuang, @sphilee, @devinekadeni, @Bacher, @nghiepit, @tomasdisk, @leader22, @paulogdm, @284km, @belgattitude, @geritol, @stigkj, @sampoder, @samrobbins85, @Pitasi, @digitalPlayer1125, @timfee, @plug-n-play, @philihp, @leerob, @dylanjha, @Kerumen, @rdimaio, @jorisw, @zerbinidamata, @jamesgeorge007, @Jashnm, and @futantan for helping!
Example Changes
- fix typo: #17653
Misc Changes
- Update release stats workflow step to restore cache: #17656
Credits
Huge thanks to @futantan for helping!
Core Changes
- Remove left-over api-utils method: #17595
- Add warning when exporting with custom routes: #17538
- Normalize optional catch-all fallback: true page params: #17551
- Update to use hasNextSupport for custom-routes in next export check: #17630
Documentation Changes
- Mention required version for global CSS imports in node_modules: #17506
- Mention
favicon.icoin static file serving docs.: #17540 - Add note about priority to rewrites docs: #17535
- [docs] Fix typo Next.js -> TypeScript: #17561
- Add missing introductory exportPathMap purpose description: #17444
- Add docs on how to migrate from Gatsby.: #17491
- Update migrating from Gatsby docs.: #17636
- change anonymous functions to named in docs examples: #17510
Example Changes
- Fixed minor typo: #17456
- with-google-analytics-amp needs in Document component: #17462
- update README for vercel.app, stream.new: #17539
- Improve formatting in examples: #17571
- Fixes #16431: #17610
Misc Changes
- Update release stats workflow: #17533
- Update release stats workflow: #17580
- test(create-next-app): increase coverage: #17507
Credits
Huge thanks to @plug-n-play, @philihp, @lfades, @leerob, @dylanjha, @ijjk, @Kerumen, @rdimaio, @jorisw, @zerbinidamata, @jamesgeorge007, and @Jashnm for helping!
Core Changes
- Fix empty title in head: #17430
- Ensure optional-chaining/nullish coalescing is included: #17429
Example Changes
- Fix a small typo in index.css: #17399
Credits
Huge thanks to @timfee and @ijjk for helping!
Core Changes
- Remove extra check in config loading: #17336
- Expose dotenv loading under separate package: #17152
Documentation Changes
- Remove reference to now env example: #17341
Example Changes
- fix(examples/with-redux-wrapper): wrong initial state (close #17299): #17335
- Update README.md: #17347
Misc Changes
- Remove Random Blank Line in create-next-app: #17328
Credits
Huge thanks to @sampoder, @samrobbins85, @Pitasi, and @digitalPlayer1125 for helping!
Core Changes
- Fix export-cli progress label default value: #17106
- Improve server performance by skipping decode/re-encode: #17323
Documentation Changes
- Add missing comma in docs example: #17129
- Adds note about public directory: #17203
- Fix invalid href error message: #17183
- Update trailingSlash parameter name: #17228
- Update cdn-support-with-asset-prefix.md: #17237
- Docs(api-middlewares): use typings for serialize options from @types/cookie: #17285
Example Changes
- feat(examples/with-react-intl): add locale negotation to client side: #16806
- Update PatternFly example to v4: #17241
- Fix for missing babel dependencies in with-rebass example: #16839
- [Example] With TS Eslint Jest - unnecessary package: #17170
- [Example] with-react-intl: fix getInitialProps props ordering: #17174
- [Example] with-react-intl: fix doubling messages: #17175
- [Examples] Optimize with-docker: #17116
- Add with-chakra-ui-typescript example: #16561
- Delete vercel.json from "yarn workspaces" example: #17263
- Add project name to examples/with-three-js create command: #17256
- Example: with-next-auth updated to v3: #17266
Misc Changes
- fix(eslint-plugin-next): support src/pages folder in no-html-link-for-pages rule: #16743
- Update no-document-viewport-meta.md
- Rename exportTrailingSlash to trailingSlash in docs: #17268
- Remove duplicate
shouldin test name: #17303
Credits
Huge thanks to @lfades, @longlho, @stefanprobst, @laugharn, @sdornan, @daneroo, @mohd-akram, @austingmhuang, @sphilee, @devinekadeni, @Bacher, @nghiepit, @tomasdisk, @leader22, @paulogdm, @284km, @belgattitude, @geritol, and @stigkj for helping!
Core Changes
- Separate resolved asPath from resolved URL for GSSP: #17121
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Update webpack 5 resolving: #17095
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Provide resolvedUrl to getServerSideProps: #17082
- Fix API page check during SSG page collecting: #17092
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Polyfill missing std lib fns for module browsers: #17083
Credits
Huge thanks to @Timer for helping!
Core Changes
- [Fix]
webpack@5.0.0-beta.30: Invalid configuration: #17045 - Normalize asPath for GS(S)P pages: #17081
Credits
Huge thanks to @jensmeindertsma for helping!
Core Changes
- Improve custom document error message: #17048
- Use babel 7 jsx syntax: #17043
Documentation Changes
- Improve Document Component Error: #17047
Example Changes
- Examples blogs: fix spelling: #17049
- Include all files in Prettier: #17050
Credits
Huge thanks to @Zeko369, @TrySound, and @jensmeindertsma for helping!
Core Changes
- Fix Webpack 5 configuration for v5.0.0-beta.30: #17038
Misc Changes
- Update workflow to use latest webpack 5 beta
Credits
Huge thanks to @jensmeindertsma for helping!
Core Changes
- Upgrade web-vitals: #17028
- Remove false positive in circular structure detection: #16380
Documentation Changes
- Update build time env variable link in the runtime config section: #17017
- fix gtag syntax in measuring docs: #16933
- docs(babelrc): precise usage without configuring plugins: #16779
Example Changes
- Updates "msw" package to version 0.21.0: #17012
Credits
Huge thanks to @omBratteng, @svenheden, @hallaji, @kettanaito, @vvo, and @m-lautenbach for helping!
Core Changes
- Security upgrade node-fetch: #17009
- Upgrade sass loader: #16970
- Prefer builtin optional chaining and nullish coalescing: #16780
- Upgrade cacache of terser-webpack-plugin: #17022
Misc Changes
- Update to check for overlay in client nav tests: #17002
Credits
Huge thanks to @ijjk, @sakito21, and @TrySound for helping!
Core Changes
- Add error when href interpolation fails: #16946
Example Changes
- Adding globalStyled with styled components: #16783
Credits
Huge thanks to @ijjk and @ArthurMaverick for helping!
Core Changes
- Correct query behavior for falsey values to pre 9.5.1 behavior: #16608
- Importing CSS from Third Party React Components: #16993
Documentation Changes
- Document CSS Grid Better: #16996
- Improve Asset Prefix Docs: #16998
Credits
Huge thanks to @Janpot for helping!
Core Changes
- Fix resolving href with a rewrite: #16975
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Add Support for CSS Module Value Imports: #16973
Example Changes
- Ignore .next also in subfolders: #16962
- Update with-slate example: #16959
Credits
Huge thanks to @borekb and @HaNdTriX for helping!
Core Changes
- Correct page path for GS(S)P data refreshing: #16939
- Fix align documentation with the code: #16843
- Remove
next-head-count: #16758
Example Changes
- Fix typo in Pet mongoose model: #16943
Credits
Huge thanks to @ijjk, @justman00, @helloworld, and @devknoll for helping!
Documentation Changes
- Update link docs to reflect changes on dynamic routing (#16634)
- Add handling for redirects from getStaticProps/getServerSideProps (#16642)
Example Changes
- Fix extension name for example app (#16916)
Credits
Huge thanks to @lfades and @ijjk for helping!
Core Changes
- Divide export build output into 4 segments instead of showing it one by one: #16815
- Include additional query values when interpolating href: #16878
Example Changes
- Fix Three.js example's BoxesPage variable name: #16900
Credits
Huge thanks to @akd-io and @ijjk for helping!
Core Changes
- Fix href resolving with trailing slash enabled: #16873
Documentation Changes
- Update dynamic-import docs: #16803
Example Changes
- chore: update example names to match their folders: #16268
- [EXAMPLE] with-cssed: #16735
- update nextjs-auth0 versionfor auth0 example: #16871
- Remove path specific switch statement from http2 example: #16558
Credits
Huge thanks to @merceyz, @opudalo, @lunchboxav, @lfades, and @mohsen1 for helping!
Core Changes
- Correct client rewrite resolving with query: #16860
Example Changes
- Use useRouter over Router for with-google-analytics example: #16846
Credits
Huge thanks to @chibicode and @ijjk for helping!
Core Changes
- Update to show build indicator while re-fetching GS(S)P data in dev: #16789
- make parseRelativeUrl return a UrlObject: #16809
- Add tests for searchParams dev warning: #16798
- Fix invalid config export errors: #16834
Example Changes
- [Example] Fix relay network request: #16525
- Minor spelling fix in zones example's readme: #16822
- Update
with-stitchesexample: #16827 - Undo unrequired readme changes done to examples: #16831
- chore(examples): fix missing document components error messages: #16802
Credits
Huge thanks to @HsuTing, @gsimone, @peduarte, @Janpot, @ztanner, @lfades, and @neighborhood999 for helping!
Core Changes
- Only update lookups for dev overlay if mounted: #16776
- Ensure interpolating dynamic href values works correctly: #16774
- Add automatic reloading when editing GS(S)P methods: #16744
Example Changes
- Create _document.js to include current language in HTML tag: #16360
Credits
Huge thanks to @ijjk and @seosmmbusiness for helping!
Core Changes
- Make the image post-processor ignore SVG images: #16732
Documentation Changes
- Add Fast Refresh Demo: #16576
Example Changes
- force persistor persist again after persistStore bootstrap done: #16085
Credits
Huge thanks to @YichiZ, @weichienhung, and @atcastle for helping!
Core Changes
- Add codemod documentation: #16067
- Remove tslint disables: #16116
- Strongly type PageLoader: #16132
- Strongly type Head Manager: #16144
- Improve page loader types: #16145
- Dedupe ComponentRes type: #16148
- Remove unused router method: #16149
- Add initial handling for dynamic route href resolving and rewrites on the client: #15231
- Reduce router code: #16159
- Convert performance relayer to TypeScript: #16161
- Convert next/client to TypeScript: #16167
- Remove unused dependency: #16168
- Share NEXT_DATA type instead of recreating it: #16174
- Modify low priority files in manifest: #16181
- fix: add missing dependency caniuse-lite: #16091
- Refactor
files: #16184 - Update rewrite params query appending: #16189
- Update to Terser 5: #16194
- Make css-minimizer compatible with webpack 5: #16250
- Fix data URL with root-catchall and basePath: #16263
- Handle cases where
configis exported after its declaration: #16211 - ci: add pnp test: #16255
- Update stylesheets on page navigation: #16126
- Fix forEach error in CSS commit in ie11: #16282
- Allow React experimental version without warning: #16140
- Add experimental webpack 5 cache option: #16307
- Fix old TypeScript version compatibility: #16288
- Replace broken
prop-types-exactpackage: #15953 - Force browser to recompute layout on page nav: #16318
- Add
<link>attributes in proper order: #16319 - Add at attribute to image preload link: #16328
- Fix IE11 CSS Compatibility: #16336
- Make
loadPagetrack success of script loading: #16334 - Normalize request URL/asPath for fallback SSG pages: #16352
- Reduce filesystem lookups during bootup: #16354
- Fix basePath and public folder check ending routes early: #16356
- Fix page checking failing with trailingSlash: #16362
- Add serialization for mini-css-plugin webpack 5 caching: #16379
- Correct comment on --help: #16391
- Fix mini-css-plugin webpack 5 deprecation warnings: #16390
- Add debug flag for extra build output: #16399
- Warn on duplicate Sass deps: #16398
- Ensure unknown static paths 404 for data request: #16401
- AMP compatibility for Font optimization: #16208
- Solve last mini-css-plugin webpack 5 warning: #16447
- Fix optional catch-all
/indexrevalidate params: #16451 - Do not alias Node modules for webpack 4: #16452
- Fix un-transpiled client file with rewrites: #16453
- Make sure to break rewrites chain when dynamic route matches: #16455
- Fix render cancel behavior: #16462
- Add webpack 5 caching for css optimizer: #16467
- Correct shallow routing behavior through history: #16477
- Correct initial fallback route param values: #16485
- Add webpack 5 cache invalidation: #16494
- Add error when document component isn't rendered: #16459
- Update Fast Refresh warning: #16496
- Store css file dependencies info for dynamic imports and apply it at SSR: #12843
- Enable webpack 5 caching by default: #16531
- Reuse existing
<link rel=stylesheet>on nav: #16537 - Replace client-side transitions with
- Do not rely on
cssText: #16611 - remove unneeded error: #16636
- fix: Promise.prototype.finally is object: #16620
- Auto enable React's new JSX transform on 17.x: #16603
- fix: Promise.prototype.finally is object: #16620
- Export return type for GetStaticPaths: #16580
- [test] Update hydration marker for React 17: #16756
- Revert #14580: #16757
Documentation Changes
- Fix link to create-next-app docs: #16069
- Mention header overriding behavior: #16089
- Correct a couple of small grammar errors.: #16221
- how to bundle-analyzer with next-compose-plugins: #15370
- Update docs for server-side code in GS(S)P props: #16198
- Fix typo in fast-refresh.md: #16292
- Update build CLI docs with new flag: #16419
- Add version note to path aliases docs: #16479
- Document req and res: #16432
- Documentation updates: #16503
- Update fast-refresh.md to fix 404 link: #16505
- Add Kontent example: #16034
- Fix github docs links: #16540
- Include yarn instructions: #16565
- Add activeClassName to Link examples: #16658
- Clarify sending to Google Analytics in reportWebVitals: #16664
- Update preview mode docs to include API Routes: #16705
Example Changes
- Fix: with-firebase-authentication event listener: #16057
- update with-filbert-js: #15968
- Add stripPrefix of webpack://_N_E/: #15955
- Add with-reactstrap example: #15474
- removed renderToHTML definition from with-flow example: #16137
- removed renderToHTML from ssr-caching and custom-server-hapi in examples: #16138
- examples: Add with-supabase-auth-realtime-db example.: #16016
- Add MSW usage example: #13731
- Update Storybook examples to v6.0: #16139
- Added next-sitemap example: #15997
- [Examples] Remove horizontal scroll in CMS examples : #16295
- Add example: Unsplash integration: #16142
- Remove experimental example: #16497
- basePath should also append in urlPrefix: #16376
- Update environment variables example: #16536
- examples/with-styled-components: Fix missing peerDependency: #16532
- feat: upgrade react-intl workflow in example: #16215
- Update with-tailwindcss example: #16370
- Add with-mdx-remote example: #16613
- Update README.mb: #16676
- Update with-typescript-graphql: #16101
- Upgrade typescript to 4.0: #16673
- [Example] fix with-firebase-hosting: #16577
- Simplify example usage instructions: #16678
- Ensure all examples are MIT licensed: #16691
- Update _app.js to use a function component.: #16683
- Add cross-env to ensure examples work on Windows 10: #16694
- fix: fix hashing algo and locale value hydration: #16692
- [EXAMPLE] with-framer-motion: fix broken images: #16714
Misc Changes
- Add test case for preloading buildManifest: #16183
- Test basic css module prefetching without compose: #16134
- Fix module not found test
- CNA: Add warning about permission: #14889
- Eslint preload: #16199
- Update next-google-analytics to work with .env files: #16529
- Increase font test timeout for Windows: #16527
- Add tests for preview mode caching: #16579
- Add missing gitignore files
Credits
Huge thanks to @francisrod01, @kuldeepkeshwar, @tm1000, @ijjk, @khasty720, @Timer, @madiknox, @thorwebdev, @merceyz, @kettanaito, @rafaelalmeidatk, @tuan-m-ng, @cargallo, @chicoxyzzy, @kevva, @iamvishnusankar, @agarwalrounak, @jamesmosier, @louisjuliendo, @timneutkens, @todortotev, @atcastle, @matamatanot, @sclm, @prateekbh, @janicklas-ralph, @crashncrow, @sharils, @lfades, @weichienhung, @khades, @christianpv, @Simply007, @simnalamburt, @jaredpalmer, @longlho, @needcaffeine, @rparet, @Janpot, @samrobbins85, @daneden, @NorbertLuszkiewicz, @piglovesyou, @awareness481, @sakito21, @balazsorban44, @tengmaoqing, @pkrawc, @arthurjdam, and @joris for helping!
Core Changes
- Export return type for GetStaticPaths: #16580
- [test] Update hydration marker for React 17: #16756
- Revert #14580: #16757
Example Changes
- [EXAMPLE] with-framer-motion: fix broken images: #16714
Credits
Huge thanks to @arthurjdam and @joris- for helping!
Core Changes
- remove unneeded error: #16636
- fix: Promise.prototype.finally is object: #16620
- Auto enable React's new JSX transform on 17.x: #16603
- fix: Promise.prototype.finally is object: #16620
Documentation Changes
- Include yarn instructions: #16565
- Add activeClassName to Link examples: #16658
- Clarify sending to Google Analytics in reportWebVitals: #16664
- Update preview mode docs to include API Routes: #16705
Example Changes
- feat: upgrade react-intl workflow in example: #16215
- Update with-tailwindcss example: #16370
- Add with-mdx-remote example: #16613
- Update README.mb: #16676
- Update with-typescript-graphql: #16101
- Upgrade typescript to 4.0: #16673
- [Example] fix with-firebase-hosting: #16577
- Simplify example usage instructions: #16678
- Ensure all examples are MIT licensed: #16691
- Update _app.js to use a function component.: #16683
- Add cross-env to ensure examples work on Windows 10: #16694
- fix: fix hashing algo and locale value hydration: #16692
Misc Changes
- Add missing gitignore files
Credits
Huge thanks to @longlho, @needcaffeine, @rparet, @Janpot, @samrobbins85, @daneden, @NorbertLuszkiewicz, @piglovesyou, @awareness481, @sakito21, @balazsorban44, @tengmaoqing, @pkrawc, and @lfades for helping!
Core Changes
- Do not rely on
cssText: #16611
Core Changes
- Replace client-side transitions with
Misc Changes
- Add tests for preview mode caching: #16579
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Reuse existing
<link rel=stylesheet>on nav: #16537
Misc Changes
- Increase font test timeout for Windows: #16527
Core Changes
- Enable webpack 5 caching by default: #16531
Documentation Changes
- Update fast-refresh.md to fix 404 link: #16505
- Add Kontent example: #16034
- Fix github docs links: #16540
Example Changes
- Update environment variables example: #16536
- examples/with-styled-components: Fix missing peerDependency: #16532
Misc Changes
- Update next-google-analytics to work with .env files: #16529
Credits
Huge thanks to @christianpv, @Simply007, @lfades, @simnalamburt, and @jaredpalmer for helping!
Core Changes
- Correct shallow routing behavior through history: #16477
- Correct initial fallback route param values: #16485
- Add webpack 5 cache invalidation: #16494
- Add error when document component isn't rendered: #16459
- Update Fast Refresh warning: #16496
- Store css file dependencies info for dynamic imports and apply it at SSR: #12843
Documentation Changes
- Add version note to path aliases docs: #16479
- Document req and res: #16432
- Documentation updates: #16503
Example Changes
- Add example: Unsplash integration: #16142
- Remove experimental example: #16497
- basePath should also append in urlPrefix: #16376
Credits
Huge thanks to @crashncrow, @ijjk, @sharils, @lfades, @timneutkens, @weichienhung, and @khades for helping!
Core Changes
- Make sure to break rewrites chain when dynamic route matches: #16455
- Fix render cancel behavior: #16462
- Add webpack 5 caching for css optimizer: #16467
Credits
Huge thanks to @ijjk and @Timer for helping!
Core Changes
- Fix optional catch-all
/indexrevalidate params: #16451 - Do not alias Node modules for webpack 4: #16452
- Fix un-transpiled client file with rewrites: #16453
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Solve last mini-css-plugin webpack 5 warning: #16447
Documentation Changes
- Update build CLI docs with new flag: #16419
Credits
Huge thanks to @ijjk and @timneutkens for helping!
Core Changes
- AMP compatibility for Font optimization: #16208
Misc Changes
- Eslint preload: #16199
Credits
Huge thanks to @prateekbh and @janicklas-ralph for helping!
Core Changes
- Add debug flag for extra build output: #16399
- Warn on duplicate Sass deps: #16398
- Ensure unknown static paths 404 for data request: #16401
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Correct comment on --help: #16391
- Fix mini-css-plugin webpack 5 deprecation warnings: #16390
Credits
Huge thanks to @sclm and @timneutkens for helping!
Core Changes
- Add serialization for mini-css-plugin webpack 5 caching: #16379
Core Changes
- Normalize request URL/asPath for fallback SSG pages: #16352
- Reduce filesystem lookups during bootup: #16354
- Fix basePath and public folder check ending routes early: #16356
- Fix page checking failing with trailingSlash: #16362
Misc Changes
- CNA: Add warning about permission: #14889
Credits
Huge thanks to @ijjk and @matamatanot for helping!
Core Changes
- Make
loadPagetrack success of script loading: #16334
Credits
Huge thanks to @Timer for helping!
Core Changes
- Fix IE11 CSS Compatibility: #16336
Core Changes
- Add at attribute to image preload link: #16328
Credits
Huge thanks to @atcastle for helping!
Core Changes
- Replace broken
prop-types-exactpackage: #15953 - Force browser to recompute layout on page nav: #16318
- Add
<link>attributes in proper order: #16319
Example Changes
- [Examples] Remove horizontal scroll in CMS examples : #16295
Misc Changes
- Fix module not found test
Credits
Huge thanks to @todortotev for helping!
Core Changes
- Allow React experimental version without warning: #16140
- Add experimental webpack 5 cache option: #16307
- Fix old TypeScript version compatibility: #16288
Documentation Changes
- Update docs for server-side code in GS(S)P props: #16198
- Fix typo in fast-refresh.md: #16292
Example Changes
- Added next-sitemap example: #15997
Misc Changes
- Test basic css module prefetching without compose: #16134
Credits
Huge thanks to @iamvishnusankar, @agarwalrounak, @jamesmosier, @louisjuliendo, and @timneutkens for helping!
Core Changes
- Fix forEach error in CSS commit in ie11: #16282
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Update stylesheets on page navigation: #16126
Core Changes
- Fix data URL with root-catchall and basePath: #16263
- Handle cases where
configis exported after its declaration: #16211 - ci: add pnp test: #16255
Credits
Huge thanks to @kevva and @merceyz for helping!
Core Changes
- Update to Terser 5: #16194
- Make css-minimizer compatible with webpack 5: #16250
Documentation Changes
- Correct a couple of small grammar errors.: #16221
- how to bundle-analyzer with next-compose-plugins: #15370
Example Changes
- Update Storybook examples to v6.0: #16139
Credits
Huge thanks to @rafaelalmeidatk, @tuan-m-ng, @cargallo, and @chicoxyzzy for helping!
Core Changes
- fix: add missing dependency caniuse-lite: #16091
- Refactor
files: #16184 - Update rewrite params query appending: #16189
Example Changes
- Add MSW usage example: #13731
Credits
Huge thanks to @merceyz, @kettanaito, and @ijjk for helping!
Core Changes
- Modify low priority files in manifest: #16181
Misc Changes
- Add test case for preloading buildManifest: #16183
Credits
Huge thanks to @ijjk for helping!
Core Changes
- Reduce router code: #16159
- Convert performance relayer to TypeScript: #16161
- Convert next/client to TypeScript: #16167
- Remove unused dependency: #16168
- Share NEXT_DATA type instead of recreating it: #16174
Core Changes
- Add codemod documentation: #16067
- Remove tslint disables: #16116
- Strongly type PageLoader: #16132
- Strongly type Head Manager: #16144
- Improve page loader types: #16145
- Dedupe ComponentRes type: #16148
- Remove unused router method: #16149
- Add initial handling for dynamic route href resolving and rewrites on the client: #15231
Documentation Changes
- Fix link to create-next-app docs: #16069
- Mention header overriding behavior: #16089
Example Changes
- Fix: with-firebase-authentication event listener: #16057
- update with-filbert-js: #15968
- Add stripPrefix of webpack://_N_E/: #15955
- Add with-reactstrap example: #15474
- removed renderToHTML definition from with-flow example: #16137
- removed renderToHTML from ssr-caching and custom-server-hapi in examples: #16138
- examples: Add with-supabase-auth-realtime-db example.: #16016
Credits
Huge thanks to @francisrod01, @kuldeepkeshwar, @tm1000, @ijjk, @khasty720, @Timer, @madiknox, and @thorwebdev for helping!
Core Changes
- Fix hot reloader edge case with broken webpack plugins: #15659
- Add additional pageProps check: #15667
- Error overlay should not be dismissable for a server error: #14011
- Strictly type
react-dev-overlay: #15669 - Fix wrong asPath on 404: #15728
- Complile for ES5 in webpack 5 build: #15708
- Remove unused error: #15748
- Fix asPath of rewrite without basePath: #15760
- Improve router types: #15775
- Fix dotenv loading with cascading values: #15799
- Solve large portion of webpack 5 deprecation warnings: #15806
- Fix some webpack 5 deprecation warnings: #15797
- Rename exportTrailingSlash to existing trailingSlash property: #15768
- Support persisting the dev cache buster: #15827
- Fix CSS grid-column shorthand syntax: #15848
- Add missing nomodule polyfills and suggest using features only up to ES2019 for browser compatibility: #15772
- Bug fix: Font optimization: #15644
- Progress bar for static build: #15297
- Incremental static generation and regeneration in build output table: #14365
- Add support for
fallback: 'blocking': #15672 - fixed issue with runtime-config returning undefined when building or in a development environment: #15777
- Disallow basePath: false for internal routes: #15837
- Run Fast Refresh Loader in Babel Loader: #15851
- Add experimental image post-processing: #15875
- Allow absolute urls in router and Link: #15792
- Enhance module not found error: #15860
- Normalize serverless asPath value: #15914
- Adjust overlay modal padding on mobile: #15915
- Disallow re-export all exports from Next.js pages: #14325
- Delay server start message until it's listening: #15929
- Warn when Fast Refresh is disabled (React <16.10): #15931
- Remove querystring from the client: #15378
- Improve Vercel's badge: #15946
- notify component when route hash changes: #13894
- Added Friendly error for res.redirect 🐝: #15844
- Fix asPath normalizing for non-dynamic pages: #15960
- Make helpers.ts compatible with ie11: #15973
- Bug fix: Font optimization: #15984
- Fix amphtml link rel not respecting basePath: #15949
- Add browser polyfils for Node.js modules (webpack 5 backwards compat): #16022
- Move next-codemod to Next.js monorepo: #15536
- Resolve alias modules: #16033
- Add cli for @next/codemod: #16039
- Do not bundle caniuse-lite: #16048
- upgrade @ampproject/toolbox-optimizer to 2.6.0: #16043
- Do not assign to readonly property in Safari: #16051
- Improvements - Font optimizations: #16031
- Don’t prevent the browser’s default behavior for Alt key: #16003
Documentation Changes
- Use
next devfor the getting started page: #15705 - Update smart-cdn link: #15707
- Document regex support for custom routes: #15714
- Add upgrade notes for Next.js 9.5: #15703
- Add clarification of routing to a dynamic route: #15771
- Add docs page for Create Next App: #15454
- Explain Sass Extensions in CSS Docs: #15830
- Update next build docs to include the --profile argument: #15766
- Remove outdated docs on serverless builds and runtime configs: #15907
- Example for Redirects (Custom routes): #15411
- fix typo in export-all-in-page: #15925
- Add variable expansion note: #15917
- Update Fast Refresh doc: #15923
- Add PWA Example: #15433
- Typo fixes in data-fetching document: #16004
Example Changes
- Fix with-sentry: #15694
- Update next-transpile-modules in with-react-intl example: #15730
- Update next-transpile-modules in all examples: #15739
- Fix gh-pages deploy script: #15724
- examples: Update with-electron .gitignore: #15783
- Remove dotenv from auth0 Next.js example: #15398
- with-electron-typescript build error fix: #15803
- Updated with-passport example to fix syntax errors: #15831
- Remove dotenv from with-firebase example: #15743
- await ctx.renderPage() in examples for TypeScript: #15528
- add payment description for with-stripe-typescript: #15888
- Replace Graphcool with dedicated example GraphQL server using Prisma: #15752
- Fix: with-mongodb-mongoose example improper fetch error handling: #15856
- Fix with-firebase-authentication example: Update the cookie when ID token refreshes on client: #15628
- remove dotenv from with-stripe-typescript: #15814
- Fix typos in blog-starter and blog-starter-typescript: #15807
- examples/custom-server-typescript upgrade dependencies: #15833
- Fix awaiting for sync method of remark in cms examples: #15555
- Update with-apollo examples to merge existing cache: #15804
- Update react-md examples for v2: #15723
- Remove horizontal scroll in CMS examples: #15921
- updated active-class-name example to also demo a
[slug]path: #15924 - with-react-native-web: move meta viewport to _app.js: #15945
- example application on Redis (Lambda.store): #15532
- Update Sentry example to improve display of server errors: #15495
- Remove another broken demo link from with-graphql-faunadb: #16007
- Typo fix (built time -> build time): #16006
- Fix with-i18n-rosetta example: #16023
Misc Changes
- Stabilize another test: #15697
- Test that overlay appears: #15850
- Test macOS on canary: #15899
- Test macOS on canary with separate workflow: #15901
- Add tests for querystring-relative urls: #15911
- Add missing gitignore
- Remove common PR title prefixes
Credits
Huge thanks to @ijjk, @eKhattak, @lfades, @matamatanot, @Janpot, @jonespen, @RafalFilipek, @martpie, @ronaldstevanus, @samrobbins85, @DavidLemayian, @msreekm, @timneutkens, @kmturley, @MehediH, @marcmll, @Timer, @kripod, @prateekbh, @gelbartj, @darshkpatel, @jtaox, @agstover, @Weakky, @lwpamihiranga, @joejknowles, @styfle, @agarwalrounak, @rdimaio, @nirtamir2, @rokinsky, @JClackett, @Siggnja, @atcastle, @mlaursen, @joris, @robintom, @AubreyHewes, @epiacentini, @raibima, @evilrabbit, @tomdohnal, @markozxuu, @svenanderson, @hokaccha, @amiralies, @lqze, @sebastianbenz, @yuheiy, and @StarpTech for helping!
Example Changes
- Fix with-i18n-rosetta example: #16023
Credits
Huge thanks to @StarpTech for helping!
Core Changes
- Don’t prevent the browser’s default behavior for Alt key: #16003
Credits
Huge thanks to @yuheiy for helping!
Core Changes
- Improvements - Font optimizations: #16031
Credits
Huge thanks to @prateekbh for helping!
Core Changes
- Do not assign to readonly property in Safari: #16051
Core Changes
- Do not bundle caniuse-lite: #16048
- upgrade @ampproject/toolbox-optimizer to 2.6.0: #16043
Credits
Huge thanks to @sebastianbenz for helping!
Core Changes
- Fix typos in @next/codemod CLI: #16042
Misc Changes
- Add files array to @next/codemod: #16049
- Update labeler to include next-codemod: #16041
Credits
Huge thanks to @Timer for helping!
Core Changes
- Add cli for @next/codemod: #16039
Core Changes
- Move next-codemod to Next.js monorepo: #15536
- Resolve alias modules: #16033
Core Changes
- Make helpers.ts compatible with ie11: #15973
- Bug fix: Font optimization: #15984
- Fix amphtml link rel not respecting basePath: #15949
- Add browser polyfils for Node.js modules (webpack 5 backwards compat): #16022
Documentation Changes
- Typo fixes in data-fetching document: #16004
Example Changes
- Remove another broken demo link from with-graphql-faunadb: #16007
- Typo fix (built time -> build time): #16006
Credits
Huge thanks to @prateekbh, @amiralies, @lqze, and @rdimaio for helping!
Core Changes
- Delay server start message until it's listening: #15929
- Warn when Fast Refresh is disabled (React <16.10): #15931
- Remove querystring from the client: #15378
- Improve Vercel's badge: #15946
- notify component when route hash changes: #13894
- Added Friendly error for res.redirect 🐝: #15844
- Fix asPath normalizing for non-dynamic pages: #15960
Documentation Changes
- Example for Redirects (Custom routes): #15411
- fix typo in export-all-in-page: #15925
- Add variable expansion note: #15917
- Update Fast Refresh doc: #15923
- Add PWA Example: #15433
Example Changes
- [Examples] Remove horizontal scroll in CMS examples: #15921
- updated active-class-name example to also demo a
[slug]path: #15924 - with-react-native-web: move meta viewport to _app.js: #15945
- example application on Redis (Lambda.store): #15532
- Update Sentry example to improve display of server errors: #15495
Misc Changes
- Add missing gitignore
- Remove common PR title prefixes
Credits
Huge thanks to @robintom, @lfades, @matamatanot, @AubreyHewes, @Timer, @Janpot, @epiacentini, @raibima, @evilrabbit, @eKhattak, @tomdohnal, @markozxuu, @svenanderson, @ijjk, and @hokaccha for helping!
Core Changes
- Enhance module not found error: #15860
- Normalize serverless asPath value: #15914
- Adjust overlay modal padding on mobile: #15915
- Disallow re-export all exports from Next.js pages: #14325
Credits
Huge thanks to @timneutkens, @ijjk, and @joris- for helping!
Core Changes
- Add experimental image post-processing: #15875
- Allow absolute urls in router and Link: #15792
Documentation Changes
- Update next build docs to include the --profile argument: #15766
- Remove outdated docs on serverless builds and runtime configs: #15907
Example Changes
- add payment description for with-stripe-typescript: #15888
- Replace Graphcool with dedicated example GraphQL server using Prisma: #15752
- Fix: with-mongodb-mongoose example improper fetch error handling: #15856
- Fix with-firebase-authentication example: Update the cookie when ID token refreshes on client: #15628
- remove dotenv from with-stripe-typescript: #15814
- Fix typos in blog-starter and blog-starter-typescript: #15807
- examples/custom-server-typescript upgrade dependencies: #15833
- Fix awaiting for sync method of remark in cms examples: #15555
- Update with-apollo examples to merge existing cache: #15804
- [Examples] Update react-md examples for v2: #15723
Misc Changes
- Test macOS on canary: #15899
- Test macOS on canary with separate workflow: #15901
- Add tests for querystring-relative urls: #15911
Credits
Huge thanks to @darshkpatel, @Weakky, @lwpamihiranga, @joejknowles, @styfle, @agarwalrounak, @rdimaio, @nirtamir2, @rokinsky, @JClackett, @Siggnja, @atcastle, @Janpot, and @mlaursen for helping!
Core Changes
- Run Fast Refresh Loader in Babel Loader: #15851
Example Changes
- await ctx.renderPage() in examples for TypeScript: #15528
Credits
Huge thanks to @agstover for helping!
Core Changes
- Add support for
fallback: 'blocking': #15672 - fixed issue with runtime-config returning undefined when building or in a development environment: #15777
- Disallow basePath: false for internal routes: #15837
Example Changes
- Remove dotenv from with-firebase example: #15743
Credits
Huge thanks to @matamatanot, @jtaox, and @Janpot for helping!
Core Changes
- Add missing nomodule polyfills and suggest using features only up to ES2019 for browser compatibility: #15772
- Bug fix: Font optimization: #15644
- Progress bar for static build: #15297
- Incremental static generation and regeneration in build output table: #14365
Misc Changes
- Test that overlay appears: #15850
Credits
Huge thanks to @Timer, @kripod, @prateekbh, @gelbartj, and @darshkpatel for helping!
Core Changes
- Solve large portion of webpack 5 deprecation warnings: #15806
- Fix some webpack 5 deprecation warnings: #15797
- Rename exportTrailingSlash to existing trailingSlash property: #15768
- Support persisting the dev cache buster: #15827
- Fix CSS grid-column shorthand syntax: #15848
Documentation Changes
- Add docs page for Create Next App: #15454
- Explain Sass Extensions in CSS Docs: #15830
Example Changes
- with-electron-typescript build error fix: #15803
- Updated with-passport example to fix syntax errors: #15831
Credits
Huge thanks to @timneutkens, @kmturley, @MehediH, @Janpot, and @marcmll for helping!
Core Changes
- Fix asPath of rewrite without basePath: #15760
- Improve router types: #15775
- Fix dotenv loading with cascading values: #15799
Documentation Changes
- Add clarification of routing to a dynamic route: #15771
Example Changes
- examples: Update with-electron .gitignore: #15783
- Remove dotenv from auth0 Next.js example: #15398
Credits
Huge thanks to @Janpot, @samrobbins85, @DavidLemayian, @msreekm, and @ijjk for helping!
Core Changes
- Add additional pageProps check: #15667
- Error overlay should not be dismissable for a server error: #14011
- Strictly type
react-dev-overlay: #15669 - Fix wrong asPath on 404: #15728
- [webpack5] Complile for ES5: #15708
- Remove unused error: #15748
Documentation Changes
- [Docs] Use
next devfor the getting started page: #15705 - Docs smart-cdn link is dead.: #15707
- Document regex support for custom routes: #15714
- [Docs] Add upgrade notes for Next.js 9.5: #15703
Example Changes
- [Examples] Fix with-sentry: #15694
- Update next-transpile-modules in with-react-intl example: #15730
- Update next-transpile-modules in all examples: #15739
- Fix gh-pages deploy script: #15724
Misc Changes
- Stabilize another test: #15697
Credits
Huge thanks to @ijjk, @eKhattak, @lfades, @matamatanot, @Janpot, @jonespen, @RafalFilipek, @martpie, and @ronaldstevanus for helping!
Core Changes
- Fix hot reloader edge case with broken webpack plugins: #15659
Core Changes
- upgrade @ampproject/toolbox-optimizer to 2.5.14: #15463
- Combine sendPayload and sendHTML: #15475
- Add polyfill for process and Buffer in webpack 5: #15499
- improves baseUrl resolution in typescript monorepos: #13542
- Ignore history state not created by next.js: #15379
- Fix: UnhandledPromiseRejectionWarning when unknown flag provided for cli commands : #15422
- Font optimizations: #14746
- Next.js prefetching should use requestIdleCallback: #14580
- Make Links rendered in the error overlay clickable [ 14017 ]: #14055
- Make sure link can render without router: #15604
- Add better typing for redirect: #15603
- Update header replacing to be more relaxed: #15592
- Normalize missing optional value on Vercel: #15593
- Don't use assetprefix on getServerSideProps and getStaticProps: #15634
- Test webpack 5 beta: #15645
- Fix: space issue in error overlay and add tests: #15617
- Fix error overlay hotlinking: #15658
Documentation Changes
- Update
gssp-exportError: #15529 - fix typo in custom-webpack-config docs: #15533
- [Docs] Update links that should point to Vercel repos: #15547
- [Docs] Performance time is in milliseconds: #15544
- Update multi-zone example link from relative to absolute: #15618
- Add note about statusCode config for redirects: #15615
- Add CSS Modules examples to docs: #15601
- Added docs for Incremental Static Regeneration: #15663
Example Changes
- [update] 'yo' to 'you': #15545
- Update Apollo example for 9.5: #15546
- Update revalidate examples for 9.5: #15551
- De-experimentalize redirects for rosetta example: #15554
- Update Electron, Typescript example: #15524
- remove broken server example: #15653
Misc Changes
- Add release hook to format the changelog by labels: #14592
- Update release.js and release package to avoid github rate limit: #15575
- Update stats-config for new polyfills location: #15584
- fix typo in
eslint-plugin-nextcode comments: #15583 - Stabilize error-is-clickable test: #15606
- Fix webdriver error handling: #15491
- retry installs on macos: #15641
- Remove console log from release script: #15652
Credits
Huge thanks to @sebastianbenz, @Timer, @cvan, @devknoll, @ywppp, @lfades, @httpsOmkar, @jeantil, @Janpot, @darshkpatel, @prateekbh, @eKhattak, @rafaelalmeidatk, @timneutkens, @laiso, @rovansteen, @yokinist, and @scefali for helping!
Core Changes
- Test webpack 5 beta: #15645
- Fix: space issue in error overlay and add tests: #15617
- Fix error overlay hotlinking: #15658
Documentation Changes
- Added docs for Incremental Static Regeneration: #15663
Example Changes
- remove broken server example: #15653
Misc Changes
- retry installs on macos: #15641
- Remove console log from release script: #15652
Credits
Huge thanks to @Janpot, @rafaelalmeidatk, @darshkpatel, @scefali, and @lfades for helping!
Core Changes
- Don't use assetprefix on getServerSideProps and getStaticProps: #15634
Credits
Huge thanks to @Janpot for helping!
Core Changes
- Make sure link can render without router: #15604
- Add better typing for redirect: #15603
- Update header replacing to be more relaxed: #15592
- Normalize missing optional value on Vercel: #15593
Documentation Changes
- Update multi-zone example link from relative to absolute: #15618
- Add note about statusCode config for redirects: #15615
- Add CSS Modules examples to docs: #15601
Example Changes
- Update Electron, Typescript example: #15524
Misc Changes
- Update release.js and release package to avoid github rate limit: #15575
- Update stats-config for new polyfills location: #15584
- fix typo in
eslint-plugin-nextcode comments: #15583 - Stabilize error-is-clickable test: #15606
- Fix webdriver error handling: #15491
Credits
Huge thanks to @timneutkens, @cvan, @laiso, @rovansteen, @yokinist, @Janpot, and @lfades for helping!
Core Changes
- upgrade @ampproject/toolbox-optimizer to 2.5.14: #15463
- Combine sendPayload and sendHTML: #15475
- Add polyfill for process and Buffer in webpack 5: #15499
- improves baseUrl resolution in typescript monorepos: #13542
- Ignore history state not created by next.js: #15379
- Fix: UnhandledPromiseRejectionWarning when unknown flag provided for cli commands : #15422
- Font optimizations: #14746
- Next.js prefetching should use requestIdleCallback: #14580
- Make Links rendered in the error overlay clickable [ 14017 ]: #14055
Documentation Changes
- Update
gssp-exportError: #15529 - fix typo in custom-webpack-config docs: #15533
- [Docs] Update links that should point to Vercel repos: #15547
- [Docs] Performance time is in milliseconds: #15544
Example Changes
- [update] 'yo' to 'you': #15545
- Update Apollo example for 9.5: #15546
- Update revalidate examples for 9.5: #15551
- De-experimentalize redirects for rosetta example: #15554
Misc Changes
- Add release hook to format the changelog by labels: #14592
Credits
Huge thanks to @sebastianbenz, @Timer, @cvan, @devknoll, @ywppp, @lfades, @httpsOmkar, @jeantil, @Janpot, @darshkpatel, @prateekbh, @eKhattak, and @rafaelalmeidatk for helping!
Minor Changes
- Fix pages/index.js and pages/index/index.js behavior: #13699
- Use buildManifest to load page JS: #13870
- Enable Optional Catch-All by Default: #14687
- Add no-anon-default-export Babel lint rule: #14519
- Re-enable scroll restoration behind flag: #14046
- Attach previewData to API Route request: #13373
- Add
res.redirectresponse helper: #14705 - Stabilize revalidate: #15338
- Use chunkhash instead of buildId for pages: #13937
- De-experimentalize basePath config: #14283
- De-experimentalize custom-routes: #14602
- Stabilize Trailing Slash API: #15331
Patches
Documentation
- Better NODE_ENV explanation: #13476
- Update AMP validation docs: #13525
- Update environment variables documentation: #13618
- Update links in environment variables documentation: #13621
- Suggest
npxovernpm init: #13637 - Add missing CMS links: #13683
- Add postcss-preset-env to the warning when customising the PostCSS configuration: #13695
- Use proper Jamstack casing: #13697
- Added React Strict Mode documentation: #13723
- Add supported browsers and features: #13741
- Small wording change (can => have to): #13757
- Update instances of Now to Vercel where applicable: #13760
- Adjust custom polyfill suggestion: #13766
- Add App.getInitialProps example to the TypeScript page: #13785
- Prefer docs site for documentation links in CMS examples: #13826
- Add FAQ section to Built-in CSS Support: #13846
- Small grammar fix.: #14043
- Update custom server docs: #14147
- Update preview-mode.md: #14210
- Add Fast Refresh Documentation: #14273
- Fix typo in fast refresh documentation: #14296
- Docs: update links to docs site: #14305
- [Docs] Focus on useRouter: #14515
- Update the passHref link: #14584
- Updated exportPathMap docs: #14630
- Add basePath documentation: #14882
- Add custom routes docs (rewrites, redirects, headers): #14887
- Change default response code to 307 from 302 in docs: #14947
- Fixed typo in page-without-valid-component.md: #15022
- Update prerender-error.md: #14875
- Fixed some minor typos: #15080
- Fixed a minor typo: #15077
- Update docs about type checking: #15103
- Update docs for basePath custom-routes interop: #15140
- Documentation improvements from feedback: #14544
- Document API Middlewares with TypeScript: #14275
- Docs: include test env in default env vars: #13708
- Clarify optional catch all vs catch all routes: #15290
- Fix common misspelling errors: #15288
- Remove caveat in custom document docs: #15355
- More helpful README: #14830
- TypeScript documentation for _document.tsx: #15386
- Add static tweet link: #15493
Core
- Lint for invalid imports: #13482
- Fail production build quickly on errors: #13496
- Extract TypeScript preflight functions: #13510
- Speedup tests: #13461
- Replace
fork-ts-checker-webpack-pluginwith faster alternative: #13529 - Update ampproject/toolbox-optimizer: #13547
- Update babel config found log to new logging output: #13550
- Remove old reloading code: #13554
- Add support for rewriting non-fallback SSG pages: #11010
- Add ETag Support for API routes: #12802
- Updated browserslist/caniuse-lite: #13605
- Update waitUntilValid parameters: #13612
- Handle encoding for data requests and fix fallback response: #13622
- Make getStaticPaths work with optional catch-all routes: #13559
- Remove middleware function that is never called: #13642
- Added no-shadow rule to eslint: #13645
- Propagate Serverless Errors to Platform: #12841
- Use inclusive naming for variables / examples: #13657
- Remove granularChunks experimental option as it was launched: #13663
- Remove remaining granular chunks references: #13672
- Skip reading filesystem in favor of
sourcesContent: #13677 - Remove refs to old css experiment: #13673
- Simplify CODEOWNERS: #13679
- Do not syntax highlight collapsed frames: #13684
- Removed autodll: #13669
- Detailed error and warnings upon
next()call: #13539 - Remove unused variable: #13716
- Update rewrite dynamic SSG error: #13724
- Add a note about optional catch-all and rootmost route: #13791
- Add initial labeler WebHook config: #13772
- Stabilize CSS HMR Tests: #13811
- Fix base path handling with URL queries in dev server: #13560
- Refactor: Use native fs instead of fs-extra and promisify: #13841
- Clean up render.tsx options: #13759
- Preserve url better in exportTrailingSlash: #13840
- Remove some leftovers after index page updates: #13876
- Fix message on getStaticPaths conflict with getServerSideProps: #13874
- Update handling for basePath to only automatically add: #13817
- Combine taskr next-server tasks into one: #13842
- Update AMP Optimizer to 2.5.1: #13925
- Update to reject when test command fails: #13722
- Change text from "Attention" to "Warning": #13973
- Prepare custom routes loading for adding additional routes: #13857
- Add scroll restoration handling after render is complete: #13914
- Prioritize webpack bootstrapping first: #13987
- Invert colors of compiling indicator: #13995
- Make sure to watch all next-server files: #14023
- Fix dynamic route match and basePath: #14036
- Fix Fast Refresh with Page Config: #14041
- Eliminate public folder enumeration: #14042
- Normalize asPath between SSR and CSR with basePath: #14040
- Revert "Add scroll restoration handling after render is done": #14075
- Add test case for loading 404 on invalid bundle: #14082
- Tests: fail when cannot replace content: #14087
- Simplify test checks: #14094
- Remove Head.rewind as it's no longer needed: #14091
- Update AMP Optimizer to v2.5.2: #14095
- Add test for title and routeChangeComplete: #14132
- Update stats action for running locally: #14143
- Refactor AMP bundle removal: #14130
- Update AMP Optimizer to v2.5.3: #14173
- Chore: add retry method to loadable types: #14152
- Use requirePage for /_document and /_app: #14176
- Update routeKeys to handle non-word characters: #12801
- Refactor moveExportedPages to use getPagePath: #14247
- Render a helpful message for null GS(S)P return: #14252
- WSL should be considered Windows for HMR option: #14254
- Update filename generation for client-side compilation: #14279
- Fix typo in test names: "treversing" → "traversing": #14347
- Correct /_next/data link for GS(S)P with basePath: #14376
- Fix prefetch and some other issues with optional catch all: #14400
- Open click-to-open editor in foreground for windows: #14307
- Prettier
trailingCommadefault value toes5since 2.0: #14391 - Do not remove no-FOUC styles too early: #14448
- Shave a few bytes off the bootstrap code: #14457
- Update route regex for optional catch-all parameters in named regexes: #14456
- Remove buildId from server-side files: #14413
- Update to rely on dynamic param values from proxy: #12608
- Fix prerendered nested index handling: #14383
- Normalize trailing slashes: #13333
- Ensure dev overlay uses basePath for requests: #14475
- Webpack 5 build compat: #14498
- Remove deprecated webpack plugin in favor of the option: #14503
- Handle rendering next/head outside of Next.js: #14511
- Warn/revert custom devtool in development mode: #14285
- Avoid adding basePath when it's not needed: #14535
- Fix windows tests: snapshot backslash needs to be escaped: #14559
- Fix native-url path parsing bug: #14442
- Use entry option instead of custom make hook: #14527
- Fix trailing slash handling in exporting pages with getStaticPaths: #14620
- Use assetEmitted hook instead of afterEmit: #14626
- Positive req/seq change is not a warning: #14640
- Clean up plugins: #14676
- Convert incremental generation cache to a class: #14660
- Handle trailing slashes, even when query parameters: #14650
- Update to use getDataHref in fetchNextData: #14667
- Fix dynamic route encoding for NextLinks: #14281
- Upgrade CSSNano Version: #14638
- Fix link to file url behavior with trailingSlash: #14681
- Avoid pulling extra code in the bundles for trailingSlash logic: #14696
- Modify global css import error message: #14639
- Fix encoding for env files in serverless mode: #14750
- Add etag support for getServerSideProps/getStaticProps pages: #14760
- Use single webpack runtimeChunk for Node.js compilation: #14722
- Fix basepath root handling: #14756
- Update warning for rewriting to auto-export dynamic pages: #14751
- Convert link to function component: #14633
- Fix URL being updated with basePath for 404 page: #14740
- Add NextWebVitalsMetric type for reportWebVitals: #14675
- Replace extra source line in webpack 5: #14793
- Ie11 polyfills: #13704
- Change authors member and links: #14367
- Add webpack peerdependency to react-dev-overlay: #14842
- BasePath: Resolve links against router pathname instead of window.location: #14804
- Fix basepath browser back/forward issue: #14861
- Add warning when viewport meta tag is added to _document.js: #13452
- Fix bug in profiling test: #14921
- Make sure routeKeys are PCRE compliant: #14987
- Fix root route optional catch-all prerendering: #14986
- Update next-bundle-analyzer readme: #14976
- Convert profiling mode from configuration option to CLI switch: #14920
- Make serverless-plugin compatible with webpack 5: #15010
- Add filename to error in webpack 5: #14977
- Make sure additional query values aren't added for auto-export: #15037
- Update ignored patterns for webpack 4: #15096
- Check for file name in anon export warning: #15061
- Add handling for custom-routes with basePath: #15041
- Avoid aggressive state loop: #15068
- Relax encoding on dynamic prerendered routes: #14717
- Trailing slash basepath: #14781
- Replace node.js url module with WHATWG URL: #14827
- Update Fast Refresh full reload warning: #15062
- Make sure bad links in router methods resolve in production: #15135
- Fix: Invalid flag provided to next build results in UnhandledPromiseRejectionWarning: #15049
- Stabilize azure test: #14999
- Fix Web Workers with Fast Refresh: #15145
- Correctly fetch data for root route: #15149
- Find pages/_document.js chunk in development: #15172
- Fixed prettier --write args in package.json: #15187
- Make type checking compatible with webpack 5: #15158
- Make sure the correct chunk names are used in webpack 5: #15204
- Fix basepath trailing slash: #15200
- Use
core-jsfor URL(SearchParams) Polyfill: #15209 - Improve query conversion logic: #15236
- Fix ky-universal-polyfill in webpack 5: #15227
- Add test for query param bug #15233: #15238
- Fix app-document-import-order test for webpack 5: #15224
- Fix DevServer#close doesn't close all resources: #15247
- Fix no-anon-default-export for webpack 5: #15293
- Drop
module: esnextrequirement in tsconfig.json: #15276 - Fix broken example link in docs for catch all routes: #15295
- Fix static data fetching when using absolute assetprefix: #15287
- Add Fast Refresh tests on macOS: #15300
- Do not duplicate compilation errors: #15299
- Verify that dataroutes work correctly with assetPrefix: #15309
- Add test for main.js in webpack.config.js: #15311
- Upgrade browserslist: #15324
- Bring over fixes from #15185: #15326
- Simplify trailing slash regex: #15335
- Fix basepath router events: #14848
- Added production, basic, and Fast Refresh test suites on macOS: #15366
- Fix cancellation control flow: #15361
- Fix Peer Dependency in React Refresh Utils: #15375
- Upgrade actions/cache to v2.1.0: #15415
- Update webpack to land chokidar patch for all Next.js users: #15460
- Tweak test retries for invalid-href suite: #15459
- Always resolve after router.prefetch(): #15448
- Make dynamic routes case-sensitive: #15444
- Stabilize more tests: #15470
- Upgrade cssnano-simple dependency: #15488
- Fix peer dependency: #15511
experimental
- Filtering unwanted jsx type in eslint plugin: #13520
- Add plugin to recommended eslint-plugin-next config: #13926
- Bug fixes for css eslint rule: #14202
- Only required polyfill.io lint rule: #15277
Create Next App
- Add .vercel to gitignore: #13595
- Remove unnecessary catch: #13639
- Chore(create-next-app): remove example picker: #13977
- Feat(create-next-app): Use CSS and CSS modules in default application template: #13983
- Use HEAD req for isUrlOk check: #14994
- CNA: replace make-dir with core recursive mkdir: #15006
- [create-next-app] Add engines to package.json: #15282
Examples
- Update with-redux example to use getStaticProps: #13378
- Update some examples to Vercel: #13477
- Add example with next-translate: #13511
- Fix typo in next-translate example: #13523
- Add with-web-worker example: #13444
- Update firebase to fix install errors on node 14: #13493
- Update linaria example: #13568
- Add with-mongodb example: #13028
- Update Stripe example: #13581
- Updated with redux persist: #13577
- Updated with redux thunk example: #13576
- Updated examples using NEXT_DATA: #13567
- Remove unused file from with-redux: #13570
- Updated with-magic example with new Environment Variables Support in Next.js 9.4+: #13623
- Fix with antd ssg: #13611
- Update with-typescript to remove React.FC: #13643
- Update with-redux-wrapper example: #13649
- Update chakra-ui example to pass through pageProps in custom app: #13690
- Refactor with redux observable: #13615
- Update test description of with typescript eslint jest example: #13732
- With-videojs fix: #13745
- Update Firebase Auth Example for New Env Support: #13587
- Add with-typescript-types: #13746
- Update fetch, env, UI, deps, and docs: #13756
- Replace dotenv example: #13770
- CMS Cosmic Example: #13499
- Normalize example gitignores: #13768
- Update to modern env handling for userbase example: #13774
- Fix sample command: #13789
- Docs: Fix links to Agility CMS Examples: #13794
- Removed React.FC from blog-starter-typescript: #13797
- Removed React.FC/FunctionComponent from with-typescript: #13798
- Refactor with-electron: #13800
- Enhance-with-redux-saga: #13764
- Move with-apollo to SSG: #13742
- Refactor with-electron-typescript: #13802
- Remove React.FC from with-stripe-typescript: #13803
- Fixed graphql-hooks example data prefetch: #13799
- Move api-routes-apollo-server-and-client to SSG: #13782
- Remove getInitialProps from with-rematch: #13834
- Update test snapshot in with-typescript-eslint-jest: #13847
- Fix typo in comment: #13883
- Update sentry example reade: #13899
- Move with-relay-modern to SSG: #13882
- Move with-graphql-hooks to SSG: #13858
- Move with-react-relay-network-modern to SSG: #13878
- Chore: remove-redundant-example-react-import: #13907
- [Example] Deprecate with-sentry in favor of with-sentry-simple: #13904
- Adding Example: with-recoil: #13380
- Update the with-graphql-react example: #13928
- using-preact: add Prefresh, DevTools & chunking fix: #13976
- Move with-apollo-and-redux to SSG: #13779
- Fix variable shadowing in blog-starter example: #13988
- Move api-routes-apollo-server-and-client-auth to SSG: #13849
- Move with-typescript-graphql to SSG: #13854
- With-mux-video update: #13992
- Added .next folder to gitignore for examples/blog-starter: #14003
- Update with-chakra-ui: #14035
- remove getInitialProps from with-firebase-authentication: #13895
- [Example] remove getInitialProps from aws-amplify-typescript: #13898
- Fix route in custom-server-koa example: #14080
- Add new import flow to CMS examples: #14053
- Fix using-preact dev mode issues: #14098
- Update with-userbase Example: #14100
- Fixed Avatar.js component where Strapi CMS would fail when fetching an image: #14084
- Update deploy button in the userbase example: #14107
- Use the expected import: #14111
- Use envLink for deploy buttons: #14110
- Fix(example): needs TypeScript support: #14115
- [with-recoil example] use functional form of state updaters for simplicity: #14014
- Fix broken link: #14158
- [Example] remove getInitialProps from aws-amplify: #13896
- Fix: validatePassword function logic: #14183
- Update Data Fetching Method: #14190
- Fix GraphQL Hooks Example Safari bug: #14205
- Switch to function component with-react-intl example: #14217
- Using cross-spawn for cross platform use in with-react-intl: #14231
- Chore(examples): update next to latest on cms examples: #14230
- Added missing .env.local.example file for with example firebase-authentication-app: #14235
- (fix) Missing props key from getServerSideProps: #14255
- Add
c=1to deploy buttons on CMS Examples: #14293 - Fix csp errors in with-strict-csp-app example: #14262
- Thor/stripe/add use shopping cart example: #14239
- Update Algolia's Instant Search Example: #14233
- Remove getInitialProps from with-cookie-auth-fauna: #13887
- Update graphql-hooks with memcache: #14364
- Add A/B Tests and Feature Flags example: #13629
- Add example for proxying upstream with custom routes: #14374
- Use the vercel CLI for with-zones: #14480
- Remove unused package in with-apollo-and-redux example: #14507
- Fixing the docker multi-stage build failures: #14513
- Update index.js: #14528
- Add 'with-next-auth' example: #14530
- Add [with-storybook-typescript] example: #14398
- Remove next-cookies and prop-types: #14579
- Tailwind config: also look for .tsx .jsx and .ts: #14621
- Introduce react profiling production flag: #13873
- Add @prefresh/next to dependencies of preact example: #14649
- Add Environment Variables Example: #14575
- [examples/with-three-js] Component with useLoader can use dynamic import: #14648
- Fetch Data on Runtime (with-MongoDB-mongoose example): #14674
- Fix NextSeo example: #14643
- Example with Monogdb ReamlWeb: #14555
- Fix extra char in readme cms-sanity: #14725
- Update environment-variables example: #14653
- Update README.md for next-auth-example: #14763
- Update with-firebase-authentication styles: #14771
- Update examples React to 16.13.1: #14899
- Update example: update to new stitches version and api: #14876
- Fix cms-wordpress preview mode for post revisions: #14911
- With-stitches-styled: Update package.json: #14934
- Update package.json: #14938
- Update _document.js: #14937
- Update _document.js: #14936
- Add Prisma.io Examples List: #14917
- Updates thre three-js example with drei and modules transpilation: #14864
- With-stitches-styled: Update package.json: #14958
- Fix: Destructuring error in the cms-contenful example: #14970
- [cms-sanity] Expose the project id to the browser: #14941
- [cms-wordpress] Nest one-to-one relationships: #15007
- Fix download instructions in with-next-auth example: #15028
- Update README.md in Emotion starter example: #15035
- (chore) Add with-goober as an example: #15070
- Update dependencies for
with-iron-sessionexample: #15065 - Add .next to .gitignore: #15088
- Updated useUser.js: #14974
- Removed React import from pages/index.js: #15144
- Update/with-react-jss: #15156
- Fix with-expo-typescript install command: #15177
- Mark
preactas externals for server bundle: #15110 - Update examples/with-apollo: #15178
- Update README.md: #15198
- Added .gitignore to examples that are deployed to vercel: #15127
- (chore) Add with-filbert as example: #15161
- Improve with-sentry readme: #15205
- Update examples/with-carbon-components: #15190
- Update with-universal-configuration-build-time example: #15228
- Remove broken demo from with-graphql-faunadb: #15267
- Update MST typescript example to use hooks: #15237
- Update to 3.0 in api-routes-apollo-server-and-client example: #15270
- Remove with-universal-configuration-runtime: #15268
- Chore(examples): update prismic-javascript to 3.0.1: #15263
- Updated import filename to the correct one: #15298
- Update react-md url for with-react-md: #15325
- Correct order of packages in Sentry example explanation: #15334
- Update
api-routes-graphqlREADME Link: #15350 - Updated typo: #15357
- EDITED: Cosmic demo updates: #15308
- Fixes Hapi custom server example: #15292
- MongoDB Example: #15029
- Update Sentry example for use with Sentry/Vercel integration: #15349
- Add Sitemap Example: #15047
- Example for Rewrites (Custom routes): #15403
- Link with-polyfills example to updated polyfill docs: #13943
- Upgrade Apollo Client to 3.0 in
examples/api-routes-apollo-server-and-client-auth: #15272
CMS Examples
- Add WordPress Blog: #13194
- CMS Strapi Example: #12701
- Added Agility CMS example: #12788
- ButterCMS Example: #13908
- Storyblok CMS Example: #13993
- Added graphcms: #14026
Credits
Huge thanks to @chandan-reddy-k, @Timer, @aralroca, @artemisart, @sospedra, @prateekbh, @Prioe, @Janpot, @merceyz, @ijjk, @PavelK27, @marbiano, @MichelleLucero, @thorsten-stripe, @TodorTotev, @Skn0tt, @lfades, @timneutkens, @akhila-ariyachandra, @chibicode, @rafaelalmeidatk, @kirill-konshin, @jamesvidler, @JeffersonBledsoe, @tylev, @jamesmosier, @filipemarins, @Remeic, @vvo, @timothyis, @jazibsawar, @coetry, @adam-zacharski, @danwilliams, @tywmick, @matamatanot, @goldins, @mvllow, @its-tayo, @sshyam-gupta, @wilbert-abreu, @sebastianbenz, @jaydenseric, @developit, @dylanjha, @darshkpatel, @spinks, @stefanprobst, @moh12594, @jasonmerino, @cristiand391, @HyunSangHan, @mcsdevv, @M1ck0, @hydRAnger, @alexej-d, @valmassoi, @todortotev, @motleydev, @eKhattak, @jpedroschmitz, @JerryGoyal, @bowen31337, @phillip055, @balazsorban44, @chuabingquan, @youhosi, @andresz1, @bell-steven, @areai51, @Wssn, @ndom91, @anthonyshort, @zxzl, @jbowes, @IamLizu, @PascalPixel, @ralphilius, @ysun62, @muslax, @elsigh, @AsherFoster, @botv, @tomdohnal, @christianalfoni, @tomasztunik, @gsimone, @illuminist, @jplew, @OskarKaminski, @RickyAbell, @steph-query, @ericgoe, @MalvinJay, @cristianbote, @Ashikpaul, @jensmeindertsma, @amorriscode, @abhik-b, @awareness481, @LukasPolak, @arvigeus, @romMidnight, @jackyef, @drumm2k, @kuldeepkeshwar, @bogy0, @Belco90, @wawjr3d, @tanmaylaud, @SarKurd, @kevinsproles, @dstotijn, @styfle, @blackwright, @BrunoBernardino, @heyAyushh, @Necmttn, @TrySound, @obedparla, @NyashaNziramasanga, @tonyspiro, @kukicado, @ceorourke, @MehediH, @robintom, @karlhorky, and @tcK1 for helping!
Patches
- Fix peer dependency: #15511
Patches
- MongoDB Example: #15029
- Upgrade actions/cache to v2.1.0: #15415
- Update Sentry example for use with Sentry/Vercel integration: #15349
- More helpful README: #14830
- Fix lint: #15449
- Add Sitemap Example: #15047
- Update webpack to land chokidar patch for all Next.js users: #15460
- Tweak test retries for invalid-href suite: #15459
- Example for Rewrites (Custom routes): #15403
- Update lockfile: 1509465f25169444454276074397466e1f73447e
- Link with-polyfills example to updated polyfill docs: #13943
- Always resolve after router.prefetch(): #15448
- Make dynamic routes case-sensitive: #15444
- Upgrade Apollo Client to 3.0 in
examples/api-routes-apollo-server-and-client-auth: #15272 - TypeScript documentation for _document.tsx: #15386
- Stabilize more tests: #15470
- Add static tweet link: #15493
- Upgrade cssnano-simple dependency: #15488
Credits
Huge thanks to @kukicado, @Janpot, @ceorourke, @MehediH, @lfades, @eKhattak, @timneutkens, @robintom, @karlhorky, @jamesmosier, @dstotijn, and @tcK1 for helping!
Patches
- Update
api-routes-graphqlREADME Link: #15350 - [Docs] Remove false caveat in custom document docs: #15355
- Updated typo: #15357
- EDITED: Cosmic demo updates: #15308
- Added production, basic, and Fast Refresh test suites on macOS: #15366
- Fixes Hapi custom server example: #15292
- Fix cancellation control flow: #15361
- Fix Peer Dependency in React Refresh Utils: #15375
Credits
Huge thanks to @lfades, @NyashaNziramasanga, @tonyspiro, @darshkpatel, @BrunoBernardino, and @Janpot for helping!
Minor Changes
- Stabilize revalidate: #15338
Patches
- Simplify trailing slash regex: #15335
- Correct order of packages in Sentry example explanation: #15334
- Fix basepath router events: #14848
Credits
Huge thanks to @timneutkens, @obedparla, and @Janpot for helping!
Patches
- Stabilize Trailing Slash API: #15331
Patches
- Update react-md url for with-react-md: #15325
- Upgrade browserslist: #15324
- Bring over fixes from #15185: #15326
Credits
Huge thanks to @darshkpatel and @TrySound for helping!
Patches
- Add missing gitignore files: b8bd3c33092f9463d44f1558129401949d271e12
- [internal] Fix Fast Refresh tests on macOS: #15300
- Do not duplicate compilation errors: #15299
- Verify that dataroutes work correctly with assetPrefix: #15309
- Add test for main.js in webpack.config.js: #15311
Credits
Huge thanks to @Janpot and @timneutkens for helping!
Patches
- Update with-universal-configuration-build-time example: #15228
- [Examples] Remove broken demo from with-graphql-faunadb: #15267
- Update MST typescript example to use hooks: #15237
- Update to 3.0 in api-routes-apollo-server-and-client example: #15270
- [Examples] Remove with-universal-configuration-runtime: #15268
- [create-next-app] Add engines to package.json: #15282
- Chore(examples): update prismic-javascript to 3.0.1: #15263
- Fix no-anon-default-export for webpack 5: #15293
- Drop
module: esnextrequirement in tsconfig.json: #15276 - Fix broken example link in docs for catch all routes: #15295
- Clarify optional catch all vs catch all routes: #15290
- Only required polyfill.io lint rule: #15277
- Fix static data fetching when using absolute assetprefix: #15287
- Updated import filename to the correct one: #15298
- [Fix] common misspelling errors: #15288
Credits
Huge thanks to @SarKurd, @lfades, @kevinsproles, @dstotijn, @styfle, @jpedroschmitz, @timneutkens, @blackwright, @BrunoBernardino, @prateekbh, @Janpot, @heyAyushh, and @Necmttn for helping!
Patches
- Added .gitignore to examples that are deployed to vercel: #15127
- Improve query conversion logic: #15236
- Fix ky-universal-polyfill in webpack 5: #15227
- Add test for query param bug #15233: #15238
- (chore) Add with-filbert as example: #15161
- [Examples] Improve with-sentry readme: #15205
- Update examples/with-carbon-components: #15190
- Docs: include test env in default env vars: #13708
- Fix app-document-import-order test for webpack 5: #15224
- Fix DevServer#close doesn't close all resources: #15247
Credits
Huge thanks to @Janpot, @kuldeepkeshwar, @lfades, @bogy0, @Belco90, @wawjr3d, and @tanmaylaud for helping!
Patches
- Document API Middlewares with TypeScript: #14275
- Use
core-jsfor URL(SearchParams) Polyfill: #15209
Credits
Huge thanks to @rafaelalmeidatk for helping!
Patches
- Fix with-expo-typescript install command: #15177
- Fixed prettier --write args in package.json: #15187
- Mark
preactas externals for server bundle: #15110 - Make type checking compatible with webpack 5: #15158
- Update examples/with-apollo: #15178
- Update README.md: #15198
- Make sure the correct chunk names are used in webpack 5: #15204
- Fix basepath trailing slash: #15200
Credits
Huge thanks to @arvigeus, @romMidnight, @jackyef, @timneutkens, @drumm2k, and @Janpot for helping!
Patches
- Find pages/_document.js chunk in development: #15172
Credits
Huge thanks to @lfades for helping!
Patches
- Fix: Invalid flag provided to next build results in UnhandledPromiseRejectionWarning: #15049
- Updated useUser.js: #14974
- Update docs for basePath custom-routes interop: #15140
- Documentation improvements from feedback: #14544
- Stabilize azure test: #14999
- Removed React import from pages/index.js: #15144
- Update/with-react-jss: #15156
- Fix Web Workers with Fast Refresh: #15145
- Correctly fetch data for root route: #15149
Credits
Huge thanks to @darshkpatel, @abhik-b, @ijjk, @lfades, @Janpot, @awareness481, and @LukasPolak for helping!
Patches
- Use HEAD req for isUrlOk check: #14994
- Exclude node_modules in watchOptions: #15020
- Fix download instructions in with-next-auth example: #15028
- CNA: replace make-dir with core recursive mkdir: #15006
- Make sure additional query values aren't added for auto-export: #15037
- Update README.md in Emotion starter example: #15035
- Fixed typo in page-without-valid-component.md: #15022
- Update prerender-error.md: #14875
- (chore) Add with-goober as an example: #15070
- Fixed some minor typos: #15080
- Update ignored patterns for webpack 4: #15096
- Check for file name in anon export warning: #15061
- Fixed a minor typo: #15077
- Add handling for custom-routes with basePath: #15041
- Update dependencies for
with-iron-sessionexample: #15065 - Update docs about type checking: #15103
- [Examples] Add .next to .gitignore: #15088
- Avoid aggressive state loop: #15068
- Relax encoding on dynamic prerendered routes: #14717
- Trailing slash basepath: #14781
- Replace node.js url module with WHATWG URL: #14827
- Create SECURITY.md: 101f91ba1aa31ab7b61727ff84aa32d70be13108
- Update Fast Refresh full reload warning: #15062
- Make sure bad links in router methods resolve in production: #15135
Credits
Huge thanks to @cristiand391, @timneutkens, @RickyAbell, @ijjk, @steph-query, @ericgoe, @MalvinJay, @cristianbote, @Ashikpaul, @jensmeindertsma, @amorriscode, @developit, and @Janpot for helping!
Patches
- Fix root route optional catch-all prerendering: #14986
- Update next-bundle-analyzer readme: #14976
- [cms-wordpress] Nest one-to-one relationships: #15007
- Update note about CDN in pages documentation: #14982
- Convert profiling mode from configuration option to CLI switch: #14920
- Make serverless-plugin compatible with webpack 5: #15010
- Add filename to error in webpack 5: #14977
Credits
Huge thanks to @Janpot, @illuminist, @jplew, @OskarKaminski, and @darshkpatel for helping!
Patches
- Fix cms-wordpress preview mode for post revisions: #14911
- With-stitches-styled: Update package.json: #14934
- Update package.json: #14938
- Update _document.js: #14937
- Update _document.js: #14936
- Add Prisma.io Examples List: #14917
- Change default response code to 307 from 302 in docs: #14947
- Updates thre three-js example with drei and modules transpilation: #14864
- With-stitches-styled: Update package.json: #14958
- Fix: Destructuring error in the cms-contenful example: #14970
- Fix bug in profiling test: #14921
- [cms-sanity] Expose the project id to the browser: #14941
- Make sure routeKeys are PCRE compliant: #14987
Credits
Huge thanks to @tomasztunik, @christianalfoni, @eKhattak, @botv, @gsimone, @darshkpatel, and @lfades for helping!
Minor Changes
- Re-enable scroll restoration behind flag: #14046
- Attach previewData to API Route request: #13373
- Add
res.redirectresponse helper: #14705
Patches
- Ie11 polyfills: #13704
- Change authors member and links: #14367
- Add webpack peerdependency to react-dev-overlay: #14842
- Add basePath documentation: #14882
- Add custom routes docs (rewrites, redirects, headers): #14887
- Update examples React to 16.13.1: #14899
- Update example: update to new stitches version and api: #14876
- BasePath: Resolve links against router pathname instead of window.location: #14804
- Fix basepath browser back/forward issue: #14861
- Add warning when viewport meta tag is added to _document.js: #13452
Credits
Huge thanks to @ijjk, @AsherFoster, @botv, @tomdohnal, @matamatanot, @timneutkens, @jamesmosier, @christianalfoni, @Janpot, and @tywmick for helping!
Patches
- Fix basepath root handling: #14756
- Update warning for rewriting to auto-export dynamic pages: #14751
- Convert link to function component: #14633
- Fix URL being updated with basePath for 404 page: #14740
- Add NextWebVitalsMetric type for reportWebVitals: #14675
- Replace extra source line in webpack 5: #14793
Credits
Huge thanks to @Janpot, @ijjk, and @darshkpatel for helping!
Patches
- Update README.md for next-auth-example: #14763
- Update with-firebase-authentication styles: #14771
- Add etag support for getServerSideProps/getStaticProps pages: #14760
- Use single webpack runtimeChunk for Node.js compilation: #14722
Credits
Huge thanks to @muslax and @elsigh for helping!
Patches
- Update environment-variables example: #14653
- Fix encoding for env files in serverless mode: #14750
Credits
Huge thanks to @lfades for helping!
Minor Changes
- Add no-anon-default-export Babel lint rule: #14519
Patches
- Fix NextSeo example: #14643
- Fix link to file url behavior with trailingSlash: #14681
- Avoid pulling extra code in the bundles for trailingSlash logic: #14696
- Modify global css import error message: #14639
- Example with Monogdb ReamlWeb: #14555
- Fix extra char in readme cms-sanity: #14725
Credits
Huge thanks to @ralphilius, @Janpot, @ysun62, and @darshkpatel for helping!
Minor Changes
- Enable Optional Catch-All by Default: #14687
Patches
- [examples/with-three-js] Component with useLoader can use dynamic import: #14648
- Fix dynamic route encoding for NextLinks: #14281
- Fetch Data on Runtime (with-MongoDB-mongoose example): #14674
- Upgrade CSSNano Version: #14638
Credits
Huge thanks to @PascalPixel and @eKhattak for helping!
Patches
- Introduce react profiling production flag: #13873
- Add @prefresh/next to dependencies of preact example: #14649
- Add Environment Variables Example: #14575
- Positive req/seq change is not a warning: #14640
- Convert incremental generation cache to a class: #14660
- Clean up plugins: #14676
- Handle trailing slashes, even when query parameters: #14650
- Update to use getDataHref in fetchNextData: #14667
Credits
Huge thanks to @todortotev, @IamLizu, @lfades, @Janpot, and @timneutkens for helping!
Patches
- Fix trailing slash handling in exporting pages with getStaticPaths: #14620
- Use assetEmitted hook instead of afterEmit: #14626
- Updated exportPathMap docs: #14630
Credits
Huge thanks to @Janpot and @lfades for helping!
Patches
- Remove next-cookies and prop-types: #14579
- Update the passHref link: #14584
- De-experimentalize custom-routes: #14602
- Tailwind config: also look for .tsx .jsx and .ts: #14621
Credits
Huge thanks to @matamatanot, @jbowes, @ijjk, and @IamLizu for helping!
Patches
- [Docs] Focus on useRouter: #14515
- Use entry option instead of custom make hook: #14527
Credits
Huge thanks to @lfades for helping!
Patches
- Remove unused package in with-apollo-and-redux example: #14507
- Fixing the docker multi-stage build failures: #14513
- Warn/revert custom devtool in development mode: #14285
- Update index.js: #14528
- Add 'with-next-auth' example: #14530
- Avoid adding basePath when it's not needed: #14535
- Add [with-storybook-typescript] example: #14398
- Fix windows tests: snapshot backslash needs to be escaped: #14559
- Fix native-url path parsing bug: #14442
Credits
Huge thanks to @bell-steven, @areai51, @jamesmosier, @Wssn, @ndom91, @anthonyshort, @zxzl, and @Janpot for helping!
Patches
- Ensure dev overlay uses basePath for requests: #14475
- Webpack 5 build compat: #14498
- Remove deprecated plugin in favor of the option: #14503
- Handle rendering next/head outside of Next.js: #14511
Credits
Huge thanks to @timneutkens and @Janpot for helping!
Patches
- Update to rely on dynamic param values from proxy: #12608
- Fix prerendered nested index handling: #14383
- [Examples] Use the vercel CLI for with-zones: #14480
- Normalize trailing slashes: #13333
Credits
Huge thanks to @ijjk, @Janpot, and @lfades for helping!
Patches
- Shave a few bytes off the bootstrap code: #14457
- Update route regex for optional catch-all parameters in named regexes: #14456
- Remove buildId from server-side files: #14413
Credits
Huge thanks to @Janpot for helping!
Patches
- Add A/B Tests and Feature Flags example: #13629
- Add example for proxying upstream with custom routes: #14374
- Fix prefetch and some other issues with optional catch all: #14400
- Open click-to-open editor in foreground for windows: #14307
- Prettier
trailingCommadefault value toes5since 2.0: #14391 - Do not remove no-FOUC styles too early: #14448
Credits
Huge thanks to @andresz1, @ijjk, @Janpot, @darshkpatel, and @matamatanot for helping!
Patches
- Update filename generation for client-side compilation: #14279
- Add Fast Refresh Documentation: #14273
- Add
c=1to deploy buttons on CMS Examples: #14293 - Fix typo in fast refresh documentation: #14296
- Fix csp errors in with-strict-csp-app example: #14262
- Docs: update links to docs site: #14305
- De-experimentalize basePath config: #14283
- Thor/stripe/add use shopping cart example: #14239
- Update Algolia's Instant Search Example: #14233
- Fix typo in test names: "treversing" → "traversing": #14347
- Correct /_next/data link for GS(S)P with basePath: #14376
- [Examples] Remove getInitialProps from with-cookie-auth-fauna: #13887
- Update graphql-hooks with memcache: #14364
Credits
Huge thanks to @Timer, @chibicode, @balazsorban44, @darshkpatel, @stefanprobst, @ijjk, @thorsten-stripe, @chuabingquan, @tywmick, @todortotev, and @youhosi for helping!
Patches
- Add test for title and routeChangeComplete: #14132
- [Docs] Update custom server docs: #14147
- [with-recoil example] use functional form of state updaters for simplicity: #14014
- Update stats action for running locally: #14143
- Fix broken link: #14158
- Clean up AMP bundle removal: #14130
- [Example] remove getInitialProps from aws-amplify: #13896
- Update AMP Optimizer to v2.5.3: #14173
- Chore: add retry method to loadable types: #14152
- Fix: validatePassword function logic [Fixes 14174 ]: #14183
- Use requirePage for /_document and /_app: #14176
- Added graphcms: #14026
- Bug fixes for css eslint rule: #14202
- Update Data Fetching Method: #14190
- Fix GraphQL Hooks Example Safari bug: #14205
- Switch to function component with-react-intl example: #14217
- Update routeKeys to handle non-word characters: #12801
- Using cross-spawn for cross platform use in with-react-intl: #14231
- Chore(examples): update next to latest on cms examples: #14230
- Added missing .env.local.example file for with example firebase-authentication-app: #14235
- Refactor moveExportedPages to use getPagePath: #14247
- Update preview-mode.md: #14210
- (fix) Missing props key from getServerSideProps: #14255
- Render a helpful message for null GS(S)P return: #14252
- WSL should be considered Windows for HMR option: #14254
Credits
Huge thanks to @ijjk, @lfades, @alexej-d, @valmassoi, @timneutkens, @todortotev, @sebastianbenz, @stefanprobst, @darshkpatel, @motleydev, @prateekbh, @eKhattak, @tywmick, @jamesmosier, @jpedroschmitz, @JerryGoyal, @bowen31337, and @phillip055 for helping!
Patches
- Add test case for loading 404 on invalid bundle: #14082
- [Examples] remove getInitialProps from with-firebase-authentication: #13895
- [Example] remove getInitialProps from aws-amplify-typescript: #13898
- Tests: fail when cannot replace content: #14087
- Fix route in custom-server-koa example: #14080
- Simplify test checks: #14094
- Update AMP Optimizer to v2.5.2: #14095
- Remove Head.rewind as it's no longer needed: #14091
- Add new import flow to CMS examples: #14053
- [Examples] Fix using-preact dev mode issues: #14098
- Update with-userbase Example: #14100
- Fixed Avatar.js component where Strapi CMS would fail when fetching an image: #14084
- Update deploy button in the userbase example: #14107
- Use the expected import: #14111
- Use envLink for deploy buttons: #14110
- Fix(example): needs TypeScript support: #14115
Credits
Huge thanks to @ijjk, @TodorTotev, @Timer, @HyunSangHan, @sebastianbenz, @lfades, @developit, @mcsdevv, @M1ck0, @chibicode, and @hydRAnger for helping!
Patches
- Normalize asPath between SSR and CSR with basePath: #14040
- Revert "Add scroll restoration handling after render is done": #14075
Credits
Huge thanks to @ijjk for helping!
Patches
- With-mux-video update: #13992
- Added .next folder to gitignore for examples/blog-starter: #14003
- Invert colors of compiling indicator: #13995
- Fix: add plugin to recommended eslint-plugin-next config: #13926
- Make sure to watch all next-server files: #14023
- ButterCMS Example: #13908
- Fix dynamic route match and basePath: #14036
- Fix Fast Refresh with Page Config: #14041
- Eliminate public folder enumeration: #14042
- Feat(create-next-app): Use CSS and CSS modules in default application template: #13983
- Small grammar fix.: #14043
- Storyblok CMS Example: #13993
- [Examples] Update with-chakra-ui: #14035
- Use chunkhash instead of buildId for pages: #13937
Credits
Huge thanks to @dylanjha, @darshkpatel, @spinks, @stefanprobst, @ijjk, @chibicode, @Timer, @moh12594, @jasonmerino, and @cristiand391 for helping!
Patches
- [Examples] Move with-react-relay-network-modern to SSG: #13878
- Chore: remove-redundant-example-react-import: #13907
- Combine taskr next-server tasks into one: #13842
- [Example] Deprecate with-sentry in favor of with-sentry-simple: #13904
- Adding Example: with-recoil: #13380
- Update AMP Optimizer to 2.5.1: #13925
- Update the with-graphql-react example: #13928
- Update to reject when test command fails: #13722
- Change text from "Attention" to "Warning": #13973
- Prepare custom routes loading for adding additional routes: #13857
- [Examples] using-preact: add Prefresh, DevTools & chunking fix: #13976
- Add scroll restoration handling after render is complete: #13914
- [Examples] Move with-apollo-and-redux to SSG: #13779
- Chore(create-next-app): remove example picker: #13977
- Fix variable shadowing in blog-starter example: #13988
- [Examples] Move api-routes-apollo-server-and-client-auth to SSG: #13849
- [Examples] Move with-typescript-graphql to SSG: #13854
- Prioritize webpack bootstrapping first: #13987
Credits
Huge thanks to @lfades, @sshyam-gupta, @timneutkens, @TodorTotev, @wilbert-abreu, @sebastianbenz, @jaydenseric, @ijjk, @Janpot, @developit, and @jamesmosier for helping!
Minor Changes
- Fix pages/index.js and pages/index/index.js behavior: #13699
- Use buildManifest to load page JS: #13870
Patches
- Example(chakra-ui): pass through pageProps in custom app: #13690
- Chore(docs): use proper Jamstack casing: #13697
- Detailed error and warnings upon next() call: #13539
- Refactor with redux observable: #13615
- Remove unused variable: #13716
- Added React Strict Mode documentation: #13723
- Update test description of with typescript eslint jest example: #13732
- With-videojs fix: #13745
- Update Firebase Auth Example for New Env Support: #13587
- Docs: Add supported browsers and features: #13741
- Docs(env variables): small wording change (can => have to): #13757
- Update instances of Now to Vercel where applicable: #13760
- [Example] with-typescript-types: #13746
- Docs: adjust custom polyfill suggestion: #13766
- Examples(iron-session): update fetch, env, UI, deps, and docs: #13756
- Update rewrite dynamic SSG error: #13724
- Replace dotenv example: #13770
- CMS Cosmic Example: #13499
- Normalize example gitignores: #13768
- Update to modern env handling for userbase example: #13774
- Fix sample command: #13789
- Add a note about optional catch-all and rootmost route: #13791
- Docs: Fix links to Agility CMS Examples: #13794
- Add initial labeler WebHook config: #13772
- [Examples] Removed React.FC from blog-starter-typescript: #13797
- [Examples] Removed React.FC/FunctionComponent from with-typescript: #13798
- [Examples] Refactor with-electron: #13800
- Enhance-with-redux-saga: #13764
- [Examples] Move with-apollo to SSG: #13742
- [Examples] Refactor with-electron-typescript: #13802
- [Examples] Remove React.FC from with-stripe-typescript: #13803
- Fixed graphql-hooks example data prefetch: #13799
- Stabilize CSS HMR Tests: #13811
- Fix base path handling with URL queries in dev server: #13560
- Add App.getInitialProps example to the TypeScript page: #13785
- Prefer docs site for documentation links in CMS examples: #13826
- [Examples] Move api-routes-apollo-server-and-client to SSG: #13782
- Refactor: Use native fs instead of fs-extra and promisify: #13841
- [Examples] Remove getInitialProps from with-rematch: #13834
- Add FAQ section to Built-in CSS Support: #13846
- Clean up render.tsx options: #13759
- Preserve url better in exportTrailingSlash: #13840
- Update test snapshot in with-typescript-eslint-jest: #13847
- Fix typo in comment: #13883
- Update README.md: #13899
- Remove some leftovers after index page updates: #13876
- Fix message on getStaticPaths conflict with getServerSideProps: #13874
- [Examples] Move with-relay-modern to SSG: #13882
- Update handling for basePath to only automatically add: #13817
- [Examples] Move with-graphql-hooks to SSG: #13858
Credits
Huge thanks to @Janpot, @timneutkens, @tylev, @TodorTotev, @jamesmosier, @filipemarins, @Remeic, @chibicode, @vvo, @timothyis, @ijjk, @jazibsawar, @coetry, @adam-zacharski, @lfades, @danwilliams, @tywmick, @rafaelalmeidatk, @matamatanot, @goldins, @mvllow, and @its-tayo for helping!
Patches
- Do not syntax highlight collapsed frames [ch1899]: #13684
- Get rid of autodll: #13669
- Docs: Add postcss-preset-env to the warning when customising the PostCSS configuration: #13695
Credits
Huge thanks to @timneutkens and @JeffersonBledsoe for helping!
Patches
- CMS Strapi Example: #12701
- Update with-redux-wrapper example: #13649
- Added Agility CMS example 🏆: #12788
- Use inclusive naming for variables / examples: #13657
- Remove granularChunks experimental option as it was launched: #13663
- Remove remaining granular chunks references: #13672
- Skip reading filesystem in favor of
sourcesContent[ch1898]: #13677 - Remove refs to old css experiment: #13673
- Simplify CODEOWNERS: #13679
- [Examples] Add missing cms links: #13683
Credits
Huge thanks to @chibicode, @kirill-konshin, @jamesvidler, @timneutkens, and @lfades for helping!
Patches
- Make getStaticPaths work with optional catch-all routes: #13559
- Updated with-magic example with new Environment Variables Support in Next.js 9.4+: #13623
- Suggest
npxovernpm init: #13637 - Fix with antd ssg: #13611
- Remove unnecessary catch: #13639
- Remove middleware function that is never called: #13642
- [with-typescript] Remove React.FC: #13643
- Added no-shadow rule to eslint: #13645
- [Examples] Add WordPress Blog: #13194
- Docs([[...rest]]): add experimental banner: #13641
- Propagate Serverless Errors to Platform: #12841
Credits
Huge thanks to @Janpot, @akhila-ariyachandra, @TodorTotev, @chibicode, @timneutkens, @rafaelalmeidatk, and @lfades for helping!
Patches
- Add support for rewriting non-fallback SSG pages: #11010
- Update AMP validation docs: #13525
- Make Linaria great again: #13568
- [ EXAMPLES ] Added with-mongodb example: #13028
- Stripe example updates: #13581
- Enhance with redux persist: #13577
- Add ETag Support: #12802
- Enhance with redux thunk example: #13576
- Update browserslist/caniuse-lite: #13605
- Fix examples using NEXT_DATA: #13567
- Add .vercel to gitignore: #13595
- [Examples] Remove unused file from with-redux: #13570
- Update waitUntilValid parameters: #13612
- Update environment variables documentation: #13618
- Update links in environment variables documentation: #13621
- Handle encoding for data requests and fix fallback response: #13622
Credits
Huge thanks to @ijjk, @PavelK27, @marbiano, @MichelleLucero, @thorsten-stripe, @TodorTotev, @Skn0tt, @Janpot, @lfades, and @timneutkens for helping!
Patches
- Fix: update ampproject/toolbox-optimizer: #13547
- Update babel config found log to new logging output: #13550
- Remove old reloading code: #13554
Credits
Huge thanks to @merceyz for helping!
Patches
- Speedup tests: #13461
- Replace
fork-ts-checker-webpack-pluginwith faster alternative: #13529
Credits
Huge thanks to @Timer for helping!
Patches
- Update proxy example to http-proxy-middleware ^1: #13507
- Add example with next-translate: #13511
- [experimental] filtering unwanted jsx type in eslint plugin: #13520
- Fail production build quickly: #13496
- Fix typo: #13523
- [Example] Add with-web-worker example: #13444
- Update firebase to fix install errors on node 14: #13493
- Refactor(typescript): extract preflight functions: #13510
Credits
Huge thanks to @aralroca, @artemisart, @sospedra, @prateekbh, @Prioe, and @Janpot for helping!
Patches
- Refactor(with-redux): update example to use getStaticProps: #13378
- Lint for invalid imports: #13482
- Better NODE_ENV explanation: #13476
- Update some examples to Vercel: #13477
Credits
Huge thanks to @chandan-reddy-k and @Timer for helping!
Patches
- Add note about GS(S)P imports: #13475
- Do not import from
fs-extra: #13481
Patches
- Add note about GS(S)P imports: #13475
- Do not import from
fs-extra: #13481
Minor Changes
- Better formatted Sass errors: #13211
- Add support for sass-loader prependData option: #12277
- Make page path case sensitive in dev: #8848
- Feat(cli): use default template when GH is offline: #12194
- Bundle env configs in serverless mode: #13406
- Add failing paths to export error summary: #10026
- Add type inference for getStaticProps and getServerSideProps: #11842
Patches
- Remove dead events: #13156
- Remove unnecessary loadGetInitialProps: #13159
- Remove old ErrorComponent global: 7eaf9b8bab4e93b891be89704399644eafe70e21
- Load .env files before running Telemetry: #13173
- Migrate PR stats action into Next.js repo: #13177
- Chore(next/build/babel): missing types: #13189
- Bug fixes for Lint routing: #13111
- [Docs] Replace hot reloading with fast refresh: #13207
- Updated docs: #13205
- Move csp examples: #13221
- With reason relay example: #12080
- Fix formatting of older PR that passed tests: e4d22cec63296a0fdc2e1c0e9217e8c51bbaa43b
- Make .env clickable in terminal: #12210
- More redundant imports @ examples: #13190
- Chore: Remove react redundant imports on examples: #13169
- Use correct
chalkimport: #13235 - Chore: remove-redundant-example-import: #13175
- Fix ssr-caching example: #12180
- Ignore nullish user configs: #10250
- Add urql to the examples list: #13006
- Fix dotenv file loading order: #13161
- Update custom server docs: #13172
- Created Expo TypeScript example project: #13182
- Use memoizedPagechecker: #13191
- Upgrade react-with-styles to version 4: #13193
- With-monaco-editor-example-fix: #13186
- Add example: with-mux-video: #13120
- With mux video readme updates: #13253
- Rename import to solve conflicting usage of Error constructor: #13256
- Docs(debugging): explain how to debug in Chrome DevTools/VS Code: #10807
- Uncomment private key: #13277
- [Examples] Added blog-starter-typescript: #12981
- Consolidate non-SSG branch in
renderToHTMLWithComponentsCont.: #13274 - Defer Page Registration: #11054
- Update debugging docs: #13270
- Fix linting: 12e0db040cb81746bca508b31269b94f7a6ae170
- [Fast Refresh] Upgrade
react-refresh: #13285 - Wait for flush before firing routing event: #13287
- Add ThemedStyleSheet.registerInterface to react-with-styles example: #13284
- Special case default template in CNA: #12109
- Allows multiple lines for
Module not founderrors: #10797 - Fix retry for Windows tests: #13296
- Fix method return shape: #13299
- Chore(next): export/lib/next-server missing types: #13320
- Fix wrong README of blog-starter-typescript example: #13330
- Skip node internals: #13345
- Fix "Commitment to Open Source" link in contributing.md: #13352
- Update Amp dependencies: #13354
- Refactor with redux saga: #13342
- Refactor with redux thunk example: #13336
- Update with-style-sheet example: #13323
- Refactor with redux persist example: #13338
- [examples] with-ts-eslint-jest example app: #12025
- Add a few extra types: #13363
- Update Monaco Editor Example: #13369
- Convert export worker to typescript: #13381
- Fixed with-iron-session to work on Windows systems: #13386
- With-overmind server error because of incorrect getStaticProps return statement: #13385
- Refactor with rematch example: #13392
- Update PR stats action branch check: #13394
- Fixing Redundant React imports on next.js/examples: #13384
- Fix
with-sentry-simpleexample: #13404 - Docs(static-html-export): note getServerSideProps: #13401
- Fix(client-routing): page render: #13305
- [Experimental] Do not type check twice: #13419
- Removed redundant react imports from with-overmind: #13422
- Update Static HTML Export documentation: #11814
- Refactor class components to functional @ examples: #13398
- Fix auto export opting out from _error edge case: #13425
- Make sure to not duplicate exports with exportTrailingSlash: #11011
- Example: Static Generation of local Apollo GraphQL schema: #13202
- Chore(next-server): api-utils,crypto-utils,next-server missing types: #13431
- Refactor(with-sentry): example: #13434
- Fix AMP Test Flake: #13450
- Add warning when reserved pages are nested: #13449
- [Docs]: minor typo in
jsxfile extension: #13451 - Update codeload and deploy links for org rename: #13141
- Add release argument to SentryWebpackPlugin: #13459
- Do not throw away
tsconfig.jsoncomments: #13458 - Remove beta label from Netlify Plugins: #13465
- Add Route as Modal Page Example: #12945
- Update references to zeit/next.js: #13463
Credits
Huge thanks to @Tylerian, @devknoll, @luciovilla, @ijjk, @maxigimenez, @prateekbh, @lfades, @timneutkens, @Arnarkari93, @balazsorban44, @TodorTotev, @willianjusten, @mvfsillva, @xliusstk, @alejandronanez, @iansu, @jtmthf, @Janpot, @mohsen1, @dylanjha, @chibicode, @sambokai, @vvo, @joejknowles, @UndyingSugimoto, @jamesmosier, @arcanis, @marcosvega91, @Regaddi, @sachaos, @tywmick, @c0b41, @giuseppeg, @erikdstock, @danielpaz6, @awareness481, @correttojs, @lostfictions, @benjaminpearson, @Timer, @jacobdcastro, @manuschillerdev, @scefali, @karlhorky, and @JMFURY for helping!
Minor Changes
- Add type inference for getStaticProps and getServerSideProps: #11842
Patches
- Update codeload and deploy links for org rename: #13141
- Add release argument to SentryWebpackPlugin: #13459
- Do not throw away
tsconfig.jsoncomments: #13458 - Remove beta label from Netlify Plugins: #13465
- Add Route as Modal Page Example: #12945
- Update references to zeit/next.js: #13463
Credits
Huge thanks to @manuschillerdev, @ijjk, @scefali, @karlhorky, and @JMFURY for helping!
Patches
- Removed redundant react imports from with-overmind: #13422
- Update Static HTML Export documentation: #11814
- Refactor class components to functional @ examples: #13398
- Fix auto export opting out from _error edge case: #13425
- Make sure to not duplicate exports with exportTrailingSlash: #11011
- Example: Static Generation of local Apollo GraphQL schema: #13202
- Chore(next-server): api-utils,crypto-utils,next-server missing types: #13431
- Refactor(with-sentry): example: #13434
- Fix AMP Test Flake: #13450
- Add warning when reserved pages are nested: #13449
- [Docs]: minor typo in
jsxfile extension: #13451
Credits
Huge thanks to @awareness481, @lostfictions, @TodorTotev, @benjaminpearson, @maxigimenez, @Timer, and @jacobdcastro for helping!
Minor Changes
- Make page path case sensitive in dev: #8848
- Feat(cli): use default template when GH is offline: #12194
- Bundle env configs in serverless mode: #13406
- Add failing paths to export error summary: #10026
Patches
- Fix method return shape: #13299
- Chore(next): export/lib/next-server missing types: #13320
- Fix wrong README of blog-starter-typescript example: #13330
- Skip node internals: #13345
- Fix "Commitment to Open Source" link in contributing.md: #13352
- Update Amp dependencies: #13354
- Refactor with redux saga: #13342
- Refactor with redux thunk example: #13336
- Update with-style-sheet example: #13323
- Refactor with redux persist example: #13338
- [examples] with-ts-eslint-jest example app: #12025
- Add a few extra types: #13363
- Update Monaco Editor Example: #13369
- Convert export worker to typescript: #13381
- Fixed with-iron-session to work on Windows systems: #13386
- With-overmind server error because of incorrect getStaticProps return statement: #13385
- Refactor with rematch example: #13392
- Update PR stats action branch check: #13394
- Fixing Redundant React imports on next.js/examples: #13384
- Fix
with-sentry-simpleexample: #13404 - Docs(static-html-export): note getServerSideProps: #13401
- Fix(client-routing): page render: #13305
- [Experimental] Do not type check twice: #13419
Credits
Huge thanks to @Janpot, @marcosvega91, @ijjk, @Regaddi, @maxigimenez, @sachaos, @tywmick, @c0b41, @TodorTotev, @giuseppeg, @erikdstock, @danielpaz6, @awareness481, and @correttojs for helping!
Minor Changes
- Better formatted Sass errors: #13211
- Add support for sass-loader prependData option: #12277
Patches
- Remove dead events: #13156
- Remove unnecessary loadGetInitialProps: #13159
- Remove old ErrorComponent global: 7eaf9b8bab4e93b891be89704399644eafe70e21
- Load .env files before running Telemetry: #13173
- Migrate PR stats action into Next.js repo: #13177
- Chore(next/build/babel): missing types: #13189
- Bug fixes for Lint routing: #13111
- [Docs] Replace hot reloading with fast refresh: #13207
- Updated docs: #13205
- Move csp examples: #13221
- With reason relay example: #12080
- Fix formatting of older PR that passed tests: e4d22cec63296a0fdc2e1c0e9217e8c51bbaa43b
- Make .env clickable in terminal: #12210
- More redundant imports @ examples: #13190
- Chore: Remove react redundant imports on examples: #13169
- Use correct
chalkimport: #13235 - Chore: remove-redundant-example-import: #13175
- Fix ssr-caching example: #12180
- Ignore nullish user configs: #10250
- Add urql to the examples list: #13006
- Fix dotenv file loading order: #13161
- Update custom server docs: #13172
- Created Expo TypeScript example project: #13182
- Use memoizedPagechecker: #13191
- Upgrade react-with-styles to version 4: #13193
- With-monaco-editor-example-fix: #13186
- Add example: with-mux-video: #13120
- With mux video readme updates: #13253
- Rename import to solve conflicting usage of Error constructor: #13256
- Docs(debugging): explain how to debug in Chrome DevTools/VS Code: #10807
- Uncomment private key: #13277
- [Examples] Added blog-starter-typescript: #12981
- Consolidate non-SSG branch in
renderToHTMLWithComponentsCont.: #13274 - Defer Page Registration: #11054
- Update debugging docs: #13270
- Fix linting: 12e0db040cb81746bca508b31269b94f7a6ae170
- [Fast Refresh] Upgrade
react-refresh: #13285 - Wait for flush before firing routing event: #13287
- Add ThemedStyleSheet.registerInterface to react-with-styles example: #13284
- Special case default template in CNA: #12109
- Allows multiple lines for
Module not founderrors: #10797 - Fix retry for Windows tests: #13296
Credits
Huge thanks to @Tylerian, @devknoll, @luciovilla, @ijjk, @maxigimenez, @prateekbh, @lfades, @timneutkens, @Arnarkari93, @balazsorban44, @TodorTotev, @willianjusten, @mvfsillva, @xliusstk, @alejandronanez, @iansu, @jtmthf, @Janpot, @mohsen1, @dylanjha, @chibicode, @sambokai, @vvo, @joejknowles, @UndyingSugimoto, @jamesmosier, and @arcanis for helping!
Minor Changes
- [Experimental] Add support for production browser source maps: #13018
- [Experimental] Implement optional catch all routes: #12887
Patches
- Only retry tests on CI: #12998
- Fix modal overlay in RTL layouts: #13000
- Feat: Remove redundant imports in XState example: #13020
- Convert test to be inline: #13022
- Avoid over-transpiling core libs: #11803
- [Examples] Chakra UI - Move CSSReset inside ColorModeProvider: #13044
- Stabilize test for Windows: #13050
- Improve jsconfig.json error message: #13053
- An empty
jsconfig.jsonshould not fail the build: #13051 - Add PR labeler action: #13054
- Revert "Add PR labeler action": #13055
- X-powered-by is added to response, not request: #13037
- Chore: Remove redundant imports in several examples: #13030
- Correct multi-match behavior for queries and header values: #13017
- Fix with-emotion examples: #13005
- Remove redundant React imports from with-redux-thunk example: #12986
- [Examples] Added public folder to with-docker example: #12879
- Docs: add prismic locale note: #12862
- Chore: use function component on with-typescript example: #12695
- Fix crash when NODE_OPTIONS includes --inspect-port: #12555
- Add eslint-plugin-jest: #13003
- Add monaco-editor example: #11232
- Chore: hot-reloader, htmlescape, next-dev-server missing types: #12730
- Fix lint: f9b72473604941337e3c4ced5cbc9ab7c2095bd1
- Removed redundant code from the with-portals example: #13059
- Upgrade to Prettier 2: #13061
- Update Examples for Fast Refresh: #13068
- Add sourcemaps to Next.js core compilation: #13049
- Adding no html-link lint rule to eslint-plugin: #12969
- Chore(next): check-custom-routes - recursive-copy missing types: #13065
- Remove taskr typescript plugin as it's no longer used: #13081
- Added path: #13075
- Remove redundant code from with-portals-ssr example: #13060
- Update prefetching explanation to correctly reflect data prefetching: #13088
- Fix building server-side generated AMP pages: #13046
- Improve Redux Toolkit example: #12858
- Add error when exporting pages with fallback: true: #13063
- Update the Automatic Static Optimization docs to explicitly state that Next.js will trigger an update.: #13096
- Fix(examples): align with-absolute-imports with next 9.4: #13090
- [Example] Unsubscribe Router.on.events: #13102
- Add Kodiak Configuration: #13103
- Fix catch-all route + index.js in dev when accessed with trailing slash: #10502
- Fix Lint: f7bdf29ecb45b9fc892de8356437a8664a1bea00
- Stabilize
configtests: #13116 - Update DatoCMS Example: #13008
- Enable
update_branch_immediately: b0a020e8ef229cc324cbfd95540180044ed435bd - Revert "Enable
update_branch_immediately": b3e523364918a504d0c448b672971b5c1383a608 - [Examples] Update with-sentry-simple: #13074
- Add support for debugging Next.js core: #13101
- Read process.env after loading .env files: #13087
- [Experimental] Only consider files within plugins: #12943
- Example(contentful): set up content types with required fields: #12591
- [Examples] Fix with-yarn-workspaces Vercel deploy button: #12867
- Use
eval-source-mapfor Server Side Errors: #13123 - Chore: Remove some redundant imports: #13066
- With stitches: #12677
- GranularChunks conformance check: #11710
- Enable jest/no-try-expect: #13124
- Upgrade Next Redux Wrapper to version 6 in examples: #11802
- Fix the link for Custom Server documentation: #13137
- Correctly eliminate destructuring assignment: #13144
- Update Create Next App to handle rename of org: #13138
- Eliminate array destructuring assignment: #13151
- Fix Windows LogBox Test: #13147
- Feat/remove redundant imports from examples: #13062
- Record presence of
reportWebVitals: #13155
Credits
Huge thanks to @timneutkens, @Janpot, @felixmosh, @jmgr2996, @developit, @kolyasapphire, @rafaelalmeidatk, @stigkj, @ijjk, @lboecker, @mattcarlotta, @tomevans18, @b-b0t, @guilhermedeandrade, @mpareja, @Ehesp, @maxigimenez, @TodorTotev, @prateekbh, @lfades, @slawekkolodziej, @leosuncin, @zlwaterfield, @twltwl, @cjimmy, @gregrickaby, @davecardwell, @taye, @Prioe, @christianalfoni, @janicklas-ralph, @kirill-konshin, and @pkuczynski for helping!
Patches
- Update Create Next App to handle rename of org: #13138
- Eliminate array destructuring assignment: #13151
- Fix Windows LogBox Test: #13147
- Feat/remove redundant imports from examples: #13062
- Record presence of
reportWebVitals: #13155
Credits
Huge thanks to @ijjk and @TodorTotev for helping!
Patches
- Improve Redux Toolkit example: #12858
- Add error when exporting pages with fallback: true: #13063
- Update the Automatic Static Optimization docs to explicitly state that Next.js will trigger an update.: #13096
- Fix(examples): align with-absolute-imports with next 9.4: #13090
- [Example] Unsubscribe Router.on.events: #13102
- Add Kodiak Configuration: #13103
- Fix catch-all route + index.js in dev when accessed with trailing slash: #10502
- Fix Lint: f7bdf29ecb45b9fc892de8356437a8664a1bea00
- Stabilize
configtests: #13116 - Update DatoCMS Example: #13008
- Enable
update_branch_immediately: b0a020e8ef229cc324cbfd95540180044ed435bd - Revert "Enable
update_branch_immediately": b3e523364918a504d0c448b672971b5c1383a608 - [Examples] Update with-sentry-simple: #13074
- Add support for debugging Next.js core: #13101
- Read process.env after loading .env files: #13087
- [Experimental] Only consider files within plugins: #12943
- Example(contentful): set up content types with required fields: #12591
- [Examples] Fix with-yarn-workspaces Vercel deploy button: #12867
- Use
eval-source-mapfor Server Side Errors: #13123 - Chore: Remove some redundant imports: #13066
- With stitches: #12677
- GranularChunks conformance check: #11710
- Enable jest/no-try-expect: #13124
- Upgrade Next Redux Wrapper to version 6 in examples: #11802
- Fix the link for Custom Server documentation: #13137
- Correctly eliminate destructuring assignment: #13144
Credits
Huge thanks to @leosuncin, @ijjk, @zlwaterfield, @twltwl, @cjimmy, @Janpot, @gregrickaby, @lfades, @timneutkens, @davecardwell, @taye, @Prioe, @jmgr2996, @christianalfoni, @janicklas-ralph, @kirill-konshin, and @pkuczynski for helping!
Patches
- Add sourcemaps to Next.js core compilation: #13049
- Adding no html-link lint rule to eslint-plugin: #12969
- Chore(next): check-custom-routes - recursive-copy missing types: #13065
- Remove taskr typescript plugin as it's no longer used: #13081
- Added path: #13075
- Remove redundant code from with-portals-ssr example: #13060
- Update prefetching explanation to correctly reflect data prefetching: #13088
- Fix building server-side generated AMP pages: #13046
Credits
Huge thanks to @timneutkens, @prateekbh, @maxigimenez, @lfades, @TodorTotev, and @slawekkolodziej for helping!
Patches
- [Examples] Chakra UI - Move CSSReset inside ColorModeProvider: #13044
- Stabilize test for Windows: #13050
- Improve jsconfig.json error message: #13053
- An empty
jsconfig.jsonshould not fail the build: #13051 - Add PR labeler action: #13054
- Revert "Add PR labeler action": #13055
- X-powered-by is added to response, not request: #13037
- Chore: Remove redundant imports in several examples: #13030
- Correct multi-match behavior for queries and header values: #13017
- Fix with-emotion examples: #13005
- Remove redundant React imports from with-redux-thunk example: #12986
- [Examples] Added public folder to with-docker example: #12879
- Docs: add prismic locale note: #12862
- Chore: use function component on with-typescript example: #12695
- Fix crash when NODE_OPTIONS includes --inspect-port: #12555
- Add eslint-plugin-jest: #13003
- Add monaco-editor example: #11232
- Chore: hot-reloader, htmlescape, next-dev-server missing types: #12730
- Fix lint: f9b72473604941337e3c4ced5cbc9ab7c2095bd1
- Removed redundant code from the with-portals example: #13059
- Upgrade to Prettier 2: #13061
- Update Examples for Fast Refresh: #13068
Credits
Huge thanks to @kolyasapphire, @Janpot, @rafaelalmeidatk, @stigkj, @jmgr2996, @ijjk, @lboecker, @mattcarlotta, @tomevans18, @b-b0t, @guilhermedeandrade, @mpareja, @Ehesp, @maxigimenez, and @TodorTotev for helping!
Minor Changes
- [Experimental] Implement optional catch all routes: #12887
Credits
Huge thanks to @Janpot for helping!
Minor Changes
- [Experimental] Add support for production browser source maps: #13018
Patches
- Only retry tests on CI: #12998
- Fix modal overlay in RTL layouts: #13000
- Feat: Remove redundant imports in XState example: #13020
- Convert test to be inline: #13022
- Avoid over-transpiling core libs: #11803
Credits
Huge thanks to @timneutkens, @Janpot, @felixmosh, @jmgr2996, and @developit for helping!
Patches
- Minor update to "Measuring performance" docs: #12741
- Add missing parenthesis in Sending results to analytics example: #12733
- Add message when automatic dotenv loading is disabled: #12744
- [Fast Refresh] Cleaner Console Output: #12745
- (docs): fixed typo error: #12746
- Use an if statement instead of expression statement: #12747
- Fix typo in Environment Variables doc page: #12770
- Sort posts by date in descending order: #12303
- Add contentful as a related example link to each CMS example: #12796
- Make fetch polyfill work with ky-universal: #12804
- Docs: redirect error to the correct url: #12813
- Docs(ssr-caching): remove link to react-esi example: #12789
- Bump Babel cache key: #12822
- Run all logbox tests: #12825
- Fix edge case in fetch polyfill: #12832
- Chore(deps): upgrade url-polyfill: #12829
- Better Babel syntax errors: #12821
- Fix up CMS examples: #12840
- Simplify CSS Errors: #12852
- Add example with-hls-js: #12723
- Eliminate 404s from internal requests: #12871
- Update styled-jsx to 3.3.0: #12870
- Remove
isInitialRenderusage for overlay: #12872 - Warn users about migrating to 9.4 from dotenv: #12859
- Explicit header for SSR error: #12880
- Scroll entire content instead of only header: #12881
- Update package.json: #12865
- Add Expo example: #12805
syncandbuiltare identical commands: #12908- Update module-path-aliases.md: #12900
- [Fast Refresh] Improve responsiveness on Windows: #12909
- Stop tracking changes in .next folder: #12924
- [Examples] Fix active-class-name: #12931
- Correct multi-match param behavior: #12930
- Strip out dead code for
ignoreDevErrors: #12941 - Remove
react-error-overlay: #12942 - Enable .env support by default: #12911
- Add retrying to cross browser tests: #12946
- Remove
isomorphic-unfetchfrom examples: #12948 - Elimination has to run before other plugins: #12949
- Support eliminating memoized functions: #12953
- Fix build stalling with styled-jsx plugins: #12952
- Test TypeScript Enum: #12954
- Add experimental Storybook preset: #12934
- Use a top level heading: #12960
- Use the jest-circus test runner: #12974
- Bypass OPTIONS handling for API routes: #12978
- Remove unused babel-preset-react dep from babel-macros example: #12990
- Update Babel Cache Key: #12989
Credits
Huge thanks to @housseindjirdeh, @sergiodxa, @ijjk, @0xflotus, @jamiebuilds, @rafaelalmeidatk, @T0MASD, @timothyis, @timneutkens, @shunkakinoki, @jpedroschmitz, @Timer, @acifani, @dylanjha, @giuseppeg, @briangershon, @raphaelchaula, @EvanBacon, @nicholaschiang, @brunocrosier, @HaNdTriX, @willianjusten, @lfades, @Janpot, and @none23 for helping!
Patches
- Remove unused babel-preset-react dep from babel-macros example: #12990
- Update Babel Cache Key: #12989
Credits
Huge thanks to @none23 for helping!
Patches
- Test TypeScript Enum: #12954
- Add experimental Storybook preset: #12934
- Use a top level heading: #12960
- Use the jest-circus test runner: #12974
- Bypass OPTIONS handling for API routes: #12978
Credits
Huge thanks to @ijjk, @lfades, @Janpot, and @timneutkens for helping!
Patches
- Add retrying to cross browser tests: #12946
- Remove
isomorphic-unfetchfrom examples: #12948 - Elimination has to run before other plugins: #12949
- Support eliminating memoized functions: #12953
- Fix build stalling with styled-jsx plugins: #12952
Credits
Huge thanks to @ijjk and @willianjusten for helping!
Patches
- Stop tracking changes in .next folder: #12924
- [Examples] Fix active-class-name: #12931
- Correct multi-match param behavior: #12930
- Strip out dead code for
ignoreDevErrors: #12941 - Remove
react-error-overlay: #12942 - Enable .env support by default: #12911
Credits
Huge thanks to @brunocrosier, @HaNdTriX, @Timer, and @timneutkens for helping!
Patches
- Update package.json: #12865
- Add Expo example: #12805
syncandbuiltare identical commands: #12908- Update module-path-aliases.md: #12900
- [Fast Refresh] Improve responsiveness on Windows: #12909
Credits
Huge thanks to @raphaelchaula, @EvanBacon, and @nicholaschiang for helping!
Patches
- Add example with-hls-js: #12723
- Eliminate 404s from internal requests: #12871
- Update styled-jsx to 3.3.0: #12870
- Remove
isInitialRenderusage for overlay: #12872 - Warn users about migrating to 9.4 from dotenv: #12859
- Explicit header for SSR error: #12880
- Scroll entire content instead of only header: #12881
Credits
Huge thanks to @dylanjha, @giuseppeg, and @briangershon for helping!
Patches
- Chore(deps): upgrade url-polyfill: #12829
- Better Babel syntax errors: #12821
- Fix up CMS examples: #12840
- Simplify CSS Errors: #12852
Credits
Huge thanks to @acifani for helping!
Patches
- Docs: redirect error to the correct url: #12813
- Docs(ssr-caching): remove link to react-esi example: #12789
- Bump Babel cache key: #12822
- Run all logbox tests: #12825
- Fix edge case in fetch polyfill: #12832
Credits
Huge thanks to @shunkakinoki, @jpedroschmitz, and @Timer for helping!
Patches
- Use an if statement instead of expression statement: #12747
- Fix typo in Environment Variables doc page: #12770
- Sort posts by date in descending order: #12303
- Add contentful as a related example link to each CMS example: #12796
- Make fetch polyfill work with ky-universal: #12804
Credits
Huge thanks to @jamiebuilds, @rafaelalmeidatk, @T0MASD, @timothyis, and @timneutkens for helping!
Patches
- Minor update to "Measuring performance" docs: #12741
- Add missing parenthesis in Sending results to analytics example: #12733
- Add message when automatic dotenv loading is disabled: #12744
- [Fast Refresh] Cleaner Console Output: #12745
- (docs): fixed typo error: #12746
Credits
Huge thanks to @housseindjirdeh, @sergiodxa, @ijjk, and @0xflotus for helping!
Minor Changes
- Polyfill fetch by default: #12353
- [Fast Refresh] Redesigned Runtime Error Experience: #12222
- Elements with
role=linkshould open on [Enter]: #12460 - [Fast Refresh] New Overlay for Prerender Error: #12485
- Export NextApiRequest type as interface: #12186
- Experimental: New ESLint Plugin: #11986
- Context types for getStaticProps and getServerSideProps: #12606
- Allow
@babel/preset-typescriptto be configured: #11840 - Cont. Update performance relayer and remove unstable prefix: #12665
- Enable Fast Refresh by Default: #12640
- Enable sassOptions support in next.config.js: #12685
- [Docs] Environment Variables: #12696
Patches
- Remove documentMiddleware experimental option: #12218
- Update preview-mode.md: #12287
- New logging output: #12169
- Enable NEXT_PUBLIC_ env var support: #12283
- Fix wildcard paths causing infinite resolving: #12318
- [Examples] add Contentful example: #12323
- Fix typo: #12224
- Update jsconfig paths fix for windows: #12328
- Update with-tailwindcss to use Tailwind CSS v1.4.0's new built-in purge option: #12327
- [Docs] Add link to relative title in postcss docs: #12330
- Skip LogBox tests to fix CI: 103c25a589db6c46eeb07bfcb41a417f5c75f293
- [Fast Refresh] Skip Environment Check: #12359
- Upgrade
source-mappackage: #12355 - Add URL escaping for custom headers: #12031
- Rectified typo: #12366
- Only monospace numbers for new overlay: #12394
- [Fast Refresh] Click to open in editor: #12397
- Add name to component in with-tailwindcss example: #12417
- Add names to components in hello-world example: #12416
- Add names to components in amp example: #12415
- Update lint-staged: #12225
- [Fast Refresh] Add Titles for Click to Open Action: #12427
- Docs(examples): with-iron-session update: #12418
- Remove NEXT_DATA from production builds when runtime JS is disabled: #12406
- Clean up styles in with-tailwindcss example: #12458
- [Fast Refresh] Fix terminal editors on macOS: #12430
- [Fast Refresh] Support client-side code being ran in Node: #12426
- [Fast Refresh] Unlock Focus on Disabled Element: #12425
- Use fs.promises in test files: #12432
- Fix linting: 806b78c599da0b448f6118b40f875164dc2ae4f2
- Do not prettify
lerna.json: 93a94b89090b19ec140c59d7ff6a5829bd87d29f - Add warning for non-standard NODE_ENV value: #12361
- Add additional file serving tests: #12479
- Upgrade Flexbugs Dependency: #12459
- Don't generate fake cache keys for Preview Mode: #12487
- Next/client/link: improve internal type annotation: #12468
- [examples/with-typescript-graphql] Add "createResolverContext" hook, etc.: #11681
- Fixed typo: #12497
- Add note about HoC possibly adding GIP to _app: #12491
- Disable cache warning on supported platforms: #12495
- [Fast Refresh] Better Tabbing Order: #12503
- [Fast Refresh] Correctly Trap Focus in Overlay: #12502
- Disable Comment Extraction: #12496
- [Fast Refresh] Fix overlay display on Safari: #12523
- Update tests to poll for output instead of wait for it: #12534
- Don't add
.ampto pathname: #12528 - Update dynamic-import.md: #12541
- [Fast Refresh] New Compile Error Overlay: #12543
- Adds missing deps: #12519
- Add documentation for TypeScript baseUrl and paths option: #12379
- Update blog-starter to use Tailwind CSS v1.4's new built-in purge option: #12452
- Fix: hello world missing default exports: #12551
- Mention nesting in arrays alongside Fragments in next/head docs: #12420
- Update AMP dependencies: #12536
- [Fast Refresh] Toggling of Collapsed Frames: #12560
- [Fast Refresh] Separate LogBox Tests: #12564
- Resolve bug with Prismic Locales: #12132
- [Fast Refresh] Add more test cases: #12568
- Example: added Ant Design Pro Layout less: #12408
- Update to run tests in headless mode on Azure: #12574
- Fix
moduleIdnot resolving correctly on Windows: #12584 - Add cross-env package: #12581
- Add flag to disable API warning: #11380
- Update to latest version of stacktrace-parser: #12597
- Fix DatePicker Day.js bug in Ant Design example: #12580
- [Examples]: With react bootstrap: #12421
- Fix error toast pluralization: #12622
- Clarify dismissal message: #12624
- [Fast Refresh] Adjust Overlay Styling: #12623
- [Fast Refresh] Upgrade
react-refreshfor SC: #12627 - [Examples] Update data-fetch example: #12617
- [Fast Refresh] Overlay hash must consider stack: #12639
- More renaming ZEIT → Vercel: #12649
- Disable experimental pageEnv stub by default: #12644
- [Fast Refresh] Reorder Loaders: #12671
- [Fast Refresh] Resize Arrows and Preserve Newlines: #12672
- [Fast Refresh] Do not draw eye to collapsed frames: #12673
- Fix: use latest experimental method names: #12669
- Fix check utility in tests: #12678
- Chore(create-next-app): add missing return types on helpers: #12616
- [Fast Refresh] Add additional test case: #12674
- Update documentation that refers to isomorphic fetch libs: #12686
- Chore(create-next-app): add missing types: #12691
- Chore(next): link/router/document missing types: #12692
- Upgrade deps: #12700
- [Examples] Update firebase authentication: #12687
- Update code sample in performance measurement docs: #12690
- Link Made by Vercel to vercel.com: #12702
- Use @/ to show module alias instead of @ prefixed: #12600
- Fix logout in with-iron-session example: #12704
- Add test for API route with fetch polyfill: #12680
Credits
Huge thanks to @jamespohalloran, @lfades, @aemiro-allison, @ijjk, @taylorbryant, @Timer, @ykzts, @plug-n-play, @fabianishere, @vvo, @matamatanot, @chibicode, @karlhorky, @christianalfoni, @sangotaro, @liulanz, @dalibor-123, @stefanjudis, @Kiarash-Z, @hossam-magdy, @mit123suki, @robinweser, @lncls, @kohchihao, @connormcwood, @davidcsally, @roniemeque, @piyu-sh, @jonespen, @joemccann, @makezi, @TxHawks, @devknoll, @jokester, @piglovesyou, @austinhumes-valtech, @rafaelalmeidatk, @arcanis, @timneutkens, @mlorthiois, @huozhi, @lachlanjc, @sebastianbenz, @AlexanderVishnevsky, @mxschmitt, @janicklas-ralph, @NavizDev, @PabloSzx, @tywmick, @lwz7512, @justincy, @Skn0tt, @eps1lon, @maxigimenez, @sarupbanskota, @belgattitude, and @dpyzo0o for helping!
Minor Changes
- [Docs] Environment Variables: #12696
Patches
- Link Made by Vercel to vercel.com: #12702
- Use @/ to show module alias instead of @ prefixed: #12600
- Fix logout in with-iron-session example: #12704
- Add test for API route with fetch polyfill: #12680
Credits
Huge thanks to @lfades, @sarupbanskota, @belgattitude, @dpyzo0o, and @timneutkens for helping!
Minor Changes
- Enable Fast Refresh by Default: #12640
Patches
- Chore(create-next-app): add missing return types on helpers: #12616
- [Fast Refresh] Add additional test case: #12674
- Update documentation that refers to isomorphic fetch libs: #12686
- Chore(create-next-app): add missing types: #12691
- Chore(next): link/router/document missing types: #12692
- Upgrade deps: #12700
Credits
Huge thanks to @maxigimenez and @timneutkens for helping!
Patches
- Fix: use latest experimental method names: #12669
- Fix check utility in tests: #12678
Credits
Huge thanks to @eps1lon and @Timer for helping!
Minor Changes
- Allow
@babel/preset-typescriptto be configured: #11840 - Cont. Update performance relayer and remove unstable prefix: #12665
Patches
- [Examples] Update data-fetch example: #12617
- [Fast Refresh] Overlay hash must consider stack: #12639
- More renaming ZEIT → Vercel: #12649
- Disable experimental pageEnv stub by default: #12644
- [Fast Refresh] Reorder Loaders: #12671
- [Fast Refresh] Resize Arrows and Preserve Newlines: #12672
- [Fast Refresh] Do not draw eye to collapsed frames: #12673
Credits
Huge thanks to @lfades, @Skn0tt, @chibicode, and @ijjk for helping!
Minor Changes
- Context types for getStaticProps and getServerSideProps: #12606
Patches
- [Fast Refresh] Upgrade
react-refreshfor SC: #12627
Credits
Huge thanks to @justincy for helping!
Patches
- Add cross-env package: #12581
- Add flag to disable API warning: #11380
- Update to latest version of stacktrace-parser: #12597
- Fix DatePicker Day.js bug in Ant Design example: #12580
- [Examples]: With react bootstrap: #12421
- Fix error toast pluralization: #12622
- Clarify dismissal message: #12624
- [Fast Refresh] Adjust Overlay Styling: #12623
Credits
Huge thanks to @NavizDev, @PabloSzx, @ijjk, @tywmick, and @lwz7512 for helping!
Minor Changes
- Experimental: New ESLint Plugin: #11986
Credits
Huge thanks to @janicklas-ralph for helping!
Minor Changes
- Export NextApiRequest type as interface: #12186
Patches
- Adds missing deps: #12519
- Add documentation for TypeScript baseUrl and paths option: #12379
- Update blog-starter to use Tailwind CSS v1.4's new built-in purge option: #12452
- Fix: hello world missing default exports: #12551
- Mention nesting in arrays alongside Fragments in next/head docs: #12420
- Update AMP dependencies: #12536
- [Fast Refresh] Toggling of Collapsed Frames: #12560
- [Fast Refresh] Separate LogBox Tests: #12564
- Resolve bug with Prismic Locales: #12132
- [Fast Refresh] Add more test cases: #12568
- Example: added Ant Design Pro Layout less: #12408
- Update to run tests in headless mode on Azure: #12574
- Fix
moduleIdnot resolving correctly on Windows: #12584
Credits
Huge thanks to @rafaelalmeidatk, @arcanis, @timneutkens, @mlorthiois, @huozhi, @lachlanjc, @sebastianbenz, @AlexanderVishnevsky, @mxschmitt, and @ijjk for helping!
Patches
- Update tests to poll for output instead of wait for it: #12534
- Don't add
.ampto pathname: #12528 - Update dynamic-import.md: #12541
- [Fast Refresh] New Compile Error Overlay: #12543
Credits
Huge thanks to @ijjk, @devknoll, and @austinhumes-valtech for helping!
Patches
- [examples/with-typescript-graphql] Add "createResolverContext" hook, etc.: #11681
- Fixed typo: #12497
- Add note about HoC possibly adding GIP to _app: #12491
- Disable cache warning on supported platforms: #12495
- [Fast Refresh] Better Tabbing Order: #12503
- [Fast Refresh] Correctly Trap Focus in Overlay: #12502
- Disable Comment Extraction: #12496
- [Fast Refresh] Fix overlay display on Safari: #12523
Credits
Huge thanks to @piglovesyou, @plug-n-play, and @ijjk for helping!
Minor Changes
- Elements with
role=linkshould open on [Enter]: #12460 - [Fast Refresh] New Overlay for Prerender Error: #12485
Patches
- Add warning for non-standard NODE_ENV value: #12361
- Add additional file serving tests: #12479
- Upgrade Flexbugs Dependency: #12459
- Don't generate fake cache keys for Preview Mode: #12487
- Next/client/link: improve internal type annotation: #12468
Credits
Huge thanks to @ijjk, @devknoll, and @jokester for helping!
Patches
- Do not prettify
lerna.json: 93a94b89090b19ec140c59d7ff6a5829bd87d29f
Patches
- Docs(examples): upgrade next-iron-session to v4: #12398
- Add docs for next dev and next start: #12392
- Add cors example and update API routes docs: #12390
- Use fs.promises instead of promisify: #12026
- Add docs for Router.back and Router.reload: #12396
- Minor docs edits for router API: #12404
- Document persisting cache with Netlify Plugin: #12242
- Example: new with-stitches: #11924
- Update @ampproject/toolbox-optimizer to v2.3.0: #12039
- [Docs] Add documentation for Router.prefetch: #12333
- Updated example template in contributing.md: #11968
- Gitignore graphql-let generated .d.ts files: #12381
- [Examples] Improve Contentful example starter and docs: #12351
- Improve code quality of _document: #12342
- Update
with-firebase-hosting[-and-typescript]examples: #11685 - Example: antd-4 with built-in css support: #11837
- [Docs] Move example links: #12326
- [example-with-fela] CSS imports compatibility: #12237
- #12314 add auth to with-sentry-simple example: #12316
- Fix lockfile: 4624c09fe5ecbd2be939776ec3a8de14e05bc44d
- Updated with-firebase-authentication to fix errors: #12204
- Docs: Add req.body to custom express server example: #12211
- Update with-emotion-11 example to use functional _app component: #12183
- Example: update netlify-cms to use SSG: #12072
- Fix preview mode expiration duration: #12118
- Transpile packages in react-intl example: #11849
- Upgrade from deprecated url.parse() since Node 11: #11825
- Fix 'user undefined' error with ssr profile in auth0 example: #11934
- Support distDir with trailing slash for static files: #10592
Credits
Huge thanks to @fabianishere, @vvo, @lfades, @matamatanot, @chibicode, @karlhorky, @christianalfoni, @sangotaro, @liulanz, @dalibor-123, @stefanjudis, @Kiarash-Z, @hossam-magdy, @mit123suki, @robinweser, @lncls, @kohchihao, @connormcwood, @davidcsally, @roniemeque, @piyu-sh, @jonespen, @joemccann, and @makezi for helping!
Patches
- Add URL escaping for custom headers: #12031
- Rectified typo: #12366
- Only monospace numbers for new overlay: #12394
- [Fast Refresh] Click to open in editor: #12397
Credits
Huge thanks to @ykzts and @plug-n-play for helping!
Patches
- [Fast Refresh] Skip Environment Check: #12359
- Upgrade
source-mappackage: #12355
Patches
- Skip LogBox tests to fix CI: 103c25a589db6c46eeb07bfcb41a417f5c75f293
Patches
- Fix wildcard paths causing infinite resolving: #12318
- [Examples] add Contentful example: #12323
- Fix typo: #12224
- Update jsconfig paths fix for windows: #12328
- Update with-tailwindcss to use Tailwind CSS v1.4.0's new built-in purge option: #12327
- [Docs] Add link to relative title in postcss docs: #12330
Credits
Huge thanks to @lfades, @aemiro-allison, @ijjk, and @taylorbryant for helping!
Patches
- Remove documentMiddleware experimental option: #12218
- Update preview-mode.md: #12287
- New logging output: #12169
- Enable NEXT_PUBLIC_ env var support: #12283
Credits
Huge thanks to @jamespohalloran for helping!
Patches
- Add initial process.env stubbing for new env support: #11893
- Enable "paths" support by default: #11970
- Experimental: React Refresh Support: #12008
- Add
module.hot.invalidate()to webpack HMR: #12038 - Docs(auth): add with-iron-session to the alternatives list: #11903
- Docs(Link): precise how prefetch works: #11792
- Fix: Update shallow routing docs: #11894
- Fix NEXT_PUBLIC env values not being inlined: #11896
- Correct Global and Local CSS Loading Order in Dev: #11901
- Ensure module not found error is shown with jsconfig paths: #11889
- Upgrade
terser-webpack-pluginfor Webpack 5: #11922 - Add initial configuration changes for webpack 5: #11917
- Updated shallow docs: #11925
- Improved steps for examples/cms-prismic: #11935
- Add warning about manually installing PostCSS plugins: #11966
- Allow disabling runtime JS in production for certain pages: #11949
- Docs: improve wording on some pages according to alex.js: #11973
- Serialize JSON Warnings Before Event: #11976
- Update HMR Client Runtime: #11977
- Add Missing Hook for MainTemplate: #11984
- Strongly Type Usage of Client Pages Loader: #11985
- Add API route to default CNA template: #11981
- With-iron-session: fix link to next-iron-session: #11974
- Fix On Demand Types in Hot Reloader: #11987
- Refactor(next-client-pages-loader): allow toggling router HMR: #11989
- Create React Refresh Utils: #12006
- Examples/with-react-helmet: upgrade react-helmet to v6.0.0: #12000
- Resolve TypeScript Extension in Correct Order: #12014
- Stabilize HMR tests on CI: #12029
- Fast Refresh: Test Syntax Error Recovery: #12032
- Add Heroku to list of cache examples: #12037
- [Examples] Update draft-js to v0.11.5 and add editorKey prop i…: #12011
- Bug: error when using transition property in tailwindcss + emo…: #12027
- Update next/head docs to clarify duplicate tags.: #12033
- Add documentation on
next buildoutput.: #12034 - Add note about polyfilling CSS Grid for IE11.: #12035
- Fix typo in next/amp docs: #12040
- Fix linting: 6188c79b228934bb4fa322a81054684b16b9b850
- Fix with mobx: #11907
- Update to only apply experimental process.env stub in developm…: #12055
- (examples) Fix link in with-passport example README: #12056
- [Fast Refresh] Module re-execution tests from Metro: #12059
- Rename ZEIT to Vercel: #12075
- Update year on license files: 9f1e7132f43304b5c9334fec92c72692455731e7
- Add additional check for segments in destination but not source: #12067
- Make sure to not show _error without 404 warning in some cases: #12061
- Fix postcss.config.js warnings: #12070
- Add Experimental React Refresh Example: #12081
- Rosetta i18n example: #11841
- [Fast Refresh] propagates a module that stops accepting in nex…: #12062
- Upgrade webpack: #12082
- Update to track test timings separate for Azure and Actions: #12083
- Fix type on NextApiHandler: #11988
- Upgrade ora to 4.0.4 to prevent undefined progress on CI build: #12088
- Evaluate App before Page in Dev for CSS Ordering: #12090
- Add Additional Test Case for CSS Order in Dev: #12007
- Update engines in package.json: #12022
- Fix typo in example: #12094
- [internal] Dedupe monorepo deps: #12093
- Fix(dev-server): render 404 when dynamic ssg path doesn't exist: #12085
- Avoid bugs with native Date class: #12098
- Update Code of Conduct email address: #12108
- Make sure to handle // during hydration: #11788
- Update TypeScript API routes tests: #12112
- Fix variable: #12114
- Add example with Magic authentication: #11810
- Improve Server Lib Utilities: #12119
- Remove @types/find-up: #12120
- Add tests for dotenv-expand behavior: #12140
- Ensure modern AMP client page bundles are removed: #12138
- Update to match log style for new env loading: #12137
- Add userbase example: #12150
- Added a link to the next.config.js docs for the with-env-next-…: #12153
- Update snapshot in with-jest example: #12157
- Remove unnecessary export to make usage clearer.: #12167
- Add quotes to static paths in fallback section: #12170
- Run tsconfig paths resolver before PnP: #12104
- Fast Refresh: test cyclic dependencies: #12161
- Link to CLI doc from getting started doc / link to Telemetry doc from CLI doc: #12181
- [Example] update with-tailwindcss-emotion to tailwind 1.3.3 and emotion 11 + tailwind-ui plugin: #11611
- Fix CSS Module HMR: #12177
- Remove launched experimental options: #12197
- Fix basePath not being applied for GS(S)P data routes: #12200
- Update node-notifier: #12205
- Downgrade terser to fix invalid minifying: #12178
- Update size-limit to reflect Terser downgrade: c72143d7fe5c80fb26a7cee991f3a6c609ab2dac
- Fix CSS Identifier Cleaning: #12239
- Fix ncc'd version of terser not being used by terser webpack plugin: #12252
- Add namedRegex and routeKeys to routes manifest: #12250
- Downgrade node-notifier to fix Azure tests: #12261
- Update built-in-css-support.md: #12268
Credits
Huge thanks to @ijjk, @vvo, @gndelia, @sparkertime, @Timer, @lfades, @pjaws, @timneutkens, @vcapretz, @justincy, @dvaJi, @bhaskarmurthy, @agarwalrounak, @coktopus, @leerob, @yangshun, @Talbot3, @jamesmosier, @oddnavy, @StarpTech, @bduffany, @Fonger, @matamatanot, @dzigg, @thomasheyenbrock, @qWici, @styfle, @Oxicode, @seanli, @Kiarash-Z, @coetry, @sdhani, @rokinsky, @Dashue, @giovannigiordano, @chibicode, @Arthie, and @andrewkfiedler for helping!
Patches
- Downgrade node-notifier to fix Azure tests: #12261
- Update built-in-css-support.md: #12268
Credits
Huge thanks to @ijjk and @andrewkfiedler for helping!
Patches
- Fix ncc'd version of terser not being used by terser webpack plugin: #12252
- Add namedRegex and routeKeys to routes manifest: #12250
Credits
Huge thanks to @ijjk for helping!
Patches
- Fix CSS Identifier Cleaning: #12239
Patches
- Update size-limit to reflect Terser downgrade: c72143d7fe5c80fb26a7cee991f3a6c609ab2dac
Patches
- Fast Refresh: test cyclic dependencies: #12161
- Link to CLI doc from getting started doc / link to Telemetry doc from CLI doc: #12181
Credits
Huge thanks to @chibicode for helping!
Patches
- Update engines in package.json: #12022
- Fix typo in example: #12094
- [internal] Dedupe monorepo deps: #12093
- Fix(dev-server): render 404 when dynamic ssg path doesn't exist: #12085
- Avoid bugs with native Date class: #12098
- Update Code of Conduct email address: #12108
- Make sure to handle // during hydration: #11788
- Update TypeScript API routes tests: #12112
- Fix variable: #12114
- Add example with Magic authentication: #11810
- Improve Server Lib Utilities: #12119
- Remove @types/find-up: #12120
- Add tests for dotenv-expand behavior: #12140
- Ensure modern AMP client page bundles are removed: #12138
- Update to match log style for new env loading: #12137
- Add userbase example: #12150
- Added a link to the next.config.js docs for the with-env-next-…: #12153
- Update snapshot in with-jest example: #12157
- Remove unnecessary export to make usage clearer.: #12167
- Add quotes to static paths in fallback section: #12170
- Run tsconfig paths resolver before PnP: #12104
Credits
Huge thanks to @matamatanot, @dzigg, @Timer, @thomasheyenbrock, @qWici, @styfle, @ijjk, @Oxicode, @seanli, @Kiarash-Z, @coetry, @sdhani, @rokinsky, @Dashue, and @giovannigiordano for helping!
Patches
- Fix type on NextApiHandler: #11988
- Upgrade ora to 4.0.4 to prevent undefined progress on CI build: #12088
- Evaluate App before Page in Dev for CSS Ordering: #12090
- Add Additional Test Case for CSS Order in Dev: #12007
Credits
Huge thanks to @bduffany, @Fonger, and @sparkertime for helping!
Patches
- Update year on license files: 9f1e7132f43304b5c9334fec92c72692455731e7
- Add additional check for segments in destination but not source: #12067
- Make sure to not show _error without 404 warning in some cases: #12061
- Fix postcss.config.js warnings: #12070
- Add Experimental React Refresh Example: #12081
- Rosetta i18n example: #11841
- [Fast Refresh] propagates a module that stops accepting in nex…: #12062
- Upgrade webpack: #12082
- Update to track test timings separate for Azure and Actions: #12083
Credits
Huge thanks to @ijjk, @oddnavy, and @StarpTech for helping!
Patches
- Rename ZEIT to Vercel: #12075
Patches
- Add Heroku to list of cache examples: #12037
- [Examples] Update draft-js to v0.11.5 and add editorKey prop i…: #12011
- Bug: error when using transition property in tailwindcss + emo…: #12027
- Update next/head docs to clarify duplicate tags.: #12033
- Add documentation on
next buildoutput.: #12034 - Add note about polyfilling CSS Grid for IE11.: #12035
- Fix typo in next/amp docs: #12040
- Fix linting: 6188c79b228934bb4fa322a81054684b16b9b850
- Fix with mobx: #11907
- Update to only apply experimental process.env stub in developm…: #12055
- (examples) Fix link in with-passport example README: #12056
- [Fast Refresh] Module re-execution tests from Metro: #12059
Credits
Huge thanks to @bhaskarmurthy, @agarwalrounak, @coktopus, @leerob, @yangshun, @Talbot3, @jamesmosier, and @Timer for helping!
Minor Changes
- Experimental: React Refresh Support: #12008
- Add
module.hot.invalidate()to webpack HMR: #12038
Patches
- Stabilize HMR tests on CI: #12029
- Fast Refresh: Test Syntax Error Recovery: #12032
Patches
- Add Missing Hook for MainTemplate: #11984
- Strongly Type Usage of Client Pages Loader: #11985
- Add API route to default CNA template: #11981
- With-iron-session: fix link to next-iron-session: #11974
- Fix On Demand Types in Hot Reloader: #11987
- Refactor(next-client-pages-loader): allow toggling router HMR: #11989
- Create React Refresh Utils: #12006
- Examples/with-react-helmet: upgrade react-helmet to v6.0.0: #12000
- Resolve TypeScript Extension in Correct Order: #12014
Credits
Huge thanks to @ijjk, @justincy, and @dvaJi for helping!
Minor Changes
- Enable "paths" support by default: #11970
Patches
- Docs: improve wording on some pages according to alex.js: #11973
- Serialize JSON Warnings Before Event: #11976
- Update HMR Client Runtime: #11977
Credits
Huge thanks to @timneutkens and @vcapretz for helping!
Patches
- Improved steps for examples/cms-prismic: #11935
- Add warning about manually installing PostCSS plugins: #11966
- Allow disabling runtime JS in production for certain pages: #11949
Credits
Huge thanks to @lfades and @pjaws for helping!
Patches
- Upgrade
terser-webpack-pluginfor Webpack 5: #11922 - Add initial configuration changes for webpack 5: #11917
- Updated shallow docs: #11925
Credits
Huge thanks to @Timer and @lfades for helping!
Minor Changes
- Add initial process.env stubbing for new env support: #11893
Patches
- Docs(auth): add with-iron-session to the alternatives list: #11903
- Docs(Link): precise how prefetch works: #11792
- Fix: Update shallow routing docs: #11894
- Fix NEXT_PUBLIC env values not being inlined: #11896
- Correct Global and Local CSS Loading Order in Dev: #11901
- Ensure module not found error is shown with jsconfig paths: #11889
Credits
Huge thanks to @ijjk, @vvo, @gndelia, and @sparkertime for helping!
Patches
- Fix styled-components example README notes: #11548
- Prevent extraneous re-renders with next/dynamic: #11587
- Update to make sure to respond with 400 for invalid URLs: #11561
- Add:
jsxto list of supported files in docs: #11579 - [docs] document how root routes coexist with dynamic api routes: #11591
- [docs] Remove broken link to example api-routes-micro: #11597
- Update minimum required node version to be more specific: #11604
- Rename unstable GSP field: #11602
- Replace getInitialProps with getServerSideProps: #11586
- [Docs] Remove concepts folder: #11621
- Make providers headlines so they become linkable: #11613
- [fix:typo] - Fixing a typo in the typescript example: #11630
- Fix Preview Mode in
<iframe>: #11638 - Update FAQ link: #11636
- Updated with-shallow-routing to use getServerSideProps: #11585
- Add error when GSSP methods are added as page component members: #11645
- Warn when user has pages/_error but no pages/404: #11603
- Updating native-url version: #11670
- Integrate with-atlaskit: #11269
- Fix documentation link in Basic API routes example: #11671
- Add links to sections in data fetching documentation: #11666
- [create-next-app] update logic for shouldUseYarn function: #11683
- Update Automatic Static Optimization docs: #11618
- A little bit of maintenance on the ReasonML examples: #11662
- Use function for function components: #11695
- Add dependencies used by compiled files: #11699
- Add example for polyfilling DOMParser in Node: #10782
- Update postcss.config.js: #11366
- Update webpack and mkdirp: #11165
- Add repository URL to package.json: #10748
- Any elements must be direct children of next/head: #11557
- Add routing example with dynamic
asprop: #11114 - Mention <title> and styled-jsx caveats in Document's docs: #11499
- [docs] Mention the new data fetching methods on missing places: #11620
- Allow top-level GitHub repo URLs as examples: #11691
- Import from compiled: #11684
- Remove
node-promisepipelibrary: #11700 - Update compiler.ts Improve TypeScript typings: #11074
- Cleanup Build Output Types: #11076
- Fix Utility Types: #11077
- Add warning when a page is rendered without a starting /: #11418
- Update dependencies: #11707
- Update to not modify req.url for getServerSideProps requests: #11637
- Update typescript.md: #11717
- Remove outdated sentence from static-export example: #11708
- Update got in create-next-app: #11725
- Pre-ncc compiled packages to prevent re-nccing unnecessarily: #11569
- [Examples] Update mobx examples to not use SSR: #11576
- [Example] Remove SSR from with-cerebral: #11562
- [Examples] Add SWR to api-routes and api-routes-middleware: #11385
- [example] Add SWR to api-routes-graphql: #11383
- Chore(deps): remove next-css from examples/antd: #10804
- Docs(examples): add with-iron-session example: #10973
- Update to merge props from GSSP methods with _app pageProps: #11709
- Confirm if user wants example when creating app: #10543
- Fix inconsistent handling for /index: #11643
- Updated with-webpack-bundle-size-analyzer to use SSG: #11657
- Make sure to handle "next" import gracefully: #11733
- Updated with-xstate: #11658
- [Examples] Update with-mobx-state-tree examples: #11736
- Bump timeout for create-next-app tests: #11743
- [contributing docs] Add more details about chromedriver for ma…: #11739
- Fix: small typo in
SERVER_PROPS_EXPORT_ERRORconstant: #11749 - Add New Provider: #11757
- Minor with-docker readme grammar fix: #11760
- Update start script in preact example: #11763
- Chore(example): Update styled-components to v5: #11765
- Update to latest version of AMP optimizer: #11753
- Fix just headers not being applied in dev mode: #11755
- Remove duplicate content: #11750
- Upgrade
ci-info: #11758 - Fix typo: #11786
- Update CNA tests on windows for further investigating: #11779
- Add Node.js version to Bug template: #11781
- Update auto export opt-out warning and err.sh: #11801
- Replace brackets in CSS classes for dynamic routes: #11795
- Add Prismic Example: #10897
- Update dev script in examples/using-preact: #11805
- Handle more invalid CSS class characters: #11809
- Externalize
next-serverfrom Server Builds: #11819 - Make sure to pass through query values for custom routes: #11812
- Update dependencies: #11833
- Minor change in hello-world/package.json: #11830
- Rename
functional component->function component: #11850 - Add displayName property to React Context objects: #11829
- Add gip identifiers to NEXT_DATA: #11835
- [examples/custom-server-fastify] Fix ts(2341): #11844
- Update @types in create-next-app: #11815
- [examples/with-react-intl] Fix issues with Intl.js polyfill: #11806
- Update sentry example: #11701
- Adds first input delay performance metric: #8884
- Remove update-check.d.ts: #11858
- Fix Lockfile: 9fdd6ed2e42fc7774f511cf83908f35318a7b0c6
- Update Serverless Note in Docs: #11861
- Chore(example): Update styled-components to v5 in with-typescript-styled-components: #11766
- Feat(example): add CRUD example with next-connect and passport: #11359
- Replaced express with next-connect: #11747
- Update shallow routing docs: #11616
- Add stats config for load tests: #11868
- Add basePath in link component and add/remove it consistently: #9988
- Revert "minor change in hello-world/package.json": #11874
- Remove with-cookie-auth: #11865
- Remove unused import: #11875
- Fix Situation Where Build Can Hang Indefinitely: #11881
- Handle Potential Promise Rejection in Serverless: #11882
- Add support for params in header key/values: #10324
- Fix(export): fallback to empty string for basePath: #11880
- Update with-redux-thunk example to include HMR: #11816
Credits
Huge thanks to @mattcarlotta, @devknoll, @kvoncode, @sw-yx, @tsriram, @ijjk, @djanda97, @lfades, @janpio, @noejon, @jansepke, @janicklas-ralph, @asotoglez, @TalAter, @kandros, @scull7, @chibicode, @fabianishere, @PaulPCIO, @mjziolko, @ykzts, @yossisp, @karlhorky, @vassbence, @bduffany, @matamatanot, @lifeiscontent, @joeytepp, @kkobiela, @zfben, @mottox2, @viztor, @vvo, @merelinguist, @zackkrida, @sdhani, @stigkj, @agarwalrounak, @timneutkens, @armujahid, @Timer, @liulanz, @NMinhNguyen, @davecardwell, @MicrochipQ, @a14m, @housseindjirdeh, @hoangvvo, and @Fonger for helping!
Patches
- Update with-redux-thunk example to include HMR: #11816
Credits
Huge thanks to @mattcarlotta for helping!
Patches
- Handle Potential Promise Rejection in Serverless: #11882
- Add support for params in header key/values: #10324
- Fix(export): fallback to empty string for basePath: #11880
Credits
Huge thanks to @ijjk and @Fonger for helping!
Patches
- Remove with-cookie-auth: #11865
- Remove unused import: #11875
- Fix Situation Where Build Can Hang Indefinitely: #11881
Credits
Huge thanks to @lfades and @timneutkens for helping!
Patches
- Update @types in create-next-app: #11815
- [examples/with-react-intl] Fix issues with Intl.js polyfill: #11806
- Update sentry example: #11701
- Adds first input delay performance metric: #8884
- Remove update-check.d.ts: #11858
- Fix Lockfile: 9fdd6ed2e42fc7774f511cf83908f35318a7b0c6
- Update Serverless Note in Docs: #11861
- Chore(example): Update styled-components to v5 in with-typescript-styled-components: #11766
- Feat(example): add CRUD example with next-connect and passport: #11359
- Replaced express with next-connect: #11747
- Update shallow routing docs: #11616
- Add stats config for load tests: #11868
- Add basePath in link component and add/remove it consistently: #9988
- Revert "minor change in hello-world/package.json": #11874
Credits
Huge thanks to @matamatanot, @fabianishere, @a14m, @housseindjirdeh, @Timer, @mottox2, @hoangvvo, @lfades, and @ijjk for helping!
Patches
- Make sure to pass through query values for custom routes: #11812
- Update dependencies: #11833
- Minor change in hello-world/package.json: #11830
- Rename
functional component->function component: #11850 - Add displayName property to React Context objects: #11829
- Add gip identifiers to NEXT_DATA: #11835
- [examples/custom-server-fastify] Fix ts(2341): #11844
Credits
Huge thanks to @liulanz, @NMinhNguyen, @davecardwell, and @MicrochipQ for helping!
Patches
- Externalize
next-serverfrom Server Builds: #11819
Credits
Huge thanks to @Timer for helping!
Patches
- Fix typo: #11786
- Update CNA tests on windows for further investigating: #11779
- Add Node.js version to Bug template: #11781
- Update auto export opt-out warning and err.sh: #11801
- Replace brackets in CSS classes for dynamic routes: #11795
- Add Prismic Example: #10897
- Update dev script in examples/using-preact: #11805
- Handle more invalid CSS class characters: #11809
Credits
Huge thanks to @agarwalrounak, @timneutkens, and @armujahid for helping!
Patches
- Updated with-webpack-bundle-size-analyzer to use SSG: #11657
- Make sure to handle "next" import gracefully: #11733
- Updated with-xstate: #11658
- [Examples] Update with-mobx-state-tree examples: #11736
- Bump timeout for create-next-app tests: #11743
- [contributing docs] Add more details about chromedriver for ma…: #11739
- Fix: small typo in
SERVER_PROPS_EXPORT_ERRORconstant: #11749 - Add New Provider: #11757
- Minor with-docker readme grammar fix: #11760
- Update start script in preact example: #11763
- Chore(example): Update styled-components to v5: #11765
- Update to latest version of AMP optimizer: #11753
- Fix just headers not being applied in dev mode: #11755
- Remove duplicate content: #11750
- Upgrade
ci-info: #11758
Credits
Huge thanks to @djanda97, @ijjk, @lfades, @zackkrida, @sdhani, @mottox2, and @stigkj for helping!
Patches
- Update typescript.md: #11717
- Remove outdated sentence from static-export example: #11708
- Update got in create-next-app: #11725
- Pre-ncc compiled packages to prevent re-nccing unnecessarily: #11569
- [Examples] Update mobx examples to not use SSR: #11576
- [Example] Remove SSR from with-cerebral: #11562
- [Examples] Add SWR to api-routes and api-routes-middleware: #11385
- [example] Add SWR to api-routes-graphql: #11383
- Chore(deps): remove next-css from examples/antd: #10804
- Docs(examples): add with-iron-session example: #10973
- Update to merge props from GSSP methods with _app pageProps: #11709
- Confirm if user wants example when creating app: #10543
- Fix inconsistent handling for /index: #11643
Credits
Huge thanks to @zfben, @mottox2, @matamatanot, @ijjk, @lfades, @viztor, @vvo, and @merelinguist for helping!
Patches
- Add example for polyfilling DOMParser in Node: #10782
- Update postcss.config.js: #11366
- Update webpack and mkdirp: #11165
- Add repository URL to package.json: #10748
- Any elements must be direct children of next/head: #11557
- Add routing example with dynamic
asprop: #11114 - Mention <title> and styled-jsx caveats in Document's docs: #11499
- [docs] Mention the new data fetching methods on missing places: #11620
- Allow top-level GitHub repo URLs as examples: #11691
- Import from compiled: #11684
- Remove
node-promisepipelibrary: #11700 - Update compiler.ts Improve TypeScript typings: #11074
- Cleanup Build Output Types: #11076
- Fix Utility Types: #11077
- Add warning when a page is rendered without a starting /: #11418
- Update dependencies: #11707
- Update to not modify req.url for getServerSideProps requests: #11637
Credits
Huge thanks to @fabianishere, @PaulPCIO, @mjziolko, @ykzts, @yossisp, @karlhorky, @vassbence, @lfades, @bduffany, @matamatanot, @lifeiscontent, @joeytepp, and @kkobiela for helping!
Patches
- Warn when user has pages/_error but no pages/404: #11603
- Updating native-url version: #11670
- Integrate with-atlaskit: #11269
- Fix documentation link in Basic API routes example: #11671
- Add links to sections in data fetching documentation: #11666
- [create-next-app] update logic for shouldUseYarn function: #11683
- Update Automatic Static Optimization docs: #11618
- A little bit of maintenance on the ReasonML examples: #11662
- Use function for function components: #11695
- Add dependencies used by compiled files: #11699
Credits
Huge thanks to @ijjk, @janicklas-ralph, @asotoglez, @TalAter, @kandros, @tsriram, @lfades, @scull7, and @chibicode for helping!
Patches
- Update FAQ link: #11636
- Updated with-shallow-routing to use getServerSideProps: #11585
- Add error when GSSP methods are added as page component members: #11645
Credits
Huge thanks to @jansepke and @djanda97 for helping!
Patches
- [docs] Remove broken link to example api-routes-micro: #11597
- Update minimum required node version to be more specific: #11604
- Rename unstable GSP field: #11602
- Replace getInitialProps with getServerSideProps: #11586
- [Docs] Remove concepts folder: #11621
- Make providers headlines so they become linkable: #11613
- [fix:typo] - Fixing a typo in the typescript example: #11630
- Fix Preview Mode in
<iframe>: #11638
Credits
Huge thanks to @tsriram, @ijjk, @djanda97, @lfades, @janpio, and @noejon for helping!
Patches
- Fix styled-components example README notes: #11548
- Prevent extraneous re-renders with next/dynamic: #11587
- Update to make sure to respond with 400 for invalid URLs: #11561
- Add:
jsxto list of supported files in docs: #11579 - [docs] document how root routes coexist with dynamic api routes: #11591
Credits
Huge thanks to @mattcarlotta, @devknoll, @kvoncode, and @sw-yx for helping!
Patches
- Refactor and expand ncc optimization
- Update to not add path segments to redirect query automatically: #11497
- Use Lax Cookie for Preview Mode: #11495
- Fix(performance-relayer): properly clean up event listeners: #11410
- Drop url dependency: #11503
- Update environment support: #11524
- Update checking for existing dotenv usage: #11496
- Update auth0 example with getServerSideProps: #11051
- Added "with-route-as-modal" example: #11473
- Generic Type for GetStaticPaths: #11430
Credits
Huge thanks to @ijjk, @shYkiSto, @guybedford, @timneutkens, @alfrejivi, @IAmMorrow, and @wongmjane for helping!
Patches
- Add notes to styled-components example README: #11540
- Update hello-world example React version & name for CodeSandbox: #11550
Credits
Huge thanks to @mattcarlotta and @jamesmosier for helping!
Patches
- Remove passing of NODE_OPTIONS='--inspect' to subprocesses: #11041
- Update to make sure AMP only bundles are always removed in pro…: #11527
- Example/update unstated: #11534
- Update build output with renamed column: #11401
Credits
Huge thanks to @vvo, @ijjk, and @lfades for helping!
Patches
- Drop url dependency: #11503
- Update environment support: #11524
- Update checking for existing dotenv usage: #11496
- Update auth0 example with getServerSideProps: #11051
- Added "with-route-as-modal" example: #11473
- Generic Type for GetStaticPaths: #11430
Credits
Huge thanks to @guybedford, @timneutkens, @alfrejivi, @IAmMorrow, and @wongmjane for helping!
Minor Changes
- Refactor and expand ncc optimization
Patches
- Update to not add path segments to redirect query automatically: #11497
- Use Lax Cookie for Preview Mode: #11495
- Fix(performance-relayer): properly clean up event listeners: #11410
Credits
Huge thanks to @ijjk and @shYkiSto for helping!
Patches
- Revert "Fix assignment of props in WithApollo.getInitialProps " (#11384): #11236
- Add support for comments in tsconfig.json: e7ea27645deacb77fb3f69a830adfadbf70f4b6a
- Docs: Replace micro-cors with cors middleware: #11395
- Add support for comments in tsconfig.json: #11392
- Fixed typo: libraray -> library: #11435
- Minor change in README.md: #11434
- Fix with-aphrodite readme typo: #11436
- Update api-rest-example to SSG: #11362
- Change mdx options description: #11409
- Update .gitignore: #11421
- Update emotion dependencies in with-emotion-11: #11414
- Fix #11396: #11397
- Fix type ignore: #11479
- Typos fixed: overriden --> overridden and innaccurate -->inacc…: #11454
- Fix small punctuation issue: #11439
Credits
Huge thanks to @bgoerdt, @herrstucki, @MichelleLucero, @liulanz, @sdhani, @JazibJafri, @ElForastero, @moeyashi, @Andarist, @comxd, @chislee0708, and @PullJosh for helping!
Patches
- Revert "Fix assignment of props in WithApollo.getInitialProps " (#11384): #11236
- Add support for comments in tsconfig.json: e7ea27645deacb77fb3f69a830adfadbf70f4b6a
- Docs: Replace micro-cors with cors middleware: #11395
- Add support for comments in tsconfig.json: #11392
- Fixed typo: libraray -> library: #11435
- Minor change in README.md: #11434
- Fix with-aphrodite readme typo: #11436
- Update api-rest-example to SSG: #11362
- Change mdx options description: #11409
- Update .gitignore: #11421
- Update emotion dependencies in with-emotion-11: #11414
- Fix #11396: #11397
- Fix type ignore: #11479
- Typos fixed: overriden --> overridden and innaccurate -->inacc…: #11454
- Fix small punctuation issue: #11439
- Merge branch 'canary' of github.com:zeit/next.js into canary: dd098ca5f6bf9bd94f7d71950560a6ad649f8b97
Credits
Huge thanks to @bgoerdt, @herrstucki, @MichelleLucero, @liulanz, @sdhani, @JazibJafri, @ElForastero, @moeyashi, @Andarist, @comxd, @chislee0708, and @PullJosh for helping!
This upgrade is completely backwards compatible and recommended for all users on versions below 9.3.2. For future security related communications of our OSS projects, please join this mailing list.
Next.js has just been audited by one of the top security firms in the world.
They found that attackers could craft special requests to access files in the dist directory (.next).
This does not affect files outside of the dist directory (.next).
In general, the dist directory only holds build assets unless your application intentionally stores other assets under this directory.
We recommend upgrading to the latest version of Next.js to improve the overall security of your application.
How to Upgrade
- We have released patch versions for both the stable and canary channels of Next.js.
- To upgrade run
npm install next@latest --save
Impact
- Not affected: Deployments on ZEIT Now v2 (https://zeit.co) are not affected
- Not affected: Deployments using the
serverlesstarget - Not affected: Deployments using
next export - Affected: Users of Next.js below 9.3.2 that use
next start
We recommend everyone to upgrade regardless of whether you can reproduce the issue or not.
How to Assess Impact
If you think sensitive code or data could have been exposed, you can filter logs of affected sites by ../ with a 200 response.
What is Being Done
As Next.js has grown in popularity, it has received the attention of security researchers and auditors. We are thankful to Luca Carettoni from Doyensec for their investigation and discovery of the original bug and subsequent responsible disclosure.
We've landed a patch that ensures only known filesystem paths of .next/static are made available under /_next/static.
Regression tests for this attack were added to the security integration test suite.
- We have notified known Next.js users in advance of this publication.
- A public CVE was issued.
- If you want to stay on top of our security related news impacting Next.js or other ZEIT projects, please join this mailing list.
- We encourage responsible disclosure of future issues. Please email us at security@zeit.co. We are actively monitoring this mailbox.
Patches
- Add Numeric Separator Support for TypeScript: #11308
- Update CLI custom config documentation link: #11152
- Add error when attempting to export GSSP page: #11154
- Update blog-starter example: #11071
- Add CSS file to build output: #11145
- Update <dir> reference in help text: 527453560e1dde8c670266c3b42bcf3a58dee155
- Clean up examples directory: #11169
- Remove react-ssr-prepass alias as it's not longer needed: #11170
- Upgrade @ampproject/toolbox-optimizer to 2.0.1: #11168
- Add section on reading files: #11084
- [Examples] fix
remarklink in blog-starter's README: #11177 - Updated with-typescript example to SSG: #11081
- Add CMS example for Sanity: #10907
- Group CSS files in shared build output separate from JS files: #11184
- Updating min nodejs requirement: #11181
- Docs(ssr): req is an IncomingMessage instance, not HttpRequest: #11194
- Add support for baseUrl option in tsconfig and jsconfig: #11203
- [Example] with-passport: #10529
- CMS TakeShape Example: #11038
- Ensure hybrid AMP works correctly with SSG: #11205
- Update mocha example with yml configuration.: #11214
- Fix with-firebase-cloud-messaging example setup code: #10686
- Update wording of new data fetching methods recommendation: #11221
- Updated Api Routes Middleware example to use getServerSideProps: #11128
- With Firebase Client-Side example: #11053
- Docs(example): Load basic-css example on codesandbox: #11227
- Remove mkdirp, bump fs-extra to 9.0.0: #11251
- Add support for paths in tsconfig.json and jsconfig.json: #11293
- Add test for single alias: #11296
- Update GIP docs: #11303
- Add custom amp optimizer and skip validation mode: #10705
- Update handling for ENOENT from GSSP methods: #11302
- Docs: clarify how to customize next/babel presets: #11316
- Fix assignment of props in WithApollo.getInitialProps: #11236
- Fix: typo in
isStaginginwith-envexample: #11305 - Skip paths that are routed to a .d.ts file: #11322
- Upgrade loader-utils: #11324
- Fix warning for API routes with next export: #11330
- Make sure to copy AMP SSG files during export: #11331
- Just a small typo I think, right?: #11344
- [docs] Mention our channels: #11336
- Use records to init store: #11343
- Update data-fetching.md: 074c60e0ec201c3d453dbd0f6ed9543b541f576a
- Fix preview-mode docs/examples typo: #11345
- Update to prevent re-using workers for getStaticPaths in dev mode: #11347
Credits
Huge thanks to @chibicode, @ijjk, @timneutkens, @sebastianbenz, @zhe, @shaswatsaxena, @prateekbh, @vvo, @lfades, @bbortt, @aviaryan, @mgranados, @julianbenegas, @gregrickaby, @dulmandakh, @yosuke-furukawa, @tinymachine, @bgoerdt, @nicolasrouanne, @filipesmedeiros, @rishabhsaxena, and @queq1890 for helping!
Patches
- [Example] Use .jpg for images in blog-starter: #11176
- Add with-redux-toolkit example: #11358
Credits
Huge thanks to @lfades and @JazibJafri for helping!
Patches
- Fix
static/file name encoding: #11373
Patches
- Update AMP docs: #11353
- Add docs for multi zones: #11348
- Add initial support for new env handling: #10525
Credits
Huge thanks to @lfades and @ijjk for helping!
Patches
- Make sure to copy AMP SSG files during export: #11331
- Just a small typo I think, right?: #11344
- [docs] Mention our channels: #11336
- Use records to init store: #11343
- Update data-fetching.md: 074c60e0ec201c3d453dbd0f6ed9543b541f576a
- Fix preview-mode docs/examples typo: #11345
- Update to prevent re-using workers for getStaticPaths in dev mode: #11347
Credits
Huge thanks to @ijjk, @filipesmedeiros, @lfades, @rishabhsaxena, and @queq1890 for helping!
Patches
- Upgrade loader-utils: #11324
- Fix warning for API routes with next export: #11330
Credits
Huge thanks to @timneutkens and @ijjk for helping!
Patches
- Update GIP docs: #11303
- Add custom amp optimizer and skip validation mode: #10705
- Update handling for ENOENT from GSSP methods: #11302
- Docs: clarify how to customize next/babel presets: #11316
- Fix assignment of props in WithApollo.getInitialProps: #11236
- Fix: typo in
isStaginginwith-envexample: #11305 - Skip paths that are routed to a .d.ts file: #11322
Credits
Huge thanks to @lfades, @yosuke-furukawa, @ijjk, @tinymachine, @bgoerdt, and @nicolasrouanne for helping!
Minor Changes
- Add Numeric Separator Support for TypeScript: #11308
Patches
- Add test for single alias: #11296
Credits
Huge thanks to @timneutkens for helping!
Patches
- Updated Api Routes Middleware example to use getServerSideProps: #11128
- With Firebase Client-Side example: #11053
- Docs(example): Load basic-css example on codesandbox: #11227
- Remove mkdirp, bump fs-extra to 9.0.0: #11251
- Add support for paths in tsconfig.json and jsconfig.json: #11293
Credits
Huge thanks to @mgranados, @julianbenegas, @gregrickaby, @dulmandakh, and @timneutkens for helping!
Patches
- Updated with-typescript example to SSG: #11081
- Add CMS example for Sanity: #10907
- Group CSS files in shared build output separate from JS files: #11184
- Updating min nodejs requirement: #11181
- Docs(ssr): req is an IncomingMessage instance, not HttpRequest: #11194
- Add support for baseUrl option in tsconfig and jsconfig: #11203
- [Example] with-passport: #10529
- CMS TakeShape Example: #11038
- Ensure hybrid AMP works correctly with SSG: #11205
- Update mocha example with yml configuration.: #11214
- Fix with-firebase-cloud-messaging example setup code: #10686
- Update wording of new data fetching methods recommendation: #11221
Credits
Huge thanks to @shaswatsaxena, @ijjk, @prateekbh, @vvo, @lfades, @chibicode, @bbortt, and @aviaryan for helping!
Patches
- Update CLI custom config documentation link: #11152
- Add error when attempting to export GSSP page: #11154
- Update blog-starter example: #11071
- Add CSS file to build output: #11145
- Update <dir> reference in help text: 527453560e1dde8c670266c3b42bcf3a58dee155
- Clean up examples directory: #11169
- Remove react-ssr-prepass alias as it's not longer needed: #11170
- Upgrade @ampproject/toolbox-optimizer to 2.0.1: #11168
- Add section on reading files: #11084
- [Examples] fix
remarklink in blog-starter's README: #11177
Credits
Huge thanks to @chibicode, @ijjk, @timneutkens, @sebastianbenz, and @zhe for helping!
Patches
- Correctly Count Object References: #10903
- Add warning when built-in CSS/SCSS support is disabled: #10942
- Add missing words in docs: #10941
- Update handling for patterns in custom routes: #10523
- Remove extra closing parenthesis: #10948
- Fix paths.params.type in getStaticPaths(document): #10959
- Check SSG Page via Route Lookup: #10971
- Make sure to not show pages/404 GIP error from _app having GIP: #10974
- Fix examples with relay-compiler: #10976
- Use core-js promise polyfill for nomodule browsers: #10985
- Improve Sass Error: #10982
- Add support for getStaticProps in pages/404: #10984
- Cms-datocms SerializableError fixes: #10986
- Fix Lint: 39ed66496644cb3cc2954f62959045780cc64480
- Generic form of GetStaticProps and GetServerSideProps: #10856
- Add Array.flat polyfill to nomodule-polyfills: #11004
- Add "noreferrer" to the prerender indicator doc link: #11005
- Update RegExp test and remove extra script: #11006
- Update data-fetch example to SSG: #11017
- Feat: update api-routes example to SSG: #11019
- Fix Test for Windows: c1358301cc521469f0cd48a79b89d1f28b50ef30
- Update amp-first example to use GSSP: #11028
- Update with-zeit-fetch example to use SSG: #11026
- Update next-sass example to use built-in sass support: #11015
- Correct Cache-Control Behavior for GS(S)P: #11022
- Update custom-server-fastify example to not use internal fn: #11040
- Updated analyze-bundles example: #11031
- Use getServerSideProps for example: #11057
- Update custom-server-express example with getServerSideProps: #11035
- Upgrade next.js version on datocms example: #11039
- Update with-loading example to SSG: #11050
- Update form handler example: #11059
- Add support for static 404 when _error does not have custom GIP: #11062
- Update ssr-caching example with getServerSideProps: #11032
- Upgrade styled-jsx: #11070
- Update preset.ts: Remove any and use updated Node.js types: #11075
- Update @next/bundle-analyzer dependencies: #11068
- Update introduction.md: #11092
- Fix prettier linting: a231315bf49f13ed51094c0ba5b138ba2339f404
- Add experimental support for SCSS options: #11063
- Update API routes documentation to correctly mention middlewar…: #11083
- Update with-react-multi-carousel example to use GSSP: #11069
- Move public directory for development in examples/with-firebas…: #11085
- Update examples to use getStaticProps where possible: #11136
Credits
Huge thanks to @ijjk, @chibicode, @5alidz, @watanabeyu, @messa, @timneutkens, @followbl, @herrstucki, @danlutz, @Spy-Seth, @asotoglez, @josiahwiebe, @ragingwind, @ruisaraiva19, @SarKurd, @bobaaaaa, @akhila-ariyachandra, @lfades, @matamatanot, @JazibJafri, @tomdohnal, @carlospavanetti, @giuseppeg, @lifeiscontent, @7ma7X, @PaulHale, @john015, and @petamoriken for helping!
Patches
- Update API routes documentation to correctly mention middlewar…: #11083
- Update with-react-multi-carousel example to use GSSP: #11069
- Move public directory for development in examples/with-firebas…: #11085
- Update examples to use getStaticProps where possible: #11136
Credits
Huge thanks to @john015 and @petamoriken for helping!
Patches
- Update introduction.md: #11092
- Fix prettier linting: a231315bf49f13ed51094c0ba5b138ba2339f404
- Add support for SCSS options: #11063
Credits
Huge thanks to @PaulHale and @ijjk for helping!
Patches
- Use getServerSideProps for example: #11057
- Update custom-server-express example with getServerSideProps: #11035
- Upgrade next.js version on datocms example: #11039
- Update with-loading example to SSG: #11050
- Update form handler example: #11059
- Add support for static 404 when _error does not have custom GIP: #11062
- Update ssr-caching example with getServerSideProps: #11032
- Upgrade styled-jsx: #11070
- Update preset.ts: Remove any and use updated Node.js types: #11075
- Update @next/bundle-analyzer dependencies: #11068
Credits
Huge thanks to @lfades, @matamatanot, @chibicode, @JazibJafri, @tomdohnal, @ijjk, @carlospavanetti, @giuseppeg, @lifeiscontent, and @7ma7X for helping!
Patches
- Update RegExp test and remove extra script: #11006
- Update data-fetch example to SSG: #11017
- Feat: update api-routes example to SSG: #11019
- Fix Test for Windows: c1358301cc521469f0cd48a79b89d1f28b50ef30
- Update amp-first example to use GSSP: #11028
- Update with-zeit-fetch example to use SSG: #11026
- Update next-sass example to use built-in sass support: #11015
- Correct Cache-Control Behavior for GS(S)P: #11022
- Update custom-server-fastify example to not use internal fn: #11040
- Updated analyze-bundles example: #11031
Credits
Huge thanks to @ijjk, @asotoglez, @josiahwiebe, @ragingwind, @ruisaraiva19, @SarKurd, @bobaaaaa, and @akhila-ariyachandra for helping!
Patches
- Cms-datocms SerializableError fixes: #10986
- Fix Lint: 39ed66496644cb3cc2954f62959045780cc64480
- Generic form of GetStaticProps and GetServerSideProps: #10856
- Add Array.flat polyfill to nomodule-polyfills: #11004
- Add "noreferrer" to the prerender indicator doc link: #11005
Credits
Huge thanks to @followbl, @herrstucki, @danlutz, and @Spy-Seth for helping!
Patches
- Make sure to not show pages/404 GIP error from _app having GIP: #10974
- Fix examples with relay-compiler: #10976
- Use core-js promise polyfill for nomodule browsers: #10985
- Improve Sass Error: #10982
- Add support for getStaticProps in pages/404: #10984
Credits
Huge thanks to @ijjk, @messa, and @timneutkens for helping!
Patches
- Add warning when built-in CSS/SCSS support is disabled: #10942
- Add missing words in docs: #10941
- Update handling for patterns in custom routes: #10523
- Remove extra closing parenthesis: #10948
- Fix paths.params.type in getStaticPaths(document): #10959
- Check SSG Page via Route Lookup: #10971
Credits
Huge thanks to @ijjk, @chibicode, @5alidz, and @watanabeyu for helping!
Patches
- Correctly Count Object References: #10903
Minor Changes
- Enable scss/sass support: #10571
- Enable pages/404.js support: #10572
- Enable polyfillsOptimization: #10574
- Prefetch SSG Data: #10127
- Adding conformance checks: #10314
- Preview mode documentation: #10863
- Add TypeScript docs for SSG: #10865
- Verify GS(S)P Serializability: #10857
Patches
- Adds a missing dependency: #10570
- Add missin create permission for faunadb example: #10575
- Decrease number of expected preloads in safari: #10578
- Make sure to handle rejection when prefetching pages: #10579
- Add NextApiHandler type: #10573
- Update error message for invalid return value from getStaticPaths: #10580
- Update to latest watchpack with dynamic route rename fix: #10351
- Bump amphtml-validator to 1.0.30: #10588
- Add Failing CSS Test Case: #10590
- Do not cache 404 SSR responses: #10596
- Fix Nested Index Dynamic Routes in Development: #10595
- Emit ES5 Friendly Code in Program#exit Visitor: #10591
- Fixed pathname check in router: #10547
- Use clearInterval instead of clearTimer on a timer: #10597
- Fix AMP Validator Version: #10600
- Fix: Improve grammar of apollo.js comments: #10601
- Clean up landed experimental flags: #10593
- Updated links: #10604
- Add err.sh for invalid getStaticPaths return value: #10605
- Remove extra whitespace: 80bdf73929b4531482631ff3ac766af09873a9ef
- Upgrade next-transpile-modules to latest everywhere: #10607
- Disable setImmediate polyfill: #10612
- Add navigation test specific for Safari 10: #10616
- Make sure to handle failing to load _error: #10617
- Update legacy safari test for GitHub actions: #10618
- Add err.sh for getStaticProps error: #10619
- Add error messages for dynamic SSG page without getStaticPaths: #10620
- Remove next/link from chakra-ui example: #10625
- Update error-load-fail test to use check to handle reload taking longer on windows: #10631
- Remove deprecated static folder: #10632
- Fix Cookie Expiration: #10634
- Preview Mode Should Not Cache: #10636
- Invalidate cache for link[preload] in dev for CSS files: #10630
- Update link to GitHub Discussions beta: b331338891eca47b4ddd902dbfb734a05c37a91f
- Make sure to log errors from data fetching in dev mode in the console: #10652
- Fix typo in invalid getStaticPaths value example: #10657
- Update with-mobx-keystone-typescript example: #10638
- Test Prerender in Emulated Serverless Mode: #10660
- Improve Nested Catch-All Coverage: #10659
- Fix Double URL Encoding for Serverless: #10663
- Add calling getStaticPaths in development before showing fallback: #10611
- Show better error when non-array is returned from custom-routes: #10670
- Update error load fail test so that webdriver can still connect to app: #10673
- Rename zeit.co/new → zeit.co/import: #10674
- Update example "with-typescript-graphql": #10637
- Create config.yml: cedd6faba6f4f183d51cac612bc274e5c346e09b
- Update 1.Bug_report.md: fc9f18d78410a09fc1cd90326068106e918310d7
- Fix apollo example: #10696
- Update head-manager to compress better: #10687
- Update README.md: c0f42837bf7ae1fc4d2bb2b15b84e7dfd8e2ad92
- Make sure rewrites are handled in serverless mode correctly: #10697
- Update url prop handling for pages with new data methods: #10653
- Add dataRoutes field to routes-manifest for SSG and serverProps routes: #10622
- Ability to Disable SSG Fallback: #10701
- Fix Error Message: 663f5c4b6e385ebe168e00110ca5217f56af6161
- Add --example=<github-url> to create-next-app: #10226
- Rename getServerProps to getServerSideProps: #10722
- Remove
unstable_prefix from new methods: #10723 - Fix buildId being escaped breaking test with certain build ids: #10728
- Fix url-polyfill dep and re-enable native-url: #10726
- Extract sendPayload and prepareServerlessUrl: #10732
- Extract getStaticPaths helper: #10731
- Remove old eslint-ignores from unstable_ prefix: #10740
- Move upgrading guide to /docs: #10727
- Adding new types of performance monitoring: #10421
- Separate Low Priority Files from Main Files: #10756
- Consistently Type GS(S)P: #10757
- Correctly Dedupe Prefetching: #10758
- Add params to getStaticProps on err.sh: #10751
- Updating links to dynamic-routes section of docs: #10759
- Remove
dangerousAsPathfromRenderOpts: #10773 - Remove Dead Code from Next Server: #10772
- Examples: react-native-web: fix config to prefer .web.* exts: #10774
- Fix RenderOpts in
next-server: #10776 - Fix next/config module mismatch in new serverless mode: #10792
- Remove old env from workflow since it is replaced with WebHook: #10798
- Measure
getStaticProps,getServerSideProps: #10800 - Throw NoFallbackError instead of returning: #10793
- Add identifier to NEXT_DATA for gs(s)p: #10812
- Update to output jest data for posting failed tests comment: #10814
- Fix(cli): inspect flag is deprecated: #10819
- Update to make sure preview mode works with getServerSideProps: #10813
- Send Credentials for
getServerSidePropsRequests: #10826 - Update release stats with different name from pr stats: #10827
- Add docs for static 404 and pages/404: #10811
- Make sure to error when setting too large of preview data: #10831
- Ensure an accessible default viewport meta tag: #10823
- Update Pages and Data Fetching docs for SSG improvements: #10837
- Update Custom Server README's: #10843
- Fix data fetching learn more links: a61dfb22a14abbff524c5598bd8569f28db644c4
- Re-add Sass Docs: #10850
- Update README-template.md: 69ba79346f348f784b82ae1eb01cce0d655b2224
- Fix getStaticPaths modules being cached in dev mode: #10852
- Add example for why-did-you-render: #10662
- Update method for attaching GS(S)P identifier to page: #10859
- Fix
getServerSidePropsTest Case: #10862 - Fix Prerender Test Cases: #10861
- Add Test Case for SSG Full Re-Export: #10864
- Test child_process with API route: #10872
- Typo on preview mode documentation: #10892
- Fix getStaticPaths example code: #10893
- Fix linting of markdown documentation: 83b4fd150910917d4f91d8f743df0cc4d3ca5696
- DatoCMS Example: #10891
- Upgrade webpack: #10895
- Fix Azure Pipelines: #10896
- Add demo URL for the DatoCMS example: #10901
Credits
Huge thanks to @arcanis, @lgordey, @ijjk, @martpie, @jaywink, @fabianishere, @dijs, @TheRusskiy, @quinnturner, @timneutkens, @lfades, @vvo, @adithwip, @rafaelalmeidatk, @bmathews, @Spy-Seth, @EvgeniyKumachev, @chibicode, @piglovesyou, @HaNdTriX, @Timer, @janicklas-ralph, @devknoll, @prateekbh, @ethanryan, @MoOx, @rifaidev, @msweeneydev, @motiko, and @balazsorban44 for helping!
Minor Changes
- Verify GS(S)P Serializability: #10857
Patches
- DatoCMS Example: #10891
- Upgrade webpack: #10895
- Fix Azure Pipelines: #10896
- Add demo URL for the DatoCMS example: #10901
Credits
Huge thanks to @chibicode and @timneutkens for helping!
Patches
- Fix linting of markdown documentation: 83b4fd150910917d4f91d8f743df0cc4d3ca5696
Minor Changes
- Preview mode documentation: #10863
- Add TypeScript docs for SSG: #10865
Patches
- Add example for why-did-you-render: #10662
- Update method for attaching GS(S)P identifier to page: #10859
- Fix
getServerSidePropsTest Case: #10862 - Fix Prerender Test Cases: #10861
- Add Test Case for SSG Full Re-Export: #10864
Credits
Huge thanks to @motiko, @ijjk, @Timer, and @chibicode for helping!
Patches
- Update Custom Server README's: #10843
- Fix data fetching learn more links: a61dfb22a14abbff524c5598bd8569f28db644c4
- Re-add Sass Docs: #10850
- Update README-template.md: 69ba79346f348f784b82ae1eb01cce0d655b2224
- Fix getStaticPaths modules being cached in dev mode: #10852
Credits
Huge thanks to @msweeneydev and @ijjk for helping!
Patches
- Update release stats with different name from pr stats: #10827
- Add docs for static 404 and pages/404: #10811
- Make sure to error when setting too large of preview data: #10831
- Ensure an accessible default viewport meta tag: #10823
- Update Pages and Data Fetching docs for SSG improvements: #10837
Credits
Huge thanks to @ijjk, @rifaidev, and @chibicode for helping!
Patches
- Throw NoFallbackError instead of returning: #10793
- Add identifier to NEXT_DATA for gs(s)p: #10812
- Update to output jest data for posting failed tests comment: #10814
- Fix(cli): inspect flag is deprecated: #10819
- Update to make sure preview mode works with getServerSideProps: #10813
- Send Credentials for
getServerSidePropsRequests: #10826
Credits
Huge thanks to @devknoll, @ijjk, and @vvo for helping!
Minor Changes
- Adding conformance checks: #10314
Patches
- Remove old env from workflow since it is replaced with WebHook: #10798
- Measure
getStaticProps,getServerSideProps: #10800
Credits
Huge thanks to @prateekbh and @ijjk for helping!
Patches
- Fix next/config module mismatch in new serverless mode: #10792
Minor Changes
- Prefetch SSG Data: #10127
Patches
- Fix RenderOpts in
next-server: #10776
Patches
- Remove
dangerousAsPathfromRenderOpts: #10773 - Remove Dead Code from Next Server: #10772
- Examples: react-native-web: fix config to prefer .web.* exts: #10774
Credits
Huge thanks to @MoOx for helping!
Patches
- Extract sendPayload and prepareServerlessUrl: #10732
- Extract getStaticPaths helper: #10731
- Remove old eslint-ignores from unstable_ prefix: #10740
- Move upgrading guide to /docs: #10727
- Adding new types of performance monitoring: #10421
- Separate Low Priority Files from Main Files: #10756
- Consistently Type GS(S)P: #10757
- Correctly Dedupe Prefetching: #10758
- Add params to getStaticProps on err.sh: #10751
- Updating links to dynamic-routes section of docs: #10759
Credits
Huge thanks to @devknoll, @ijjk, @chibicode, @prateekbh, and @ethanryan for helping!
Patches
- Fix buildId being escaped breaking test with certain build ids: #10728
- Fix url-polyfill dep and re-enable native-url: #10726
Credits
Huge thanks to @ijjk and @janicklas-ralph for helping!
Patches
- Add --example=<github-url> to create-next-app: #10226
- Rename getServerProps to getServerSideProps: #10722
- Remove
unstable_prefix from new methods: #10723
Credits
Huge thanks to @lfades for helping!
Patches
- Ability to Disable SSG Fallback: #10701
Credits
Huge thanks to @Timer for helping!
Patches
- Show better error when non-array is returned from custom-routes: #10670
- Update error load fail test so that webdriver can still connect to app: #10673
- Rename zeit.co/new → zeit.co/import: #10674
- Update example "with-typescript-graphql": #10637
- Create config.yml: cedd6faba6f4f183d51cac612bc274e5c346e09b
- Update 1.Bug_report.md: fc9f18d78410a09fc1cd90326068106e918310d7
- Fix apollo example: #10696
- Update head-manager to compress better: #10687
- Update README.md: c0f42837bf7ae1fc4d2bb2b15b84e7dfd8e2ad92
- Make sure rewrites are handled in serverless mode correctly: #10697
- Update url prop handling for pages with new data methods: #10653
- Add dataRoutes field to routes-manifest for SSG and serverProps routes: #10622
Credits
Huge thanks to @chibicode, @piglovesyou, @HaNdTriX, and @timneutkens for helping!
Patches
- Add calling getStaticPaths in development before showing fallback: #10611
Credits
Huge thanks to @ijjk for helping!
Patches
- Make sure to log errors from data fetching in dev mode in the console: #10652
- Fix typo in invalid getStaticPaths value example: #10657
- Update with-mobx-keystone-typescript example: #10638
- Test Prerender in Emulated Serverless Mode: #10660
- Improve Nested Catch-All Coverage: #10659
- Fix Double URL Encoding for Serverless: #10663
Credits
Huge thanks to @ijjk, @Spy-Seth, and @EvgeniyKumachev for helping!
Patches
- Preview Mode Should Not Cache: #10636
- Invalidate cache for link[preload] in dev for CSS files: #10630
- Update link to GitHub Discussions beta: b331338891eca47b4ddd902dbfb734a05c37a91f
Credits
Huge thanks to @bmathews for helping!
Patches
- Add err.sh for getStaticProps error: #10619
- Add error messages for dynamic SSG page without getStaticPaths: #10620
- Remove next/link from chakra-ui example: #10625
- Update error-load-fail test to use check to handle reload taking longer on windows: #10631
- Remove deprecated static folder: #10632
- Fix Cookie Expiration: #10634
Credits
Huge thanks to @ijjk, @adithwip, and @rafaelalmeidatk for helping!
Patches
- Make sure to handle failing to load _error: #10617
- Update legacy safari test for GitHub actions: #10618
Patches
- Add err.sh for invalid getStaticPaths return value: #10605
- Remove extra whitespace: 80bdf73929b4531482631ff3ac766af09873a9ef
- Upgrade next-transpile-modules to latest everywhere: #10607
- Disable setImmediate polyfill: #10612
- Add navigation test specific for Safari 10: #10616
Credits
Huge thanks to @ijjk and @vvo for helping!
Patches
- Fix: Improve grammar of apollo.js comments: #10601
- Clean up landed experimental flags: #10593
- Updated links: #10604
Credits
Huge thanks to @quinnturner, @timneutkens, and @lfades for helping!
Patches
- Fixed pathname check in router: #10547
- Use clearInterval instead of clearTimer on a timer: #10597
- Fix AMP Validator Version: #10600
Credits
Huge thanks to @dijs and @TheRusskiy for helping!
Patches
- Do not cache 404 SSR responses: #10596
- Fix Nested Index Dynamic Routes in Development: #10595
- Emit ES5 Friendly Code in Program#exit Visitor: #10591
Credits
Huge thanks to @fabianishere for helping!
Patches
- Bump amphtml-validator to 1.0.30: #10588
- Add Failing CSS Test Case: #10590
Credits
Huge thanks to @jaywink for helping!
Patches
- Decrease number of expected preloads in safari: #10578
- Make sure to handle rejection when prefetching pages: #10579
- Add NextApiHandler type: #10573
- Update error message for invalid return value from getStaticPaths: #10580
- Update to latest watchpack with dynamic route rename fix: #10351
Credits
Huge thanks to @ijjk and @martpie for helping!
Minor Changes
- Enable polyfillsOptimization: #10574
Minor Changes
- Enable scss/sass support: #10571
- Enable pages/404.js support: #10572
Patches
- Adds a missing dependency: #10570
- Add missin create permission for faunadb example: #10575
Credits
Huge thanks to @arcanis and @lgordey for helping!
Patches
- Fix missing file extensions in docs: #10251
- De-dupe escape-regex with escape-string-regexp: #10257
- Update static check vars and fix types: #10260
- Update SSG types and clean up RenderOpts type: #10259
- Update _next/data URL handling in serverless-loader: #10261
- [example with-typescript-graphql] Fix type error: #10269
- Update built-in-css-support.md: c71694e28b11c9c3e909692c5614b2670cec01b2
- Update typo in typescript docs: #10276
- Update FaunaDB Example Instructions: #10280
- Add .jsx as a valid file extension in the pages directory: #10281
- Improved wording in comment: #10277
- Improve Stalled Requests Grammar: #10283
- Added support for BigInt to API routes: #10215
- Docs: remove --save from npm install; avoid system-ui: #10252
- Add catch all routes example and a link to it in docs: #10202
- Migrate CircleCi config to GitHub actions: #10274
- Fix Experimental Modern Mode with CSS: #10289
- Add initial support for unstable_getServerProps: #10077
- Fix with-orbit-components's name in package.json: #10307
- Fix typo in FaunaDB example: #10304
- Updated PostCSS docs and added a link to it: #10292
- Make sure to exit publish script with correct code: #10310
- Allowing skipping local selenium server when not needed: #10312
- Fix missing file extensions in docs: #10251
- De-dupe escape-regex with escape-string-regexp: #10257
- Update static check vars and fix types: #10260
- Update SSG types and clean up RenderOpts type: #10259
- Update _next/data URL handling in serverless-loader: #10261
- [example with-typescript-graphql] Fix type error: #10269
- Update built-in-css-support.md: c71694e28b11c9c3e909692c5614b2670cec01b2
- Update typo in typescript docs: #10276
- Update FaunaDB Example Instructions: #10280
- Add .jsx as a valid file extension in the pages directory: #10281
- Improved wording in comment: #10277
- Improve Stalled Requests Grammar: #10283
- Added support for BigInt to API routes: #10215
- Docs: remove --save from npm install; avoid system-ui: #10252
- Add catch all routes example and a link to it in docs: #10202
- Migrate CircleCi config to GitHub actions: #10274
- Fix Experimental Modern Mode with CSS: #10289
- Add initial support for unstable_getServerProps: #10077
- Fix preprocessor loader error: #10235
- Enable static 404 config to allow static 404 page when availab…: #10290
- Small grammar fix: #10317
- Fix: 9919 Add warning when no config is exported from next.con…: #10228
- Update workflow for testing against react@next: #10323
- Repair advanced feature reference: #10330
- Disable caching for react@next workflow as its not supported: #10331
- [Experimental] Nomodule polyfills chunk: #10212
- Update note about public and pages overlap: #10287
- Update the default template of create-next-app: #10327
- Upgrade with-carbon-components to built-in SCSS: #10321
- Fixes #10333
with-next-seosample issues: #10335 - Fix api-routes-apollo-server-and-client-auth Example: #10334
- TypeScript documentation for _app.tsx: #10345
- Improve api-routes-apollo-server-and-client-auth Example: #10358
- Increase watch limit for GitHub actions testing: #10367
- Added fix for #8893: #10370
- Make sure to not override initial navigation when refreshing static page's query: #10353
- Add support for runtimeConfigs in serverless mode: #10365
- Add check that dynamic route is API route in handleApiRequest: #10360
- Implement experimental pages/404.js for custom 404 page: #10329
- Update Preact Example: #10380
- Custom AMP Validator Variable Name Collision Fix: #10371
- Fix bug in catch-all routes with SSG: #10379
- Update create app docs: #10382
- Make sure runtime config is set before any imports for serverless: #10386
- Update to not show API not ended warning when response is piped to: #10342
- Add TypeScript Definitions for Sass: #10363
- Remove Old Records: #10398
- Fix with-reasonml example: #10399
- New Jest Example: #10396
- Skip undefined attribute in Head: #9856
- Make sure runtime config works in dev mode for serverless targ…: #10402
- Check for invalid pages: #10403
- Remove
buildsfrom examples: #10417 - Detect Invalid Pages Before Optimize: #10418
- Add support for rewriting to external resources: #10041
- Modify splitChunksPlugin to give shared CSS chunks different names: #10408
- Re-enable
native-url: #10419 - Update optimize event with static 404 status: #10420
- De-dupe paths returned in getStaticPaths: #10423
- Make apollo HOC composable: #10422
- Adjust README of example: #10426
- Remove old ts-ignores and extra value in routeInfo: #10429
- Update to use existing util to de-dupe path check: #10431
- Make missing param error message more specific: #10433
- Update size-limit test to be more fine grained: #10434
- Update utm links in create-next-app: #10442
- Remove unused dependency @types/babel-types: #10448
- Add initial SSG fallback handling: #10424
- Redesign custom-routes output and show headers in output: #10444
- Make withApollo work with _app.js components: #8801
- With threejs example: #10301
- Add paths field for unstable_getStaticPaths: #10454
- Add error message when rewriting to dynamic SSG page: #10458
- Upgrade koa router in example: #10469
- Get the http2 example to work: #10470
- Make Missing Prerender Manifest Fatal: #10485
- Update next-server routes order for expected priority: #10326
- Add Stripe TypeScript Example: #10482
- Update README.md: #10487
- Use filter for create-next-app template: #10496
- Upgrade next-transpile-modules in workspace examples: #10492
- Builds with Warnings Still Complete: #10498
- Update deploy doc to surface ZEIT Now / DPS: #10412
- SSG Preview Mode: #10459
- Fix typo in ignoring-typescript-errors.md: #10499
- [Docs] Apply updates based on feedback: #10352
- Remove Now CLI reference from examples: #10501
- Adjust SSG Loading Behavior: #10510
- Update wording for custom server: #10512
- Retry Static Data Fetch on Hydration: #10513
- Remove with-data-prefetch Example: #10514
- Clean up async in next-server: #10476
- Improve error for invalid page configurations: #10441
- Add handling for default as named export in SSG transform: #10486
- Update withApollo example: #10451
- Add global CSS styles to example/with-stripe-typescript: #10520
- Remove
native-urlAgain: #10526 - Make sure to encode pathname for custom-route destination: #10536
- Check next.config.js settings: #10425
- Migrate to AMP Optimizer 2.0: #10535
- Implement
isFallbackRouter Property: #10539
Credits
Huge thanks to @borisowsky, @piglovesyou, @dannytatom, @msweeneydev, @bartdeslagmulder, @stigkj, @jamesmosier, @chibicode, @lfades, @Timer, @RobinCsl, @apollonian, @alejalapeno, @dmitrika, @micahalcorn, @ijjk, @pacocoursey, @zhe, @ivan-kleshnin, @stryder03, @38elements, @msnider, @TheDSCPL, @vasco3, @lachlanjc, @AndyBitz, @atcastle, @pex, @Janpot, @HaNdTriX, @afsanefda, @Nainterceptor, @areai51, @thorsten-stripe, @vvo, @markhaslam, @devknoll, and @sebastianbenz for helping!
Patches
- Remove ts-ignore where possible: #10541
- Remove react import in create-next-app template: #10564
- Add extra profiling app: #10568
Credits
Huge thanks to @Janpot and @lfades for helping!
Patches
- Simplify create-next-app README: #10545
- Speculate Navigations for Client-Side JS: #10560
Credits
Huge thanks to @chibicode for helping!
Patches
- Check next.config.js settings: #10425
- Migrate to AMP Optimizer 2.0: #10535
- Implement
isFallbackRouter Property: #10539
Credits
Huge thanks to @sebastianbenz for helping!
Patches
- Make sure to encode pathname for custom-route destination: #10536
Patches
- Add global CSS styles to example/with-stripe-typescript: #10520
- Remove
native-urlAgain: #10526
Credits
Huge thanks to @thorsten-stripe for helping!
Patches
- Update wording for custom server: #10512
- Retry Static Data Fetch on Hydration: #10513
- Remove with-data-prefetch Example: #10514
- Clean up async in next-server: #10476
- Improve error for invalid page configurations: #10441
- Add handling for default as named export in SSG transform: #10486
- Update withApollo example: #10451
Credits
Huge thanks to @chibicode, @devknoll, @Janpot, @ijjk, and @HaNdTriX for helping!
Patches
- Fix typo in ignoring-typescript-errors.md: #10499
- [Docs] Apply updates based on feedback: #10352
- Remove Now CLI reference from examples: #10501
- Adjust SSG Loading Behavior: #10510
Credits
Huge thanks to @markhaslam, @lfades, and @chibicode for helping!
Patches
- Upgrade koa router in example: #10469
- Get the http2 example to work: #10470
- Make Missing Prerender Manifest Fatal: #10485
- Update next-server routes order for expected priority: #10326
- Add Stripe TypeScript Example: #10482
- Update README.md: #10487
- Use filter for create-next-app template: #10496
- Upgrade next-transpile-modules in workspace examples: #10492
- Builds with Warnings Still Complete: #10498
- Update deploy doc to surface ZEIT Now / DPS: #10412
- SSG Preview Mode: #10459
Credits
Huge thanks to @Nainterceptor, @areai51, @ijjk, @thorsten-stripe, @lfades, @chibicode, and @vvo for helping!
Patches
- Add paths field for unstable_getStaticPaths: #10454
- Add error message when rewriting to dynamic SSG page: #10458
Credits
Huge thanks to @ijjk for helping!
Patches
- Redesign custom-routes output and show headers in output: #10444
- Make withApollo work with _app.js components: #8801
- With threejs example: #10301
Credits
Huge thanks to @HaNdTriX and @afsanefda for helping!
Patches
- Re-enable
native-url: #10419 - Update optimize event with static 404 status: #10420
- De-dupe paths returned in getStaticPaths: #10423
Credits
Huge thanks to @Timer for helping!
Patches
- Check for invalid pages: #10403
- Remove
buildsfrom examples: #10417 - Detect Invalid Pages Before Optimize: #10418
- Add support for rewriting to external resources: #10041
- Modify splitChunksPlugin to give shared CSS chunks different names: #10408
Credits
Huge thanks to @lfades, @AndyBitz, @ijjk, and @atcastle for helping!
Patches
- Fix with-reasonml example: #10399
- New Jest Example: #10396
- Skip undefined attribute in Head: #9856
- Make sure runtime config works in dev mode for serverless targ…: #10402
Credits
Huge thanks to @vasco3, @Timer, and @lachlanjc for helping!
Patches
- Remove Old Records: #10398
Patches
- Add TypeScript Definitions for Sass: #10363
Patches
- Fix bug in catch-all routes with SSG: #10379
- Update create app docs: #10382
- Make sure runtime config is set before any imports for serverless: #10386
- Update to not show API not ended warning when response is piped to: #10342
Credits
Huge thanks to @TheDSCPL and @lfades for helping!
Patches
- Custom AMP Validator Variable Name Collision Fix: #10371
Credits
Huge thanks to @msnider for helping!
Patches
- Fix preprocessor loader error: #10235
- Enable static 404 config to allow static 404 page when availab…: #10290
- Small grammar fix: #10317
- Fix: 9919 Add warning when no config is exported from next.con…: #10228
- Update workflow for testing against react@next: #10323
Credits
Huge thanks to @alejalapeno, @chibicode, and @dmitrika for helping!
Patches
- Fix with-orbit-components's name in package.json: #10307
- Fix typo in FaunaDB example: #10304
- Updated PostCSS docs and added a link to it: #10292
- Make sure to exit publish script with correct code: #10310
- Allowing skipping local selenium server when not needed: #10312
- Fix missing file extensions in docs: #10251
- De-dupe escape-regex with escape-string-regexp: #10257
- Update static check vars and fix types: #10260
- Update SSG types and clean up RenderOpts type: #10259
- Update _next/data URL handling in serverless-loader: #10261
- [example with-typescript-graphql] Fix type error: #10269
- Update built-in-css-support.md: c71694e28b11c9c3e909692c5614b2670cec01b2
- Update typo in typescript docs: #10276
- Update FaunaDB Example Instructions: #10280
- Add .jsx as a valid file extension in the pages directory: #10281
- Improved wording in comment: #10277
- Improve Stalled Requests Grammar: #10283
- Added support for BigInt to API routes: #10215
- Docs: remove --save from npm install; avoid system-ui: #10252
- Add catch all routes example and a link to it in docs: #10202
- Migrate CircleCi config to GitHub actions: #10274
- Fix Experimental Modern Mode with CSS: #10289
- Add initial support for unstable_getServerProps: #10077
Credits
Huge thanks to @borisowsky, @piglovesyou, @dannytatom, @msweeneydev, @bartdeslagmulder, @stigkj, @jamesmosier, @chibicode, @RobinCsl, @apollonian, @lfades, and @Timer for helping!
Minor Changes
- Allow mismatching
hrefandaswhen manually provided: #9837 - [Experimental] Add built-in Sass support: #10133
Patches
- Add an example for Fauna using cookie based auth (round 2): #9986
- Honor exportTrailingSlash for default 404: #10109
- Rename Build SPR to SSG: #10114
- Add specific warning for require() PostCSS plugin: #10121
- Added amp-img example with fallback attribute: #10122
- Remove outdated readme: #10123
- Make example READMEs more consistent: #10124
- Support unnamed parameters in custom-routes correctly: #9920
- Error on query values in exportPathMap for auto export page: #9908
- Fix SSG data request failing with trailing slash: #10140
- Switch from
defertoasync: #10143 - Update readme.md: #10136
- Fix hydration with custom _app and granular chunks: #10144
- Update with-tailwindcss example: #10141
- Chore(examples): Update firebase version: #10145
- Update static-html-export.md: #10155
- Minor update for the "with-react-ga" example: #10156
- Add option arg to changeState when onlyAHashChange: #10003
- Fix broken link in error page: #10159
- Add initial support for static 404 page: #10113
- Remove @zeit/next-css from docs: #10168
- Sends Google Analytics correct url path on fresh page load: #10146
- Remove
native-url: #10176 - Test Query String Behavior: #10102
- Add error for invalid distDir value: #10177
- [docs] Added related links to next.config.js: #10174
- Feat(build): Transpile assuming higher version of runtime: #9511
- Delay hydration until after page is visible in development: #10164
- Add example: with-firebase-authentication-serverless: #10078
- Example: Convert _app.js to functional components: #10115
- Feat(examples:tailwind): add postcss-preset-env: #10160
- Serve
public/folder when page routes are disabled: #10169 - [with-emotion-10,11] Update emotion examples to v10 & v11: #9646
- Update Relay Modern example: #10150
- Add support for catch-all routes with SSG: #10175
- Add
with-stencilexample: #10125 - Improve user errors for invalid
pageExtensions: #10178 - Test CSS/Media Caching in Production Suite: #10184
- Stabilize New Dev Test: #10188
- Don't include core-js for default _document: #10187
- Test Query String with + Sign: #10186
- Disable core-js for server-side build: #10189
- Add hydration callback for testing: #10195
- Update tsconfig for tests: 592a2c2f009a7be164f25af5c512c844da19cde2
- Update error for failing to parse custom-route source: #10197
- Disable core-js on Next.js core files as it's not transforming…: #10193
- Fix ESLint Ignores and Extract Fn: #10205
- Dedupe CSS Regexes: #10206
- Use builtins for React transform: #10207
- Extract CSS Loaders into Separate Files: #10210
- Updated docs: #10213
- Let users define their own database as easily as possible.: #10209
- Enable security tests cross browser: #10217
- Remove unnecessary exportPathMap from examples: #10218
- Disable invalid security tests for safari: #10221
- Update README.md for example project "form-handler": #10224
- Fix rewriting to API routes not including query: #10223
- Improve Link documentation: #10225
- Add Bitbucket Pipelines to errors/no-cache.md: #10229
- Fix Linting: 945f7265905fdca91c0b4f559d4c8e77fc0fc744
- Revert "feat(build): Transpile assuming higher version of runt…: #10233
- Customizing PostCSS Configuration: #10236
- Check for invalid objects in rewrites/redirects/headers: #10238
- Check CSS Test Output: #10237
- Update tests running and add splitting by timings for Azure: #10214
- Add example with-xstate: #10234
- Add PostCSS Configuration to Sidebar: fb47360f8dc9f5ca1e8c6ec616c8b8b213dd716d
- Fix a typo in docs: #10239
- Add Apollo Server and Client Auth Example: #9913
- Explain Ignored PostCSS Plugin: #10240
- PostCSS Error When Exporting Function: #10242
- Add info on storing cache in GitHub Actions: #10231
- Tweak export test to be more stable: #10241
- Adding conformance webpack plugin: #9716
- Error on Invalid PostCSS Shape: #10244
Credits
Huge thanks to @vimota, @ijjk, @jplhomer, @luciovilla, @timneutkens, @chibicode, @OlegFilonchuk, @zhe, @ssong, @orta, @EvHaus, @rscotten, @lenaggar, @lfades, @shaneMLK, @Timer, @eps1lon, @kmjennison, @stramel, @afzalsayed96, @alreadyExisted, @azizhk, @thibaultboursier, @rohmanhm, @alejalapeno, @fauna-brecht, @smilevideo, @mgrubinger, @none23, @lifeiscontent, @amytych, and @prateekbh for helping!
Patches
- Customizing PostCSS Configuration: #10236
- Check for invalid objects in rewrites/redirects/headers: #10238
- Check CSS Test Output: #10237
- Update tests running and add splitting by timings for Azure: #10214
- Add example with-xstate: #10234
- Add PostCSS Configuration to Sidebar: fb47360f8dc9f5ca1e8c6ec616c8b8b213dd716d
- Fix a typo in docs: #10239
- Add Apollo Server and Client Auth Example: #9913
- Explain Ignored PostCSS Plugin: #10240
- PostCSS Error When Exporting Function: #10242
- Add info on storing cache in GitHub Actions: #10231
- Tweak export test to be more stable: #10241
- Adding conformance webpack plugin: #9716
- Error on Invalid PostCSS Shape: #10244
Credits
Huge thanks to @lfades, @ijjk, @rohmanhm, @none23, @lifeiscontent, @amytych, and @prateekbh for helping!
Patches
- Enable security tests cross browser: #10217
- Remove unnecessary exportPathMap from examples: #10218
- Disable invalid security tests for safari: #10221
- Update README.md for example project "form-handler": #10224
- Fix rewriting to API routes not including query: #10223
- Improve Link documentation: #10225
- Add Bitbucket Pipelines to errors/no-cache.md: #10229
- Fix Linting: 945f7265905fdca91c0b4f559d4c8e77fc0fc744
- Revert "feat(build): Transpile assuming higher version of runt…: #10233
Credits
Huge thanks to @chibicode, @smilevideo, @mgrubinger, and @Timer for helping!
Minor Changes
- [Experimental] Add built-in Sass support: #10133
Patches
- Updated docs: #10213
- Let users define their own database as easily as possible.: #10209
Credits
Huge thanks to @alejalapeno, @lfades, and @fauna-brecht for helping!
Patches
- Update error for failing to parse custom-route source: #10197
- Disable core-js on Next.js core files as it's not transforming…: #10193
- Fix ESLint Ignores and Extract Fn: #10205
- Dedupe CSS Regexes: #10206
- Use builtins for React transform: #10207
- Extract CSS Loaders into Separate Files: #10210
Credits
Huge thanks to @ijjk and @Timer for helping!
Patches
- Test CSS/Media Caching in Production Suite: #10184
- Stabilize New Dev Test: #10188
- Don't include core-js for default _document: #10187
- Test Query String with + Sign: #10186
- Disable core-js for server-side build: #10189
- Add hydration callback for testing: #10195
- Update tsconfig for tests: 592a2c2f009a7be164f25af5c512c844da19cde2
Credits
Huge thanks to @Timer and @timneutkens for helping!
Patches
- Add support for catch-all routes with SSG: #10175
- Add
with-stencilexample: #10125 - Improve user errors for invalid
pageExtensions: #10178
Credits
Huge thanks to @rohmanhm and @lfades for helping!
Patches
- Sends Google Analytics correct url path on fresh page load: #10146
- Remove
native-url: #10176 - Test Query String Behavior: #10102
- Add error for invalid distDir value: #10177
- [docs] Added related links to next.config.js: #10174
- Feat(build): Transpile assuming higher version of runtime: #9511
- Delay hydration until after page is visible in development: #10164
- Add example: with-firebase-authentication-serverless: #10078
- Example: Convert _app.js to functional components: #10115
- Feat(examples:tailwind): add postcss-preset-env: #10160
- Serve
public/folder when page routes are disabled: #10169 - [with-emotion-10,11] Update emotion examples to v10 & v11: #9646
- Update Relay Modern example: #10150
Credits
Huge thanks to @shaneMLK, @Timer, @lfades, @eps1lon, @kmjennison, @stramel, @afzalsayed96, @alreadyExisted, @azizhk, and @thibaultboursier for helping!
Patches
- Update with-tailwindcss example: #10141
- Chore(examples): Update firebase version: #10145
- Update static-html-export.md: #10155
- Minor update for the "with-react-ga" example: #10156
- Add option arg to changeState when onlyAHashChange: #10003
- Fix broken link in error page: #10159
- Add initial support for static 404 page: #10113
- Remove @zeit/next-css from docs: #10168
Credits
Huge thanks to @zhe, @ssong, @orta, @EvHaus, @rscotten, @lenaggar, @ijjk, and @lfades for helping!
Patches
- Update readme.md: #10136
- Fix hydration with custom _app and granular chunks: #10144
Credits
Huge thanks to @OlegFilonchuk for helping!
Patches
- Switch from
defertoasync: #10143
Patches
- Add an example for Fauna using cookie based auth (round 2): #9986
- Honor exportTrailingSlash for default 404: #10109
- Rename Build SPR to SSG: #10114
- Add specific warning for require() PostCSS plugin: #10121
- Added amp-img example with fallback attribute: #10122
- Remove outdated readme: #10123
- Make example READMEs more consistent: #10124
- Support unnamed parameters in custom-routes correctly: #9920
- Error on query values in exportPathMap for auto export page: #9908
- Fix SSG data request failing with trailing slash: #10140
Credits
Huge thanks to @vimota, @ijjk, @jplhomer, @luciovilla, @timneutkens, and @chibicode for helping!
Minor Changes
- Enable New Chunking Behavior: #9731
- Enable New CSS Support by Default: #9927
- Separate Self Size and First Load Size: #10014
- Add New CSS Documentation: #10072
- [experimental] Add required
permanent: booleanfield to redirect: #10044
Patches
- Add with-mobx-keystone-typescript example: #9844
- Test 3rd Party CSS Modules: #9924
- Fix get(Static|Initial)Props re-running when updating query: #9907
- Add a missing word to the Static Optimization doc: #9926
- Fixup the Static HTML Export doc: #9928
- Fix mistakes in the Custom Server doc: #9930
- Fix mistakes in the Deployment doc: #9925
- Fix Safari Script Test Count: #9932
- Fix js template to be TS compatible: #9941
- Fix getting data in class based example: #9938
- Don't bundle prop-types to then tree shake it: #9944
- Remove experiment: #9945
- Remove async from void functions in page-loader: #9948
- Remove rewriteUrlForNextExport from bundles when option is not enabled: #9946
- Allow for shortened names for certain items: #9949
- Add assetPrefix when fetching script and style dependencies: #9933
- Fix Tests: #9963
- Allow libs that ends with
next/distsuch asi18next,next-i18next,react-i18nextto be external: #9956 - Use
<script defer>by default, matching<script type=module>: #9966 - Test strictly matching
next/distpackages: #9968 - Add docs for catch all routes: #9967
- Docs: Fix imports in router API reference: #9977
- Typo fix: #9979
- Removed <br> from docs: #9972
- Fix Browserslist Integration for CSS: #9985
- Simplify
<Link>Prefetch Deduping: #9987 - Updated docs for pathname: #9964
- Test That Custom Properties Are Not Compiled: #9984
- Use optional chaining syntax: #9975
- Don't prepend a slash on empty path: #9973
- Proposing a new example "with-typescript-graphql": #9803
- Update static-file-serving.md: 805e4bb20ce9cf0d5ff406aa44a16805b0bd642c
- Update static-file-serving.md: #10006
- Merge branch 'canary' of github.com:zeit/next.js into fix/docs-static-file: 3497e7cb5d6f0e6b822a4ca2feac6367f0dad990
- Test Importing Global CSS in CSS Modules: #10008
- With cookie auth latest: #10005
- Add with redux wrapper hooks: #9954
- Fix typo on code comment for pages docs: #10011
- Docs: Fix Some Syntax Highlighting: #10013
- Test Custom Properties in CSS Modules: #10007
- Switches analytics relay test from dev to prod: #10017
- Add Back Comments: #10019
- Keep Chunk Hash in Build Output: #10020
- Ensure Build Output Does Not Contain
<buildId>: #10021 - Example: fix npm/yarn install/run instructions: #10023
- Fix
public/file name encoding: #10022 - Update css examples to use built-in CSS support: #10029
- Add Links to Global CSS Error: #10031
- Docs(errors): CSS Imported by a Dependency: #10032
- Add warning when API resolves without the request being finished: #9999
- Add
with-chakra-uiexample: #10033 - Docs(errors): CSS Modules Imported by a Dependency: #10034
- Add refresh header for 308 redirect for IE11 compatibility: #10042
- Disable New CSS For Sass, Less, and Stylus: #10043
- Fix missing quotes around
inoperator check for PerformanceObserver: #10018 - [Docs] Add missing import in custom App code example: #10047
- Change "wil" to "will": #10050
- Correct spelling: withApollo: #10055
- Fix typo in API Routes documentation.: #10054
- Change example link to be equal to query property: #10052
- Update server.js: #10056
- Ignore CSS Ordering Warnings: #10068
- Update basic-export to use zero config support: #10079
- Chore: Minor code refactor to eliminate redundant code: #10051
- Add more details to the deployment doc: #10085
- Fix modern + granularChunk hydration failing: #9727
- Added with-styled-components-rtl example: #10074
- Removes performance measures and marks for concurrent and blocking modes: #10088
- Replace __NEXT_SPR with __N_SSG Identifier: #10090
- Error on CSS in Custom Document: #10091
- Fix reading Component.__N_SSG: #10037
- Add Test for PR #10037: #10093
- Apply some renames for SSG related code: #10099
- Fix Legacy CSS with Granular Chunks: #10101
- Fixing observing paint types in safari bug: #10076
- Update readme to link to the new docs: #10096
Credits
Huge thanks to @EvgeniyKumachev, @ijjk, @cullylarson, @Timer, @JerryGreen, @iwgx, @timneutkens, @bmathews, @felixmosh, @lfades, @MoritzKn, @jvink, @afzalsayed96, @Janpot, @piglovesyou, @ttakehiro, @jeremenichelli, @ahmadawais, @prateekbh, @TyWMick, @mathdroid, @KB1RMA, @lcandiago, @singingwolfboy, @leerob, @bokuweb, @chibicode, @jamesgeorge007, @janicklas-ralph, @aganglada, @housseindjirdeh, and @tomas-c for helping!
Patches
- Fixing observing paint types in safari bug: #10076
- Update readme to link to the new docs: #10096
Credits
Huge thanks to @prateekbh and @lfades for helping!
Patches
- Add Test for PR #10037: #10093
- Apply some renames for SSG related code: #10099
- Fix Legacy CSS with Granular Chunks: #10101
Credits
Huge thanks to @ijjk for helping!
Patches
- Removes performance measures and marks for concurrent and blocking modes: #10088
- Replace __NEXT_SPR with __N_SSG Identifier: #10090
- Error on CSS in Custom Document: #10091
- Fix reading Component.__N_SSG: #10037
Credits
Huge thanks to @housseindjirdeh and @tomas-c for helping!
Minor Changes
- Add New CSS Documentation: #10072
- Add required
permanent: booleanfield to redirect: #10044
Patches
- [Docs] Add missing import in custom App code example: #10047
- Change "wil" to "will": #10050
- Correct spelling: withApollo: #10055
- Fix typo in API Routes documentation.: #10054
- Change example link to be equal to query property: #10052
- Update server.js: #10056
- Ignore CSS Ordering Warnings: #10068
- Update basic-export to use zero config support: #10079
- Chore: Minor code refactor to eliminate redundant code: #10051
- Add more details to the deployment doc: #10085
- Fix modern + granularChunk hydration failing: #9727
- Added with-styled-components-rtl example: #10074
Credits
Huge thanks to @ijjk, @lfades, @lcandiago, @singingwolfboy, @leerob, @bokuweb, @chibicode, @jamesgeorge007, @janicklas-ralph, and @aganglada for helping!
Patches
- Fix missing quotes around
inoperator check for PerformanceObserver: #10018
Credits
Huge thanks to @KB1RMA for helping!
Patches
- Update css examples to use built-in CSS support: #10029
- Add Links to Global CSS Error: #10031
- Docs(errors): CSS Imported by a Dependency: #10032
- Add warning when API resolves without the request being finished: #9999
- Add
with-chakra-uiexample: #10033 - Docs(errors): CSS Modules Imported by a Dependency: #10034
- Add refresh header for 308 redirect for IE11 compatibility: #10042
- Disable New CSS For Sass, Less, and Stylus: #10043
Credits
Huge thanks to @timneutkens, @ijjk, and @mathdroid for helping!
Patches
- Fix
public/file name encoding: #10022
Credits
Huge thanks to @ijjk for helping!
Patches
- Ensure Build Output Does Not Contain
<buildId>: #10021 - Example: fix npm/yarn install/run instructions: #10023
Credits
Huge thanks to @TyWMick for helping!
Minor Changes
- Enable New CSS Support by Default: #9927
Patches
- Test Custom Properties in CSS Modules: #10007
- Switches analytics relay test from dev to prod: #10017
- Add Back Comments: #10019
- Keep Chunk Hash in Build Output: #10020
Credits
Huge thanks to @prateekbh for helping!
Minor Changes
- Separate Self Size and First Load Size: #10014
Patches
- Proposing a new example "with-typescript-graphql": #9803
- Update static-file-serving.md: 805e4bb20ce9cf0d5ff406aa44a16805b0bd642c
- Update static-file-serving.md: #10006
- Merge branch 'canary' of github.com:zeit/next.js into fix/docs-static-file: 3497e7cb5d6f0e6b822a4ca2feac6367f0dad990
- Test Importing Global CSS in CSS Modules: #10008
- With cookie auth latest: #10005
- Add with redux wrapper hooks: #9954
- Fix typo on code comment for pages docs: #10011
- Docs: Fix Some Syntax Highlighting: #10013
Credits
Huge thanks to @piglovesyou, @timneutkens, @ttakehiro, @jeremenichelli, and @ahmadawais for helping!
Patches
- Use optional chaining syntax: #9975
- Don't prepend a slash on empty path: #9973
Credits
Huge thanks to @afzalsayed96 and @Janpot for helping!
Patches
- Simplify
<Link>Prefetch Deduping: #9987 - Updated docs for pathname: #9964
- Test That Custom Properties Are Not Compiled: #9984
Credits
Huge thanks to @lfades for helping!
Patches
- Docs: Fix imports in router API reference: #9977
- Typo fix: #9979
- Removed <br> from docs: #9972
- Fix Browserslist Integration for CSS: #9985
Credits
Huge thanks to @MoritzKn, @jvink, and @lfades for helping!
Patches
- Test strictly matching
next/distpackages: #9968 - Add docs for catch all routes: #9967
Credits
Huge thanks to @lfades for helping!
Patches
- Allow libs that ends with
next/distsuch asi18next,next-i18next,react-i18nextto be external: #9956 - Use
<script defer>by default, matching<script type=module>: #9966
Credits
Huge thanks to @felixmosh for helping!
Patches
- Allow for shortened names for certain items: #9949
- Add assetPrefix when fetching script and style dependencies: #9933
- Fix Tests: #9963
Credits
Huge thanks to @timneutkens, @bmathews, and @Timer for helping!
Patches
- Fix Safari Script Test Count: #9932
- Fix js template to be TS compatible: #9941
- Fix getting data in class based example: #9938
- Don't bundle prop-types to then tree shake it: #9944
- Remove experiment: #9945
- Remove async from void functions in page-loader: #9948
- Remove rewriteUrlForNextExport from bundles when option is not enabled: #9946
Credits
Huge thanks to @Timer, @JerryGreen, @iwgx, and @timneutkens for helping!
Minor Changes
- Enable New Chunking Behavior: #9731
Patches
- Add with-mobx-keystone-typescript example: #9844
- Test 3rd Party CSS Modules: #9924
- Fix get(Static|Initial)Props re-running when updating query: #9907
- Add a missing word to the Static Optimization doc: #9926
- Fixup the Static HTML Export doc: #9928
- Fix mistakes in the Custom Server doc: #9930
- Fix mistakes in the Deployment doc: #9925
Credits
Huge thanks to @EvgeniyKumachev, @ijjk, and @cullylarson for helping!
Minor Changes
- Experimental: Add headers support to custom-routes: #9879
Patches
- Add handling for external redirects: #9764
- Fix error message typo: "Keys that need moved": #9772
- Update with-sentry example to not use sentry-testkit: #9777
- Update auth0 sample: bump dependencies and improve config management: #9778
- [example] Added AMP Google Analytics example: #9723
- Add parsing of route source during checking: #9787
- Updated packages for examples/with-typescript: #9791
- Update to close SSE connection before unload: #9798
- Update prerender test for Windows: #9800
- Prevent re-observing for an already prefetched page: #9644
- Fix source in electron build: #9802
- [docs] update custom-server-reasonml README to use create-next-app: #9792
- Fix relay URL: #9806
- Chore: fix typo of Unkown to Unknown: #9809
- New docs: #9301
- Turn on CSS support for config test: #9814
- [with-react-intl] Fix message extraction script on consecutive builds: #9788
- Add Specific Error for Function in PostCSS Config: #9815
- Add checking filesystem after each rewrite: #9568
- Update error checking for AMP validator tests: #9817
- Optimize Prefetching: #9818
- Fix/improve test for deduplication of tags with same key: #9793
- [Experimental] Move Babel transpile into a cached thread pool: #9331
- Fix IE11 Prefetching: #9823
- Fix Chrome-Only Tests: #9825
- Update yarn.lock: 3013c539b457710ae495ef798a4868b3a4fb1ac0
- Allow Empty API Body: #9838
- Add selenium-webdriver and testing cross-browser in PRs: #9821
- Allow Boolean API Response: #9842
- Do Not Run File Loader on Server: #9843
- Special Global CSS Error within
node_modules: #9849 - Expose CSS Issuer When Error: #9850
- Test Nested CSS Imports: #9855
- Register Created Bindings: #9864
- Fix bug in data-fetching.md's example: #9868
- Refactor Router#getInitialProps: #9853
- [Experiment] Add basePath support: #9872
- Add basePath to routes-manifest: #9875
- Update native-url for peerdep: #9882
- Update yarn.lock: fe1af7b38cfe555586bff4f4e2dcb11f20663342
- Update testing notes in contributing doc: #9878
- Refactor SSG Data Fetching: #9884
- Add test ensuring basePath is added to routes-manifest: #9885
- Add error for rewrite to auto-exported dynamic page: #9816
- Removed the custom configuration page: #9886
- Use Cached SSG Data on History Navigation: #9887
- Defer Loading CSS Configuration: #9889
- Support static export and server hosted build and update docs: #9783
- Fix Potential Duplication of Page Loading: #9894
- Ensure params in query are updated for custom-routes: #9797
- Revert version bump for routes-manifest: #9896
- Fix with-next-offline example: #9900
- Remove example: #9910
- Fix User Error in Async API Endpoint: #9911
- Remove dynamic assetPrefix from docs: #9912
- Fix shadowing of apolloClient: #9917
- Update the docker multistage to copy only the necessary files: #9899
- Remove extra logging from on-demand-entries: #9909
- Remove leftover symlink: 9e9c7ea393c925f97f4a6bc7360e08da0d1fd781
- Update contributing.md: 1546fcdcfd871cde1ffc0fce4ba9153c2786d0e2
- Enable catchAllRouting by default: #9922
- Fix _app global css import order: #9836
- [Examples] Update global declaration of Apollo clients: #9923
- Fix New CSS Support Media Paths: #9916
- Tailwind example only run PurgeCSS in production: #9846
- Add descriptions to documentation pages: #9901
Credits
Huge thanks to @lachlanjc, @jrusso1020, @sandrinodimattia, @jamesmosier, @francismarcus, @codemonkey800, @jplew, @millette, @twumm, @lfades, @lostfictions, @ijjk, @Timer, @Manc, @developit, @konstantinmuenster, @timneutkens, @aganglada, @SarKurd, @hegelocampus, @areai51, @IgorCRD, and @sergiodxa for helping!
Patches
- Fix _app global css import order: #9836
- [Examples] Update global declaration of Apollo clients: #9923
- Fix New CSS Support Media Paths: #9916
- Tailwind example only run PurgeCSS in production: #9846
- Add descriptions to documentation pages: #9901
Credits
Huge thanks to @IgorCRD, @lfades, and @sergiodxa for helping!
Patches
- Remove leftover symlink: 9e9c7ea393c925f97f4a6bc7360e08da0d1fd781
- Update contributing.md: 1546fcdcfd871cde1ffc0fce4ba9153c2786d0e2
- Enable catchAllRouting by default: #9922
Patches
- Remove dynamic assetPrefix from docs: #9912
- Fix shadowing of apolloClient: #9917
- Update the docker multistage to copy only the necessary files: #9899
- Remove extra logging from on-demand-entries: #9909
Credits
Huge thanks to @lfades, @hegelocampus, @areai51, and @ijjk for helping!
Minor Changes
- Add headers support to custom-routes: #9879
Patches
- Fix with-next-offline example: #9900
- Remove example: #9910
- Fix User Error in Async API Endpoint: #9911
Credits
Huge thanks to @ijjk, @SarKurd, and @timneutkens for helping!
Patches
- Support static export and server hosted build and update docs: #9783
- Fix Potential Duplication of Page Loading: #9894
- Ensure params in query are updated for custom-routes: #9797
- Revert version bump for routes-manifest: #9896
Credits
Huge thanks to @aganglada and @Timer for helping!
Patches
- Defer Loading CSS Configuration: #9889
Credits
Huge thanks to @Timer for helping!
Patches
- Update testing notes in contributing doc: #9878
- Refactor SSG Data Fetching: #9884
- Add test ensuring basePath is added to routes-manifest: #9885
- Add error for rewrite to auto-exported dynamic page: #9816
- Removed the custom configuration page: #9886
- Use Cached SSG Data on History Navigation: #9887
Credits
Huge thanks to @ijjk and @lfades for helping!
Patches
- Add basePath to routes-manifest: #9875
- Update native-url for peerdep: #9882
- Update yarn.lock: fe1af7b38cfe555586bff4f4e2dcb11f20663342
Credits
Huge thanks to @timneutkens for helping!
Patches
- Test Nested CSS Imports: #9855
- Register Created Bindings: #9864
- Fix bug in data-fetching.md's example: #9868
- Refactor Router#getInitialProps: #9853
- [Experiment] Add basePath support: #9872
Credits
Huge thanks to @Timer and @konstantinmuenster for helping!
Patches
- Special Global CSS Error within
node_modules: #9849 - Expose CSS Issuer When Error: #9850
Patches
- Update yarn.lock: 3013c539b457710ae495ef798a4868b3a4fb1ac0
- Allow Empty API Body: #9838
- Add selenium-webdriver and testing cross-browser in PRs: #9821
- Allow Boolean API Response: #9842
- Do Not Run File Loader on Server: #9843
Credits
Huge thanks to @ijjk for helping!
Patches
- Fix IE11 Prefetching: #9823
- Fix Chrome-Only Tests: #9825
Patches
- Update error checking for AMP validator tests: #9817
- Optimize Prefetching: #9818
- Fix/improve test for deduplication of tags with same key: #9793
- [Experimental] Move Babel transpile into a cached thread pool: #9331
Credits
Huge thanks to @ijjk, @Timer, @Manc, and @developit for helping!
Patches
- Update prerender test for Windows: #9800
- Prevent re-observing for an already prefetched page: #9644
Patches
- Fix error message typo: "Keys that need moved": #9772
- Update with-sentry example to not use sentry-testkit: #9777
- Update auth0 sample: bump dependencies and improve config management: #9778
- [example] Added AMP Google Analytics example: #9723
- Add parsing of route source during checking: #9787
- Updated packages for examples/with-typescript: #9791
- Update to close SSE connection before unload: #9798
Credits
Huge thanks to @lachlanjc, @jrusso1020, @sandrinodimattia, @jamesmosier, and @francismarcus for helping!
Patches
- Add handling for external redirects: #9764
Minor Changes
- [Experimental] CSS Module Support: #9686
Patches
- Normalize RegEx source between node versions: #9749
- Fix typo (change
imperativelytoimperative): #9750 - Fix Shared Sizes Missing Commons: #9752
- Add check for invalid assetPrefix: #9759
- Add tests ensuring auto-exported amphtml rel is valid: #9762
- Fix AMP HMR for child components: #9736
- Refactor Webpack Configuration: #9651
- Update api-support test suite: #9673
- Adding Router as an app level dep: #9675
- Add checking of custom routes for invalid fields: #9434
- Refactor next-server some for easier page checking: #9671
- Fix not detecting legacy getStaticParams in serverless mode: #9685
- Enable New Chunking for CSS: #9688
- Adjust Commit Linting Hook: #9694
- Upgrade Jest: #9693
- Adjust
postcss-modulesMessage: #9703 - Redesign PostCSS Configuration Loading: #9704
- Update Azure chromedriver version: #9708
- Fix CSS Modules Relative Path on Windows: #9709
- Fix SSG tests failing on windows: #9710
- Bump azure to windows 2019 image: #9711
- Adjust return value: #9712
- Add More Configuration File Options: #9713
- Breakup CSS test suite: #9715
- Add Tailwind and PurgeCSS Test: #9714
- Add CSS Module TypeScript Types: #9717
- Fix TypeError in with-graphql-hooks example: #9658
- Improve Build Output for SSG: #9719
- Add CSS Resolve Test: #9724
- Refine Pages Output: #9725
- New File Size Output: #9726
- Enable Page Symbol For
/_error: #9730 - Test CSS Behavior: #9733
- Fix query values being passed in dev mode for SSG: #9734
- Emit Static Export Intent: #9737
- Disable CSS Support When Manually Configured: #9735
- Test failed SSG data request: #9738
- Add support for exporting from serverless build: #9744
- Compute Gzip Sizes of Files: #9745
- Add experiment for prefetching: #9747
Credits
Huge thanks to @ijjk, @janicklas-ralph, @supaspoida, @taylorbryant, and @Timer for helping!
Patches
- Normalize RegEx source between node versions: #9749
- Fix typo (change
imperativelytoimperative): #9750 - Fix Shared Sizes Missing Commons: #9752
- Add check for invalid assetPrefix: #9759
- Add tests ensuring auto-exported amphtml rel is valid: #9762
- Fix AMP HMR for child components: #9736
Credits
Huge thanks to @taylorbryant and @timneutkens for helping!
Patches
- Add experiment for prefetching: #9747
Patches
- Compute Gzip Sizes of Files: #9745
Patches
- Test failed SSG data request: #9738
- Add support for exporting from serverless build: #9744
Credits
Huge thanks to @ijjk for helping!
Patches
- Enable Page Symbol For
/_error: #9730 - Test CSS Behavior: #9733
- Fix query values being passed in dev mode for SSG: #9734
- Emit Static Export Intent: #9737
- Disable CSS Support When Manually Configured: #9735
Credits
Huge thanks to @Timer for helping!
Patches
- Breakup CSS test suite: #9715
- Add Tailwind and PurgeCSS Test: #9714
- Add CSS Module TypeScript Types: #9717
- Fix TypeError in with-graphql-hooks example: #9658
- Improve Build Output for SSG: #9719
Credits
Huge thanks to @ijjk and @supaspoida for helping!
Patches
- Update Azure chromedriver version: #9708
- Fix CSS Modules Relative Path on Windows: #9709
- Fix SSG tests failing on windows: #9710
- Bump azure to windows 2019 image: #9711
- Adjust return value: #9712
- Add More Configuration File Options: #9713
Credits
Huge thanks to @ijjk for helping!
Patches
- Adjust
postcss-modulesMessage: #9703 - Redesign PostCSS Configuration Loading: #9704
Minor Changes
- [Experimental] CSS Module Support: #9686
Patches
- Enable New Chunking for CSS: #9688
- Adjust Commit Linting Hook: #9694
- Upgrade Jest: #9693
Patches
- Add checking of custom routes for invalid fields: #9434
- Refactor next-server some for easier page checking: #9671
- Fix not detecting legacy getStaticParams in serverless mode: #9685
Credits
Huge thanks to @ijjk for helping!
Patches
- Refactor Webpack Configuration: #9651
- Update api-support test suite: #9673
- Adding Router as an app level dep: #9675
Credits
Huge thanks to @ijjk and @janicklas-ralph for helping!
Minor Changes
- Support
repeating Dynamic Route Params: #9599 - Feat: optional chaining and nullish coalescing: #9615
Patches
- Remove re-exports of default when they don't exist: #9450
- Add test for forward nav after reload: #9452
- Adds missing dependency: #9453
- Exclude cache from being deleted in dev: #9448
- Add handling for rewriting to /_next with catchall: #9466
- Typo in with-next-offline example manifest.json: #9472
- Update purgecss search path: #9432
- Upgrade Babel Dependencies: #9478
- Error on Size Reduction: #9485
- Ensure CSS Is Preloaded First: #9486
- Fix typos: #9488
next exportshould skip iSSG fallback page: #9491- [Example] Fix typo in with-rbx-bulma-pro: #9494
- Updated with-jest example to latest versions: #9490
- Add err.sh for invalid multi-match usage: #9498
- Drop Re-Exported iSSG Imports: #9512
- Update CI/test set up: #9499
- Purge Babel Cache: #9514
- Remove Legacy Code: #9515
- Remove Broken Example (
with-apollo-auth): #9516 - Fix AMP HTML content emit: #9468
- Catch Telemetry Initialization Error: #9518
- Update progressive enhancement example: #9507
- CSS Support Customization: #9502
- Specify Invalid Dynamic Route Values: #9525
- Add custom timings for CircleCi: #9523
- Bump CircleCi concurrency: #9526
- Replace
urlpolyfill withself.URL: #9200 - Add custom routes to build output: #9517
- Allow custom amp validation: #9191
- Wait till load for paint metrics: #9406
- [modern] preset-modules & fix custom babelrc: #9489
- Update Yarn Lockfile: 5030bda9c250f2878a9768e543f1bef4296c69b7
- Add file attribute to timings data: #9535
- Fix deduplicating dynamic (array) meta tags: #9315
- Update
native-urlpackage for IE compat: #9539 - Simplify src-dir test suite: #9533
- Fix: resolve preset-modules: #9538
- Fixed next-offline example to serve service worker: #9531
- Update the graphql-react example.: #9550
- [WIP] Add err.sh for prerender error: #9548
- Increase CI Parallelism: #9552
- Update to latest fork-ts-checker version: #9555
- Add Next.js Version as Metadata: #9551
- Add the deploy button to compatible examples: #9547
- Update next package script: #9543
- Native url: #9561
- Lint in parallel: #9560
- Stabilize TypeScript HMR Test: #9562
- Tweak concurrency for CircleCi: #9558
- Run Lint Separate: #9563
- Upgrade
path-to-regexp: #9553 - S/getStaticParams/getStaticPaths/: #9565
- Make sure to parse query values for SSG page after hydration: #9545
- Fix missing getStaticProps error in serverless mode: #9532
- Fix docs typo: “your sites SEO”: #9579
- Move cross-env from devDependencies to dependencies: #9580
- Add SSG Tests with Catch All Routing: #9594
- Simplify getRouteRegex Callsites: #9597
- Fix extra prerender error for invalid getStaticProps usage: #9593
- Add Support for Event Flushing: #9606
- Upgrade Webpack and Terser: #9608
- Use NextComponentType in NextPage: #9575
- Update yarn.lock: fcea1cd86e58cccf88a0face3ef0f4eef804228e
- Aggressively Replace Constants: #9610
- Enhancement: Upgrade devalue version to 2.0.1: #9611
- With-material-ui example linked to mui-org/material-ui (#9616): #9605
- Enhancement: Upgrade css-loader version to 1.0.0: #9629
- Enhancement: Remove caret range for node-sass: #9630
- Add babel-plugin-graphql-tag to the with-apollo example: #9635
- Only Load JS Files for Polyfills: #9628
- Update with-socket.io example: #9583
- Fix react@next tests missing chromedriver env: #9632
- Remove Extraneous Imports in Pages: #9627
- Fix instructions for with-netlify-cms example: #9637
- Correct URI Encoding Order: #9638
- Adding duration for custom performance marks: #9592
- Separate SSG Transform from Config: #9639
- Rewrite SSG Transform: #9640
- Add SSG Support for VariableDeclarations: #9641
- Remove Scope Bindings for SSG: #9642
- Add Additional SSG Transform Test: 05ba91d3ba50d097a5c3ec59c971778e6b8d0fc0
- Fix Import Shaking for Namespaces: #9650
- Fix SSG Named Export Transform: #9649
- Rewrite SSG Transform for Recursive Cleanup: #9652
- Only Remove Server-Side Imports: #9653
- Fix Linting Pre-Commit Hook: #9654
- Bump Babel Cache Key: #9655
- Use Real Identifier for SSG Transform: #9656
- Disable SSG Transform on Non-SSG Pages: #9657
- Update example analyze bundles: #9645
- Simplify config in with-jest-typescript example: #9664
- Add tests for optional chaining and nullish coalescing: #9665
- Update example/with-dynamic-import: #9667
Credits
Huge thanks to @bartlangelaan, @ijjk, @arcanis, @timneutkens, @SZharkov, @gihrig, @sebastianbenz, @lfades, @aganglada, @maapteh, @janicklas-ralph, @yosuke-furukawa, @prateekbh, @developit, @sheerun, @merceyz, @jaydenseric, @Timer, @lachlanjc, @chentsulin, @nataliemarleny, @montmirail, @dbrudner, @supaspoida, @sayuti-daniel, @qrg, @s-h-a-d-o-w, and @HaNdTriX for helping!
Patches
- Add tests for optional chaining and nullish coalescing: #9665
- Update example/with-dynamic-import: #9667
Credits
Huge thanks to @ijjk and @HaNdTriX for helping!
Minor Changes
- Feat: optional chaining and nullish coalescing: #9615
Patches
- Update example analyze bundles: #9645
- Simplify config in with-jest-typescript example: #9664
Credits
Huge thanks to @sayuti-daniel, @qrg, and @s-h-a-d-o-w for helping!
Patches
- Fix Linting Pre-Commit Hook: #9654
- Bump Babel Cache Key: #9655
- Use Real Identifier for SSG Transform: #9656
- Disable SSG Transform on Non-SSG Pages: #9657
Credits
Huge thanks to @Timer for helping!
Patches
- Rewrite SSG Transform for Recursive Cleanup: #9652
- Only Remove Server-Side Imports: #9653
Patches
- Fix Import Shaking for Namespaces: #9650
- Fix SSG Named Export Transform: #9649
Patches
- Separate SSG Transform from Config: #9639
- Rewrite SSG Transform: #9640
- Add SSG Support for VariableDeclarations: #9641
- Remove Scope Bindings for SSG: #9642
- Add Additional SSG Transform Test: 05ba91d3ba50d097a5c3ec59c971778e6b8d0fc0
Patches
- Adding duration for custom performance marks: #9592
Credits
Huge thanks to @prateekbh for helping!
Patches
- Use NextComponentType in NextPage: #9575
- Update yarn.lock: fcea1cd86e58cccf88a0face3ef0f4eef804228e
- Aggressively Replace Constants: #9610
- Enhancement: Upgrade devalue version to 2.0.1: #9611
- With-material-ui example linked to mui-org/material-ui (#9616): #9605
- Enhancement: Upgrade css-loader version to 1.0.0: #9629
- Enhancement: Remove caret range for node-sass: #9630
- Add babel-plugin-graphql-tag to the with-apollo example: #9635
- Only Load JS Files for Polyfills: #9628
- Update with-socket.io example: #9583
- Fix react@next tests missing chromedriver env: #9632
- Remove Extraneous Imports in Pages: #9627
- Fix instructions for with-netlify-cms example: #9637
- Correct URI Encoding Order: #9638
Credits
Huge thanks to @lfades, @nataliemarleny, @montmirail, @janicklas-ralph, @dbrudner, @ijjk, and @supaspoida for helping!
Minor Changes
- Support
repeating Dynamic Route Params: #9599
Patches
- Fix docs typo: “your sites SEO”: #9579
- Move cross-env from devDependencies to dependencies: #9580
- Add SSG Tests with Catch All Routing: #9594
- Simplify getRouteRegex Callsites: #9597
- Fix extra prerender error for invalid getStaticProps usage: #9593
- Add Support for Event Flushing: #9606
- Upgrade Webpack and Terser: #9608
Credits
Huge thanks to @lachlanjc, @chentsulin, and @ijjk for helping!
Patches
- Upgrade
path-to-regexp: #9553 - S/getStaticParams/getStaticPaths/: #9565
- Make sure to parse query values for SSG page after hydration: #9545
- Fix missing getStaticProps error in serverless mode: #9532
Credits
Huge thanks to @ijjk for helping!
Patches
- Add custom timings for CircleCi: #9523
- Bump CircleCi concurrency: #9526
- Replace
urlpolyfill withself.URL: #9200 - Add custom routes to build output: #9517
- Allow custom amp validation: #9191
- Wait till load for paint metrics: #9406
- [modern] preset-modules & fix custom babelrc: #9489
- Update Yarn Lockfile: 5030bda9c250f2878a9768e543f1bef4296c69b7
- Add file attribute to timings data: #9535
- Fix deduplicating dynamic (array) meta tags: #9315
- Update
native-urlpackage for IE compat: #9539 - Simplify src-dir test suite: #9533
- Fix: resolve preset-modules: #9538
- Fixed next-offline example to serve service worker: #9531
- Update the graphql-react example.: #9550
- [WIP] Add err.sh for prerender error: #9548
- Increase CI Parallelism: #9552
- Update to latest fork-ts-checker version: #9555
- Add Next.js Version as Metadata: #9551
- Add the deploy button to compatible examples: #9547
- Update next package script: #9543
- Native url: #9561
- Lint in parallel: #9560
- Stabilize TypeScript HMR Test: #9562
- Tweak concurrency for CircleCi: #9558
- Run Lint Separate: #9563
Credits
Huge thanks to @janicklas-ralph, @yosuke-furukawa, @prateekbh, @developit, @sheerun, @merceyz, @aganglada, @jaydenseric, @Timer, and @lfades for helping!
Patches
- Update CI/test set up: #9499
- Purge Babel Cache: #9514
- Remove Legacy Code: #9515
- Remove Broken Example (
with-apollo-auth): #9516 - Fix AMP HTML content emit: #9468
- Catch Telemetry Initialization Error: #9518
- Update progressive enhancement example: #9507
- CSS Support Customization: #9502
- Specify Invalid Dynamic Route Values: #9525
Credits
Huge thanks to @ijjk and @maapteh for helping!
Patches
- [Example] Fix typo in with-rbx-bulma-pro: #9494
- Updated with-jest example to latest versions: #9490
- Add err.sh for invalid multi-match usage: #9498
- Drop Re-Exported iSSG Imports: #9512
Credits
Huge thanks to @lfades, @aganglada, and @ijjk for helping!
Patches
- Fix typos: #9488
next exportshould skip iSSG fallback page: #9491
Credits
Huge thanks to @sebastianbenz for helping!
Patches
- Update purgecss search path: #9432
- Upgrade Babel Dependencies: #9478
- Error on Size Reduction: #9485
- Ensure CSS Is Preloaded First: #9486
Credits
Huge thanks to @gihrig for helping!
Patches
- Add handling for rewriting to /_next with catchall: #9466
- Typo in with-next-offline example manifest.json: #9472
Credits
Huge thanks to @SZharkov for helping!
Patches
- Exclude cache from being deleted in dev: #9448
Credits
Huge thanks to @timneutkens for helping!
Patches
- Remove re-exports of default when they don't exist: #9450
- Add test for forward nav after reload: #9452
- Adds missing dependency: #9453
Credits
Huge thanks to @bartlangelaan, @ijjk, and @arcanis for helping!
Minor Changes
- Add a build-time emitted routes manifest with the dynamic routes (not used at runtime): #9347
- Implement custom routes RFC: #9157
Patches
- Update router to have only one route traverse pass: #9435
- Fix typo in serverless loader: #9431
- Remove getInitialProps from the faunadb example: #9427
- Fix recursive copy failing if more folders than concurrency: #9429
- With-graphql-faunadb: #9387
- Updated readme: #9405
- Fix up errors in tests: #9407
- Test segment-level exacts are preferred: #9408
- Fix(9312) - Fix redirect logic for with-cookie-auth: #9413
- Refactor(router): extract handle slug method: #9414
- Improve route param error message: 1544443fd506978feb46c9076a273c43f6064b36
- Upgrade TypeScript version: #9417
- Integration test case for fetch alias: #9391
- Linting should be strict: #9418
- [Experimental] Catch-all Route Support: #9416
- Remove top level usage of loader imports in next/document: #9419
- Clean up old flag: #9421
- Adjust Client Nav Test: #9422
- Improve linting rules to catch more errors: #9374
- Update
dotenvexample: #9372 - Update webpack config to also take next-stylus into account: #9277
- Fix typo in API routes documentation.: #9373
- Check formatting on build: #9375
- Polyfill
Object.assignby Default: #9369 - Add AMP First example: #9109
- Initialize Git repo on app creation: #9376
- Add extra step to contributing steps: #9377
- Decrease the load priority of client _buildManifest: #9167
- Replace historyId with initial page tracking: #9380
- Fix Dynamic
next exportPage Hydration Mismatch: #9388 - Amp-first example: fix broken inline script: #9389
- Remove unused property
skeleton: #9393 - Add test for internal url handling in render: #9396
- Don't treat static as an internal route when the folder is not provided: #9394
- Test static folder: #9395
- Add routes-manifest test: #9365
- Fix canonical rel link generation: #9357
- Bind
fetchtoselfinstead ofwindow: #9368 - Fix
window.fetchPolyfill: #9364 - Test CJS Import of
isomorphic-unfetch: #9363 - Update routes-manifest and add tests: #9361
- Add check for now.json and custom server: #9346
- Upgrade styled-jsx: #9348
- Ignore shell-quote on Windows: #9296
- Add full-icu package: #9286
- Convert wrapper class to function component: #9095
Credits
Huge thanks to @timneutkens, @giuseppeg, @lemonCMS, @slobo, @francismarcus, @MathieuLoutre, @leerob, @sebastianbenz, @fauna-brecht, @lfades, @Timer, @jamesmosier, and @janicklas-ralph for helping!
Patches
- Update router to have only one route traverse pass: #9435
Patches
- Fix typo in serverless loader: #9431
Patches
- Remove getInitialProps from the faunadb example: #9427
- Fix recursive copy failing if more folders than concurrency: #9429
Credits
Huge thanks to @lfades for helping!
Patches
- With-graphql-faunadb: #9387
- Updated readme: #9405
- Fix up errors in tests: #9407
- Test segment-level exacts are preferred: #9408
- Fix(9312) - Fix redirect logic for with-cookie-auth: #9413
- Refactor(router): extract handle slug method: #9414
- Improve route param error message: 1544443fd506978feb46c9076a273c43f6064b36
- Upgrade TypeScript version: #9417
- Integration test case for fetch alias: #9391
- Linting should be strict: #9418
- [Experimental] Catch-all Route Support: #9416
- Remove top level usage of loader imports in next/document: #9419
- Clean up old flag: #9421
- Adjust Client Nav Test: #9422
Credits
Huge thanks to @fauna-brecht, @lfades, @Timer, @jamesmosier, and @janicklas-ralph for helping!
Patches
- Improve linting rules to catch more errors: #9374
- Update
dotenvexample: #9372 - Update webpack config to also take next-stylus into account: #9277
- Fix typo in API routes documentation.: #9373
- Check formatting on build: #9375
- Polyfill
Object.assignby Default: #9369 - Add AMP First example: #9109
- Initialize Git repo on app creation: #9376
- Add extra step to contributing steps: #9377
- Decrease the load priority of client _buildManifest: #9167
- Replace historyId with initial page tracking: #9380
- Fix Dynamic
next exportPage Hydration Mismatch: #9388 - Amp-first example: fix broken inline script: #9389
- Remove unused property
skeleton: #9393 - Add test for internal url handling in render: #9396
- Don't treat static as an internal route when the folder is not provided: #9394
- Test static folder: #9395
Credits
Huge thanks to @francismarcus, @MathieuLoutre, @leerob, @sebastianbenz, @ijjk, and @janicklas-ralph for helping!
Patches
- Add routes-manifest test: #9365
- Fix canonical rel link generation: #9357
- Bind
fetchtoselfinstead ofwindow: #9368
Credits
Huge thanks to @slobo and @Timer for helping!
Patches
- Fix
window.fetchPolyfill: #9364 - Test CJS Import of
isomorphic-unfetch: #9363
Patches
- Update routes-manifest and add tests: #9361
Credits
Huge thanks to @ijjk for helping!
Minor Changes
- Add a routes manifest with the dynamic routes: #9347
- Implement custom routes RFC: #9157
Patches
- Add check for now.json and custom server: #9346
- Upgrade styled-jsx: #9348
- Ignore shell-quote on Windows: #9296
- Add full-icu package: #9286
- Convert wrapper class to function component: #9095
Credits
Huge thanks to @ijjk, @timneutkens, @giuseppeg, @lfades, and @lemonCMS for helping!
Patches
- Update static export example: clean up an extra query param: #9239
- Dynamic granular chunking: #9090
- Add unique identifier to router instance: #9015
- Remove concurrency option from next export: #9197
- Add Framer Motion example: #9185
- Improve serverless build performance: #9155
- Check if 'formatAmpMessages' returns a none empty string in Next.js build process: #8924
- Add test for #8924: #9243
- Fix Prettier Commit Hook: #9245
- Error when user tries to use uncompiled
next.config.ts: #9223 - Add experimental example of next-news: #9249
- Add experimental config for React Mode: #9207
- Load granular chunks with correct asset prefix: #8993
- Make sure to handle paths with dot in name for SPR: #9227
- Update default chromedriver version: #9252
- Bugfix/Performance: Start the modern child compiler earlier: #9257
- Make sure to pipe output from staticCheckWorkers: #9256
- Fix
import next from "next": #9216 - Update with-apollo-and-redux example: #9270
- Update _app documentation to reflect no longer needing next/app: #9268
- Fix example active-class-anme: Add support for children of ActiveLink without a className.: #9271
- Remove dead code elimination for when iSSG isn't used: #9267
- Add handling for exportTrailingSlash for iSSG pages: #9258
- Require Node 8.10: #9278
- Initial plugins implementation: #9139
- Disallow iSSG revalidation period of zero: #9280
- Fixed spelling of cookies: #9283
- Polyfill
window.fetchby Default: #9168 - Add Patternfly example: #9251
- Handle backslashes for plugins: #9282
- Call getInitialProps on Component when it’s not defined on App: #9287
- Simplify Build Output: #9281
- Enforce the
frameworkChunk: #9250 - Allow TypeScript Namespaces: #9308
- Prevent CSS script tags in granular chunks: #9306
- Only add static files route if folder exists: #9305
- Update with-jest-react-testing-library: #9307
- [with-firebase] Update to Node v10 and fix lint errors: #9318
- Track polyfill file changes: #9321
- Track framework bundle separately: #9322
- Revert experimental plugins code from sentry example: #9317
- Ensure we correctly decide on which packages need better interopt: #9327
- Remove the parameterized-routing example: #9297
- Add readme with experimental warning for plugins: #9345
Credits
Huge thanks to @meuwka, @janicklas-ralph, @ijjk, @ctavan, @natemoo-re, @developit, @jankarres, @sagartalla, @timneutkens, @devknoll, @zekchan, @Peeja, @HaNdTriX, @mgrubinger, @bennett4, @danielr18, @atcastle, @Megoos, @Industrial, and @lfades for helping!
Patches
- Add readme with experimental warning for plugins: #9345
Patches
- Remove the parameterized-routing example: #9297
Credits
Huge thanks to @lfades for helping!
Patches
- Prevent CSS script tags in granular chunks: #9306
- Only add static files route if folder exists: #9305
- Update with-jest-react-testing-library: #9307
- [with-firebase] Update to Node v10 and fix lint errors: #9318
- Track polyfill file changes: #9321
- Track framework bundle separately: #9322
- Revert experimental plugins code from sentry example: #9317
- Ensure we correctly decide on which packages need better interopt: #9327
Credits
Huge thanks to @atcastle, @ijjk, @Megoos, @Industrial, and @timneutkens for helping!
Patches
- Require Node 8.10: #9278
- Initial plugins implementation: #9139
- Disallow iSSG revalidation period of zero: #9280
- Fixed spelling of cookies: #9283
- Polyfill
window.fetchby Default: #9168 - Add Patternfly example: #9251
- Handle backslashes for plugins: #9282
- Call getInitialProps on Component when it’s not defined on App: #9287
- Simplify Build Output: #9281
- Enforce the
frameworkChunk: #9250 - Allow TypeScript Namespaces: #9308
Credits
Huge thanks to @timneutkens, @bennett4, @janicklas-ralph, @danielr18, and @ijjk for helping!
Patches
- Bugfix/Performance: Start the modern child compiler earlier: #9257
- Make sure to pipe output from staticCheckWorkers: #9256
- Fix
import next from "next": #9216 - Update with-apollo-and-redux example: #9270
- Update _app documentation to reflect no longer needing next/app: #9268
- Fix example active-class-anme: Add support for children of ActiveLink without a className.: #9271
- Remove dead code elimination for when iSSG isn't used: #9267
- Add handling for exportTrailingSlash for iSSG pages: #9258
Credits
Huge thanks to @developit, @ijjk, @Peeja, @HaNdTriX, @timneutkens, and @mgrubinger for helping!
Patches
- Update static export example: clean up an extra query param: #9239
- Dynamic granular chunking: #9090
- Add unique identifier to router instance: #9015
- Remove concurrency option from next export: #9197
- Add Framer Motion example: #9185
- Improve serverless build performance: #9155
- Check if 'formatAmpMessages' returns a none empty string in Next.js build process: #8924
- Add test for #8924: #9243
- Fix Prettier Commit Hook: #9245
- Error when user tries to use uncompiled
next.config.ts: #9223 - Add experimental example of next-news: #9249
- Add experimental config for React Mode: #9207
- Load granular chunks with correct asset prefix: #8993
- Make sure to handle paths with dot in name for SPR: #9227
- Update default chromedriver version: #9252
Credits
Huge thanks to @meuwka, @janicklas-ralph, @ijjk, @ctavan, @natemoo-re, @developit, @jankarres, @sagartalla, @timneutkens, @devknoll, and @zekchan for helping!
Minor Changes
- Add
StrictModetoggle: #9161 - Allow NextScript to optionally defer javascript: #8980
Patches
- Fix can-not-output-to-public error title: #8988
- Remove pass-server-data example: #8992
- Add extra note about canary branch in contributing: #8991
- Update AMP Optimizer to 1.1.1: #8994
- Update resetting log for spinners: #8995
- Monkeypatch @zeit/next-css@0.2.1-canary.4: #8996
- Add src directory support for global CSS: #8999
- Update README-zh-CN.md static-file-serving-eg-images: #9002
- Add CSS fixture for src dir: #9001
- Fix global Bluebird causing HMR connection to fail: #9009
- Change to public folder in with-loading example: #9016
- Update Auth0 example with new version: #9020
- Next offline: #9010
- Test no-path relative CSS imports: #9028
- Add buildId to SPR data routes: #8929
- Do Not Rely on Module State: #8968
- Add @zeit/fetch example: #9029
- Update to error on usage of serverRuntimeConfig with serverless: #9030
- Replace the deprecated Create Next App URL: #9032
- Trigger error overlay for dynamic route mismatch: #9031
- Updated multiple examples to use /public: #9033
- Update storybook example to v5.2 with CSF: #9036
- Update README.md: #9040
- Remove static optimization from message: #9045
- Fix a minor typo in link: #9049
- [Docs] Update static file serving section: #9062
- Remove _document context: #9068
- Update framework chunk test regex to not select nested dependencies: #9012
- Fix import in
@zeit/fetchexample: #9074 - Pin Azure Chromedriver: #9075
- Update no-document-title.md: #9082
- Temporary: Add Support for Now Platform Headers: #9085
- Temporary: SPR: Use Group Index Mapping: #9089
- Fix SPR always revalidating in production: #9091
- Optimize script tags: #9048
- [using-preact] Update example to Preact X: #9079
- Fix language fallback in with-react-intl example: #8894
- Update legacy _app context: #9083
- Simplify with-noscript example: #9094
- Update with-react-toolbox example to use /public: #9099
- [using-inferno] Update inferno to v7.3, fix missing React.createContext function: #9038
- [with-typescript] Updated TypeScript example to use API routes: #9073
- Fix SPR header name: #9104
- Update to return JSON if data request: #9106
- Add the example of Tailwind CSS with emotion: #8931
- Remove inferno example: #9108
- Don't mark page as nextExport if it's SPR: #9113
- Update with-prefetching example: #9101
- Dedupe meta tags: #8960
- Refactor with-modal example: #9097
- Refactor with-context-api example to use functional components: #9092
- Make sure to update scope for page export declaration: #9115
- Allow manually setting amphtml: #9098
- Support Concurrent Mode in Loadable: #9026
- Warn on No Cache in CI: #9116
- Update granular chunks to produce up to 25 chunks per entrypoint on high-complexity apps: #9129
- Netlify cms example: #8949
- Update Prerender Error Message: #9143
- Upgrade React dependencies: #9152
- Test
react(-dom)@canaryEvery 12 Hours: #9151 - Fix apollo server initialization in api-routes-apollo-server-and-client example: #9137
- Upgrade Lockfile: #9158
- Test React integration using
nextdist-tag: #9165 - Cache No-Revalidate Pages: #9170
- Add yarn check to tests: #9163
- Add WSL to Metadata: #9171
- Record src directory usage with version: #9023
- Add Purgecss to with-tailwindcss example: #9145
- Fix with-tailwindcss build issues: #9179
- Check Files during Install: #9182
- Reenable AMP Tests: #9162
- Docs(api-routes): fix micro-cors example: #9184
- Update with-mdx example to latest packages: #9186
- Ensure directory before flushing cache file: #9187
- Ensure that all <link> elements have a key prop: #9204
- Update Babel dependencies: #9203
- Update with-react-intl example: #9180
- API: Take multiple values into account for the query: #9196
- Fix react-native-web example by adding babel plugin: #9078
- Fix examples #9064: bumps next-redux-wrapper package version that contains babel runtime fix: #9214
- Remove
react-ssr-prepassfrom Next Deps: #9224 - Add warning for getStaticParams without getStaticProps: #9226
- Add configuration flags to disable integrated type checker: #9138
- Disable worker_threads by default for firebase compatibility: #9199
- Restore package.json and yarn.lock to allow deploy: #9230
- Split TypeScript Flag Docs: #9231
- Delete _document.js: #9236
- Update examples: static export using dynamic routes: #9237
Credits
Huge thanks to @tusbar, @karlhorky, @sebastianbenz, @ykzts, @manfwh, @ijjk, @ismamz, @sandrinodimattia, @armspkt, @timneutkens, @lfades, @rafaelalmeidatk, @SZharkov, @Baukaalm, @iNishant, @devknoll, @atcastle, @guswnsxodlf, @s-h-a-d-o-w, @HaNdTriX, @resir014, @firstziiz, @melanieseltzer, @iliran11, @Timer, @masives, @none23, @acdlite, @taylorbryant, @zackkrida, @htbvo, @midudev, @bitjson, @ctavan, @YUFENGWANG, @Janpot, @flybayer, @meuwka, @kachkaev, and @juanmiguelbesada for helping!
Patches
- API: Take multiple values into account for the query: #9196
- Fix react-native-web example by adding babel plugin: #9078
- Fix examples #9064: bumps next-redux-wrapper package version that contains babel runtime fix: #9214
- Remove
react-ssr-prepassfrom Next Deps: #9224 - Add warning for getStaticParams without getStaticProps: #9226
- Add configuration flags to disable integrated type checker: #9138
- Disable worker_threads by default for firebase compatibility: #9199
- Restore package.json and yarn.lock to allow deploy: #9230
- Split TypeScript Flag Docs: #9231
- Delete _document.js: #9236
Credits
Huge thanks to @Janpot, @flybayer, @meuwka, @ijjk, @kachkaev, @ctavan, and @juanmiguelbesada for helping!
Patches
- Netlify cms example: #8949
- Update Prerender Error Message: #9143
- Upgrade React dependencies: #9152
- Test
react(-dom)@canaryEvery 12 Hours: #9151 - Fix apollo server initialization in api-routes-apollo-server-and-client example: #9137
- Upgrade Lockfile: #9158
- Test React integration using
nextdist-tag: #9165 - Cache No-Revalidate Pages: #9170
- Add yarn check to tests: #9163
- Add WSL to Metadata: #9171
- Record src directory usage with version: #9023
- Add Purgecss to with-tailwindcss example: #9145
- Fix with-tailwindcss build issues: #9179
- Check Files during Install: #9182
Credits
Huge thanks to @masives, @none23, @acdlite, @ijjk, @taylorbryant, and @zackkrida for helping!
Patches
- Update with-prefetching example: #9101
- Dedupe meta tags: #8960
- Refactor with-modal example: #9097
- Refactor with-context-api example to use functional components: #9092
- Make sure to update scope for page export declaration: #9115
- Allow manually setting amphtml: #9098
- Support Concurrent Mode in Loadable: #9026
- Warn on No Cache in CI: #9116
- Update granular chunks to produce up to 25 chunks per entrypoint on high-complexity apps: #9129
Credits
Huge thanks to @HaNdTriX, @melanieseltzer, @iliran11, @devknoll, @Timer, and @atcastle for helping!
Patches
- Add the example of Tailwind CSS with emotion: #8931
- Remove inferno example: #9108
- Don't mark page as nextExport if it's SPR: #9113
Credits
Huge thanks to @firstziiz, @rafaelalmeidatk, and @ijjk for helping!
Patches
- Update to return JSON if data request: #9106
Credits
Huge thanks to @ijjk for helping!
Patches
- Fix SPR always revalidating in production: #9091
- Optimize script tags: #9048
- [using-preact] Update example to Preact X: #9079
- Fix language fallback in with-react-intl example: #8894
- Update legacy _app context: #9083
- Simplify with-noscript example: #9094
- Update with-react-toolbox example to use /public: #9099
- [using-inferno] Update inferno to v7.3, fix missing React.createContext function: #9038
- [with-typescript] Updated TypeScript example to use API routes: #9073
- Fix SPR header name: #9104
Credits
Huge thanks to @ijjk, @atcastle, @rafaelalmeidatk, @s-h-a-d-o-w, @devknoll, @HaNdTriX, @ismamz, and @resir014 for helping!
Patches
- Fix a minor typo in link: #9049
- [Docs] Update static file serving section: #9062
- Remove _document context: #9068
- Update framework chunk test regex to not select nested dependencies: #9012
- Fix import in
@zeit/fetchexample: #9074 - Pin Azure Chromedriver: #9075
- Update no-document-title.md: #9082
- Temporary: Add Support for Now Platform Headers: #9085
- Temporary: SPR: Use Group Index Mapping: #9089
Credits
Huge thanks to @Baukaalm, @iNishant, @devknoll, @atcastle, and @guswnsxodlf for helping!
Patches
- Add src directory support for global CSS: #8999
- Update README-zh-CN.md static-file-serving-eg-images: #9002
- Add CSS fixture for src dir: #9001
- Fix global Bluebird causing HMR connection to fail: #9009
- Change to public folder in with-loading example: #9016
- Update Auth0 example with new version: #9020
- Next offline: #9010
- Test no-path relative CSS imports: #9028
- Add buildId to SPR data routes: #8929
- Do Not Rely on Module State: #8968
- Add @zeit/fetch example: #9029
- Update to error on usage of serverRuntimeConfig with serverless: #9030
- Replace the deprecated Create Next App URL: #9032
- Trigger error overlay for dynamic route mismatch: #9031
- Updated multiple examples to use /public: #9033
- Update storybook example to v5.2 with CSF: #9036
- Update README.md: #9040
- Remove static optimization from message: #9045
Credits
Huge thanks to @ykzts, @manfwh, @ijjk, @ismamz, @sandrinodimattia, @armspkt, @timneutkens, @lfades, @rafaelalmeidatk, and @SZharkov for helping!
Patches
- Monkeypatch @zeit/next-css@0.2.1-canary.4: #8996
Patches
- Fix can-not-output-to-public error title: #8988
- Remove pass-server-data example: #8992
- Add extra note about canary branch in contributing: #8991
- Update AMP Optimizer to 1.1.1: #8994
- Update resetting log for spinners: #8995
Credits
Huge thanks to @tusbar, @karlhorky, and @sebastianbenz for helping!
Patches
- Match
public/static/folder beforestatic/: #8986 - Change /static directory in favor of /public directory for create-next-app: #8984
- With quilljs example: #8904
- Fix Custom Webpack Config in Inferno Example: #8987
Credits
Huge thanks to @aryasadeghy, @ismamz, and @grepme for helping!
Patches
- With quilljs example: #8904
- Change /static directory in favor of /public directory for create-next-app: #8984
- Match
public/static/folder beforestatic/: #8986 - Fix Custom Webpack Config in Inferno Example: #8987
Credits
Huge thanks to @aryasadeghy, @ismamz, and @grepme for helping!
Minor Changes
- Add
srcdirectory support: #8735 - Add
publicfolder support: #8661 - Add
staticdirectory deprecation warning: #8636
Patches
- Remove default export from constants.d.ts: #8979
Credits
Huge thanks to @ijjk, @Timer, @mbfisher, and @lfades for helping!
Patches
- Revert "Remove
configexport " (#8982): #8895
Patches
- Remove default export from constants.d.ts: #8979
Credits
Huge thanks to @mbfisher for helping!
Minor Changes
- Add
publicfolder support: #8661 - Add
staticdirectory deprecation warning: #8636
Credits
Huge thanks to @ijjk for helping!
Minor Changes
- Add
unstable_onPerformanceDatahelper for performance entries: #8480
Patches
- Migrate AMP story example into Next.js repo: #8972
- Convert Export to TypeScript: #8965
- Informative Error for Invalid Global CSS: #8958
- Convert Dev Server to TypeScript: #8966
- Fix Legacy CSS Modules on the Server: #8970
- Removes importance link attribute: #8951
- Inline
relayPaintMetricsfunction: #8954 - Add support for CSS Module patching: #8957
- Monkey patch
next-sassandnext-less: #8944 - Use Better Telemetry Directory: #8942
- Also patch standalone usage of
@zeit/next-css: #8950 - Change default body display setting: #8941
- Do not mix
nullingetCssLinksreturn value: #8938 - S/Automatic Prerendering/Automatic Static Optimization/: #8940
- Remove Recipes from Readme: #8939
- Remove
configexport: #8895 - Reduce Timeframe That FOUC Styles Are Active: #8937
- Migrate auth0 example into Next.js repo: #8802
- Update to not copy static and public folders during auto export: #8923
- Add
srcRouteattribute to SPRv2 Manifest: #8928 - Update package: #8906
- Don't run findPagesDir in production mode: #8896
- Mirror actual /_error behavior in documentation: 0bcd1fc39bb07f67b94238a0e867e9c3fe73a163
- Update Prerender Manifest: #8918
- Simplify with-redux example: #8875
Credits
Huge thanks to @ijjk, @timer, @prateekbh, @takehiro-takahashi, @HaNdTriX, and @jigz for helping!
Patches
- Convert Export to TypeScript: #8965
- Informative Error for Invalid Global CSS: #8958
- Convert Dev Server to TypeScript: #8966
- Fix Legacy CSS Modules on the Server: #8970
Minor Changes
- Add
unstable_onPerformanceDatahelper for performance entries: #8480
Patches
- Removes importance link attribute: #8951
- Inline
relayPaintMetricsfunction: #8954 - Add support for CSS Module patching: #8957
Credits
Huge thanks to @prateekbh and @jigz for helping!
Patches
- Monkey patch
next-sassandnext-less: #8944 - Use Better Telemetry Directory: #8942
- Also patch standalone usage of
@zeit/next-css: #8950
Patches
- Change default body display setting: #8941
- Do not mix
nullingetCssLinksreturn value: #8938 - S/Automatic Prerendering/Automatic Static Optimization/: #8940
- Remove Recipes from Readme: #8939
- Remove
configexport: #8895 - Reduce Timeframe That FOUC Styles Are Active: #8937
Patches
- Migrate auth0 example into Next.js repo: #8802
- Update to not copy static and public folders during auto export: #8923
- Add
srcRouteattribute to SPRv2 Manifest: #8928
Credits
Huge thanks to @ijjk for helping!
Patches
- Update package: #8906
- Don't run findPagesDir in production mode: #8896
- Mirror actual /_error behavior in documentation: 0bcd1fc39bb07f67b94238a0e867e9c3fe73a163
- Update Prerender Manifest: #8918
- Simplify with-redux example: #8875
Credits
Huge thanks to @takehiro-takahashi, @ijjk, and @HaNdTriX for helping!
Minor Changes
- Experimental Global CSS Support: #8710
- Experimental
srcdirectory support: #8735
Patches
- Update README.md: #8780
- Make favicon work: #8776
- Update webpack typings: #8783
- Run all Azure tests with node v10: #8782
- Test CSS Source Map generation: #8785
- Add caching yarn cache to Azure: #8787
- Reduce Install Size: #8788
- Simplify development CSS hiding: #8789
- Fix Experimental CSS Ordering: #8790
- Update broken links: #8793
- Insert <style> tags after anchor element: #8795
- Add Experimental CSS Before Anchor: #8803
- Update page sizes displayed on build: #8777
- Enable Experimental CSS Source Maps: #8805
- Add Working with Ghost and Next.js to Recipes: #8800
- Fix using withRouter in _app opting out of auto-export: #8811
- Remove useMemo from apollo examples: #8815
- Ghost URL Typo: #8828
- Add experimental SPR support: #8832
- Allow only JS files when loading dynamic chunks: #8831
- TS / PnP compatibility: #8744
- Remove extra build logs: #8839
- SPR follow ups: #8846
- Add support for ZEIT Now CI detection: #8864
- Fix typo and wording in README.md: #8867
- Remove
stale-if-errorheader from SPR: #8866 - Better test case for serverless export: #8865
- Favicon should have low importance: #8878
- Enforce natural numbers for SPR: #8882
- Configure the Default Revalidate: #8880
- Add SPR Dynamic Routes to Manifest: #8885
- Remove React Suspense from Client Runtime: #8887
- Don't remove path in page-config plugin: #8889
- Add test case to prevent regression for page config: #8890
Credits
Huge thanks to @ijjk, @Timer, @lfades, @fabienheureux, @HaNdTriX, @daviddarnes, @janicklas-ralph, @arcanis, @hanneslund, and @phocks for helping!
Patches
- Don't remove path in page-config plugin: #8889
Credits
Huge thanks to @ijjk for helping!
Patches
- Remove React Suspense from Client Runtime: #8887
Credits
Huge thanks to @Timer for helping!
Patches
- Add SPR Dynamic Routes to Manifest: #8885
Patches
- Add support for ZEIT Now CI detection: #8864
- Fix typo and wording in README.md: #8867
- Remove
stale-if-errorheader from SPR: #8866 - Better test case for serverless export: #8865
- Favicon should have low importance: #8878
- Enforce natural numbers for SPR: #8882
- Configure the Default Revalidate: #8880
Credits
Huge thanks to @fabienheureux for helping!
Patches
- Add
srcdirectory support: #8735 - Remove extra build logs: #8839
- SPR follow ups: #8846
Credits
Huge thanks to @ijjk for helping!
Patches
- Remove useMemo from apollo examples: #8815
- Ghost URL Typo: #8828
- Add experimental SPR support: #8832
- Allow only JS files when loading dynamic chunks: #8831
- TS / PnP compatibility: #8744
Credits
Huge thanks to @HaNdTriX, @daviddarnes, @ijjk, @janicklas-ralph, and @arcanis for helping!
Patches
- Update page sizes displayed on build: #8777
- Enable Experimental CSS Source Maps: #8805
- Add Working with Ghost and Next.js to Recipes: #8800
- Fix using withRouter in _app opting out of auto-export: #8811
Credits
Huge thanks to @janicklas-ralph, @Timer, and @daviddarnes for helping!
Patches
- Update broken links: #8793
- Insert <style> tags after anchor element: #8795
- Add Experimental CSS Before Anchor: #8803
Credits
Huge thanks to @lfades and @lucleray for helping!
Patches
- Fix Experimental CSS Ordering: #8790
Patches
- Simplify development CSS hiding: #8789
Minor Changes
- Global CSS Support: #8710
Patches
- Update README.md: #8780
- Make favicon work: #8776
- Update webpack typings: #8783
- Run all Azure tests with node v10: #8782
- Test CSS Source Map generation: #8785
- Add caching yarn cache to Azure: #8787
- Reduce Install Size: #8788
Credits
Huge thanks to @hanneslund, @phocks, and @ijjk for helping!
Patches
- Replace worker-farm with jest-worker: #8496
- Fix backslashes in stats causing tests to fail on windows: #8505
- Add missing dependency to next-server: #8507
- Remove _app from with-apollo example: #8504
- Normalize errors to use nextjs.org: #8518
- Update with-react-intl for v3: #8526
- Improve with-apollo example: #8508
- Improve With Firebase Authentication example: #8533
- Update with-zones example: #8459
- Specify loader paths for PnP support: #8531
- Add
modern-presetBabel option: #8521 - Remove link: #8539
- Fix typo in link in example's README: #8545
- Fix with-context-api example: #8559
- Refactor active-class-name example: #8558
- Encode URL paths in HTML and CSR: #8435
- Add err.sh for incompatible href and as: #8561
- Make sure to 404 for /_next/static: #8564
- Fix serverless chunking: #8569
- Fix docs: #8577
- Remove extra default export from readme: #8579
- Update performance marking: #8527
- Update styled-jsx: #8583
- Update README.md badge text: #8593
- Fix react-native-web example FOUC: #8576
- Update README and data-fetch example to use function components.: #8546
- Fix with-slate example: #8566
- Refactor with-loading example: #8560
- Add cookie path property: #8594
- Remove _app.js from with-apollo-auth example: #8556
- This example shows how to use STOMP inside a Next.js application.: #8511
- Use import instead of require in with-apollo example: #8575
- Use URL-friendly chunk names: #8609
- Add data-ampdevmode attribute for AMP scripts: #8524
- Fix production test failing in ie11: #8612
- Delete next-env.d.ts in JS implementation example: #8619
- Move next-server back into
nextpackage: #8613 - Fix getInitialProps issue in with-apollo example: #8620
- Update commons glob for granular chunks: #8622
- Update workers for
next export: #8623 - Update Next.js Telemetry Event Shapes: #8628
- Improve with-apollo-auth example: #8633
- Fix typo in README.md #8640: #8642
- Add Apollo Server and Client Example App: #8195
- Mention Custom App GIP in UPGRADING: #8647
- Update Create Next App Template: #8648
- [docs]
useRoutercannot be used with classes: #8649 - Remove extra pages: #8651
- Fix yarn workspaces example: #8631
- Adds the PnP plugin by default: #8653
- Revert "Remove extra pages from export test": #8658
- Add intl and Apollo to packages of interest: #8665
- Remove Telemetry Registration: #8664
- Re-enable anonymous telemetry: #8667
- Resolve externals using webpack's context: #8669
- Uses the PnP API when available: #8668
- Better type for AppTree in NextPageContext: #8662
- Update stats-config to be more deterministic: #8679
- Fix relay modern server express example: #8683
- Support non-flag variant of telemetry cmds: #8695
- Add telemetry CLI tests: #8696
- Optimize test setup: #8644
- Test non-flag and re-runs of telemetry cmds: #8697
- Delay updating asPath for auto exported pages: #8681
- Add electron typescript example: #8682
- Fix login popup not working: #8700
- Catch all requests in custom server: #8704
- Lock CircleCi image for now: #8706
- TypeScript report on active pages only: #8703
- Update pages-loader to return one value: #8629
- Nit: sort experimental keys: #8707
- Warn build on duplicate pages: #8646
- Organize webpack configuration imports: #8711
- Add test for duplicate scripts and add extra de-duping: #8709
- [Docs] Prefetch disabled for 2g or SaveData header: #8717
- Refactor api-routes-apollo-server-and-client example: #8673
- Migrate GitHub Action config and remove un-used secret: #8719
- Update actions config: 80ab8dd991b79e6a0f70e505fa0248084738fa77
- Disable telemetry for tests: #8725
- Add missing Link import to routing doc: #8728
- Externalize experimental package: #8731
- Update pull_request workflow: 5c83684b89401535af36188cf02eb8bdd5c8ff12
- Make sure renderOpts is available before checking: #8734
- Make sure to fail export when prerender fails with serverless bundle: #8738
- Update readme.md: 8cc60713476dd5c67f8b298676099814f8889c04
- Prevents externalizing non-hoisted packages: #8739
- Document the intended behavior of our externals: #8741
- Ensure requests are resolved as directories: #8742
- Add autoExport to NEXT_DATA: #8746
- Add link to docs for prerender indicator and allow disabling: #8610
- Improve prettier ignore: #8753
- Convert Readme Custom Error Pages To Functional Component: #8513
- Prettier fix: #8754
- Catch error from failing to unobserve: #8578
- Update build feedback with dots indicating activity: #8382
- Prevent URL from being updated while asPath is delayed: #8756
- Fix(examples): use hooks in with-cookie-auth example: #8729
- Match public files priority in dev: #8641
- Fix windows paths mismatching for type errors: #8766
- Example update: with-sentry-simple: #8684
- Add hard retrying for Azure test runs: #8761
- Revert "Add hard retrying for Azure test runs " (#8772): #8761
- Show dots for non-TTY: #8771
Credits
Huge thanks to @HaNdTriX, @jeanbauer, @borekb, @eps1lon, @developit, @MAPESO, @adamgoth, @Timer, @eshikerya, @ijjk, @huv1k, @housseindjirdeh, @giuseppeg, @nataliemarleny, @raibima, @alieslamifard, @sakulstra, @deini, @DevSpeak, @Baukaalm, @ajmhyd, @lifeiscontent, @arcanis, @fwojciec, @dutradda, @jakubkarabula, @technoplato, @RomainMorlevat, @AZIMAT, @twltwl, and @WestonThayer for helping!
Patches
- Example update: with-sentry-simple: #8684
- Add hard retrying for Azure test runs: #8761
- Revert "Add hard retrying for Azure test runs " (#8772): #8761
- Show dots for non-TTY: #8771
Credits
Huge thanks to @WestonThayer and @ijjk for helping!
Patches
- Match public files priority in dev: #8641
- Fix windows paths mismatching for type errors: #8766
Credits
Huge thanks to @ijjk for helping!
Patches
- Add autoExport to NEXT_DATA: #8746
- Add link to docs for prerender indicator and allow disabling: #8610
- Improve prettier ignore: #8753
- Convert Readme Custom Error Pages To Functional Component: #8513
- Prettier fix: #8754
- Catch error from failing to unobserve: #8578
- Update build feedback with dots indicating activity: #8382
- Prevent URL from being updated while asPath is delayed: #8756
- Fix(examples): use hooks in with-cookie-auth example: #8729
Credits
Huge thanks to @ijjk, @huv1k, @AZIMAT, and @twltwl for helping!
Patches
- Make sure to fail export when prerender fails with serverless bundle: #8738
- Update readme.md: 8cc60713476dd5c67f8b298676099814f8889c04
- Prevents externalizing non-hoisted packages: #8739
- Document the intended behavior of our externals: #8741
- Ensure requests are resolved as directories: #8742
Credits
Huge thanks to @ijjk and @arcanis for helping!
Patches
- Externalize experimental package: #8731
- Update pull_request workflow: 5c83684b89401535af36188cf02eb8bdd5c8ff12
- Make sure renderOpts is available before checking: #8734
Credits
Huge thanks to @Timer for helping!
Patches
- Improve with-apollo-auth example: #8633
- Fix typo in README.md #8640: #8642
- Add Apollo Server and Client Example App: #8195
- Mention Custom App GIP in UPGRADING: #8647
- Update Create Next App Template: #8648
- [docs]
useRoutercannot be used with classes: #8649 - Remove extra pages: #8651
- Fix yarn workspaces example: #8631
- Adds the PnP plugin by default: #8653
- Revert "Remove extra pages from export test": #8658
- Add intl and Apollo to packages of interest: #8665
- Remove Telemetry Registration: #8664
- Re-enable anonymous telemetry: #8667
- Resolve externals using webpack's context: #8669
- Uses the PnP API when available: #8668
- Better type for AppTree in NextPageContext: #8662
- Update stats-config to be more deterministic: #8679
- Fix relay modern server express example: #8683
- Support non-flag variant of telemetry cmds: #8695
- Add telemetry CLI tests: #8696
- Optimize test setup: #8644
- Test non-flag and re-runs of telemetry cmds: #8697
- Delay updating asPath for auto exported pages: #8681
- Add electron typescript example: #8682
- Fix login popup not working: #8700
- Catch all requests in custom server: #8704
- Lock CircleCi image for now: #8706
- TypeScript report on active pages only: #8703
- Update pages-loader to return one value: #8629
- Nit: sort experimental keys: #8707
- Warn build on duplicate pages: #8646
- Organize webpack configuration imports: #8711
- Add test for duplicate scripts and add extra de-duping: #8709
- [Docs] Prefetch disabled for 2g or SaveData header: #8717
- Refactor api-routes-apollo-server-and-client example: #8673
- Migrate GitHub Action config and remove un-used secret: #8719
- Update actions config: 80ab8dd991b79e6a0f70e505fa0248084738fa77
- Disable telemetry for tests: #8725
- Add missing Link import to routing doc: #8728
Credits
Huge thanks to @HaNdTriX, @ajmhyd, @lifeiscontent, @huv1k, @arcanis, @ijjk, @fwojciec, @dutradda, @jakubkarabula, @technoplato, and @RomainMorlevat for helping!
Patches
- Delete next-env.d.ts in JS implementation example: #8619
- Move next-server back into
nextpackage: #8613 - Fix getInitialProps issue in with-apollo example: #8620
- Update commons glob for granular chunks: #8622
- Update workers for
next export: #8623 - Update Next.js Telemetry Event Shapes: #8628
Credits
Huge thanks to @Baukaalm, @HaNdTriX, @ijjk, and @Timer for helping!
Patches
- Replace worker-farm with jest-worker: #8496
- Fix backslashes in stats causing tests to fail on windows: #8505
- Add missing dependency to next-server: #8507
- Remove _app from with-apollo example: #8504
- Normalize errors to use nextjs.org: #8518
- Update with-react-intl for v3: #8526
- Improve with-apollo example: #8508
- Improve With Firebase Authentication example: #8533
- Update with-zones example: #8459
- Specify loader paths for PnP support: #8531
- Add
modern-presetBabel option: #8521 - Remove link: #8539
- Fix typo in link in example's README: #8545
- Fix with-context-api example: #8559
- Refactor active-class-name example: #8558
- Encode URL paths in HTML and CSR: #8435
- Add err.sh for incompatible href and as: #8561
- Make sure to 404 for /_next/static: #8564
- Fix serverless chunking: #8569
- Fix docs: #8577
- Remove extra default export from readme: #8579
- Update performance marking: #8527
- Update styled-jsx: #8583
- Update README.md badge text: #8593
- Fix react-native-web example FOUC: #8576
- Update README and data-fetch example to use function components.: #8546
- Fix with-slate example: #8566
- Refactor with-loading example: #8560
- Add cookie path property: #8594
- Remove _app.js from with-apollo-auth example: #8556
- This example shows how to use STOMP inside a Next.js application.: #8511
- Use import instead of require in with-apollo example: #8575
- Use URL-friendly chunk names: #8609
- Add data-ampdevmode attribute for AMP scripts: #8524
- Fix production test failing in ie11: #8612
Credits
Huge thanks to @HaNdTriX, @jeanbauer, @borekb, @eps1lon, @developit, @MAPESO, @adamgoth, @Timer, @eshikerya, @ijjk, @huv1k, @housseindjirdeh, @giuseppeg, @nataliemarleny, @raibima, @alieslamifard, @sakulstra, @deini, and @DevSpeak for helping!
Patches
- Add example with forwardRef to readme: #8428
- Update Zones Documentation: #8426
- [with-electron] Upgrade electron & transpile for the installed version: #8399
- Adds basic support for PnP: #8427
- Update with-apollo-auth example: #8416
- Adjust Create Next App install env: #8431
- Adjust experimental warning: #8432
- 🗜 Optimize client-side routing manifest: #8429
- Change FAQ for dynamic routing: #8439
- Remove Flying Shuttle experiment: #8433
- Remove
__NEXT_REPLACE__BUILD_ID__workaround: #8445 - Fix custom page extension in development: #8446
- Add package.json to with-zones example, make create-next-app work: #8453
- Initial optimizeLibraries experimental flag: #8345
- Fix build-manifest not removing _app files for modern: #8447
- Doc: typo fix: #8460
- Remove Duplicate Assignment: #8464
- Fix a broken link in webpack config: #8456
- [with-apollo] Remove prefetch attibutes: #8465
- Update redux example using hooks api: #8410
- Adjust lib chunk naming algorithm and prevent duplicate react-dom: #8450
- Fix bug in hook destructuring optimization when ignoring array elements: #8455
- Add warning when empty object is returned from getInitialProps: #8474
- Add deprecation warning for App Container: #8475
- Debug TypeScript test suite: #8476
- Fix duplicate spaces in readme: #8484
- Check for TypeScript files for auto setup: #8479
- Fix invalid href with-tailwindcss example: #8488
- Remove prefetch attributes from examples: #8481
- Tweaks and test for library chunks fixes: #8482
- Remove front from examples: 5396ab473a5aa13fa7f15487d3a521bcb23b80cc
- Update
./static/folder documentation: #8477 - Refactor data-fetch example: #8490
- Update prerender-manifest structure: #8497
- Remove extension from err.sh link: #8500
- Add config for diffing fetched pages: #8492
- Add version property to Next.js instance: #8499
Credits
Huge thanks to @ijjk, @paulogdm, @merceyz, @arcanis, @tabomors, @huv1k, @borekb, @developit, @housseindjirdeh, @revolunet, @HaNdTriX, @ranyitz, @Naturalclar, @atcastle, @raon0211, @justjavac, @Timer, and @lfades for helping!
Patches
- Remove extension from err.sh link: #8500
- Add config for diffing fetched pages: #8492
- Add version property to Next.js instance: #8499
Credits
Huge thanks to @ijjk and @housseindjirdeh for helping!
Patches
- Add warning when empty object is returned from getInitialProps: #8474
- Add deprecation warning for App Container: #8475
- Debug TypeScript test suite: #8476
- Fix duplicate spaces in readme: #8484
- Check for TypeScript files for auto setup: #8479
- Fix invalid href with-tailwindcss example: #8488
- Remove prefetch attributes from examples: #8481
- Tweaks and test for library chunks fixes: #8482
- Remove front from examples: 5396ab473a5aa13fa7f15487d3a521bcb23b80cc
- Update
./static/folder documentation: #8477 - Refactor data-fetch example: #8490
- Update prerender-manifest structure: #8497
Credits
Huge thanks to @justjavac, @Timer, @HaNdTriX, @atcastle, and @lfades for helping!
Patches
- Doc: typo fix: #8460
- Remove Duplicate Assignment: #8464
- Fix a broken link in webpack config: #8456
- [with-apollo] Remove prefetch attibutes: #8465
- Update redux example using hooks api: #8410
- Adjust lib chunk naming algorithm and prevent duplicate react-dom: #8450
- Fix bug in hook destructuring optimization when ignoring array elements: #8455
Credits
Huge thanks to @revolunet, @HaNdTriX, @ranyitz, @Naturalclar, @atcastle, and @raon0211 for helping!
Patches
- Add example with forwardRef to readme: #8428
- Update Zones Documentation: #8426
- Add myself as CODEOWNER: 2ddf05a55bc1e653b1b0c3e1cf3e6c4290f136b3
- Add a fallback CODEOWNER: a271ab363314d7fff340da7d72c5e71783540675
- [with-electron] Upgrade electron & transpile for the installed version: #8399
- Adds basic support for PnP: #8427
- Update with-apollo-auth example: #8416
- Adjust Create Next App install env: #8431
- Adjust experimental warning: #8432
- 🗜 Optimize client-side routing manifest: #8429
- Change FAQ for dynamic routing: #8439
- Remove Flying Shuttle experiment: #8433
- Remove
__NEXT_REPLACE__BUILD_ID__workaround: #8445 - Fix custom page extension in development: #8446
- Add package.json to with-zones example, make create-next-app work: #8453
- Initial optimizeLibraries experimental flag: #8345
- Fix build-manifest not removing _app files for modern: #8447
Credits
Huge thanks to @ijjk, @paulogdm, @merceyz, @arcanis, @tabomors, @huv1k, @borekb, and @developit for helping!
Minor Changes
- Experimental: Serverless Trace target: #8246
- Experimental: Implement
experimentalPrerenderoption: #7983 - Experimental: Granular build chunking: #7696
Patches
- Golf page-loader: #8190
- Don't require test job for deploying: #8194
- Revert "Don't require test job for deploying": #8199
- Update TypeScript Instructions: #8200
- Add some notes about Now deployment: #8205
- Contributing guide rename initialprops: #8203
- Add test for dynamic routing/webpack HMR bug: #8061
- Remove useless code block in docs: 6468b6c9bf929bb2bd8177b491d642ebfc7e5f03
- Remove Old Prerender Implementation: #8218
- FIX- #8059 - Update relay version in examples to latest one: #8227
- Add Create Next App instructions: #8224
- Make Azure CI (sometimes) work: #8230
- Update README.md: 48e1d14d3054dfcae7f7f8a175561a2e2c2e4155
- [Enhancement]: Update README buttons: #8235
- Update to check browserName instead of browser.log: #8234
- [WIP] Add temp secret for PR Stats Action: #8248
- Add warning for API export: #8250
- Define generic for _app state: #8256
- Compression documentation: #8247
- Remove propertyFields from the client router: #8219
- Swallow test process kill errors on win32: #8260
- Add warning for invalid href being passed to router: #8231
- Migrate amp-toolbox-optimizer to @ampproject/toolbox-optimizer: #8275
- Handle backslashes in exportedFiles: #8277
- Update README.md: #8282
- Bugfix: Babel targets value can be a String: #8268
- Update handling of ref in next/link: #8254
- Simplify mobx example: #8269
- Remove cache clearing from static-checker: #8290
- Run migration script for GitHub Actions: #8305
- Revert "Run migration script for GitHub Actions " (#8307): #8305
- Adds user timing marks and measures for hydration/render: #8069
- Document poweredByHeader option: da494dbb807d8fa1fdf0a9fd5f0e19a7e34f9e0c
- Add info about removing @zeit/next-typescript on .babelrc: #8321
- Remove 405 from render method: #8323
- Fix layout example building: #8326
- Deprecate Container usage: #8327
- Only add flying-shuttle code when enabled: #8330
- Update custom app example in README: #8320
- Add config/test app for new PR stats set-up: #8317
- Show warning if next export detects an API route: #8257
- Remove extra variable: #8329
- Followup optimizations for new experimentalPrerender: #8287
- Prevent false positive experimental warning: #8284
- Add warning for missing <Head>: #8276
- Escape output names for modern bundles to prevent replacing: #8232
- Remove accidental support for invalid JavaScript: #8077
- Fix: Warn when user specifies prefetch option as
true: #8233 - Fix TypeScript setup with empty file: #8332
- Update to use dynamic port for stats-app: #8336
- Detect @types/ package for compiled packages: #8340
- 🐛 Support multiple Next.js versions in one file: #8339
- Add test for AMP errors during auto prerendering: #8335
- Minify ncc'd packages for download speed: #8341
- Use 'initial' setting for SplitChunksPlugin: #8293
- Add warning for disabled minification during build: #8337
- Also provide AppTree in NextPageContext: #8223
- Fixes nav start argument in user timing check: #8348
- Add missing dependency "compression" to next-server: #8344
- Add note explaining empty query during prerendering: #8351
- Remove experimental async-to-promises code: #8353
- Fix AppTree type not allowing extra props: #8352
- Add a note for multiple dynamic route segments: #8359
- Fix chunking tests failing from timeout being too low: #8360
- Define
typeof windowfor application code only: #8355 - Add tests for typeof window replacing: #8361
- Updated links from #useRouter to #userouter: #8362
- Create a unique instance of transform-define: #8371
- Use
data-next-pageinstead ofid=__NEXT_PAGE__: #8380 - Fix(examples): correct the path in with-electron: #8370
- Update with-apollo example with hooks: #8363
- Change componentWillMount to UNSAFE: #8357
- [Expo] Updated React Native example: #8376
- Reverting clear measure: #8373
- Don't look up for TS files in dev: #8374
- Feature: Add transparent JSX optimization: #8350
- Hook destructuring optimization: #8381
- Update README.md: #8392
- Remove extra DOM method call: #8394
- Update to replace asPath for static pages in dev mode: #8388
- Updated with-redux-thunk example using useSelector and useDispatch: #8396
- Fixed the docs. The real option is compress, not compression: #8409
- Typo in class name in with-react-esi example: #8414
- Add custom profiler / tracer: #8378
- Next/bin/next - fix typo in help text: #8419
- Fix a typo in with-reasonml-todo example: #8420
- Update Link for create-next-app: #8423
- Upgrade
senddep: #8424 - Fix conflict between defaultPathMap and default 404.html export: #8366
- Fix dynamic APIs with query params: #8386
Credits
Huge thanks to @ijjk, @jordan-jarolim, @rajasekarm, @lfades, @nataliemarleny, @huv1k, @atcastle, @sebastianbenz, @delbaoliveira, @developit , @housseindjirdeh, @diagramatics, @timneutkens, @borekb, @adam187, @devknoll, @elliottsj, @yuyokk, @williamli , @Timer, @merceyz, @rafaelalmeidatk, @EvanBacon, @prateekbh, @bgrayburn , @matamatak, @knight-of-zero, @pogkat , @ondrejsika, @none23, @msweeneydev, @undirectlookable, and @Deadleg for helping!
Patches
- Next/bin/next - fix typo in help text: #8419
- Fix a typo in with-reasonml-todo example: #8420
- Update Link for create-next-app: #8423
- Upgrade
senddep: #8424 - Fix conflict between defaultPathMap and default 404.html export: #8366
- Fix dynamic APIs with query params: #8386
Credits
Huge thanks to @ondrejsika, @none23, @msweeneydev, @Timer, @undirectlookable, and @Deadleg for helping!
Patches
- Updated with-redux-thunk example using useSelector and useDispatch: #8396
- Fixed the docs. The real option is compress, not compression: #8409
- Typo in class name in with-react-esi example: #8414
- Add custom profiler / tracer: #8378
Credits
Huge thanks to @matamatak, @knight-of-zero, @pogkat, and @timneutkens for helping!
Patches
- Use
data-next-pageinstead ofid=__NEXT_PAGE__: #8380 - Fix(examples): correct the path in with-electron: #8370
- Update with-apollo example with hooks: #8363
- Change componentWillMount to UNSAFE: #8357
- [Expo] Updated React Native example: #8376
- Reverting clear measure: #8373
- Don't look up for TS files in dev: #8374
- Feature: Add transparent JSX optimization: #8350
- Hook destructuring optimization: #8381
- Update README.md: #8392
- Remove extra DOM method call: #8394
- Update to replace asPath for static pages in dev mode: #8388
Credits
Huge thanks to @Timer, @merceyz, @rafaelalmeidatk, @huv1k, @EvanBacon, @prateekbh, @lfades, @developit, and @bgrayburn for helping!
Patches
- Create a unique instance of transform-define: #8371
Patches
- Only add flying-shuttle code when enabled: #8330
- Update custom app example in README: #8320
- Add config/test app for new PR stats set-up: #8317
- Show warning if next export detects an API route: #8257
- Remove extra variable: #8329
- Followup optimizations for new experimentalPrerender: #8287
- Prevent false positive experimental warning: #8284
- Add warning for missing <Head>: #8276
- Escape output names for modern bundles to prevent replacing: #8232
- Remove accidental support for invalid JavaScript: #8077
- Fix: Warn when user specifies prefetch option as
true: #8233 - Fix TypeScript setup with empty file: #8332
- Update to use dynamic port for stats-app: #8336
- Detect @types/ package for compiled packages: #8340
- 🐛 Support multiple Next.js versions in one file: #8339
- Add test for AMP errors during auto prerendering: #8335
- Minify ncc'd packages for download speed: #8341
- Use 'initial' setting for SplitChunksPlugin: #8293
- Add warning for disabled minification during build: #8337
- Also provide AppTree in NextPageContext: #8223
- Fixes nav start argument in user timing check: #8348
- Add missing dependency "compression" to next-server: #8344
- Add note explaining empty query during prerendering: #8351
- Remove experimental async-to-promises code: #8353
- Fix AppTree type not allowing extra props: #8352
- Add a note for multiple dynamic route segments: #8359
- Fix chunking tests failing from timeout being too low: #8360
- Define
typeof windowfor application code only: #8355 - Add tests for typeof window replacing: #8361
- Updated links from #useRouter to #userouter: #8362
Credits
Huge thanks to @timneutkens, @borekb, @ijjk, @lfades, @adam187, @devknoll, @nataliemarleny, @atcastle, @huv1k, @housseindjirdeh, @elliottsj, @yuyokk, and @williamli for helping!
Patches
- Simplify mobx example: #8269
- Remove cache clearing from static-checker: #8290
- Run migration script for GitHub Actions: #8305
- Revert "Run migration script for GitHub Actions " (#8307): #8305
- Adds user timing marks and measures for hydration/render: #8069
- Document poweredByHeader option: da494dbb807d8fa1fdf0a9fd5f0e19a7e34f9e0c
- Add info about removing @zeit/next-typescript on .babelrc: #8321
- Remove 405 from render method: #8323
- Fix layout example building: #8326
- Deprecate Container usage: #8327
Credits
Huge thanks to @Rokt33r, @ijjk, @housseindjirdeh, @diagramatics, and @huv1k for helping!
Minor Changes
- Implement
experimentalPrerenderoption: #7983 - Experimental: Granular build chunking: #7696
Patches
- Define generic for _app state: #8256
- Compression documentation: #8247
- Remove propertyFields from the client router: #8219
- Swallow test process kill errors on win32: #8260
- Add warning for invalid href being passed to router: #8231
- Migrate amp-toolbox-optimizer to @ampproject/toolbox-optimizer: #8275
- Handle backslashes in exportedFiles: #8277
- Update README.md: #8282
- Bugfix: Babel targets value can be a String: #8268
- Update handling of ref in next/link: #8254
Credits
Huge thanks to @ijjk, @atcastle, @lfades, @huv1k, @sebastianbenz, @delbaoliveira, and @developit for helping!
Minor Changes
- Experimental: Serverless Trace target: #8246
Patches
- Golf page-loader: #8190
- Don't require test job for deploying: #8194
- Revert "Don't require test job for deploying": #8199
- Update TypeScript Instructions: #8200
- Add some notes about Now deployment: #8205
- Contributing guide rename initialprops: #8203
- Add test for dynamic routing/webpack HMR bug: #8061
- Remove useless code block in docs: 6468b6c9bf929bb2bd8177b491d642ebfc7e5f03
- Remove Old Prerender Implementation: #8218
- FIX- #8059 - Update relay version in examples to latest one: #8227
- Add Create Next App instructions: #8224
- Make Azure CI (sometimes) work: #8230
- Update README.md: 48e1d14d3054dfcae7f7f8a175561a2e2c2e4155
- [Enhancement]: Update README buttons: #8235
- Update to check browserName instead of browser.log: #8234
- [WIP] Add temp secret for PR Stats Action: #8248
- Add warning for API export: #8250
Credits
Huge thanks to @ijjk, @jordan-jarolim, @rajasekarm, @lfades, @nataliemarleny, and @huv1k for helping!
Minor Changes
- Experimental module/nomodule support: #7704
Patches
- Modern JS for SSR Bundles: #7961
- Add .gitignore: #7893
- Import isomorphic-unfetch in data fetching example: #7895
- Make tests for both async and sync GIP: #7999
- Rework dynamic routing <Link> documentation: #8001
- Avoid sending user errors to client: #8005
- Replace fs.exists with fs.access: #7742
- Fix children key in with-typescript-styled-components example: #8003
- Handle windows backslashes when checking ssr-prepass: #8016
- Add Create Next App package: #8018
- Reference correct repository: 7f5f9818009c8cd90e1e5bd17d5517b45558dc5d
- Remove old media images: d486152b98b481afd2d6e6e013e8a0cefda93350
- Update CNA links to examples: bcd8eb6b784cc167507c8768c55fd8ea3735fee7
- Fix CNA README typo: 8fb32de0ab7399ace08d4832173942c1452e4241
- Fix syntax error in ie11 from next-server/amp: #8032
- Rewrite Create Next App: #8030
- Comment out GIP in Custom <App>: #8055
- Remove public/ file example: #8056
- Remove
now.jsonfrom examples: #8057 - Fix userAgent type error in README.md: #8048
- Apply missing formatting: #8079
- Updated "firebase-admin" module and added "firebase-functions-t…: #8078
- Enable Kodiak bot: #8096
- Disable notify on conflict: 427a02a468ca6c8b101ab3229742f2c1ab1ced69
- Improve types: #8097
- Allow automatic static optimization in with-sentry-simple examp…: #8102
- Require label to merge for now: d006a24d8f9d70ad92f59c41a42b2ecb7c46cbf6
- Revert "Improve type definitions": #8098
- HTTP methods docs and REST example: #8108
- Configuration for body parsing size limit: #7896
- Add next-head-count & remove next-head class: #8020
- Fix extension for module/nomodule: 8b0a93b0edf06d46da4839d5be426133810c8bad
- Dynamic routes clarification: #8110
- Fix index.js for API routes: #8112
- Fix onError prop-type warning in Link: #8021
- Auth example with api routes: #8118
- Fixes problem with API and wrong regex: #8126
- Update example with firebase auth: #8127
- Improve type definitions: #8117
- Docs: Fix comments in with-sentry example (server.js): #8125
- Add missing key prop for array elements in _document: #8132
- Update README.md for with-http2 example: #8131
- Fix spelling in tsconfig.js of readme.md: #8138
- Remove next.config.js: #8139
- Upgrade with-mdx example from mdx 0.16 → 1.1: #8142
- Remove kodiak: 482f454c7afc6a2d5a94c1a78ea0917e0fa80dc8
- Fix regex to not match any string with double underscore: #8153
- Improve docs for API: #8155
- Add 2 AWS Amplify SSR examples one with JS and one with TS: #8073
- Update webpack to 4.38.0: #8147
- Docs: Document change concerning api-routes: #8121
- Update missed lockfile: 25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00
- Refactor(webpack): extract splitChunksConfig: #8161
- Include
schedulerin React bundle: #8164 - Optional Server Compression: #8066
- Fix build only server-side
/api/index.js: #8167 - Fix a typo in README: #8177
- Provide AppTree to getInitialProps for getDataFromTree: #7732
- Test environment code should target Node: #8181
- Fix: Add error message for duplicate route param name: #8047
Credits
Huge thanks to @rakannimer, @adamwathan, @huv1k, @lfades, @imdreamrunner, @dmytro-lymarenko, @ijjk, @developit, @janicklas-ralph, @ikeryo1182, @chaitanyareddyk, @adam187, @HaNdTriX, @devknoll, @sgmonda, @oliviertassinari, @0x80, @bapjiws, @oguzzkilic, @partyKyoung, @lachlanjc, @tomasikp, @felixmosh, @eps1lon, @Timer, @OttlikG, and @nataliemarleny for helping!
Patches
- Include
schedulerin React bundle: #8164 - Optional Server Compression: #8066
- Fix build only server-side
/api/index.js: #8167 - Fix a typo in README: #8177
- Provide AppTree to getInitialProps for getDataFromTree: #7732
- Test environment code should target Node: #8181
- Fix: Add error message for duplicate route param name: #8047
Credits
Huge thanks to @Timer, @developit, @huv1k, @OttlikG, and @nataliemarleny for helping!
Minor Changes
- Allow manually setting amphtml and canonical links: #8129
Patches
- Fix spelling in tsconfig.js of readme.md: #8138
- Remove next.config.js: #8139
- Upgrade with-mdx example from mdx 0.16 → 1.1: #8142
- Remove kodiak: 482f454c7afc6a2d5a94c1a78ea0917e0fa80dc8
- Fix regex to not match any string with double underscore: #8153
- Improve docs for API: #8155
- Add 2 AWS Amplify SSR examples one with JS and one with TS: #8073
- Update webpack to 4.38.0: #8147
- Docs: Document change concerning api-routes: #8121
- Update missed lockfile: 25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00
- Refactor(webpack): extract splitChunksConfig: #8161
Credits
Huge thanks to @partyKyoung, @huv1k, @lachlanjc, @tomasikp, @rakannimer, @felixmosh, @eps1lon, and @Timer for helping!
Patches
- Fix onError prop-type warning in Link: #8021
- Auth example with api routes: #8118
- Fixes problem with API and wrong regex: #8126
- Update example with firebase auth: #8127
- Improve type definitions: #8117
- Docs: Fix comments in with-sentry example (server.js): #8125
- Add missing key prop for array elements in _document: #8132
- Update README.md for with-http2 example: #8131
Credits
Huge thanks to @oliviertassinari, @lfades, @huv1k, @0x80, @adam187, @bapjiws, @ijjk, and @oguzzkilic for helping!
Minor Changes
- Modern JS for SSR Bundles: #7961
- Experimental module/nomodule support: #7704
Patches
- Comment out GIP in Custom <App>: #8055
- Remove public/ file example: #8056
- Remove
now.jsonfrom examples: #8057 - Fix userAgent type error in README.md: #8048
- Apply missing formatting: #8079
- Updated "firebase-admin" module and added "firebase-functions-t…: #8078
- Enable Kodiak bot: #8096
- Disable notify on conflict: 427a02a468ca6c8b101ab3229742f2c1ab1ced69
- Improve types: #8097
- Allow automatic static optimization in with-sentry-simple examp…: #8102
- Require label to merge for now: d006a24d8f9d70ad92f59c41a42b2ecb7c46cbf6
- Revert "Improve type definitions": #8098
- HTTP methods docs and REST example: #8108
- Configuration for body parsing size limit: #7896
- Add next-head-count & remove next-head class: #8020
- Fix extension for module/nomodule: 8b0a93b0edf06d46da4839d5be426133810c8bad
- Dynamic routes clarification: #8110
- Fix index.js for API routes: #8112
Credits
Huge thanks to @developit, @janicklas-ralph, @ikeryo1182, @chaitanyareddyk, @adam187, @HaNdTriX, @huv1k, @devknoll, and @sgmonda for helping!
Patches
- Fix syntax error in ie11 from next-server/amp: #8032
- Rewrite Create Next App: #8030
Credits
Huge thanks to @ijjk for helping!
Patches
- Reference correct repository: 7f5f9818009c8cd90e1e5bd17d5517b45558dc5d
- Remove old media images: d486152b98b481afd2d6e6e013e8a0cefda93350
- Update CNA links to examples: bcd8eb6b784cc167507c8768c55fd8ea3735fee7
- Fix CNA README typo: 8fb32de0ab7399ace08d4832173942c1452e4241
Patches
- Add .gitignore: #7893
- Import isomorphic-unfetch in data fetching example: #7895
- Make tests for both async and sync GIP: #7999
- Rework dynamic routing <Link> documentation: #8001
- Avoid sending user errors to client: #8005
- Replace fs.exists with fs.access: #7742
- Fix children key in with-typescript-styled-components example: #8003
- Handle windows backslashes when checking ssr-prepass: #8016
- Add Create Next App package: #8018
Credits
Huge thanks to @rakannimer, @adamwathan, @huv1k, @lfades, @imdreamrunner, @dmytro-lymarenko, and @ijjk for helping!
Patches
- Remove duplicated client code: #7907
- Update docs for AMP export behavior: #7940
- Prevent blocking while hidden: #7930
- Added example for rbx and bulma-pro: #7728
- Checks if object is not empty instead of whether the reference (object) is truthy: #7911
- Replace windows backslashes with forward: #7942
- Update link ref handling to clean up previous listeners: #7943
- [Enhancement]: Refactor circleCI config: #7963
- Check if dynamicOptions has the deprecated
methodproperty,: #7973 - Don't externalize ssr-prepass if added by user: #7966
- Fix example with-firebase-hosting-and-typescript: #7971
- Fix: Ensure ergonomic handling of non-page in
./pages/: #7955 - Example for API routes with middleware: #7958
- Add empty publicRuntimeConfig to serverless tests: #7948
- Add handling for invalid page config: #7921
- Fix client-side hydration with dynamic routes: #7986
- Fix GIP type in
/_errorpage: #7952 - Only copy
public/directory if enabled: #7988 - Add default value for pageConfig for custom _error: #7984
- Fix build for API routes conflict pages: #7992
- Add warning for experimental config usage: #7985
- Add support for 412 Precondition Failed status for static files: #7944
- Feat(web): Passing actual status code instead 200: #7735
- Correct info about export limitations: #7729
- Add babel option to use styled-jsx/babel-test in the preset: #7747
- Don’t add loadable if it’s not used: #7995
Credits
Huge thanks to @sudkumar, @mvllow, @Restoration, @adam187, @eperedo, @jtomaszewski, @scythargon, @4cm4k1, @ijjk, @nataliemarleny, @felixmosh, @yukin01, and @huv1k for helping!
Patches
- Fix build for API routes conflict pages: #7992
- Add warning for experimental config usage: #7985
- Add support for 412 Precondition Failed status for static files: #7944
- Feat(web): Passing actual status code instead 200: #7735
- Correct info about export limitations: #7729
- Add babel option to use styled-jsx/babel-test in the preset: #7747
- Don’t add loadable if it’s not used: #7995
Credits
Huge thanks to @huv1k, @ijjk, @adam187, @eperedo, @jtomaszewski, @scythargon, and @timneutkens for helping!
Patches
- Remove duplicated client code: #7907
- Update docs for AMP export behavior: #7940
- Prevent blocking while hidden: #7930
- Added example for rbx and bulma-pro: #7728
- Checks if object is not empty instead of whether the reference (object) is truthy: #7911
- Replace windows backslashes with forward: #7942
- Update link ref handling to clean up previous listeners: #7943
- [Enhancement]: Refactor circleCI config: #7963
- Check if dynamicOptions has the deprecated
methodproperty,: #7973 - Don't externalize ssr-prepass if added by user: #7966
- Fix example with-firebase-hosting-and-typescript: #7971
- Fix: Ensure ergonomic handling of non-page in
./pages/: #7955 - Example for API routes with middleware: #7958
- Add empty publicRuntimeConfig to serverless tests: #7948
- Add handling for invalid page config: #7921
- Fix client-side hydration with dynamic routes: #7986
- Fix GIP type in
/_errorpage: #7952 - Only copy
public/directory if enabled: #7988 - Add default value for pageConfig for custom _error: #7984
Credits
Huge thanks to @sudkumar, @mvllow, @Restoration, @4cm4k1, @ijjk, @nataliemarleny, @felixmosh, @yukin01, and @huv1k for helping!
Patches
- Copy invalid-resolve-alias as it is being linked in the codebase: bb2ae41a265df2b2bd8f264fcfc699127d95b49c
- Further clarification that api routes should be inside the page…: #7780
- Note TypeScript migration: #7787
- Update CODEOWNERS: a0bcdd87c0c04d9875ce8aefbae6a257942164ae
- Update remaining CODEOWNERS: a164a70c727bf1fde12fe8a403278df4a1c74ca7
- Remove previous cache logic: #7794
- Set
cancelledproperty on routeChangeError error: #7790 - Upgrade to webpack with latest acorns: #7795
- Example for GraphQL server with API routes: #7804
- Switch all examples to
next@latest: #7806 - Add API tests to serverless: #7774
- Fix package count being zero in some cases: #7812
- Make recursiveReadDir return sorted array: #7658
- Update to always require next/config when setting config: #7822
- Improve NextApiResponse typing: #7841
- Add a test for module.exports from a page: #7842
- Add test for trailing slash on API route: #7851
- Fix terminal links (cmd-click) on VSCode: #7849
- Add UrlObject to router methods: #7859
- Allow React.Fragment for Document styles: #7863
- Title may be omitted: #7865
- Update typescript examples: #7867
- Remove with-styled-components Auto Prerendering warning: #7871
- Add default values for runtime config: #7847
- Add a dev2 command: 70b8bed4ad7f5249feb96cc940625fc35eee4653
- Handle empty directory: #7876
- Test for <Document> fragment
styles: #7875 - Fix placeholder values being added when exporting from serverless: #7883
- Stop PageConfig plugin from running on non-pages: #7884
exportPathMapdynamic routes params fix: #7846- Add declaration files to the contributing guide: #7885
- Add support for legacy server npm modules: #7898
- Improve exported router types: #7853
- Adding a note about babelrc: #7897
- Export types for link props: #7905
Credits
Huge thanks to @delbaoliveira, @ijjk, @huv1k, @admons, @VincentCordobes, @barry4dev, @lfades, @timReynolds, @timneutkens, and @aequasi for helping!
Patches
- Title may be omitted: #7865
- Update typescript examples: #7867
- Remove with-styled-components Auto Prerendering warning: #7871
- Add default values for runtime config: #7847
- Add a dev2 command: 70b8bed4ad7f5249feb96cc940625fc35eee4653
- Handle empty directory: #7876
- Test for <Document> fragment
styles: #7875 - Fix placeholder values being added when exporting from serverless: #7883
- Stop PageConfig plugin from running on non-pages: #7884
exportPathMapdynamic routes params fix: #7846- Add declaration files to the contributing guide: #7885
- Add support for legacy server npm modules: #7898
- Improve exported router types: #7853
- Adding a note about babelrc: #7897
- Export types for link props: #7905
Credits
Huge thanks to @lfades, @timReynolds, @ijjk, @timneutkens, @huv1k, and @aequasi for helping!
Patches
- Fix package count being zero in some cases: #7812
- Make recursiveReadDir return sorted array: #7658
- Update to always require next/config when setting config: #7822
- Improve NextApiResponse typing: #7841
- Add a test for module.exports from a page: #7842
- Add test for trailing slash on API route: #7851
- Fix terminal links (cmd-click) on VSCode: #7849
- Add UrlObject to router methods: #7859
- Allow React.Fragment for Document styles: #7863
Credits
Huge thanks to @ijjk, @admons, @VincentCordobes, and @barry4dev for helping!
Patches
- Link invalid-resolve-alias as it is being linked in the codebase: 18abc98257fce1fe86b46355db8027634f7e7ad0
- Copy invalid-resolve-alias as it is being linked in the codebase: bb2ae41a265df2b2bd8f264fcfc699127d95b49c
- Further clarification that api routes should be inside the page…: #7780
- Note TypeScript migration: #7787
- Update CODEOWNERS: a0bcdd87c0c04d9875ce8aefbae6a257942164ae
- Update remaining CODEOWNERS: a164a70c727bf1fde12fe8a403278df4a1c74ca7
- Remove previous cache logic: #7794
- Set
cancelledproperty on routeChangeError error: #7790 - Upgrade to webpack with latest acorns: #7795
- Example for GraphQL server with API routes: #7804
- Switch all examples to
next@latest: #7806 - Add API tests to serverless: #7774
Credits
Huge thanks to @delbaoliveira, @ijjk, and @huv1k for helping!
Major
- Remove
withAmpand do not exposeisInAmpMode: #7690
Minor
- Add Typescript compilation: #7110
- Add support for /public: #7213
- Add API routes support: #7296
- Make next/dynamic loading component return
nullby default: #7695 - Automatic static optimization: #7666
Patches
- Add declaration files to /dist: #7118
- Updated broken test in Windows: #7124
- Add AMP label to AMP only pages in build tree: #7123
- More Specific Info on Script Loading Error: #7108
- Make next export respect experimental.exportTrailingSlash: #6752
- Add more TypeScript types: #7054
- Rewrote .circleci/config.yml to 2.1 schema: #7103
- Wait for entry to resolve in production build: #7104
- Fix: add repository to next-server package.json: #7105
- Update types for with-router: #7106
- Replace the typescript compiler with @babel/preset-typescript: #7016
- Revert "Detect built ins in externals " (#7107): #7083
- Update removing AMP pages to not require during build: #7081
- Make styles compatible in AMP mode: #7060
- Cache Babel and AutoDll plugin in
dirDir/cache: #7102 - Remove un-needed config from example: #7055
- Update AMP example: #7056
- Update AMP example to AMP-first wording: 549965282045beda0cf0b31823b35a13014a0d6b
- Update dependency to fix with-next-page-transitions example: #7049
- Add test for /dashboard/index: #7065
- With-apollo example: explicitly pass fetch to HttpLink: #7072
- Update fela example: #7051
- Disable Terser loader when debugging: #7079
- Fix broken link: #7087
- Upgrade with-reasonml example to Reason React 0.7 and JSX 3: #7078
- Update the recommendation section in examples/with-reasonml: #7089
- Run optimizer after validating in dirty AMP mode: #7063
- Detect built ins in externals: #7083
- Move react-ssr-prepass import inside of: #7095
- Export 404 even if undefined in exportPathMap: #6912
- Remove dynamic-import-node from the preset: #7096
- Update to share HMR and ondemand SSE connection: #7084
- Upgrade Terser: #6981
- Upgrade amp-optimizer to 0.5.3: #7134
- Add .d.ts for next-server: #7133
- Always use AllModulesIdentifiedPlugin after HashedModuleIdsPlugin: #7138
- TypeScript preset should always be enabled: #7137
- Remove old debugging logs: #7139
- A webpack bug is preventing us from hashing chunks: #7142
- Don't re-use the same page file for error-recovery tests: #7144
- Add --target serverless flag: #7141
- Move generating types to before deploy: #7145
- Replace --target serverless with env var: #7146
- Move type generating: #7147
- Remove list_dist from debugging: #7148
- Remove type defs for non-ts files and fix wrong import for router in _app: #7150
- Add stale-while-revalidate when no getInitialProps: #7149
- Update to render directly to body in AMP mode: #7151
- Add support for .ts / .tsx import without extension: #7152
- Add missing property types for styled-jsx: #7154
- Add types for next/dynamic: #7157
- Add types for next/link: #7160
- Add missing .d.ts for next/dynamic: #7158
- Add warning for @zeit/next-typescript: #7163
- Prefer type over interface: #7164
- Reduce CircleCI Parallelism: #7171
- Run Prettier on webpack configuration: #7172
- Don't resolve ts|tsx for non-TypeScript users: #7173
- Update Prettier configuration: 00e8ba49819274564249cb55950841b3555d5929
- Add types for getInitialProps: #7162
- Make sure to 404 for AMP client bundles in dev mode: #7183
- Update cache-control header when no getInitialProps: #7185
- Improve contributing guide: #7186
- Fix missing webpack buildin: #7187
- Allow _app and _document to be extended with other props: #7184
- Make sure not to require react before NODE_ENV has been set: #7200
- Browserstack optimisations: #7201
- Make sure Cache-Control header is set when no getInitialProps: #7202
- Fix firefox bug with detecting instanceof Promise in dynamic: #7203
- Add theme to styled-components example: #7206
- Fix wrong task name on watch for next/export files: #7204
- Use intersection observer to preload in viewport: #7196
- Create CODE_OF_CONDUCT.md: #7207
- Use modern syntax in Next client code (e.g. async await): #7014
- Clean up code/testing artifacts from #7014: #7211
- Make sure next-head class isn't added to title: #7214
- Add stats to build tree: #7194
- Clear stale files from Next.js' babel-loader cache: #7221
- Fix missing injectCaller: #7223
- Remove unnecessary type from LinkProps: #7233
- Update webpack to 4.30.0: #7238
- Fix default meta tag being added in AMP mode: #7248
- Tweak ReasonML example: #7254
- Fix webpack fetch error: #7253
- Make sure to update asPath on hashOnlyChange to: #7255
- Remove reload and use only location.reload: #7257
- Update to latest version of browserstack-local: #7236
- Fix application output: #7264
- Add docs to public: #7239
- Fix attempting to observe non-DOM refs in Link: #7249
- Add test for invalid ref in Link: #7266
- Renamed IContext to be NextPageContext: #7272
- With apollo auth proxy: #7165
- Fix FOUC issue on with-fela example: #7229
- Add example with babel-plugin-react-css-modules: #7219
- Revert migrating babel-loader into Next.js: #7265
- Remove components from client router: #7281
- Integrate type checking into compilation pipeline: #7278
- Add initial docs for TypeScript: #7169
- Merged with-jest and with-flow examples into a new with-jest-flow example.: #7224
- Removed unusable React importing in _document.tsx and added esModuleInterop:true in tsconfig.json: #7232
- Add automatic TypeScript setup: #7125
- Update styling of TypeScript config: 37ebd61b87536f7b12c5de8ec724849ad494ce68
- Format chunk graph plugin: 92cbe13b3d48a3569119f20481e3324ff4d6ff8c
- Separate shared shuttle modules: #7287
- Update readme to use @next/mdx: #7291
- Re-add prefetch prop type with deprecated: #7292
- Make sure API routes are built in production: #7306
- Fix:5049 Make Count in with-reasonml persist in runtime: #7302
- Demonstrate how to use kea actions in getInitialProps for server side rendering with state transferred to client-side: #7298
- Fix:7271 with-rematch - make sever rendered user list persist: #7308
- Fix POST and PUT on api routes: #7319
- Update the with-graphql-react example.: #7317
- Redesigned page output: #7324
- Fix windows backslashes not being replaced when identifying AMP pages: #7331
- Update with-styletron example, add debug mode and useStyletron: #7290
- Update typescript example to reflects out of box usage: #7235
- Fix error overlay dismiss after fixing build error: #7335
- Remove
allowSyntheticDefaultImportsin favor ofesModuleInterop: #7338 - Anchor TypeScript check to fix invalid detection: #7349
- Updated typescript examples: #7337
- [with-loading] changed non-existent-page link to <a> tag: #7350
- Update 8.Question_about_next.md: #7357
- Show helpful warning when @types/react isn't found: #7345 #7362
- Add
with-sentry-simpleexample.: #7360 - Add retrying to CircleCi and fixes for ncc'ed webpack: #7366
- [custom-server-typescript] remove outdir line from tsconfig.server.json:
- Re-add retrying tests in CircleCi to prevent false failures: #7374
- Fix broken link: #7378
- Remove outdated "extras" section in
with-tailwindcssexample README: #7379 - Reduce the maximum number of shuttles: 931cd3d305b9fd7882d3e66797fac591f16124ea
- Fix string type on router.query: #7387
- [with-typescript] Remove obsolete TypeScript plugin and updated readme: #7368
- Update to latest webpack-bundle-analyzer: #7389
- Document useAmp in readme: #7405
- Add auto static/dynamic: #7293
- Make sure rendering behavior is only changed when autoExport is enabled: #7408
- Upgrade dependencies: #7412
- Revert fs-extra upgrade due to issue in latest version with jest: #7414
- [custom-server-typescript] fixed custom server build issues: #7385
- Types description: #7217
- Don't load from serverless in dev mode: #7416
- Create with-redux-persist example: #7375
- [with-reasonml] Show both internal and shared state managment.: #7312
- New Example: with-reasonml-todo(#7346): 43dcb594c2eb7d9287a5b3669c9f479412514e8e
- Add document middleware: #7209
- Opt out of cache header if _app has custom getInitialProps: #7409
- Refactor server router: #7431
- Fix duplicate dynamic chunks: #7425
- Update Tailwind CSS to v1.0: #7421
- Dynamic routing mark 2: #7432
- Remove deploy to now button from all examples: #7101
- Allow passing of title to default error page: #7381
- Implement UI to show building activity: #6526
- Update styles on build indicator container: #7436
- Fixed typo in README.md: #7438
- Bundle only server code for API routes: #7443
- Improvements to build watcher: #7441
- Enable strict export presence in webpack: #7446
- Add tests for build activity indicator: #7448
- Run lint-fix: c7276bcbefc25f1f5690bc2208a6a765d0e10dc5
- Add amp.canonicalBase option to set absolute URL: #7262
- Do not force
noEmitoption into TypeScript configuration: #7451 - Correctly pass props down in with-lingui example HOC: #7445
- Move syntax formatting to prettier: #7454
- Remove react-ssr-prepass as it’s only needed for experimental feature: #7455
- Disable optional param routing code paths: #7459
- Don't run standard for tsx files in husky to match lint-fix: #7463
- Format missed files: #7464
- Make react-ssr-prepeass external if not enabled: #7466
- Render valid optimized AMP by default: #7465
- Improve contributing doc without yarn link: #7471
- Revise dynamic route generation (mark 3): #7473
- Remove old optional dynamic <Link> test: #7474
- Do not leave Promise unresolved: #7475
- Reuse router logic instead of duping in client: #7476
- Add new stub file for exports: 7f187b46218540cb24cf11997ec7b273084f5250
- Refresh query on mount for exported pages: #7462
- Consolidate import statements: f8e9cbba7bfed6ca6554759fe970071be17d1ffc
- Upgrade to latest typescript: #7477
- Remove .includes from _app for ie compatibility: #7482
- Update ant design examples: #7490
- Allow to describe initial props in the NextPage type: #7491
- Disable <title/> warning when React Helmet is used: #7483
- Fix serverDir resolving for autoExporting: #7504
- Fix create command - react-relay-network-modern: #7502
- Fix serverless dynamic routes: #7505
- API interface extensions: #7363
- Simplify a few parts of the codebase: #7506
- Fix autoExport on windows and add tests: #7514
- Fix auto export in serverless: #7517
- Replace recursive-copy with own implementation: #7263
- Clean up _document documentation: #7523
- Add types for
<Html>and<Head>element: #7524 - Default
targetinloadConfiginstead ofnext build: #7521 - Restore onMouseEnter event: #7531
- With-cookie-auth: don't rely on the Host header: #7435
- Fixes
constantslink in readme: #7534 - TS: don't set page component props to the App's props by default: #7535
- Add Typescript to next-mdx readme: #7540
- Add export const config support and make withAmp a no-op: #7525
- Fix next start in serverless mode with public directory: #7541
- Fix sentence in with-context-api example: #7542
- Create file referencing Next.js types: #7545
- Don't confuse the user with an eagerly created
tsconfig.json: #7546 - Adding TypeScript description to next export: #7547
- Improve TypeScript package install experience: #7548
- Remove invalid meta type: #7549
- Add static page marker to page info: #7552
- Mark whether page is a lambda or static file in build output: #7553
- Tune default Terser configuration: #7554
- Strip queries before matching route on client: #7566
- Added new blog example: #7511
- Add handling for invalid pages during autoExport: #7574
- Improve docs: #7564
- Added nodemon config to watch for .ts and .js files in the server folder: #7592
- Re-require all module information for client-side initializers list: #7571
- Add
next/dynamictest: #7600 - (examples/with-immutable-redux-wrapper) Fix README.md: #7597
- Ensure Node types are installed (for
processtypes): #7603 - Correctly define NODE_ENV and
process.browser: #7604 typeof windowwill always be undefined on the server: #7605typeof windowisobjecton the client: #7606- Add error handling for
_errorpage: #7608 - Exit process after build: #7614
- (example/with-react-relay-network-modern) Fix example: #7590
- Extract isDynamicRoute helper: #7622
- Dynamic Routes: Change impl from $param to [param]: #7623
- Set __next-build-watcher width and height to 0: #7618
- Fixes serverless target in development: #7619
- Update example: with redux reselect recompose: #7624
- Fix typo in with-redux-reselect-recompose example: #7642
- Revert "ncc Webpack build redux ": #7628
_documentmiddleware is experimental: #7647- Compile dependencies for IE11: #7646
- Allow opting out of automatic prefetch for Link: #7532
- Fix TypeScript typings: #7648
- Avoid lambda nomenclature when
target != 'serverless': #7650 - Remove usage of
process.browser: #7651 - Update prefetch check to prevent re-prefetching: #7654
- Unflag Dynamic Routing: #7663
- Fix memory leak from requiring pages: #7659
- Parallelize requiring pages for static check: #7671
- Fix maxConcurrentCalls used instead of maxConcurrentWorkers: #7672
- Updating hapijs package name: #7664
- Asynchronously check for type errors: #7668
- Re-add require cache clearing: #7674
- Update typescript example: #7684
- Clean up AMP logic and naming: #7669
- Dynamic routes for API: #7629
- Helpers update: #7686
- Remove coveralls: #7689
- Expand automatic pre-rendering docs: #7702
- Improve prefetch docs: #7692
- Updated with-now-env example: #7694
- Add updated de-duping logic for next/dynamic: #7705
- Add path to exportPathMap query missing message: #7708
- Fix styled-jsx not rendering when used in node_modules: #7697
- Add back in second line of comment: #7718
- Remove "small" wording from runtime config overhead: #7715
- Upgrade
watchpackto removeeslint-config-prettier: #7716 - Serverless build for API routes: #7649
- Remove Next.js debug mode: #7719
- Do not default TypeScript to
strict: true: #7717 - Add
prerenderPageConfig option: #7699 - Update with-zones example and Multi Zones documentation: #7513
Credits
Huge thanks to @ijjk, @Timer, @andy-ob, @koenpunt, @TxHawks, @mottox2, @scull7, @dav-is, @Ephem, @lfades, @martpie, @thecodechef, @rarkins, @chuck0523, @sebastianbenz, @stovmascript, @nataliemarleny, @nimit95, @Tomekmularczyk, @styfle, @keanulee, @coryshrmn, @sync, @huv1k, @nabiltntn, @aga5tya, @Samciu, @timneutkens, @samw3, @nguyenkhois, @chibicode, @AnsonT, @jaydenseric, @tajo, @resir014, @John-Spraul, @delbaoliveira, @guybedford, @mrispoli24, @leerob, @stvnyung, @tychay, @jrusso1020, @xboy2012, @msheakoski, @msweeneydev, @icco, @rafaelalmeidatk, @keustma, @mcwebb, @Janpot, @d-dmytro, @ku8ar, @olgn, @lucleray, @dunglas, @abusada, @AllenFang, @j0lv3r4, @jsmirandaiii, @popenkomaksim, @HsuTing, @MarchWorks, @khanghoang, @eperedo, @hanagejet, @jchorl, and @johnboy-leeds for helping!
Patches
- [typings] Allow getInitialProps to be sync: #7763
- Fix serverless loader for API routes: #7767
- Experimentalize
public/: #7771 - API routes documentation: #7562
Credits
Huge thanks to @kachkaev and @huv1k for helping!
Patches
- Update to have default pageProps of {} instead of null: #7734
- Improve automatic prerendering warning: #7759
- Remove old docs: #7760
Credits
Huge thanks to @Timer for helping!
Patches
- Expose next function type: #7726
- Http methods update for static files and pages: #7721
- Add deprecation message for next/dynamic modules: #7750
Credits
Huge thanks to @Rokt33r, @huv1k, and @ijjk for helping!
Patches
- Add next-server/types to package.json files: #7740
- Add example route event code: #7745
- Make
exportTrailingSlashstable: #7746 - Clarify params and query merging: #7744
Credits
Huge thanks to @Timer and @huv1k for helping!
Patches
- Bring down bundle size: #7743
Minor Changes
- Add initial static indicator: #7682
Patches
- Dynamic routing documentation: #7602
- Nit: Change Pre-render to Prerender: #7733
- Add router event note: #7736
- [Refactor] Move context providers to AppContainer: #7737
Credits
Huge thanks to @ijjk, @lfades, and @Timer for helping!
Patches
- Add path to exportPathMap query missing message: #7708
- Fix styled-jsx not rendering when used in node_modules: #7697
- Add back in second line of comment: #7718
- Remove "small" wording from runtime config overhead: #7715
- Upgrade
watchpackto removeeslint-config-prettier: #7716 - Serverless build for API routes: #7649
- Remove Next.js debug mode: #7719
- Do not default TypeScript to
strict: true: #7717 - Add
prerenderPageConfig option: #7699 - Update with-zones example and Multi Zones documentation: #7513
Credits
Huge thanks to @jchorl, @johnboy-leeds, @Timer, @huv1k, and @lfades for helping!
Major Changes
- Remove
withAmpand do not exposeisInAmpMode: #7690
Patches
- Updated with-now-env example: #7694
- Add updated de-duping logic for next/dynamic: #7705
Credits
Huge thanks to @Timer and @lfades for helping!
Major Changes
- Make DefaultLoading return
null: #7695 - Refactor: default dynamic loading component to null: #7543
- Unflag Automatic Prerendering: #7666
Patches
- Update typescript example: #7684
- Clean up AMP logic and naming: #7669
- Dynamic routes for API: #7629
- Helpers update: #7686
- Remove coveralls: #7689
- Expand automatic pre-rendering docs: #7702
- Improve prefetch docs: #7692
Credits
Huge thanks to @ijjk, @hanagejet, @huv1k, and @lfades for helping!
Patches
- Updating hapijs package name: #7664
- Asynchronously check for type errors: #7668
- Re-add require cache clearing: #7674
Credits
Huge thanks to @eperedo and @Timer for helping!
Patches
- Fix maxConcurrentCalls used instead of maxConcurrentWorkers: #7672
Patches
- Parallelize requiring pages for static check: #7671
Patches
- Unflag Dynamic Routing: #7663
- Fix memory leak from requiring pages: #7659
Credits
Huge thanks to @Timer for helping!
Patches
- Fix missing .test(path) in webpack-config: #7655
Patches
- Update example: with redux reselect recompose: #7624
- Fix typo in with-redux-reselect-recompose example: #7642
- Revert "ncc Webpack build redux ": #7628
_documentmiddleware is experimental: #7647- Compile dependencies for IE11: #7646
- Allow opting out of automatic prefetch for Link: #7532
- Fix TypeScript typings: #7648
- Avoid lambda nomenclature when
target != 'serverless': #7650 - Remove usage of
process.browser: #7651 - Update prefetch check to prevent re-prefetching: #7654
Credits
Huge thanks to @lfades, @khanghoang, @guybedford, @Timer, and @ku8ar for helping!
Patches
- (example/with-react-relay-network-modern) Fix example: #7590
- Extract isDynamicRoute helper: #7622
- Dynamic Routes: Change impl from $param to [param]: #7623
- Set __next-build-watcher width and height to 0: #7618
- Fixes serverless target in development: #7619
- Ncc Webpack build redux: #7628
Credits
Huge thanks to @HsuTing, @Timer, @MarchWorks, @huv1k, and @guybedford for helping!
Patches
- (examples/with-immutable-redux-wrapper) Fix README.md: #7597
- Ensure Node types are installed (for
processtypes): #7603 - Correctly define NODE_ENV and
process.browser: #7604 typeof windowwill always be undefined on the server: #7605typeof windowisobjecton the client: #7606- Add error handling for
_errorpage: #7608 - Exit process after build: #7614
Credits
Huge thanks to @popenkomaksim and @ijjk for helping!
Patches
- Add handling for invalid pages during autoExport: #7574
- Improve docs: #7564
- Added nodemon config to watch for .ts and .js files in the server folder: #7592
- Re-require all module information for client-side initializers list: #7571
- Add
next/dynamictest: #7600
Credits
Huge thanks to @lfades, @jsmirandaiii, and @Timer for helping!
Patches
- Strip queries before matching route on client: #7566
- Added new blog example: #7511
Credits
Huge thanks to @j0lv3r4 for helping!
Patches
- Remove invalid meta type: #7549
- Add static page marker to page info: #7552
- Mark whether page is a lambda or static file in build output: #7553
- Tune default Terser configuration: #7554
Patches
- Fix sentence in with-context-api example: #7542
- Create file referencing Next.js types: #7545
- Don't confuse the user with an eagerly created
tsconfig.json: #7546 - Adding TypeScript description to next export: #7547
- Improve TypeScript package install experience: #7548
Credits
Huge thanks to @AllenFang and @huv1k for helping!
Patches
- Add export const config support and make withAmp a no-op: #7525
- Fix next start in serverless mode with public directory: #7541
Patches
- Default
targetinloadConfiginstead ofnext build: #7521 - Restore onMouseEnter event: #7531
- With-cookie-auth: don't rely on the Host header: #7435
- Fixes
constantslink in readme: #7534 - TS: don't set page component props to the App's props by default: #7535
- Add Typescript to next-mdx readme: #7540
Credits
Huge thanks to @Timer, @ku8ar, @dunglas, @abusada, @d-dmytro, and @lfades for helping!
Patches
- Replace recursive-copy with own implementation: #7263
- Clean up _document documentation: #7523
- Adjust Flying Shuttle message: #7522
- Add types for
<Html>and<Head>element: #7524
Credits
Huge thanks to @lucleray and @Timer for helping!
Patches
- Fix auto export in serverless: #7517
Patches
- Fix create command - react-relay-network-modern: #7502
- Fix serverless dynamic routes: #7505
- API interface extensions: #7363
- Simplify a few parts of the codebase: #7506
- Fix autoExport on windows and add tests: #7514
Credits
Huge thanks to @olgn, @huv1k, and @timneutkens for helping!
Patches
- Update ant design examples: #7490
- Allow to describe initial props in the NextPage type: #7491
- Disable <title/> warning when React Helmet is used: #7483
- Fix serverDir resolving for autoExporting: #7504
Credits
Huge thanks to @d-dmytro and @ku8ar for helping!
Patches
- Consolidate import statements: f8e9cbba7bfed6ca6554759fe970071be17d1ffc
- Upgrade to latest typescript: #7477
- Remove .includes from _app for ie compatibility: #7482
- Add identifier for Next.js AMP pages: #7485
Patches
- Refresh query on mount for exported pages: #7462
Patches
- Add tests for build activity indicator: #7448
- Run lint-fix: c7276bcbefc25f1f5690bc2208a6a765d0e10dc5
- Add amp.canonicalBase option to set absolute URL: #7262
- Do not force
noEmitoption into TypeScript configuration: #7451 - Correctly pass props down in with-lingui example HOC: #7445
- Move syntax formatting to prettier: #7454
- Remove react-ssr-prepass as it’s only needed for experimental feature: #7455
- Disable optional param routing code paths: #7459
- Don't run standard for tsx files in husky to match lint-fix: #7463
- Format missed files: #7464
- Make react-ssr-prepeass external if not enabled: #7466
- Render valid optimized AMP by default: #7465
- Improve contributing doc without yarn link: #7471
- Revise dynamic route generation (mark 3): #7473
- Remove old optional dynamic <Link> test: #7474
- Do not leave Promise unresolved: #7475
- Reuse router logic instead of duping in client: #7476
- Add new stub file for exports: 7f187b46218540cb24cf11997ec7b273084f5250
Credits
Huge thanks to @Timer, @mcwebb, @timneutkens, and @Janpot for helping!
Patches
- Fixed typo in README.md: #7438
- Bundle only server code for API routes: #7443
- Improvements to build watcher: #7441
- Enable strict export presence in webpack: #7446
Credits
Huge thanks to @keustma, @huv1k, @rafaelalmeidatk, and @Timer for helping!
Patches
- Update styles on build indicator container: #7436
Patches
- Create with-redux-persist example: #7375
- [with-reasonml] Show both internal and shared state managment.: #7312
- New Example: with-reasonml-todo(#7346): 43dcb594c2eb7d9287a5b3669c9f479412514e8e
- Add document middleware: #7209
- Opt out of cache header if _app has custom getInitialProps: #7409
- Refactor server router: #7431
- Fix duplicate dynamic chunks: #7425
- Update Tailwind CSS to v1.0: #7421
- Dynamic routing mark 2: #7432
- Remove deploy to now button from all examples: #7101
- Allow passing of title to default error page: #7381
- Implement UI to show building activity: #6526
Credits
Huge thanks to @jrusso1020, @scull7, @Timer, @xboy2012, @msheakoski, @msweeneydev, @icco, and @rafaelalmeidatk for helping!
Patches
- Revert fs-extra upgrade due to issue in latest version with jest: #7414
- [custom-server-typescript] fixed custom server build issues: #7385
- Types description: #7217
- Don't load from serverless in dev mode: #7416
Credits
Huge thanks to @resir014 and @huv1k for helping!
Patches
- Make sure rendering behavior is only changed when autoExport is enabled: #7408
- Upgrade dependencies: #7412
Credits
Huge thanks to @ijjk for helping!
Patches
- Fix string type on router.query: #7387
- [with-typescript] Remove obsolete TypeScript plugin and updated readme: #7368
- Update to latest webpack-bundle-analyzer: #7389
- Document useAmp in readme: #7405
- Add auto static/dynamic: #7293
Credits
Huge thanks to @ijjk, @resir014, and @tychay for helping!
Patches
- Re-add retrying tests in CircleCi to prevent false failures: #7374
- Fix broken link: #7378
- Remove outdated "extras" section in
with-tailwindcssexample README: #7379 - Reduce the maximum number of shuttles: 931cd3d305b9fd7882d3e66797fac591f16124ea
Credits
Huge thanks to @ijjk, @mottox2, and @stvnyung for helping!
Patches
- Disable babel-loader cache in flying shuttle mode: #7365
Patches
- Revert ncc webpack: #7370
Patches
- [custom-server-typescript] remove outdir line from tsconfig.server.json: #7362
- Add
with-sentry-simpleexample.: #7360 - Add retrying to CircleCi and fixes for ncc'ed webpack: #7366
Credits
Huge thanks to @mrispoli24, @leerob, and @ijjk for helping!
Patches
- Anchor TypeScript check to fix invalid detection: #7349
- Updated typescript examples: #7337
- [with-loading] changed non-existent-page link to <a> tag: #7350
- Update 8.Question_about_next.md: #7357
- Show helpful warning when @types/react isn't found: #7345
- Ncc Webpack build: #7301
Credits
Huge thanks to @resir014, @John-Spraul, @delbaoliveira, and @guybedford for helping!
Patches
- Demonstrate how to use kea actions in getInitialProps for server side rendering with state transferred to client-side: #7298
- Fix:7271 with-rematch - make sever rendered user list persist: #7308
- Fix POST and PUT on api routes: #7319
- Update the with-graphql-react example.: #7317
- Redesigned page output: #7324
- Fix windows backslashes not being replaced when identifying AMP pages: #7331
- Update with-styletron example, add debug mode and useStyletron: #7290
- Update typescript example to reflects out of box usage: #7235
- Fix error overlay dismiss after fixing build error: #7335
- Remove
allowSyntheticDefaultImportsin favor ofesModuleInterop: #7338
Credits
Huge thanks to @AnsonT, @nataliemarleny, @huv1k, @jaydenseric, @Timer, @tajo, and @resir014 for helping!
Patches
- Make sure API routes are built in production: #7306
Minor changes
- Experimental API support: #7296
Patches
- Fix:5049 Make Count in with-reasonml persist in runtime: #7302
Credits
Huge thanks to @nataliemarleny and @huv1k for helping!
Patches
- Removed unusable React importing in _document.tsx and added esModuleInterop:true in tsconfig.json: #7232
- Add automatic TypeScript setup: #7125
- Update styling of TypeScript config: 37ebd61b87536f7b12c5de8ec724849ad494ce68
- Format chunk graph plugin: 92cbe13b3d48a3569119f20481e3324ff4d6ff8c
- Separate shared shuttle modules: #7287
- Store multiple flying shuttles: #7289
- Update readme to use @next/mdx: #7291
- Decommission old flying shuttles: #7299
- Re-add prefetch prop type with deprecated: #7292
Credits
Huge thanks to @nguyenkhois, @ijjk, and @chibicode for helping!
Patches
- Update webpack to 4.30.0: #7238
- Fix default meta tag being added in AMP mode: #7248
- Tweak ReasonML example: #7254
- Fix webpack fetch error: #7253
- Make sure to update asPath on hashOnlyChange to: #7255
- Remove reload and use only location.reload: #7257
- Update to latest version of browserstack-local: #7236
- Fix application output: #7264
- Add docs to public: #7239
- Fix attempting to observe non-DOM refs in Link: #7249
- Add test for invalid ref in Link: #7266
- Renamed IContext to be NextPageContext: #7272
- With apollo auth proxy: #7165
- Fix FOUC issue on with-fela example: #7229
- Add example with babel-plugin-react-css-modules: #7219
- Revert migrating babel-loader into Next.js: #7265
- Remove components from client router: #7281
- Integrate type checking into compilation pipeline: #7278
- Add initial docs for TypeScript: #7169
- Merged with-jest and with-flow examples into a new with-jest-flow example.: #7224
Credits
Huge thanks to @coryshrmn, @sync, @huv1k, @Timer, @lfades, @nabiltntn, @aga5tya, @Samciu, @timneutkens, and @samw3 for helping!
Patches
- Add support for /public: #7213
Credits
Huge thanks to @lfades for helping!
Patches
- Remove unnecessary type from LinkProps: #7233
Patches
- Fix missing injectCaller: #7223
Patches
- Clear stale files from Next.js' babel-loader cache: #7221
Credits
Huge thanks to @ijjk for helping!
Patches
- Allow _app and _document to be extended with other props: #7184
- Make sure not to require react before NODE_ENV has been set: #7200
- Browserstack optimisations: #7201
- Make sure Cache-Control header is set when no getInitialProps: #7202
- Fix firefox bug with detecting instanceof Promise in dynamic: #7203
- Add theme to styled-components example: #7206
- Fix wrong task name on watch for next/export files: #7204
- Use intersection observer to preload in viewport: #7196
- Create CODE_OF_CONDUCT.md: #7207
- Use modern syntax in Next client code (e.g. async await): #7014
- Clean up code/testing artifacts from #7014: #7211
- Make sure next-head class isn't added to title: #7214
- Add stats to build tree: #7194
Credits
Huge thanks to @lfades, @nimit95, @Tomekmularczyk, @styfle, and @keanulee for helping!
Patches
- Revert nccing webpack: #7189
Patches
- Improve contributing guide: #7186
- Fix missing webpack buildin: #7187
Credits
Huge thanks to @nataliemarleny for helping!
Patches
- Reduce CircleCI Parallelism: #7171
- Run Prettier on webpack configuration: #7172
- Don't resolve ts|tsx for non-TypeScript users: #7173
- Update Prettier configuration: 00e8ba49819274564249cb55950841b3555d5929
- Use ncc to bundle webpack: #6347
- Add types for getInitialProps: #7162
- Make sure to 404 for AMP client bundles in dev mode: #7183
- Update cache-control header when no getInitialProps: #7185
Credits
Huge thanks to @Timer, @dav-is, and @lfades for helping!
Patches
- Disable Terser Cache When Using Flying Shuttle: #7168
- Purge Terser Cache When Using Flying Shuttle: #7170
Patches
- Add types for next/link: #7160
- Add missing .d.ts for next/dynamic: #7158
- Add warning for @zeit/next-typescript: #7163
- Prefer type over interface: #7164
Credits
Huge thanks to @timneutkens, @lfades, and @ijjk for helping!
Patches
- Add types for next/dynamic: #7157
Patches
- Extra chunks shouldn't deopt Flying Shuttle: #7156
Patches
- Add missing property types for styled-jsx: #7154
Patches
- Add stale-while-revalidate when no getInitialProps: #7149
- Update to render directly to body in AMP mode: #7151
- Add support for .ts / .tsx import without extension: #7152
Credits
Huge thanks to @ijjk for helping!
Patches
- Remove type defs for non-ts files and fix wrong import for router in _app: #7150
Patches
- Remove list_dist from debugging: #7148
Patches
- Remove old debugging logs: #7139
- A webpack bug is preventing us from hashing chunks: #7142
- Don't re-use the same page file for error-recovery tests: #7144
- Add --target serverless flag: #7141
- Move generating types to before deploy: #7145
- Replace --target serverless with env var: #7146
Credits
Huge thanks to @Timer and @ijjk for helping!
Patches
- Upgrade amp-optimizer to 0.5.3: #7134
- Add .d.ts for next-server: #7133
Credits
Huge thanks to @sebastianbenz for helping!
Patches
- Add declaration files to /dist: #7118
- Updated broken test in Windows: #7124
- Add AMP label to AMP only pages in build tree: #7123
- Server file inclusive Flying Shuttle: #7128
Credits
Huge thanks to @lfades, @ijjk, @dav-is, and @Timer for helping!
Minor
- Add Typescript compilation: #7110
Patches
- More Specific Info on Script Loading Error: #7108
Credits
Huge thanks to @chuck0523 for helping!
Patches
- Make next export respect experimental.exportTrailingSlash: #6752
- Add more TypeScript types: #7054
- Rewrote .circleci/config.yml to 2.1 schema: #7103
- Wait for entry to resolve in production build: #7104
- Fix: add repository to next-server package.json: #7105
- Update types for with-router: #7106
- Replace the typescript compiler with @babel/preset-typescript: #7016
- Revert "Detect built ins in externals " (#7107): #7083
Credits
Huge thanks to @martpie, @lfades, @thecodechef, @rarkins, and @dav-is for helping!
Patches
- Update removing AMP pages to not require during build: #7081
- Make styles compatible in AMP mode: #7060
- Cache Babel and AutoDll plugin in
dirDir/cache: #7102
Credits
Huge thanks to @ijjk for helping!
Patches
- Remove un-needed config from example: #7055
- Update AMP example: #7056
- Update AMP example to AMP-first wording: 549965282045beda0cf0b31823b35a13014a0d6b
- Update dependency to fix with-next-page-transitions example: #7049
- Add test for /dashboard/index: #7065
- With-apollo example: explicitly pass fetch to HttpLink: #7072
- Update fela example: #7051
- Disable Terser loader when debugging: #7079
- Fix broken link: #7087
- Upgrade with-reasonml example to Reason React 0.7 and JSX 3: #7078
- Update the recommendation section in examples/with-reasonml: #7089
- Run optimizer after validating in dirty AMP mode: #7063
- Detect built ins in externals: #7083
- Move react-ssr-prepass import inside of: #7095
- Export 404 even if undefined in exportPathMap: #6912
- Remove dynamic-import-node from the preset: #7096
- Update to share HMR and ondemand SSE connection: #7084
- Upgrade Terser: #6981
Credits
Huge thanks to @ijjk, @Timer, @andy-ob, @koenpunt, @TxHawks, @mottox2, @scull7, @dav-is, @Ephem, and @lfades for helping!
New Features
Next.js 8.1 introduces AMP support on a per-page basis, allowing incremental adoption of AMP.
Please read our blog post to learn more!
Patches
- Fix adblock comment: #6859
- Added async-to-promises transform: #6797
- Amp-bind data injection: #6840
- Add optimizing AMP pages: #6835
- Emit manifest of all page files: #6853
- Add error message for AMP bind syntax: #6865
- Refine selective page building: #6866
- Add an experimental debug mode to builds: #6870
- Add useRouter hook: #6869
- Added an HTTP2 server example: #6856
- Fastify example dep update: #6714
- Update Sentry to v5 and add @sentry/integrations: #6873
- Added example with react-multi-carousel for rendering items on the server-side: #6820
- Temporarily pass arguments directly: #6876
- Allow only values that can be serialized to key: #6881
- Add RouterContext in production mode: #6883
- Fix serverless options: #6884
- Update to latest version of amp-toolbox-optimizer: #6885
- Set buildId to a fixed value during debug build: #6886
- Update docs for env variables: #6889
- Upgrade amp-toolbox-optimizer: #6890
- Add check for data in serverless-loader: #6893
- Add test for AMP in serverless mode: #6894
- Dont prefetch with debug mode: #6895
- Revert weird firefox workaround: #6896
- Add checking of react versions: #6892
- Make Client request BUILD_ID from the Server: #6891
- Compute Chunk Graph file hashes on emit: #6897
- Add ** experimental page globbing support: #6899
- Correctly compute unknown module ids: #6898
- Extract styled-jsx: #6901
- Turn off module opts when selective page building: #6903
- Temporarily only do one pass: #6900
- Revert "Extract styled-jsx " (#6907): #6901
- Only handle on catch in render: #6908
- Add query for debugging amp data: #6909
- Add useRequest hook and RequestContext: #6910
- Add more chunk graph data: #6911
- Better debug build message: #6915
- Add a build all but specified pages mode: #6916
- Fix page resolution: #6920
- Remove route cache key: #6921
- Make chunk graph more accurate: #6923
- Add lambda version of shared chunks: #6924
- Fix nesting level of client page scripts: #6925
- Add babel-plugin-transform-async-to-promises: #6929
- Bump parallelism on circleci: #6926
- Use var as libraryTarget: #6945
- Disable terser for server build: #6951
- Simplify options assignment: #6949
- Optimize resolve configuration: #6954
- Upgrade Async to Promises: #6958
- Replace imurmurhash with string-hash: #6964
- Moved NODE_ENV to our config: #6965
- Circleci filter PRs: #6961
- Add Amp bind error message: #6962
- Do not clear the console: #6758
- Remove use of
Promise.finallyin polyfill: #6975 - Disabled performance config in webpack: #6976
- Brought escape-string-regexp source to next: #6979
- Disabled the checkWasmTypes config in webpack: #6978
- Fix getSpecifiedPages on Windows: #6977
- Adjust flying shuttle minify: #6980
- Custom ReasonML Server: #6970
- Update README.md: #6749
- Update no-document-title.md: #6832
- Custom hapi server example handle static files: #6822
- Added cross-env package for using on Windows: #6877
- Fix re-rendering on client after navigating back from external: #6652
- Update root-static-files example: #6967
- The externals option is undefined for client builds: #6983
- Adjust onFinishCallback polyfill: #6984
- Add an experimental mode for flyingShuttle: #6985
- Remove CLI and negative page building: #6986
- Move build utils to their own file: #6990
- Fix Chunk Graph Plugin hashes type: #6994
- Use
chunkGrouprequest overrawRequestfor loadable manifest: #6993 - Adjust all modules identified plugin output: #6995
- Correct page search order: #6996
- Disable
recordsPathfor selective page building: #6997 - Disable flying shuttle when building for
now dev: #6998 - Add new getFileForPage helper to build utils: #6999
- Add Flying Shuttle v1: #6991
- Use next.config env and packages to calculate hashes: #7001
- Add Flying Shuttle tests: #7000
- Set custom cacheIdentifier for babel-loader: #6982
- Add package.json to example: #7004
- Simplify profiling and add serverless target: #7007
- Make async-to-promises babel plugin experimental: #7006
- Disable terser on .min.js input files: #7008
- Replace
.amp.jswithwithAmp(Comp): #7009 - Switch to using
.next/cachefor flying shuttle and terser: #7013 - Update with-graphql-hooks example to exclude SSR library from commons chunk: #7015
- Make sure AmpContext is available in _document: #7021
- Amp page level reload: #6971
- Set descriptive displayName on withRouter HOC: #7017
- Fix GitHub spelling: #7024
- Enable strict type checking on custom-server-typescript example: #7025
- Fix missing dash: 3363f26a42e5743540218d3ea46cda160ea4b560
- Update README.md: e4ceb903a1cbf85e292c542e10e87a45cda42b25
- Add x-powered-by: #7029
- Add AMP docs to README: #7031
- Re-add experimental amp config: #7030
- Remove noDirtyAmp option: #7032
- Add experimental option to enable terser loader: #7033
- Move next/router to Typescript: #7019
- Remove experimental amp config: #7046
- Remove experimental flag: #7048
- Remove client bundles for AMP only pages: #7034
- AMP fix escaped rel: #7045
- Add a dot to a note in README.md: #7053
- Updated handling of AMP page reloading: #7052
Credits
Huge thanks to @merelinguist, @lfades, @timneutkens, @Timer, @ijjk, @shahzeb1, @crutchcorn, @HeadFox, @YIZHUANG, @omonk, @justinmchase, @Tevinthuku, @mayank23, @ajrussellaudio, @IvanJov, @nguyenkhois, @kylemh, @j0lv3r4, @alexparish, @SBoudrias, @friederbluemle, @jalcalav, and @lucas0707 for helping!
Patches
- Add experimental option to enable terser loader: #7033
- Move next/router to Typescript: #7019
- Remove experimental amp config: #7046
- Remove experimental flag: #7048
- Remove client bundles for AMP only pages: #7034
- AMP fix escaped rel: #7045
- Add a dot to a note in README.md: #7053
- Updated handling of AMP page reloading: #7052
Credits
Huge thanks to @Timer, @lfades, @ijjk, @timneutkens, and @lucas0707 for helping!
Patches
- Set descriptive displayName on withRouter HOC: #7017
- Fix GitHub spelling: #7024
- Enable strict type checking on custom-server-typescript example: #7025
- Fix missing dash: 3363f26a42e5743540218d3ea46cda160ea4b560
- Update README.md: e4ceb903a1cbf85e292c542e10e87a45cda42b25
- Add x-powered-by: #7029
- Add AMP docs to README: #7031
- Re-add experimental amp config: #7030
- Remove noDirtyAmp option: #7032
Credits
Huge thanks to @SBoudrias, @friederbluemle, @jalcalav, and @timneutkens for helping!
Patches
- Update with-graphql-hooks example to exclude SSR library from commons chunk: #7015
- Make sure AmpContext is available in _document: #7021
- Amp page level reload: #6971
Credits
Huge thanks to @alexparish for helping!
Patches
- Switch to using
.next/cachefor flying shuttle and terser: #7013
Patches
- Disable terser on .min.js input files: #7008
- Replace
.amp.jswithwithAmp(Comp): #7009
Credits
Huge thanks to @Timer for helping!
Patches
- Add package.json to example: #7004
- Simplify profiling and add serverless target: #7007
- Make async-to-promises babel plugin experimental: #7006
Credits
Huge thanks to @j0lv3r4, @timneutkens, and @ijjk for helping!
Patches
- Set custom cacheIdentifier for babel-loader: #6982
Credits
Huge thanks to @ijjk for helping!
Patches
- Update README.md: #6749
- Update no-document-title.md: #6832
- Custom hapi server example handle static files: #6822
- Added cross-env package for using on Windows: #6877
- Fix re-rendering on client after navigating back from external: #6652
- Update root-static-files example: #6967
- The externals option is undefined for client builds: #6983
- Adjust onFinishCallback polyfill: #6984
- Add an experimental mode for flyingShuttle: #6985
- Remove CLI and negative page building: #6986
- Move build utils to their own file: #6990
- Fix Chunk Graph Plugin hashes type: #6994
- Use
chunkGrouprequest overrawRequestfor loadable manifest: #6993 - Adjust all modules identified plugin output: #6995
- Correct page search order: #6996
- Disable
recordsPathfor selective page building: #6997 - Disable flying shuttle when building for
now dev: #6998 - Add new getFileForPage helper to build utils: #6999
- Add Flying Shuttle v1: #6991
- Use next.config env and packages to calculate hashes: #7001
- Add Flying Shuttle tests: #7000
Credits
Huge thanks to @mayank23, @ajrussellaudio, @IvanJov, @nguyenkhois, @ijjk, @kylemh, and @lfades for helping!
Patches
- Remove use of
Promise.finallyin polyfill: #6975 - Disabled performance config in webpack: #6976
- Brought escape-string-regexp source to next: #6979
- Disabled the checkWasmTypes config in webpack: #6978
- Fix getSpecifiedPages on Windows: #6977
- Adjust flying shuttle minify: #6980
- Custom ReasonML Server: #6970
Credits
Huge thanks to @lfades, @ijjk, and @Tevinthuku for helping!
Patches
- Replace imurmurhash with string-hash: #6964
- Moved NODE_ENV to our config: #6965
- Circleci filter PRs: #6961
- Add Amp bind error message: #6962
- Do not clear the console: #6758
Credits
Huge thanks to @lfades and @justinmchase for helping!
Patches
- Upgrade Async to Promises: #6958
Patches
- Bump parallelism on circleci: #6926
- Use var as libraryTarget: #6945
- Disable terser for server build: #6951
- Simplify options assignment: #6949
- Optimize resolve configuration: #6954
Credits
Huge thanks to @ijjk and @timneutkens for helping!
Patches
- Add babel-plugin-transform-async-to-promises: #6929
Patches
- Fix nesting level of client page scripts: #6925
Patches
- Add lambda version of shared chunks: #6924
Patches
- Make chunk graph more accurate: #6923
Patches
- Fix page resolution: #6920
- Remove route cache key: #6921
Credits
Huge thanks to @ijjk for helping!
Patches
- Better debug build message: #6915
- Add a build all but specified pages mode: #6916
Patches
- Add more chunk graph data: #6911
Patches
- Revert "Extract styled-jsx " (#6907): #6901
- Only handle on catch in render: #6908
- Add query for debugging amp data: #6909
- Add useRequest hook and RequestContext: #6910
Credits
Huge thanks to @Timer for helping!
Patches
- Temporarily only do one pass: #6900
Patches
- Turn off module opts when selective page building: #6903
Patches
- Extract styled-jsx: #6901
Patches
- Make Client request BUILD_ID from the Server: #6891
- Compute Chunk Graph file hashes on emit: #6897
- Add ** experimental page globbing support: #6899
- Correctly compute unknown module ids: #6898
Patches
- Revert weird firefox workaround: #6896
- Add checking of react versions: #6892
Patches
- Add test for AMP in serverless mode: #6894
- Dont prefetch with debug mode: #6895
Credits
Huge thanks to @ijjk for helping!
Patches
- Update docs for env variables: #6889
- Upgrade amp-toolbox-optimizer: #6890
- Add check for data in serverless-loader: #6893
Credits
Huge thanks to @omonk and @timneutkens for helping!
Patches
- Set buildId to a fixed value during debug build: #6886
Patches
- Update to latest version of amp-toolbox-optimizer: #6885
Patches
- Fix serverless options: #6884
Patches
- Add RouterContext in production mode: #6883
Patches
- Allow only values that can be serialized to key: #6881
Patches
- Add useRouter hook: #6869
- Added an HTTP2 server example: #6856
- Fastify example dep update: #6714
- Update Sentry to v5 and add @sentry/integrations: #6873
- Added example with react-multi-carousel for rendering items on the server-side: #6820
- Temporarily pass arguments directly: #6876
Credits
Huge thanks to @ijjk, @shahzeb1, @crutchcorn, @HeadFox, and @YIZHUANG for helping!
Patches
- Refine selective page building: #6866
- Add an experimental debug mode to builds: #6870
Patches
- Emit manifest of all page files: #6853
- Add error message for AMP bind syntax: #6865
Credits
Huge thanks to @Timer for helping!
Patches
- Fix adblock comment: #6859
- Added async-to-promises transform: #6797
- Amp-bind data injection: #6840
- Add optimizing AMP pages: #6835
Credits
Huge thanks to @merelinguist, @lfades, and @timneutkens for helping!
Patches
- Remove event-source-polyfill dependency: #6407
- Remove http-status dependency: #6405
- Remove mkdirp-then in favor of promisify: #6408
- Add taskfile for ncc: #6409
- Upgrade async-sema: #6410
- Remove schema-utils dependency: #6413
- Replace
delwithrimrafpackage: #6411 - Remove event-source-polyfill dependency: 297f1a3fc0df8544f37be94e05c55531981618f0
- Update Hapi example: #6429
- Remove glob package: #6415
- Remove jsonPageRes Documentation Reference: #6440
- Fix link in with-react-with-styles sample: #6438
- AMP automatic page refreshing in dev: #6392
- Add new experimental-amp example: #6444
- Drop images from experimental-amp and with-amp examples: #6446
- Fix for index.js pages inside a folder named 'index': #6423
- Update @zeit/next-preact example: #6390
- Remove cross-spawn: #6450
- Add error for exporting when target is not server: #6455
- Update to Next v8.0 example on with-graphql-react: #6454
- Remove next-to-next-server babel plugin: #6458
- Create example for adding env variables from next.js.config / Final: #6318
- Update with-jest, with-jest-react-testing-library examples: #6464
- Add extra info to authentication: #6435
- Use cacheable-response for ssr: #6393
- Run ncc on unistore to fix install warning: #6459
- Change ncc taskr function name: #6471
- Update with-hashed-statics example: #6472
- Add styles to experimental-amp example: #6461
- Throw error when Promise is returned in next.config: #6476
- Fix dynamic require breaking after updating to v8: #6475
- Refactor(on-demand-entries): extract method: setupPing: #6483
- Setup on-demand-entries ping to prevent AMP page disposal: #6484
- Move next-bundle-analyzer to Next.js repo: #6445
- Make router UrlIsNew comparing method work as expected: #6383
- Add Babel plugin that fixes className for Amp elements: #6486
- Await config: #6488
- Update webpack-dev-middleware to fix querystring in file names: #6498
- Add docs for named exports using dynamic: #6502
- Show error when
routerorComponentare returned in _app.js: #6487 - Add graphql-hooks example: #6482
- Correct yarn.lock: #6503
- Add console.error before exit on uncaughtException: #6504
- Format a few documents: #6505
- Consolidate traditional and AMP rendering methods: #6506
- Update with-zones example to support Now v2 / serverless: #6485
- Added with-typescript-styled-components example: #6511
- Updated entries to not output _app and _document in serverless: #6512
- Add warning on stalled page load possibly from too many tabs open: #6514
- Fix /index/index.js route not emitting the right route in production: #6516
- [examples/with-sentry] Better docs + correct dependencies: #6521
- Move next-mdx from zeit/next-plugins to zeit/next.js: #6443
- Update login.js: #6527
- Update timeout for plugin-mdx test: #6528
- Add Grommet example: #6529
- Implement Recursive Delete: #6489
- Add preload notice: #6532
- Check if esmodules is supported before enabling useESModules: #6534
- Add workflow with next-stats-action: #6535
- Changing an url to a url in the readme: #6540
- Remove chunkfilter and extractcomments options as they’re unused: #6549
- Fix page not loading with ending the request: #6546
- Fixed typo in code comment: #6555
- Fix wrong env key in build time configuration docs: #6561
- Change redirect status to 302: #6562
- Update README.md: 51fc26161df50e3ad66388b40cbff4acd5e09c59
- Remove cacheKeys option and improve filtering: #6559
- Throw error when router methods are used in SSR: #6550
- Remove trailing spaces: #6547
- Remove more terser code: #6564
- Add note about passing webpack to config: #6606
- Add links for now info to parameterized-routing example: #6565
- Try restarting chromedriver on timeout: #6566
- Fix unnatural spaces in README: #6572
- Update react-error-overlay and use reportRuntimeError: #6577
- Remove more terser-webpack-plugin code: #6575
- Remove _error page from blocked pages: #6579
- Don’t prefetch outside of production: #6578
- Update with-now-env to use
envconfig: #6581 - Next minifier cache: #6582
- Remove case-sensitive-paths-plugin: #6587
- Remove cjs file: #6590
- Don’t load dev plugins for production bootup: #6589
- Eliminate need for render() method: #6591
- Remove stray comma: #6593
- Don't use webpack multiCompiler for single configuration: #6598
- Disable webpack minifier: #6603
- Add experimental cpus config and use CircleCI env var: #6604
- Default to the previous CPU calculation: #6605
- Add experimental profiling flag: #6594
- Update/webpack docs example: #6609
- Remove cacache: #6610
- Replace md4 hashing with murmurhash: #6611
- Sort pages between bundles: #6612
- Remove cacheKeys in favor of simply a cacheKey: #6613
- Ensure correct key order: #6616
- Fix HMR failing when rendering with
/index: #6541 - Initial overmind example: #6548
- Remove unused dev option from babel-loader: #6624
- Fix loading showing before
pastDelay: #6628 - Add test for recovering from export default undefined: #6631
- Inject the build ID after webpack runs: #6618
- Apply workaround for Firefox bug: #6630
- Fix export with folders that contain dot: #6538
- Convert router/router.js to typescript: #6644
- Show a better error when someone throws undefined: #6646
- Add err.sh link for threw undefined: #6649
- Ensure all modules are identified: #6656
- Creating one more example which only uses redux and no thunk as middl…: #6636
- Convert change/getRouteInfo to not use async: #6648
- Delete using realpath in HMR cache: #6635
- Stabilize Chunk ID generation: #6663
- Use relative instead of absolute for entry paths: #6659
- Check for the user's home directory in the build output: #6661
- Hash module IDs to save on bundle size: #6660
- Fix relative next path not working in webpack config: #6667
- Add codeowners file: #6672
- Remove sourceMaps from amp styles to not go over limit: #6674
- Remove empty paragraphs and missing examples: #6677
- A little missing documentation was added.: #6600
- Update custom-server-typescript example: #6627
- Port with-mobx to with-mobx-react-lite: #6617
- Add with-linaria example: #6510
- Add experimental exportTrailingSlash config: #6664
- Add possible explanation for webpack resolve error: #6682
- Add error handling for error being thrown in _app getinitialProps: #6680
- Make react-loadable-manifest only have modules that are part of dynamic chunks: #6622
- Small fix to example custom-server-typescript: #6695
- Remove conflicting <head> tags in amp mode: #6693
- Update with-rematch example: #6699
- Remove headManager property as it’s unused: #6700
- Clean up ErrorBoundary component: #6703
- Fix with-mobx-state-tree-typescript modules export: #6704
- Adds example for Office UI Fabric React.: #6705
- First pass of runtime amp validator: #6708
- Add support for creating AMP pages: #6706
- Add checking for corresponding pages for link tags: #6719
- Shrink the size of profiling test: #6723
- Ensure browser gets closed during testing: #6724
- Skip console clearing when not in a TTY: #6726
- Adjust CircleCI flow: #6728
- Add support for amp to export: #6725
- Catch errors when loading a page in case a script 404s: #6729
- Break up basic test suite: #6730
- Remove unused parameters: #6735
- Update export tests and fixed import: #6738
- Add more export tests for AMP: #6740
- Fix amphtml href with nested amp page: #6741
- Fix export not checking amp right for /index.amp: #6748
- Update local testing doc to show our own workflow: #6753
- Make pages-manifest-plugin compatible with webpack 5: #6760
- Remove error-debug.js checks as the chunk is removed: #6761
- Update to have default value for renderToHTML: #6755
- Remove PropTypes from _error and next/dynamic: #6763
- Remove hoist-non-react-statics from with-router: #6765
- Separate toRoute function: #6766
- Ncc nanoid: #6768
- Don't use array for main chunk: #6767
- Ncc resolve and arg: #6771
- Remove magic-string: #6772
- Make main.js override work correctly: #6781
- Add @lfades to CODEOWNERS: 480fb5652a8f836a87b5f814eb67076570f70c63
- Replace
buildIdwell known string during output: #6782 - Pass mapDispatchToProps as an object: #6786
- Removed the X-Powered-By header: #6789
- Use a shared module cache: #6791
- Add AMP validation on export: #6794
- Update dependencies of various examples: #6731
- Example with orbit-components: #6793
- Remove prop-types import in the build: #6798
- Improve with-google-analytics example: #6787
- [with-sentry] example: Make 'utils/sentry.js' more flexible: #6769
- Specified page builds: #6796
- Add a viewport meta tag by default: #6754
- Upgrade unfetch to v4.1.0: #6807
- Add a leading slash to passed pages: #6808
- Form handler example: Update deps and fix build from dep update: #6732
- With apollo and redux saga example: Update deps: #6734
- With apollo and redux example: Update deps and fix build: #6733
- The custom build test now runs in production mode: #6818
- Add example with astroturf (Zero runtime CSS-in-JS): #6821
- NODE_ENV is set to undefined before running a test command: #6823
- Fix typo by replacing
compatabilitywithcompatibility: #6831 - Update tests for BrowserStack: #6810
- Add error catching to firefox url query workaround: #6833
- Update env variables for CircleCi: #6834
- Add dropping of custom scripts in AMP mode: #6830
- Added babel-plugin-dynamic-import-node: #6811
- Exclude transform-typeof-symbol: #6812
- Add workflow to generate stats for release: #6836
- Fix typo in workflow: #6838
- Added useBuiltIns to babel object-rest-spread: #6805
- Fix wrong anchors and add missing link: #6845
- Re-add chromedriver retrying from previous webdriver setup: #6846
- Make sure error isn't swallowed for production test on CircleCi: #6848
- BuildId is not an ad: #6851
- Avoid "ad" anywhere in the buildId: #6854
Credits
Huge thanks to @AllenFang, @ijjk, @lfades, @shahzeb1, @crutchcorn, @shashkovdanil, @yjoer, @developit, @alexandernanberg, @tomashapl, @Macil, @cJayyy, @slv, @Timer, @dav-is, @timneutkens, @MarchWorks, @gtgalone, @juliomenendez, @kheruc, @xiaohuoni, @brentertz, @programbo, @slaterbbx, @christianalfoni, @ravindermahajan890, @7ma7X, @Janpot, @ryhinchey, @martonlanga, @Gigacore, @pex, @thinceller, @jesstelford, @GaelS, @rogerhutchings, @egorovli, @Joezo, @mikefrancis, @tangye1234, @laiso, @pkellner, @lucleray, @samundra, @toshi1127, @jepser, @jhoffmcd and @Kikobeats for helping!
Initial release
Patches
- Fix typo in workflow: #6838
Credits
Huge thanks to @ijjk for helping!
Patches
- Form handler example: Update deps and fix build from dep update: #6732
- With apollo and redux saga example: Update deps: #6734
- With apollo and redux example: Update deps and fix build: #6733
- The custom build test now runs in production mode: #6818
- Add example with astroturf (Zero runtime CSS-in-JS): #6821
- NODE_ENV is set to undefined before running a test command: #6823
- Fix typo by replacing
compatabilitywithcompatibility: #6831 - Update tests for BrowserStack: #6810
- Add error catching to firefox url query workaround: #6833
- Update env variables for CircleCi: #6834
- Add dropping of custom scripts in AMP mode: #6830
- Added babel-plugin-dynamic-import-node: #6811
- Exclude transform-typeof-symbol: #6812
- Add workflow to generate stats for release: #6836
Credits
Huge thanks to @crutchcorn, @lfades, @shashkovdanil, @yjoer, and @ijjk for helping!
Patches
- Add a viewport meta tag by default: #6754
- Upgrade unfetch to v4.1.0: #6807
- Add a leading slash to passed pages: #6808
Credits
Huge thanks to @developit and @alexandernanberg for helping!
Patches
- Add AMP validation on export: #6794
- Update dependencies of various examples: #6731
- Example with orbit-components: #6793
- Remove prop-types import in the build: #6798
- Improve with-google-analytics example: #6787
- [with-sentry] example: Make 'utils/sentry.js' more flexible: #6769
- Specified page builds: #6796
Credits
Huge thanks to @ijjk, @crutchcorn, @tomashapl, @lfades, @Macil, and @cJayyy for helping!
Patches
- Pass mapDispatchToProps as an object: #6786
- Removed the X-Powered-By header: #6789
- Use a shared module cache: #6791
Credits
Huge thanks to @slv, @lfades, and @Timer for helping!
Patches
- Add @lfades to CODEOWNERS: 480fb5652a8f836a87b5f814eb67076570f70c63
- Replace
buildIdwell known string during output: #6782
Patches
- Make main.js override work correctly: #6781
Patches
- Ncc resolve and arg: #6771
- Remove magic-string: #6772
Credits
Huge thanks to @dav-is for helping!
Patches
- Update local testing doc to show our own workflow: #6753
- Make pages-manifest-plugin compatible with webpack 5: #6760
- Remove error-debug.js checks as the chunk is removed: #6761
- Update to have default value for renderToHTML: #6755
- Remove PropTypes from _error and next/dynamic: #6763
- Remove hoist-non-react-statics from with-router: #6765
- Separate toRoute function: #6766
- Ncc nanoid: #6768
- Don't use array for main chunk: #6767
Credits
Huge thanks to @ijjk for helping!
Patches
- Fix export not checking amp right for /index.amp: #6748
Credits
Huge thanks to @ijjk for helping!
Patches
- Fix amphtml href with nested amp page: #6741
Credits
Huge thanks to @ijjk for helping!
Patches
- Add more export tests for AMP: #6740
Patches
- Update export tests and fixed import: #6738
Credits
Huge thanks to @ijjk for helping!
Patches
- Ensure browser gets closed during testing: #6724
- Skip console clearing when not in a TTY: #6726
- Adjust CircleCI flow: #6728
- Add support for amp to export: #6725
- Catch errors when loading a page in case a script 404s: #6729
- Break up basic test suite: #6730
- Remove unused parameters: #6735
Credits
Huge thanks to @ijjk, @dav-is, and @timneutkens for helping!
Patches
- Remove sourceMaps from amp styles to not go over limit: #6674
- Remove empty paragraphs and missing examples: #6677
- A little missing documentation was added.: #6600
- Update custom-server-typescript example: #6627
- Port with-mobx to with-mobx-react-lite: #6617
- Add with-linaria example: #6510
- Add experimental exportTrailingSlash config: #6664
- Add possible explanation for webpack resolve error: #6682
- Add error handling for error being thrown in _app getinitialProps: #6680
- Make react-loadable-manifest only have modules that are part of dynamic chunks: #6622
- Small fix to example custom-server-typescript: #6695
- Remove conflicting <head> tags in amp mode: #6693
Credits
Huge thanks to @ijjk, @kheruc, @xiaohuoni, @brentertz, @programbo, @shashkovdanil, and @slaterbbx for helping!
Patches
- Fix HMR failing when rendering with
/index: #6541 - Initial overmind example: #6548
- Remove unused dev option from babel-loader: #6624
- Fix loading showing before
pastDelay: #6628 - Add test for recovering from export default undefined: #6631
- Inject the build ID after webpack runs: #6618
- Apply workaround for Firefox bug: #6630
- Fix export with folders that contain dot: #6538
- Convert router/router.js to typescript: #6644
- Show a better error when someone throws undefined: #6646
- Add err.sh link for threw undefined: #6649
- Ensure all modules are identified: #6656
- Creating one more example which only uses redux and no thunk as middl…: #6636
- Convert change/getRouteInfo to not use async: #6648
- Delete using realpath in HMR cache: #6635
- Stabilize Chunk ID generation: #6663
- Use relative instead of absolute for entry paths: #6659
- Check for the user's home directory in the build output: #6661
- Hash module IDs to save on bundle size: #6660
- Fix relative next path not working in webpack config: #6667
- Add codeowners file: #6672
Credits
Huge thanks to @ijjk, @christianalfoni, @timneutkens, @ravindermahajan890, and @dav-is for helping!
Patches
- Add note about passing webpack to config: #6606
- Add links for now info to parameterized-routing example: #6565
- Try restarting chromedriver on timeout: #6566
- Fix unnatural spaces in README: #6572
- Update react-error-overlay and use reportRuntimeError: #6577
- Remove more terser-webpack-plugin code: #6575
- Remove _error page from blocked pages: #6579
- Don’t prefetch outside of production: #6578
- Update with-now-env to use
envconfig: #6581 - Next minifier cache: #6582
- Remove case-sensitive-paths-plugin: #6587
- Remove cjs file: #6590
- Don’t load dev plugins for production bootup: #6589
- Eliminate need for render() method: #6591
- Remove stray comma: #6593
- Don't use webpack multiCompiler for single configuration: #6598
- Disable webpack minifier: #6603
- Add experimental cpus config and use CircleCI env var: #6604
- Default to the previous CPU calculation: #6605
- Add experimental profiling flag: #6594
- Update/webpack docs example: #6609
- Remove cacache: #6610
- Replace md4 hashing with murmurhash: #6611
- Sort pages between bundles: #6612
- Remove cacheKeys in favor of simply a cacheKey: #6613
- Ensure correct key order: #6616
Credits
Huge thanks to @7ma7X, @timneutkens, @dav-is, @Janpot, @ijjk, and @Timer for helping!
Patches
- Changing an url to a url in the readme: #6540
- Remove chunkfilter and extractcomments options as they’re unused: #6549
- Fix page not loading with ending the request: #6546
- Fixed typo in code comment: #6555
- Fix wrong env key in build time configuration docs: #6561
- Change redirect status to 302: #6562
- Update README.md: 51fc26161df50e3ad66388b40cbff4acd5e09c59
- Remove cacheKeys option and improve filtering: #6559
- Throw error when router methods are used in SSR: #6550
- Remove trailing spaces: #6547
- Remove more terser code: #6564
Credits
Huge thanks to @ryhinchey, @martonlanga, @Gigacore, @pex, @ijjk, and @thinceller for helping!
Patches
- [examples/with-sentry] Better docs + correct dependencies: #6521
- Move next-mdx from zeit/next-plugins to zeit/next.js: #6443
- Update login.js: #6527
- Update timeout for plugin-mdx test: #6528
- Add Grommet example: #6529
- Implement Recursive Delete: #6489
- Add preload notice: #6532
- Check if esmodules is supported before enabling useESModules: #6534
- Add workflow with next-stats-action: #6535
Credits
Huge thanks to @jesstelford, @ijjk, @GaelS, @rogerhutchings, and @dav-is for helping!
Patches
- Add Babel plugin that fixes className for Amp elements: #6486
- Await config: #6488
- Update webpack-dev-middleware to fix querystring in file names: #6498
- Add docs for named exports using dynamic: #6502
- Show error when
routerorComponentare returned in _app.js: #6487 - Add graphql-hooks example: #6482
- Correct yarn.lock: #6503
- Add console.error before exit on uncaughtException: #6504
- Format a few documents: #6505
- Consolidate traditional and AMP rendering methods: #6506
- Update with-zones example to support Now v2 / serverless: #6485
- Added with-typescript-styled-components example: #6511
- Updated entries to not output _app and _document in serverless: #6512
- Add warning on stalled page load possibly from too many tabs open: #6514
- Fix /index/index.js route not emitting the right route in production: #6516
Credits
Huge thanks to @Timer, @egorovli, @ijjk, @Joezo, and @mikefrancis for helping!
The same as v8.0.4-canary.5 but republished. 😄
Patches
- Update to Next v8.0 example on with-graphql-react: #6454
- Remove next-to-next-server babel plugin: #6458
- Create example for adding env variables from next.js.config / Final: #6318
- Update with-jest, with-jest-react-testing-library examples: #6464
- Add extra info to authentication: #6435
- Use cacheable-response for ssr: #6393
Credits
Huge thanks to @laiso, @ijjk, @pkellner, @lucleray, @samundra, and @Kikobeats for helping!
Patches
- Drop images from experimental-amp and with-amp examples: #6446
- Fix for index.js pages inside a folder named 'index': #6423
- Update @zeit/next-preact example: #6390
- Remove cross-spawn: #6450
- Add error for exporting when target is not server: #6455
Credits
Huge thanks to @ijjk, @Janpot, and @toshi1127 for helping!
Patches
- Update Hapi example: #6429
- Remove glob package: #6415
- Remove jsonPageRes Documentation Reference: #6440
- Fix link in with-react-with-styles sample: #6438
- AMP automatic page refreshing in dev: #6392
- Add new experimental-amp example: #6444
Credits
Huge thanks to @jepser, @dav-is, @jhoffmcd, and @7ma7X for helping!
Patches
- Remove event-source-polyfill dependency: 297f1a3fc0df8544f37be94e05c55531981618f0
Patches
- Remove event-source-polyfill dependency: #6407
- Remove http-status dependency: #6405
- Remove mkdirp-then in favor of promisify: #6408
- Add taskfile for ncc: #6409
- Upgrade async-sema: #6410
- Remove schema-utils dependency: #6413
- Replace
delwithrimrafpackage: #6411
Credits
Huge thanks to @dav-is for helping!
Patches
- Fix hot reloading in the yarn workspaces example: #6402
- Remove ansi-html dep: #6394
- Add an example using ESI cache (with React ESI): #6225
- Fix invalid ping response throwing error in client: #6397
- Don’t hide parse error from on-demand-entries: d0e90d05a0abb60c3857a75a722c7ac56e83808a
Credits
Huge thanks to @dunglas, @ijjk, and @martpie for helping!
Patches
- Remove ansi-html dep: #6394
- Add an example using ESI cache (with React ESI): #6225
- Fix invalid ping response throwing error in client: #6397
- Don’t hide parse error from on-demand-entries: d0e90d05a0abb60c3857a75a722c7ac56e83808a
Credits
Huge thanks to @dunglas and @ijjk for helping!
Patches
- Add example using lingui.js: #6210
- Fixes a few inconsistencies in server routes examples: #6382
- Update link in wasm example: #6389
- Drop cli-cursor dependency: #6387
- Move webpack config to TypeScript: #6348
- Feat: Validate url.format calls: #6379
- [with-sentry] Use env config instead of webpack where possible: #6381
- Remove alternate screen usage: #6377
- Pass all
<Html>props to<html>: #6378 - Fixed missing next deployment directory bug: #6331
- Updated module and removed old example in socket.io example: #6368
- Assign deep defaults for custom config: #6359
- Add SSR'd Portals example: #6365
- Fixes for with-sentry example: #6362
- Add Html tag for custom Document: #6372
- Recreate stdChannel (or saga middleware).: #6330
- Use a query parameter for AMP pages instead of new route: #6336
- Load styled-components example on codesandbox: #6321
- Fix: pass full path to
launch-editor: #6302 - Join merged style tags: #6345
- Add tests for AMP style tags: #6355
- Update readme with ZEIT Now deployment guide link: #6341
- Remove onDemandEntries WebSocket server in favor of EventSource connection: #6354
- Upgrade standard and fix files: #6358
- Make
getBaseWebpackConfigsynchronous.: #6356 - Add --frozen-lockfile to circleci: 17ad1eb8aaec9150096868b811200e0da640048a
- Use alternate screen buffer if terminal supports it: #6364
- Fix style importing: #6322
- Fix recursive hydration of next/dynamic: #6326
- Pass through arguments of the next cli correctly: #6327
- Make build output friendlier: #6320
- Fix url in docs: #6323
- Development mode output improvement: #6312
- Fix README links: #6284
- Fixes hashed statics readme: #6293
- Remove lerna bootstrap: #6289
- [experimental] Rendering to AMP: #6218
- Update webpack message formatter: #6299
- Use process.browser instead of env probing: #6286
- Push redux-saga to major release 1.0.1.: #6300
- Block Certain Env Keys That Are Used Internally: #6260
- Add falling back to fetch based pinging for onDemandEntries: #6310
Huge thanks to @dav-is, @Timer, @isaachinman, @jesstelford, @afuggini, @7ma7X, @kinetifex, @bbortt, @klujanrosas, @timothyis, @wtgtybhertgeghgtwtg, @A-Tokyo, @joshua-scott, @garmeeh, @jontonsoup4, @slaskis, @vgrafe, and @felixmosh.
Special thanks to @ijjk for continued involved with on-demand-entries.
Special thanks to @kinetifex and @indexzero for their feedback on the on-demand-entries websocket implementation.
Patches
- Add example using lingui.js: #6210
- Fixes a few inconsistencies in server routes: #6382
- Update link in wasm example: #6389
- Drop cli-cursor dependency: #6387
Credits
Huge thanks to @slaskis, @vgrafe, @7ma7X, and @Timer for helping!
Patches
- Move webpack config to TypeScript: #6348
- Feat: Validate url.format calls: #6379
- [with-sentry] Use env config instead of webpack where possible: #6381
- Remove alternate screen usage: #6377
- Pass all
<Html>props to<html>: #6378 - Fixed missing next deployment directory bug: #6331
Credits
Huge thanks to @dav-is, @isaachinman, @jesstelford, @Timer, and @afuggini for helping!
Patches
- Updated module and removed old example in socket.io example: #6368
- Assign deep defaults for custom config: #6359
- Add SSR'd Portals example: #6365
- Fixes for with-sentry example: #6362
- Add Html tag for custom Document: #6372
Credits
Huge thanks to @7ma7X, @kinetifex, @jesstelford, and @Timer for helping!
Patches
- Recreate stdChannel (or saga middleware).: #6330
- Use a query parameter for AMP pages instead of new route: #6336
- Load styled-components example on codesandbox: #6321
- Fix: pass full path to
launch-editor: #6302 - Join merged style tags: #6345
- Add tests for AMP style tags: #6355
- Update readme with ZEIT Now deployment guide link: #6341
- Remove onDemandEntries WebSocket server in favor of EventSource connection: #6354
- Upgrade standard and fix files: #6358
- Make
getBaseWebpackConfigsynchronous.: #6356 - Add --frozen-lockfile to circleci: 17ad1eb8aaec9150096868b811200e0da640048a
- Use alternate screen buffer if terminal supports it: #6364
Credits
Huge thanks to @bbortt, @Timer, @jesstelford, @klujanrosas, @timothyis, @ijjk, @dav-is, and @wtgtybhertgeghgtwtg for helping!
Patches
- Fix style importing: #6322
- Fix recursive hydration of next/dynamic: #6326
- Pass through arguments of the next cli correctly: #6327
Credits
Huge thanks to @A-Tokyo for helping!
Patches
- Make build output friendlier: #6320
- Fix url in docs: #6323
Credits
Huge thanks to @Timer and @joshua-scott for helping!
Patches
- Development mode output improvement: #6312
Credits
Huge thanks to @Timer for helping!
Patches
- Fix README links: #6284
- Fixes hashed statics readme: #6293
- Remove lerna bootstrap: #6289
- [experimental] Rendering to AMP: #6218
- Update webpack message formatter: #6299
- Use process.browser instead of env probing: #6286
- Push redux-saga to major release 1.0.1.: #6300
- Block Certain Env Keys That Are Used Internally: #6260
- Add falling back to fetch based pinging for onDemandEntries: #6310
Credits
Huge thanks to @garmeeh, @jontonsoup4, @Timer, @felixmosh, @bbortt, @dav-is, and @ijjk for helping!
Patches
- [with-typescript] Fixed incorrect query type: #6238
- Updated examples for build-time env configuration for v8: #6237
- Add setup to run example with cookie authentication locally: #6101
- Apply babel to .mjs files: #6253
- Styled-components example: use a fragment for styles initial prop: #6252
- Add yarn check to test: #6257
- Change anynymous functions to named functions on examples in the README.md file: #6255
- Add
moduleas server fallback main field: #6256 - Fix Runtime Config in
next export: #6258 - Set default
Errorstatus code to 404: #6276 - Fix Docs: #6270
- [with-typescript] Fixed incorrect query type: #6238
- Updated examples for build-time env configuration for v8: #6237
- Add setup to run example with cookie authentication locally: #6101
- Styled-components example: use a fragment for styles initial prop: #6252
- Add yarn check to test: #6257
- Change anynymous functions to named functions on examples in the README.md file: #6255
- Fix Runtime Config in
next export: #6258 - Apply babel to .mjs files: #6253
- Add
moduleas server fallback main field: #6256
Credits
Huge thanks to @resir014, @Ephem, @j0lv3r4, @developit, @elliottsj, @dav-is, @Timer, @Timer, @resir014, @Ephem, @j0lv3r4 , @elliottsj, and @revskill10 for helping!
Patches
- [with-typescript] Fixed incorrect query type: #6238
- Updated examples for build-time env configuration for v8: #6237
- Add setup to run example with cookie authentication locally: #6101
- Apply babel to .mjs files: #6253
- Styled-components example: use a fragment for styles initial prop: #6252
- Add yarn check to test: #6257
- Change anynymous functions to named functions on examples in the README.md file: #6255
- Add
moduleas server fallback main field: #6256 - Fix Runtime Config in
next export: #6258 - Set default
Errorstatus code to 404: #6276 - Fix Docs: #6270
Credits
Huge thanks to @resir014, @Ephem, @j0lv3r4, @developit, @elliottsj, @dav-is, @Timer, and @revskill10 for helping!
Minor Changes
- Apply babel to .mjs files: #6253
- Add
moduleas server fallback main field: #6256
Patches
- [with-typescript] Fixed incorrect query type: #6238
- Updated examples for build-time env configuration for v8: #6237
- Add setup to run example with cookie authentication locally: #6101
- Styled-components example: use a fragment for styles initial prop: #6252
- Add yarn check to test: #6257
- Change anynymous functions to named functions on examples in the README.md file: #6255
- Fix Runtime Config in
next export: #6258
Credits
Huge thanks to @Timer, @resir014, @Ephem, @j0lv3r4, @developit, and @elliottsj for helping!
Patches
- Update yarn.lock: c9f4a956d41d620f6a204dab7a8eae86107c8729
Patches
- Update yarn.lock: 377e43b6e2a683e31c7fa1f4759644879493bfcc
Minor Changes
- Introduce env to next.config.js for build-time configuration: #6212
Patches
- Remove publish test results for azure pipelines: 230ae52de2141a56bb830b2b34cdfedba5933c91
- Invalidate cache for link[preload] in DEV: #6183
- Remove route event in componentWillUnmount: #6196
- Updated readme with improved info about next/link and next/router: #6197
- Remove 'acorn' dependency: #6193
- Only compile /_error when /_error is needed: #6192
- [examples] Update react jss example: #6198
- Remove extraneous benchmark dependency: #6222
- Remove Unneeded _error import: #6224
Credits
Huge thanks to @dav-is, @giuseppeg, @Sklpcc, @cenoura, @grushetsky, @HenriBeck, and @alexandernanberg for helping!
Minor Changes
- Load ErrorComponent dynamically: #6171
Patches
- Updates with-semantic-ui example: #6158
- Throw Error When Running
next starton Serverless Build: #6166 - Update with-react-native-web example to use babel: #6170
- Updated README.md with proper link: #6172
- Update README.md: #6106
- Bugfix/redux saga 1 0 0 not ready: #6176
- Update with-relay-modern and with-relay-modern-server-express: #6182
- [with-typescript] Improved intial props examples, added example detail: #6165
Credits
Huge thanks to @thysultan, @marcinczenko, @dav-is, @Cauldrath, @janbejvl, @DovydasNavickas, @bbortt, @messa, and @resir014 for helping!
Patches
- Compile all next module files: #6155
Patches
- Add arcorn to fix webpack/npm bug: #6137
- Add Unit Tests for Phase Constants: #6139
- Remove unnecessary check for files to be linted and combine ts & tsx lint staged command: #6145
- Handle SIGTERM with status code 0: #6143
- Small fix in serverless docs: #6146
- Implement circular JSON err.sh link: #6149
Credits
Huge thanks to @dav-is, @damianfrizzi, and @lfades for helping!
Patches
- Merge to redux-saga 1.0.0, api breaking changes included.: #6109
- Revert "Move phases back to next/constants ": #6104
Credits
Huge thanks to @bbortt for helping!
Patches
- Make side-effect.js smaller: #6118
- Move next/head to Typescript: #6131
- Remove resolve rule: #6133
- Print list of pages when building: #6125
Credits
Huge thanks to @lucleray for helping!
Patches
- Drop assetSizePlugin: #6122
Credits
Huge thanks to @timneutkens for helping!
Patches
- Add new nextjs typings with samples: #6102
- Move phases back to next/constants: #6104
- Manually call sheet.seal() to avoid memory leaks on with-styled-components example: #6107
- [with-typescript] Updated typescript and removed unused deps: #6116
- Upgrade Webpack to 4.29.0 with FutureEmitAssets for Massive Memory Optimizations: #6114
Credits
Huge thanks to @calendee, @lucasfeliciano, @resir014, and @dav-is for helping!
Patches
- Add release cli to prepublish: b20b371a419d32719e5ef7045e417ac900cc0017
- Make HMR still apply updates when there is a webpack warning: #6099
Patches
- Close #5607 - Bug in examples/with-data-prefetch: #6093
- [examples/react-jss] Add support for styled custom App component: #6094
- Make lerna always use exact version when updating packages: 0949b4dd1a9e884a7c277b64e0f6ed5a18a004d5
- Update package.json description: 862e0a39b93e1356650e459f01e1850a343de197
- Update yarn.lock: 41f66508a09fe33c1437fb916affbb105c9b82e6
Credits
Huge thanks to @kertal and @HenriBeck for helping!
Major changes
- Remove next/asset: #6046
Patches
- Move @types to devDependencies: 4939583c657f09a3fe871ee00b3cbd70c6959a3e
- Fixed spelling not to no: #6044
- Migrate next/head to use React.createContext: #6038
- Remove /asset from exportPathMap: #6053
- Revert #6030: #6052
Credits
Huge thanks to @pkellner and @alexandernanberg for helping!
Patches
- Should not change method to replaceState unless asPath is the same: #6033
- Replace comment with import() for webpack dynamic entries compat: 2f22fbf8c254d09b599fbe6ef01c48337ab892a4
- Add new limit for size: f9efe05d4b2a016e96b48596989ff4d8cbf1095a
- Only Minify Whitespace on Serverless Builds: #6037
Credits
Huge thanks to @tangye1234 and @dav-is for helping!
Patches
- Add an example with graphql-react: #5984
- Fix Head.propTypes: #6020
- Show clear error when client build fails in serverless target: #6027
- Disable assetSizePlugin in serverless target: #6028
Credits
Huge thanks to @jaydenseric for helping!
Major Changes
- Replace event-emitter.js by mitt: #5987
Minor Changes
- Add README in Chinese: #5046
- Replace pages-plugin with loader: #5994
Patches
- Fix typo in a comment: #5982
- Unnecessary prop store in getInitialProps: #5983
- Rename event-emitter.test.js -> mitt.test.js: #5992
- Change React version of examples to latest: #5990
- Test updater script on examples folder: #5993
- Improve assets size: #5999
- Improve with-unstated example: #5998
- Remove decorator proposal plugin from ant example (fixes #5985): #6002
- SSR for styled-components babel plugin (fixes #5988): #6001
- Update with-typescript example: #6011
Credits
Huge thanks to @raoenhui, @dunglas, @Meowmanize, @lucleray, @j0lv3r4, @tylim88, @ztanner, and @pkellner for helping!
Minor Changes
- Serverless Next.js: #5927
Patches
- Change errorCode prop name for clearer explanation of code example: #5914
- Move out requires from renderToHTML: #5915
- Fix custom document example: #5928
- Add with-carlo example: #5930
- Fix: update with-mobx example: #5936
- Corrects Typo from next-bundle-analyzer/readme.md: #5939
- Fix with-jest-typescript example to keep babel-jest in sync with jest: #5941
- Add react-testing-library example: #5940
- Update react and react-dom to use "latest": #5942
- Upgrades webpack related libraries: #5949
- Modify with-universal-configuration example (#5948): #4498
- Remove unused imports.: #5950
- Add test for instance method on getInitialProps.: #5951
- Upgrade styled-jsx: #5953
Credits
Huge thanks to @eriknguyen, @lusbuab, @evenchange4, @lucifer1004, @malixsys, @ztanner, @jeanbauer, @bell-steven, @JeroenKnoops, @andersonleite, and @giuseppeg for helping!
Patches
- Improve dev experience by listening faster: #5902
- Change page export validity check on client and server in development: #5857
Credits
Huge thanks to @exogen and @kylemh for helping!
Patches
- Make browser side resolve prefer mjs files: #5898
Patches
- Add ws dependency: b5b0c743b36c1ea7703d8ad2ac5e6293f8e65f0e
Patches
- Make sure WebSocket server port is always detected: #5894
Minor Changes
- Implement websockets based on-demand-entries ping: #4508
- Example with cookie auth: #5821
- Add --node-args option: #5858
Patches
- Disable webpack cache option in prod: #5877
- Remove <link ...style.css"> from Head in _document: #5887
- Remove <link ...style.css"> from Head in _document: #5890
Credits
Huge thanks to @ijjk, @j0lv3r4, @DevSide, and @Mosoc for helping!
Minor Changes
- Don’t prefetch on slow network / when datasaver is enabled: #5876
- Fix #5674 Append crossOrigin on the client side too, add config option for crossOrigin: #5873
Patches
- Upgrade React from 16.4.2 to 16.6.3: #5861
- Update/fix "examples/with-firebase-hosting-and-typescript": #5864
- Fix initialNow in react-intl example: #5867
- Fix/update "examples/custom-server-typescript": #5865
- Multi-threaded export with nice progress indication: #5870
- Removing link ref style.css: #5871
- Convert render.js to typescript: #5869
- Remove baseurl/paths option: #5878
- Update styletron example: #5879
- Make sure 404 is rendered: #5880
Credits
Huge thanks to @kylemh, @oBusk, @exogen, @bkniffler, @adrianoted, @dav-is, and @illogikal for helping!
Patches
- Updates version of firebase: #5829
- Only check if BUILD_ID exists when reading throws error: #5834
- Remove unused functions: #5832
- Move serve-static to typescript: #5833
- Move getDynamicImportBundles into own ts file: #5836
- Added length calculation for insert of cache rather then default to 1…: #5835
- Remove unused properties: #5837
- Move getPageFiles and convert to ts: #5841
- Move sendHTML and rewrite in ts: #5839
- Remove app variable as it’s only used once: #5842
- Convert next-server.js to typescript: #5844
- Improved ant-design with less: #5847
- Update for use with Firestore: #5793
- Use more recent version of svg plugin: #5788
- Fix paths when built on windows: #5795
- Update styletron example: #5573
- Create with-firebase-hosting-and-docker example: #5373
- Added a new example with relay modern and a graphql server with express.: #4670
- Docs(readme): add documentation for
renderPagecustomization on _document.js: #5723 - Fix linting: 6b7864e57e481efb26e85e2ecb44e98d336be5ec
- Use correct default for query: #5851
- Make
<Head>children render first, then next/head children, then script preloads/styles: #5852 - Update/fix "examples/with-firebase-hosting": #5853
- Run compilers sequentially when in lambdas mode: #5862
Credits
Huge thanks to @JeroenKnoops, @pkellner, @searleb, @moflo, @stahlmanDesign, @oBusk, @illogikal, @sarovin, @dutradda, and @klujanrosas for helping!
Patches
- Add tsc type checking: #5826
- Mark react/react-dom as external when in lambdas mode: #5828
Patches
- Remove console.log after verifying the correct files are ignored: 1a5fc941ce53a3e192a388b0caa65922078e96e4
Patches
- Improve Unstated example so that it can shares state when switching pages: #5822
- Remove outdated note from with-jest example: #5820
- Fix edge case where file had
module.exportin the content: #5823
Credits
Huge thanks to @tylim88 and @5t111111 for helping!
Patches
- Simplify with-absolute-imports example: #5812
- Add test for generateBuildId: #5816
- Disable usage of esmodules when commonjs is enabled on the preset: 2d5b56a181a3635cffd5b75aacc2ce87c317053e
Credits
Huge thanks to @nodegin for helping!
Patches
- Removes some quotes in with-emotion example: #5802
- Fix typo: #5813
- Update polyfills: #5814
- Bring back module.exports because of backwards compat: #5815
Credits
Huge thanks to @JeroenKnoops, @mebrein, and @tuoxiansp for helping!
Patches
- Zeit -> ZEIT: #5804
- Format no-document-title description: #5803
- Add tests for isomorphic-unfetch bundling issue: #5805
Credits
Huge thanks to @matheuss and @peterhalasz for helping!
Minor Changes
- Dedupe only items with unique key: #5800
Patches
- Remove occurence of deprecated
urlprop in readme: #5786 - Convert babel plugins to typescript: #5789
- Add Typescript types for builds functions: #5791
- Fix for locale.split is not a function.: #5794
- Change module resolution extensions: #5801
- MDX example app: #5796
- Add license to the root directory: 2d31404d0782ba809b39a49e4c45797ef1adde12
Credits
Huge thanks to @lucleray, @matthewlilley, and @jesstelford for helping!
Patches
- Update with-emotion example to emotion 10: #5770
- Build / watch .ts core files: #5776
- Handle 404 thrown from send: #5779
- Transpile imports if module has module.exports: #5780
Credits
Huge thanks to @bell-steven for helping!
Patches
- Temporarily disable sass test: 86d144b63961ef4afd8efc5daac7425bb0131ad5
Patches
- Remove secret from 'publicRuntimeConfig' example: #5759
- Make sure const/async is transpiled: #5760
Credits
Huge thanks to @kozmic for helping!
Minor Changes
- Fallback to <script> loading behavior when preload is not supported: #5744
Patches
- Tests for "ssr: true" on dynamic pages: #5728
- Update with-firebase-auth example: #5742
- Feat(example): add react-relay-network-modern example: #5349
- Firebase cloud messaging example: #5689
- Move with-i18next example to external repo: #5743
- Remove unused vars and fix typo.: #5752
Credits
Huge thanks to @andersonleite, @obedparla, @HsuTing, @eldyvoon, and @isaachinman for helping!
Minor Changes
- Use <link rel=“prefetch”> for prefetching: #5737
Patches
- Run initializeStore() only once per route on server: #5644
- Update package dependencies for tests: #5676
- Refactor readBuildId.: #5720
- Iterate wording in documentation: #5718
- Fix bug report with-portals example #5694: #5714
- Remove flow types: #5704
- Add engines to next and next-server: #5724
- Test reports are not being published to Azure Pipelines: #5715
- Upgrade to webpack@4.26: #5729
- Fix location of production server file: #5731
- Remove glamorous example since its no longer maintained: #5738
Credits
Huge thanks to @maranomynet, @Enalmada, @andersonleite, @curran, @darrylsepeda, @vagisha-nidhi, @phs1919, @mattisfrommars, and @hozefaj for helping!
Patches
- Bump bump-babel-plugin-react-require to 3.0.1: #5693
- Refactor rendor verification to validate if it's a blocked page.: #5686
- Update README.md: #5698
- Update README.md: #5670
- Update styled-jsx: #5617
- Use native http instead of micro: #5706
- Local variable 'out' is redundant.: #5710
- Disable mjs support when in lambdas mode: #5712
Credits
Huge thanks to @kachkaev, @andersonleite, @paulogdm, @goldenshun, and @giuseppeg for helping!
Minor Changes
- Add node_modules bundling under the --lambdas flag for next build: #5690
Patches
- Fix typos on next-server.js comments.: #5672
- Remove <title> in _document.js in examples: #5679
- Unnecessary else if in next-server/server/render.js: #5609
Credits
Huge thanks to @andersonleite and @lucleray for helping!
Patches
- Add license to next-server: 79470c76b8500475b9898878347466b5844ce69b
Minor Changes
- Print assets sizes after build: #5664
- Add crossOrigin via props to _document Head and NextScript: #5646
Patches
- Fix link to constants (for phases) in next readme: #5643
- Update with-reasonml dependencies: #5651
- Update && optimize with-ant-design-less example: #5658
- Update contributing.md to use yarn.: #5662
- Trim buildId returned from generateBuildId: #5634
- Ingore intelij editor files: #5645
Credits
Huge thanks to @lucleray, @Enalmada, @callumlocke, @luffyZh, and @andersonleite for helping!
Patches
- Rename class to NextJsRequireCacheHotReloader: a0137d4fd8061dcfc223f3a0dc746f47dc7d84ef
- Simplify styled-components example: #5631
- Refactor with tailwindcss example to use next-css: #5461
- Update to the latest stable version of webpack: #5623
Credits
Huge thanks to @notrab and @Jero786 for helping!
Patches
- Don’t fail build on webpack warning: #5622
- Add with-external-styled-jsx-sass: #5618
Credits
Huge thanks to @giuseppeg for helping!
Patches
- Bundle @babel/runtime into server bundle: #5619
Patches
- Fix typos: #5599
- Examples/with-mobx : Fix and simplify: #5537
- Fix incorrect path for ts server example: #5612
- Clean up dependencies between next and next-server: #5615
Credits
Huge thanks to @pieterdd, @maranomynet, and @dcurletti for helping!
Patches
- Take full advantage of caching between builds: #5597
Patches
- Transpile styled-jsx into server bundle: #5588
- Handle decoding errors correctly: #5589
Minor Changes
- Remove registration code from initial markup: #5583
- Move
__NEXT_DATA__into an application/json script tag: #5584
Patches
- Update with-react-i18next example to use react-i18next@8.0.6: #5368
- Fix coverage: #5435
- Refactor test setup: #5391
- Fix the bug with creating duplicate components of with-rematch example: #5440
- Mobx-state-tree examples should use _app: #5362
- Update using emotion - fixes: Warning: <title> should not be used in _document.js's <Head>: #5454
- Fix typos on comments: #5457
- Update styled-components to v4: #5458
- Fixed auth token not getting refreshed on client cache reset: #5471
- Remove note on OSS/non-OSS issue: #5474
- Docker multistage example: remove devDependencies: #5477
- Fixed broken link: #5479
- Fix the bug with not passing props to wrapped element of with-rematch example: #5483
- Fix typo on README.md: #5484
- Upgrade react-native-web to fix bug: #5459
- Add cloud9 (c9.io) to examples: #5448
- Remove ignore plugin from webpack build flow: #5394
- Fix linter: #5350
- Output warnings and errors from webpack individually: #5442
- Add size-limit test: #5339
- Run yarn lint —fix: e8c73b45fa508ecca170529eacb8adf4d6ccec85
- Fix(examples/with-react-intl): Bug when accept-language is anything other then 'en': #5488
- Removed deprecated useBuiltIns from .babelrc: #5486
- Include node v10 for travis ci: #5490
- Update circleci build: #5491
- Make IE 11 happy: #5499
- [change] Update react-native-web example: #5489
- Feat: Added react-useragent example: #5507
- Updated contributing steps for next-server (#5518): #5405
- Fix typo in router error message: #5515
- Fix readme: #5513
- Fix ssr auth bug and dependency problems: #5543
- Fix issue with HMR not working: #5544
- Add PropType validation for next/head children: #5504
- Update circleci build: #5491
- Examples: fix <title> warning in the TypeScript example: #5549
- Remove broken link from progressive-render example: #5552
- Edit custom error hundling readme: #5571
- Add with style-sheet example: #5572
- Add a space on README: #5574
- Remove WriteFilePlugin: #5541
- Add Azure build status badge: #5399
- Update examples/with-antd-mobile: #5495
- Moved nanoid use from next-server to next/build: #5441
- Examples: with-typings-for-css-modules: #5446
- Fix: update correct path to use when exporting 404 page: #5470
- Move ensurePage to DevServer: #5582
- Add engines to package.json: #5585
- Add publish-canary script: e5fc980b04c87063bf443c84bcefd3cf97fe72fd
Credits
Huge thanks to @rafaelalmeidatk, @HaNdTriX, @zsxsoft, @yoDon, @janczizikow, @yuyokk, @lucleray, @zachariahtimothy, @lipp, @JeromeFitz, @sethbergman, @Cisneiros, @komcal, @Acerbic, @berezovyy, @timmywil, @ultrox, @ChrisMLee, @noelyoo, @oliviertassinari, @dcalhoun, @quentin-sommer, @benhjames, @dipiash, @janek26, @elmasse, @pd-smith, @antonmoiseev, @Koshukey, @giuseppeg, @xxhomey19, @radeno, @slaskis, @ajliv, and @CorentinAndre for helping!