{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":84517704,"defaultBranch":"master","name":"h2","ownerLogin":"hyperium","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-10T04:03:11.000Z","ownerAvatar":"https://github.com/avatars/u/8730506?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724082162.0","currentOid":""},"activityList":{"items":[{"before":"fc3a6b4392f9fa3a61c46fdb9b506812f82e315d","after":null,"ref":"refs/heads/release-0.4.6","pushedAt":"2024-08-19T15:41:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"}},{"before":"a462e957993d4a063ab1a0893e65512c483f71c3","after":"90359ba6d38843b106967a6ac9419a500ea26873","ref":"refs/heads/master","pushedAt":"2024-08-19T15:41:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"v0.4.6","shortMessageHtmlLink":"v0.4.6"}},{"before":"5b4fd3276749347288bfc68927c8da025e2ece1d","after":"fc3a6b4392f9fa3a61c46fdb9b506812f82e315d","ref":"refs/heads/release-0.4.6","pushedAt":"2024-08-19T13:32:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"v0.4.6","shortMessageHtmlLink":"v0.4.6"}},{"before":"ce2ffc97e32bbb9527901aa596492a0be8c22fc3","after":null,"ref":"refs/heads/lint-allow-match-infallible","pushedAt":"2024-08-19T13:32:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"}},{"before":"36cf4f2bf2ae77489ec499518c716ea09a977de5","after":"a462e957993d4a063ab1a0893e65512c483f71c3","ref":"refs/heads/master","pushedAt":"2024-08-19T13:32:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"chore: allow matching infallible (#796)","shortMessageHtmlLink":"chore: allow matching infallible (#796)"}},{"before":null,"after":"ce2ffc97e32bbb9527901aa596492a0be8c22fc3","ref":"refs/heads/lint-allow-match-infallible","pushedAt":"2024-08-19T13:07:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"chore: allow matching infallible","shortMessageHtmlLink":"chore: allow matching infallible"}},{"before":null,"after":"5b4fd3276749347288bfc68927c8da025e2ece1d","ref":"refs/heads/release-0.4.6","pushedAt":"2024-08-19T13:04:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"v0.4.6","shortMessageHtmlLink":"v0.4.6"}},{"before":"5e5c03ca77cfc43fd26a0e5938692ce2838853fa","after":"36cf4f2bf2ae77489ec499518c716ea09a977de5","ref":"refs/heads/master","pushedAt":"2024-08-06T19:45:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"h2-tests: Add testing tools to verify wake calls (#794)\n\nThis commit adds wrappers around futures::future helpers and augments\nTestFuture to ensure that the underlying futures are notified before\nthey are polled. This helps to catch bugs where there are missing notify\ncalls or bad handling of the waker.\n\nThe commit then extends the tests to use these helpers instead of the\nlibrary functions from futures.\n\nIt also ammends the client_requests::recv_too_big_headers test to no\nlonger use the tokio spawned tasks that were added in #791.","shortMessageHtmlLink":"h2-tests: Add testing tools to verify wake calls (#794)"}},{"before":"e1693a79dcd07d0af4cf949d380636ad2919250c","after":"5e5c03ca77cfc43fd26a0e5938692ce2838853fa","ref":"refs/heads/master","pushedAt":"2024-08-06T18:36:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"streams: PushPromise tasks are notified properly (#793)\n\nThe push task is a separate task from the recv task, so its state needs\r\nto be tracked separately for waking. I don't know how to be systematic\r\nabout ensuring that notify_push is called in all the right places, but\r\nthis is an initial attempt.\r\n\r\nIn order to test this works, we manually utilize FuturesUnordered which\r\ndoes fine-grained task wake tracking. The added test failed before\r\nmaking the other changes.","shortMessageHtmlLink":"streams: PushPromise tasks are notified properly (#793)"}},{"before":"dd4c53d949d0b74a751473bbcf49aef3d744feae","after":null,"ref":"refs/heads/oversize-headers-protocol-error","pushedAt":"2024-08-06T18:34:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"}},{"before":"7dbb5c5eeeb1a8f7a2593073e1ac2128ad3086e6","after":"e1693a79dcd07d0af4cf949d380636ad2919250c","ref":"refs/heads/master","pushedAt":"2024-08-06T18:34:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized headers (#792)","shortMessageHtmlLink":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized head…"}},{"before":"ef1dc651182fa31dd9df1a6aeb46d3916be5612c","after":"dd4c53d949d0b74a751473bbcf49aef3d744feae","ref":"refs/heads/oversize-headers-protocol-error","pushedAt":"2024-08-05T15:18:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized headers","shortMessageHtmlLink":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized headers"}},{"before":"c0115230680d7415f063c9c924cd348137463757","after":"ef1dc651182fa31dd9df1a6aeb46d3916be5612c","ref":"refs/heads/oversize-headers-protocol-error","pushedAt":"2024-08-05T14:30:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized headers","shortMessageHtmlLink":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized headers"}},{"before":null,"after":"c0115230680d7415f063c9c924cd348137463757","ref":"refs/heads/oversize-headers-protocol-error","pushedAt":"2024-08-05T14:16:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized headers","shortMessageHtmlLink":"fix: send PROTOCOL_ERROR instead of REFUSED_STREAM for oversized headers"}},{"before":"cf95990863670badb54f59bea6fc887fe42fb8a7","after":"7dbb5c5eeeb1a8f7a2593073e1ac2128ad3086e6","ref":"refs/heads/master","pushedAt":"2024-08-02T20:41:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"streams: notify recv task upon reset (#791)\n\nBefore this change, the transition to the reset state wouldn't notify\r\ntasks that were waiting for a response. The motivating case for this\r\npatch involved a large header being sent by the server. This case was\r\nmostly tested by an existing test, but because that test did not spawn\r\nseparate tasks and kept polling the futures through its use of\r\n`conn.drive`, the missing notify was masked.\r\n\r\nInforms https://github.com/hyperium/hyper/issues/3724.","shortMessageHtmlLink":"streams: notify recv task upon reset (#791)"}},{"before":"2967fbb4724fa1f6c8896c98c70500bddb4489de","after":"cf95990863670badb54f59bea6fc887fe42fb8a7","ref":"refs/heads/master","pushedAt":"2024-07-29T14:44:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"chore: remove unnecessary type converting (#790)","shortMessageHtmlLink":"chore: remove unnecessary type converting (#790)"}},{"before":"e407f2e48a8c666fa8d29e66d48b9aed55e669d6","after":"2967fbb4724fa1f6c8896c98c70500bddb4489de","ref":"refs/heads/master","pushedAt":"2024-07-29T14:12:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"chore: replace legacy numeric constant with corresponding one (#789)","shortMessageHtmlLink":"chore: replace legacy numeric constant with corresponding one (#789)"}},{"before":"2fb0f49a082e62c3a7cce813aad69c376b01649f","after":"e407f2e48a8c666fa8d29e66d48b9aed55e669d6","ref":"refs/heads/master","pushedAt":"2024-07-28T13:52:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"docs: add indent to newline of list (#788)","shortMessageHtmlLink":"docs: add indent to newline of list (#788)"}},{"before":"4ac39d505a0eebc46eaa79ad8327dd161e38ddb1","after":"2fb0f49a082e62c3a7cce813aad69c376b01649f","ref":"refs/heads/master","pushedAt":"2024-07-28T13:52:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"style: flatten unnecessary nested if expression (#787)","shortMessageHtmlLink":"style: flatten unnecessary nested if expression (#787)"}},{"before":"68687125bd904ab65803fd1e78a70c0064646de5","after":"4ac39d505a0eebc46eaa79ad8327dd161e38ddb1","ref":"refs/heads/master","pushedAt":"2024-07-28T12:07:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"chore: use lints.rust.unexpected_cfgs in manifest (#785)","shortMessageHtmlLink":"chore: use lints.rust.unexpected_cfgs in manifest (#785)"}},{"before":"4617f49b266d560a773372a90be283ba8b2400a9","after":"68687125bd904ab65803fd1e78a70c0064646de5","ref":"refs/heads/master","pushedAt":"2024-07-28T11:05:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"chore(ci): use tokio 1.38.1 in MSRV check (#786)","shortMessageHtmlLink":"chore(ci): use tokio 1.38.1 in MSRV check (#786)"}},{"before":"f161f7cfacf7fc27f5bee071f78761f3bd63eea8","after":"4617f49b266d560a773372a90be283ba8b2400a9","ref":"refs/heads/master","pushedAt":"2024-06-10T12:30:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"feat: expose current max {recv,send} stream count (#784)","shortMessageHtmlLink":"feat: expose current max {recv,send} stream count (#784)"}},{"before":"357127e279c06935830fe2140378312eac801494","after":"e6e3e9c87f89a86465d0889dea543d9bfe024e82","ref":"refs/heads/0.3.x","pushedAt":"2024-06-03T14:10:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"fix: return a WriteZero error if frames cannot be written (#783)\n\nSome operating systems will allow you continually call `write()` on a closed socket, and will return `Ok(0)` instead of an error. This patch checks for a zero write, and instead of looping forever trying to write, returns a proper error.\r\n\r\nCloses #781\r\n\r\nCo-authored-by: leibeiyi ","shortMessageHtmlLink":"fix: return a WriteZero error if frames cannot be written (#783)"}},{"before":"3c41151280961094b3acd958bcdd9bc3d28de7ac","after":"f161f7cfacf7fc27f5bee071f78761f3bd63eea8","ref":"refs/heads/master","pushedAt":"2024-05-17T12:36:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"v0.4.5","shortMessageHtmlLink":"v0.4.5"}},{"before":"c83b2d52ef572202d7aacbe3afb24a007b3ddd4d","after":"3c41151280961094b3acd958bcdd9bc3d28de7ac","ref":"refs/heads/master","pushedAt":"2024-05-17T12:28:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"Replace futures-util with atomic-waker and manual poll_fn (#721)\n\nThis removes ones of the heavier dependencies. The goal is to also remove\r\nfutures-util from the rest of the dependency tree, which is hard to justify when\r\nfutures-util is used in more fundamental dependencies.","shortMessageHtmlLink":"Replace futures-util with atomic-waker and manual poll_fn (#721)"}},{"before":"ecb00954288065638372d40036a128d9d61c448c","after":"c83b2d52ef572202d7aacbe3afb24a007b3ddd4d","ref":"refs/heads/master","pushedAt":"2024-05-17T12:25:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"Fix request pseudo-header construction for CONNECT & OPTION methods (#770)\n\nCONNECT & OPTIONS request has special requirements regarding :path & :scheme pseudo-header which were not met.\r\n\r\nConstruction of pseudo-header was fixed to not include :path & :scheme fields for CONNECT method.\r\nEmpty :path field for OPTIONS requests now translates to '*' value sent in :path field.\r\n\r\nIn addition to tests included in MR the CONNECT request changes were tested against server based on hyper 1.2.","shortMessageHtmlLink":"Fix request pseudo-header construction for CONNECT & OPTION methods (#…"}},{"before":"092f3b391b7d68dc88b3d676c64b176d60c20e2d","after":"ecb00954288065638372d40036a128d9d61c448c","ref":"refs/heads/master","pushedAt":"2024-05-08T13:01:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"chore(lib): fix unexpected cfg warning (#777)","shortMessageHtmlLink":"chore(lib): fix unexpected cfg warning (#777)"}},{"before":"be129832df989bf28940da3618827e190ae64ef2","after":"092f3b391b7d68dc88b3d676c64b176d60c20e2d","ref":"refs/heads/master","pushedAt":"2024-05-06T13:17:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"examples: update to rustls 0.23","shortMessageHtmlLink":"examples: update to rustls 0.23"}},{"before":"0d66e3cba2da9925dc3f277b9c71b96356789a76","after":"be129832df989bf28940da3618827e190ae64ef2","ref":"refs/heads/master","pushedAt":"2024-05-02T01:29:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"Fix race condition in connection termination\n\nSee https://github.com/hyperium/hyper/issues/3652.\n\nWhat I have found is the final reference to a stream being dropped\nafter the `maybe_close_connection_if_no_streams` but before the\n`inner.poll()` completes can lead to the connection dangling forever\nwithout any forward progress. No streams/references are alive, but the\nconnection is not complete and never wakes up again. This seems like a\nclassic TOCTOU race condition.\n\nIn this fix, I check again at the end of poll and if this state is\ndetected, wake up the task again.\n\nWth the test in https://github.com/hyperium/hyper/pull/3655, on my machine, it fails about 5% of the time:\n```\n1876 runs so far, 100 failures (94.94% pass rate). 95.197349ms avg, 1.097347435s max, 5.398457ms min\n```\n\nWith that PR, this test is 100% reliable\n```\n64010 runs so far, 0 failures (100.00% pass rate). 44.484057ms avg, 121.454709ms max, 1.872657ms min\n```\n\nNote: we also have reproduced this using `h2` directly outside of `hyper`, which is what gives me\nconfidence this issue lies in `h2` and not `hyper`.","shortMessageHtmlLink":"Fix race condition in connection termination"}},{"before":"e2168def328e20553f18dc9bd6108dd83f340010","after":"0d66e3cba2da9925dc3f277b9c71b96356789a76","ref":"refs/heads/master","pushedAt":"2024-04-24T01:23:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seanmonstar","name":"Sean McArthur","path":"/seanmonstar","primaryAvatarUrl":"https://github.com/avatars/u/51479?s=80&v=4"},"commit":{"message":"readme: Added link to Tokio Discord. (#771)\n\nGitter chat has notification that community discussion were moved to Discord.\r\n\r\nLink to community discussion updated to point directly to Discord.","shortMessageHtmlLink":"readme: Added link to Tokio Discord. (#771)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEnjJYiwA","startCursor":null,"endCursor":null}},"title":"Activity · hyperium/h2"}