Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modern JS for SSR Bundles #7961

Merged
merged 4 commits into from Jul 22, 2019
Merged

Modern JS for SSR Bundles #7961

merged 4 commits into from Jul 22, 2019

Conversation

@developit
Copy link
Collaborator

developit commented Jul 14, 2019

Next.js already produces fully independent bundles for the server. This is required by DefinePlugin and various other things, and generally avoids bundling server code into the client-side application.

This PR exposes Next's internal Boolean isServer value, which indicates that a given compilation (or portion thereof) is part of the generation of bundles that will run on the server in a Node.js runtime.

The most notable change here is that a new mechanism has been introduced for passing values like isServer to Babel presets & plugins. This is done to ensure custom .babelrc configurations don't turn off the desired behavior. It remains possible to compile for a specific browserslist/node/esmodules target, however the default is now SSR-aware.

The benefit of doing this is that the output better leverages modern JavaScript when the current version of Node supports it, leading to faster runtime performance and smaller output size. Both valuable qualities, particularly in serverless deployment scenarios.

Comparing the SSR bundles output of the "basic" integration test shows an expected improvement in bundle sizes when building on Node 10:

File Before After
0.*****.js 299b 293b
36.*****.js 985b 492b
37.*****.js 714b 296b
38.*****.js 301b 415b
39.*****.js 413b 444b
40.*****.js 462b 386b
hello-world.*****.js 303b 298b
hello1.*****.js 300b 294b
hello2.*****.js 300b 294b

Total: 4077b to 3212b, a 21% reduction in size.

While these bundles are all extremely small, it's important to note that the scaling characteristics are what matter here, not absolute byte size. This percentage improvement is expected to hold relatively true as applications scale. A 20% savings is also directly in line with the runtime performance improvements @mathiasbynens demonstrated previously, where modern JS output resulted in a 17% increase in SSR throughput.

馃帀 Updated Benchmarks showing further size improvements
File Before After
static/*****/pages/_document.js 8627b 6098b
static/*****/pages/_app.js 6813b 4637b
static/*****/pages/dynamic/bundle.js 4174b 2669b
static/*****/pages/_error.js 3772b 2147b
static/*****/pages/hmr/error-in-gip.js 2981b 1401b
36.*****.js 985b 492b
37.*****.js 714b 444b
40.*****.js 462b 415b
39.*****.js 413b 386b
hello-world.*****.js 303b 298b
38.*****.js 301b 296b
hello1.*****.js 300b 294b
hello2.*****.js 300b 294b
0.*****.js 299b 293b
ssr-module-cache.js 101b 101b
@github-actions

This comment has been minimized.

Copy link

github-actions bot commented Jul 14, 2019

Stats from current PR

Click to expand stats
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 14.5s 13.9s -609ms
node_modules Size 45.4 MB 45.4 MB 鈿狅笍 +984 B
Total Bundle (main, webpack, commons) Size 210 kB 210 kB
Total Bundle (main, webpack, commons) gzip Size 68.8 kB 68.8 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 222 B
Client pages/link Size 4.14 kB 4.19 kB 鈿狅笍 +55 B
Client pages/link gzip Size 1.82 kB 1.82 kB 鈿狅笍 +4 B
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 23.7 kB 23.7 kB
Client main gzip Size 7.81 kB 7.81 kB
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Base Rendered Size 1.36 kB 1.36 kB
Build Dir Size 756 kB 718 kB -38.6 kB
Click to expand serverless stats
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 15.3s 15.3s 鈿狅笍 +65ms
node_modules Size 45.4 MB 45.4 MB 鈿狅笍 +984 B
Total Bundle (main, webpack, commons) Size 210 kB 210 kB
Total Bundle (main, webpack, commons) gzip Size 68.8 kB 68.8 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 222 B
Client pages/link Size 4.14 kB 4.19 kB 鈿狅笍 +55 B
Client pages/link gzip Size 1.82 kB 1.82 kB 鈿狅笍 +4 B
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 23.7 kB 23.7 kB
Client main gzip Size 7.81 kB 7.81 kB
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Serverless pages/link Size 338 kB 251 kB -87.1 kB
Serverless pages/link gzip Size 86.7 kB 67.5 kB -19.3 kB
Serverless pages/index Size Error getting size Error getting size
Serverless pages/index gzip Size Error getting size Error getting size
Serverless pages/_error Size 328 kB 243 kB -85.6 kB
Serverless pages/_error gzip Size 84 kB 65 kB -19 kB
Serverless pages/routerDirect Size 329 kB 244 kB -85.6 kB
Serverless pages/routerDirect gzip Size 84.3 kB 65.2 kB -19.1 kB
Serverless pages/withRouter Size 329 kB 244 kB -85.6 kB
Serverless pages/withRouter gzip Size 84.3 kB 65.3 kB -18.9 kB
Build Dir Size 1.94 MB 1.66 MB -282 kB
@github-actions

