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.browser in 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
ReadableStream in RenderResult: #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
Link to pass event to onClick handler: #27723
- Allow scroll prevention on hash change: #31921
- Add support for async fn / promise in next.config.js/.mjs: #33662
- Fix
lazyRoot functionality for next/image: #33933
- Change SWC minify from beta to release candidate: #34056
- Make
Router state immutable: #33925
- Stop exposing internal
render and renderError methods from next/client: #34069
- Add api-utils helper for testing: #34078
- feat(next-swc): Update swc: #34045
- Deprecate
concurrentFeatures with runtime: #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
renderToStream with 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/image usage from node_modules: #33559
- Fix included flight manifest on node runtime: #34113
- Fix: Use
react-dom/server.browser when reactRoot: 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
.env file 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
runtime is set to nodejs: #34228
- Optimize the web server size: #34242
- feat: allow
node-sass@7 as 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
dangerouslyAllowSVG and contentSecurityPolicy: #34431
- Revert swc css bump temporarily: #34440
- update webpack: #34444
- Update server-only changes HMR handling: #34298
- Fix
.svg image optimization with a loader prop: #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
.end instead of .send when 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
profileData to data in CSR page: #34018
- Improve Form Guide Contents: #33913
- Add
async to 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:
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 in the Sanity example:
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!