{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":491374,"defaultBranch":"master","name":"python-libusb1","ownerLogin":"vpelletier","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-01-27T22:34:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/191204?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1709647451.0","currentOid":""},"activityList":{"items":[{"before":"c4572aef739a932c8c55340bd0d1941374ef3930","after":"87856f93e1ba330a73e86363969ddfe84838bd54","ref":"refs/heads/next","pushedAt":"2024-03-09T08:08:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"WIP usb1: Add support for more modern libusb1 features\n\nTODO: decode log message before passing to log callback, if an encoding is\nguaranteed\n\n- libusb_init_context\n- libusb_set_log_cb\n- libusb_setlocale + libusb_strerror\n- libusb_wrap_sys_device","shortMessageHtmlLink":"WIP usb1: Add support for more modern libusb1 features"}},{"before":"3f001fd5fa9253cc94b65954b4e96d9ed1ca19c3","after":"c4572aef739a932c8c55340bd0d1941374ef3930","ref":"refs/heads/next","pushedAt":"2024-03-09T07:53:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"WIP usb1: Add support for more modern libusb1 features\n\nTODO: decode log message before passing to log callback, if an encoding is\nguaranteed\n\n- libusb_init_context\n- libusb_set_log_cb\n- libusb_setlocale + libusb_strerror\n- libusb_wrap_sys_device","shortMessageHtmlLink":"WIP usb1: Add support for more modern libusb1 features"}},{"before":"e57168facf67b8416c438cb10665abc66875df79","after":"3f001fd5fa9253cc94b65954b4e96d9ed1ca19c3","ref":"refs/heads/next","pushedAt":"2024-03-05T23:21:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"WIP usb1: Add support for more modern libusb1 features\n\nTODO: decode log message before passing to log callback, if an encoding is\nguaranteed\n\n- libusb_init_context\n- libusb_set_log_cb\n- libusb_setlocale + libusb_strerror\n- libusb_wrap_sys_device","shortMessageHtmlLink":"WIP usb1: Add support for more modern libusb1 features"}},{"before":"f7927af39961476b9f51a554c154f30f12f1af44","after":"a03f4c3171d55a8325accc6b79246c235f0a6ce5","ref":"refs/heads/master","pushedAt":"2024-03-05T23:21:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1._libusb1: Mark libusb_control_setup as packed\n\nFollowing a libusb commit: which states that libusb relies on this struct\nnot having any padding but until now it was left to the compiler to decide.\nApparently no compiler (nor ctypes) insert padding as otherwise it would\nhave broken all asynchronous control transfers, but better be explicit.","shortMessageHtmlLink":"usb1._libusb1: Mark libusb_control_setup as packed"}},{"before":null,"after":"e57168facf67b8416c438cb10665abc66875df79","ref":"refs/heads/next","pushedAt":"2024-03-05T14:04:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"WIP usb1: Add support for more modern libusb1 features\n\nTODO: decode log message before passing to log callback, if an encoding is\nguaranteed\n\n- libusb_init_context\n- libusb_set_log_cb\n- libusb_setlocale + libusb_strerror\n- libusb_wrap_sys_device","shortMessageHtmlLink":"WIP usb1: Add support for more modern libusb1 features"}},{"before":"e35e763fb1e9c93ca779d9cf6f4f6bf9d0578739","after":"f7927af39961476b9f51a554c154f30f12f1af44","ref":"refs/heads/master","pushedAt":"2024-03-05T14:04:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"setup.sh: Automate \"twine check\" of generated distributions","shortMessageHtmlLink":"setup.sh: Automate \"twine check\" of generated distributions"}},{"before":"08c6bbd4491f4f1ef74a6e156aeb86ffd40a908d","after":null,"ref":"refs/heads/fix_win32_callback","pushedAt":"2024-03-05T13:25:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"}},{"before":"0365779dbffe2830658d37ee1ad00b34f0d2bd92","after":"e35e763fb1e9c93ca779d9cf6f4f6bf9d0578739","ref":"refs/heads/master","pushedAt":"2024-03-05T13:25:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1._libusb1: Fix callback calling convention\n\nThis fixes transfer completion callback when running in a x86 32-bits Windows\nversion of the python interpreter.\n\nThis change should only affect x86 Windows:\n- because of the \"Windows\" platform match\n- because on x86-64 Windows all calling conventions are the same\n\nThis change affects all callback types, but hotplug-related callbacks were\nnever used on Windows, so these should not have caused any issue.","shortMessageHtmlLink":"usb1._libusb1: Fix callback calling convention"}},{"before":"605c29bd9ec8994fb12aaec5d49eed145b09d808","after":"08c6bbd4491f4f1ef74a6e156aeb86ffd40a908d","ref":"refs/heads/fix_win32_callback","pushedAt":"2024-03-04T23:50:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1._libusb1: Fix callback calling convention\n\nlibusb1 follows the stdcall convention on Windows, not cdecl.\nUse WINFUNCTYPE on Windows, and CFUNCTYPE everywhere else.\n\nHotplug-related callbacks were never used on Windows, so these should not\nhave caused any issue.\nlibusb_transfer_cb_fn is the only one which should have been used on\nWindows. Apparently the main incompatibility happens on i386 arch, while\nx86_64 appears somehow unaffected.\nSo this change should fix support for async IO operations for 32bits\nbinaries on Windows.","shortMessageHtmlLink":"usb1._libusb1: Fix callback calling convention"}},{"before":"5015efbfb83cf0afbd82cc916005ef0fa8758bf2","after":"605c29bd9ec8994fb12aaec5d49eed145b09d808","ref":"refs/heads/fix_win32_callback","pushedAt":"2024-03-04T23:50:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"TEST usb1: Add support for more modern libusb1 features\n\nTODO: check exception-during-callback handling and context lookup\nTODO: TEST\n\n- libusb_init_context\n- libusb_set_log_cb\n- libusb_setlocale + libusb_strerror\n- libusb_wrap_sys_device","shortMessageHtmlLink":"TEST usb1: Add support for more modern libusb1 features"}},{"before":"32adb647e4acff801efe89aa2169e00d13d5b27e","after":"0365779dbffe2830658d37ee1ad00b34f0d2bd92","ref":"refs/heads/master","pushedAt":"2024-03-04T23:47:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"examples/scan_device_tree.py: Convert tabs to spaces","shortMessageHtmlLink":"examples/scan_device_tree.py: Convert tabs to spaces"}},{"before":null,"after":"5015efbfb83cf0afbd82cc916005ef0fa8758bf2","ref":"refs/heads/fix_win32_callback","pushedAt":"2024-03-04T13:59:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1._libusb1: Fix callback calling convention\n\nlibusb1 follows the stdcall convention on Windows, not cdecl.\nUse WINFUNCTYPE on Windows, and CFUNCTYPE everywhere else.\n\nHotplug-related callbacks were never used on Windows, so these should not\nhave caused any issue.\nlibusb_transfer_cb_fn is the only one which should have been used on\nWindows. Apparently the main incompatibility happens on i386 arch, while\nx86_64 appears somehow unaffected.\nSo this change should fix support for async IO operations for 32bits\nbinaries on Windows.","shortMessageHtmlLink":"usb1._libusb1: Fix callback calling convention"}},{"before":"93885184447209c03d0d56d666b79aa79827b699","after":"32adb647e4acff801efe89aa2169e00d13d5b27e","ref":"refs/heads/master","pushedAt":"2024-03-04T10:51:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"setup.{py,sh}: Bundle with and test against libusb 1.0.27\n\nThe corresponding new features are not wrapped yet (as are several older\nfeatures...).","shortMessageHtmlLink":"setup.{py,sh}: Bundle with and test against libusb 1.0.27"}},{"before":"753398e89889c3960d8280f795341a6fd5f232e8","after":"93885184447209c03d0d56d666b79aa79827b699","ref":"refs/heads/master","pushedAt":"2024-03-04T10:47:09.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"setup.sh: Add note about creating a release on github\n\nFor redundancy with pypi.","shortMessageHtmlLink":"setup.sh: Add note about creating a release on github"}},{"before":"26aa2036c1bac2702a4c689a173514ad6f556a4c","after":"753398e89889c3960d8280f795341a6fd5f232e8","ref":"refs/heads/master","pushedAt":"2024-03-04T10:45:44.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1: Drop unusued local variable","shortMessageHtmlLink":"usb1: Drop unusued local variable"}},{"before":"37d77ea3ae83816b203a9ccb3147ef0f8896cbe0","after":"26aa2036c1bac2702a4c689a173514ad6f556a4c","ref":"refs/heads/master","pushedAt":"2024-02-10T12:24:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"Use enumerate","shortMessageHtmlLink":"Use enumerate"}},{"before":"3d49a5a31d1430103065a79cd4a86f5c040798ee","after":"37d77ea3ae83816b203a9ccb3147ef0f8896cbe0","ref":"refs/heads/master","pushedAt":"2023-10-29T06:07:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"README: Latest chunk is now released\n\n...one commit ago","shortMessageHtmlLink":"README: Latest chunk is now released"}},{"before":"c548206f272025349eddf46b9e3d894c36f01591","after":null,"ref":"refs/heads/fd-finalizer-bug","pushedAt":"2023-10-29T03:15:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"}},{"before":"fa7479c9d61b80145ab3d9a0a45350b7e84851ec","after":"3d49a5a31d1430103065a79cd4a86f5c040798ee","ref":"refs/heads/master","pushedAt":"2023-10-29T03:15:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"README: Update with changes since 3.0.0","shortMessageHtmlLink":"README: Update with changes since 3.0.0"}},{"before":"12b6639d48b7cc2f2fdb216a8ba7644aa5e1cd96","after":"fa7479c9d61b80145ab3d9a0a45350b7e84851ec","ref":"refs/heads/master","pushedAt":"2023-10-29T02:51:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1: bind USBContext.interruptEventHandler.\n\nFixes #90.","shortMessageHtmlLink":"usb1: bind USBContext.interruptEventHandler."}},{"before":"191c878188c0ca182f021be8135d6c06577d94e3","after":"12b6639d48b7cc2f2fdb216a8ba7644aa5e1cd96","ref":"refs/heads/master","pushedAt":"2023-07-14T04:31:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"setup.{sh,py}: Test with and bundle libusb 1.0.26 dlls","shortMessageHtmlLink":"setup.{sh,py}: Test with and bundle libusb 1.0.26 dlls"}},{"before":"8c0f8a19b2915e5bf88a9c3071b1f9fd3d3edda7","after":"191c878188c0ca182f021be8135d6c06577d94e3","ref":"refs/heads/master","pushedAt":"2023-07-14T01:22:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1: Clean up poll fd finalizer","shortMessageHtmlLink":"usb1: Clean up poll fd finalizer"}},{"before":null,"after":"c548206f272025349eddf46b9e3d894c36f01591","ref":"refs/heads/fd-finalizer-bug","pushedAt":"2023-06-16T00:15:14.834Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vpelletier","name":"Vincent Pelletier","path":"/vpelletier","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191204?s=80&v=4"},"commit":{"message":"usb1: Break circular reference in poll fd finalizer","shortMessageHtmlLink":"usb1: Break circular reference in poll fd finalizer"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wOVQwODowODowMi4wMDAwMDBazwAAAAQQ0y-o","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wOVQwODowODowMi4wMDAwMDBazwAAAAQQ0y-o","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0xNlQwMDoxNToxNC44MzQwNjdazwAAAANCnqp0"}},"title":"Activity ยท vpelletier/python-libusb1"}