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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove font-smoothing: antialiased from mdc-typography #248

Closed
ronnievsmith opened this issue Feb 3, 2017 · 22 comments
Closed

Remove font-smoothing: antialiased from mdc-typography #248

ronnievsmith opened this issue Feb 3, 2017 · 22 comments

Comments

@ronnievsmith
Copy link

CSS -webkit-font-smoothing:antialiased is set by mdc-typography class. I'm no graphics expert, but someone who sounds like one say this is a no no. Also, MDN says no no.

stop “fixing” WebKit font smoothing by disabling subpixel rendering. ... for main portions of text where readability is paramount please leave the default setting alone and let the operating system handle the smoothing.

Do not use it on production sites facing the Web.

Webkit implements something similar with a different name: -webkit-font-smoothing and different values, however, just like font-smooth, this is non-standard and should not be used.
font-smooth - MDN

@traviskaufman
Copy link
Contributor

I believe we initially included this because we were seeing some aliasing noise on Chrome and Safari, but from the looks of it now, it seems to have gone away. I'd like to hear from some of the people on our fonts / type design team and get their thoughts? @shyndman @davelab6?

@davelab6
Copy link

davelab6 commented Feb 7, 2017

I agree that we should not disable subpixel rendering by default.

@traviskaufman
Copy link
Contributor

Gotcha. Will add in tracker.

@traviskaufman traviskaufman changed the title Typography: mdc-typography defaults wrong Remove font-smoothing: antialiased from mdc-typography Feb 7, 2017
@shyndman
Copy link
Contributor

shyndman commented Feb 7, 2017

In my experience subpixel rendering can get very ugly with light text on a dark background. Text styled in a medium font will appear bold.

@shyndman
Copy link
Contributor

shyndman commented Feb 7, 2017

Ah, the linked article covers this.

@shyndman
Copy link
Contributor

shyndman commented Feb 7, 2017

OK, so my two cents? I'd like to see some evidence that sub-pixel antialiased text is more readable. Testing across screen densities would probably make sense, too.

I have a hard time believing that on a retina Macbook, this

screen shot 2017-02-07 at 9 07 52 am

is more readable than this

screen shot 2017-02-07 at 9 07 45 am

Also, which of those two images gives you the impression of a medium weight?

Thoughts?

@davelab6
Copy link

davelab6 commented Feb 8, 2017 via email

@shyndman
Copy link
Contributor

No, you're not wrong. And worth mentioning that this is a Mac-only problem. font-smoothing has no effect on Windows.

Do the screenshots I posted above bother anyone else?

@davelab6
Copy link

I'd like to see some evidence that sub-pixel antialiased text is more readable.

"Peer-reviewed studies have consistently found that using ClearType boosts reading performance compared with other text-rendering systems."
http://spectrum.ieee.org/computing/software/the-technology-of-text

http://www.apa.org/monitor/2010/11/read-onscreen.aspx is nice and more recent interview with Kevin.

https://blogs.msdn.microsoft.com/fontblog/2005/12/13/cleartype-clear-mind/ is about ClearType versus aliased type, but worth checking out.

@shyndman
Copy link
Contributor

shyndman commented Feb 10, 2017

I believe this type of study is what the author of the article linked above was referring to, but does it still apply when taking density into account? Text is dramatically different on a retina screen. There's no reason we can't keep this enabled for single density and disable everywhere else.

@shyndman
Copy link
Contributor

From the third paragraph of the IEEE link you posted:

The chief problem is the low resolution of computer screens. The color LCD screens on most laptops and desktops today have a resolution of only about 100 pixels per inch. You need at least two or three times that many pixels to begin to approach the quality of the printed page. The output of even a cheap laser printer is six times as good.

@ronnievsmith
Copy link
Author

ronnievsmith commented Feb 10, 2017 via email

@shyndman
Copy link
Contributor

shyndman commented Feb 11, 2017

Hey @rhroyston,

Right. The article's old. They're talking about this being necessary on single density displays. They acknowledge that if displays were two or three times as dense (which they now are), we'd be approaching the quality of the printed page.

To me, that suggests that the technology may no longer be required on dense displays.

Imho, enabling subpixel antialiasing by default compromises the design of the typeface and the UIs using it. With that in mind, I recommend we look at this more carefully.

@davelab6
Copy link

