Skip to content

Releases: vercel/next.js

v15.2.1-canary.0

26 Feb 23:37
Compare
Choose a tag to compare
v15.2.1-canary.0 Pre-release
Pre-release

Core Changes

  • Unify Link and Form prefetching: #76184

Credits

Huge thanks to @acdlite for helping!

v15.2.0

26 Feb 23:19
Compare
Choose a tag to compare

Core Changes

  • Fix unstable_allowDynamic when 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-overlay before 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-overlay for 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-20241206 to 372ec00c-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.tsx to 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.lock as package manager lockfile: #74056
  • Stop sourcemapping function names: #74085
  • Move ErrorIndicator to separate file: #74090
  • Upgrade React from 372ec00c-20241209 to 518d06d2-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.qualities in next.config: #74257
  • Upgrade React from 518d06d2-20241219 to 3b009b4c-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-20250102 to 3ce77d55-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-20250106 to 7b402084-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-20250107 to 42687267-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-20250108 to 74ea0c73-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-20250109 to `0560...
Read more

v15.2.0-canary.77

26 Feb 22:52
Compare
Choose a tag to compare
v15.2.0-canary.77 Pre-release
Pre-release

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 failed set 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!

v15.2.0-canary.76

26 Feb 03:48
Compare
Choose a tag to compare
v15.2.0-canary.76 Pre-release
Pre-release

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!

v15.2.0-canary.75

25 Feb 23:36
Compare
Choose a tag to compare
v15.2.0-canary.75 Pre-release
Pre-release

Core Changes

  • Upgrade React from 25677265-20250224 to 22e39ea7-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 N of --size-N with px value of base font 16px: #76384
  • Add event for webpack plugin customization: #76477
  • [dev-overlay] use rem for sizes and px for 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 .cursorignore to .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!

v15.2.0-canary.74

24 Feb 23:36
Compare
Choose a tag to compare
v15.2.0-canary.74 Pre-release
Pre-release

Misc Changes

  • refactor(CI): Convert daily turbopack (areweturboyet) integration tests into reusable workflows: #76251

Credits

Huge thanks to @bgw for helping!

v15.2.0-canary.73

24 Feb 20:45
Compare
Choose a tag to compare
v15.2.0-canary.73 Pre-release
Pre-release

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!

v15.2.0-canary.72

24 Feb 19:11
Compare
Choose a tag to compare
v15.2.0-canary.72 Pre-release
Pre-release

Core Changes

  • Flight loader: use normalModule.type to determine module type: #76338
  • update type for next/dynamic loading option to accept ReactNode: #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_DISABLED is 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-20250221 to 25677265-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!

v15.2.0-canary.71

23 Feb 23:35
Compare
Choose a tag to compare
v15.2.0-canary.71 Pre-release
Pre-release

Core Changes

  • [dev-overlay] fix: bottom stack count: #76375
  • [next] use tsconfig.build.json for 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 issues section: #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.md to contain descriptive build process: #76393

Credits

Huge thanks to @mischnic, @devjiwonchoi, @eps1lon, @huozhi, @ztanner, and @unstubbable for helping!

v15.2.0-canary.70

22 Feb 23:35
Compare
Choose a tag to compare
v15.2.0-canary.70 Pre-release
Pre-release

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!