Skip to content

v9.5.0

Compare
Choose a tag to compare
@timneutkens timneutkens released this 27 Jul 14:56
· 19955 commits to canary since this release

Minor Changes

  • Fix pages/index.js and pages/index/index.js behavior: #13699
  • Use buildManifest to load page JS: #13870
  • Enable Optional Catch-All by Default: #14687
  • Add no-anon-default-export Babel lint rule: #14519
  • Re-enable scroll restoration behind flag: #14046
  • Attach previewData to API Route request: #13373
  • Add res.redirect response helper: #14705
  • Stabilize revalidate: #15338
  • Use chunkhash instead of buildId for pages: #13937
  • De-experimentalize basePath config: #14283
  • De-experimentalize custom-routes: #14602
  • Stabilize Trailing Slash API: #15331

Patches

Documentation

  • Better NODE_ENV explanation: #13476
  • Update AMP validation docs: #13525
  • Update environment variables documentation: #13618
  • Update links in environment variables documentation: #13621
  • Suggest npx over npm init: #13637
  • Add missing CMS links: #13683
  • Add postcss-preset-env to the warning when customising the PostCSS configuration: #13695
  • Use proper Jamstack casing: #13697
  • Added React Strict Mode documentation: #13723
  • Add supported browsers and features: #13741
  • Small wording change (can => have to): #13757
  • Update instances of Now to Vercel where applicable: #13760
  • Adjust custom polyfill suggestion: #13766
  • Add App.getInitialProps example to the TypeScript page: #13785
  • Prefer docs site for documentation links in CMS examples: #13826
  • Add FAQ section to Built-in CSS Support: #13846
  • Small grammar fix.: #14043
  • Update custom server docs: #14147
  • Update preview-mode.md: #14210
  • Add Fast Refresh Documentation: #14273
  • Fix typo in fast refresh documentation: #14296
  • Docs: update links to docs site: #14305
  • [Docs] Focus on useRouter: #14515
  • Update the passHref link: #14584
  • Updated exportPathMap docs: #14630
  • Add basePath documentation: #14882
  • Add custom routes docs (rewrites, redirects, headers): #14887
  • Change default response code to 307 from 302 in docs: #14947
  • Fixed typo in page-without-valid-component.md: #15022
  • Update prerender-error.md: #14875
  • Fixed some minor typos: #15080
  • Fixed a minor typo: #15077
  • Update docs about type checking: #15103
  • Update docs for basePath custom-routes interop: #15140
  • Documentation improvements from feedback: #14544
  • Document API Middlewares with TypeScript: #14275
  • Docs: include test env in default env vars: #13708
  • Clarify optional catch all vs catch all routes: #15290
  • Fix common misspelling errors: #15288
  • Remove caveat in custom document docs: #15355
  • More helpful README: #14830
  • TypeScript documentation for _document.tsx: #15386
  • Add static tweet link: #15493

