Core Changes
- Fix hot reloader edge case with broken webpack plugins: #15659
- Add additional pageProps check: #15667
- Error overlay should not be dismissable for a server error: #14011
- Strictly type
react-dev-overlay
: #15669 - Fix wrong asPath on 404: #15728
- Complile for ES5 in webpack 5 build: #15708
- Remove unused error: #15748
- Fix asPath of rewrite without basePath: #15760
- Improve router types: #15775
- Fix dotenv loading with cascading values: #15799
- Solve large portion of webpack 5 deprecation warnings: #15806
- Fix some webpack 5 deprecation warnings: #15797
- Rename exportTrailingSlash to existing trailingSlash property: #15768
- Support persisting the dev cache buster: #15827
- Fix CSS grid-column shorthand syntax: #15848
- Add missing nomodule polyfills and suggest using features only up to ES2019 for browser compatibility: #15772
- Bug fix: Font optimization: #15644
- Progress bar for static build: #15297
- Incremental static generation and regeneration in build output table: #14365
- Add support for
fallback: 'blocking'
: #15672 - fixed issue with runtime-config returning undefined when building or in a development environment: #15777
- Disallow basePath: false for internal routes: #15837
- Run Fast Refresh Loader in Babel Loader: #15851
- Add experimental image post-processing: #15875
- Allow absolute urls in router and Link: #15792
- Enhance module not found error: #15860
- Normalize serverless asPath value: #15914
- Adjust overlay modal padding on mobile: #15915
- Disallow re-export all exports from Next.js pages: #14325
- Delay server start message until it's listening: #15929
- Warn when Fast Refresh is disabled (React <16.10): #15931
- Remove querystring from the client: #15378
- Improve Vercel's badge: #15946
- notify component when route hash changes: #13894
- Added Friendly error for res.redirect 🐝: #15844
- Fix asPath normalizing for non-dynamic pages: #15960
- Make helpers.ts compatible with ie11: #15973
- Bug fix: Font optimization: #15984
- Fix amphtml link rel not respecting basePath: #15949
- Add browser polyfils for Node.js modules (webpack 5 backwards compat): #16022
- Move next-codemod to Next.js monorepo: #15536
- Resolve alias modules: #16033
- Add cli for @next/codemod: #16039
- Do not bundle caniuse-lite: #16048
- upgrade @ampproject/toolbox-optimizer to 2.6.0: #16043
- Do not assign to readonly property in Safari: #16051
- Improvements - Font optimizations: #16031
- Don’t prevent the browser’s default behavior for Alt key: #16003
Documentation Changes
- Use
next dev
for the getting started page: #15705 - Update smart-cdn link: #15707
- Document regex support for custom routes: #15714
- Add upgrade notes for Next.js 9.5: #15703
- Add clarification of routing to a dynamic route: #15771
- Add docs page for Create Next App: #15454
- Explain Sass Extensions in CSS Docs: #15830
- Update next build docs to include the --profile argument: #15766
- Remove outdated docs on serverless builds and runtime configs: #15907
- Example for Redirects (Custom routes): #15411
- fix typo in export-all-in-page: #15925
- Add variable expansion note: #15917
- Update Fast Refresh doc: #15923
- Add PWA Example: #15433
- Typo fixes in data-fetching document: #16004
Example Changes
- Fix with-sentry: #15694
- Update next-transpile-modules in with-react-intl example: #15730
- Update next-transpile-modules in all examples: #15739
- Fix gh-pages deploy script: #15724
- examples: Update with-electron .gitignore: #15783
- Remove dotenv from auth0 Next.js example: #15398
- with-electron-typescript build error fix: #15803
- Updated with-passport example to fix syntax errors: #15831
- Remove dotenv from with-firebase example: #15743
- await ctx.renderPage() in examples for TypeScript: #15528
- add payment description for with-stripe-typescript: #15888
- Replace Graphcool with dedicated example GraphQL server using Prisma: #15752
- Fix: with-mongodb-mongoose example improper fetch error handling: #15856
- Fix with-firebase-authentication example: Update the cookie when ID token refreshes on client: #15628
- remove dotenv from with-stripe-typescript: #15814
- Fix typos in blog-starter and blog-starter-typescript: #15807
- examples/custom-server-typescript upgrade dependencies: #15833
- Fix awaiting for sync method of remark in cms examples: #15555
- Update with-apollo examples to merge existing cache: #15804
- Update react-md examples for v2: #15723
- Remove horizontal scroll in CMS examples: #15921
- updated active-class-name example to also demo a
[slug]
path: #15924 - with-react-native-web: move meta viewport to _app.js: #15945
- example application on Redis (Lambda.store): #15532
- Update Sentry example to improve display of server errors: #15495
- Remove another broken demo link from with-graphql-faunadb: #16007
- Typo fix (built time -> build time): #16006
- Fix with-i18n-rosetta example: #16023
Misc Changes
- Stabilize another test: #15697
- Test that overlay appears: #15850
- Test macOS on canary: #15899
- Test macOS on canary with separate workflow: #15901
- Add tests for querystring-relative urls: #15911
- Add missing gitignore
- Remove common PR title prefixes
Credits
Huge thanks to @ijjk, @ekhattak, @lfades, @matamatanot, @Janpot, @jonespen, @RafalFilipek, @martpie, @ronaldstevanus, @samrobbins85, @DavidLemayian, @msreekm, @timneutkens, @kmturley, @MehediH, @marcmll, @Timer, @kripod, @prateekbh, @gelbartj, @darshkpatel, @jtaox, @agstover, @Weakky, @lwpamihiranga, @joejknowles, @styfle, @agarwalrounak, @rdimaio, @nirtamir2, @rokinsky, @JClackett, @Siggnja, @atcastle, @mlaursen, @joris, @robintom, @AubreyHewes, @epiacentini, @raibima, @evilrabbit, @tomdohnal, @markozxuu, @svenanderson, @hokaccha, @amiralies, @lqze, @sebastianbenz, @yuheiy, and @StarpTech for helping!