Skip to content

Releases: vercel/next.js

v15.2.1-canary.4

28 Feb 23:36
Compare
Choose a tag to compare
v15.2.1-canary.4 Pre-release
Pre-release

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-control header 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-integration not 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!

v15.2.1-canary.3

28 Feb 18:48
Compare
Choose a tag to compare
v15.2.1-canary.3 Pre-release
Pre-release

Core Changes

  • report compiler duration for webpack and improve numbers: #76665
  • [dev-overlay] fix dark theme missing close bracket: #76672
  • Remove revalidate property from incremental cache ctx for FETCH kind: #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!

v15.2.1-canary.2

27 Feb 23:36
Compare
Choose a tag to compare
v15.2.1-canary.2 Pre-release
Pre-release

Core Changes

  • [dev-overlay] change css var for terminal: #76590
  • [dev-overlay] Discriminate stack frame settled typed: #76517
  • Remove obsolete sourcePackage references: #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-revalidation test: #76600
  • Fix octokit.rest.issues.addLabels call: #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 devIndicators and note on deprecated options: #76611
  • 15.2 docs: document missing htmlLimitedBots option: #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!

v15.2.1-canary.1

27 Feb 13:16
Compare
Choose a tag to compare
v15.2.1-canary.1 Pre-release
Pre-release

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_core to v16.0.0: #76414

Credits

Huge thanks to @bgw, @ijjk, @molebox, @kdy1, @timneutkens, and @devjiwonchoi for helping!

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 [email protected]: #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!