tree cc83e840b5a50451544cf308a27dceae2a048286
parent 64a558e70b819c225bb7bb5e1ced73897f6d22a2
author WhiteSource Renovate <bot@renovateapp.com> 1600266970 +0200
committer GitHub <noreply@github.com> 1600266970 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfYiLaCRBK7hj4Ov3rIwAAdHIIAJY4EUfXED/q/qPf7S5QrQYO
 m0KaYO63X+lqLq9XIgNYFFRmkgqWfLjsAxRHs3mFEEhnRNc6Ke4mzXoXxVU3dT+U
 kbRMeUW7YiEuaM1gDRr3JE7W95IN3wP4B8avfvgos0sbhA2rm4ljv5zn7m18ssAB
 yBO4RRbgbY26IZ+pcby5TEupogYokeidBI2v1sVlYWcPvyst1D4py3xHq5oY3VUU
 w3M1LChkaR5ADOS3888l4dvW46NYi+Qa26KMeBnlRV/efinNekrgwpFkJA3nUOA1
 BmDF5V58m4BkVKO6/Fe0mp6XwaMYA/O8z9IssjAtBbAdP/ChhKbuAps21A/xpyY=
 =gQkb
 -----END PGP SIGNATURE-----
 

chore(all): update all (#2852)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/shurcooL/githubv4](https://togithub.com/shurcooL/githubv4) | require | digest | `f27d2ca` -> `bc5e4fe` |
| [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require | minor | `v1.31.1` -> `v1.32.0` |

---

### Release Notes

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

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

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

### Dependencies

-   Remove Go 1.9 support; assume go1.12 build tag ([#&#8203;3767](https://togithub.com/grpc/grpc-go/issues/3767))

### New Features

-   grpc: add ServiceRegistrar interface; bump up support package version. ([#&#8203;3816](https://togithub.com/grpc/grpc-go/issues/3816); [#&#8203;3818](https://togithub.com/grpc/grpc-go/issues/3818))
-   xds: add LRS balancing policy ([#&#8203;3799](https://togithub.com/grpc/grpc-go/issues/3799))

### Bug Fixes

-   server: prevent hang in Go HTTP transport in some error cases ([#&#8203;3833](https://togithub.com/grpc/grpc-go/issues/3833))
-   server: respond correctly to client headers with END_STREAM flag set ([#&#8203;3803](https://togithub.com/grpc/grpc-go/issues/3803))
-   eds: fix priority timeout failure when EDS removes all priorities ([#&#8203;3830](https://togithub.com/grpc/grpc-go/issues/3830))

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