This comment has been minimized.

Copy link

github-actions bot commented Jul 15, 2019

Stats from current PR

Click to expand stats
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 15.4s 15.1s -354ms
node_modules Size 45.4 MB 45.5 MB 鈿狅笍 +953 B
Total Bundle (main, webpack, commons) Size 210 kB 210 kB
Total Bundle (main, webpack, commons) gzip Size 68.8 kB 68.8 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 222 B
Client pages/link Size 4.14 kB 4.14 kB
Client pages/link gzip Size 1.82 kB 1.82 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 23.7 kB 23.7 kB
Client main gzip Size 7.81 kB 7.81 kB
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Base Rendered Size 1.36 kB 1.36 kB
Build Dir Size 756 kB 717 kB -38.9 kB
Click to expand serverless stats
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 15.8s 15.9s 鈿狅笍 +26ms
node_modules Size 45.4 MB 45.5 MB 鈿狅笍 +953 B
Total Bundle (main, webpack, commons) Size 210 kB 210 kB
Total Bundle (main, webpack, commons) gzip Size 68.8 kB 68.8 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 222 B
Client pages/link Size 4.14 kB 4.14 kB
Client pages/link gzip Size 1.82 kB 1.82 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 23.7 kB 23.7 kB
Client main gzip Size 7.81 kB 7.81 kB
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Serverless pages/link Size 338 kB 251 kB -87.1 kB
Serverless pages/link gzip Size 86.7 kB 67.4 kB -19.3 kB
Serverless pages/index Size Error getting size Error getting size
Serverless pages/index gzip Size Error getting size Error getting size
Serverless pages/_error Size 328 kB 243 kB -85.6 kB
Serverless pages/_error gzip Size 84 kB 65 kB -19 kB
Serverless pages/routerDirect Size 329 kB 244 kB -85.6 kB
Serverless pages/routerDirect gzip Size 84.3 kB 65.2 kB -19.1 kB
Serverless pages/withRouter Size 329 kB 244 kB -85.6 kB
Serverless pages/withRouter gzip Size 84.3 kB 65.3 kB -18.9 kB
Build Dir Size 1.94 MB 1.66 MB -282 kB
@Timer

This comment has been minimized.

Copy link
Member

Timer commented Jul 16, 2019

Also, we should probably test this somehow... Not sure of a good test.

developit and others added 2 commits Jul 17, 2019
Co-Authored-By: Joe Haddad <timer150@gmail.com>
@github-actions

This comment has been minimized.

Copy link

github-actions bot commented Jul 17, 2019

Stats from current PR

