)]}'
{
  "log": [
    {
      "commit": "c68ed1b1950f696408738806aed0a81177f06416",
      "tree": "c9a4816a10313df485b23f66ce65343d7f76dc91",
      "parents": [
        "b1f8362e45aab6e5ba0b49b282b5be9c05467c50"
      ],
      "author": {
        "name": "Stefan",
        "email": "96178532+stefan6419846@users.noreply.github.com",
        "time": "Thu Mar 07 15:47:17 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 07 09:47:17 2024 -0500"
      },
      "message": "Fix supported Python versions in README (#803)\n\n"
    },
    {
      "commit": "b1f8362e45aab6e5ba0b49b282b5be9c05467c50",
      "tree": "a8918d46fee9f01faf233695600d644c594692bf",
      "parents": [
        "5d192ce187d8ed47dce3ee3d1fdbd64891f2c11c"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Fri Feb 16 21:54:02 2024 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 16 21:54:02 2024 -0500"
      },
      "message": "allow assignment expressions to redefine outer names (#801)\n\n"
    },
    {
      "commit": "5d192ce187d8ed47dce3ee3d1fdbd64891f2c11c",
      "tree": "8469148b32d29ad8ac35f0b0a2553a7d43308f4c",
      "parents": [
        "881ed2f00255cb247577adad59d4f05122a5f87a"
      ],
      "author": {
        "name": "Daniel Li",
        "email": "lidan@deshaw.com",
        "time": "Tue Oct 18 15:20:07 2022 -0400"
      },
      "committer": {
        "name": "John Vandenberg",
        "email": "jayvdb@gmail.com",
        "time": "Wed Feb 14 17:13:04 2024 +0800"
      },
      "message": "Add __debuggerskip__ as special local\n\n__debuggerskip__ is a special variable used by IPython, similar to\n__tracebackhide__.\n"
    },
    {
      "commit": "881ed2f00255cb247577adad59d4f05122a5f87a",
      "tree": "3e6980d0f0133e86708ad80a0ff6cffacb48f476",
      "parents": [
        "ee2bef47318fc97b599850ebf68a481f4710fa42"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Jan 04 19:27:15 2024 -0500"
      },
      "committer": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Jan 04 19:27:25 2024 -0500"
      },
      "message": "Release 3.2.0\n"
    },
    {
      "commit": "ee2bef47318fc97b599850ebf68a481f4710fa42",
      "tree": "457367912f15381d8466300c3a1e198d92e10a9e",
      "parents": [
        "fad8ffb41bc5391c7273cd678aad94f52e9b5173"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Jan 04 19:22:45 2024 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 04 19:22:45 2024 -0500"
      },
      "message": "handle TypeVarTuple and ParamSpec for PEP 695 (#799)\n\n"
    },
    {
      "commit": "fad8ffb41bc5391c7273cd678aad94f52e9b5173",
      "tree": "15a1c4158eac4c8833f4a9e5325360e9ac2e300a",
      "parents": [
        "58b94a021b2d966a40a5bced06bdd6188ddb9fc2"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Jul 31 19:20:08 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 31 19:20:08 2023 -0400"
      },
      "message": "run flake8 in 3.12 now that 6.1 has been released (#782)\n\n"
    },
    {
      "commit": "58b94a021b2d966a40a5bced06bdd6188ddb9fc2",
      "tree": "ed3c40bab5680156e7f32bbc74913094c09eb4df",
      "parents": [
        "afe2c4dbe57b0cf3c86ec96a7e622163b2171b4a"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sat Jul 29 12:59:38 2023 -0400"
      },
      "committer": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sat Jul 29 12:59:38 2023 -0400"
      },
      "message": "Release 3.1.0\n"
    },
    {
      "commit": "afe2c4dbe57b0cf3c86ec96a7e622163b2171b4a",
      "tree": "4ddd9947101c0078f44ec82ac3452cd18b81c249",
      "parents": [
        "07278501d5fc18d692f726907801f5687d92d680"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Jun 28 20:18:17 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 28 20:18:17 2023 -0400"
      },
      "message": "3.12: add support for type params and type statements (#778)\n\n"
    },
    {
      "commit": "07278501d5fc18d692f726907801f5687d92d680",
      "tree": "e5b24040f6932108a7148e9adb69cbc6e9339123",
      "parents": [
        "ad5e15f4a3011ccc9a34c06555fac58e3e09d3a1"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Jun 12 21:23:34 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 21:23:34 2023 -0400"
      },
      "message": "fix test failures in python 3.12 (#777)\n\n"
    },
    {
      "commit": "ad5e15f4a3011ccc9a34c06555fac58e3e09d3a1",
      "tree": "16b289895d6b1c5c87ca913054f3041128bcb740",
      "parents": [
        "836631f2f73d45baa4021453d89fc9fd6f52be58"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Jun 12 21:11:32 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 21:11:32 2023 -0400"
      },
      "message": "remove deprecated ast references (#776)\n\n"
    },
    {
      "commit": "836631f2f73d45baa4021453d89fc9fd6f52be58",
      "tree": "26065a86a77ad5f68b3fbf452e0c16e75f4a9d8b",
      "parents": [
        "f2671ffe1785754f0e73d148635cbb38e673e169"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Jun 12 21:00:45 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 21:00:45 2023 -0400"
      },
      "message": "fix error reporter and testsuite in 3.11.4+ (#775)\n\n"
    },
    {
      "commit": "f2671ffe1785754f0e73d148635cbb38e673e169",
      "tree": "fb016eca14a15499437cf9e3785a8330066dca2f",
      "parents": [
        "e19886e583637a7e2eec428cc036094b9630f2d0"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Tue Apr 25 19:37:22 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 25 19:37:22 2023 -0400"
      },
      "message": "allow redefinition of functions across match arms (#772)\n\n"
    },
    {
      "commit": "e19886e583637a7e2eec428cc036094b9630f2d0",
      "tree": "5dad34e1dc3321b34c28339e175e02c8fbde6306",
      "parents": [
        "e9324649874a7124a08c3826d4cf78a4dc3aa32c"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Tue Jan 31 13:45:58 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 31 13:45:58 2023 -0500"
      },
      "message": "fix accessed global annotation being redefined in a local scope (#765)\n\n"
    },
    {
      "commit": "e9324649874a7124a08c3826d4cf78a4dc3aa32c",
      "tree": "baf150fcf88fc0103fb9c740a651fae024c18881",
      "parents": [
        "33bbb8266420e34a93ea74299177c19fd463acc0"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Jan 12 11:26:28 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 12 11:26:28 2023 -0500"
      },
      "message": "produce an error when a definition shadows an unused assignment (#761)\n\n"
    },
    {
      "commit": "33bbb8266420e34a93ea74299177c19fd463acc0",
      "tree": "c20afacd7d6392fd83b30c15db4b5dc2dcf39e11",
      "parents": [
        "c3273c54c94cb96927d730c6bf5d12383c85777f"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Nov 27 13:15:37 2022 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 27 16:15:37 2022 -0500"
      },
      "message": "pushScope / popScope -\u003e with in_scope(...) (#755)\n\n"
    },
    {
      "commit": "c3273c54c94cb96927d730c6bf5d12383c85777f",
      "tree": "cf5c48ff78d241640ad07ddba405dc574074faff",
      "parents": [
        "4158a4537773ec3da41aed5afdea46c121082804"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Nov 27 12:56:55 2022 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 27 15:56:55 2022 -0500"
      },
      "message": "handle deferred checking as a queue (#754)\n\n"
    },
    {
      "commit": "4158a4537773ec3da41aed5afdea46c121082804",
      "tree": "d562833e95fc4dcea7fc4f97aaeef8992007f1c0",
      "parents": [
        "fba640d669f03478a1c1ee9db5d432ab8f77b3bd"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Nov 27 12:51:53 2022 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 27 15:51:53 2022 -0500"
      },
      "message": "remove outdated / incorrect comments (#753)\n\n"
    },
    {
      "commit": "fba640d669f03478a1c1ee9db5d432ab8f77b3bd",
      "tree": "d82e4cfe8e75378dfa7116ad281f42e3afffd2af",
      "parents": [
        "98d4fa33ccacf74c62c5a17cc35ce572fd35b223"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Nov 27 12:41:41 2022 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 27 15:41:41 2022 -0500"
      },
      "message": "upgrade flake8 to silence file_tokens warning (#751)\n\n"
    },
    {
      "commit": "98d4fa33ccacf74c62c5a17cc35ce572fd35b223",
      "tree": "f9b6b5fca55e2834bd86505aca117db2be624934",
      "parents": [
        "37f203ed6ec9c54ea4ded0b8480846ac750a1747"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Nov 27 12:38:53 2022 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 27 15:38:53 2022 -0500"
      },
      "message": "pyflakes: python3.8+ (#752)\n\n"
    },
    {
      "commit": "37f203ed6ec9c54ea4ded0b8480846ac750a1747",
      "tree": "ddf86f10069b5dc68c3274e12d41c82af0616738",
      "parents": [
        "3c70084704044f47441fbe1e5d953110dfcd4df0"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Nov 27 12:36:00 2022 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 27 15:36:00 2022 -0500"
      },
      "message": "fold unused checks into final scope checking (#750)\n\n"
    },
    {
      "commit": "3c70084704044f47441fbe1e5d953110dfcd4df0",
      "tree": "88e4260db970b252e660cf9305c089ca94424fbf",
      "parents": [
        "b37f91a1ae25cfc242d5043985b05159e152091a"
      ],
      "author": {
        "name": "Danny Sepler",
        "email": "danny@joinpropel.com",
        "time": "Thu Nov 24 12:02:43 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 24 12:02:43 2022 -0500"
      },
      "message": "Remove patches via mailing list (#746)\n\n"
    },
    {
      "commit": "b37f91a1ae25cfc242d5043985b05159e152091a",
      "tree": "91671f18ee4872dc7af97ed62f91524268e36ae4",
      "parents": [
        "e0d7a6be89591f913beb740af348df8b7723e7a4"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Nov 24 11:52:40 2022 -0500"
      },
      "committer": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Nov 24 11:52:40 2022 -0500"
      },
      "message": "Release 3.0.1\n"
    },
    {
      "commit": "e0d7a6be89591f913beb740af348df8b7723e7a4",
      "tree": "d24f6e2127bf9155a689a82802c51670cb666749",
      "parents": [
        "2c64ae48e2b1984a16cf25d215c9f9d21146426d"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Nov 24 11:51:46 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 24 11:51:46 2022 -0500"
      },
      "message": "fix crash on augmented-assign to print builtin (#745)\n\n"
    },
    {
      "commit": "2c64ae48e2b1984a16cf25d215c9f9d21146426d",
      "tree": "7b145f2cbf6ddd6d5d26e0a52cf091d41b3312aa",
      "parents": [
        "66786d45dc0a81c3bc1e205e1d17b16cae8e5a9f"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Nov 23 13:43:38 2022 -0500"
      },
      "committer": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Nov 23 13:43:38 2022 -0500"
      },
      "message": "Release 3.0.0\n"
    },
    {
      "commit": "66786d45dc0a81c3bc1e205e1d17b16cae8e5a9f",
      "tree": "c26fc4c03474c79d0bc70f59b65d729a32009fe3",
      "parents": [
        "ac019ed41c67082baae04f8e89f4113df5c7099a"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Nov 23 13:37:16 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 23 13:37:16 2022 -0500"
      },
      "message": "master -\u003e main (#742)\n\n"
    },
    {
      "commit": "ac019ed41c67082baae04f8e89f4113df5c7099a",
      "tree": "c8729249b142a4599dd37ba75b10ee144ac7d476",
      "parents": [
        "853cce91634cbddff01cc16313b5467be1e95c54"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Nov 03 21:57:40 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 03 21:57:40 2022 -0400"
      },
      "message": "remove unused isGenerator (#737)\n\n"
    },
    {
      "commit": "853cce91634cbddff01cc16313b5467be1e95c54",
      "tree": "2b5fbe027b36db24d1813599418b4c84de44729a",
      "parents": [
        "04ecb0c324ef3b61124e2f80f9e1af6c3a4c7b26"
      ],
      "author": {
        "name": "Danny Sepler",
        "email": "dannysepler@gmail.com",
        "time": "Mon Oct 03 16:27:13 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 03 16:27:13 2022 -0400"
      },
      "message": "Remove py2 references from README (#732)\n\n* Remove reference of py2 from the README"
    },
    {
      "commit": "04ecb0c324ef3b61124e2f80f9e1af6c3a4c7b26",
      "tree": "99b73ea74e99a27ab09f59ea4b42f06c7f850749",
      "parents": [
        "4a2407d7aa0834c37c9fe97e2db37fa8d01caa5b"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Fri Sep 16 00:14:09 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 16 00:14:09 2022 -0400"
      },
      "message": "remove handling of `# type:` comments now that pyflakes is py3+ (#684)\n\n"
    },
    {
      "commit": "4a2407d7aa0834c37c9fe97e2db37fa8d01caa5b",
      "tree": "0a2d90a4c44b6006cefc45f332328b4ece27c9ce",
      "parents": [
        "4dcd92e45efeb0615ba1c96d45241a037d30abe0"
      ],
      "author": {
        "name": "Danny Sepler",
        "email": "dannysepler@gmail.com",
        "time": "Fri Sep 16 00:00:27 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 16 00:00:27 2022 -0400"
      },
      "message": "Detect unused annotations in functions (#668)\n\n* Detect unused annotations in functions\r\n\r\n* Rebase correctly, use snake case, simplify conditions for `unused_annotations`\r\n\r\nCo-authored-by: Danny Sepler \u003cdsepler@flatiron.com\u003e"
    },
    {
      "commit": "4dcd92e45efeb0615ba1c96d45241a037d30abe0",
      "tree": "f0ed6dc91d9eb272bbbe24995d5757ef2d25233c",
      "parents": [
        "7d6479e46f8f3e9607c9ef7975cc892db023d413"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu Sep 08 18:10:17 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 08 18:10:17 2022 -0400"
      },
      "message": "detect undefined name of variable defined by AnnAssign (#729)\n\n"
    },
    {
      "commit": "7d6479e46f8f3e9607c9ef7975cc892db023d413",
      "tree": "2f2387a48a7a2a659eacff01ca511c0c6b154e20",
      "parents": [
        "2a6e36bd43af9829e0818961b60a1e3aab01fafc"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Aug 31 22:33:58 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 31 22:33:58 2022 -0400"
      },
      "message": "remove __init__ which is identical to parent (#726)\n\n"
    },
    {
      "commit": "2a6e36bd43af9829e0818961b60a1e3aab01fafc",
      "tree": "9a91b6b6a8994d6f0d3e1fdccb37c5ec1bf400ca",
      "parents": [
        "a153aeed8df60f4190e6114f77cd254d1493e411"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sat Jul 30 13:26:52 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 30 13:26:52 2022 -0400"
      },
      "message": "Release 2.5.0 (#720)\n\n"
    },
    {
      "commit": "a153aeed8df60f4190e6114f77cd254d1493e411",
      "tree": "6926a3feedce4a582e70a80ce178d627c1766241",
      "parents": [
        "d875b02835fb9b1480a95c5245040eb31a384357"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Jul 18 23:31:47 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 18 23:31:47 2022 -0400"
      },
      "message": "remove special handling of pypy offsets since modern pypy gets it right (#717)\n\n"
    },
    {
      "commit": "d875b02835fb9b1480a95c5245040eb31a384357",
      "tree": "22ef95ec26af351bf867c3912a325309b337d6ac",
      "parents": [
        "44ef321b0e608c61182ecf5d88f9edeececa5403"
      ],
      "author": {
        "name": "Steven Karas",
        "email": "steven.karas@gmail.com",
        "time": "Tue Jul 19 05:51:04 2022 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 18 22:51:04 2022 -0400"
      },
      "message": "fix syntax error reporting from stdin (#357) (#716)\n\nIn b73a3d12, there was an assumption that text is None only if there was an\r\nencoding error with the file. However this was the case for all pythons before\r\n3.9 when reading code from stdin.\r\n\r\nThis takes care to correctly report as much context as possible, so errors\r\naren\u0027t silently dropped with the unhelpful \"problem decoding source\" message."
    },
    {
      "commit": "44ef321b0e608c61182ecf5d88f9edeececa5403",
      "tree": "c0b70d2ce9ff856def6df1d027706a419b24b7bc",
      "parents": [
        "2246217295dc8cb30ef4a7b9d8dc449ce32e603a"
      ],
      "author": {
        "name": "Raphael Nestler",
        "email": "raphael.nestler@gmail.com",
        "time": "Fri Jul 08 14:15:56 2022 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 08 08:15:56 2022 -0400"
      },
      "message": "Fix pylint URL in README (#714)\n\n"
    },
    {
      "commit": "2246217295dc8cb30ef4a7b9d8dc449ce32e603a",
      "tree": "11a8fb153af9229c058f55bb10d0d454f86a2bee",
      "parents": [
        "becbab65bae84e3e19fc388a42dfabcff0c323c8"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Jun 12 17:07:21 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 12 17:07:21 2022 -0400"
      },
      "message": "burn the bridges with python 2.x (#707)\n\n* pyupgrade --py36-plus\r\n\r\n* remove handling of PY2\r\n\r\n* remove handling of PY35_PLUS\r\n\r\n* remove handling of PY36_PLUS\r\n\r\n* remove obsolete version_info checks in pyflakes/\r\n\r\n* adjust skips in tests for 3.6+\r\n\r\n* is_py3_func -\u003e has_annotations (specifically for lambda)\r\n\r\n* remove references to py 2\r\n\r\n* remove references to unichr\r\n\r\n* clean up version-specific getattrs\r\n\r\n* remove unused ReturnWithArgsInsideGenerator\r\n\r\n* remove unused ast handlers\r\n\r\n* remove unused RedefinedInListComp"
    },
    {
      "commit": "becbab65bae84e3e19fc388a42dfabcff0c323c8",
      "tree": "e0dcd7f13a8bbe2d45a0043df2c3be466f86a7fb",
      "parents": [
        "f736615f32a4bab27c9efeb5b8f8c31702efc4ab"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 30 17:10:58 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 17:10:58 2022 -0400"
      },
      "message": "upgrade flake8 to 4.0.1 (#706)\n\nI removed the erroring type annotations since we are not (yet) using a type checker"
    },
    {
      "commit": "f736615f32a4bab27c9efeb5b8f8c31702efc4ab",
      "tree": "58c3796a9deeab90def99daaee17a57c3c10b52f",
      "parents": [
        "5959216f67837f3ddf5b959c21e097c7a3758d48"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 30 17:01:16 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 17:01:16 2022 -0400"
      },
      "message": "remove backported unittest methods (#705)\n\n"
    },
    {
      "commit": "5959216f67837f3ddf5b959c21e097c7a3758d48",
      "tree": "1492dd53e4f869b7a95dfe00cc9ed4c86431eb59",
      "parents": [
        "405a0906c8debafaae419472d3f51b84b7ba5c49"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 30 16:52:37 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 16:52:37 2022 -0400"
      },
      "message": "remove checking of node.docstring (#704)\n\nthis was only present during a brief period of 3.7 pre-release"
    },
    {
      "commit": "405a0906c8debafaae419472d3f51b84b7ba5c49",
      "tree": "86dea523355f99fdef09b88d3038a467e4966d47",
      "parents": [
        "30ec8589e183f76f40764a8dd78591719f521943"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 30 16:24:55 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 16:24:55 2022 -0400"
      },
      "message": "simplify PYPY check (#703)\n\n"
    },
    {
      "commit": "30ec8589e183f76f40764a8dd78591719f521943",
      "tree": "d36f187347c7d2f7533b6a6529b3b272310741c4",
      "parents": [
        "a44f8fc6110a498b8fcd4b423a2cae82da2e830f"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 30 16:17:24 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 16:17:24 2022 -0400"
      },
      "message": "remove unused WIN (#702)\n\n"
    },
    {
      "commit": "a44f8fc6110a498b8fcd4b423a2cae82da2e830f",
      "tree": "bbdb71e0eeb5d4ea585fe6594a16d881051e9faf",
      "parents": [
        "bb9aba69edb6a4363ebfb489f3b508e2e919584d"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 30 16:03:58 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 16:03:58 2022 -0400"
      },
      "message": "remove unused names argument in LateFutureImport (#701)\n\n"
    },
    {
      "commit": "bb9aba69edb6a4363ebfb489f3b508e2e919584d",
      "tree": "99ea8535f9791f43add791fde58a2456403aaf7d",
      "parents": [
        "2a61f3c0a1dddb00453c66d1fa9f45d7b5b7897d"
      ],
      "author": {
        "name": "Malware Utkonos",
        "email": "utkonos@users.noreply.github.com",
        "time": "Mon May 30 12:26:32 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 12:26:32 2022 -0400"
      },
      "message": "Unify output : characters. Fixes #692 (#693)\n\n"
    },
    {
      "commit": "2a61f3c0a1dddb00453c66d1fa9f45d7b5b7897d",
      "tree": "6ae8996753f1c2660d0119cb4f9ef903cae01762",
      "parents": [
        "e02336c3d47c621feed730f5bdaa792babca75be"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 30 12:25:29 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 12:25:29 2022 -0400"
      },
      "message": "add tests for python3.11-specific syntax (#694)\n\n"
    },
    {
      "commit": "e02336c3d47c621feed730f5bdaa792babca75be",
      "tree": "c6a67e5c5ae22c5561a06d488e73ae9d4f9646f7",
      "parents": [
        "dd446ed156837f50a06596ec79efc292e856954f"
      ],
      "author": {
        "name": "Yann Sartori",
        "email": "yannsartori@gmail.com",
        "time": "Mon May 30 12:20:13 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 30 12:20:13 2022 -0400"
      },
      "message": "assignment expression in comprehension should target outer scope (#698)\n\nCo-authored-by: Yann Sartori \u003csartori2@llnl.gov\u003e"
    },
    {
      "commit": "dd446ed156837f50a06596ec79efc292e856954f",
      "tree": "cfaf16ca6a3d8c254ba0beba8acd3bcad43e7614",
      "parents": [
        "2409df015d9d847890716b242cb418047cd9d6b7"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon May 16 22:20:59 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 16 22:20:59 2022 -0400"
      },
      "message": "don\u0027t double-run github actions for PRs from pycqa/ (#695)\n\n"
    },
    {
      "commit": "2409df015d9d847890716b242cb418047cd9d6b7",
      "tree": "82b3cd978ebb9876be2545a3bb7aa8b74d42204a",
      "parents": [
        "84da8cdaad574df7e692dff06ab561acc63d521c"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Fri Mar 25 11:05:29 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 25 11:05:29 2022 -0400"
      },
      "message": "use updated pypy3 name for github actions (#685)\n\n"
    },
    {
      "commit": "84da8cdaad574df7e692dff06ab561acc63d521c",
      "tree": "ea41b85876cbaee9273de6b0567409cb6499efc6",
      "parents": [
        "1fae3dea5108a006d35da9e9ab785ca1ed1bc998"
      ],
      "author": {
        "name": "Laurent Kadian",
        "email": "17257425+lkadian@users.noreply.github.com",
        "time": "Sun Feb 13 11:32:09 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 13 11:32:09 2022 -0500"
      },
      "message": "support TypeAlias annotations (#679)\n\nFor assignments with `TypeAlias` as annotation, handle the value as an annotation also.\r\n\r\nAvoids incorrectly detecting `Bar` as unused in `x: TypeAlias \u003d \u0027Bar\u0027`."
    },
    {
      "commit": "1fae3dea5108a006d35da9e9ab785ca1ed1bc998",
      "tree": "bcfc0c46ae69366dbd8f9a59073209c928808f48",
      "parents": [
        "dbb18432165bdc567e015511b3f3284f0f14cf05"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sat Feb 12 09:52:33 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 12 06:52:33 2022 -0800"
      },
      "message": "ignore `__all__` when not directly assigned (#675)\n\n"
    },
    {
      "commit": "dbb18432165bdc567e015511b3f3284f0f14cf05",
      "tree": "13b761f02284adc4213624b7e77e47e3a255e908",
      "parents": [
        "140817fbc48498ab8e72cbc82d57914f1606b457"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Fri Dec 24 23:39:26 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 24 16:39:26 2021 -0500"
      },
      "message": "Drop support for EOL Python 2.7 and 3.4-3.5 (#660)\n\n* Add support for Python 3.10\r\n\r\n* Drop support for EOL Python 2.7 and 3.4-3.5"
    },
    {
      "commit": "140817fbc48498ab8e72cbc82d57914f1606b457",
      "tree": "1bdba09379bcf3fa05d1d344798099221f1f79ad",
      "parents": [
        "78d885910781301663a956456e89d1743e037ac3"
      ],
      "author": {
        "name": "Danny Sepler",
        "email": "dannysepler@gmail.com",
        "time": "Sun Nov 21 08:51:51 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 21 08:51:51 2021 -0500"
      },
      "message": "remove with_statement future imports (#663)\n\n"
    },
    {
      "commit": "78d885910781301663a956456e89d1743e037ac3",
      "tree": "ce1d9f59d0ff7913b9934944e05b65bb438d7105",
      "parents": [
        "13cad915e6b181b2f6a85efc2ead4856b23bccc0"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Oct 06 13:38:45 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 06 16:38:45 2021 -0400"
      },
      "message": "Release 2.4.0 (#657)\n\n"
    },
    {
      "commit": "13cad915e6b181b2f6a85efc2ead4856b23bccc0",
      "tree": "0b7346048016eef7168a1a95b1b851ccf649279a",
      "parents": [
        "cf75971656d9a04faa1b5aeaeb776da3567b8041"
      ],
      "author": {
        "name": "Angus L\u0027Herrou",
        "email": "piraka@brandeis.edu",
        "time": "Tue Oct 05 18:44:29 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 05 18:44:29 2021 -0400"
      },
      "message": "Detect typing module attributes with \u0027import typing as \u003cname\u003e\u0027 (#632)\n\n* added functionality to detect typing module attributes with \u0027import typing as \u003cname\u003e\u0027\r\n\r\n* remove async keyword from test_aliased_import"
    },
    {
      "commit": "cf75971656d9a04faa1b5aeaeb776da3567b8041",
      "tree": "6eb7b23e28282bfe748103997f70958ce84ae00f",
      "parents": [
        "4cf21896576b734fd901b0dbf6efb0a15162b4af"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Tue Oct 05 15:37:44 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 05 18:37:44 2021 -0400"
      },
      "message": "add support for match statement (#630)\n\n"
    },
    {
      "commit": "4cf21896576b734fd901b0dbf6efb0a15162b4af",
      "tree": "d0eb547f6dd947117ff4dde74d3db025404424d4",
      "parents": [
        "2e2dfb186569faed40fc93fad2ebf8c5e4b80301"
      ],
      "author": {
        "name": "Adam Johnson",
        "email": "me@adamj.eu",
        "time": "Fri May 28 18:28:29 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 28 10:28:29 2021 -0700"
      },
      "message": "Remove pychecker from README (#639)\n\nIts last release was nearly 10 years ago: https://sourceforge.net/projects/pychecker/files/ , so it seems pretty dead."
    },
    {
      "commit": "2e2dfb186569faed40fc93fad2ebf8c5e4b80301",
      "tree": "ff81d8bd4d90a67c7ced959420d38f8f166a5c4e",
      "parents": [
        "da197ee94e791640d82940396c19d2d82ca8defb"
      ],
      "author": {
        "name": "Yusuke Hayashi",
        "email": "yusuke8h@gmail.com",
        "time": "Sat May 22 12:34:08 2021 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 21 20:34:08 2021 -0700"
      },
      "message": "fix typo: annoation -\u003e annotation (#636)\n\n"
    },
    {
      "commit": "da197ee94e791640d82940396c19d2d82ca8defb",
      "tree": "4ea83b27e88a71b84ee6138716366fe02951254b",
      "parents": [
        "f3b1b44bf3d2d5927004fa1c2fcf1ab2def816b9"
      ],
      "author": {
        "name": "Terence Honles",
        "email": "terence@honles.com",
        "time": "Thu May 20 07:47:19 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 20 07:47:19 2021 -0700"
      },
      "message": "remove old and unused \"tracing\" code (#625)\n\n"
    },
    {
      "commit": "f3b1b44bf3d2d5927004fa1c2fcf1ab2def816b9",
      "tree": "4974e580839247c7932a5a5935f2a232245d33b7",
      "parents": [
        "95fe313ba5ca384041472cd171ea60fad910c207"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Thu May 20 07:23:19 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 20 07:23:19 2021 -0700"
      },
      "message": "fix syntax error offsets for python 3.10 (#635)\n\n"
    },
    {
      "commit": "95fe313ba5ca384041472cd171ea60fad910c207",
      "tree": "05fd7d8909f60249d119d59fef6297b10349bf7a",
      "parents": [
        "3de8e61202910033b1f8af96a1afcf8faabc37a0"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Mar 24 09:31:37 2021 -0700"
      },
      "committer": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Mar 24 09:31:37 2021 -0700"
      },
      "message": "Release 2.3.1\n"
    },
    {
      "commit": "3de8e61202910033b1f8af96a1afcf8faabc37a0",
      "tree": "e31dfde5750c79637077c05b39e3048a75234a48",
      "parents": [
        "22eaa069d49d211fe6e8f06c00711064a8d5e733"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Mar 24 09:30:05 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 24 09:30:05 2021 -0700"
      },
      "message": "Annotations no longer redefine names (#619)\n\n"
    },
    {
      "commit": "22eaa069d49d211fe6e8f06c00711064a8d5e733",
      "tree": "10408ca226038dfc25d604e39c4967a4063be4ad",
      "parents": [
        "40e6dc23a8fc48f814e0c81fdcd936321ab9c023"
      ],
      "author": {
        "name": "Terence Honles",
        "email": "terence@honles.com",
        "time": "Tue Mar 23 16:51:17 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 23 16:51:17 2021 -0700"
      },
      "message": "allow passing tox positional arguments to unittest (#624)\n\n"
    },
    {
      "commit": "40e6dc23a8fc48f814e0c81fdcd936321ab9c023",
      "tree": "c5404c28656978aa73a75e61e8bcdf61876e97be",
      "parents": [
        "e3f26593eac942435c3e8e114506172678d58ce1"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Mar 14 09:32:43 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 14 09:32:43 2021 -0700"
      },
      "message": "Release 2.3.0 (#608)\n\n"
    },
    {
      "commit": "e3f26593eac942435c3e8e114506172678d58ce1",
      "tree": "4540a56eced76377e537c4263148fd60b48d6eb0",
      "parents": [
        "43541ee1dd394ec4691625e7295f701b3b073dca"
      ],
      "author": {
        "name": "Léni",
        "email": "lenigauffier@gmail.com",
        "time": "Sun Mar 14 17:02:46 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 14 09:02:46 2021 -0700"
      },
      "message": "Fix: Named types incorrectly raising UndefinedName inside annotated subscript (#609)\n\n"
    },
    {
      "commit": "43541ee1dd394ec4691625e7295f701b3b073dca",
      "tree": "6742db472b00ee5f93d492007391f6221485bc4e",
      "parents": [
        "650efb92fd27ae60ec08a70f2ac1afbea37ac3e3"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Tue Jan 05 08:04:38 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 05 08:04:38 2021 -0800"
      },
      "message": "Fix annotation clobbering __all__ (#606)\n\n"
    },
    {
      "commit": "650efb92fd27ae60ec08a70f2ac1afbea37ac3e3",
      "tree": "f551eb3f47a9adaa83012980e3e2cddd5cc9c270",
      "parents": [
        "d2ab3ec801a0b280ab0fbc66f5afbe3acf6f3701"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Jan 04 14:08:55 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 04 14:08:55 2021 -0800"
      },
      "message": "deterministic ordering for errors in __all__ (#604)\n\n"
    },
    {
      "commit": "d2ab3ec801a0b280ab0fbc66f5afbe3acf6f3701",
      "tree": "1129fe71997b7478fb6fda7831d7399b6961b75b",
      "parents": [
        "0e4194b238ffd006441f1a33373062d9c7272d0e"
      ],
      "author": {
        "name": "Ran Benita",
        "email": "ran@unusedvar.com",
        "time": "Tue Jan 05 00:05:29 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 04 14:05:29 2021 -0800"
      },
      "message": "Fix quoted type annotations in typing.TypeVar contexts (#534)\n\nTypeVar has such contexts in the positional arguments (for constraints)\r\nand in the `bound` keyword argument."
    },
    {
      "commit": "0e4194b238ffd006441f1a33373062d9c7272d0e",
      "tree": "4e13f5ec26e729ffc0fdacaeb7f7115a11cc66d8",
      "parents": [
        "632e346c3296e8f37a80949eba268d9f49ab86be"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Mon Dec 07 19:12:27 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 07 09:12:27 2020 -0800"
      },
      "message": "Test PyPy2/3 on GHA (#598)\n\n"
    },
    {
      "commit": "632e346c3296e8f37a80949eba268d9f49ab86be",
      "tree": "1c93064cb113772ff45af39f331179190a75d30c",
      "parents": [
        "26cf0631fe89f61d5b0ef8d6949676f051e35796"
      ],
      "author": {
        "name": "Hugo van Kemenade",
        "email": "hugovk@users.noreply.github.com",
        "time": "Thu Dec 03 23:50:02 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 03 15:50:02 2020 -0600"
      },
      "message": "Test on GitHub Actions (#596)\n\n* Test on GitHub Actions\r\n\r\n* Add 2.7 and 3.5 to GHA\r\n\r\n* Remove Travis CI and AppVeyor\r\n\r\n* Simplify config\r\n\r\nCo-authored-by: Anthony Sottile \u003casottile@umich.edu\u003e\r\n\r\n* Review updates\r\n\r\n* Remove redundant line\r\n\r\nCo-authored-by: Anthony Sottile \u003casottile@umich.edu\u003e"
    },
    {
      "commit": "26cf0631fe89f61d5b0ef8d6949676f051e35796",
      "tree": "e08db578dad9e4602709e609236f840c9436071d",
      "parents": [
        "dbb8fc4152c7d8dc4f7d666df4171860679f4b47"
      ],
      "author": {
        "name": "Pilou",
        "email": "pierre-louis@libregerbil.fr",
        "time": "Tue Oct 13 00:34:19 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 15:34:19 2020 -0700"
      },
      "message": "Recognize __qualname__ when used in class scope (#588)\n\nRelates #259."
    },
    {
      "commit": "dbb8fc4152c7d8dc4f7d666df4171860679f4b47",
      "tree": "91d581d19a0440c11c0057cfcb14d9256027dc0c",
      "parents": [
        "6a5f38b5ab12260fde8a0463acd433bc2d34dbcf"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sat Oct 03 07:45:00 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 03 07:45:00 2020 -0700"
      },
      "message": "simplify typing.Literal check (#587)\n\n"
    },
    {
      "commit": "6a5f38b5ab12260fde8a0463acd433bc2d34dbcf",
      "tree": "02daccc28f8a8a55e4409ae6be659b56a8b13627",
      "parents": [
        "684edfc8833bdb90b0a8ae562fd24d0e1e2fb686"
      ],
      "author": {
        "name": "Louis Sautier",
        "email": "sautier.louis@gmail.com",
        "time": "Sat Oct 03 02:37:53 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 17:37:53 2020 -0700"
      },
      "message": "Fix tests with Python 3.9, closes #549 (#586)\n\nStop allowing failures on Python nightly."
    },
    {
      "commit": "684edfc8833bdb90b0a8ae562fd24d0e1e2fb686",
      "tree": "9422ff368da6d5c2d218c8a5fc0f2d2b8ab073b2",
      "parents": [
        "c23a81037d4f68067c4c987985d177ec7664de59"
      ],
      "author": {
        "name": "Louis Sautier",
        "email": "sautier.louis@gmail.com",
        "time": "Fri Oct 02 23:34:24 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 14:34:24 2020 -0700"
      },
      "message": "Fix test_invalidEscape with recent PyPy3 versions, closes #584 (#585)\n\n* Fix test_invalidEscape with recent PyPy3 versions, closes #584\r\n\r\n* CI: update PyPY version in Travis and AppVeyor\r\n\r\nAlso make it easier to update for AppVeyor."
    },
    {
      "commit": "c23a81037d4f68067c4c987985d177ec7664de59",
      "tree": "a298fa01477a8b766c818295848d9fc90d7bb6d7",
      "parents": [
        "5fc37cbda5bf4e5afcb64c45caa62062979256b4"
      ],
      "author": {
        "name": "Sebastian Kreft",
        "email": "sk-@users.noreply.github.com",
        "time": "Mon Sep 28 17:44:21 2020 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 28 13:44:21 2020 -0700"
      },
      "message": "fix: don\u0027t return syntax error for Annotated\u0027s metadata (#580)\n\n* fix: don\u0027t return syntax error for Annotated\u0027s metadata\r\n\r\nPEP 593 https://www.python.org/dev/peps/pep-0593/ introduced the type Annotated, which allows to add metadata to types. By the definition only the first argument is required to be a proper type, all the other arguments are dependent on the consumer and can be other types or even literals.\r\n\r\nThis PR fixes #574.\r\n\r\n* fix whitespace\r\n\r\n* fix tests and formatting\r\n\r\n* PR comments from asottile\r\n\r\n* fix _in_annotation and remove _in_typing_annotated field\r\n\r\n* fix test name\r\n\r\n* get rid of _exit_annotation in favor of _entger_annotation(AnnotationState.None)\r\n\r\n* handle Annotated in python3.9+\r\n\r\nCo-authored-by: Anthony Sottile \u003casottile@umich.edu\u003e"
    },
    {
      "commit": "5fc37cbda5bf4e5afcb64c45caa62062979256b4",
      "tree": "f416204d0dbec659b2f4a4934342a91e0dd3a79f",
      "parents": [
        "cdb0606c85a417e961129aa88ebee210481f730d"
      ],
      "author": {
        "name": "Sebastian Rittau",
        "email": "srittau@rittau.biz",
        "time": "Mon Sep 28 20:06:42 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 28 11:06:42 2020 -0700"
      },
      "message": "Fix undefined name in annotations (#535)\n\n* Fix undefined name in annotations\r\n\r\nVariable annotations without a value don\u0027t create a name, but they still\r\ncan be used as variable annotation themselves as long as the annotation\r\nis quoted or \"from __future__ import annotations\" is used.\r\n\r\nThe implementation introduces a new binding \"Annotation\" for these kinds\r\nof variable annotations. This can potentially be used for further\r\nannotation-related checks in the future.\r\n\r\nAnnotation handling is extended to be able to detect both forms of postponed\r\nannotations (quoted and future import) during checks.\r\n\r\nFixes #486\r\n\r\n* Fix wrong tuple syntax\r\n\r\n* Refactor annotation handling\r\n\r\n* Introduce AnnotationState \"enum\"\r\n* Pass AnnotationState to _enter_annotation() instead of a \"string\" flag\r\n\r\n* Add a test for unused annotations\r\n\r\n* Add a few more tests for unused variables"
    },
    {
      "commit": "cdb0606c85a417e961129aa88ebee210481f730d",
      "tree": "5cf23e33a32c9c366c11476a15a301e91a09ca84",
      "parents": [
        "2dce2ee2fe31357c5c5a080a6b4b63ea696b7f59"
      ],
      "author": {
        "name": "jack1142",
        "email": "6032823+jack1142@users.noreply.github.com",
        "time": "Mon Sep 28 02:27:13 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 27 17:27:13 2020 -0700"
      },
      "message": "Extend F822 to support tuple concatenation (#544)\n\n* Extend F822 to support tuple concatenation\r\n\r\n* Add test case\r\n\r\n* Use camel case"
    },
    {
      "commit": "2dce2ee2fe31357c5c5a080a6b4b63ea696b7f59",
      "tree": "b3787383dfd28acac8f40c17ec452012081537c2",
      "parents": [
        "cd261abfe4cf7fcdaac5cef657ae3a16205fa0d7"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sun Sep 27 17:01:17 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 27 17:01:17 2020 -0700"
      },
      "message": "update pypy download urls (#581)\n\n"
    },
    {
      "commit": "cd261abfe4cf7fcdaac5cef657ae3a16205fa0d7",
      "tree": "6aecc6926005df525d963663c13b84603d73f70a",
      "parents": [
        "da385d5d65c6f515ae0ca88338b0a2e7a5c19c9c"
      ],
      "author": {
        "name": "Brett Cannon",
        "email": "brett@python.org",
        "time": "Mon May 11 19:58:14 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 11 19:58:14 2020 -0700"
      },
      "message": "List Python 3.8 support (#541)\n\n* Add Python 3.8 to Travis\r\n\r\n* Add Python 3.8 to Tox\r\n\r\n* Add Python 3.8 trove classifier\r\n\r\n* List Python 3.8 as supported in the README"
    },
    {
      "commit": "da385d5d65c6f515ae0ca88338b0a2e7a5c19c9c",
      "tree": "29007dec8788daa42cf21f41bc4dacb5481d94df",
      "parents": [
        "e83d920aafa92df9bda7dad606d401dda1ba722d"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Apr 27 00:45:05 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 00:45:05 2020 -0700"
      },
      "message": "Add tests demonstrating common use of TYPE_CHECKING guards (#531)\n\n* Add tests demonstrating common use of TYPE_CHECKING guards\r\n\r\n* Add another example using a runtime guard for Protocol"
    },
    {
      "commit": "e83d920aafa92df9bda7dad606d401dda1ba722d",
      "tree": "e25ae2b97e99d046103849a5fd50779877a0080c",
      "parents": [
        "c72d6cf1a9a119c1dd7a7674f36da21aea32d828"
      ],
      "author": {
        "name": "Petter Strandmark",
        "email": "petter.strandmark@gmail.com",
        "time": "Mon Apr 27 00:53:00 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 15:53:00 2020 -0700"
      },
      "message": "Fix test for nightly Python (3.9) (#532)\n\n* Fix test for nightly Python (3.9)\r\n\r\n* allow_failures: true for nightly\r\n\r\nCo-authored-by: Anthony Sottile \u003casottile@umich.edu\u003e"
    },
    {
      "commit": "c72d6cf1a9a119c1dd7a7674f36da21aea32d828",
      "tree": "689303552c2878bb9e703fa3b804eb153de64a53",
      "parents": [
        "c688d2b02ac6e3416775b88d6411ee6a3e8a51ec"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Tue Mar 17 14:35:02 2020 -0700"
      },
      "committer": {
        "name": "Phil Frost",
        "email": "indigo@bitglue.com",
        "time": "Thu Apr 09 20:53:07 2020 -0700"
      },
      "message": "Release 2.2.0\n"
    },
    {
      "commit": "c688d2b02ac6e3416775b88d6411ee6a3e8a51ec",
      "tree": "e177f48d54c9162877b58623669fd57d947a3827",
      "parents": [
        "684f14db591e9f23a6f27c04300497f56413da8d"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Wed Mar 18 08:19:23 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 08:19:23 2020 -0700"
      },
      "message": "Fix pyflakes for removal of ast.Param (#523)\n\n* Fix pyflakes for removal of ast.Param\r\n\r\n* Remove AugStore / AugLoad (not even used in py2)"
    },
    {
      "commit": "684f14db591e9f23a6f27c04300497f56413da8d",
      "tree": "301f81e9f71594b42ed0896ff654fe5750b508af",
      "parents": [
        "76416437ef22077b5e2949e78fa3000b3580e319"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Tue Mar 17 14:08:05 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 14:08:05 2020 -0700"
      },
      "message": "Be more cautious when identifying typing Literal (#517)\n\n"
    },
    {
      "commit": "76416437ef22077b5e2949e78fa3000b3580e319",
      "tree": "166bb5a59dd96ae521f5b47dfa6625af1e91bef6",
      "parents": [
        "ef3c5cb31e06e9f094294353c3c83a9decc0fe57"
      ],
      "author": {
        "name": "Peter Law",
        "email": "PeterJCLaw@gmail.com",
        "time": "Tue Mar 17 20:53:37 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 13:53:37 2020 -0700"
      },
      "message": "Fix quoted type annotations in unusual contexts (#516)\n\n* Extract a context manager for when we\u0027re in a annotation context\r\n\r\n* Detect quoted type annotations within typing.cast calls\r\n\r\n* Refactor typing name check\r\n\r\nThis will make it easier to detect an unspecified typing module\r\nmember as well as opening up other checks (such as testing for\r\none of a collection many members all in one go).\r\n\r\n* Detect quoted annotations within subscripts of typing classes\r\n\r\n* Add nested quoted test case (Callable)\r\n\r\n* Use a lambda here for clarity\r\n\r\nThis is slightly more usual than accessing a .__eq__ method and is\r\nmore obviously similar to the other usage of this helper."
    },
    {
      "commit": "ef3c5cb31e06e9f094294353c3c83a9decc0fe57",
      "tree": "d7486b3909b50ee9daf5d48529d90de01d6c5c29",
      "parents": [
        "598eb1695b03aca23dad10a833fb95e7ed7c7cee"
      ],
      "author": {
        "name": "sim-d",
        "email": "55174660+sim-d@users.noreply.github.com",
        "time": "Tue Mar 17 13:46:57 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 13:46:57 2020 -0700"
      },
      "message": "Deprecate optparse in favor of argparse (#499)\n\n* Deprecate optparse in favor of argparse\r\n\r\n* Support \u0027-V\u0027 as an alias for \u0027--version\u0027"
    },
    {
      "commit": "598eb1695b03aca23dad10a833fb95e7ed7c7cee",
      "tree": "9d1ccdcde73691d75b0dab8673c7d623f8a41c60",
      "parents": [
        "38ee6702ab5d46ae8de436300a85ff5d61ce9f9e"
      ],
      "author": {
        "name": "Peter Law",
        "email": "PeterJCLaw@gmail.com",
        "time": "Tue Mar 17 20:40:49 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 13:40:49 2020 -0700"
      },
      "message": "Add a check for if statement conditions which are non-empty tuples (#512)\n\n* Add a check for if statement conditions which are non-empty tuples\r\n\r\nWith the increasing prevalence of wrapping conditionals like:\r\n\r\n    if (\r\n        some_value !\u003d \u0027some_condition\u0027 and\r\n        other_value is not 42\r\n    )\r\n\r\nand for wrapping other constructs with trailing commas, like:\r\n\r\n    x \u003d (\r\n        some_value,\r\n        other_value,\r\n    )\r\n\r\nit becomes quite easy to accidentally combine these into a\r\nconditional statement which is actually always true:\r\n\r\n    if (\r\n        some_value !\u003d \u0027some_condition\u0027 and\r\n        other_value is not 42,\r\n    )\r\n\r\nThis commit introduces a check for such constructs.\r\n\r\n* Make this error message make sense\r\n\r\n* Further clarity this message\u0027s docstring\r\n\r\nCo-Authored-By: Ran Benita \u003cran234@gmail.com\u003e\r\n\r\nCo-authored-by: Ran Benita \u003cran234@gmail.com\u003e"
    },
    {
      "commit": "38ee6702ab5d46ae8de436300a85ff5d61ce9f9e",
      "tree": "8bb589cc83483bf4cde880a43e900eb6c3e12120",
      "parents": [
        "780bdcd6fe10f34f1b3eff1c255ca50ef3b94478"
      ],
      "author": {
        "name": "Peter Law",
        "email": "PeterJCLaw@gmail.com",
        "time": "Sat Mar 14 15:06:48 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 08:06:48 2020 -0700"
      },
      "message": "Clarify message docstring (#522)\n\nAs commented in https://github.com/PyCQA/pyflakes/pull/512#discussion_r392587730"
    },
    {
      "commit": "780bdcd6fe10f34f1b3eff1c255ca50ef3b94478",
      "tree": "500b9af1381baf19028f47b6fe7079f7dce1cc24",
      "parents": [
        "0af480e3351ae40b4ae7f3ce7272a46fd4265dbd"
      ],
      "author": {
        "name": "Peter Law",
        "email": "PeterJCLaw@gmail.com",
        "time": "Fri Mar 13 15:50:13 2020 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 13 08:50:13 2020 -0700"
      },
      "message": "Fix bug in async function scope checking (#511)\n\n* Fix bug in async function scope checking\r\n\r\nPreviously attempting to check an async function scoped tree would\r\nimmediately error because tuples are not callable.\r\n\r\nThe test added here is a direct copy of \u0027test_scope_function\u0027 as\r\nI\u0027m not sure what (if anything) should specifically be tested for\r\nasync functions, though it serves to prove the fix.\r\n\r\n* Skip async function test where it doesn\u0027t apply\r\n\r\n* Clarify that this is a smoke test for async function segments"
    },
    {
      "commit": "0af480e3351ae40b4ae7f3ce7272a46fd4265dbd",
      "tree": "5b681e114fcfadd4771425295b04fce08d269293",
      "parents": [
        "c9708a18a17fbf17e0d88c1d1675ac1a926c4565"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Feb 17 11:43:54 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 17 11:43:54 2020 -0800"
      },
      "message": "Warn about is comparison to tuple (#484)\n\n"
    },
    {
      "commit": "c9708a18a17fbf17e0d88c1d1675ac1a926c4565",
      "tree": "2c74f699b1988a0e7c89223e70f72e251f7ca8dc",
      "parents": [
        "4ed1ba41d1406dbb6c9ffbd369c2f523c2dc48f3"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Fri Feb 14 13:31:44 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 14 13:31:44 2020 -0800"
      },
      "message": "Fix false positive with partially quoted annotations (#479)\n\n"
    },
    {
      "commit": "4ed1ba41d1406dbb6c9ffbd369c2f523c2dc48f3",
      "tree": "2abe01fe784bb309c335281d916c1d95cff25b47",
      "parents": [
        "be88036019005b769596ca82fb7b82dfdffdca0f"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Fri Feb 07 13:36:12 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 07 13:36:12 2020 -0800"
      },
      "message": "Make pyflakes more resistant to syntax additions (#490)\n\n"
    },
    {
      "commit": "be88036019005b769596ca82fb7b82dfdffdca0f",
      "tree": "8bd491a05e0613aff1da04a49274c36c03e063cd",
      "parents": [
        "1911c203a13826d2eb03d582d60874b91e36f4fc"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Fri Jan 17 12:24:47 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 17 12:24:47 2020 -0800"
      },
      "message": "Fix annotation of posonlyarg (#508)\n\n"
    },
    {
      "commit": "1911c203a13826d2eb03d582d60874b91e36f4fc",
      "tree": "f21300c18a5780c907b5d4bcd6f06456d831d324",
      "parents": [
        "ffe938667e03b02ab8c1dfad98d30998e7d712ec"
      ],
      "author": {
        "name": "Batuhan Taşkaya",
        "email": "47358913+isidentical@users.noreply.github.com",
        "time": "Sun Nov 03 22:51:27 2019 +0300"
      },
      "committer": {
        "name": "Steven Myint",
        "email": "git@stevenmyint.com",
        "time": "Sun Nov 03 11:51:27 2019 -0800"
      },
      "message": "Allow continue inside finally in 3.8+ (#476)\n\n"
    },
    {
      "commit": "ffe938667e03b02ab8c1dfad98d30998e7d712ec",
      "tree": "faf65457873bcf204798dfe66140b307dd6f24a9",
      "parents": [
        "ee1eb0670a473a30f32208b7bd811282834486a6"
      ],
      "author": {
        "name": "Florian Dahlitz",
        "email": "f2dahlitz@freenet.de",
        "time": "Sat Oct 05 20:31:13 2019 +0200"
      },
      "committer": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sat Oct 05 11:31:13 2019 -0700"
      },
      "message": "fix test name typo (#478)\n\n"
    },
    {
      "commit": "ee1eb0670a473a30f32208b7bd811282834486a6",
      "tree": "61dbf551131dc6d401c4f7af118423a05730fe0e",
      "parents": [
        "5ed30a6b9e4b9c1bb4042e5c5b3b506e52133da4"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Sep 30 15:27:57 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 30 15:27:57 2019 -0700"
      },
      "message": "Allow @overload on async functions as well (#472)\n\n"
    },
    {
      "commit": "5ed30a6b9e4b9c1bb4042e5c5b3b506e52133da4",
      "tree": "07b943978b04f4d856d5605711eaaa77f3d4f906",
      "parents": [
        "1bc5292d03f861e7a8d8c0f32cbb1f1bbfeea9ca"
      ],
      "author": {
        "name": "Michael J. Sullivan",
        "email": "sully@msully.net",
        "time": "Sat Sep 28 14:03:58 2019 -0400"
      },
      "committer": {
        "name": "Steven Myint",
        "email": "git@stevenmyint.com",
        "time": "Sat Sep 28 11:03:58 2019 -0700"
      },
      "message": "Support typing_extensions.overload in addition to typing.overload (#466)\n\nThey are synonyms and typing_extensions.overloads works on 3.5.1."
    },
    {
      "commit": "1bc5292d03f861e7a8d8c0f32cbb1f1bbfeea9ca",
      "tree": "cb9551896b174a4703c5e38356b552b04c1e40f3",
      "parents": [
        "fa9812b71e506b5656d604c424224fc005fb3232"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Sat Sep 28 10:49:39 2019 -0700"
      },
      "committer": {
        "name": "Steven Myint",
        "email": "git@stevenmyint.com",
        "time": "Sat Sep 28 10:49:39 2019 -0700"
      },
      "message": "Adjust tests for different SyntaxError offsets for pypy7.1.1 (#468)\n\n"
    },
    {
      "commit": "fa9812b71e506b5656d604c424224fc005fb3232",
      "tree": "f007e8c9e9f6ca2013ebced1016e143d32c28744",
      "parents": [
        "e422e53042ada656f7a485f2d053dc1885193026"
      ],
      "author": {
        "name": "Steven Myint",
        "email": "git@stevenmyint.com",
        "time": "Mon Aug 12 06:06:53 2019 -0700"
      },
      "committer": {
        "name": "Ian Stapleton Cordasco",
        "email": "graffatcolmingov@gmail.com",
        "time": "Mon Aug 12 08:06:53 2019 -0500"
      },
      "message": "Remove unnecessary `else` (#439)\n\n"
    },
    {
      "commit": "e422e53042ada656f7a485f2d053dc1885193026",
      "tree": "2a6b23a0084af1738241908b0651334d1948d716",
      "parents": [
        "fa92556ca04214fbe292b3d007b34059e8490b5e"
      ],
      "author": {
        "name": "Anthony Sottile",
        "email": "asottile@umich.edu",
        "time": "Mon Aug 12 06:00:58 2019 -0700"
      },
      "committer": {
        "name": "Ian Stapleton Cordasco",
        "email": "graffatcolmingov@gmail.com",
        "time": "Mon Aug 12 08:00:58 2019 -0500"
      },
      "message": "Add support for PEP 572 assignment expressions (#457)\n\n"
    },
    {
      "commit": "fa92556ca04214fbe292b3d007b34059e8490b5e",
      "tree": "4fefa65f1352cc7d97ff2100cd0fe78a4967d993",
      "parents": [
        "cc2977ff8cbb0e2b668413a73a0c3a6a4b4f02e8"
      ],
      "author": {
        "name": "Michael J. Sullivan",
        "email": "sully@msully.net",
        "time": "Mon Aug 12 06:00:46 2019 -0700"
      },
      "committer": {
        "name": "Ian Stapleton Cordasco",
        "email": "graffatcolmingov@gmail.com",
        "time": "Mon Aug 12 08:00:46 2019 -0500"
      },
      "message": "In PEP 484 type comments, allow text after \"# type: ignore\" (#455)\n\n* In PEP 484 type comments, allow text after \"# type: ignore\"\r\n\r\nThis is to support allowing typecheckers to implement ignores for\r\nspecific errors, using syntax like `# type: ignore\u003dE1000` or\r\n`# type: ignore[type-mismatch` or some such.\r\nmypy is about to add support for ignoring specific errors following\r\nthis design: https://github.com/python/mypy/issues/7239\r\n\r\nSupport for extra text in type comments was implemented\r\nin CPython as https://bugs.python.org/issue36878\r\nand in typed_ast as https://github.com/python/typed_ast/pull/116.\r\n\r\n* add test back\r\n"
    },
    {
      "commit": "cc2977ff8cbb0e2b668413a73a0c3a6a4b4f02e8",
      "tree": "101ba345ae8d5baf4cf3e4447f696a84709688dd",
      "parents": [
        "ff442891ea6b1f663dae3ce91d871d2ab50cc68c"
      ],
      "author": {
        "name": "Peter Cock",
        "email": "p.j.a.cock@googlemail.com",
        "time": "Wed Aug 07 14:37:32 2019 +0100"
      },
      "committer": {
        "name": "Steven Myint",
        "email": "git@stevenmyint.com",
        "time": "Wed Aug 07 06:37:32 2019 -0700"
      },
      "message": "Fix RST markup of bullet point list (#459)\n\n"
    }
  ],
  "next": "ff442891ea6b1f663dae3ce91d871d2ab50cc68c"
}