Core

  • Lint for invalid imports: #13482
  • Fail production build quickly on errors: #13496
  • Extract TypeScript preflight functions: #13510
  • Speedup tests: #13461
  • Replace fork-ts-checker-webpack-plugin with faster alternative: #13529
  • Update ampproject/toolbox-optimizer: #13547
  • Update babel config found log to new logging output: #13550
  • Remove old reloading code: #13554
  • Add support for rewriting non-fallback SSG pages: #11010
  • Add ETag Support for API routes: #12802
  • Updated browserslist/caniuse-lite: #13605
  • Update waitUntilValid parameters: #13612
  • Handle encoding for data requests and fix fallback response: #13622
  • Make getStaticPaths work with optional catch-all routes: #13559
  • Remove middleware function that is never called: #13642
  • Added no-shadow rule to eslint: #13645
  • Propagate Serverless Errors to Platform: #12841
  • Use inclusive naming for variables / examples: #13657
  • Remove granularChunks experimental option as it was launched: #13663
  • Remove remaining granular chunks references: #13672
  • Skip reading filesystem in favor of sourcesContent: #13677
  • Remove refs to old css experiment: #13673
  • Simplify CODEOWNERS: #13679
  • Do not syntax highlight collapsed frames: #13684
  • Removed autodll: #13669
  • Detailed error and warnings upon next() call: #13539
  • Remove unused variable: #13716
  • Update rewrite dynamic SSG error: #13724
  • Add a note about optional catch-all and rootmost route: #13791
  • Add initial labeler WebHook config: #13772
  • Stabilize CSS HMR Tests: #13811
  • Fix base path handling with URL queries in dev server: #13560
  • Refactor: Use native fs instead of fs-extra and promisify: #13841
  • Clean up render.tsx options: #13759
  • Preserve url better in exportTrailingSlash: #13840
  • Remove some leftovers after index page updates: #13876
  • Fix message on getStaticPaths conflict with getServerSideProps: #13874
  • Update handling for basePath to only automatically add: #13817
  • Combine taskr next-server tasks into one: #13842
  • Update AMP Optimizer to 2.5.1: #13925
  • Update to reject when test command fails: #13722
  • Change text from "Attention" to "Warning": #13973
  • Prepare custom routes loading for adding additional routes: #13857
  • Add scroll restoration handling after render is complete: #13914
  • Prioritize webpack bootstrapping first: #13987
  • Invert colors of compiling indicator: #13995
  • Make sure to watch all next-server files: #14023
  • Fix dynamic route match and basePath: #14036
  • Fix Fast Refresh with Page Config: #14041
  • Eliminate public folder enumeration: #14042
  • Normalize asPath between SSR and CSR with basePath: #14040
  • Revert "Add scroll restoration handling after render is done": #14075
  • Add test case for loading 404 on invalid bundle: #14082
  • Tests: fail when cannot replace content: #14087
  • Simplify test checks: #14094
  • Remove Head.rewind as it's no longer needed: #14091
  • Update AMP Optimizer to v2.5.2: #14095
  • Add test for title and routeChangeComplete: #14132
  • Update stats action for running locally: #14143
  • Refactor AMP bundle removal: #14130
  • Update AMP Optimizer to v2.5.3: #14173
  • Chore: add retry method to loadable types: #14152
  • Use requirePage for /_document and /_app: #14176
  • Update routeKeys to handle non-word characters: #12801
  • Refactor moveExportedPages to use getPagePath: #14247
  • Render a helpful message for null GS(S)P return: #14252
  • WSL should be considered Windows for HMR option: #14254
  • Update filename generation for client-side compilation: #14279
  • Fix typo in test names: "treversing" → "traversing": #14347
  • Correct /_next/data link for GS(S)P with basePath: #14376
  • Fix prefetch and some other issues with optional catch all: #14400
  • Open click-to-open editor in foreground for windows: #14307
  • Prettier trailingComma default value to es5 since 2.0: #14391
  • Do not remove no-FOUC styles too early: #14448
  • Shave a few bytes off the bootstrap code: #14457
  • Update route regex for optional catch-all parameters in named regexes: #14456
  • Remove buildId from server-side files: #14413
  • Update to rely on dynamic param values from proxy: #12608
  • Fix prerendered nested index handling: #14383
  • Normalize trailing slashes: #13333
  • Ensure dev overlay uses basePath for requests: #14475
  • Webpack 5 build compat: #14498
  • Remove deprecated webpack plugin in favor of the option: #14503
  • Handle rendering next/head outside of Next.js: #14511
  • Warn/revert custom devtool in development mode: #14285
  • Avoid adding basePath when it's not needed: #14535
  • Fix windows tests: snapshot backslash needs to be escaped: #14559
  • Fix native-url path parsing bug: #14442
  • Use entry option instead of custom make hook: #14527
  • Fix trailing slash handling in exporting pages with getStaticPaths: #14620
  • Use assetEmitted hook instead of afterEmit: #14626
  • Positive req/seq change is not a warning: #14640
  • Clean up plugins: #14676
  • Convert incremental generation cache to a class: #14660
  • Handle trailing slashes, even when query parameters: #14650
  • Update to use getDataHref in fetchNextData: #14667
  • Fix dynamic route encoding for NextLinks: #14281
  • Upgrade CSSNano Version: #14638
  • Fix link to file url behavior with trailingSlash: #14681
  • Avoid pulling extra code in the bundles for trailingSlash logic: #14696
  • Modify global css import error message: #14639
  • Fix encoding for env files in serverless mode: #14750
  • Add etag support for getServerSideProps/getStaticProps pages: #14760
  • Use single webpack runtimeChunk for Node.js compilation: #14722
  • Fix basepath root handling: #14756
  • Update warning for rewriting to auto-export dynamic pages: #14751
  • Convert link to function component: #14633
  • Fix URL being updated with basePath for 404 page: #14740
  • Add NextWebVitalsMetric type for reportWebVitals: #14675
  • Replace extra source line in webpack 5: #14793
  • Ie11 polyfills: #13704
  • Change authors member and links: #14367
  • Add webpack peerdependency to react-dev-overlay: #14842
  • BasePath: Resolve links against router pathname instead of window.location: #14804
  • Fix basepath browser back/forward issue: #14861
  • Add warning when viewport meta tag is added to _document.js: #13452
  • Fix bug in profiling test: #14921
  • Make sure routeKeys are PCRE compliant: #14987
  • Fix root route optional catch-all prerendering: #14986
  • Update next-bundle-analyzer readme: #14976
  • Convert profiling mode from configuration option to CLI switch: #14920
  • Make serverless-plugin compatible with webpack 5: #15010
  • Add filename to error in webpack 5: #14977
  • Make sure additional query values aren't added for auto-export: #15037
  • Update ignored patterns for webpack 4: #15096
  • Check for file name in anon export warning: #15061
  • Add handling for custom-routes with basePath: #15041
  • Avoid aggressive state loop: #15068
  • Relax encoding on dynamic prerendered routes: #14717
  • Trailing slash basepath: #14781
  • Replace node.js url module with WHATWG URL: #14827
  • Update Fast Refresh full reload warning: #15062
  • Make sure bad links in router methods resolve in production: #15135
  • Fix: Invalid flag provided to next build results in UnhandledPromiseRejectionWarning: #15049
  • Stabilize azure test: #14999
  • Fix Web Workers with Fast Refresh: #15145
  • Correctly fetch data for root route: #15149
  • Find pages/_document.js chunk in development: #15172
  • Fixed prettier --write args in package.json: #15187
  • Make type checking compatible with webpack 5: #15158
  • Make sure the correct chunk names are used in webpack 5: #15204
  • Fix basepath trailing slash: #15200
  • Use core-js for URL(SearchParams) Polyfill: #15209
  • Improve query conversion logic: #15236
  • Fix ky-universal-polyfill in webpack 5: #15227
  • Add test for query param bug #15233: #15238
  • Fix app-document-import-order test for webpack 5: #15224
  • Fix DevServer#close doesn't close all resources: #15247
  • Fix no-anon-default-export for webpack 5: #15293
  • Drop module: esnext requirement in tsconfig.json: #15276
  • Fix broken example link in docs for catch all routes: #15295
  • Fix static data fetching when using absolute assetprefix: #15287
  • Add Fast Refresh tests on macOS: #15300
  • Do not duplicate compilation errors: #15299
  • Verify that dataroutes work correctly with assetPrefix: #15309
  • Add test for main.js in webpack.config.js: #15311
  • Upgrade browserslist: #15324
  • Bring over fixes from #15185: #15326
  • Simplify trailing slash regex: #15335
  • Fix basepath router events: #14848
  • Added production, basic, and Fast Refresh test suites on macOS: #15366
  • Fix cancellation control flow: #15361
  • Fix Peer Dependency in React Refresh Utils: #15375
  • Upgrade actions/cache to v2.1.0: #15415
  • Update webpack to land chokidar patch for all Next.js users: #15460
  • Tweak test retries for invalid-href suite: #15459
  • Always resolve after router.prefetch(): #15448
  • Make dynamic routes case-sensitive: #15444
  • Stabilize more tests: #15470
  • Upgrade cssnano-simple dependency: #15488
  • Fix peer dependency: #15511