Click to expand stats 鈿狅笍 Total Bundle Size Increase 鈿狅笍
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 14.5s 15.2s 鈿狅笍 +721ms
node_modules Size 45.5 MB 45.5 MB -2.93 kB
Total Bundle (main, webpack, commons) Size 206 kB 210 kB 鈿狅笍 +3.86 kB
Total Bundle (main, webpack, commons) gzip Size 67.8 kB 68.8 kB 鈿狅笍 +1.03 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB -1 B
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 224 B 鈿狅笍 +2 B
Client pages/link Size 4.14 kB 4.14 kB
Client pages/link gzip Size 1.82 kB 1.82 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 300 B -1 B
Client main Size 19.8 kB 23.7 kB 鈿狅笍 +3.87 kB
Client main gzip Size 6.78 kB 7.81 kB 鈿狅笍 +1.03 kB
Client commons Size 184 kB 184 kB -7 B
Client commons gzip Size 59.7 kB 59.7 kB -4 B
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Base Rendered Size 1.36 kB 1.36 kB
Build Dir Size 737 kB 717 kB -19.7 kB
Click to expand serverless stats 鈿狅笍 Total Bundle Size Increase 鈿狅笍
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 16.7s 16.8s 鈿狅笍 +75ms
node_modules Size 45.5 MB 45.5 MB -2.93 kB
Total Bundle (main, webpack, commons) Size 206 kB 210 kB 鈿狅笍 +3.86 kB
Total Bundle (main, webpack, commons) gzip Size 67.8 kB 68.8 kB 鈿狅笍 +1.03 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 222 B
Client pages/link Size 4.14 kB 4.14 kB
Client pages/link gzip Size 1.82 kB 1.82 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 19.8 kB 23.7 kB 鈿狅笍 +3.87 kB
Client main gzip Size 6.78 kB 7.81 kB 鈿狅笍 +1.03 kB
Client commons Size 184 kB 184 kB -7 B
Client commons gzip Size 59.7 kB 59.7 kB -4 B
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Serverless pages/link Size 338 kB 251 kB -87.4 kB
Serverless pages/link gzip Size 86.9 kB 67.4 kB -19.4 kB
Serverless pages/index Size Error getting size Error getting size
Serverless pages/index gzip Size Error getting size Error getting size
Serverless pages/_error Size 329 kB 243 kB -85.9 kB
Serverless pages/_error gzip Size 84.2 kB 65 kB -19.2 kB
Serverless pages/routerDirect Size 330 kB 244 kB -85.9 kB
Serverless pages/routerDirect gzip Size 84.4 kB 65.2 kB -19.2 kB
Serverless pages/withRouter Size 330 kB 244 kB -85.9 kB
Serverless pages/withRouter gzip Size 84.4 kB 65.3 kB -19.1 kB
Build Dir Size 1.94 MB 1.66 MB -276 kB
@github-actions

This comment has been minimized.

Copy link

github-actions bot commented Jul 17, 2019

Stats from current PR

