7.0.0
Read the blog post on nextjs.org/blog/next-7
Major Changes
- Webpack 4, react-error-overlay, react-loadable: #4639
- Implement hard-source-webpack-plugin: #5181
- Implement webpack autoDLLPlugin in development: #4951
- Throw error if getInitialProps is defined as as instance method: #4922
- Remove __next-error div: #5107
- Upgrade to Babel 7 stable: #5042
- Note that this is semi-breaking as we already used Babel 7 beta. If you don't have a
.babelrcthere is no breaking change. If you do have a.babelrcyou'll have to upgrade the specific preset/plugin to the latest version. - Make sure all your
@babel/dependencies are using version7.0.0 - See https://github.com/babel/babel/releases for breaking changes
- Note that this is semi-breaking as we already used Babel 7 beta. If you don't have a
- Upgrade styled-jsx to v3 (#4936)
- See https://github.com/zeit/styled-jsx/releases/tag/v3.0.0 for changes
- The main breaking change being that global external styles now require
css.globalhttps://github.com/zeit/styled-jsx#external-css-and-styles-outside-of-the-component
- Rename commons directory to runtime: #4853
- Compile pages to .next/static directory: #4828
- Use nonce attribute for all scripts and preloads if provided: #4539
- Support
eventsemitter for router: #4726
Minor Changes
- Make initial HTML smaller: #5183
- Compile away next/link proptypes in production: #5155
- Remove obsolete webpack plugins: #5158
- Improvements to on-demand-entries: #5176
- Trigger page register when module is executed: #5115
- Change server error overlay to white to be consistent with react-error-overlay: #5104
- Provide a way to copy files in exportPathMap: #5089
- Remove module.exports from client bundles: #5093
- Use preset-react's development option + enable modules transform in test env: #5081
- Use terser for minification: #5083
- 404 routing for static export without exportPathMap: #5036
- Open editor from error-overlay: #4979
- Scroll to name property when hash is provided to
<Link>: #5019 - Replace uuid with nanoid: #4987
- Use same extensions webpack supports, with addition of .jsx: #4960
- Allow extending transform-runtime without losing Next.js defaults: #5022
- Factor out NextScript inline source (#4939): #4934
- Respect
targeton <a/> tags under Link: #4763 - Allow app component to be wrapped with custom enhancer when rendering: #4762
- Add support for rendering .css chunks: #4861
Patches
- Add mocha example: #5182
- Clear node_modules/.cache before saving node_modules on travis: 249d4be
- Fix test intermittently failing: 3dae7cf
- Add test for cache-control in development: 873ac5d
- Update 404 static cache header to not cache: #5146
- Upgrade with-jest dependencies: #5149
- Remove code that is no longer in use: #5147
- Add react-jss example: #5140
- Update with-ant-design example: #5141
- Add with-context-api example: #5154
- Don’t read package.scripts if there’s no scripts defined: #5168
- Remove reference to ./css.js from npm files list: #5179
- Update next.config in with-webpack-bundle-analyzer example to avoid issue with Next.js in CI: #5135
- Set cwd on babel-loader: #5127
- Make exportPathMap / _next routes work with useFileSystemPublicRoutes disabled: #5131
- Add tests for
useFileSystemPublicRoutes: #5131 - Fix @babel/env modules config: #5119
- Update hoist-non-react-statics: #5117
- Make non-existent routes under
/_nextreturn 404: #5120 - Fix custom-server-typescript not typechecking: #3954
- Fixed package.json: #4654
- Remove unused flow definitions: #5094
- Use publicRuntimeConfig for universal-configuration-runtime example: #5101
- Update imports in with-redux example: #4512
- Use DefinePlugin to pass distDir instead of manually passing: #5105
- [with-apollo-auth] Only run getDataFromTree() on server (fix #4775): #5112
- Add with-yarn-workspaces example: #5034
- Move
next exportinto it's own directory: #5084 - Fix dependencies: #5091
- Make sure that 404's is not cached by CDN:s: #5088
- Remove obsolete route: #5092
- Added example with IBM Carbon Components, with demonstrated customizability: #4932
- Add with-mobx-state-tree-typescript example (re-submitting due to accidental deletion): #5077
- Update example: with-sitemap-and-robots-express-server: #4579
- Fix HMR when parent directory starts with '.': #4589
- Make warning about false positives clearer: #5079
- Use
asinstead ofurlto determine URL newness: #4153 - Add with-sitemap-and-robots-express-server-typescript example: #5076
- Fix react-intl example: #4840
- Add mention of canary vs stable: #5074
- Example with-reasonml dependency updates: #5048
- Keep chunks filenames in production mode: #5029
- Add circleci: 2f2eaf2
- Fix inconsistency in dynamic tests: #5071
- Apply sideEffect at DidMount on the client side: #5068
- Fix with-custom-reverse-proxy example: #5064
- Update .babelrc: #5063
- Update dependencies in package.json: #5066
- Fix devtoolModuleFilenames for react-error-overlay: #5055
- Upgrade to styled-jsx@canary: #5067
- Split out Loadable.Capture and make NoSSR smaller: #5060
- Fix 404 export: #5061
- Send credentials with on-demand-entries-ping: #5053
- Set mode for DLL bundle: #5059
- Fix loading... issue: #5058
- Fixes dynamic chunks preload links, use
hrefinstead ofsrc: #5047 - Css example upgrade: #5039
- Remove dublicate className from head: #5026
- Remove UNSAFE_ lifecycle methods from
next/head: #5020 - Remove UNSAFE_ lifecycles from tests: #5031
- Add warning for broken popstate: #5000
- Fix broken hash scroll logic: #4766
- Allow Duplicate Open Graph Image Tags: #4851
- Improve getDisplayName util: #4944
- Update yarn.lock: cf5dd4a
- Replace deprecated
props.urlin readme: #4952 - Make onClick Link tests more consistent: #4954
- Replace deprecated
props.urlin examples: #4953 - Update with-loading example: #4836
- Fix shallow routing examples using old React lifecycle and deprecated
props.url: #4950 - Update routing samples: #4864
- Note babel-plugin-styled-components: #4882
- Use contenthash instead of chunkhash: #4894
- Update with-sentry example: #4859
- Let webpack handle contenthash: #4895
- Fixed server status message in with-redux-observable-example.: #4900
- Await preloading right before rendering the page: #4896
- Improve glamor example: #4893
- Add with-strict-csp example: #4858
- Run manual-bind-to-arrow codemod: #4906
- Run rename-unsafe-lifecycles as preparation for React 17: #4907
- Fix decorator warnings: #4910
- Run method sorting codemod: #4909
- Add slate.js example: #4899
- Make next/link async safe: #4911
- Set correct status for sigint: #4917
- [BUG] Fix emit-file-loader compatibility with Webpack 4: #4918
- Remove with-global-stylesheet example: #4913
- Rewrite with-dotenv example: #4924
- Update with-custom-babel-config example: #4923
- Added example: with-typestyle: #4926
- Update Apollo links in examples: #4933
- Make wasm files load on ssr: #4942
- Make
Router.events.onwork even when router is not initialized: #4874 - Improve custom-server-fastify example: #4805
- Update example: Semantic-UI: #4815
- Update with-react-ga example: #4816
- Update with-react-intl example: #4817
- Update with-redux-observable example: #4818
- Update client-only-render-external-dependency example: #4822
- Update with-react-intl example: #4825
- Fix micro readme example: #4827
- Update with-asset-import example: #4830
- Update with-flow example: #4835
- Update with-markdown example: #4839
- Fix dynamic import page navigation: #4842
- Update readme with alternative hostname option: #4829
- Upgrade serve: #4857
- Update with-prefetching example: #4850
- Missing babel configuration in sw-precache example: #4856
- Update RNW example: #4787
- Ensured process exits after static export: #4747
- Upgrade serve in with-static-export example: #4800
- Upgrade fastify in custom-server-fastify: #4801
- Update @types/next to latest in typescript example.: #4750
- Improve documentation on runtime configuration: #4756
- Add example of process.env runtimeConfig: #4759
- #4751 - Explicitly mention install when cloning examples: #4758
- Fix #4574: getInitialProps is not called on _error page for client-side errors: #4764
- [with-apollo] simplify apolloState prop: #4755
- Merge url query with exportPathMap: #4678
- [hello-world example] remove unused file: 6a489ef
- Fix code splitting on Windows: #4685
- Make sure hashchanges get triggered: #4676
- Added note for AWSAppSyncClient: #4611
- Add [with-storybook] example: #4588
- Fix typescript examples: #4704
- Improve with-mobx example: #4705
- Upgrade styled-jsx to 2.2.7: #4714
- Fix(with-pkg): Rename
disttoserver: #4727 - Apollo example: avoid double render in browser: #4734
- Prepend polyfills only once (#4738): #4643
Credits
Huge thanks to @stephensauceda, @HaNdTriX, @linqiu, @HenriBeck, @rafaelalmeidatk, @maurodaprotis, @rekomat, @kylemh, @juliaqiuxy, @probablyup, @implicitdef, @dutradda, @DullReferenceException, @dipiash, @keeth, @ptomasroos, @allpwrfulroot, @yoDon, @klyburke, @NathanielHill, @gcpantazis, @istarkov, @Enalmada, @tusbar, @danielr18, @vpicone, @popugune, @itsfadnis, @abusada, @tomaswitek, @mfix22, oliviertassinari, @Tomekmularczyk, @garmeeh, @lucleray, @kachkaev, @dbo, @giuseppeg, @mxstbr, @sayuti-daniel, @kalabro, @HeyHugo, @novascreen, @connor-baer, @sahalsajjad, @tim-phillips, @brainkim, @adrianmcli, @Gilaz, @terrierscript, @stefanivic, @jmaguirrei, @dcalhoun, @lkostrowski, @jamesreggio, @albinekb, @jhartley218, @mherodev, @klujanrosas, @cherniavskii, @Skaronator, @vinpac, @Rokt33r, @evenchange4, and @NikitaVlaznev for helping!