Yes, I was thinking of cleartype rendering being better when it on turned on by default. Which is no longer the case; MSFT dropped traditional cleartype rendering in Windows Mobile and Windows 10 because the screens are rotated and so you'd have to reflow all the text when rotating to turn it on in landscape and off in portrait, and that's too slow, so they just used the portrait renderer everywhere

@traviskaufman
Copy link
Contributor

@davelab6 any final thoughts on how we should proceed here?

@shyndman
Copy link
Contributor

shyndman commented Feb 22, 2017

I have one more addition. I took a few minutes and took screenshots of how the same font (Roboto medium @ 14pt) was rendered across several native OSX applications on a retina screen.

TextEdit:
textedit

Illustrator:
illustrator

Sketch:
sketch

So, TextEdit uses subpixel. Illustrator and Sketch don't appear to.

Not sure if that helps any. Just thought it was interesting.

@traviskaufman
Copy link
Contributor

@shyndman also interested in hearing your thoughts on how you'd proceed as well

@shyndman
Copy link
Contributor

I don't like the idea of not being able to faithfully implement designs with subpixel AA enabled (because our design tools don't support it). I also think it's ugly and I doubt the readability argument (with nothing to back that up, mind you).

My gut says not to use on high density devices. Like Dave said, it's already disabled on phones and no one seems to be complaining.

@mikegleasonjr
Copy link
Contributor

My 2 cents. Google Wallet (which uses Material Design) doesn't use it and it's more readable that way: https://www.google.com/wallet/ Especially in the Hero box.

@Garbee
Copy link
Contributor

Garbee commented Mar 22, 2017

Google Wallet is using Material Design Lite underneath, but it isn't using the typography bits at all it appears. So that's why it doesn't use the font smoothing bits.

@traviskaufman
Copy link
Contributor

So what I'm seeing here is largely theoretical evidence suggesting that font-smoothing: antialiased should not be applied, and largely concrete evidence that shows that fonts show up better on devices when it is applied (at least for Roboto, which is what mdc-typography uses as its base font). Thus, I'm closing this issue and electing to keep the property, for now.

Regarding the stop "fixing" article: in a perfect world operating systems would be smart enough to determine whether or not a font should have subpixel antialiasing applied based on its heuristics, but based on visual evidence provided by @shyndman that doesn't seem to be the case.

Regarding MDN's warning, we use the vendor prefixes directly because of this. And furthermore, Mozilla is pretty aggressive when it says not to use things. It also says not to use KeyboardEvent.keyCode 😉 which - at least until all browsers support KeyboardEvent.key - is untenable.

I'm essentially coming at this from the same place as David Walsh:

"I don't pretend to be a typography or design expert -- I just know what looks good and what doesn't"

To me, until I see some evidence that these font-smoothing applications make our components / typographic system look worse, I don't see the value in removing it.

On a final note, if you use your own fonts and font-smoothing turns out to make it less legible, simply add an override via css:

<link rel="stylesheet" href="material-components-web.css">
<style>
  .mdc-typography {
    -webkit-font-smoothing: none;
    -moz-osx-font-smoothing: auto;
  }
</style>

@nyanpasu64
Copy link

subpixel font rendering is a feature controlled at the OS level, which the user expects to be able to control so that websites obey. this option deliberately overrides the user's OS-level setting, forcing a fuzzier and lower-contrast rendering method, and requiring users to use userstyles to restore OS settings and enable user control.