Click to expand stats 鈿狅笍 Total Bundle Size Increase 鈿狅笍
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 13.7s 13.8s 鈿狅笍 +137ms
node_modules Size 45.5 MB 45.5 MB -2.93 kB
Total Bundle (main, webpack, commons) Size 206 kB 210 kB 鈿狅笍 +3.86 kB
Total Bundle (main, webpack, commons) gzip Size 67.8 kB 68.8 kB 鈿狅笍 +1.03 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 222 B
Client pages/link Size 4.14 kB 4.14 kB
Client pages/link gzip Size 1.82 kB 1.82 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 19.8 kB 23.7 kB 鈿狅笍 +3.87 kB
Client main gzip Size 6.78 kB 7.81 kB 鈿狅笍 +1.03 kB
Client commons Size 184 kB 184 kB -7 B
Client commons gzip Size 59.7 kB 59.7 kB -4 B
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Base Rendered Size 1.36 kB 1.36 kB
Build Dir Size 737 kB 717 kB -19.7 kB
Click to expand serverless stats 鈿狅笍 Total Bundle Size Increase 鈿狅笍
zeit/next.js canary developit/next.js babel-node-modern Change
Build Duration 15s 15.2s 鈿狅笍 +157ms
node_modules Size 45.5 MB 45.5 MB -2.93 kB
Total Bundle (main, webpack, commons) Size 206 kB 210 kB 鈿狅笍 +3.86 kB
Total Bundle (main, webpack, commons) gzip Size 67.8 kB 68.8 kB 鈿狅笍 +1.03 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.45 kB 8.45 kB
Client _error gzip Size 3.24 kB 3.24 kB
Client pages/index Size 296 B 296 B
Client pages/index gzip Size 222 B 222 B
Client pages/link Size 4.14 kB 4.14 kB
Client pages/link gzip Size 1.82 kB 1.82 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 19.8 kB 23.7 kB 鈿狅笍 +3.87 kB
Client main gzip Size 6.78 kB 7.81 kB 鈿狅笍 +1.03 kB
Client commons Size 184 kB 184 kB -7 B
Client commons gzip Size 59.7 kB 59.7 kB -4 B
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Serverless pages/link Size 338 kB 251 kB -87.4 kB
Serverless pages/link gzip Size 86.9 kB 67.4 kB -19.4 kB
Serverless pages/index Size Error getting size Error getting size
Serverless pages/index gzip Size Error getting size Error getting size
Serverless pages/_error Size 329 kB 243 kB -85.9 kB
Serverless pages/_error gzip Size 84.2 kB 65 kB -19.2 kB
Serverless pages/routerDirect Size 330 kB 244 kB -85.9 kB
Serverless pages/routerDirect gzip Size 84.4 kB 65.2 kB -19.2 kB
Serverless pages/withRouter Size 330 kB 244 kB -85.9 kB
Serverless pages/withRouter gzip Size 84.4 kB 65.3 kB -19.1 kB
Build Dir Size 1.94 MB 1.66 MB -276 kB
@developit developit marked this pull request as ready for review Jul 22, 2019
@developit developit requested review from ijjk, lfades and timneutkens as code owners Jul 22, 2019
@developit

This comment has been minimized.

Copy link
Collaborator Author

developit commented Jul 22, 2019

Ready for review!

Copy link
Member

timneutkens left a comment

Looks good to me 馃挴, let's have @Timer do a final review!

Copy link
Member

timneutkens left a comment

Pressed the wrong button 馃槄 Approved.

@Timer Timer added this to the 9.0.3 milestone Jul 22, 2019
@Timer
Timer approved these changes Jul 22, 2019
Copy link
Member

Timer left a comment

This looks great to me -- I'm looking forward to the performance boosts.

@Timer Timer merged commit ab57978 into zeit:canary Jul 22, 2019
4 checks passed
4 checks passed
ci/circleci: build Your tests passed on CircleCI!
Details
ci/circleci: test Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
zeit.next.js #20190717.14 succeeded
Details
@mathiasbynens

This comment has been minimized.

Copy link

mathiasbynens commented Jul 23, 2019

Super happy to see this land!

With this change, the Node.js version used to build becomes more important. As suggested in our investigation doc, I'd love to see this nuance added to the docs in some way. In particular, developers should feel encouraged to add an .nvmrc file to their project, enforce its usage among contributors, and strive to bump the version regularly. Does anyone want to kick off a documentation PR that recommends this best practice?

ijjk added a commit to ijjk/next.js that referenced this pull request Jul 23, 2019
* Compile for the current version of Node.js by default when producing server builds.

* Update packages/next/build/babel/preset.ts

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Include server variation in Babel cacheKey
@iamstarkov

This comment has been minimized.

Copy link

iamstarkov commented Jul 26, 2019

@mathiasbynens can investigation document be made public?

kodiakhq bot added a commit to mcansh/connection that referenced this pull request Aug 1, 2019
## The dependency [next](https://github.com/zeit/next.js) was updated from `9.0.2` to `9.0.3`.
This version is **not covered** by your **current version range**.

If you don鈥檛 accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

---