experimental
  • Filtering unwanted jsx type in eslint plugin: #13520
  • Add plugin to recommended eslint-plugin-next config: #13926
  • Bug fixes for css eslint rule: #14202
  • Only required polyfill.io lint rule: #15277
Create Next App
  • Add .vercel to gitignore: #13595
  • Remove unnecessary catch: #13639
  • Chore(create-next-app): remove example picker: #13977
  • Feat(create-next-app): Use CSS and CSS modules in default application template: #13983
  • Use HEAD req for isUrlOk check: #14994
  • CNA: replace make-dir with core recursive mkdir: #15006
  • [create-next-app] Add engines to package.json: #15282

Examples

  • Update with-redux example to use getStaticProps: #13378
  • Update some examples to Vercel: #13477
  • Add example with next-translate: #13511
  • Fix typo in next-translate example: #13523
  • Add with-web-worker example: #13444
  • Update firebase to fix install errors on node 14: #13493
  • Update linaria example: #13568
  • Add with-mongodb example: #13028
  • Update Stripe example: #13581
  • Updated with redux persist: #13577
  • Updated with redux thunk example: #13576
  • Updated examples using NEXT_DATA: #13567
  • Remove unused file from with-redux: #13570
  • Updated with-magic example with new Environment Variables Support in Next.js 9.4+: #13623
  • Fix with antd ssg: #13611
  • Update with-typescript to remove React.FC: #13643
  • Update with-redux-wrapper example: #13649
  • Update chakra-ui example to pass through pageProps in custom app: #13690
  • Refactor with redux observable: #13615
  • Update test description of with typescript eslint jest example: #13732
  • With-videojs fix: #13745
  • Update Firebase Auth Example for New Env Support: #13587
  • Add with-typescript-types: #13746
  • Update fetch, env, UI, deps, and docs: #13756
  • Replace dotenv example: #13770
  • CMS Cosmic Example: #13499
  • Normalize example gitignores: #13768
  • Update to modern env handling for userbase example: #13774
  • Fix sample command: #13789
  • Docs: Fix links to Agility CMS Examples: #13794
  • Removed React.FC from blog-starter-typescript: #13797
  • Removed React.FC/FunctionComponent from with-typescript: #13798
  • Refactor with-electron: #13800
  • Enhance-with-redux-saga: #13764
  • Move with-apollo to SSG: #13742
  • Refactor with-electron-typescript: #13802
  • Remove React.FC from with-stripe-typescript: #13803
  • Fixed graphql-hooks example data prefetch: #13799
  • Move api-routes-apollo-server-and-client to SSG: #13782
  • Remove getInitialProps from with-rematch: #13834
  • Update test snapshot in with-typescript-eslint-jest: #13847
  • Fix typo in comment: #13883
  • Update sentry example reade: #13899
  • Move with-relay-modern to SSG: #13882
  • Move with-graphql-hooks to SSG: #13858
  • Move with-react-relay-network-modern to SSG: #13878
  • Chore: remove-redundant-example-react-import: #13907
  • [Example] Deprecate with-sentry in favor of with-sentry-simple: #13904
  • Adding Example: with-recoil: #13380
  • Update the with-graphql-react example: #13928
  • using-preact: add Prefresh, DevTools & chunking fix: #13976
  • Move with-apollo-and-redux to SSG: #13779
  • Fix variable shadowing in blog-starter example: #13988
  • Move api-routes-apollo-server-and-client-auth to SSG: #13849
  • Move with-typescript-graphql to SSG: #13854
  • With-mux-video update: #13992
  • Added .next folder to gitignore for examples/blog-starter: #14003
  • Update with-chakra-ui: #14035
  • remove getInitialProps from with-firebase-authentication: #13895
  • [Example] remove getInitialProps from aws-amplify-typescript: #13898
  • Fix route in custom-server-koa example: #14080
  • Add new import flow to CMS examples: #14053
  • Fix using-preact dev mode issues: #14098
  • Update with-userbase Example: #14100
  • Fixed Avatar.js component where Strapi CMS would fail when fetching an image: #14084
  • Update deploy button in the userbase example: #14107
  • Use the expected import: #14111
  • Use envLink for deploy buttons: #14110
  • Fix(example): needs TypeScript support: #14115
  • [with-recoil example] use functional form of state updaters for simplicity: #14014
  • Fix broken link: #14158
  • [Example] remove getInitialProps from aws-amplify: #13896
  • Fix: validatePassword function logic: #14183
  • Update Data Fetching Method: #14190
  • Fix GraphQL Hooks Example Safari bug: #14205
  • Switch to function component with-react-intl example: #14217
  • Using cross-spawn for cross platform use in with-react-intl: #14231
  • Chore(examples): update next to latest on cms examples: #14230
  • Added missing .env.local.example file for with example firebase-authentication-app: #14235
  • (fix) Missing props key from getServerSideProps: #14255
  • Add c=1 to deploy buttons on CMS Examples: #14293
  • Fix csp errors in with-strict-csp-app example: #14262
  • Thor/stripe/add use shopping cart example: #14239
  • Update Algolia's Instant Search Example: #14233
  • Remove getInitialProps from with-cookie-auth-fauna: #13887
  • Update graphql-hooks with memcache: #14364
  • Add A/B Tests and Feature Flags example: #13629
  • Add example for proxying upstream with custom routes: #14374
  • Use the vercel CLI for with-zones: #14480
  • Remove unused package in with-apollo-and-redux example: #14507
  • Fixing the docker multi-stage build failures: #14513
  • Update index.js: #14528
  • Add 'with-next-auth' example: #14530
  • Add [with-storybook-typescript] example: #14398
  • Remove next-cookies and prop-types: #14579
  • Tailwind config: also look for .tsx .jsx and .ts: #14621
  • Introduce react profiling production flag: #13873
  • Add @prefresh/next to dependencies of preact example: #14649
  • Add Environment Variables Example: #14575
  • [examples/with-three-js] Component with useLoader can use dynamic import: #14648
  • Fetch Data on Runtime (with-MongoDB-mongoose example): #14674
  • Fix NextSeo example: #14643
  • Example with Monogdb ReamlWeb: #14555
  • Fix extra char in readme cms-sanity: #14725
  • Update environment-variables example: #14653
  • Update README.md for next-auth-example: #14763
  • Update with-firebase-authentication styles: #14771
  • Update examples React to 16.13.1: #14899
  • Update example: update to new stitches version and api: #14876
  • Fix cms-wordpress preview mode for post revisions: #14911
  • With-stitches-styled: Update package.json: #14934
  • Update package.json: #14938
  • Update _document.js: #14937
  • Update _document.js: #14936
  • Add Prisma.io Examples List: #14917
  • Updates thre three-js example with drei and modules transpilation: #14864
  • With-stitches-styled: Update package.json: #14958
  • Fix: Destructuring error in the cms-contenful example: #14970
  • [cms-sanity] Expose the project id to the browser: #14941
  • [cms-wordpress] Nest one-to-one relationships: #15007
  • Fix download instructions in with-next-auth example: #15028
  • Update README.md in Emotion starter example: #15035
  • (chore) Add with-goober as an example: #15070
  • Update dependencies for with-iron-session example: #15065
  • Add .next to .gitignore: #15088
  • Updated useUser.js: #14974
  • Removed React import from pages/index.js: #15144
  • Update/with-react-jss: #15156
  • Fix with-expo-typescript install command: #15177
  • Mark preact as externals for server bundle: #15110
  • Update examples/with-apollo: #15178
  • Update README.md: #15198
  • Added .gitignore to examples that are deployed to vercel: #15127
  • (chore) Add with-filbert as example: #15161
  • Improve with-sentry readme: #15205
  • Update examples/with-carbon-components: #15190
  • Update with-universal-configuration-build-time example: #15228
  • Remove broken demo from with-graphql-faunadb: #15267
  • Update MST typescript example to use hooks: #15237
  • Update to 3.0 in api-routes-apollo-server-and-client example: #15270
  • Remove with-universal-configuration-runtime: #15268
  • Chore(examples): update prismic-javascript to 3.0.1: #15263
  • Updated import filename to the correct one: #15298
  • Update react-md url for with-react-md: #15325
  • Correct order of packages in Sentry example explanation: #15334
  • Update api-routes-graphql README Link: #15350
  • Updated typo: #15357
  • EDITED: Cosmic demo updates: #15308
  • Fixes Hapi custom server example: #15292
  • MongoDB Example: #15029
  • Update Sentry example for use with Sentry/Vercel integration: #15349
  • Add Sitemap Example: #15047
  • Example for Rewrites (Custom routes): #15403
  • Link with-polyfills example to updated polyfill docs: #13943
  • Upgrade Apollo Client to 3.0 in examples/api-routes-apollo-server-and-client-auth: #15272
