{"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:1720306751.0","currentOid":""},"activityList":{"items":[{"before":"7ee141f343ada6a372b0315050d677597899b54f","after":"9bc1e43d13be3f06339841aca7c8560825053371","ref":"refs/heads/main","pushedAt":"2024-07-06T22:58: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":"1.2.0","shortMessageHtmlLink":"1.2.0"}},{"before":"e189d298caa890b420f71a132143141ac8679159","after":"7ee141f343ada6a372b0315050d677597899b54f","ref":"refs/heads/main","pushedAt":"2024-07-06T22:41:50.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":"Try to fix retransmission test flakiness","shortMessageHtmlLink":"Try to fix retransmission test flakiness"}},{"before":"6987588d1d30129337fb55820bc7e05e502d1586","after":"e189d298caa890b420f71a132143141ac8679159","ref":"refs/heads/main","pushedAt":"2024-07-06T21:47:00.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 typing errors in examples, check with mypy\n\nThe examples we provide should also have correct type hints.","shortMessageHtmlLink":"Fix typing errors in examples, check with mypy"}},{"before":"afe5525822f71e277e534b08f198ec8724a7ad59","after":"6987588d1d30129337fb55820bc7e05e502d1586","ref":"refs/heads/main","pushedAt":"2024-07-01T15:00:33.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":"Improve padding of coalesced datagrams containing INITIAL\n\nOur previous padding algorithm padded all client-sent or ack-eliciting\nINITIAL packets to a full datagram size. While this satisfies the\nspecification requirements, the downside is that it made it impossible\nto coalesce any other packets after the INITIAL.\n\nWe now mostly defer the padding decision until the datagram is finalised\nand perform padding by appending zeroes at the end of the datagram. As\nan exception to this rule, in the presence of short-header packets we\ninsert the padding inside the packet.","shortMessageHtmlLink":"Improve padding of coalesced datagrams containing INITIAL"}},{"before":"79a8caf0044790c2a1764be8cad5835f9f9fbe76","after":"afe5525822f71e277e534b08f198ec8724a7ad59","ref":"refs/heads/main","pushedAt":"2024-07-01T10:42:08.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":"During address validation, count the entire received datagram\n\nFor anti-amplification purposes, servers need to keep track of the\namount of data received on unvalidated network paths. We must count the\nentire datagram size regardless of whether packets are processed or\ndropped.\n\nThis is particularly important when talking to clients who pad\ndatagrams containing INITIAL packets by appending bytes after the\nlong-header packets, which is legitimate behaviour.","shortMessageHtmlLink":"During address validation, count the entire received datagram"}},{"before":"aadd4be66af5cc083a485eaa67d13ebaa19628d6","after":"79a8caf0044790c2a1764be8cad5835f9f9fbe76","ref":"refs/heads/main","pushedAt":"2024-06-30T23:13:28.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":"Check Chosen Version matches the version in use by the connection\n\nWhen processing the remote Version Information transport parameter,\ncheck the Chosen Version matches the version in use by the connection or\nabort the connection with a VERSION_NEGOTIATION_ERROR.\n\nWe also fix a bug in our server implementation, the transport parameters\nneed to be updated to reflect the Chosen Version.","shortMessageHtmlLink":"Check Chosen Version matches the version in use by the connection"}},{"before":"c411453deb19328c6f0b6ca3d14e02b5f102563c","after":"aadd4be66af5cc083a485eaa67d13ebaa19628d6","ref":"refs/heads/main","pushedAt":"2024-06-30T23:08:48.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":"Improve connection establishment tests\n\nBefore we attempt to refactor packet / datagram padding, we need to\nfinely capture the current behaviour, so:\n\n- Add a detailed test for connection establishment without packet loss.\n\n- Exhaustively check the events emitted by client / server at each\n step with an `assertEvents` helper.\n\n- Check the unacknowledged sent packets at each step with an\n `assertSentPackets` helper.\n\n- Make use of the `client_and_server()` helper instead of manually\n spinning up client and server instances.","shortMessageHtmlLink":"Improve connection establishment tests"}},{"before":"95dbcb6bfbf8a9fbef588d81ed85200c8e48a7d0","after":"c411453deb19328c6f0b6ca3d14e02b5f102563c","ref":"refs/heads/main","pushedAt":"2024-06-30T18:31:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Add command line option for `http3_client` to negotiate QUIC v2\n\nAs part of the interoperability tests, we want to exercise the scenario\nwhere the client starts using QUIC version 1 then negotiates usage of\nQUIC version 2 using compatible version negotiation.","shortMessageHtmlLink":"Add command line option for http3_client
to negotiate QUIC v2"}},{"before":"e0d5d27d9ea06cd6451671147e920b054708dea8","after":"95dbcb6bfbf8a9fbef588d81ed85200c8e48a7d0","ref":"refs/heads/main","pushedAt":"2024-06-30T12:03:34.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":"Add command line option for `http3_client` to negotiate QUIC v2\n\nAs part of the interoperability tests, we want to exercise the scenario\nwhere the client starts using QUIC version 1 then negotiates usage of\nQUIC version 2 using compatible version negotiation.","shortMessageHtmlLink":"Add command line option for http3_client
to negotiate QUIC v2"}},{"before":"bb5a03d6cc1cb9c3a17401c74d7fd3d7b2ce716d","after":"e0d5d27d9ea06cd6451671147e920b054708dea8","ref":"refs/heads/main","pushedAt":"2024-06-30T10:45:13.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":"Add command line options to `http3_client` for client certs\n\nMake it possible to use client TLS certificates with the HTTP/3 client\ndemo.\n\nFixes: #498","shortMessageHtmlLink":"Add command line options to http3_client
for client certs"}},{"before":"c6eeedc366ba806cdd12ced460b8317bc92f7cab","after":"bb5a03d6cc1cb9c3a17401c74d7fd3d7b2ce716d","ref":"refs/heads/main","pushedAt":"2024-06-30T07:02:39.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":"Implement compatible version negotiation\n\nEnable compatible version negotiation according to RFC 9368. Unlike\nincompatible negotiation which uses a Version Negotiation packet, this\nallows a switch between compatible versions without an additional\nroundtrip.\n\nAs an example we support switching between version 1 (RFC 9000) and\nversion 2 (RFC 9369) and vice versa.\n\nOn the server side we honour the client's preferences.","shortMessageHtmlLink":"Implement compatible version negotiation"}},{"before":"5c55e0c75d414ab171a09a732c2d8aaf6f178c05","after":"c6eeedc366ba806cdd12ced460b8317bc92f7cab","ref":"refs/heads/main","pushedAt":"2024-06-30T00:22:54.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":"Include aioquic usecases in README, link to interop tests\n\nAdd some links to projects making use of aioquic, and mention the\nstrict testing policy used by the project.","shortMessageHtmlLink":"Include aioquic usecases in README, link to interop tests"}},{"before":"4a63173cb911a4c19a065511d8cf1c15e1edf5a4","after":null,"ref":"refs/heads/ruff-fix","pushedAt":"2024-06-29T08:11:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"}},{"before":"a59d9ad0b1df423376bf8b30ebb7642861fef54e","after":"5c55e0c75d414ab171a09a732c2d8aaf6f178c05","ref":"refs/heads/main","pushedAt":"2024-06-29T08:11:20.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":"Use `is` for type comparisons\n\nRuff 0.5.0 does not acceptable `==` for comparisons between types.","shortMessageHtmlLink":"Use is
for type comparisons"}},{"before":null,"after":"4a63173cb911a4c19a065511d8cf1c15e1edf5a4","ref":"refs/heads/ruff-fix","pushedAt":"2024-06-29T08:07:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jlaine","name":"Jeremy Lainé","path":"/jlaine","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1567624?s=80&v=4"},"commit":{"message":"Use `is` for type comparisons\n\nRuff 0.5.0 does not acceptable `==` for comparisons between types.","shortMessageHtmlLink":"Use is
for type comparisons"}},{"before":"dd029b481a1fe3836cb5bedb4ec358c480ff4de7","after":"a59d9ad0b1df423376bf8b30ebb7642861fef54e","ref":"refs/heads/main","pushedAt":"2024-06-29T08:02:10.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":"Add support for `version_information` transport parameter\n\nThis parameter is defined in RFC 9368 and is used for compatible version\nnegotiation.\n\nWe also ensure that if parsing a parameter results in a shorter read\nthan the parameter's length, we raise a `ValueError` not an\n`AssertionError`.","shortMessageHtmlLink":"Add support for version_information
transport parameter"}},{"before":"abf51897bb67f459921e4c26c8b3ea445aa79832","after":"dd029b481a1fe3836cb5bedb4ec358c480ff4de7","ref":"refs/heads/main","pushedAt":"2024-06-23T18:16:14.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 link to RFC 9369 (QUIC v2)","shortMessageHtmlLink":"Fix link to RFC 9369 (QUIC v2)"}},{"before":"ff3281fa33ca14943e7954b8baf51c1e950c791d","after":"abf51897bb67f459921e4c26c8b3ea445aa79832","ref":"refs/heads/main","pushedAt":"2024-06-23T18:14:18.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":"Add encryption for QUIC v2, drop pre-version 1 drafts\n\nRFC 9369 defines new encryption secrets and packet types for QUIC\nversion 2.\n\nRFC 9000 has been published for over 3 years, it's time to abandon the\ndraft versions.","shortMessageHtmlLink":"Add encryption for QUIC v2, drop pre-version 1 drafts"}},{"before":"e4fb277bf88797668073b79fa95191c59e5fe569","after":"ff3281fa33ca14943e7954b8baf51c1e950c791d","ref":"refs/heads/main","pushedAt":"2024-06-18T21:04:58.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":"1.1.0","shortMessageHtmlLink":"1.1.0"}},{"before":"d914a46bb81373efda4171f4dae29aa189679bd6","after":"e4fb277bf88797668073b79fa95191c59e5fe569","ref":"refs/heads/main","pushedAt":"2024-06-18T15:39:17.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":"Ensure the source distribution is complete\n\nSeveral files present in VCS were not included in the distribution\ntarball.\n\nDrop the obsolete appveyor configuration.","shortMessageHtmlLink":"Ensure the source distribution is complete"}},{"before":"174a2ebbe928686ef9663acc663b3ac06c2d56f2","after":"d914a46bb81373efda4171f4dae29aa189679bd6","ref":"refs/heads/main","pushedAt":"2024-06-18T15:18:00.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":"Add support for SECP384R1 key exchange","shortMessageHtmlLink":"Add support for SECP384R1 key exchange"}},{"before":"b507364ea51f3e654decd143cc99f7001b5b7923","after":"174a2ebbe928686ef9663acc663b3ac06c2d56f2","ref":"refs/heads/main","pushedAt":"2024-06-18T14:52:57.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 buffer up to 512 KiB of pending CRYPTO frames [#501]. (#505)","shortMessageHtmlLink":"Only buffer up to 512 KiB of pending CRYPTO frames [#501]. (#505)"}},{"before":"6c5b9dbb52dd2e8e0152349cadf583a5012976f8","after":"b507364ea51f3e654decd143cc99f7001b5b7923","ref":"refs/heads/main","pushedAt":"2024-06-18T14:10:25.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":"Improved path challenge handling. (#483)\n\n1) We are willing to reply to up to 5 outstanding challenges\r\non a connection, as it is legal for a client to send more than\r\none. We limit to 5 to prevent excessive challenging.\r\n\r\n2) We now accept path challege responses on any network path,\r\nin accordance with RFC 9000 section 8.2.3.","shortMessageHtmlLink":"Improved path challenge handling. (#483)"}},{"before":"a6d91fbcb5d7660adb1597bb711f6f963c598e03","after":"6c5b9dbb52dd2e8e0152349cadf583a5012976f8","ref":"refs/heads/main","pushedAt":"2024-06-18T10:53:55.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 tests on macOS by using homebrew's prefix for OpenSSL","shortMessageHtmlLink":"Fix tests on macOS by using homebrew's prefix for OpenSSL"}},{"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"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEeJxygwA","startCursor":null,"endCursor":null}},"title":"Activity · aiortc/aioquic"}