**Publisher:** [zeit-bot](https://www.npmjs.com/~zeit-bot)
**License:** MIT

<details>
<summary>Release Notes for v9.0.3</summary>

<h3>Minor Changes</h3>
<ul>
<li>Experimental module/nomodule support: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="462231644" data-permission-text="Issue title is private" data-url="zeit/next.js#7704" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7704/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7704">#7704</a></li>
</ul>
<h3>Patches</h3>
<ul>
<li>Modern JS for SSR Bundles: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="467869135" data-permission-text="Issue title is private" data-url="zeit/next.js#7961" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7961/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7961">#7961</a></li>
<li>Add .gitignore: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="466739863" data-permission-text="Issue title is private" data-url="zeit/next.js#7893" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7893/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7893">#7893</a></li>
<li>Import isomorphic-unfetch in data fetching example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="466886896" data-permission-text="Issue title is private" data-url="zeit/next.js#7895" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7895/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7895">#7895</a></li>
<li>Make tests for both async and sync GIP: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468706447" data-permission-text="Issue title is private" data-url="zeit/next.js#7999" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7999/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7999">#7999</a></li>
<li>Rework dynamic routing &lt;Link&gt; documentation: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468803528" data-permission-text="Issue title is private" data-url="zeit/next.js#8001" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8001/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8001">#8001</a></li>
<li>Avoid sending user errors to client: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468848773" data-permission-text="Issue title is private" data-url="zeit/next.js#8005" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8005/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8005">#8005</a></li>
<li>Replace fs.exists with fs.access: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="463627067" data-permission-text="Issue title is private" data-url="zeit/next.js#7742" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7742/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7742">#7742</a></li>
<li>Fix children key in with-typescript-styled-components example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468834696" data-permission-text="Issue title is private" data-url="zeit/next.js#8003" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8003/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8003">#8003</a></li>
<li>Handle windows backslashes when checking ssr-prepass: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469319954" data-permission-text="Issue title is private" data-url="zeit/next.js#8016" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8016/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8016">#8016</a></li>
<li>Add Create Next App package: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469418599" data-permission-text="Issue title is private" data-url="zeit/next.js#8018" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8018/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8018">#8018</a></li>
<li>Reference correct repository: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/7f5f9818009c8cd90e1e5bd17d5517b45558dc5d/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/7f5f9818009c8cd90e1e5bd17d5517b45558dc5d"><tt>7f5f981</tt></a></li>
<li>Remove old media images: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/d486152b98b481afd2d6e6e013e8a0cefda93350/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/d486152b98b481afd2d6e6e013e8a0cefda93350"><tt>d486152</tt></a></li>
<li>Update CNA links to examples: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/bcd8eb6b784cc167507c8768c55fd8ea3735fee7/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/bcd8eb6b784cc167507c8768c55fd8ea3735fee7"><tt>bcd8eb6</tt></a></li>
<li>Fix CNA README typo: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/8fb32de0ab7399ace08d4832173942c1452e4241/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/8fb32de0ab7399ace08d4832173942c1452e4241"><tt>8fb32de</tt></a></li>
<li>Fix syntax error in ie11 from next-server/amp: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470024207" data-permission-text="Issue title is private" data-url="zeit/next.js#8032" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8032/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8032">#8032</a></li>
<li>Rewrite Create Next App: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470000615" data-permission-text="Issue title is private" data-url="zeit/next.js#8030" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8030/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8030">#8030</a></li>
<li>Comment out GIP in Custom &lt;App&gt;: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471135868" data-permission-text="Issue title is private" data-url="zeit/next.js#8055" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8055/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8055">#8055</a></li>
<li>Remove public/ file example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471136710" data-permission-text="Issue title is private" data-url="zeit/next.js#8056" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8056/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8056">#8056</a></li>
<li>Remove <code>now.json</code> from examples: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471137313" data-permission-text="Issue title is private" data-url="zeit/next.js#8057" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8057/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8057">#8057</a></li>
<li>Fix userAgent type error in README.md: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470826188" data-permission-text="Issue title is private" data-url="zeit/next.js#8048" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8048/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8048">#8048</a></li>
<li>Apply missing formatting: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471849421" data-permission-text="Issue title is private" data-url="zeit/next.js#8079" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8079/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8079">#8079</a></li>
<li>Updated "firebase-admin" module and added "firebase-functions-t鈥: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471838215" data-permission-text="Issue title is private" data-url="zeit/next.js#8078" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8078/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8078">#8078</a></li>
<li>Enable Kodiak bot: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472617792" data-permission-text="Issue title is private" data-url="zeit/next.js#8096" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8096/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8096">#8096</a></li>
<li>Disable notify on conflict: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/427a02a468ca6c8b101ab3229742f2c1ab1ced69/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/427a02a468ca6c8b101ab3229742f2c1ab1ced69"><tt>427a02a</tt></a></li>
<li>Improve types: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472623488" data-permission-text="Issue title is private" data-url="zeit/next.js#8097" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8097/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8097">#8097</a></li>
<li>Allow automatic static optimization in with-sentry-simple examp鈥: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472766378" data-permission-text="Issue title is private" data-url="zeit/next.js#8102" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8102/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8102">#8102</a></li>
<li>Require label to merge for now: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/d006a24d8f9d70ad92f59c41a42b2ecb7c46cbf6/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/d006a24d8f9d70ad92f59c41a42b2ecb7c46cbf6"><tt>d006a24</tt></a></li>
<li>Revert "Improve type definitions": <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472653248" data-permission-text="Issue title is private" data-url="zeit/next.js#8098" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8098/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8098">#8098</a></li>
<li>HTTP methods docs and REST example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472906101" data-permission-text="Issue title is private" data-url="zeit/next.js#8108" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8108/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8108">#8108</a></li>
<li>Configuration for body parsing size limit: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="466971206" data-permission-text="Issue title is private" data-url="zeit/next.js#7896" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7896/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7896">#7896</a></li>
<li>Add next-head-count &amp; remove next-head class: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469465078" data-permission-text="Issue title is private" data-url="zeit/next.js#8020" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8020/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8020">#8020</a></li>
<li>Fix extension for module/nomodule: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/8b0a93b0edf06d46da4839d5be426133810c8bad/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/8b0a93b0edf06d46da4839d5be426133810c8bad"><tt>8b0a93b</tt></a></li>
<li>Dynamic routes clarification: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472934525" data-permission-text="Issue title is private" data-url="zeit/next.js#8110" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8110/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8110">#8110</a></li>
<li>Fix index.js for API routes: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472976319" data-permission-text="Issue title is private" data-url="zeit/next.js#8112" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8112/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8112">#8112</a></li>
<li>Fix onError prop-type warning in Link: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469483279" data-permission-text="Issue title is private" data-url="zeit/next.js#8021" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8021/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8021">#8021</a></li>
<li>Auth example with api routes: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473108272" data-permission-text="Issue title is private" data-url="zeit/next.js#8118" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8118/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8118">#8118</a></li>
<li>Fixes problem with API and wrong regex: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473364571" data-permission-text="Issue title is private" data-url="zeit/next.js#8126" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8126/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8126">#8126</a></li>
<li>Update example with firebase auth: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473391249" data-permission-text="Issue title is private" data-url="zeit/next.js#8127" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8127/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8127">#8127</a></li>
<li>Improve type definitions: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473103574" data-permission-text="Issue title is private" data-url="zeit/next.js#8117" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8117/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8117">#8117</a></li>
<li>Docs: Fix comments in with-sentry example (server.js): <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473330715" data-permission-text="Issue title is private" data-url="zeit/next.js#8125" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8125/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8125">#8125</a></li>
<li>Add missing key prop for array elements in _document: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473585040" data-permission-text="Issue title is private" data-url="zeit/next.js#8132" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8132/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8132">#8132</a></li>
<li>Update README.md for with-http2 example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473528809" data-permission-text="Issue title is private" data-url="zeit/next.js#8131" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8131/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8131">#8131</a></li>
<li>Fix spelling in  tsconfig.js of readme.md: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473650878" data-permission-text="Issue title is private" data-url="zeit/next.js#8138" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8138/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8138">#8138</a></li>
<li>Remove next.config.js: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473651232" data-permission-text="Issue title is private" data-url="zeit/next.js#8139" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8139/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8139">#8139</a></li>
<li>Upgrade with-mdx example from mdx 0.16 鈫 1.1: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473661737" data-permission-text="Issue title is private" data-url="zeit/next.js#8142" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8142/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8142">#8142</a></li>
<li>Remove kodiak: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/482f454c7afc6a2d5a94c1a78ea0917e0fa80dc8/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/482f454c7afc6a2d5a94c1a78ea0917e0fa80dc8"><tt>482f454</tt></a></li>
<li>Fix regex to not match any string with double underscore: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473812706" data-permission-text="Issue title is private" data-url="zeit/next.js#8153" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8153/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8153">#8153</a></li>
<li>Improve docs for API: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473932328" data-permission-text="Issue title is private" data-url="zeit/next.js#8155" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8155/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8155">#8155</a></li>
<li>Add 2 AWS Amplify SSR examples one with JS and one with TS: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471699809" data-permission-text="Issue title is private" data-url="zeit/next.js#8073" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8073/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8073">#8073</a></li>
<li>Update webpack to 4.38.0: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473713215" data-permission-text="Issue title is private" data-url="zeit/next.js#8147" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8147/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8147">#8147</a></li>
<li>Docs: Document change concerning api-routes: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473203773" data-permission-text="Issue title is private" data-url="zeit/next.js#8121" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8121/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8121">#8121</a></li>
<li>Update missed lockfile: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00"><tt>25fd3f8</tt></a></li>
<li>Refactor(webpack): extract splitChunksConfig: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474132203" data-permission-text="Issue title is private" data-url="zeit/next.js#8161" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8161/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8161">#8161</a></li>
<li>Include <code>scheduler</code> in React bundle: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474156253" data-permission-text="Issue title is private" data-url="zeit/next.js#8164" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8164/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8164">#8164</a></li>
<li>Optional Server Compression: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471351178" data-permission-text="Issue title is private" data-url="zeit/next.js#8066" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8066/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8066">#8066</a></li>
<li>Fix build only server-side <code>/api/index.js</code>: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474247771" data-permission-text="Issue title is private" data-url="zeit/next.js#8167" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8167/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8167">#8167</a></li>
<li>Fix a typo in README: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474647513" data-permission-text="Issue title is private" data-url="zeit/next.js#8177" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8177/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8177">#8177</a></li>
<li>Provide AppTree to getInitialProps for getDataFromTree: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="463422020" data-permission-text="Issue title is private" data-url="zeit/next.js#7732" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/7732/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7732">#7732</a></li>
<li>Test environment code should target Node: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474767437" data-permission-text="Issue title is private" data-url="zeit/next.js#8181" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8181/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8181">#8181</a></li>
<li>Fix: Add error message for duplicate route param name: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470807151" data-permission-text="Issue title is private" data-url="zeit/next.js#8047" data-hovercard-type="pull_request" data-hovercard-url="/zeit/next.js/pull/8047/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8047">#8047</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1270909" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/rakannimer">@rakannimer</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=4323180" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/adamwathan">@adamwathan</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=5691926" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/huv1k">@huv1k</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=4278345" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/lfades">@lfades</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=2252473" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/imdreamrunner">@imdreamrunner</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=14829154" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/dmytro-lymarenko">@dmytro-lymarenko</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=22380829" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/ijjk">@ijjk</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=105127" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/developit">@developit</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=6142074" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/janicklas-ralph">@janicklas-ralph</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=29964919" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/ikeryo1182">@ikeryo1182</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=18068142" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/chaitanyareddyk">@chaitanyareddyk</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=156628" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/adam187">@adam187</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1265681" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/HaNdTriX">@HaNdTriX</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1477230" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/devknoll">@devknoll</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=675812" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/sgmonda">@sgmonda</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=3165635" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/oliviertassinari">@oliviertassinari</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1193520" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/0x80">@0x80</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=10408485" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/bapjiws">@bapjiws</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=3652404" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/oguzzkilic">@oguzzkilic</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=12414212" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/partyKyoung">@partyKyoung</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=5074763" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/lachlanjc">@lachlanjc</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=503795" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/tomasikp">@tomasikp</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=9304194" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/felixmosh">@felixmosh</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=12292047" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/eps1lon">@eps1lon</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=616428" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/Timer">@Timer</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=2817762" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/OttlikG">@OttlikG</a>, and <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=31798108" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/nataliemarleny">@nataliemarleny</a> for helping!</p>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 73 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/00b56c6ede6fce26c300d3864f70ce1ecbe5fb1d"><code>00b56c6</code></a> <code>v9.0.3</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/dc9e2708984bc6bc7e87724fb5193e7f788c89a3"><code>dc9e270</code></a> <code>Update examples for Apollo with AppTree (#8180)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/22aee7f246cd90d32027009808d732eb01335710"><code>22aee7f</code></a> <code>tests(circleci): Update chromedriver to latest (#8192)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/6c2534362e3e77830be9af2ace9b72b008eae947"><code>6c25343</code></a> <code>Fix typo within blog-starter example (#8182)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/858f4eb8eca024fc0e4e20c5bb7c3bfcc4a7e265"><code>858f4eb</code></a> <code>v9.0.3-canary.6</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/b8aee7af77288554d36841148da2f0f65416364a"><code>b8aee7a</code></a> <code>fix: Add error message for duplicate route param name (#8047)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/c61f6c1200f86a1dab72b983d7d8274d4de90160"><code>c61f6c1</code></a> <code>Test environment code should target Node (#8181)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/4850bd03ef113de3e306099049cd7241ba9ca798"><code>4850bd0</code></a> <code>Provide AppTree to getInitialProps for getDataFromTree (#7732)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/72098328cfcc36dcadb0fbc7848f5020c5939213"><code>7209832</code></a> <code>Fix a typo in README (#8177)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/3e03fee2787b6b33fdef89a1d7abdce253e58a02"><code>3e03fee</code></a> <code>Fix build only server-side <code>/api/index.js</code> (#8167)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/9659b4b555fc99edde717e5607c6a4ee8c46b22b"><code>9659b4b</code></a> <code>Optional Server Compression (#8066)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/df213f7aabc2c598a194a7a161d1f6c22dc90e58"><code>df213f7</code></a> <code>Include <code>scheduler</code> in React bundle (#8164)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/7b33fbbfe677f7fa1a6e1ab1c41c732fa2d62da4"><code>7b33fbb</code></a> <code>v9.0.3-canary.5</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/91f60cdadf54c71db3749f4aa02a99c21702b93f"><code>91f60cd</code></a> <code>refactor(webpack): extract splitChunksConfig (#8161)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00"><code>25fd3f8</code></a> <code>Update missed lockfile</code></li>
</ul>
<p>There are 73 commits in total.</p>
<p>See the <a href="https://urls.greenkeeper.io/zeit/next.js/compare/becd07402e6ed0145618972e80e81657050dadae...00b56c6ede6fce26c300d3864f70ce1ecbe5fb1d">full diff</a></p>
</details>

---

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don鈥檛 help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 馃尨
@mathiasbynens

This comment has been minimized.

Copy link

mathiasbynens commented Aug 5, 2019

@iamstarkov Apologies, it was supposed to be public before. It is public now!

@iamstarkov

This comment has been minimized.

Copy link

iamstarkov commented Aug 5, 2019

@mathiasbynens thanks, but it is still not public neither for me, nor for two my colleagues.

@mathiasbynens

This comment has been minimized.

Copy link

mathiasbynens commented Aug 5, 2019

@iamstarkov The URL changed.

@iamstarkov

This comment has been minimized.

Copy link

iamstarkov commented Aug 5, 2019

@mathiasbynens it works now. thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can鈥檛 perform that action at this time.