tree d017fc114779bf57851036578e64af743b1cf73c
parent 022355a0af98e118d85c1ca2c7fa56c9b5788a82
author WhiteSource Renovate <bot@renovateapp.com> 1603741924 +0100
committer GitHub <noreply@github.com> 1603741924 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJflyjkCRBK7hj4Ov3rIwAAdHIIAGdc5zQQJWVA26ZklI58jyIH
 ngjuhxwaIGM118TNdfE4t0sCmM9lUTOfOUfPktCecpGxz5528RAGcdiZZURQoeyT
 pemNRHxU8lAG6wzKLCnQXWe2dum2ZvUTGQHMtQTO1hoetevh4vXT2sVQPwxJmz4I
 m7zkCPao4zjCg0THK7tODBWCKMCm0JztsoKTonyZTg0ezduFBv1r5B0xMHnYjdGp
 o987ynF3Eru/N5gQce95uHbFioCoLoMjnxLWMvprYlx9/XJ7d6wJJwNLJhqxlSJP
 97x82S05NmC7MtmHOduJMUhSliZ1gUMgIOIsA+LGlUnLn1o7LfhyOZ8YdFYNbHY=
 =aAAz
 -----END PGP SIGNATURE-----
 

chore(all): update all (#3081)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/google/pprof](https://togithub.com/google/pprof) | require | digest | `8ef5528` -> `3e6fc7f` |
| [golang.org/x/net](https://togithub.com/golang/net) | require | digest | `f585440` -> `146b70c` |
| [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require | minor | `v1.32.0` -> `v1.33.1` |
| [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require | patch | `v1.33.0` -> `v1.33.1` |

---

### Release Notes

<details>
<summary>grpc/grpc-go</summary>

### [`v1.33.1`](https://togithub.com/grpc/grpc-go/releases/v1.33.1)

[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.32.0...v1.33.1)

##### API Changes

-   connectivity: remove unused, experimental Reporter interface ([#&#8203;3875](https://togithub.com/grpc/grpc-go/issues/3875))

##### New Features

-   xds bootstrap: support insecure and make Creds required ([#&#8203;3881](https://togithub.com/grpc/grpc-go/issues/3881))
-   xds: add bootstrap support for certificate providers. ([#&#8203;3901](https://togithub.com/grpc/grpc-go/issues/3901))
-   lrs: add a layer for clusters in load store ([#&#8203;3880](https://togithub.com/grpc/grpc-go/issues/3880))
-   credentials/xds: implementation of client-side xDS credentials. ([#&#8203;3888](https://togithub.com/grpc/grpc-go/issues/3888))

##### Bug Fixes

-   http2_client: fix reader segfault on PROTOCOL_ERRORs ([#&#8203;3926](https://togithub.com/grpc/grpc-go/issues/3926))
    -   Special Thanks: [@&#8203;sorah](https://togithub.com/sorah)
-   internal/transport: handle h2 errcode on header decoding ([#&#8203;3872](https://togithub.com/grpc/grpc-go/issues/3872))
    -   Special Thanks: [@&#8203;tz70s](https://togithub.com/tz70s)
-   xds: exit from run() goroutine when resolver is closed. ([#&#8203;3882](https://togithub.com/grpc/grpc-go/issues/3882))
-   credentials/alts: ClientAuthorizationCheck to case-fold compare of peer SA ([#&#8203;3792](https://togithub.com/grpc/grpc-go/issues/3792))
    -   Special Thanks: [@&#8203;AntonNep](https://togithub.com/AntonNep)
-   service reflection: include transitive closure for a file ([#&#8203;3851](https://togithub.com/grpc/grpc-go/issues/3851))
-   stats: include message header in stats.InPayload.WireLength ([#&#8203;3886](https://togithub.com/grpc/grpc-go/issues/3886))
    -   Special Thanks: [@&#8203;xstephen95x](https://togithub.com/xstephen95x)
-   binarylog: export Sink ([#&#8203;3879](https://togithub.com/grpc/grpc-go/issues/3879))
-   service reflection: include transitive closure for a file ([#&#8203;3851](https://togithub.com/grpc/grpc-go/issues/3851))

</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).