tree 1e9153d9cbe0a2ab77c0bd9e2c9663e9a2932c8f
parent bfdc8dbe10e81655155cb188c8baeb9ca7916302
author WhiteSource Renovate <bot@renovateapp.com> 1595860323 +0200
committer GitHub <noreply@github.com> 1595860323 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfHuVjCRBK7hj4Ov3rIwAAdHIIADG9NG3CA65+yX5+wYmHRVwh
 /DjMxpB6iqQIJeaLQ1pDnABADHa6UzpyIFog2c7whV0N1MkHEbWBzge7d32vhsCa
 TxtWxjAcvIJnf+wn8Eyn2XvyFSpB0bmQsj7y9sENgOe6m2gCpjAJPrVlGqBrR/KE
 2x2uHjSaqc8LYph6IvyceRdQVTliQhOLirHcgq9yCohfSdUs3ptOKJpAOslPJOIy
 d5Y25xMWsAgdDPXWUnHQMVVnt/AFb/lQIdqNPiGk50wvcb4UEma58Is26ml/RX5b
 MQGm2AIS9SiOSJYal1rXfpGwKIzqnn6Q5smfMoZr3r58Rnl8aQkD9kFK3VHf6hc=
 =l8ob
 -----END PGP SIGNATURE-----
 

chore(all): update all (#2642)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [cloud.google.com/go](https://togithub.com/googleapis/google-cloud-go) | require | minor | `v0.60.0` -> `v0.61.0` |
| [github.com/google/go-cmp](https://togithub.com/google/go-cmp) | require | patch | `v0.5.0` -> `v0.5.1` |
| [github.com/google/go-github/v32](https://togithub.com/google/go-github) | require | minor | `v32.0.0` -> `v32.1.0` |

---

### Release Notes

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

### [`v0.61.0`](https://togithub.com/googleapis/google-cloud-go/blob/master/CHANGES.md#v0610)

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

##### Changes

-   all:
    -   Update all direct dependencies.
-   dashboard:
    -   Start generating client for apiv1.
-   policytroubleshooter:
    -   Start generating client for apiv1.
-   profiler:
    -   Disable OpenCensus Telemetry for requests made by the profiler package by default. You can re-enable it using `profiler.Config.EnableOCTelemetry`.
-   Various updates to autogenerated clients.

</details>

<details>
<summary>google/go-cmp</summary>

### [`v0.5.1`](https://togithub.com/google/go-cmp/releases/v0.5.1)

[Compare Source](https://togithub.com/google/go-cmp/compare/v0.5.0...v0.5.1)

Minor reporter changes:

-   ([#&#8203;221](https://togithub.com/google/go-cmp/issues/221)) Swallow panics when calling `String` or `Error` methds.
-   ([#&#8203;229](https://togithub.com/google/go-cmp/issues/229)) Use triple-quote formatting for multiline strings in diffs.

Minor documentation changes:

-   ([#&#8203;228](https://togithub.com/google/go-cmp/issues/228)) Adjust panic for `IgnoreUnexported` and `IgnoreFields` to be more specific.

</details>

<details>
<summary>google/go-github</summary>

### [`v32.1.0`](https://togithub.com/google/go-github/releases/v32.1.0)

[Compare Source](https://togithub.com/google/go-github/compare/v32.0.0...v32.1.0)

This release contains the following non-breaking changes since v32.0.0:

-   [#&#8203;1544](https://togithub.com/google/go-github/issues/1544)
-   [#&#8203;1545](https://togithub.com/google/go-github/issues/1545)
-   [#&#8203;1548](https://togithub.com/google/go-github/issues/1548)
-   [#&#8203;1551](https://togithub.com/google/go-github/issues/1551)
-   [#&#8203;1553](https://togithub.com/google/go-github/issues/1553)
-   [#&#8203;1555](https://togithub.com/google/go-github/issues/1555)
-   [#&#8203;1556](https://togithub.com/google/go-github/issues/1556)
-   [#&#8203;1557](https://togithub.com/google/go-github/issues/1557)
-   [#&#8203;1558](https://togithub.com/google/go-github/issues/1558)
-   [#&#8203;1563](https://togithub.com/google/go-github/issues/1563)
-   [#&#8203;1565](https://togithub.com/google/go-github/issues/1565)
-   [#&#8203;1566](https://togithub.com/google/go-github/issues/1566)
-   [#&#8203;1568](https://togithub.com/google/go-github/issues/1568)
-   [#&#8203;1569](https://togithub.com/google/go-github/issues/1569)
-   [#&#8203;1571](https://togithub.com/google/go-github/issues/1571)

Thank you to all the volunteers who help keep this repo up-to-date!

</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**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

: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#googleapis/google-cloud-go).