{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":169165755,"defaultBranch":"main","name":"aioquic","ownerLogin":"aiortc","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-02-04T23:27:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/47147108?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1710268952.0","currentOid":""},"activityList":{"items":[{"before":"33e4cf2d4a748065616b2eaad13b65c345afe28b","after":"a6d91fbcb5d7660adb1597bb711f6f963c598e03","ref":"refs/heads/main","pushedAt":"2024-03-13T20:04:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Make packet builder tests more realistic\n\nReal usage of QuicPacketBuilder involve call to `start_packet()` for\nwhich no frames actually get written.","shortMessageHtmlLink":"Make packet builder tests more realistic"}},{"before":"072eb4b61ec5713661fadb345ce93dcb2a507213","after":"33e4cf2d4a748065616b2eaad13b65c345afe28b","ref":"refs/heads/main","pushedAt":"2024-03-13T20:04:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Configure codecov token for code coverage","shortMessageHtmlLink":"Configure codecov token for code coverage"}},{"before":"4f73f18a23c22f48ef43cb3629b0686757f096af","after":"072eb4b61ec5713661fadb345ce93dcb2a507213","ref":"refs/heads/main","pushedAt":"2024-03-12T18:41:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"1.0.0","shortMessageHtmlLink":"1.0.0"}},{"before":"c32862a10a2e24dfbaff07a5ba1eff5232cd84b1","after":"4f73f18a23c22f48ef43cb3629b0686757f096af","ref":"refs/heads/main","pushedAt":"2024-03-12T18:36:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Limit the number of pending connection IDs marked for retirement.","shortMessageHtmlLink":"Limit the number of pending connection IDs marked for retirement."}},{"before":"766645f50492e7fc84fdc9073a5b4fbb6356c78b","after":"c32862a10a2e24dfbaff07a5ba1eff5232cd84b1","ref":"refs/heads/main","pushedAt":"2024-03-11T20:35:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Comply with RFC 9000 section 14.1 (#481)\n\nWe were accepting some initial packets that were too small\r\n[#401].\r\n\r\nWe were also emitting datagrams that were too small for client\r\ninitial acks and server initial ack-eliciting packets.","shortMessageHtmlLink":"Comply with RFC 9000 section 14.1 (#481)"}},{"before":"8b14b90430e96635988431c969a036f2b525f306","after":"766645f50492e7fc84fdc9073a5b4fbb6356c78b","ref":"refs/heads/main","pushedAt":"2024-03-11T20:17:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Update GitHub actions to their latest versions\n\nThis should fix deprecation warnings about Node.js 16 actions.\n\nThe behaviour of `actions/upload-artifact` has changed, we need to\nuse unique names for each artifact.","shortMessageHtmlLink":"Update GitHub actions to their latest versions"}},{"before":"ae282aa3cf21d068bbb115feec233c06e37c0fda","after":"8b14b90430e96635988431c969a036f2b525f306","ref":"refs/heads/main","pushedAt":"2024-03-10T23:24:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Only load certifi if none of cadata, cafile, or capath have been specified. [#476] (#479)","shortMessageHtmlLink":"Only load certifi if none of cadata, cafile, or capath have been spec…"}},{"before":"e728bc29082a2021807a388de6bdb43b41dcb8a6","after":"ae282aa3cf21d068bbb115feec233c06e37c0fda","ref":"refs/heads/main","pushedAt":"2024-02-29T22:41:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Reformat code using latest `ruff` version\n\nThe 'pragma: no cover' comments for the abstract methods are no longer\nrequired. Also fix the `ruff` configuration to silence a warning.","shortMessageHtmlLink":"Reformat code using latest ruff version"}},{"before":"fecdd590bcb5a774281dcf28e339690a518c030f","after":"e728bc29082a2021807a388de6bdb43b41dcb8a6","ref":"refs/heads/main","pushedAt":"2024-02-27T22:32:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Fairer stream write scheduling [#125]. (#475)","shortMessageHtmlLink":"Fairer stream write scheduling [#125]. (#475)"}},{"before":"2b3d9b8c29cb59343da9e59fd6fe40be39d0aae8","after":"fecdd590bcb5a774281dcf28e339690a518c030f","ref":"refs/heads/main","pushedAt":"2024-02-27T13:46:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Set the idle timer according to RFC 9000 section 10.1 [#466]. (#474)","shortMessageHtmlLink":"Set the idle timer according to RFC 9000 section 10.1 [#466]. (#474)"}},{"before":"a5cdaa881437857ea286135e616cbc33ceb93eb9","after":"2b3d9b8c29cb59343da9e59fd6fe40be39d0aae8","ref":"refs/heads/main","pushedAt":"2024-02-27T13:27:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Fix stream writer draining exceptions. (#477)\n\nThis fix is the code submitted by jmgurney in [#299] with one\r\nline added to the tests to give 100% coverage.\r\n\r\nCo-authored-by: John-Mark Gurney ","shortMessageHtmlLink":"Fix stream writer draining exceptions. (#477)"}},{"before":"e726115a9087c267aa6e532460fd467ec3e80b9f","after":"a5cdaa881437857ea286135e616cbc33ceb93eb9","ref":"refs/heads/main","pushedAt":"2024-02-27T13:26:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"More H3 header validation [#465]. (#472)\n\nThis validates that:\r\n\r\n* Content-Length should be validated against the actual size of the body\r\n\r\n* Transfer-Encoding headers can only be accepted if the value is \"trailers\"\r\n\r\n* Field names must not contain characters in the ranges 0x00-0x20, 0x41-0x5a, or 0x7f-0xff\r\n\r\n* Except for pseudo-headers, headers must not contain single colons (:)\r\n\r\n* Header values must not contain null bytes, \\n (newlines) and \\r (carriage returns)\r\n\r\n* Header values must not contain \\t (tabs) or spaces at the start or end","shortMessageHtmlLink":"More H3 header validation [#465]. (#472)"}},{"before":"74e8479e216f53df6d7625596f1b6d4a84477e84","after":"e726115a9087c267aa6e532460fd467ec3e80b9f","ref":"refs/heads/main","pushedAt":"2024-02-17T14:00:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Ignore non-ASCII ALPN [#374]. (#467)","shortMessageHtmlLink":"Ignore non-ASCII ALPN [#374]. (#467)"}},{"before":"fac6cfce27ca52f55fe8dec373b316934a2afd96","after":"74e8479e216f53df6d7625596f1b6d4a84477e84","ref":"refs/heads/main","pushedAt":"2024-01-26T14:22:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Update build instructions for homebrew users\n\nThe location where homebrew installs OpenSSL may change, so query the\ninstallation prefix using `brew --prefix openssl`.\n\nFixes: #56","shortMessageHtmlLink":"Update build instructions for homebrew users"}},{"before":"488f1ab60b36328e5f5565e5d2b4969a6dd6263b","after":"fac6cfce27ca52f55fe8dec373b316934a2afd96","ref":"refs/heads/main","pushedAt":"2024-01-23T17:48:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Build binary wheels against OpenSSL 3.2.0","shortMessageHtmlLink":"Build binary wheels against OpenSSL 3.2.0"}},{"before":"5bbac3bfa69125682b8837e9c358694bfe038656","after":"488f1ab60b36328e5f5565e5d2b4969a6dd6263b","ref":"refs/heads/main","pushedAt":"2024-01-23T17:04:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Use timezone aware UTC time starting with Cryptography 42.0.0. (#461)","shortMessageHtmlLink":"Use timezone aware UTC time starting with Cryptography 42.0.0. (#461)"}},{"before":"3cdecddf4b18101761f664fa86299c8379caf222","after":"5bbac3bfa69125682b8837e9c358694bfe038656","ref":"refs/heads/main","pushedAt":"2024-01-16T00:54:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"ec.generate_private_key() is supposed to be given a curve instance. (#455)\n\nIn this one place we gave a class instead, which Cryptography < 42.0.0\r\ntolerates and fixes, but it will be deprecated in 42.0.0.","shortMessageHtmlLink":"ec.generate_private_key() is supposed to be given a curve instance. (#…"}},{"before":"e899593805e0b31325a1d347504eb8e6100fe87d","after":"3cdecddf4b18101761f664fa86299c8379caf222","ref":"refs/heads/main","pushedAt":"2024-01-15T11:06:11.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Add more references to `QuicConnection.datagrams_to_send`\n\nInstead of tediously copying the same text over and over, add a\n`aioquic_transmit` Sphinx extension to mark methods for which\n`datagrams_to_send` needs to be called.","shortMessageHtmlLink":"Add more references to QuicConnection.datagrams_to_send"}},{"before":"20cd4ee70bc04e771f96c49bc43816db6816b42d","after":"e899593805e0b31325a1d347504eb8e6100fe87d","ref":"refs/heads/main","pushedAt":"2024-01-14T21:38:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Adapt \"no subjectaltname\" test for service-identitity >= 24\n\nWhen a certificate contains no subjectAltName extension,\n`service-identity` now raises a `CertificateError` instead of a\n`VerificationError`.","shortMessageHtmlLink":"Adapt \"no subjectaltname\" test for service-identitity >= 24"}},{"before":"78c04df39136f6c47e93724200e3719580ceb368","after":"20cd4ee70bc04e771f96c49bc43816db6816b42d","ref":"refs/heads/main","pushedAt":"2024-01-13T23:55:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Fix code coverage link in README and docs","shortMessageHtmlLink":"Fix code coverage link in README and docs"}},{"before":"1db3fa7e8cbd4f28b0e7dd58a4b130c4065e7cc6","after":"78c04df39136f6c47e93724200e3719580ceb368","ref":"refs/heads/main","pushedAt":"2024-01-12T09:00:37.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Simplify docs and sphinx configuration, remove copyright years","shortMessageHtmlLink":"Simplify docs and sphinx configuration, remove copyright years"}},{"before":"1f8735c054ad18c54ec07c00ffdc0d7457986fc3","after":"1db3fa7e8cbd4f28b0e7dd58a4b130c4065e7cc6","ref":"refs/heads/main","pushedAt":"2024-01-09T04:52:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Clean up retry packet test (fixes: #447)","shortMessageHtmlLink":"Clean up retry packet test (fixes: #447)"}},{"before":"a1ce5cadc78bb94356f16dfc8ec70e78cb7f1674","after":"1f8735c054ad18c54ec07c00ffdc0d7457986fc3","ref":"refs/heads/main","pushedAt":"2024-01-07T17:23:07.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"[h3] make `send_datagram` raise InvalidStreamTypeError\n\nDATAGRAM frames may only be sent on client-initiated bidirectional\nstreams, raise an exception if `send_push_promise` is called on an\ninvalid stream ID.","shortMessageHtmlLink":"[h3] make send_datagram raise InvalidStreamTypeError"}},{"before":"70c2fa6a2004c8b5ec2d74b9254d3cae6c79dfe3","after":"a1ce5cadc78bb94356f16dfc8ec70e78cb7f1674","ref":"refs/heads/main","pushedAt":"2024-01-07T14:58:35.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Fix `test_handshake_with_certificate_request_with_certificate` flakiness","shortMessageHtmlLink":"Fix test_handshake_with_certificate_request_with_certificate flakiness"}},{"before":"0c383217db10e6168dc8d4c295d8a504aad5cde1","after":"70c2fa6a2004c8b5ec2d74b9254d3cae6c79dfe3","ref":"refs/heads/main","pushedAt":"2024-01-07T13:39:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Remove unused QuicDeliveryState.EXPIRED enum value","shortMessageHtmlLink":"Remove unused QuicDeliveryState.EXPIRED enum value"}},{"before":"9909899d2d47acc45c6dda855a0b66e17a484a43","after":"0c383217db10e6168dc8d4c295d8a504aad5cde1","ref":"refs/heads/main","pushedAt":"2024-01-07T02:15:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"0.9.25","shortMessageHtmlLink":"0.9.25"}},{"before":"ac18ff69991b676576b139c2c4b17d4890d63c82","after":"9909899d2d47acc45c6dda855a0b66e17a484a43","ref":"refs/heads/main","pushedAt":"2024-01-07T02:10:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Explicitly track whether FIN has been acknowledged (fixes: #438)\n\nA stream's sender part is only finished if all the data and the FIN have\nbeen acknowledged. Tracking the acknowledged data ranges is not\nsufficient to know whether the FIN has been acknowledged too, as the FIN\nmay have been sent on its own. To fix this we need to explicitly keep\ntrack of whether the frame containing the FIN was acknowledged.\n\nWe also:\n\n- Remove a bogus assignment of `QuicStreamSender.send_buffer_empty`,\n this should have been `QuicStreamSender.buffer_is_empty`.\n- Only set `buffer_is_empty` to `False` when data or a FIN have been\n lost. This saves useless calls to `QuicStreamSender.get_frame()`.\n\nCo-authored-by: Maximilian Hils ","shortMessageHtmlLink":"Explicitly track whether FIN has been acknowledged (fixes: #438)"}},{"before":"57722463ff6b6cbe11f056d7f253ed5161f25356","after":"ac18ff69991b676576b139c2c4b17d4890d63c82","ref":"refs/heads/main","pushedAt":"2023-12-28T20:52:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Raise a TLS alert if parsing a message causes a BufferReadError\n\nWhile parsing TLS messages, if a `BufferReadError` occurs, it is a sign\nwe are unable to parse the message because it is malformed. In such an\nevent raise a `AlertDecodeError` exception so that the connection gets\nshut down with a TLS error.","shortMessageHtmlLink":"Raise a TLS alert if parsing a message causes a BufferReadError"}},{"before":"bc7c480f452ab5ad207c870364fe1adaa7fcba57","after":"57722463ff6b6cbe11f056d7f253ed5161f25356","ref":"refs/heads/main","pushedAt":"2023-12-28T15:57:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rthalley","name":"Bob Halley","path":"/rthalley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/78507?s=80&v=4"},"commit":{"message":"Fix tls.py assertion issues. (#435)\n\n1) Some assertions had side effects and would cause a loss of\r\n framing if python was run with -O or -OO\r\n\r\n2) Some assertions should have been error checks.\r\n\r\nCo-authored-by: Jeremy Lainé ","shortMessageHtmlLink":"Fix tls.py assertion issues. (#435)"}},{"before":"58ffced470b695c0932aa8ff3165eb58fb3229aa","after":"bc7c480f452ab5ad207c870364fe1adaa7fcba57","ref":"refs/heads/main","pushedAt":"2023-12-14T20:28:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Update README to mention installing from PyPI","shortMessageHtmlLink":"Update README to mention installing from PyPI"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEFOSkdwA","startCursor":null,"endCursor":null}},"title":"Activity · aiortc/aioquic"}