tree e4ba0838e7283e13819afdfad02ed02eb1a1af4a
parent 50c8044940c0912c8f1b6ad8fad43e16f515f551
author WhiteSource Renovate <bot@renovateapp.com> 1601915163 +0200
committer GitHub <noreply@github.com> 1601915163 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfe0kbCRBK7hj4Ov3rIwAAdHIIAAHsjKRu7r3CREwh/fM+PZDf
 QYMQ+vdHtX/nkCaJW14GQk3HtHB4mgIB0KRa0SCLeT4qc066WZeWUYZ8M2qnO5Td
 +A/OFPjWVZI6cZJQTgJjONAX45AW4nNjSRAVjnvCBIiAR+MThJQR7K9YvJsxTvfz
 zFOJ+DS6VOt8LPA7/76vLOb6s7xHrpVuJzArU1VYgL0NnzLaATnqF0kHmC8rCYu4
 I8pel9Sh83c6mCewAAbzyC/aKwfpN85SRKJ9uovCgiYi8A9PUkhAC1psawFTeLPA
 pUYK4lpdRIPn75ysIQuI8tFOWcDDkKzX/PxXhxsdWVRfLLhvWqLDujW94n9w9Jo=
 =2oxX
 -----END PGP SIGNATURE-----
 

chore(all): update all (#2958)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [cloud.google.com/go](https://togithub.com/googleapis/google-cloud-go) | require | minor | `v0.66.0` -> `v0.67.0` |
| [golang.org/x/net](https://togithub.com/golang/net) | require | digest | `5d4f700` -> `0a1ea39` |
| [golang.org/x/sync](https://togithub.com/golang/sync) | require | digest | `6e8e738` -> `3042136` |

---

### Release Notes

<details>
<summary>googleapis/google-cloud-go</summary>

### [`v0.67.0`](https://togithub.com/googleapis/google-cloud-go/releases/v0.67.0)

[Compare Source](https://togithub.com/googleapis/google-cloud-go/compare/v0.66.0...v0.67.0)

##### Features

-   **all:** auto-regenerate gapics , refs [#&#8203;2933](https://www.github.com/googleapis/google-cloud-go/issues/2933) [#&#8203;2919](https://www.github.com/googleapis/google-cloud-go/issues/2919) [#&#8203;2913](https://www.github.com/googleapis/google-cloud-go/issues/2913) [#&#8203;2910](https://www.github.com/googleapis/google-cloud-go/issues/2910) [#&#8203;2899](https://www.github.com/googleapis/google-cloud-go/issues/2899) [#&#8203;2897](https://www.github.com/googleapis/google-cloud-go/issues/2897) [#&#8203;2886](https://www.github.com/googleapis/google-cloud-go/issues/2886) [#&#8203;2877](https://www.github.com/googleapis/google-cloud-go/issues/2877) [#&#8203;2869](https://www.github.com/googleapis/google-cloud-go/issues/2869) [#&#8203;2864](https://www.github.com/googleapis/google-cloud-go/issues/2864)
-   **assuredworkloads:** start generating apiv1beta1 ([#&#8203;2866](https://www.github.com/googleapis/google-cloud-go/issues/2866)) ([7598c4d](https://www.github.com/googleapis/google-cloud-go/commit/7598c4dd2462e8270a2c7b1f496af58ca81ff568))
-   **dialogflow/cx:** start generating apiv3beta1 ([#&#8203;2875](https://www.github.com/googleapis/google-cloud-go/issues/2875)) ([37ca93a](https://www.github.com/googleapis/google-cloud-go/commit/37ca93ad69eda363d956f0174d444ed5914f5a72))
-   **docfx:** add support for examples ([#&#8203;2884](https://www.github.com/googleapis/google-cloud-go/issues/2884)) ([0cc0de3](https://www.github.com/googleapis/google-cloud-go/commit/0cc0de300d58be6d3b7eeb2f1baebfa6df076830))
-   **godocfx:** include README in output ([#&#8203;2927](https://www.github.com/googleapis/google-cloud-go/issues/2927)) ([f084690](https://www.github.com/googleapis/google-cloud-go/commit/f084690a2ea08ce73bafaaced95ad271fd01e11e))
-   **talent:** start generating apiv4 ([#&#8203;2871](https://www.github.com/googleapis/google-cloud-go/issues/2871)) ([5c98071](https://www.github.com/googleapis/google-cloud-go/commit/5c98071b03822c58862d1fa5442ff36d627f1a61))

##### Bug Fixes

-   **godocfx:** filter out other modules, sort pkgs ([#&#8203;2894](https://www.github.com/googleapis/google-cloud-go/issues/2894)) ([868db45](https://www.github.com/googleapis/google-cloud-go/commit/868db45e2e6f4e9ad48432be86c849f335e1083d))
-   **godocfx:** shorten function names ([#&#8203;2880](https://www.github.com/googleapis/google-cloud-go/issues/2880)) ([48a0217](https://www.github.com/googleapis/google-cloud-go/commit/48a0217930750c1f4327f2622b0f2a3ec8afc0b7))
-   **translate:** properly name examples ([#&#8203;2892](https://www.github.com/googleapis/google-cloud-go/issues/2892)) ([c19e141](https://www.github.com/googleapis/google-cloud-go/commit/c19e1415e6fa76b7ea66a7fc67ad3ba22670a2ba)), refs [#&#8203;2883](https://www.github.com/googleapis/google-cloud-go/issues/2883)

</details>

---

### Renovate configuration

:date: **Schedule**: "before 3am on Monday" (UTC).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.

:ghost: **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/config-help/issues) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/google-cloud-go).