tree 378789a31f679c440a04419792aab67f6c79a6d5
parent f19da96af3ce3957d2bed591d13688f881172350
author dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 1713567207 +0000
committer GitHub <noreply@github.com> 1713567207 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmIvXnCRC1aQ7uu5UhlAAAPPMQAJzAVeDcwOZrRXpLYfsTxPqM
 vu6GSGhiYp4Zsg8XrEt+qYkVXL3DDKAEAkInqS8jrwR0TXAGipKhOsGXTdO1ZGri
 4HIs0rUZkBHuDSoETKFaqMKfVPGbwao1xmxtRsfwFtSc5+DI4Y2lWrHm/+Ajza22
 kRfHiGG7LXNx4iSG/UScA0IjFZB0Klqb/4V5+vey5F7RJ03kaZpRdV6yJpMo98XX
 SL019JHIXEC5/m0gzCCb6RwSLgdjeGWAEDmcIjyOEHPXOWkFLzv4kYGNCKJLuUb9
 rwJbsSe8fJpGlLB3EqRdHCVajZ7MtP9P48dww+/VJ5N1hDCz2G1y/D3trVWtPLEA
 R/NOMH4Z1XtjWltgsjdXzO/ovWRT4NpjZuyiuCip4BZJ2xHcAY1O+zSO+DJpuEwy
 o+l3zVFbX6SkJCnxcMJ7M7TLPGAfXA6FQNBGojYNIXieCX4JN+JzqPpitinNbqPA
 0opxKUH3+B48iXWORec2vS07DtkWM6qau9WXPwWqn6xdSY6VqqjzT+E1Cq2YAMO1
 M97FlJyVKzhuj2+69jYqe8dHszsFwL4ZmNL2AYkqaMGjpffSxPiqCm0nilXDEUQl
 MgCOU9xq50SgJe5gua33m/OWlZJF7xBk11cQG8in7fiuttli1whpAlo/TxZW72t+
 lBvKXzplxrucKiX11Mwh
 =jkSD
 -----END PGP SIGNATURE-----
 

chore(deps): bump golang.org/x/net from 0.20.0 to 0.23.0 (#1137)

Bumps golang.org/x/net from 0.20.0 to 0.23.0.

Commits

c48da13 http2: fix TestServerContinuationFlood flakes
762b58d http2: fix tipos in comment
ba87210 http2: close connections when receiving too many headers
ebc8168 all: fix some typos
3678185 http2: make TestCanonicalHeaderCacheGrowth faster
448c44f http2: remove clientTester
c7877ac http2: convert the remaining clientTester tests to testClientConn
d8870b0 http2: use synthetic time in TestIdleConnTimeout
d73acff http2: only set up deadline when Server.IdleTimeout is positive
89f602b http2: validate client/outgoing trailers
Additional commits viewable in compare view




Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.