tree 68cb0455b863f6b39a7eb344712b8da9a6774c57
parent 09de13bbfadcf3b32058b2132266f66405fbfa78
author WhiteSource Renovate <bot@renovateapp.com> 1605628202 +0100
committer GitHub <noreply@github.com> 1605628202 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfs/EqCRBK7hj4Ov3rIwAAdHIIAHGCeiQbM62JRxSkuUrcAEpM
 3hwVWOa4Px7riU01nHYTenRwH2LZxxHBGI2wJUeAl5/DB+chr44T8sBuihUu1JMS
 dph14cyfRjpQWcW9drcNIwR5fjkuCy5jsdE9vq8QXeOPHfw5ZNlGPeHJ/0eomSUN
 yuh5Iq+Kp54eteDQhzx2+8ODpNu0C6lsGQIbPutKNvToNiLiQ+HyyBK7y7pTBId9
 8W3cL/Dw+JS2et7GHgPXQ8yjb1ATEJbyDDF6B24DAwfV2yuJm4eTRhtN6yT6D3pQ
 r1zvnV+Bg2rGQprV2ke3ria2zq9xYvnIHVvYAroH8UEu2p94wvHiXnEyVKR4Ijc=
 =7pCd
 -----END PGP SIGNATURE-----
 

chore(all): update all (#3211)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [cloud.google.com/go](https://togithub.com/googleapis/google-cloud-go) | require | minor | `v0.71.0` -> `v0.72.0` |
| [github.com/google/go-cmp](https://togithub.com/google/go-cmp) | require | patch | `v0.5.2` -> `v0.5.3` |
| [github.com/google/pprof](https://togithub.com/google/pprof) | require | digest | `3e6fc7f` -> `cf23057` |
| [golang.org/x/net](https://togithub.com/golang/net) | require | digest | `ff519b6` -> `69a7880` |
| [golang.org/x/oauth2](https://togithub.com/golang/oauth2) | require | digest | `5d25da1` -> `9fd6049` |

---

### Release Notes

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

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

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

##### Features

-   **all:** auto-regenerate gapics , refs [#&#8203;3177](https://www.github.com/googleapis/google-cloud-go/issues/3177) [#&#8203;3164](https://www.github.com/googleapis/google-cloud-go/issues/3164) [#&#8203;3149](https://www.github.com/googleapis/google-cloud-go/issues/3149) [#&#8203;3142](https://www.github.com/googleapis/google-cloud-go/issues/3142) [#&#8203;3136](https://www.github.com/googleapis/google-cloud-go/issues/3136) [#&#8203;3130](https://www.github.com/googleapis/google-cloud-go/issues/3130) [#&#8203;3121](https://www.github.com/googleapis/google-cloud-go/issues/3121) [#&#8203;3119](https://www.github.com/googleapis/google-cloud-go/issues/3119)

##### Bug Fixes

-   **all:** Update hand-written clients to not use WithEndpoint override ([#&#8203;3111](https://www.github.com/googleapis/google-cloud-go/issues/3111)) ([f0cfd05](https://www.github.com/googleapis/google-cloud-go/commit/f0cfd0532f5204ff16f7bae406efa72603d16f44))
-   **internal/godocfx:** rename README files to pkg-readme ([#&#8203;3185](https://www.github.com/googleapis/google-cloud-go/issues/3185)) ([d3a8571](https://www.github.com/googleapis/google-cloud-go/commit/d3a85719be411b692aede3331abb29b5a7b3da9a))

</details>

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

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

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

Minor documentation changes:

([#&#8203;236](https://togithub.com/google/go-cmp/issues/236)) Fix license headers
([#&#8203;205](https://togithub.com/google/go-cmp/issues/205)) Add an example for IgnoreFields
([#&#8203;237](https://togithub.com/google/go-cmp/issues/237)) Fix Diff documentation

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