)]}'
{
  "log": [
    {
      "commit": "42b0e14ffbeeb9d99d1037e6440a2cc61780e4ea",
      "tree": "54f95fdb5b4f329c40dcfe5082d0cbc5d65936a8",
      "parents": [
        "63772a68c3cd74b8714302f33d1ac13ec1a1fa52"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Apr 16 08:38:55 2025"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Apr 16 09:43:43 2025"
      },
      "message": "Add note about archiving the project\n"
    },
    {
      "commit": "63772a68c3cd74b8714302f33d1ac13ec1a1fa52",
      "tree": "398ec064911166f8acb0e17c44d5ca52a1ad8936",
      "parents": [
        "18f5faf358d54108b7cc0606fb643d45bc95f6e1",
        "14db3744ba1c057264ac697c61beb8b7f248f4e8"
      ],
      "author": {
        "name": "Hiroyuki Tanaka",
        "email": "myheroyuki@outlook.com",
        "time": "Tue Jan 30 12:10:45 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 30 12:10:45 2024"
      },
      "message": "Merge pull request #207 from myheroyuki/multiprime\n\nmultiprime support"
    },
    {
      "commit": "14db3744ba1c057264ac697c61beb8b7f248f4e8",
      "tree": "398ec064911166f8acb0e17c44d5ca52a1ad8936",
      "parents": [
        "ca0ee254eaa2c2d90900c44435df9e2015d2f3f6"
      ],
      "author": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Fri Jan 26 16:58:48 2024"
      },
      "committer": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Sat Jan 27 12:59:03 2024"
      },
      "message": "Language correction\n"
    },
    {
      "commit": "ca0ee254eaa2c2d90900c44435df9e2015d2f3f6",
      "tree": "94a9be5fc00e8fb78cc983167b082ec43163aef4",
      "parents": [
        "01c32e7c11c4ed1e4fe01098454400d5e43b5224",
        "18f5faf358d54108b7cc0606fb643d45bc95f6e1"
      ],
      "author": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Sat Jan 27 12:57:54 2024"
      },
      "committer": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Sat Jan 27 12:57:54 2024"
      },
      "message": "Merge branch \u0027main\u0027 of github.com:sybrenstuvel/python-rsa into multiprime\n"
    },
    {
      "commit": "01c32e7c11c4ed1e4fe01098454400d5e43b5224",
      "tree": "38c4abc3241e1ade7214b4e47cffa214b7fac578",
      "parents": [
        "3ef578eeeb585fbdd63bd0d0873e7d4375653b58"
      ],
      "author": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Fri Jan 26 15:01:22 2024"
      },
      "committer": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Sat Jan 27 12:52:47 2024"
      },
      "message": "Updated .gitignore\n"
    },
    {
      "commit": "18f5faf358d54108b7cc0606fb643d45bc95f6e1",
      "tree": "36ee802c70f74cc38c672468028c19178c93486b",
      "parents": [
        "4d78ccaf177da8d8fba5b3162deea96d56f3ec1f"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:02:53 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:03:00 2023"
      },
      "message": "Strengthen warning about timing attacks on Python code\n\nFixes https://github.com/sybrenstuvel/python-rsa/issues/230\n"
    },
    {
      "commit": "4d78ccaf177da8d8fba5b3162deea96d56f3ec1f",
      "tree": "e6dd790dc0f427ac4eca6748aed754d9ccb66e7f",
      "parents": [
        "95f3f9dc8e198dd81e6760d61e40536fd66f8285"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Sep 04 15:48:08 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Re-add doctests to tox\n"
    },
    {
      "commit": "95f3f9dc8e198dd81e6760d61e40536fd66f8285",
      "tree": "84b8e9c0105beeaae48bd786b32242411bcd395f",
      "parents": [
        "6b3c23d307826e2a23a89aefc7e93a1d22ac67a7"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Sep 04 15:43:35 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Revert replacing % with .format\n"
    },
    {
      "commit": "6b3c23d307826e2a23a89aefc7e93a1d22ac67a7",
      "tree": "41a6a6e269aca2c25478a769536e48ebeb3a543f",
      "parents": [
        "282ba371f88f9485c94d2ee17e21347a287f9d4d"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Sep 04 15:40:02 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Add items directly into dicts\n"
    },
    {
      "commit": "282ba371f88f9485c94d2ee17e21347a287f9d4d",
      "tree": "e2d20c77ca4bce7a1a3c53f7b2cf1b61a7d60253",
      "parents": [
        "078382c5c0fd427ec59b2e7d27585c51a834dbdd"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Sep 04 15:35:38 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Drop support for EOL Python 3.7\n"
    },
    {
      "commit": "078382c5c0fd427ec59b2e7d27585c51a834dbdd",
      "tree": "c26003821ff3ae59d3342ac1fa6d760ae642dce6",
      "parents": [
        "6fe6699d9beaf9965c26f4ce8af2088ff84d4126"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Aug 28 17:29:21 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Test PRs and via manual trigger\n"
    },
    {
      "commit": "6fe6699d9beaf9965c26f4ce8af2088ff84d4126",
      "tree": "b8a450b44e731b60dea93d7ceab1aed2f15b8a4f",
      "parents": [
        "3cd23c1353b897d0218909a22a8cc45d4c76767f"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Aug 28 17:22:48 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Upgrade Python syntax with pyupgrade --py38-plus\n"
    },
    {
      "commit": "3cd23c1353b897d0218909a22a8cc45d4c76767f",
      "tree": "7ff1695943092c639ca3cea06dba9602fc54b3d4",
      "parents": [
        "390acdf0ae5b22df6b58f005e20743772a25598d"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Aug 28 17:22:20 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Drop support for EOL Python 3.7\n"
    },
    {
      "commit": "390acdf0ae5b22df6b58f005e20743772a25598d",
      "tree": "f150f1ec95df8e089af7c955241a5988e8ade534",
      "parents": [
        "56d6ca2c2bc7ab61493df4551115dfdd1282b814"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Aug 28 17:18:06 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Test PyPy3.9 and 3.10\n"
    },
    {
      "commit": "56d6ca2c2bc7ab61493df4551115dfdd1282b814",
      "tree": "f3a3b730bf2825127f519a482d749d4c511ef66f",
      "parents": [
        "df4a4b35eff43577666bf1da7fa62f609ab2a9b2"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Aug 28 17:17:10 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "pytest: drop the dot\n"
    },
    {
      "commit": "df4a4b35eff43577666bf1da7fa62f609ab2a9b2",
      "tree": "2d1ca3704c395eb86ffedf87394ee3c24f128215",
      "parents": [
        "fcde18fec04219165f32671fc557e18633a67f7f"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Aug 28 17:15:39 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "\u0027poetry update --lock\u0027 to pull in 3.12-compatible typing-extensions\n"
    },
    {
      "commit": "fcde18fec04219165f32671fc557e18633a67f7f",
      "tree": "947ea07d9f6fde1843d679f5b1f3ff7b2190fe9a",
      "parents": [
        "7991b2b55b54167aea8ffdc294141baa0ebf4a57"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Fri Aug 18 16:40:53 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 16:00:06 2023"
      },
      "message": "Add support for Python 3.12\n"
    },
    {
      "commit": "7991b2b55b54167aea8ffdc294141baa0ebf4a57",
      "tree": "698dc3d01cf8a3fb024a1540c100a83de4255c99",
      "parents": [
        "513c09b69c9fde047548edc4cb2a8f45cc176a17"
      ],
      "author": {
        "name": "Diogo Teles Sant\u0027Anna",
        "email": "diogoteles@google.com",
        "time": "Thu Sep 07 21:27:37 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 15:43:41 2023"
      },
      "message": "Update \"Security\" section of README to also mention the Security Policy\n\nI did this because some projects use a README section named  \"Security\" to disclose the same infos that we\u0027re disclosing on the Security Policy. After this change they\u0027d be correctly redirected."
    },
    {
      "commit": "513c09b69c9fde047548edc4cb2a8f45cc176a17",
      "tree": "3defc26fd53e41737fc08ab240ab9c90663b27ba",
      "parents": [
        "4e7bb7610953d5d54ca7e77c808acc62e35e2987"
      ],
      "author": {
        "name": "Diogo Teles Sant\u0027Anna",
        "email": "diogoteles@google.com",
        "time": "Thu Sep 07 21:20:02 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 01 15:43:41 2023"
      },
      "message": "Create Security Policy"
    },
    {
      "commit": "4e7bb7610953d5d54ca7e77c808acc62e35e2987",
      "tree": "c380daa66cfa0f563ba8ac2a8091c7505f53926a",
      "parents": [
        "327ecb3859d6be51bdd41eb0b0959e80a802798f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue May 23 06:39:36 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Aug 16 09:51:45 2023"
      },
      "message": "Bump requests from 2.28.2 to 2.31.0\n\nBumps [requests](https://github.com/psf/requests) from 2.28.2 to 2.31.0.\n- [Release notes](https://github.com/psf/requests/releases)\n- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)\n- [Commits](https://github.com/psf/requests/compare/v2.28.2...v2.31.0)\n\n---\nupdated-dependencies:\n- dependency-name: requests\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "327ecb3859d6be51bdd41eb0b0959e80a802798f",
      "tree": "46af83138a1351e3764e3f311f4d52eb321a804b",
      "parents": [
        "771a0b06f910a1cf84951d596040d2e1e6d8a00d"
      ],
      "author": {
        "name": "Diogo Teles Sant\u0027Anna",
        "email": "diogoteles@google.com",
        "time": "Fri May 19 19:15:47 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Aug 16 09:51:24 2023"
      },
      "message": "ci: define read-only permission for GitHub Workflow"
    },
    {
      "commit": "771a0b06f910a1cf84951d596040d2e1e6d8a00d",
      "tree": "ce04958479e658f6b4af4cec8399edd42662983a",
      "parents": [
        "c0d867079dff6a3e15d13967c05d0f4cf2de11c5"
      ],
      "author": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Thu Oct 27 13:50:42 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Tue Apr 25 14:03:00 2023"
      },
      "message": "language correction and speed-up\n"
    },
    {
      "commit": "c0d867079dff6a3e15d13967c05d0f4cf2de11c5",
      "tree": "a57b75dfefd8014bc68ef35ae9de7bba3b0e06a3",
      "parents": [
        "bc6445a48198b2daaa298ef1e707ca9dca49a022"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 18:49:02 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 18:49:02 2023"
      },
      "message": "Replace Travis-CI with Github Actions\n\nTravis-CI stopped working, switching over to Github Actions for automated\nunit tests.\n\nThis removes the used of \u0027coveralls\u0027 in the CI pipeline (may come back\nat some point), and adds testing on pypy 3.8 and 3.9.\n"
    },
    {
      "commit": "bc6445a48198b2daaa298ef1e707ca9dca49a022",
      "tree": "3eee6ba44d024b00eaab4b339cba6a8ccbaeeecc",
      "parents": [
        "069f6391bc0f32bfbc2a6c5bab1581dbf58beef2"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 14:03:30 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 14:03:58 2023"
      },
      "message": "CHANGELOG: include upgrade of mypy\n"
    },
    {
      "commit": "069f6391bc0f32bfbc2a6c5bab1581dbf58beef2",
      "tree": "3dcb80b6cf7db15d093253002d2926e4abad4d3b",
      "parents": [
        "b94766f775aa3cdc541a66355cb00e439aab3e55"
      ],
      "author": {
        "name": "Moritz Fischer",
        "email": "moritzf@google.com",
        "time": "Wed Nov 23 17:20:33 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:40:09 2023"
      },
      "message": "rsa/pkcs1.py: Clarify functionality of sign_hash()\n\nClarify functionality that a hash is not computed, rather\na precomputed (given) hash is being signed.\n\nSigned-off-by: Moritz Fischer \u003cmoritzf@google.com\u003e\n"
    },
    {
      "commit": "b94766f775aa3cdc541a66355cb00e439aab3e55",
      "tree": "6c69a9b5f2d94fe1ff177561a383f47d42d27a1f",
      "parents": [
        "5045b149ba255349730e1c7ad78c61700427c5da"
      ],
      "author": {
        "name": "Shengkai Sun",
        "email": "shengkai.sun01@gmail.com",
        "time": "Tue Apr 18 10:15:11 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:38:33 2023"
      },
      "message": "\tmodified:   Fixed a bug in rsa/core.py where the message should not be equals to the modulus\n\tmodified:   Added test cases in tests/test_integers.py\n"
    },
    {
      "commit": "5045b149ba255349730e1c7ad78c61700427c5da",
      "tree": "9e4cdb8e8b09b2b287a3a6b827fbdb81850057c7",
      "parents": [
        "29a7411f2487ac25f7e276d6b5b03cb7cb8d6488"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:27:25 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:27:25 2023"
      },
      "message": "Bump mypy to 1.2.0\n\nMypy is an important checker, nice to keep up to date, and it\u0027s only\na development-time dependency anyway.\n"
    },
    {
      "commit": "29a7411f2487ac25f7e276d6b5b03cb7cb8d6488",
      "tree": "65c1016f1b3dd0c4add4b2080f229049436c200e",
      "parents": [
        "bee15eb254c2abcebafaca9db0b4cd3967d8f0dc"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:23:16 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:23:16 2023"
      },
      "message": "Add recent changes to CHANGELOG.md\n"
    },
    {
      "commit": "bee15eb254c2abcebafaca9db0b4cd3967d8f0dc",
      "tree": "a89ddc86fe9e1bf678131fb9ae1582f5203bb04d",
      "parents": [
        "af1881ca9ecf2e5f7be2da65b1850b94fdfff76a"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:22:58 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:22:58 2023"
      },
      "message": "Bumped version to 4.10-dev0\n"
    },
    {
      "commit": "af1881ca9ecf2e5f7be2da65b1850b94fdfff76a",
      "tree": "594372043806c9b753753359b1a5489662f4ee18",
      "parents": [
        "13f2d7dd75954d1df32128282402bfb11b8bda30"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:20:31 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:20:31 2023"
      },
      "message": "Upgrade pytest to resolve security issue\n\nSee https://github.com/pytest-dev/py/issues/287#issuecomment-1290407715 for\nmore info.\n"
    },
    {
      "commit": "13f2d7dd75954d1df32128282402bfb11b8bda30",
      "tree": "7386a87ba62d515f17fead0d23278b2c654c359e",
      "parents": [
        "462da901c7501af32f42003e0adbb16d4f1f7ddf"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:15:44 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:15:44 2023"
      },
      "message": "Regenerate poetry.lock\n\nJust adds a few hashes, nothing more.\n"
    },
    {
      "commit": "462da901c7501af32f42003e0adbb16d4f1f7ddf",
      "tree": "fcde5ef7aae668cfca2174d83e0ac9c9cb904b7d",
      "parents": [
        "0b52e7401ce0f34939a03d6d8da747352a6a7b94"
      ],
      "author": {
        "name": "Daniel Ziegenberg",
        "email": "daniel@ziegenberg.at",
        "time": "Fri Nov 18 15:58:47 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:11:03 2023"
      },
      "message": "Add support for Python 3.11\n\nSigned-off-by: Daniel Ziegenberg \u003cdaniel@ziegenberg.at\u003e\n"
    },
    {
      "commit": "0b52e7401ce0f34939a03d6d8da747352a6a7b94",
      "tree": "8c2ec2c2fce227853979c1a164893b8cb3697c6b",
      "parents": [
        "92fda6689b5167774d208555aa40ae23545c9123"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 12:47:19 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:10:44 2023"
      },
      "message": "Make `AbstractKey` an actual abstract class\n\nDecorate functions that subclassess should implement with\n`@abc.abstractmethod`.\n\nThis is to fix a mypy error that\u0027ll show up when upgrading mypy. That\nupgrade will follow shortly -- I just wanted to make sure things keep\nworking.\n"
    },
    {
      "commit": "92fda6689b5167774d208555aa40ae23545c9123",
      "tree": "70e1e9dfe29139eca499aaf5eb2ea515b1cfd209",
      "parents": [
        "9ae39fd37b9754d69398c3faa29b12ff5049ceb2"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:04:39 2023"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Apr 23 13:04:39 2023"
      },
      "message": "Run `poetry update` to re-lock dependencies\n"
    },
    {
      "commit": "9ae39fd37b9754d69398c3faa29b12ff5049ceb2",
      "tree": "9bd688d702fb25eccd4ed66c21a680810ee9a86f",
      "parents": [
        "c4dc7beb04bea05ed86adb2e4b7f780f173774b8"
      ],
      "author": {
        "name": "Daniel Ziegenberg",
        "email": "daniel@ziegenberg.at",
        "time": "Fri Nov 18 16:11:35 2022"
      },
      "committer": {
        "name": "Daniel Ziegenberg",
        "email": "daniel@ziegenberg.at",
        "time": "Tue Dec 06 17:48:42 2022"
      },
      "message": "Drop support for Python 3.6\n\nSigned-off-by: Daniel Ziegenberg \u003cdaniel@ziegenberg.at\u003e\n"
    },
    {
      "commit": "3ef578eeeb585fbdd63bd0d0873e7d4375653b58",
      "tree": "2c876b3a823a1c5ea6c2399fbadd273378c6cdf3",
      "parents": [
        "832b720635201d67c8a12ab6ea040fd816bf4e14"
      ],
      "author": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Thu Dec 01 15:56:01 2022"
      },
      "committer": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Thu Dec 01 15:56:01 2022"
      },
      "message": "updated docs\n"
    },
    {
      "commit": "832b720635201d67c8a12ab6ea040fd816bf4e14",
      "tree": "e30ccb52b57f355e228af97be62de1ecfd275dcf",
      "parents": [
        "c4dc7beb04bea05ed86adb2e4b7f780f173774b8"
      ],
      "author": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Tue Nov 01 13:02:26 2022"
      },
      "committer": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Tue Nov 01 13:02:26 2022"
      },
      "message": "multiprime  support\nadded fast CRT-based decryption to core\nadded multiprime key support\ncorrection (see issue #205, PR #206)\nadded multiprime tests\n"
    },
    {
      "commit": "c4dc7beb04bea05ed86adb2e4b7f780f173774b8",
      "tree": "4d67195c12f203e49e4b4d27229d258655620143",
      "parents": [
        "1ee1afee004cae97b9c5e0aa549042dba45bd45b"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:28:45 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:28:45 2022"
      },
      "message": "README.md: Final publishing tweaks\n"
    },
    {
      "commit": "1ee1afee004cae97b9c5e0aa549042dba45bd45b",
      "tree": "225673b97c97dfcb37d18002d61a0bc746a21c2f",
      "parents": [
        "80eb1b16dd359452c8d309161c13196a61387bfc"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:26:10 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:26:10 2022"
      },
      "message": "Bumped version to 4.9\n"
    },
    {
      "commit": "80eb1b16dd359452c8d309161c13196a61387bfc",
      "tree": "85ce6481062ab97b3b02dd5c49e0ce8c8a338245",
      "parents": [
        "7d2c6b2d2294eef2714fb1650895933d799ae07f"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:26:00 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:26:00 2022"
      },
      "message": "update_version.sh: include README.md in example commit command\n"
    },
    {
      "commit": "7d2c6b2d2294eef2714fb1650895933d799ae07f",
      "tree": "f490ea0854a8e98aa4f2049a13f2deeecbdab3ad",
      "parents": [
        "42a9b2fdc3a812cbd210594a3c020e7174fd2a1c"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:25:33 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:25:33 2022"
      },
      "message": "Mark 4.9 as released today\n"
    },
    {
      "commit": "42a9b2fdc3a812cbd210594a3c020e7174fd2a1c",
      "tree": "45df6d43b89ad8e7adeff78ccbaadcc6e8020bca",
      "parents": [
        "78f738d7b06d9f4b39c055c396ebd76538f8c712"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:22:39 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 10:22:39 2022"
      },
      "message": "Fix README.md updating part of update_version.sh\n\nI committed that too soon; it works now.\n"
    },
    {
      "commit": "78f738d7b06d9f4b39c055c396ebd76538f8c712",
      "tree": "1bfd5a83ff50b9b916ed1766e948de480f88b077",
      "parents": [
        "e59132d679481e9bdf7be1e3279793642470d2b9"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:27:55 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:28:13 2022"
      },
      "message": "Add instructions on how to publish via Twine\n\nMake the existing instructions more concrete by including a config file\nexample and the actual commands to install \u0026 run Twine.\n"
    },
    {
      "commit": "e59132d679481e9bdf7be1e3279793642470d2b9",
      "tree": "c8d104a6c5b52ec3e1b6c3dde1883227f0a682da",
      "parents": [
        "ce5a32f3fdbcb5128800719e2c3d68e6248d3e47"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:00:35 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:28:13 2022"
      },
      "message": "Upgrade Sphynx 4.3 -\u003e 5.0.2\n"
    },
    {
      "commit": "ce5a32f3fdbcb5128800719e2c3d68e6248d3e47",
      "tree": "535084815d7ed9ae22fd1910e0d87d3afbeaf620",
      "parents": [
        "0e3e54859f85d352e6a71f4069f5481b03d9e4e8"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:00:13 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:28:13 2022"
      },
      "message": "Fix #199: Sphinx warnings reference target not found\n\nFix the documentation by adding referenced-but-not-included functions and\nsome other small fixes.\n\nThe only warnings left are:\n\n```\npython-rsa/rsa/key.py:docstring of rsa.key.AbstractKey.load_pkcs1:: WARNING: py:class reference target not found: rsa.key.T\npython-rsa/rsa/key.py:docstring of rsa.key.AbstractKey.load_pkcs1:: WARNING: py:class reference target not found: rsa.key.T\n```\n\nThese are due to Sphynx not really understanding `typing` type references.\nNot sure how to fix those.\n"
    },
    {
      "commit": "0e3e54859f85d352e6a71f4069f5481b03d9e4e8",
      "tree": "9eb1a65f47e58251d6200506d2e0501feefc9eb6",
      "parents": [
        "f0e194aaa0639e341a839e117846ca5640b33b39"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 08:58:21 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:28:13 2022"
      },
      "message": "Doc: add `-n` option to Sphinx to show warnings\n\nThis option was shown quite useful in #199.\n"
    },
    {
      "commit": "f0e194aaa0639e341a839e117846ca5640b33b39",
      "tree": "3be909b7878ff1bf9a92b56d1f5536bd27670c58",
      "parents": [
        "91d0b24502ac214c349e17b6bf1c219e9d788c4a"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 08:29:36 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 09:28:13 2022"
      },
      "message": "Update CHANGELOG.md\n"
    },
    {
      "commit": "91d0b24502ac214c349e17b6bf1c219e9d788c4a",
      "tree": "aa633a0f11d8cd57a47e8a95d2b3f6466017fdd3",
      "parents": [
        "2ecfeea57d9362d682bcf32efe24190e5cb2e0b3"
      ],
      "author": {
        "name": "myheroyuki",
        "email": "myheroyuki@outlook.com",
        "time": "Wed May 25 13:55:47 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Jul 20 08:25:43 2022"
      },
      "message": "Fix incorrect ordering of public and private keys in test case\n"
    },
    {
      "commit": "2ecfeea57d9362d682bcf32efe24190e5cb2e0b3",
      "tree": "ae9b5dbe7973d350f11ab80906e63b80fdbde7ed",
      "parents": [
        "f6086af9082396f0c9d1326b481fd96fc4bf883d"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Fri Jul 15 06:42:42 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Fri Jul 15 06:42:42 2022"
      },
      "message": "Mark 4.9 as released today\n"
    },
    {
      "commit": "f6086af9082396f0c9d1326b481fd96fc4bf883d",
      "tree": "0ac8ddf9c341c9c366a7b5dc83ea64247ae8237e",
      "parents": [
        "76c0e6901cde36743fd6cbb5251a91bfb3a3352d"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Fri Jul 15 06:41:53 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Fri Jul 15 06:41:53 2022"
      },
      "message": "Document package publishing with 2FA + API keys\n\nThis project has been marked as \"critical\" on the Python Package Index,\nwhich has some implications on the way new versions should be published.\n"
    },
    {
      "commit": "76c0e6901cde36743fd6cbb5251a91bfb3a3352d",
      "tree": "b37993d949319e1232ab09f1201e43a303836147",
      "parents": [
        "a925a9d5e57fad4647f1169229fb0789a1700f59"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:39:30 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:39:30 2022"
      },
      "message": "Cleanup: remove trailing space from docstring\n"
    },
    {
      "commit": "a925a9d5e57fad4647f1169229fb0789a1700f59",
      "tree": "025dce2a4516bacd06111b905401be7864ba9997",
      "parents": [
        "3031bf5c6ae64083431e849903b0104d2cfae893"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:39:20 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:39:20 2022"
      },
      "message": "Fix #133: Remove rsa/_compat.py\n\nThere were very few functions in there, and none of them were actually used\nby the RSA library (just by the test code).\n"
    },
    {
      "commit": "3031bf5c6ae64083431e849903b0104d2cfae893",
      "tree": "2ecd50101456a41532d670980404c515602a870f",
      "parents": [
        "c373662e16d3ea1b014ec2a26500b6c0603fcabd"
      ],
      "author": {
        "name": "Michał Górny",
        "email": "mgorny@gentoo.org",
        "time": "Thu Jan 27 09:26:23 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:12:51 2022"
      },
      "message": "Do not include arbitrary files in wheel\n\nFix the include key to apply to sdist format only.  Otherwise, the\nlisted files are added to the top directory of wheel as well and end up\nbeing installed in top-level site-packages directory, e.g.:\n\n *  FILES:+usr/lib/python3.9/site-packages/CHANGELOG.md\n *  FILES:+usr/lib/python3.9/site-packages/LICENSE\n *  FILES:+usr/lib/python3.9/site-packages/README.md\n"
    },
    {
      "commit": "c373662e16d3ea1b014ec2a26500b6c0603fcabd",
      "tree": "a237b65d0a64bc6ecec64b794e025afe13f874d6",
      "parents": [
        "681b25616be5a56cc08b59c26ee7386eb8a7e17e"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:10:18 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:10:18 2022"
      },
      "message": "Bumped version to 4.9-dev0\n"
    },
    {
      "commit": "681b25616be5a56cc08b59c26ee7386eb8a7e17e",
      "tree": "619f1a4f9709d7054011959369dca4fd2554a09a",
      "parents": [
        "3b31182ed21415503e1950dff2be998e9852382b"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:09:29 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:09:29 2022"
      },
      "message": "Fix CHANGELOG.md\n\nI forgot to mark version 4.8 with \"released on yyyy-mm-dd\".\n"
    },
    {
      "commit": "3b31182ed21415503e1950dff2be998e9852382b",
      "tree": "1636194755b01fe86c4904f900ddaa1aa8e3eb6e",
      "parents": [
        "6391b1a03682c3493ea69c5a9698277ba9d53a9c"
      ],
      "author": {
        "name": "Arie Bovenberg",
        "email": "a.c.bovenberg@gmail.com",
        "time": "Sat Jan 22 09:10:11 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:05:41 2022"
      },
      "message": "Remove overlapping slots from AbstractKey subclasses\n\n`PublicKey` and `PrivateKey` both define the `n` and `e` slots, which\nare already present in their base class. This reduces the benefits of\nhaving slots.\n\n```shell\n$ slotscheck -m rsa -v\nERROR: \u0027rsa.key:PrivateKey\u0027 defines overlapping slots.\n       - e (rsa.key:AbstractKey)\n       - n (rsa.key:AbstractKey)\nERROR: \u0027rsa.key:PublicKey\u0027 defines overlapping slots.\n       - e (rsa.key:AbstractKey)\n       - n (rsa.key:AbstractKey)\n```\n\nThe Python docs say:\n\n\u003e If a class defines a slot also defined in a base class, the instance\n\u003e variable defined by the base class slot is inaccessible (except by\n\u003e retrieving its descriptor directly from the base class). This renders\n\u003e the meaning of the program undefined.\n"
    },
    {
      "commit": "6391b1a03682c3493ea69c5a9698277ba9d53a9c",
      "tree": "e5057c5e29bfa6a93b42ffb4704bcc9a7633362e",
      "parents": [
        "b1679ecf5a88578dbaca1c39ad499b7f39948125"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 10:53:03 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Mar 13 11:02:15 2022"
      },
      "message": "Fix #194: Remove debug logging from `rsa/key.py`\n"
    },
    {
      "commit": "b1679ecf5a88578dbaca1c39ad499b7f39948125",
      "tree": "93023b3ac899c9ca0dba7f954b87a29863143c19",
      "parents": [
        "32bfe4007e4284b95a58be9f655c8aee605c712a"
      ],
      "author": {
        "name": "Andrii Oriekhov",
        "email": "andriyorehov@gmail.com",
        "time": "Mon Feb 28 12:48:30 2022"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Feb 28 18:27:21 2022"
      },
      "message": "add GitHub URL for PyPi\n"
    },
    {
      "commit": "32bfe4007e4284b95a58be9f655c8aee605c712a",
      "tree": "4c24f90666450cf00b63bea7be9f931a8790bee6",
      "parents": [
        "5b377fb093ae3b7e5b1eaeec732ee429488bd662"
      ],
      "author": {
        "name": "ikeikeikeike / ikedat / Tatsuo Ikeda",
        "email": "jp.ne.co.jp@gmail.com",
        "time": "Tue Dec 07 09:58:57 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Tue Jan 11 12:57:25 2022"
      },
      "message": "Tiny fix to Incompatible types in assignment\n"
    },
    {
      "commit": "5b377fb093ae3b7e5b1eaeec732ee429488bd662",
      "tree": "9182056affd7fbecc869f55e1b5c193c89827cb9",
      "parents": [
        "185fe5758466728b6bc3ae63b0be508cd8835fac"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:21:01 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:21:01 2021"
      },
      "message": "Update Sphinx to allow docs generation on Python 3.10\n"
    },
    {
      "commit": "185fe5758466728b6bc3ae63b0be508cd8835fac",
      "tree": "f4cf1dcfb0a3bc8d211943279c73607e0a8a4df5",
      "parents": [
        "47a7db1cce210fe9011535c73c57bf76fcca6820"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:20:46 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:20:46 2021"
      },
      "message": "Docs: Fix table layout\n"
    },
    {
      "commit": "47a7db1cce210fe9011535c73c57bf76fcca6820",
      "tree": "dd0218b2ae2789b329ee558c1855fdb2c6738a79",
      "parents": [
        "cf47106a672ea27ea07034c6f3265e8f8648676e"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:06:33 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:06:33 2021"
      },
      "message": "More version bump to 4.8\n"
    },
    {
      "commit": "cf47106a672ea27ea07034c6f3265e8f8648676e",
      "tree": "1a1d8c51845fbd3da61dd8b2ab889aa1d49f527c",
      "parents": [
        "1ba4a171c9a0a939917f8cbca7eda480bd08804c"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:06:11 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:06:11 2021"
      },
      "message": "Fix update_version.sh to follow Black-style formatting\n"
    },
    {
      "commit": "1ba4a171c9a0a939917f8cbca7eda480bd08804c",
      "tree": "648b1dbba31c79bb01ea951d9327e3150f3a592b",
      "parents": [
        "7b52296aa7f2dfe4784dbb1303de30d864a5d46e"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:04:43 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:04:43 2021"
      },
      "message": "Bumped version to 4.8\n"
    },
    {
      "commit": "7b52296aa7f2dfe4784dbb1303de30d864a5d46e",
      "tree": "f276f74af071b02397cb83a6fd0a38d98547d0cb",
      "parents": [
        "7ed1b5ecf68ee4bf04b23169824540da0b4b0153"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:02:10 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 10:02:10 2021"
      },
      "message": "Add compat with py3.10 to changelog\n"
    },
    {
      "commit": "7ed1b5ecf68ee4bf04b23169824540da0b4b0153",
      "tree": "9897f5e25e6d17f5e01e1a383ff1fc28b4937fae",
      "parents": [
        "3e9b33834ea005b76001d1d439fe0c1c02e7017c"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 09:52:17 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 09:52:17 2021"
      },
      "message": "Remove obsolete file\n"
    },
    {
      "commit": "3e9b33834ea005b76001d1d439fe0c1c02e7017c",
      "tree": "0904328b6f7db51fc2135a7d0dfe5c7250c3a9da",
      "parents": [
        "a038aef614c656d24c5dfede07e8efe5106ed72e"
      ],
      "author": {
        "name": "Kian-Meng, Ang",
        "email": "kianmeng@cpan.org",
        "time": "Sat Oct 23 02:15:21 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 09:28:25 2021"
      },
      "message": "Fix typos\n"
    },
    {
      "commit": "a038aef614c656d24c5dfede07e8efe5106ed72e",
      "tree": "23ac68fd63821123de99e76d8200b38223a50464",
      "parents": [
        "39c30a5565e01c65e7c095878c1d63346436a0aa"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 09:27:08 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 09:28:25 2021"
      },
      "message": "Update dependencies for Python 3.10 compatibility\n"
    },
    {
      "commit": "39c30a5565e01c65e7c095878c1d63346436a0aa",
      "tree": "fd44b84c0fb1733f8132e0a1dc3db6c2f6e40885",
      "parents": [
        "fe4db61438dac790ff53696decb53a8dfa9acf56"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 08:57:10 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 24 08:57:39 2021"
      },
      "message": "Fix testing with Tox + Poetry\n\nIsolated builds are necessary now, and `poetry install` no longer takes\n`--dev --deploy` options.\n"
    },
    {
      "commit": "fe4db61438dac790ff53696decb53a8dfa9acf56",
      "tree": "6c6828598f97332f7d925935f108c3433397126f",
      "parents": [
        "1f779491022ef3549ac3dc23bb78d6d7a8122390"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Sun Oct 10 18:54:33 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 03 10:14:14 2021"
      },
      "message": "Run \u0027poetry lock\u0027 to bump typed_ast to support Python 3.10\n"
    },
    {
      "commit": "1f779491022ef3549ac3dc23bb78d6d7a8122390",
      "tree": "6fc7f0ae56ccb3604ce0f0ff70154be6ffdbd511",
      "parents": [
        "483700ada63972e600c7770c124f5aa0568dabf7"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Sun Oct 10 18:16:26 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Nov 03 10:14:14 2021"
      },
      "message": "Add support for Python 3.10\n"
    },
    {
      "commit": "483700ada63972e600c7770c124f5aa0568dabf7",
      "tree": "be9bdb57e8feee3d683675de8ab9bce7fba007e6",
      "parents": [
        "35e962d9ce424ef5ea35a9787b7b165fc034712d"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Mar 29 21:24:28 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Mar 29 21:24:28 2021"
      },
      "message": "Use Chinese Remainder Theorem when decrypting with private key\n\nUse the Chinese Remainder Theorem when decrypting with private key, as that\nmakes the decryption 2-4x faster.\n\nThis fixes #163.\n"
    },
    {
      "commit": "35e962d9ce424ef5ea35a9787b7b165fc034712d",
      "tree": "d2f93be0eb8e288ce4c2021527ddd9e57489ca7c",
      "parents": [
        "7bdbdaa16ee644d00845b94eaa3008061dc5ec79"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Mar 29 21:17:55 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Mar 29 21:17:55 2021"
      },
      "message": "Reformatting with Black\n\nNo functional changes.\n"
    },
    {
      "commit": "7bdbdaa16ee644d00845b94eaa3008061dc5ec79",
      "tree": "b9f4ffcb009e1f986d7745920e56bd6d0a40af85",
      "parents": [
        "72f8f7214909006c39a2c98c6a65538601b0dd3d"
      ],
      "author": {
        "name": "Saif Hakim",
        "email": "saif@benchling.com",
        "time": "Tue Feb 16 09:40:51 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Mar 24 17:20:29 2021"
      },
      "message": "Fix hashlib mypy types for Python 3.x\n\nAs captured in https://github.com/python/typeshed/pull/1663, the types for\nSHA-1 and SHA-2 family of functions are callables that return a Hash instance,\nwhilst the SHA-3 family of functions are Hash `type`s (at least in Python 3.6).\nMixing the two kinds of functions together in a dictionary confuses mypy\u0027s type\ninference as noted in #153, so we instead add an annotation as a hint.\n\nAlso, update test_my.py to match the python version set by tox.ini in CI\ninstead of always targeting Python 3.7 (as configured in setup.cfg) to\nvalidate the types in all supported Python 3.x versions.\n\nThis fix also avoids the issue with the older mypy releases for\nPython 3.6 / Python 3.7 found in distro repos...\n\n... for Ubuntu:\n```\ndocker run \\\n  -v $(pwd):/tmp/rsa \\\n  -w /tmp/rsa ubuntu:18.04 \\\n  /bin/bash -c \u0027apt-get update -qqy \\\n                  \u0026\u0026 apt-get install -qqy python3-pyasn1 python3-setuptools python3-mypy \\\n                  \u0026\u0026 python3 setup.py test\u0027\n```\n... and for Fedora:\n```\ndocker run \\\n  -v $(pwd):/tmp/rsa \\\n  -w /tmp/rsa docker.io/fedora \\\n  /bin/bash -c \u0027dnf -y install wget python3-devel python3-pyasn1 python3-setuptools python3-mypy \\\n                  \u0026\u0026 python3 setup.py test\u0027\n```\n\nFixes #153\n"
    },
    {
      "commit": "72f8f7214909006c39a2c98c6a65538601b0dd3d",
      "tree": "5c498508e9d502ef4dfb27492ce86f9d2f87907c",
      "parents": [
        "d1de4c8be04027cee0586566576f74cc3f883a9b"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 13:21:20 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 13:21:58 2021"
      },
      "message": "Fix typo in CHANGELOG.md\n"
    },
    {
      "commit": "d1de4c8be04027cee0586566576f74cc3f883a9b",
      "tree": "ce03427724dfaa610558489e945700ecd2ff0e75",
      "parents": [
        "214c0f90e2dab0bc3d5a052cdf726c762cb4b74c"
      ],
      "author": {
        "name": "Andrey Semakin",
        "email": "and-semakin@ya.ru",
        "time": "Mon Nov 04 10:23:28 2019"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 13:20:22 2021"
      },
      "message": "Add py.typed marker file for PEP 561 compliance\n"
    },
    {
      "commit": "214c0f90e2dab0bc3d5a052cdf726c762cb4b74c",
      "tree": "7d15b1fdc72bd4e21d19e73c4d433860507ad3ec",
      "parents": [
        "4c3cd57ae2717856e09b9fed587e4d1afa3b44f2"
      ],
      "author": {
        "name": "Saif Hakim",
        "email": "saif@benchling.com",
        "time": "Wed Feb 17 08:08:18 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:35:18 2021"
      },
      "message": "Clean up stdout when using unittest test runner\n\nWhile pytest is the preferred test runner via tox, it looks like some folks are\nstill running tests via `python3 setup.py test` which uses unittest and does\nnot have good support for capturing stdout. To make using unittest slightly\nmore friendly,  we further swallow stdout / stderr for cli tests, and ensure\nprint statements start on a newline.\n"
    },
    {
      "commit": "4c3cd57ae2717856e09b9fed587e4d1afa3b44f2",
      "tree": "97ace7516aa1fe3c5ff39afb9709150ade7feb9e",
      "parents": [
        "f290e4e2a2a8d7fdd5d42fe0d7faba051e7b123c"
      ],
      "author": {
        "name": "Richard Vodden",
        "email": "richard@vodden.com",
        "time": "Fri Feb 19 08:14:05 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:28:12 2021"
      },
      "message": "Update usage.rst"
    },
    {
      "commit": "f290e4e2a2a8d7fdd5d42fe0d7faba051e7b123c",
      "tree": "3b725a2dc444d8c1948465cb076268a46bd6ca42",
      "parents": [
        "3450f43c6d6766012b854d751da4475e49f19850"
      ],
      "author": {
        "name": "Richard Vodden",
        "email": "richard@vodden.com",
        "time": "Fri Feb 19 08:11:53 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:28:12 2021"
      },
      "message": "Correct return value of verify()"
    },
    {
      "commit": "3450f43c6d6766012b854d751da4475e49f19850",
      "tree": "03a56ec075552158e81fc1a4dc1a5fdf5214a6f6",
      "parents": [
        "1a5b2d166fc95e5f3f07fdfec075acdf4d0eda92"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:22:15 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:22:15 2021"
      },
      "message": "Document chaining of exceptions in changelog\n\nRef: 1a5b2d166fc95e5f3f07fdfec075acdf4d0eda921\n"
    },
    {
      "commit": "1a5b2d166fc95e5f3f07fdfec075acdf4d0eda92",
      "tree": "94973309e96f59a1367819c51240e2059aaca288",
      "parents": [
        "b8ac79fdbc28d3ad5e15c50930d223e98df10487"
      ],
      "author": {
        "name": "Ram Rachum",
        "email": "ram@rachum.com",
        "time": "Fri Jun 19 20:39:00 2020"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:19:55 2021"
      },
      "message": "Fix exception causes all over the codebase\n\nThe mistake is this: In some parts of the code, an exception is being\ncaught and replaced with a more user-friendly error. In these cases the\nsyntax `raise new_error from old_error` needs to be used.\n\nPython\u0027s exception chaining means it shows not only the traceback of the\ncurrent exception, but that of the original exception (and possibly\nmore.) This is regardless of `raise from`. The usage of `raise from`\ntells Python to put a more accurate message between the tracebacks.\nInstead of this:\n\n    During handling of the above exception, another exception occurred:\n\nYou\u0027ll get this:\n\n    The above exception was the direct cause of the following exception:\n\nThe first is inaccurate, because it signifies a bug in the\nexception-handling code itself, which is a separate situation than\nwrapping an exception.\n"
    },
    {
      "commit": "b8ac79fdbc28d3ad5e15c50930d223e98df10487",
      "tree": "f5da378c579d12b94dbb0c8eda664cbee18932e8",
      "parents": [
        "913829a342ecc86aebe28b5875cecce9d331fb10"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:19:32 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:19:32 2021"
      },
      "message": "Add switch to Poetry to CHANGELOG.md\n"
    },
    {
      "commit": "913829a342ecc86aebe28b5875cecce9d331fb10",
      "tree": "b5aa420931992b7e68730c882af8022c5d78e587",
      "parents": [
        "96a7a7dc092f9706be5005d538ed2b1cf9f07dae"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:03:53 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 12:03:53 2021"
      },
      "message": "Document how to use Poetry\n\nDocument how to use Poetry for setting up a dev environment and for\nbuilding \u0026 publishing a new release.\n"
    },
    {
      "commit": "96a7a7dc092f9706be5005d538ed2b1cf9f07dae",
      "tree": "a9877152d4231e23d7f3b50515047aa953089c46",
      "parents": [
        "2603c83effa593ae1e0662e491425b335eaed765"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:29:17 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:44:41 2021"
      },
      "message": ".travis.yml: use Poetry instead of Pipenv\n"
    },
    {
      "commit": "2603c83effa593ae1e0662e491425b335eaed765",
      "tree": "60f7d5959f8e1e6a4d0186c3ce12fb8b565515eb",
      "parents": [
        "3b8c94c6279c539ccc3db877c133fcc586cd4cd0"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:29:06 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:44:41 2021"
      },
      "message": ".travis.yml: Remove Python 3.5\n"
    },
    {
      "commit": "3b8c94c6279c539ccc3db877c133fcc586cd4cd0",
      "tree": "14a1877041fc18a5c034f5be3a2686523f13d549",
      "parents": [
        "8bc1ec89fb629a86cc5c74294dbe58ba2b2a8cef"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:23:35 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:44:41 2021"
      },
      "message": "Update `update_version.sh` to use Poetry\n"
    },
    {
      "commit": "8bc1ec89fb629a86cc5c74294dbe58ba2b2a8cef",
      "tree": "a53daa1a4493eb68c5be1053b8ae30f01ba78689",
      "parents": [
        "f77fbdf515a3bf948453d9f8533f47e460533a1b"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Tue Feb 16 19:15:39 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:44:41 2021"
      },
      "message": "Manage dependencies with Poetry instead of Pipenv\n\nPoetry is nicer to work with than Pipenv + setup.py.\nThis drops Python 3.5 support; that\u0027s ok, since that version is EOL.\n"
    },
    {
      "commit": "f77fbdf515a3bf948453d9f8533f47e460533a1b",
      "tree": "f9423ac94fef78c3ee3370bcbf07c1a2799036d8",
      "parents": [
        "092acf8c7cd3368bd1e79ac133e1986b5b1c8261"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:43:21 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:43:21 2021"
      },
      "message": "Bumped version to 4.8-dev0\n"
    },
    {
      "commit": "092acf8c7cd3368bd1e79ac133e1986b5b1c8261",
      "tree": "e7eb109017c9361653219edbf92da82b65cfef85",
      "parents": [
        "5b517c26e350791cc3d31c937e5f5ff4b8791949"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:09:47 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:09:47 2021"
      },
      "message": "README: change header style\n\nChange header style from RestructuredText style (dashes under header) to\nMarkDown style (pound signs in front of header).\n"
    },
    {
      "commit": "5b517c26e350791cc3d31c937e5f5ff4b8791949",
      "tree": "d0fd158b75a600e18598b13dcd401e3d49810235",
      "parents": [
        "87664078fbbd8bd1f84a9dff05bb1d673b696eaa"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Tue Feb 16 18:12:18 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 11:08:10 2021"
      },
      "message": "README: remove older changes\n\nThe CHANGELOG.md can still be used to find what happened in which release.\n"
    },
    {
      "commit": "87664078fbbd8bd1f84a9dff05bb1d673b696eaa",
      "tree": "92d9062b53e7316c705685b6c928cbc8ca7a6e74",
      "parents": [
        "130eb4ed937b2b059efd3ee798fd63d091ef23b7"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 10:42:05 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 10:42:05 2021"
      },
      "message": "Bumped version to 4.7.2\n"
    },
    {
      "commit": "130eb4ed937b2b059efd3ee798fd63d091ef23b7",
      "tree": "1b1a08320bd0e1b6ccbf74318079de153c0f551e",
      "parents": [
        "eb6ddb6e3ec5cf3a512f1854adb6ed1ad318ea4e"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 10:32:02 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 10:36:52 2021"
      },
      "message": "Add pickling fix to CHANGELOG\n"
    },
    {
      "commit": "eb6ddb6e3ec5cf3a512f1854adb6ed1ad318ea4e",
      "tree": "46a57357f60a86d033d5fe80aab6b32393c589ec",
      "parents": [
        "758562f004ead1c999b297334d552b57404c21d2"
      ],
      "author": {
        "name": "Bu Sun Kim",
        "email": "busunkim@google.com",
        "time": "Fri Feb 19 01:05:54 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Wed Feb 24 10:32:07 2021"
      },
      "message": "Fix #173: unpickling doesn\u0027t restore full object\n\nWhen a `PrivateKey` or `PublicKey` is unpickled `AbstractKey.__init__()`\nshould be called so `self.mutex` and `self.blindfac` are created.\n"
    },
    {
      "commit": "758562f004ead1c999b297334d552b57404c21d2",
      "tree": "6aacc5dc48320740c2e44362cee29046e16eca07",
      "parents": [
        "63488bef2e5349f37d8f5d047810afb36907033c"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Feb 15 20:44:52 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Feb 15 20:45:03 2021"
      },
      "message": "Mark version 4.7.1 as released\n"
    },
    {
      "commit": "63488bef2e5349f37d8f5d047810afb36907033c",
      "tree": "c2f7e6f498dedf5e793bfb113a82e9734b829dbc",
      "parents": [
        "88418f04d7fd543f55604b862d0a77e5bd84bae6"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Feb 15 20:42:07 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Feb 15 20:42:07 2021"
      },
      "message": "Bumped version to 4.7.1\n"
    },
    {
      "commit": "88418f04d7fd543f55604b862d0a77e5bd84bae6",
      "tree": "1b46bafcc0ac9528dae94db1b09bf8786f1eaa9b",
      "parents": [
        "3af4e6512690aab6e5bb30c47cf125bb8eb41d89"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Feb 14 11:20:57 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Mon Feb 15 20:32:23 2021"
      },
      "message": "Fix threading issue introduced in 4.7\n\nComputing the blinding factor and its inverse was done in a thread-unsafe\nmanner. Locking the computation \u0026 update of the blinding factors, and\npassing these around in frame- and stack-bound data, solves this.\n\nThis fixes part of the issues reported in sybrenstuvel/python-rsa#173,\nbut there is more going on in that particular report.\n"
    },
    {
      "commit": "3af4e6512690aab6e5bb30c47cf125bb8eb41d89",
      "tree": "f1130aa24d0bf29818c1ab68141ea29b161f5eee",
      "parents": [
        "7508737d858d1ee825de049bc2f36456824d2bf0"
      ],
      "author": {
        "name": "Max Smolens",
        "email": "msmolens@gmail.com",
        "time": "Tue Jan 12 15:10:48 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Feb 14 11:24:09 2021"
      },
      "message": "Fix link formatting in CHANGELOG\n"
    },
    {
      "commit": "7508737d858d1ee825de049bc2f36456824d2bf0",
      "tree": "33be909e90f6cc2c6bf975dc25dc6b912252bdab",
      "parents": [
        "fa3282a47457254385f2313c2eceaad4b06186a4"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Feb 14 10:51:34 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Feb 14 10:51:34 2021"
      },
      "message": "Bumped version to 4.7.1-dev0\n"
    },
    {
      "commit": "fa3282a47457254385f2313c2eceaad4b06186a4",
      "tree": "b200a00993a620191234748af982bf9462975995",
      "parents": [
        "a364e82caa4cb1fc51400a8c628fb48867fb4362"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Jan 10 10:35:51 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Jan 10 10:35:51 2021"
      },
      "message": "Bumped version to 4.7\n"
    },
    {
      "commit": "a364e82caa4cb1fc51400a8c628fb48867fb4362",
      "tree": "ca06d1657bd46ce2b2c89b332a955a04401c0659",
      "parents": [
        "539c54aada3922757099ce1911a28c46e8e81a10"
      ],
      "author": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Jan 10 10:35:18 2021"
      },
      "committer": {
        "name": "Sybren A. Stüvel",
        "email": "sybren@stuvel.eu",
        "time": "Sun Jan 10 10:35:18 2021"
      },
      "message": "Marked version 4.7 as released\n"
    }
  ],
  "next": "539c54aada3922757099ce1911a28c46e8e81a10"
}
