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: #61898
- Fix trailing slash for canonical url: #62109
- Fix metadata json manifest convention: #62615
- Improve the Server Actions SWC transform: #61001
- Fix Server Reference being double registered: #61244
- Improve the Server Actions SWC transform (part 2): #62052
- Fix module-level Server Action creation with closure-closed values: #62437
- Fix draft mode invariant: #62121
- fix: babel usage with next/image: #61835
- Fix next/server api alias for ESM pkg: #61721
- Replace image optimizer IPC call with request handler: #61471
- chore: refactor image optimization to separate external/internal urls: #61172
- fix(image): warn when animated image is missing unoptimized prop: #61045
- fix(build-output): show stack during CSR bailout warning: #62594
- Fix extra swc optimizer applied to node_modules in browser layer: #62051
- fix(next-swc): Detect exports.foo from cjs_finder: #61795
- Fix attempted import error for react: #61791
- Add stack trace to client rendering bailout error: #61200
- fix router crash on revalidate + popstate: #62383
- fix loading issue when navigating to page with async metadata: #61687
- revert changes to process default routes at build: #61241
- fix parallel route top-level catch-all normalization logic to support nested explicit (non-catchall) slot routes: #60776
- Improve redirection handling: #62561
- Simplify node/edge server chunking some: #62424
Credits
Huge thanks to @huozhi, @shuding, @Ethan-Arrowood, @styfle, @ijjk, @ztanner, @balazsorban44, @kdy1, and @williamli for helping!