Core Changes
- Add codemod documentation: #16067
- Remove tslint disables: #16116
- Strongly type PageLoader: #16132
- Strongly type Head Manager: #16144
- Improve page loader types: #16145
- Dedupe ComponentRes type: #16148
- Remove unused router method: #16149
- Add initial handling for dynamic route href resolving and rewrites on the client: #15231
- Reduce router code: #16159
- Convert performance relayer to TypeScript: #16161
- Convert next/client to TypeScript: #16167
- Remove unused dependency: #16168
- Share NEXT_DATA type instead of recreating it: #16174
- Modify low priority files in manifest: #16181
- fix: add missing dependency caniuse-lite: #16091
- Refactor files: #16184
- Update rewrite params query appending: #16189
- Update to Terser 5: #16194
- Make css-minimizer compatible with webpack 5: #16250
- Fix data URL with root-catchall and basePath: #16263
- Handle cases where
config is exported after its declaration: #16211
- ci: add pnp test: #16255
- Update stylesheets on page navigation: #16126
- Fix forEach error in CSS commit in ie11: #16282
- Allow React experimental version without warning: #16140
- Add experimental webpack 5 cache option: #16307
- Fix old TypeScript version compatibility: #16288
- Replace broken
prop-types-exact package: #15953
- Force browser to recompute layout on page nav: #16318
- Add
<link> attributes in proper order: #16319
- Add at attribute to image preload link: #16328
- Fix IE11 CSS Compatibility: #16336
- Make
loadPage track success of script loading: #16334
- Normalize request URL/asPath for fallback SSG pages: #16352
- Reduce filesystem lookups during bootup: #16354
- Fix basePath and public folder check ending routes early: #16356
- Fix page checking failing with trailingSlash: #16362
- Add serialization for mini-css-plugin webpack 5 caching: #16379
- Correct comment on --help: #16391
- Fix mini-css-plugin webpack 5 deprecation warnings: #16390
- Add debug flag for extra build output: #16399
- Warn on duplicate Sass deps: #16398
- Ensure unknown static paths 404 for data request: #16401
- AMP compatibility for Font optimization: #16208
- Solve last mini-css-plugin webpack 5 warning: #16447
- Fix optional catch-all
/index revalidate params: #16451
- Do not alias Node modules for webpack 4: #16452
- Fix un-transpiled client file with rewrites: #16453
- Make sure to break rewrites chain when dynamic route matches: #16455
- Fix render cancel behavior: #16462
- Add webpack 5 caching for css optimizer: #16467
- Correct shallow routing behavior through history: #16477
- Correct initial fallback route param values: #16485
- Add webpack 5 cache invalidation: #16494
- Add error when document component isn't rendered: #16459
- Update Fast Refresh warning: #16496
- Store css file dependencies info for dynamic imports and apply it at SSR: #12843
- Enable webpack 5 caching by default: #16531
- Reuse existing
<link rel=stylesheet> on nav: #16537
- Replace client-side transitions with tags: #16581
- Do not rely on
cssText: #16611
- remove unneeded error: #16636
- fix: Promise.prototype.finally is object: #16620
- Auto enable React's new JSX transform on 17.x: #16603
- fix: Promise.prototype.finally is object: #16620
- Export return type for GetStaticPaths: #16580
- [test] Update hydration marker for React 17: #16756
- Revert #14580: #16757
Documentation Changes
- Fix link to create-next-app docs: #16069
- Mention header overriding behavior: #16089
- Correct a couple of small grammar errors.: #16221
- how to bundle-analyzer with next-compose-plugins: #15370
- Update docs for server-side code in GS(S)P props: #16198
- Fix typo in fast-refresh.md: #16292
- Update build CLI docs with new flag: #16419
- Add version note to path aliases docs: #16479
- Document req and res: #16432
- Documentation updates: #16503
- Update fast-refresh.md to fix 404 link: #16505
- Add Kontent example: #16034
- Fix github docs links: #16540
- Include yarn instructions: #16565
- Add activeClassName to Link examples: #16658
- Clarify sending to Google Analytics in reportWebVitals: #16664
- Update preview mode docs to include API Routes: #16705
Example Changes
- Fix: with-firebase-authentication event listener: #16057
- update with-filbert-js: #15968
- Add stripPrefix of webpack://_N_E/: #15955
- Add with-reactstrap example: #15474
- removed renderToHTML definition from with-flow example: #16137
- removed renderToHTML from ssr-caching and custom-server-hapi in examples: #16138
- examples: Add with-supabase-auth-realtime-db example.: #16016
- Add MSW usage example: #13731
- Update Storybook examples to v6.0: #16139
- Added next-sitemap example: #15997
- [Examples] Remove horizontal scroll in CMS examples : #16295
- Add example: Unsplash integration: #16142
- Remove experimental example: #16497
- basePath should also append in urlPrefix: #16376
- Update environment variables example: #16536
- examples/with-styled-components: Fix missing peerDependency: #16532
- feat: upgrade react-intl workflow in example: #16215
- Update with-tailwindcss example: #16370
- Add with-mdx-remote example: #16613
Misc Changes
- Add test case for preloading buildManifest: #16183
- Test basic css module prefetching without compose: #16134
- Fix module not found test
- CNA: Add warning about permission: #14889
- Eslint preload: #16199
- Update next-google-analytics to work with .env files: #16529
- Increase font test timeout for Windows: #16527
- Add tests for preview mode caching: #16579
- Add missing gitignore files
Credits
Huge thanks to @francisrod01, @kuldeepkeshwar, @tm1000, @ijjk, @khasty720, @Timer, @madiknox, @thorwebdev, @merceyz, @kettanaito, @rafaelalmeidatk, @tuan-m-ng, @cargallo, @chicoxyzzy, @kevva, @iamvishnusankar, @agarwalrounak, @jamesmosier, @louisjuliendo, @timneutkens, @todortotev, @atcastle, @matamatanot, @sclm, @prateekbh, @janicklas-ralph, @crashncrow, @sharils, @lfades, @weichienhung, @khades, @christianpv, @Simply007, @simnalamburt, @jaredpalmer, @longlho, @needcaffeine, @rparet, @Janpot, @samrobbins85, @daneden, @NorbertLuszkiewicz, @piglovesyou, @awareness481, @sakito21, @balazsorban44, @tengmaoqing, @pkrawc, @arthurjdam, and @joris for helping!