Releases: vercel/next.js
v15.4.0-canary.57
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!
v15.3.3
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!
v15.4.0-canary.56
Core Changes
- chore: update rspack to 1.3.12: #79428
- Enable repeated
tsc
runs inpackages/next
without having to build first: #79782 - Run
tsc
in watch mode duringpnpm dev
: #79785
Example Changes
- chore: Update the
with-supabase
example to use the Supabase Auth block: #78913
Misc Changes
- Docs: Fix headings: #79777
- Turbopack Build: Fix metadata test: #79776
- chore(turbopack): Update
swc_core
tov26.2.2
: #79756 - re-enable vary header deploy test: #79753
- refactor(turbopack): Preserve indents in dev mode codegen: #79786
- Docs:
force-static
w/ 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-jsx
in lightningcss mode: #79802
Credits
Huge thanks to @SyMind, @delbaoliveira, @timneutkens, @eps1lon, @kdy1, @gaojude, @unstubbable, @icyJoseph, @sokra, @ivasilov, and @lukesandberg for helping!
v15.4.0-canary.55
Core Changes
- misc: remove leftover
clientInstrumentationHook
type: #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!
v15.4.0-canary.54
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-memory
backend: #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 Revalidating
page: #79493 - Docs: scrub html in
ld+json
script: #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!
v15.4.0-canary.53
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
backport
NPM dist tag for backports: #79538 - [release-new] fix: release pr commit contains
(#number)
at last: #79611 - Unflake
Undefined default export
test: #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!
v15.4.0-canary.52
Misc Changes
- Fix --tag argument in publish-release: #79599
- Ensure scripts are included in root tsconfig: #79600
- [release] fix:
GITHUB_TOKEN
is needed to open release pr: #79609 - [release-old] use
backport
NPM dist tag instead ofstable
for backports: #79612
Credits
Huge thanks to @ijjk and @devjiwonchoi for helping!
v15.4.0-canary.51
Misc Changes
- Disable
"use cache"
deploy tests: #79586 - report build-and-deploy failures only after retries: #79574
- [release-legacy] fix: set
stable
dist 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!
v15.4.0-canary.50
v15.4.0-canary.49
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
chunks
inrscModuleMapping
empty: #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
signature
so 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!