{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":81757036,"defaultBranch":"master","name":"PyKCS11","ownerLogin":"LudovicRousseau","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-02-12T21:04:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/398496?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1716565696.0","currentOid":""},"activityList":{"items":[{"before":"bf14f4f69b79eb2e1c82a15c804b762ee8f6cac7","after":"84295eca23968ec1011ef1128107eb004d4a25a6","ref":"refs/heads/master","pushedAt":"2024-08-20T15:52:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"test_initToken_utf8: remove support of Python 2","shortMessageHtmlLink":"test_initToken_utf8: remove support of Python 2"}},{"before":"f1989746b2730b748a478d331a242630148e0ae1","after":"bf14f4f69b79eb2e1c82a15c804b762ee8f6cac7","ref":"refs/heads/master","pushedAt":"2024-08-20T15:50:01.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"test_initToken_utf8: remove support of Python 2","shortMessageHtmlLink":"test_initToken_utf8: remove support of Python 2"}},{"before":"663565a053f401b6979a68ff43a351ec6b406f4d","after":"f1989746b2730b748a478d331a242630148e0ae1","ref":"refs/heads/master","pushedAt":"2024-08-19T16:38:54.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"test_load: do not cleanup temp directory on Windows\n\nThe error is:\n======================================================================\nERROR: test_multiple_load (test_load.TestUtil)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\shutil.py\", line 618, in _rmtree_unsafe\n os.unlink(fullname)\nPermissionError: [WinError 5] Access is denied: 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpmfdundba\\\\softhsm2-x64.dll'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\tempfile.py\", line 843, in onerror\n _os.unlink(path)\nPermissionError: [WinError 5] Access is denied: 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpmfdundba\\\\softhsm2-x64.dll'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"D:\\a\\PyKCS11-debug\\PyKCS11-debug\\test\\test_load.py\", line 26, in tearDown\n self.tmpdir.cleanup()\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\tempfile.py\", line 873, in cleanup\n self._rmtree(self.name, ignore_errors=self._ignore_cleanup_errors)\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\tempfile.py\", line 855, in _rmtree\n _shutil.rmtree(name, onerror=onerror)\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\shutil.py\", line 750, in rmtree\n return _rmtree_unsafe(path, onerror)\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\shutil.py\", line 620, in _rmtree_unsafe\n onerror(os.unlink, fullname, sys.exc_info())\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\tempfile.py\", line 846, in onerror\n cls._rmtree(path, ignore_errors=ignore_errors)\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\tempfile.py\", line 855, in _rmtree\n _shutil.rmtree(name, onerror=onerror)\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\shutil.py\", line 750, in rmtree\n return _rmtree_unsafe(path, onerror)\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\shutil.py\", line 601, in _rmtree_unsafe\n onerror(os.scandir, path, sys.exc_info())\n File \"C:\\hostedtoolcache\\windows\\Python\\3.10.11\\x64\\lib\\shutil.py\", line 598, in _rmtree_unsafe\n with os.scandir(path) as scandir_it:\nNotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpmfdundba\\\\softhsm2-x64.dll'","shortMessageHtmlLink":"test_load: do not cleanup temp directory on Windows"}},{"before":"4b5cc4a4795bf53201efff0bbe899717bff1f96d","after":"663565a053f401b6979a68ff43a351ec6b406f4d","ref":"refs/heads/master","pushedAt":"2024-08-18T16:58:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Fix reference counting in PyKCS11Lib.load()\n\nFixes incorrect reference counting for PyKCS11Lib._loaded_libs\n\nThe bug can be reproduced with the following steps (this case is\nimplemented in test_specific_load):\n\n- Create an instance of PyKCS11Lib and load a PKCS#11 library\n- Load another library using PyKCS11Lib.load method. At this step\n PyKCS11Lib doesn't unload the first library and decrement the\n reference counter on it, i.e. we have two entries in _loaded_libs map\n pointing to the same CPKCS11Lib object.\n- Unload the second library: PyKCS11Lib removes the corresponding entry\n from _loaded_libs and invokes self.lib.Unload(), so now we have a\n dangling entry of the first library pointing to the same CPKCS11Lib\n object, on which Unload has been called.\n- Load the first library again: PyKCS11Lib calls Duplicate with the\n dangling entry in _loaded_libs.\n- Now, try to perform any operation with PyKCS11Lib => causes a segfault\n\nWhile investigating this problem I found it convenient to add a\nPyKCS11Lib.unload method, which allows to explicitly unload the PKCS#11\nlibrary. I also added a couple of tests which require two different\nPKCS#11 libraries to run, which is not the case in the testing\nenviroment (with a single SoftHSM) you are currently using, so I had to\ncreate a temporary copy of libsofthsm2.so to make them work.\n\nBy the way, the current implementation of load/unload is not thread\nsafe, since it operates with an unprotected shared map (_loaded_libs).\nHowever, I'm not sure how much of an issue this is. I'd say, just\nmarking these methods as non thread safe is pretty much acceptable as\nfor me.","shortMessageHtmlLink":"Fix reference counting in PyKCS11Lib.load()"}},{"before":"46589ad77f8f72a4b4be3e50abee1501389f1648","after":"4b5cc4a4795bf53201efff0bbe899717bff1f96d","ref":"refs/heads/master","pushedAt":"2024-08-07T20:49:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Add simple derivation mechanisms support\n\nAdded support of the following key derivation mechanisms (as per section\n2.43 of the PKCS#11 3.0 specification):\n\n- CKM_CONCATENATE_BASE_AND_KEY\n- CKM_CONCATENATE_BASE_AND_DATA\n- CKM_CONCATENATE_DATA_AND_BASE\n- CKM_XOR_BASE_AND_DATA\n\nUnfortunately, these mechanisms are currently not supported by SoftHSM\n(2.6.1). However CKM_CONCATENATE* mechanisms are available in develop\nbranch of SoftHSM (tested with a SoftHSM build from the develop branch)","shortMessageHtmlLink":"Add simple derivation mechanisms support"}},{"before":"6c3e25035c6a05ff687de23ef35e26df0588b111","after":"46589ad77f8f72a4b4be3e50abee1501389f1648","ref":"refs/heads/master","pushedAt":"2024-08-07T15:47:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Add AES in counter mode support (CKM_AES_CTR)\n\n- Added support of CKM_AES_CTR and CK_AES_CTR_PARAMS as per PKCS#11 3.0\n specification (see section 2.11)\n\n- Improved %typemap(in) void*: replaced nested if with a linear\n do{...}while(0); (simplifies adding new typemaps for parameter structures)","shortMessageHtmlLink":"Add AES in counter mode support (CKM_AES_CTR)"}},{"before":"47365e7403e7ecb467bb061a5381f0d37c3c4238","after":"6c3e25035c6a05ff687de23ef35e26df0588b111","ref":"refs/heads/master","pushedAt":"2024-05-24T15:41:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Release 1.5.16\n\nSigned-off-by: Ludovic Rousseau ","shortMessageHtmlLink":"Release 1.5.16"}},{"before":"a841fa7a5c7d7f2ad825ee00dc373087d94e8ffe","after":"47365e7403e7ecb467bb061a5381f0d37c3c4238","ref":"refs/heads/master","pushedAt":"2024-05-24T12:38:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"add support for CKA_MODIFIABLE and CKA_DESTROYABLE attributes","shortMessageHtmlLink":"add support for CKA_MODIFIABLE and CKA_DESTROYABLE attributes"}},{"before":"d78b729a1609d31ddf3946d486f78dc2dd2543a8","after":"a841fa7a5c7d7f2ad825ee00dc373087d94e8ffe","ref":"refs/heads/master","pushedAt":"2024-05-04T16:04:19.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"github action: update actions versions\n\nFix warning:\nNode.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/setup-python@v4, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.","shortMessageHtmlLink":"github action: update actions versions"}},{"before":"a9caceade74dbddcdb88532064bd8828a46d7dd6","after":"d78b729a1609d31ddf3946d486f78dc2dd2543a8","ref":"refs/heads/master","pushedAt":"2024-05-04T14:31:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"get_PYKCS11LIB.py: Add Fedora lib path\n\nAdd Fedora PyKCS11 library location search path.","shortMessageHtmlLink":"get_PYKCS11LIB.py: Add Fedora lib path"}},{"before":"5b6cc38bc1927dce8754d4034bc38998a337cf06","after":"a9caceade74dbddcdb88532064bd8828a46d7dd6","ref":"refs/heads/master","pushedAt":"2024-04-17T19:45:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Improve documentation first page","shortMessageHtmlLink":"Improve documentation first page"}},{"before":"e97fc7e7042d0a8169086fba0045182f8f625756","after":"5b6cc38bc1927dce8754d4034bc38998a337cf06","ref":"refs/heads/master","pushedAt":"2024-04-17T12:08:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Release 1.5.15\n\nSigned-off-by: Ludovic Rousseau ","shortMessageHtmlLink":"Release 1.5.15"}},{"before":"20429de7fdfdd8830e81b58deb3f5d9dd525ca03","after":"e97fc7e7042d0a8169086fba0045182f8f625756","ref":"refs/heads/master","pushedAt":"2024-04-17T11:17:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"pyproject.toml: add \"swig\" in build-system requires\n\nFixes: \" Installation failes on official python image #111 \"\nhttps://github.com/LudovicRousseau/PyKCS11/issues/111","shortMessageHtmlLink":"pyproject.toml: add \"swig\" in build-system requires"}},{"before":"eaded3bb3735872ba28858a58e0fa1e3cb1802fa","after":"20429de7fdfdd8830e81b58deb3f5d9dd525ca03","ref":"refs/heads/master","pushedAt":"2024-04-16T20:23:25.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Fix a problem when the library load failed\n\nThe error was:\nException ignored in: \nTraceback (most recent call last):\n File \".../PyKCS11/PyKCS11/__init__.py\", line 478, in __del__\nKeyError: '/path/to/invalid/lib.so'","shortMessageHtmlLink":"Fix a problem when the library load failed"}},{"before":"74c81f95120d8a167fb78fcc19cb2359c9256930","after":"eaded3bb3735872ba28858a58e0fa1e3cb1802fa","ref":"refs/heads/master","pushedAt":"2024-03-24T18:01:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":".gitignore: ignore some more files","shortMessageHtmlLink":".gitignore: ignore some more files"}},{"before":"239fdfcedbbf8360a4e4a42545b7be37bee82920","after":"74c81f95120d8a167fb78fcc19cb2359c9256930","ref":"refs/heads/master","pushedAt":"2024-03-16T10:35:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Code reformat\n\nReplace tabulations by spaces to make vim happy.","shortMessageHtmlLink":"Code reformat"}},{"before":"808199fb969bbb26f6e98a1829cc407f640c6e2c","after":"239fdfcedbbf8360a4e4a42545b7be37bee82920","ref":"refs/heads/master","pushedAt":"2024-03-16T10:31:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Update pkcs11.h with ECDSA defines \n\nAdded Mechanism implemented with EC keys","shortMessageHtmlLink":"Update pkcs11.h with ECDSA defines"}},{"before":"b92b4f20e42ecf2386c3f5dcb31a3128915a1b64","after":"808199fb969bbb26f6e98a1829cc407f640c6e2c","ref":"refs/heads/master","pushedAt":"2024-02-06T20:36:04.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"pykcs11.i: Correctly fix swig 4.2.0 issue\n\nUse \"$descriptor(vector *)\" instead of the strange\n\"SWIGTYPE_p_std__vectorT_unsigned_char_t\" value.\n\nThe same code now works with all version of swig.","shortMessageHtmlLink":"pykcs11.i: Correctly fix swig 4.2.0 issue"}},{"before":"5e50451926c379f4e6b5f98b5a44b52f97a5e2c1","after":"b92b4f20e42ecf2386c3f5dcb31a3128915a1b64","ref":"refs/heads/master","pushedAt":"2024-02-03T21:23:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"github actions: use actions/checkout@v4\n\nFix warnings:\nNode.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.","shortMessageHtmlLink":"github actions: use actions/checkout@v4"}},{"before":"51f1002e1e745d267ffb2cebf3439d729b1d8303","after":"5e50451926c379f4e6b5f98b5a44b52f97a5e2c1","ref":"refs/heads/master","pushedAt":"2024-02-03T17:37:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Release 1.5.14\n\nSigned-off-by: Ludovic Rousseau ","shortMessageHtmlLink":"Release 1.5.14"}},{"before":"812f443d20a6bde52447ab306c383f7bf57d24b1","after":"51f1002e1e745d267ffb2cebf3439d729b1d8303","ref":"refs/heads/master","pushedAt":"2024-02-02T15:30:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"github action: enable GNU/Linux on all branches\n\nDo not restrict to the \"master\" branch only.","shortMessageHtmlLink":"github action: enable GNU/Linux on all branches"}},{"before":"7ce1a5fb02ff4fc23fec0f95082526f1b77e5220","after":"812f443d20a6bde52447ab306c383f7bf57d24b1","ref":"refs/heads/master","pushedAt":"2024-01-21T14:45:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"MANIFEST.in: include get_PYKCS11LIB.py\n\nThis file is used by tox & test targets.","shortMessageHtmlLink":"MANIFEST.in: include get_PYKCS11LIB.py"}},{"before":"771376616ba054f1a53c1432e67187af76a05b0f","after":"7ce1a5fb02ff4fc23fec0f95082526f1b77e5220","ref":"refs/heads/master","pushedAt":"2024-01-07T11:14:12.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Release 1.5.13\n\nSigned-off-by: Ludovic Rousseau ","shortMessageHtmlLink":"Release 1.5.13"}},{"before":"25ceee07c472469473ea0b5783e98fabce92aa6a","after":"771376616ba054f1a53c1432e67187af76a05b0f","ref":"refs/heads/master","pushedAt":"2023-12-31T17:33:10.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Remove unused Makefile.win32","shortMessageHtmlLink":"Remove unused Makefile.win32"}},{"before":"9d7b3d67798595d94dd848d1bc06abd9d0d8dc6e","after":null,"ref":"refs/tags/1.0.2.0","pushedAt":"2023-12-31T15:56:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"}},{"before":"74d4bdb5c370cae2bffcca2aedcfb914a4ada500","after":null,"ref":"refs/heads/1.0.2.0","pushedAt":"2023-12-31T15:56:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"}},{"before":"4f2246b75c6d033da7290efd7844e8f75ad29900","after":null,"ref":"refs/heads/1.0","pushedAt":"2023-12-31T15:54:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"}},{"before":"ba246d175fd2162fdb4293ec8ca891a7bf8a0eb4","after":null,"ref":"refs/heads/wrap-unwrap","pushedAt":"2023-12-31T15:52:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"}},{"before":"cfcc30654d21dc1b695751bc06269290e548ce89","after":"25ceee07c472469473ea0b5783e98fabce92aa6a","ref":"refs/heads/master","pushedAt":"2023-12-31T15:43:48.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"github-actions: add 32-bits support to Windows builds","shortMessageHtmlLink":"github-actions: add 32-bits support to Windows builds"}},{"before":"1e9d4169d67c5e818b519660b3f3b681f4d07f03","after":"cfcc30654d21dc1b695751bc06269290e548ce89","ref":"refs/heads/master","pushedAt":"2023-08-12T09:30:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LudovicRousseau","name":"Ludovic Rousseau","path":"/LudovicRousseau","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/398496?s=80&v=4"},"commit":{"message":"Check swig is installed\n\nDisplay an error message is swig is not installed.\n\nI hope it will be clearer than the default error message:\nerror: command 'swig' failed: No such file or directory","shortMessageHtmlLink":"Check swig is installed"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEn0ozRAA","startCursor":null,"endCursor":null}},"title":"Activity ยท LudovicRousseau/PyKCS11"}