CMS Examples

Credits

Huge thanks to @chandan-reddy-k, @Timer, @aralroca, @artemisart, @sospedra, @prateekbh, @Prioe, @Janpot, @merceyz, @ijjk, @PavelK27, @marbiano, @MichelleLucero, @thorsten-stripe, @todortotev, @Skn0tt, @lfades, @timneutkens, @akhila-ariyachandra, @chibicode, @rafaelalmeidatk, @kirill-konshin, @jamesvidler, @JeffersonBledsoe, @tylev, @jamesmosier, @filipemarins, @Remeic, @vvo, @timothyis, @jazibsawar, @coetry, @adam-zacharski, @danwilliams, @tywmick, @matamatanot, @goldins, @mvllow, @its-tayo, @sshyam-gupta, @wilbert-abreu, @sebastianbenz, @jaydenseric, @developit, @dylanjha, @darshkpatel, @spinks, @stefanprobst, @moh12594, @jasonmerino, @cristiand391, @HyunSangHan, @mcsdevv, @M1ck0, @hydRAnger, @alexej-d, @valmassoi, @todortotev, @motleydev, @ekhattak, @jpedroschmitz, @JerryGoyal, @bowen31337, @phillip055, @balazsorban44, @chuabingquan, @youhosi, @andresz1, @bell-steven, @areai51, @wssn, @ndom91, @anthonyshort, @zxzl, @jbowes, @IamLizu, @PascalPixel, @ralphilius, @ysun62, @muslax, @elsigh, @AsherFoster, @botv, @tomdohnal, @christianalfoni, @tomasztunik, @gsimone, @illuminist, @jplew, @OskarKaminski, @RickyAbell, @steph-query, @ericgoe, @MalvinJay, @cristianbote, @Ashikpaul, @jensmeindertsma, @amorriscode, @abhik-b, @awareness481, @LukasPolak, @arvigeus, @romMidnight, @jackyef, @drumm2k, @kuldeepkeshwar, @bogy0, @Belco90, @wawjr3d, @tanmaylaud, @SarKurd, @kevinsproles, @dstotijn, @styfle, @blackwright, @BrunoBernardino, @heyAyushh, @Necmttn, @TrySound, @obedparla, @NyashaNziramasanga, @tonyspiro, @kukicado, @ceorourke, @MehediH, @robintom, @karlhorky, and @tcK1 for helping!