honestly now that Apple's removing subpixel lcd rendering, this is a somewhat moot point. I'm glad that font-smoothing cannot be disabled using this option on Windows... though some people still manage to find ways to break subpixel font rendering (against orders from user's OS) under the guise of GPU acceleration. Chrome is particularly guilty of violating user control, Firefox much less so.

acdvorak pushed a commit that referenced this issue Jan 18, 2019
## The devDependency [@google-cloud/datastore](https://github.com/googleapis/nodejs-datastore) was updated from `2.0.0` to `3.0.1`.
This version is **not covered** by your **current version range**.

If you don’t 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.

---

<details>
<summary>Release Notes for v3.0.1</summary>

<p>01-15-2019 13:20 PST</p>
<h3>Bug fixes</h3>
<ul>
<li>fix: ship the build directory (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/300" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/300/hovercard">#300</a>)</li>
</ul>
<h3>Internal / Testing Changes</h3>
<ul>
<li>build: check broken links in generated docs (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/292" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/292/hovercard">#292</a>)</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 3 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/401b2e1c03c1cb1340d1c7249a1f435dc17d74cb"><code>401b2e1</code></a> <code>Release v3.0.1 (#301)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/177b11b3819b98debcf157b040d282c2b9b8d9ca"><code>177b11b</code></a> <code>fix: ship the build directory (#300)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/70ea500726d7a48a768433703c94e9fbb7c53f9d"><code>70ea500</code></a> <code>build: check broken links in generated docs (#292)</code></li>
</ul>
<p>See the <a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/compare/f839e581b0396b830cc3bae31d107f57414394d4...401b2e1c03c1cb1340d1c7249a1f435dc17d74cb">full diff</a></p>
</details>

---

<details>
<summary>Release Notes for v3.0.0</summary>

<p>01-14-2019 20:31 PST</p>
<p><strong>This release has breaking changes!</strong> The import style of this library has changed to be consistent with <a href="https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/" rel="nofollow">es modules</a>.</p>
<h4>Old busted code</h4>
<div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-c1">Datastore</span> <span class="pl-k">=</span> <span class="pl-c1">require</span>(<span class="pl-s"><span class="pl-pds">'</span>@google-cloud/datastore<span class="pl-pds">'</span></span>)();
<span class="pl-c"><span class="pl-c">//</span> or...</span>
<span class="pl-k">const</span> <span class="pl-c1">Datastore</span> <span class="pl-k">=</span> <span class="pl-c1">require</span>(<span class="pl-s"><span class="pl-pds">'</span>@google-cloud/datastore<span class="pl-pds">'</span></span>);
<span class="pl-k">const</span> <span class="pl-c1">ds</span> <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">Datastore</span>();</pre></div>
<h4>New hot code</h4>
<div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> {<span class="pl-c1">Datastore</span>} <span class="pl-k">=</span> <span class="pl-c1">require</span>(<span class="pl-s"><span class="pl-pds">'</span>@google-cloud/datastore<span class="pl-pds">'</span></span>);
<span class="pl-k">const</span> <span class="pl-c1">ds</span> <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">Datastore</span>();</pre></div>
<p>Please take care to update your imports accordingly!</p>
<h3>Dependencies</h3>
<ul>
<li>fix(deps): update dependency google-gax to ^0.23.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/296" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/296/hovercard">#296</a>)</li>
<li>fix(deps): update dependency google-gax to ^0.22.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/248" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/248/hovercard">#248</a>)</li>
<li>fix(deps): update dependency concat-stream to v2 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/290" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/290/hovercard">#290</a>)</li>
<li>refactor: remove async module usage (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/272" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/272/hovercard">#272</a>)</li>
<li>fix(deps): update dependency through2 to v3 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/237" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/237/hovercard">#237</a>)</li>
<li>chore: remove unused dependencies (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/226" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/226/hovercard">#226</a>)</li>
<li>fix(deps): update dependency google-proto-files to ^0.17.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/210" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/210/hovercard">#210</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>fix(docs): fix namespace causing 404s (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/294" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/294/hovercard">#294</a>)</li>
<li>fix(docs): remove unused long running operations types</li>
<li>docs: Update doc comment showing structure of entity (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/276" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/276/hovercard">#276</a>)</li>
<li>docs: update readme badges (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/269" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/269/hovercard">#269</a>)</li>
<li>refactor(samples): Samples to use async/await</li>
<li>docs: update auto-generated jsdoc comments (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/245" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/245/hovercard">#245</a>)</li>
</ul>
<h3>Internal / Testing Changes</h3>
<ul>
<li>refactor: sprinkle some types about (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/291" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/291/hovercard">#291</a>)</li>
<li>chore(deps): update dependency @types/sinon to v7.0.2 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/289" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/289/hovercard">#289</a>)</li>
<li>chore(deps): update dependency @types/sinon to v7 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/286" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/286/hovercard">#286</a>)</li>
<li>refactor(ts): enable lint and fix (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/287" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/287/hovercard">#287</a>)</li>
<li>chore(build): inject yoshi automation key (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/285" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/285/hovercard">#285</a>)</li>
<li>chore: update nyc and eslint configs (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/284" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/284/hovercard">#284</a>)</li>
<li>chore: fix publish.sh permission +x (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/282" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/282/hovercard">#282</a>)</li>
<li>fix(build): fix Kokoro release script (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/281" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/281/hovercard">#281</a>)</li>
<li>build: add Kokoro configs for autorelease (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/280" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/280/hovercard">#280</a>)</li>
<li>chore: always nyc report before calling codecov (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/275" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/275/hovercard">#275</a>)</li>
<li>chore: nyc ignore build/test by default (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/274" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/274/hovercard">#274</a>)</li>
<li>chore: update license file (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/271" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/271/hovercard">#271</a>)</li>
<li>refactor: run gts fix (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/265" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/265/hovercard">#265</a>)</li>
<li>chore(deps): update dependency typescript to ~3.2.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/264" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/264/hovercard">#264</a>)</li>
<li>fix(build): fix system key decryption (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/266" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/266/hovercard">#266</a>)</li>
<li>refactor(samples): convert sample tests from ava to mocha (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/259" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/259/hovercard">#259</a>)</li>
<li>fix: Pin @types/sinon to last compatible version (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/256" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/256/hovercard">#256</a>)</li>
<li>chore: add synth.metadata (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/254" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/254/hovercard">#254</a>)</li>
<li>refactor(ts): enable noImplicitThis (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/250" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/250/hovercard">#250</a>)</li>
<li>chore(deps): update dependency gts to ^0.9.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/247" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/247/hovercard">#247</a>)</li>
<li>chore: update eslintignore config (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/246" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/246/hovercard">#246</a>)</li>
<li>refactor(ts): use es module imports (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/244" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/244/hovercard">#244</a>)</li>
<li>chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/243" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/243/hovercard">#243</a>)</li>
<li>chore: drop contributors from multiple places (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/241" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/241/hovercard">#241</a>)</li>
<li>chore(deps): update dependency @types/is to v0.0.21 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/240" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/240/hovercard">#240</a>)</li>
<li>chore: use latest npm on Windows (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/239" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/239/hovercard">#239</a>)</li>
<li>refactor(ts): convert to typescript (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/236" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/236/hovercard">#236</a>)</li>
<li>chore: update CircleCI config (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/235" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/235/hovercard">#235</a>)</li>
<li>chore: include build in eslintignore (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/232" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/232/hovercard">#232</a>)</li>
<li>chore(deps): update dependency eslint-plugin-node to v8 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/227" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/227/hovercard">#227</a>)</li>
<li>chore: update issue templates (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/225" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/225/hovercard">#225</a>)</li>
<li>chore: remove old issue template (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/223" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/223/hovercard">#223</a>)</li>
<li>build: run tests on node11 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/222" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/222/hovercard">#222</a>)</li>
<li>chores(build): do not collect sponge.xml from windows builds (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/221" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/221/hovercard">#221</a>)</li>
<li>chores(build): run codecov on continuous builds (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/220" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/220/hovercard">#220</a>)</li>
<li>chore: update new issue template (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/219" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/219/hovercard">#219</a>)</li>
<li>build: fix codecov uploading on Kokoro (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/213" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/213/hovercard">#213</a>)</li>
<li>fix(deps): update dependency sinon to v7 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/212" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/212/hovercard">#212</a>)</li>
<li>Update kokoro config (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/207" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/207/hovercard">#207</a>)</li>
<li>chore(deps): update dependency eslint-plugin-prettier to v3 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/206" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/206/hovercard">#206</a>)</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 54 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/f839e581b0396b830cc3bae31d107f57414394d4"><code>f839e58</code></a> <code>Release v3.0.0 (#298)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/f0b665c0c2c8c2241af2c321212574fb78d63f4a"><code>f0b665c</code></a> <code>fix(deps): update dependency google-gax to ^0.23.0 (#296)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/f4e4410fa1f930ce196ee809d150c07c1e86875d"><code>f4e4410</code></a> <code>fix(docs): fix namespace causing 404s (#294)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/8608c7ee73b80a6e55f05cb3d687a9b32b1b2bd9"><code>8608c7e</code></a> <code>fix(docs): remove unused long running operations types</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/4bbe64ff09e28ffac063714def174860388f136c"><code>4bbe64f</code></a> <code>refactor: sprinkle some types about (#291)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/78d776f68cef67471a318a37dba08e6ad2e535a7"><code>78d776f</code></a> <code>fix(deps): update dependency concat-stream to v2 (#290)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/b3db31e4ca17684012efe47e0745d6927a587d5e"><code>b3db31e</code></a> <code>chore(deps): update dependency @types/sinon to v7.0.2 (#289)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/42d6f705b3ed39d25574c820dc92efc935fd92b1"><code>42d6f70</code></a> <code>refactor: remove async module usage (#272)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/97d847df17ff45947e495bc5e54f466106003186"><code>97d847d</code></a> <code>chore(deps): update dependency @types/sinon to v7 (#286)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/717b818e25f1b7bb014b614d0be234102804ed37"><code>717b818</code></a> <code>refactor(ts): enable lint and fix (#287)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/dcb7f651a4d9d3298f44eeb45f735b1713c073ff"><code>dcb7f65</code></a> <code>chore(build): inject yoshi automation key (#285)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/35a081d6e8bd146d05d04a1ea47ca7fd2dfc1c4b"><code>35a081d</code></a> <code>chore: update nyc and eslint configs (#284)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/4f91d8f7c91cc1d0360c84a5d4d7a0ede978addb"><code>4f91d8f</code></a> <code>chore: fix publish.sh permission +x (#282)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/1072247740128ae04380d2ca3cc57895a52e5208"><code>1072247</code></a> <code>fix(build): fix Kokoro release script (#281)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/b5579c28ab0c938f65e61be667ea65a8cacf4cf2"><code>b5579c2</code></a> <code>build: add Kokoro configs for autorelease (#280)</code></li>
</ul>
<p>There are 54 commits in total.</p>
<p>See the <a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/compare/a0406f2e897e59944d9f82d9997955aa32f7df13...f839e581b0396b830cc3bae31d107f57414394d4">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’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 🌴
adrianschmidt pushed a commit to Lundalogik/material-components-web that referenced this issue Jan 23, 2019
…onents#4251)

## The devDependency [@google-cloud/datastore](https://github.com/googleapis/nodejs-datastore) was updated from `2.0.0` to `3.0.1`.
This version is **not covered** by your **current version range**.

If you don’t 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.

---

<details>
<summary>Release Notes for v3.0.1</summary>

<p>01-15-2019 13:20 PST</p>
<h3>Bug fixes</h3>
<ul>
<li>fix: ship the build directory (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/300" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/300/hovercard">material-components#300</a>)</li>
</ul>
<h3>Internal / Testing Changes</h3>
<ul>
<li>build: check broken links in generated docs (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/292" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/292/hovercard">material-components#292</a>)</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 3 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/401b2e1c03c1cb1340d1c7249a1f435dc17d74cb"><code>401b2e1</code></a> <code>Release v3.0.1 (material-components#301)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/177b11b3819b98debcf157b040d282c2b9b8d9ca"><code>177b11b</code></a> <code>fix: ship the build directory (material-components#300)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/70ea500726d7a48a768433703c94e9fbb7c53f9d"><code>70ea500</code></a> <code>build: check broken links in generated docs (material-components#292)</code></li>
</ul>
<p>See the <a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/compare/f839e581b0396b830cc3bae31d107f57414394d4...401b2e1c03c1cb1340d1c7249a1f435dc17d74cb">full diff</a></p>
</details>

---

<details>
<summary>Release Notes for v3.0.0</summary>

<p>01-14-2019 20:31 PST</p>
<p><strong>This release has breaking changes!</strong> The import style of this library has changed to be consistent with <a href="https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/" rel="nofollow">es modules</a>.</p>
<h4>Old busted code</h4>
<div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-c1">Datastore</span> <span class="pl-k">=</span> <span class="pl-c1">require</span>(<span class="pl-s"><span class="pl-pds">'</span>@google-cloud/datastore<span class="pl-pds">'</span></span>)();
<span class="pl-c"><span class="pl-c">//</span> or...</span>
<span class="pl-k">const</span> <span class="pl-c1">Datastore</span> <span class="pl-k">=</span> <span class="pl-c1">require</span>(<span class="pl-s"><span class="pl-pds">'</span>@google-cloud/datastore<span class="pl-pds">'</span></span>);
<span class="pl-k">const</span> <span class="pl-c1">ds</span> <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">Datastore</span>();</pre></div>
<h4>New hot code</h4>
<div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> {<span class="pl-c1">Datastore</span>} <span class="pl-k">=</span> <span class="pl-c1">require</span>(<span class="pl-s"><span class="pl-pds">'</span>@google-cloud/datastore<span class="pl-pds">'</span></span>);
<span class="pl-k">const</span> <span class="pl-c1">ds</span> <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-en">Datastore</span>();</pre></div>
<p>Please take care to update your imports accordingly!</p>
<h3>Dependencies</h3>
<ul>
<li>fix(deps): update dependency google-gax to ^0.23.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/296" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/296/hovercard">material-components#296</a>)</li>
<li>fix(deps): update dependency google-gax to ^0.22.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/248" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/248/hovercard">material-components#248</a>)</li>
<li>fix(deps): update dependency concat-stream to v2 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/290" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/290/hovercard">material-components#290</a>)</li>
<li>refactor: remove async module usage (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/272" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/272/hovercard">material-components#272</a>)</li>
<li>fix(deps): update dependency through2 to v3 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/237" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/237/hovercard">material-components#237</a>)</li>
<li>chore: remove unused dependencies (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/226" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/226/hovercard">material-components#226</a>)</li>
<li>fix(deps): update dependency google-proto-files to ^0.17.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/210" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/210/hovercard">material-components#210</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>fix(docs): fix namespace causing 404s (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/294" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/294/hovercard">material-components#294</a>)</li>
<li>fix(docs): remove unused long running operations types</li>
<li>docs: Update doc comment showing structure of entity (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/276" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/276/hovercard">material-components#276</a>)</li>
<li>docs: update readme badges (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/269" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/269/hovercard">material-components#269</a>)</li>
<li>refactor(samples): Samples to use async/await</li>
<li>docs: update auto-generated jsdoc comments (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/245" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/245/hovercard">material-components#245</a>)</li>
</ul>
<h3>Internal / Testing Changes</h3>
<ul>
<li>refactor: sprinkle some types about (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/291" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/291/hovercard">material-components#291</a>)</li>
<li>chore(deps): update dependency @types/sinon to v7.0.2 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/289" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/289/hovercard">material-components#289</a>)</li>
<li>chore(deps): update dependency @types/sinon to v7 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/286" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/286/hovercard">material-components#286</a>)</li>
<li>refactor(ts): enable lint and fix (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/287" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/287/hovercard">material-components#287</a>)</li>
<li>chore(build): inject yoshi automation key (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/285" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/285/hovercard">material-components#285</a>)</li>
<li>chore: update nyc and eslint configs (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/284" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/284/hovercard">material-components#284</a>)</li>
<li>chore: fix publish.sh permission +x (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/282" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/282/hovercard">material-components#282</a>)</li>
<li>fix(build): fix Kokoro release script (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/281" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/281/hovercard">material-components#281</a>)</li>
<li>build: add Kokoro configs for autorelease (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/280" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/280/hovercard">material-components#280</a>)</li>
<li>chore: always nyc report before calling codecov (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/275" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/275/hovercard">material-components#275</a>)</li>
<li>chore: nyc ignore build/test by default (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/274" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/274/hovercard">material-components#274</a>)</li>
<li>chore: update license file (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/271" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/271/hovercard">material-components#271</a>)</li>
<li>refactor: run gts fix (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/265" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/265/hovercard">material-components#265</a>)</li>
<li>chore(deps): update dependency typescript to ~3.2.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/264" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/264/hovercard">material-components#264</a>)</li>
<li>fix(build): fix system key decryption (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/266" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/266/hovercard">material-components#266</a>)</li>
<li>refactor(samples): convert sample tests from ava to mocha (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/259" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/259/hovercard">material-components#259</a>)</li>
<li>fix: Pin @types/sinon to last compatible version (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/256" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/256/hovercard">material-components#256</a>)</li>
<li>chore: add synth.metadata (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/254" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/254/hovercard">material-components#254</a>)</li>
<li>refactor(ts): enable noImplicitThis (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/250" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/250/hovercard">material-components#250</a>)</li>
<li>chore(deps): update dependency gts to ^0.9.0 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/247" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/247/hovercard">material-components#247</a>)</li>
<li>chore: update eslintignore config (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/246" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/246/hovercard">material-components#246</a>)</li>
<li>refactor(ts): use es module imports (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/244" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/244/hovercard">material-components#244</a>)</li>
<li>chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/243" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/243/hovercard">material-components#243</a>)</li>
<li>chore: drop contributors from multiple places (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/241" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/241/hovercard">material-components#241</a>)</li>
<li>chore(deps): update dependency @types/is to v0.0.21 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/240" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/240/hovercard">material-components#240</a>)</li>
<li>chore: use latest npm on Windows (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/239" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/239/hovercard">material-components#239</a>)</li>
<li>refactor(ts): convert to typescript (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/236" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/236/hovercard">material-components#236</a>)</li>
<li>chore: update CircleCI config (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/235" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/235/hovercard">material-components#235</a>)</li>
<li>chore: include build in eslintignore (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/232" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/232/hovercard">material-components#232</a>)</li>
<li>chore(deps): update dependency eslint-plugin-node to v8 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/227" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/227/hovercard">material-components#227</a>)</li>
<li>chore: update issue templates (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/225" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/225/hovercard">material-components#225</a>)</li>
<li>chore: remove old issue template (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/223" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/223/hovercard">material-components#223</a>)</li>
<li>build: run tests on node11 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/222" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/222/hovercard">material-components#222</a>)</li>
<li>chores(build): do not collect sponge.xml from windows builds (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/221" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/221/hovercard">material-components#221</a>)</li>
<li>chores(build): run codecov on continuous builds (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/220" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/220/hovercard">material-components#220</a>)</li>
<li>chore: update new issue template (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/219" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/219/hovercard">material-components#219</a>)</li>
<li>build: fix codecov uploading on Kokoro (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/213" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/213/hovercard">material-components#213</a>)</li>
<li>fix(deps): update dependency sinon to v7 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/212" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/212/hovercard">material-components#212</a>)</li>
<li>Update kokoro config (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/207" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/207/hovercard">material-components#207</a>)</li>
<li>chore(deps): update dependency eslint-plugin-prettier to v3 (<a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/pull/206" data-hovercard-type="pull_request" data-hovercard-url="/googleapis/nodejs-datastore/pull/206/hovercard">material-components#206</a>)</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 54 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/f839e581b0396b830cc3bae31d107f57414394d4"><code>f839e58</code></a> <code>Release v3.0.0 (material-components#298)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/f0b665c0c2c8c2241af2c321212574fb78d63f4a"><code>f0b665c</code></a> <code>fix(deps): update dependency google-gax to ^0.23.0 (material-components#296)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/f4e4410fa1f930ce196ee809d150c07c1e86875d"><code>f4e4410</code></a> <code>fix(docs): fix namespace causing 404s (material-components#294)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/8608c7ee73b80a6e55f05cb3d687a9b32b1b2bd9"><code>8608c7e</code></a> <code>fix(docs): remove unused long running operations types</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/4bbe64ff09e28ffac063714def174860388f136c"><code>4bbe64f</code></a> <code>refactor: sprinkle some types about (material-components#291)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/78d776f68cef67471a318a37dba08e6ad2e535a7"><code>78d776f</code></a> <code>fix(deps): update dependency concat-stream to v2 (material-components#290)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/b3db31e4ca17684012efe47e0745d6927a587d5e"><code>b3db31e</code></a> <code>chore(deps): update dependency @types/sinon to v7.0.2 (material-components#289)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/42d6f705b3ed39d25574c820dc92efc935fd92b1"><code>42d6f70</code></a> <code>refactor: remove async module usage (material-components#272)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/97d847df17ff45947e495bc5e54f466106003186"><code>97d847d</code></a> <code>chore(deps): update dependency @types/sinon to v7 (material-components#286)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/717b818e25f1b7bb014b614d0be234102804ed37"><code>717b818</code></a> <code>refactor(ts): enable lint and fix (material-components#287)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/dcb7f651a4d9d3298f44eeb45f735b1713c073ff"><code>dcb7f65</code></a> <code>chore(build): inject yoshi automation key (material-components#285)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/35a081d6e8bd146d05d04a1ea47ca7fd2dfc1c4b"><code>35a081d</code></a> <code>chore: update nyc and eslint configs (material-components#284)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/4f91d8f7c91cc1d0360c84a5d4d7a0ede978addb"><code>4f91d8f</code></a> <code>chore: fix publish.sh permission +x (material-components#282)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/1072247740128ae04380d2ca3cc57895a52e5208"><code>1072247</code></a> <code>fix(build): fix Kokoro release script (material-components#281)</code></li>
<li><a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/commit/b5579c28ab0c938f65e61be667ea65a8cacf4cf2"><code>b5579c2</code></a> <code>build: add Kokoro configs for autorelease (material-components#280)</code></li>
</ul>
<p>There are 54 commits in total.</p>
<p>See the <a href="https://urls.greenkeeper.io/googleapis/nodejs-datastore/compare/a0406f2e897e59944d9f82d9997955aa32f7df13...f839e581b0396b830cc3bae31d107f57414394d4">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’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 🌴


(cherry picked from commit 9d46c20)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants