{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":122677553,"defaultBranch":"main","name":"aiortc","ownerLogin":"aiortc","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-02-23T22:05:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/47147108?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716130140.0","currentOid":""},"activityList":{"items":[{"before":"46e8c24f60e13999999c036236110dc6cd8f1d3e","after":"5b79a90fe6cf75b86649d125eb7b809f96e53402","ref":"refs/heads/main","pushedAt":"2024-05-21T06:53:24.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":"Stop using deprecated `audioop` for Opus\n\nThe `audioop` module is deprecated and will be removed in Python 3.13,\nso use PyAV's codecs instead.","shortMessageHtmlLink":"Stop using deprecated audioop for Opus"}},{"before":"d92adb3648bd9d90f9e059de66b2c0b38578b30c","after":"46e8c24f60e13999999c036236110dc6cd8f1d3e","ref":"refs/heads/main","pushedAt":"2024-05-21T06:52: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":"Fix a typo in `filexfer` example (fixes: #1083)\n\nThe example \"worked\" due to a global variable, but this was not the\ndesired code.\n\nThanks to @angererc for spotting this!","shortMessageHtmlLink":"Fix a typo in filexfer example (fixes: #1083)"}},{"before":"55b29590db07a5d98fb4b7fbee969893c1c1ce92","after":"d92adb3648bd9d90f9e059de66b2c0b38578b30c","ref":"refs/heads/main","pushedAt":"2024-05-20T22:06:06.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":"Implement handling of non-actpass setup in offers\n\nRFC 8842 updated RFC 5763 to allow a differt setup attribute than\n actpass\nin offers which allows for more control of the DTLS role.\n\nSee https://issues.webrtc.org/issues/42223106 for additional details\n\nFixes #1087","shortMessageHtmlLink":"Implement handling of non-actpass setup in offers"}},{"before":"0ea7a078a08ec994f58bdcbdfc75d24c5bb7e8e3","after":"55b29590db07a5d98fb4b7fbee969893c1c1ce92","ref":"refs/heads/main","pushedAt":"2024-05-19T15:03:47.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 runners for building macOs wheels\n\nWe can no longer use `macos-latest` for both arm64 and x86_64:\n\n- For arm64 use macos-14.\n- For x86_64 use macos-13.","shortMessageHtmlLink":"Fix runners for building macOs wheels"}},{"before":"b497f26f179ac7a1d4fc639327efcf716e85ccf0","after":null,"ref":"refs/heads/macos-runners","pushedAt":"2024-05-19T14:49:00.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":null,"after":"b497f26f179ac7a1d4fc639327efcf716e85ccf0","ref":"refs/heads/macos-runners","pushedAt":"2024-05-19T14:48:40.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":"Fix runners for building macOs wheels\n\nWe can not longer use `macos-latest` for both arm64 and x86_64:\n\n- For arm64 use macos-14.\n- For x86_64 use macos-13.","shortMessageHtmlLink":"Fix runners for building macOs wheels"}},{"before":"e9c13eab915ddc27f365356ed9ded0585b9a1bb7","after":"0ea7a078a08ec994f58bdcbdfc75d24c5bb7e8e3","ref":"refs/heads/main","pushedAt":"2024-05-19T14:27:01.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":"2855c6c1d25a1599c81f88d34d5e6490adb92bf6","after":"e9c13eab915ddc27f365356ed9ded0585b9a1bb7","ref":"refs/heads/main","pushedAt":"2024-03-11T23:22: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":"1.8.0","shortMessageHtmlLink":"1.8.0"}},{"before":"bc19cfb8ae25ac68e34f0d1b77c2828de003e50c","after":"2855c6c1d25a1599c81f88d34d5e6490adb92bf6","ref":"refs/heads/main","pushedAt":"2024-03-11T21:15: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":"enable|disable RTCRtpSender and RTCRtpReceiver\n\nEnable or disable them based on the negotiated direction.\n\nThis avoids RTCRtpSender sending RTP and RTCRtpReceiver processing incoming\nRTP if disabled.\n\nCo-authored-by: Jeremy Lainé ","shortMessageHtmlLink":"enable|disable RTCRtpSender and RTCRtpReceiver"}},{"before":"0332e914dbbe28bce3166d307a5af633787468cd","after":"bc19cfb8ae25ac68e34f0d1b77c2828de003e50c","ref":"refs/heads/main","pushedAt":"2024-03-11T16:32: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":"Add a minimal smoke test for binary wheels\n\nWe do not run the full test suite on every wheel, as it would take too\nlong but at least check the `aiortc` module can be imported.","shortMessageHtmlLink":"Add a minimal smoke test for binary wheels"}},{"before":"d420ec8552d3934868f969b14e6da43da062cef2","after":"0332e914dbbe28bce3166d307a5af633787468cd","ref":"refs/heads/main","pushedAt":"2024-03-11T15:47:16.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","shortMessageHtmlLink":"Update GitHub actions to their latest versions"}},{"before":"cbd1039a3cdbf630132003a6a5506a5a56b75760","after":"d420ec8552d3934868f969b14e6da43da062cef2","ref":"refs/heads/main","pushedAt":"2024-03-11T15:30: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":"Reformat code using latest ruff version","shortMessageHtmlLink":"Reformat code using latest ruff version"}},{"before":"8d08dd5757d465688731cf269a05713e245b64ca","after":"cbd1039a3cdbf630132003a6a5506a5a56b75760","ref":"refs/heads/main","pushedAt":"2024-01-28T21:58: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":"Free encoder when RTCRtpSender finishes\n\nOnce an `RTCRtpSender` stops, free the encoder as it may consume a\nconsiderable amount of memory.\n\nFixes: #925","shortMessageHtmlLink":"Free encoder when RTCRtpSender finishes"}},{"before":"c612e99b345c31e926b39b8a8e2f3b0e36f35acb","after":null,"ref":"refs/heads/close-on-dtls-shutdown","pushedAt":"2024-01-25T20:28:33.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":"954f2158635deb61ed004c61a35dd923a370ab15","after":"8d08dd5757d465688731cf269a05713e245b64ca","ref":"refs/heads/main","pushedAt":"2024-01-25T20:28: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":"If all DTLS transports are closed, close the peer connection\n\nWhen the remote peer closes the peer connection, API users need to wait\nuntil the ICE consent expires for the peer connection to move to the\n\"closed\" state.\n\nHowever, we will usually receive a DTLS close_notify immediately from\nthe remote peer. If all DTLS transports are closed, shutdown the peer\nconnection.\n\nFixes: #934","shortMessageHtmlLink":"If all DTLS transports are closed, close the peer connection"}},{"before":"3e210f82dc9b554b7c19bd2da24ad2e4fda04948","after":"c612e99b345c31e926b39b8a8e2f3b0e36f35acb","ref":"refs/heads/close-on-dtls-shutdown","pushedAt":"2024-01-25T20:12:34.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":"If all DTLS transports are closed, close the peer connection\n\nWhen the remote peer closes the peer connection, API users need to wait\nuntil the ICE consent expires for the peer connection to move to the\n\"closed\" state.\n\nHowever, we will usually receive a DTLS close_notify immediately from\nthe remote peer. If all DTLS transports are closed, shutdown the peer\nconnection.\n\nFixes: #934","shortMessageHtmlLink":"If all DTLS transports are closed, close the peer connection"}},{"before":"3f161e995406ebbe4a502e09f8279b034a2296f3","after":"3e210f82dc9b554b7c19bd2da24ad2e4fda04948","ref":"refs/heads/close-on-dtls-shutdown","pushedAt":"2024-01-25T20:11:09.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":"If all DTLS transports are closed, close the peer connection\n\nWhen the remote peer closes the peer connection, API users need to wait\nuntil the ICE consent expires for the peer connection to move to the\n\"closed\" state.\n\nHowever, we will usually receive a DTLS close_notify immediately from\nthe remote peer. If all DTLS transports are closed, shutdown the peer\nconnection.\n\nFixes: #934","shortMessageHtmlLink":"If all DTLS transports are closed, close the peer connection"}},{"before":"189208a599e72c2c65745ca46bb0042905b11041","after":"3f161e995406ebbe4a502e09f8279b034a2296f3","ref":"refs/heads/close-on-dtls-shutdown","pushedAt":"2024-01-25T19:46:23.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":"If all DTLS transports are closed, close the peer connection\n\nWhen the remote peer closes the peer connection, API users need to wait\nuntil the ICE consent expires for the peer connection to move to the\n\"closed\" state.\n\nHowever, we will usually receive a DTLS close_notify immediately from\nthe remote peer. If all DTLS transports are closed, shutdown the peer\nconnection.\n\nFixes: #934","shortMessageHtmlLink":"If all DTLS transports are closed, close the peer connection"}},{"before":"879c5bb0c160bea4903932f88f8b8b74867db6db","after":"189208a599e72c2c65745ca46bb0042905b11041","ref":"refs/heads/close-on-dtls-shutdown","pushedAt":"2024-01-25T17:27: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":"If all DTLS transports are closed, close the peer connection\n\nWhen the remote peer closes the peer connection, API users need to wait\nuntil the ICE consent expires for the peer connection to move to the\n\"closed\" state.\n\nHowever, we will usually receive a DTLS close_notify immediately from\nthe remote peer. If all DTLS transports are closed, shutdown the peer\nconnection.\n\nFixes: #934","shortMessageHtmlLink":"If all DTLS transports are closed, close the peer connection"}},{"before":null,"after":"879c5bb0c160bea4903932f88f8b8b74867db6db","ref":"refs/heads/close-on-dtls-shutdown","pushedAt":"2024-01-25T17:01:59.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":"If all DTLS transports are closed, close the peer connection\n\nWhen the remote peer closes the peer connection, API users need to wait\nuntil the ICE consent expires for the peer connection to move to the\n\"closed\" state.\n\nHowever, we will usually receive a DTLS close_notify immediately from\nthe remote peer. If all DTLS transports are closed, shutdown the peer\nconnection.\n\nFixes: #934","shortMessageHtmlLink":"If all DTLS transports are closed, close the peer connection"}},{"before":"25ffd279c6e56cbfa2f575fd3df95843966ff245","after":"954f2158635deb61ed004c61a35dd923a370ab15","ref":"refs/heads/main","pushedAt":"2024-01-25T15:20:23.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":"[examples] Make it possible to choose audio / video input devices","shortMessageHtmlLink":"[examples] Make it possible to choose audio / video input devices"}},{"before":"a19d30de43ad9eefd3029a833adc14a2cdc5f8fd","after":"25ffd279c6e56cbfa2f575fd3df95843966ff245","ref":"refs/heads/main","pushedAt":"2024-01-25T10:14: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":"1.7.0","shortMessageHtmlLink":"1.7.0"}},{"before":"338cc848233a7fee61c72d824d1f55290a4a1f54","after":"a19d30de43ad9eefd3029a833adc14a2cdc5f8fd","ref":"refs/heads/main","pushedAt":"2024-01-25T07:32: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":"Bump required pylibsrtp version to 0.10.0\n\nThis allows us to ensure GCM is available when installing `pylibsrtp`\nfrom binary wheels.","shortMessageHtmlLink":"Bump required pylibsrtp version to 0.10.0"}},{"before":"537b79df78e32888433e3a40dd93b85ef55539c5","after":"338cc848233a7fee61c72d824d1f55290a4a1f54","ref":"refs/heads/main","pushedAt":"2024-01-24T19:53:40.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":"Reduce DTLS cipher list to avoid Client Hello fragmentation\n\nCipher suites using RSA are removed.\n\nFixes: #956","shortMessageHtmlLink":"Reduce DTLS cipher list to avoid Client Hello fragmentation"}},{"before":"97713f21705fded81d043bbd1aa6e78956e398af","after":"537b79df78e32888433e3a40dd93b85ef55539c5","ref":"refs/heads/main","pushedAt":"2024-01-23T12:32: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":"Add support for GCM based SRTP protection profiles (fixes: #1012)\n\nThis requires pyOpenSSL >= 24.\n\nWe defer make the `SSL.Connection` instance private and defer SSL\ninitialisation. This allows us to control which SRTP profiles are used, up\nto the point when `start()` is called.","shortMessageHtmlLink":"Add support for GCM based SRTP protection profiles (fixes: #1012)"}},{"before":"5bb646270c5b2ee8844713de07e23633ee66265b","after":"97713f21705fded81d043bbd1aa6e78956e398af","ref":"refs/heads/main","pushedAt":"2024-01-23T11:55: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":"Fix `utcnow()` and `not_valid_after()` deprecation warnings\n\nAs of Python 3.12, `datetime.datetime.utcnow()` is deprecated in favour\nof passing a timezone to `datetime.datetime.now()`. `cryptography` has\nalso made their `datetime` handling timezone-aware so adapt to the new\nAPI.","shortMessageHtmlLink":"Fix utcnow() and not_valid_after() deprecation warnings"}},{"before":"8e683c853bbe32df47375a831b838c7eb27a49d5","after":"5bb646270c5b2ee8844713de07e23633ee66265b","ref":"refs/heads/main","pushedAt":"2024-01-12T12:11:48.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":"0ecc5379762883fbf6454d4633b948c2ad50dec8","after":"8e683c853bbe32df47375a831b838c7eb27a49d5","ref":"refs/heads/main","pushedAt":"2024-01-07T09:42:35.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 AudioStreamTrack in __init__.py\n\nMissing AudioStreamTrack in __init__.py , which makes this class impossible to import","shortMessageHtmlLink":"Add AudioStreamTrack in __init__.py"}},{"before":"50f9c98fb639175e133c99020f92935af558a826","after":"0ecc5379762883fbf6454d4633b948c2ad50dec8","ref":"refs/heads/main","pushedAt":"2023-12-01T00:27: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":"1.6.0","shortMessageHtmlLink":"1.6.0"}},{"before":"01f4c3a42c5fbded21ebb64475122f25e85b4f44","after":"50f9c98fb639175e133c99020f92935af558a826","ref":"refs/heads/main","pushedAt":"2023-12-01T00:23: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":"Build wheels using Python limited API","shortMessageHtmlLink":"Build wheels using Python limited API"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAET4KIkgA","startCursor":null,"endCursor":null}},"title":"Activity · aiortc/aiortc"}