)]}'
{
  "log": [
    {
      "commit": "99fa708df2af1ab5ecde47968d71dc5b0447fc5d",
      "tree": "ea33f113b2d1d239cc58be7d35a3554c7df24620",
      "parents": [
        "688fbd2545944c9c36a0d08084e7c92642a81751"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Aug 03 17:07:10 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 03 09:07:10 2023 -0700"
      },
      "message": "Backport CPython PR 107584 (#275)\n\n"
    },
    {
      "commit": "688fbd2545944c9c36a0d08084e7c92642a81751",
      "tree": "e0250e2e956d52492b0a60a5c10cc9df40dafe9a",
      "parents": [
        "8dfa0a5dc31b298252d001304b9107be76e4de4c"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sun Jul 30 14:45:00 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 30 06:45:00 2023 -0700"
      },
      "message": "Revert \"Skip running `cattrs` tests on PyPy (#272)\" (#273)\n\nThis reverts commit 8dfa0a5dc31b298252d001304b9107be76e4de4c."
    },
    {
      "commit": "8dfa0a5dc31b298252d001304b9107be76e4de4c",
      "tree": "d3f344a7ab6377a1e1658f2f902a029c00abaae9",
      "parents": [
        "7bb3f3fca39d477b2bb04f64ff5ea2cc14383e51"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Tue Jul 18 16:14:51 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 18 17:14:51 2023 +0200"
      },
      "message": "Skip running `cattrs` tests on PyPy (#272)\n\nWorks around #271\r\n"
    },
    {
      "commit": "7bb3f3fca39d477b2bb04f64ff5ea2cc14383e51",
      "tree": "e0250e2e956d52492b0a60a5c10cc9df40dafe9a",
      "parents": [
        "8860c6a143c0a4b3bf6aa0103ca6afee7d0cd5b1"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jul 07 15:04:50 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 07 07:04:50 2023 -0700"
      },
      "message": "Fix third-party workflow (#269)\n\n"
    },
    {
      "commit": "8860c6a143c0a4b3bf6aa0103ca6afee7d0cd5b1",
      "tree": "300ef859b37832b322ae8235ec0715fbcddbf7a7",
      "parents": [
        "b518f6a64400fd5a25e5b72668370b9792ef9ae6"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Jul 06 21:05:49 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 06 13:05:49 2023 -0700"
      },
      "message": "Drop support for Python 3.7 (#267)\n\n"
    },
    {
      "commit": "b518f6a64400fd5a25e5b72668370b9792ef9ae6",
      "tree": "3bb4d9f579d02aad034e634a62baad0e773dd706",
      "parents": [
        "dcdc53f62ecbea8a0fc9a42f66746f970ab101bb"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun Jul 02 07:18:05 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 02 07:18:05 2023 -0700"
      },
      "message": "Prepare release 4.7.1 (#264)\n\n"
    },
    {
      "commit": "dcdc53f62ecbea8a0fc9a42f66746f970ab101bb",
      "tree": "801c019d455829850f25a07eacfc30c9a3f6c85b",
      "parents": [
        "bc9bc065f1837955fca2fff57b9e5fa04a2713cb"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sat Jul 01 20:34:30 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 01 12:34:30 2023 -0700"
      },
      "message": "Restore compatibility with PyPy \u003c3.9 (#262)\n\n"
    },
    {
      "commit": "bc9bc065f1837955fca2fff57b9e5fa04a2713cb",
      "tree": "9aab3c5e881d5e45f6db6d587432c99b87abefde",
      "parents": [
        "fc5243bc14071dbf65c92202a5239d66c35abcb2"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 30 15:11:15 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 30 07:11:15 2023 -0700"
      },
      "message": "Run some mypyc tests in the third-party workflow (#260)\n\nAdd some mypyc tests to the third-party workflow"
    },
    {
      "commit": "fc5243bc14071dbf65c92202a5239d66c35abcb2",
      "tree": "0a6c03c44be22da3c20e0214012e62406bea5733",
      "parents": [
        "b3ddcb6a94e7935166b3786ed0c1c54f1fc541b3"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 30 11:01:09 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 30 12:01:09 2023 +0200"
      },
      "message": "Run tests on more pypy versions in CI (#259)\n\n"
    },
    {
      "commit": "b3ddcb6a94e7935166b3786ed0c1c54f1fc541b3",
      "tree": "00e1016a90b28488624029c7e1616750a2b404b2",
      "parents": [
        "633d2e2942372848d8d7859cf71a569259dba9ee"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 29 00:15:52 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 29 00:15:52 2023 -0700"
      },
      "message": "Stop running third-party tests on 3.7 (#257)\n\n"
    },
    {
      "commit": "633d2e2942372848d8d7859cf71a569259dba9ee",
      "tree": "fde22a62402816dec9042d19adcb95cda5cba4b8",
      "parents": [
        "3193f90d18e50a19725ed47bb8fe586c234b9449"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed Jun 28 13:52:52 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 28 13:52:52 2023 -0700"
      },
      "message": "4.7.0 final (#255)\n\n"
    },
    {
      "commit": "3193f90d18e50a19725ed47bb8fe586c234b9449",
      "tree": "da199b32fea2ee55d88eed7fa11119beaed5ea92",
      "parents": [
        "e65b036661eb472a3682eca1ceb78eb57b21d200"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri Jun 23 08:24:35 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 23 08:24:35 2023 -0700"
      },
      "message": "CHANGELOG: Mention expected end of 3.7 support (#253)\n\n"
    },
    {
      "commit": "e65b036661eb472a3682eca1ceb78eb57b21d200",
      "tree": "bb75baf4c039247787596d42397a0d6aa6f5e0e5",
      "parents": [
        "e703629a339a670b44a3612f87bfa90a49c794f0"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 23 16:18:19 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 23 08:18:19 2023 -0700"
      },
      "message": "Backport CPython PR 105976 (#252)\n\n"
    },
    {
      "commit": "e703629a339a670b44a3612f87bfa90a49c794f0",
      "tree": "04227d693a5068549d6ac8b1bce2ec32c45b0b12",
      "parents": [
        "a65658fcbc0a86e529e1c46a4eaa5fee4f150607"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed Jun 21 08:46:02 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 21 17:46:02 2023 +0200"
      },
      "message": "README improvements (#250)\n\n- The mention of testing in the README (which is what appears on PyPI)\r\n  felt out of place. Replace it with a more general link to CONTRIBUTING.\r\n- Mention why typing-extensions is special.\r\n- Add discussion of stub files to CONTRIBUTING.\r\n"
    },
    {
      "commit": "a65658fcbc0a86e529e1c46a4eaa5fee4f150607",
      "tree": "9a88a8944f1ea9dd9890855e07dfda37009d9e74",
      "parents": [
        "e69eea0043237af911353a44bfa50d94821f2af5"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed Jun 21 08:10:24 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 21 08:10:24 2023 -0700"
      },
      "message": "Update CONTRIBUTING.md (#249)\n\n- Tell future me how to use twine\r\n- Start using GitHub releases. Somebody (forgot who) asked for this. The\r\n  advantage is that it gives a new channel to notify people about new releases."
    },
    {
      "commit": "e69eea0043237af911353a44bfa50d94821f2af5",
      "tree": "6cbaa5445b9588a57f6ff215a14008fad1449c96",
      "parents": [
        "cfd49f81b6adf2246b8b3e3f4d3933d19f8e3546"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed Jun 21 07:50:58 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 21 07:50:58 2023 -0700"
      },
      "message": "Release 4.7.0rc1 (#248)\n\n"
    },
    {
      "commit": "cfd49f81b6adf2246b8b3e3f4d3933d19f8e3546",
      "tree": "33b903adb38da2242ee6038c3a3a3481603d6fe1",
      "parents": [
        "fd1f8538dfc79e11ae9b46af96397a60c680e24c"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sat Jun 17 21:03:43 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 17 13:03:43 2023 -0700"
      },
      "message": "Document that `typing_extensions.Protocol` and `typing.Protocol` don\u0027t always play well together (#246)\n\n"
    },
    {
      "commit": "fd1f8538dfc79e11ae9b46af96397a60c680e24c",
      "tree": "d66ce7d29124aafcfc3087d9b9ba5a0f406af650",
      "parents": [
        "af89916a21b0b720b413e5618dd119f55c53f7b7"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sat Jun 17 14:41:08 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 17 06:41:08 2023 -0700"
      },
      "message": "Add a few more tests for interactions between `typing.Protocol` and `typing_extensions.Protocol` (#244)\n\n"
    },
    {
      "commit": "af89916a21b0b720b413e5618dd119f55c53f7b7",
      "tree": "9298d782bb5557589ad85754b029f0cc578c6ba3",
      "parents": [
        "bc9ce4f9a4e1f38f85fab58328e8dd86741dab45"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 16 17:05:57 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 16 09:05:57 2023 -0700"
      },
      "message": "Fix edge-case `Protocol` bug on Python 3.7 (#242)\n\n"
    },
    {
      "commit": "bc9ce4f9a4e1f38f85fab58328e8dd86741dab45",
      "tree": "86f5e37572e316f9cc9fc38261327f4536e3c1ec",
      "parents": [
        "38bb6e867be1331d708cddc0dbc9cef756f23224"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri Jun 16 08:15:21 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 16 08:15:21 2023 -0700"
      },
      "message": "Backport NamedTuple and TypedDict deprecations from Python 3.13 (#240)\n\n"
    },
    {
      "commit": "38bb6e867be1331d708cddc0dbc9cef756f23224",
      "tree": "b19341efbd8b5f5237bad7e58791d9ad2f2cec73",
      "parents": [
        "f9b83a235d28bf83f484520eb499e596e73fe45a"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri Jun 16 08:02:37 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 16 08:02:37 2023 -0700"
      },
      "message": "Add get_protocol_members and is_protocol (#238)\n\nCo-authored-by: Alex Waygood \u003cAlex.Waygood@Gmail.com\u003e"
    },
    {
      "commit": "f9b83a235d28bf83f484520eb499e596e73fe45a",
      "tree": "acc3f335e6d4cfe4768ad3e0ffa62bb0afc18b80",
      "parents": [
        "890a03eaa1ffcdf6c094b991e404badb9caf35bc"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Jun 14 13:36:16 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 14 05:36:16 2023 -0700"
      },
      "message": "Allow typing_extensions.Protocol and typing.Protocol to mix (#237)\n\nFixes #236\r\n\r\nCo-authored-by: Jelle Zijlstra \u003cjelle.zijlstra@gmail.com\u003e"
    },
    {
      "commit": "890a03eaa1ffcdf6c094b991e404badb9caf35bc",
      "tree": "c44457ca13ee328019c88cf2ef8012a99d72a4af",
      "parents": [
        "a12832998e87c49ec083710f0e776d35b0852451"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon Jun 12 17:43:53 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 18:43:53 2023 +0200"
      },
      "message": "Unskip typeguard tests in the third-party workflow (#235)\n\n"
    },
    {
      "commit": "a12832998e87c49ec083710f0e776d35b0852451",
      "tree": "6b215be17f15ffe26fe495c89943de435bfe0333",
      "parents": [
        "f78d8a102eb61ffd996da0688dab81e91aaaa0aa"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon Jun 12 01:56:35 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 11 17:56:35 2023 -0700"
      },
      "message": "Revert \"Skip cattrs tests on 3.8\" (#234)\n\nRevert \"Skip cattrs tests on 3.8 (#231)\"\r\n\r\nThis reverts commit f78d8a102eb61ffd996da0688dab81e91aaaa0aa."
    },
    {
      "commit": "f78d8a102eb61ffd996da0688dab81e91aaaa0aa",
      "tree": "30a3bbb5b57c7231748897894391ec23c725d638",
      "parents": [
        "520dcd1e2ac32d332d08345d5459ca3bde76a98b"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sun Jun 11 11:16:29 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 11 12:16:29 2023 +0200"
      },
      "message": "Skip cattrs tests on 3.8 (#231)\n\nTemporary workaround for the the failures in #230."
    },
    {
      "commit": "520dcd1e2ac32d332d08345d5459ca3bde76a98b",
      "tree": "6b215be17f15ffe26fe495c89943de435bfe0333",
      "parents": [
        "a2c6c887775adf1bda33fdc91722e6937bac7415"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri Jun 09 07:46:21 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 09 07:46:21 2023 -0700"
      },
      "message": "Re-export all names from typing (#196)\n\n* Re-export all names from typing\r\n\r\nFixes #50.\r\n\r\nI decided to exclude top-level names that have a definite removal\r\ntimeline (io, re, ByteString); there\u0027s no point in re-exporting them\r\nnow.\r\n\r\nMany other names are deprecated without a definite removal plan\r\n(PEP 585). If they do get removed eventually, typing-extensions can\r\nsimply re-export the builtin/collections.abc names.\r\n\r\nIn the documentation, I add a separate section listing all the names\r\nthat are pure aliases for typing. This makes it easier to distinguish\r\nthe cases where there is something more interesting going on in\r\ntyping-extensions.\r\n\r\nCo-authored-by: Alex Waygood \u003cAlex.Waygood@Gmail.com\u003e\r\nCo-authored-by: Shantanu \u003c12621235+hauntsaninja@users.noreply.github.com\u003e"
    },
    {
      "commit": "a2c6c887775adf1bda33fdc91722e6937bac7415",
      "tree": "56f88e87e141018f7aa4169f6dd52f1894e3f62f",
      "parents": [
        "d8265618f2a32c1dff7b2a3594cd2842fb8b6828"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 09 15:39:09 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 09 07:39:09 2023 -0700"
      },
      "message": "Don\u0027t reimplement `runtime_checkable` on py38+ (#194)\n\n"
    },
    {
      "commit": "d8265618f2a32c1dff7b2a3594cd2842fb8b6828",
      "tree": "8ce7d043cbb8e12cd5b909dae0d603e1a94fe86a",
      "parents": [
        "da859745c9ee7e6f8adf20ddbf36b1d11f4614ea"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri Jun 09 07:34:01 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 09 07:34:01 2023 -0700"
      },
      "message": "Reimplement TypedDict in a similar way to Python (#191)\n\nCo-authored-by: Alex Waygood \u003cAlex.Waygood@Gmail.com\u003e"
    },
    {
      "commit": "da859745c9ee7e6f8adf20ddbf36b1d11f4614ea",
      "tree": "8be780cb345f3425da48da28174e361d0d9ecdd0",
      "parents": [
        "4773f276b8a9cc6242b10ae81ccd9dc958cd2c86"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Jun 08 12:51:46 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 08 13:51:46 2023 +0200"
      },
      "message": "Further deduplicate implementation of special forms (#229)\n\n"
    },
    {
      "commit": "4773f276b8a9cc6242b10ae81ccd9dc958cd2c86",
      "tree": "dc0f85d91f89a51ee6b1f03b3fd9c203aa612e46",
      "parents": [
        "4fcf36af79cb560539a25000a2b0561d6cd317ec"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Jun 08 12:04:06 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 08 13:04:06 2023 +0200"
      },
      "message": "Docs: Add a recipe for robust runtime introspection (#225)\n\n"
    },
    {
      "commit": "4fcf36af79cb560539a25000a2b0561d6cd317ec",
      "tree": "58ec8b15376dd4e9f132553f5fe69034e1cc8355",
      "parents": [
        "159a0a69d209dc5de618f6f74a823c07f0111139"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Jun 08 11:34:35 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 08 12:34:35 2023 +0200"
      },
      "message": "Reduce duplication in definitions of various special forms (#228)\n\n"
    },
    {
      "commit": "159a0a69d209dc5de618f6f74a823c07f0111139",
      "tree": "d54d78d7b35378d1ffd34dd3046da562e0987bc9",
      "parents": [
        "76c971e8d859310747ba8636a99c8d2e9d616f16"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Jun 08 10:56:50 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 08 11:56:50 2023 +0200"
      },
      "message": "Improve the cron-job workflows (#226)\n\n"
    },
    {
      "commit": "76c971e8d859310747ba8636a99c8d2e9d616f16",
      "tree": "0b625b0c432b645976a418a144dd771075e573a4",
      "parents": [
        "8a1ffe6277ed8a4edab40d70dfbfba8bbd25193a"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Jun 08 10:54:16 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 08 11:54:16 2023 +0200"
      },
      "message": "Backport some new `Protocol` tests from CPython (#227)\n\n"
    },
    {
      "commit": "8a1ffe6277ed8a4edab40d70dfbfba8bbd25193a",
      "tree": "e4958dd52122307825da2a8bbd5806879fec4c29",
      "parents": [
        "0363a6d51884017b8b1a77a0e38fe02327edeb14"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Jun 07 14:11:39 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 07 06:11:39 2023 -0700"
      },
      "message": "Fix pydantic tests (#224)\n\n"
    },
    {
      "commit": "0363a6d51884017b8b1a77a0e38fe02327edeb14",
      "tree": "9e12d8bc8f450186a0539b3989fa7e3412601447",
      "parents": [
        "afabbbdd6df2dfc76b06f91b3e1feffe7d046dbc"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon Jun 05 15:14:34 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 05 07:14:34 2023 -0700"
      },
      "message": "Backport recent fixes to `Protocol` from 3.12 (#218)\n\n"
    },
    {
      "commit": "afabbbdd6df2dfc76b06f91b3e1feffe7d046dbc",
      "tree": "feada74d5c6777f786b235f6b9ff4ab430eafba2",
      "parents": [
        "ed09c9f4b8222a79810ec89c02ba50e72ec59604"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon Jun 05 10:48:01 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 05 11:48:01 2023 +0200"
      },
      "message": "Allow Protocols to inherit from typing_extensions.Buffer or collections.abc.Buffer (#220)\n\n"
    },
    {
      "commit": "ed09c9f4b8222a79810ec89c02ba50e72ec59604",
      "tree": "b7a1ebc8d308b0704e0365a5875995545ffcc596",
      "parents": [
        "7c4bc2e883f1ae3b35d7575317de935ec813b92d"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sun Jun 04 14:12:47 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 04 06:12:47 2023 -0700"
      },
      "message": "Remove some unnecessary `exec()`s in the test suite (#219)\n\n"
    },
    {
      "commit": "7c4bc2e883f1ae3b35d7575317de935ec813b92d",
      "tree": "f2304cb480a1675ea36961421eb0e4455ae93e03",
      "parents": [
        "d95cc228ea96feec105592a9902e5b2d6cc048a9"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sat Jun 03 12:03:21 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 03 04:03:21 2023 -0700"
      },
      "message": "Skip `cattrs` tests on 3.7 (#214)\n\nTemporary workaround for #213 until the tests pass on 3.7 again"
    },
    {
      "commit": "d95cc228ea96feec105592a9902e5b2d6cc048a9",
      "tree": "ee928033ee5b848c81e95796acc230ec7e2bfb79",
      "parents": [
        "0f9fb788f94f2e77e3d1c01e27b8bcf02382e427"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri Jun 02 03:05:52 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 02 12:05:52 2023 +0200"
      },
      "message": "Fix tests on Python 3.13, add note on TypedDict kwargs (#212)\n\nFixes #204"
    },
    {
      "commit": "0f9fb788f94f2e77e3d1c01e27b8bcf02382e427",
      "tree": "528ba420ea84aff18083007ddb37e13f2ad89705",
      "parents": [
        "aaaa807797b9a4d8a60de4bd7ea594d77499744c"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri Jun 02 03:04:15 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 02 12:04:15 2023 +0200"
      },
      "message": "Document how to run tests (#211)\n\n"
    },
    {
      "commit": "aaaa807797b9a4d8a60de4bd7ea594d77499744c",
      "tree": "a6e7b1c131f121060307a0e8b598bfde7a664b7a",
      "parents": [
        "68ee133748aec8c13c91c8c7440c8a970931acaf"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:56:59 2023 -0700"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:56:59 2023 -0700"
      },
      "message": "Fixup changelog\n"
    },
    {
      "commit": "68ee133748aec8c13c91c8c7440c8a970931acaf",
      "tree": "21818ca497f4b04e7bd70721609cc9910206030e",
      "parents": [
        "f9d21b1aaaed1e0eacd12acda1c6d665a87a25e8",
        "c57333b77603298e2d79fdaf7632e09e40d11f54"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:56:16 2023 -0700"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:56:16 2023 -0700"
      },
      "message": "Merge branch \u0027463\u0027\n"
    },
    {
      "commit": "c57333b77603298e2d79fdaf7632e09e40d11f54",
      "tree": "e38c8db72bac0d1c2982050d63e6b9ebcaf2ddc4",
      "parents": [
        "22c0e70f34e9feffc0c04b8cb213a5d3f4dbbdec"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:39:37 2023 -0700"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:39:37 2023 -0700"
      },
      "message": "Update version to 4.6.3\n"
    },
    {
      "commit": "22c0e70f34e9feffc0c04b8cb213a5d3f4dbbdec",
      "tree": "ef538f08017f2ba1ea2957c59652e7d8295f8fc0",
      "parents": [
        "b8a2ece6c09ed72e962b5b4a2166262c5b3190d2"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 02 00:35:00 2023 +0100"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:37:58 2023 -0700"
      },
      "message": "Backport CPython PR 105152 (#208)\n\n"
    },
    {
      "commit": "b8a2ece6c09ed72e962b5b4a2166262c5b3190d2",
      "tree": "92d555e0a11b28c9b6fa8d431e4e6bc601008b54",
      "parents": [
        "b0be88cdede662b1404e7ba52d6a55d1bf1fefff"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 02 00:31:35 2023 +0100"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:37:58 2023 -0700"
      },
      "message": "Third-party tests: cattrs has switched to pdm (#209)\n\n"
    },
    {
      "commit": "b0be88cdede662b1404e7ba52d6a55d1bf1fefff",
      "tree": "9665a43b724982fba2d45520c4d6cfa649530960",
      "parents": [
        "32887d3315326a6cfeb7b710f379328345209cec"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed May 31 19:29:56 2023 +0100"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:37:58 2023 -0700"
      },
      "message": "Add a cron job for testing third-party users of typing_extensions (#206)\n\nCo-authored-by: Jelle Zijlstra \u003cjelle.zijlstra@gmail.com\u003e\r\nCo-authored-by: Sebastian Rittau \u003csrittau@rittau.biz\u003e"
    },
    {
      "commit": "32887d3315326a6cfeb7b710f379328345209cec",
      "tree": "0109b4afa3d6bec26cddac8f3450c654e3f3bbdc",
      "parents": [
        "252a4a4f52d498019774f0cedd21bccaa19d0d65"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri May 26 23:12:31 2023 -0700"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:37:58 2023 -0700"
      },
      "message": "Sync LICENSE with CPython (#205)\n\n"
    },
    {
      "commit": "252a4a4f52d498019774f0cedd21bccaa19d0d65",
      "tree": "28ddef65f3788ec70f6f6c1e035e99ce64092222",
      "parents": [
        "3c630b92b2a0ef1aa2910a0b7b496e9093f1241b"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri May 26 11:50:44 2023 -0700"
      },
      "committer": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu Jun 01 16:37:58 2023 -0700"
      },
      "message": "Add more detailed versioning policy (#197)\n\n"
    },
    {
      "commit": "f9d21b1aaaed1e0eacd12acda1c6d665a87a25e8",
      "tree": "001b08f6064f21f21be4b96e52ce3f8e7989a20a",
      "parents": [
        "cef8f0ed1ac803acac5b6201451b09538de15357"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 02 00:35:00 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 01 16:35:00 2023 -0700"
      },
      "message": "Backport CPython PR 105152 (#208)\n\n"
    },
    {
      "commit": "cef8f0ed1ac803acac5b6201451b09538de15357",
      "tree": "8fe8abf01cbfd75adde6ab9db04ceb0526586689",
      "parents": [
        "295705fd25ab2a20b5267977da32305cb6455ba5"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri Jun 02 00:31:35 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 01 16:31:35 2023 -0700"
      },
      "message": "Third-party tests: cattrs has switched to pdm (#209)\n\n"
    },
    {
      "commit": "295705fd25ab2a20b5267977da32305cb6455ba5",
      "tree": "d77855a5179b07effe4e8110b288f8a9c002afeb",
      "parents": [
        "bb75d261196aa6f520d1b80b373891c860ebb71b"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed May 31 19:29:56 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 31 11:29:56 2023 -0700"
      },
      "message": "Add a cron job for testing third-party users of typing_extensions (#206)\n\nCo-authored-by: Jelle Zijlstra \u003cjelle.zijlstra@gmail.com\u003e\r\nCo-authored-by: Sebastian Rittau \u003csrittau@rittau.biz\u003e"
    },
    {
      "commit": "bb75d261196aa6f520d1b80b373891c860ebb71b",
      "tree": "4c4674b43910000e249fa93a7bd429c81aeacba5",
      "parents": [
        "0d453f507d21197fcb2bb9a0a2b6fcbb816821c9"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri May 26 23:12:31 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 27 08:12:31 2023 +0200"
      },
      "message": "Sync LICENSE with CPython (#205)\n\n"
    },
    {
      "commit": "0d453f507d21197fcb2bb9a0a2b6fcbb816821c9",
      "tree": "f51fd9e0cf73af5c0f1516f32d3af1108f5b95dd",
      "parents": [
        "3e04a2dcffc837dc531e4a253d1a2c131cb4b994"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri May 26 11:50:44 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 26 20:50:44 2023 +0200"
      },
      "message": "Add more detailed versioning policy (#197)\n\n"
    },
    {
      "commit": "3e04a2dcffc837dc531e4a253d1a2c131cb4b994",
      "tree": "e35cfa0192d15aa5919a8d10ec53384df7da75ef",
      "parents": [
        "3c630b92b2a0ef1aa2910a0b7b496e9093f1241b"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Fri May 26 06:13:20 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 26 15:13:20 2023 +0200"
      },
      "message": "Support 3.12 (#173)\n\n"
    },
    {
      "commit": "3c630b92b2a0ef1aa2910a0b7b496e9093f1241b",
      "tree": "4cf9a43f2eaf0b553a1cca447c771a7cf5eb6355",
      "parents": [
        "06f73609ffea80780c9418af24daa624427a837d"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri May 26 13:29:23 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 26 05:29:23 2023 -0700"
      },
      "message": "Backport some new protocol tests from CPython (#202)\n\n"
    },
    {
      "commit": "06f73609ffea80780c9418af24daa624427a837d",
      "tree": "4d08115032e8bf539830d740c64679dee67760e7",
      "parents": [
        "5d51455cf9edfa06d629269274b2f128741300b4"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri May 26 11:29:06 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 26 12:29:06 2023 +0200"
      },
      "message": "Minor improvements to CI workflows (#201)\n\n- Use the new `allow-prereleases` key for `actions/setup-python`. If we set this to `true`, then we can just use `3.12` in our CI matrix, instead of `3.12-dev`. That means we won\u0027t have to worry about updating the matrix from `3.12-dev` to `3.12` when 3.12.0 comes out in the autumn; our CI will automatically start using the latest version of Python 3.12.\r\n- Colorise the output of flake8.\r\n- Don\u0027t bother upgrading pip in CI. It\u0027s not really necessary, and wastes a few seconds. Disable the \"you\u0027re using an older version of pip\" message instead, using the `PIP_DISABLE_PIP_VERSION_CHECK` environment variable."
    },
    {
      "commit": "5d51455cf9edfa06d629269274b2f128741300b4",
      "tree": "ea4d8cc7134361d3fdcf408b28e2369c6aa93e3a",
      "parents": [
        "e84f909f6a9e8e03ef444a3a3c7e506e8e3b19e4"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri May 26 11:02:11 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 26 12:02:11 2023 +0200"
      },
      "message": "Skip a problematic test on CPython 3.12.0b1 (#200)\n\n"
    },
    {
      "commit": "e84f909f6a9e8e03ef444a3a3c7e506e8e3b19e4",
      "tree": "9457f634a2aea01c5b273fd1c987cfe96e897f03",
      "parents": [
        "2912585d53130092a868f8109ce2739abf0a7f95"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu May 25 06:13:04 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 25 06:13:04 2023 -0700"
      },
      "message": "Prepare release 4.6.2 (#195)\n\n"
    },
    {
      "commit": "2912585d53130092a868f8109ce2739abf0a7f95",
      "tree": "3584397b94cb69b8ffda30cd2afaf2f49d8fbf5e",
      "parents": [
        "e7fe63f0673938e79078577cb749707aad3a2dea"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Thu May 25 05:46:22 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 25 05:46:22 2023 -0700"
      },
      "message": "Fix @deprecated on classes with only __new__ (#193)\n\n"
    },
    {
      "commit": "e7fe63f0673938e79078577cb749707aad3a2dea",
      "tree": "e4ee4c14cba4b0348adf62620e6d0782054cdd83",
      "parents": [
        "57aae6249dd3c068a7068fd11e7d67379a544acf"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Wed May 24 23:33:46 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 24 23:33:46 2023 -0700"
      },
      "message": "Add guidance on robust runtime use (#189)\n\n"
    },
    {
      "commit": "57aae6249dd3c068a7068fd11e7d67379a544acf",
      "tree": "3d80436ed1da63881e2d7ff8a4342578befc7184",
      "parents": [
        "f62fa3f37ce1949e8a536691b30c59c4889445eb"
      ],
      "author": {
        "name": "Maxim Martynov",
        "email": "martinov_m_s_@mail.ru",
        "time": "Wed May 24 13:42:58 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 24 12:42:58 2023 +0200"
      },
      "message": "Fix isinstance check for Generic classes on Python 3.7 (#188)\n\n"
    },
    {
      "commit": "f62fa3f37ce1949e8a536691b30c59c4889445eb",
      "tree": "16646ceb80d7cfc3c964f2bcc7a66ba159122ac1",
      "parents": [
        "88a7f68a21f2b14bfd944723a51e34d5a04f973a"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Tue May 23 20:04:34 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 23 20:04:34 2023 -0700"
      },
      "message": "Prepare release 4.6.1 (#186)\n\n"
    },
    {
      "commit": "88a7f68a21f2b14bfd944723a51e34d5a04f973a",
      "tree": "920989fb036803f97a03e3534c041a05cbf6bd21",
      "parents": [
        "b306e56bee23891332a4ddde66675c34d7c527f7"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed May 24 01:26:40 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 23 17:26:40 2023 -0700"
      },
      "message": "Have `Protocol` inherit from `typing.Generic` on 3.8+ (#184)\n\n"
    },
    {
      "commit": "b306e56bee23891332a4ddde66675c34d7c527f7",
      "tree": "f08d4042c1855d49fcad0a49cee0ea02dbd63118",
      "parents": [
        "356934ca69a223416a199c2b26c19315382738db"
      ],
      "author": {
        "name": "Xuehai Pan",
        "email": "XuehaiPan@outlook.com",
        "time": "Tue May 23 18:39:50 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 23 12:39:50 2023 +0200"
      },
      "message": "Clarify error message for non `@runtime_checkable` decorated protocols (#178)\n\n"
    },
    {
      "commit": "356934ca69a223416a199c2b26c19315382738db",
      "tree": "5201ac40da6879a5aa8545a8283e954c288d8323",
      "parents": [
        "8054a2945e48fc84263190d29c2b49b1e096b7ce"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Mon May 22 17:06:45 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 22 17:06:45 2023 -0700"
      },
      "message": "Prepare release 4.6.0 (#177)\n\n"
    },
    {
      "commit": "8054a2945e48fc84263190d29c2b49b1e096b7ce",
      "tree": "b7bb97d77c57447514b12ef3cb0a00c61953002f",
      "parents": [
        "773090f43cb4684fda67e3fcd0badf7abcd10ba9"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Tue May 23 00:21:02 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 22 16:21:02 2023 -0700"
      },
      "message": "Further simplify the implementations of the TypeVarLikes (#176)\n\n"
    },
    {
      "commit": "773090f43cb4684fda67e3fcd0badf7abcd10ba9",
      "tree": "73ef6787f1c065021d5369d5b21ab860f9e87483",
      "parents": [
        "bbfd0ccbe2265d771c6e7ec8454e5bbe051efd79"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Mon May 22 15:48:00 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 22 15:48:00 2023 -0700"
      },
      "message": "Remove __module__ assignment for TypeVar and friends (#175)\n\n"
    },
    {
      "commit": "bbfd0ccbe2265d771c6e7ec8454e5bbe051efd79",
      "tree": "80bc4871518a99ba7172481a5956f92b0521e3e5",
      "parents": [
        "88be907eebd0dcfb21f82254c9d80ae165278b73"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Mon May 22 08:01:09 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 22 08:01:09 2023 -0700"
      },
      "message": "Extend docs intro (#168)\n\n"
    },
    {
      "commit": "88be907eebd0dcfb21f82254c9d80ae165278b73",
      "tree": "1c9d360d91ccf2d50c3f4e9992e9f10c90e96d1a",
      "parents": [
        "9648c6ffb2a3fa07907d853c4d74d4894e9dd1ad"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon May 22 13:45:06 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 22 05:45:06 2023 -0700"
      },
      "message": "Improve the repr() of `_marker` (#174)\n\n"
    },
    {
      "commit": "9648c6ffb2a3fa07907d853c4d74d4894e9dd1ad",
      "tree": "a0519c9459cb3fc85be558901c57a1cfa966b200",
      "parents": [
        "f2fc4cb99a2980a228b99e3b447da09be0d31942"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun May 21 17:49:09 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 21 17:49:09 2023 -0700"
      },
      "message": "add infer_variance for ParamSpec (#172)\n\nFor compatibility with Python 3.12, which adds this undocumented\r\nparameter along with the existing covariant/contravariant ones.\r\nIntentionally leaving this undocumented: it\u0027s here in case we want\r\nto make variance on ParamSpec mean something later, but it currently\r\nhas no supported use.\r\n"
    },
    {
      "commit": "f2fc4cb99a2980a228b99e3b447da09be0d31942",
      "tree": "b09100b0625ba1fe3fdb9c32b2d064cd5011bef7",
      "parents": [
        "3534900201ed1c49c76633a73beea1a71c20900e"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun May 21 17:34:56 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 21 17:34:56 2023 -0700"
      },
      "message": "Add references to additional known limitations (#171)\n\n"
    },
    {
      "commit": "3534900201ed1c49c76633a73beea1a71c20900e",
      "tree": "6a8c40bc1072d32c9df6644da020c7d254e50227",
      "parents": [
        "52c53f83ffc94989d2e2b537047dd88b46de2279"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun May 21 16:15:02 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 21 16:15:02 2023 -0700"
      },
      "message": "Shorten README, link to docs page (#169)\n\n"
    },
    {
      "commit": "52c53f83ffc94989d2e2b537047dd88b46de2279",
      "tree": "7fc3d66ec3c0945287a29f774c921753f0debe38",
      "parents": [
        "024d465a38572e55a4174a7d7c0325c68f28f794"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon May 22 00:14:48 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 21 16:14:48 2023 -0700"
      },
      "message": "Slightly cleanup implementation of typevarlikes (#170)\n\n"
    },
    {
      "commit": "024d465a38572e55a4174a7d7c0325c68f28f794",
      "tree": "a6addf1737408a85ed89a49ba52c07dcbd39eca8",
      "parents": [
        "d03ea9b73f7b748a4c7d3c8d220220500070f354"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun May 21 15:41:20 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 21 15:41:20 2023 -0700"
      },
      "message": "Add documentation page for typing-extensions (#166)\n\nCo-authored-by: Alex Waygood \u003cAlex.Waygood@Gmail.com\u003e"
    },
    {
      "commit": "d03ea9b73f7b748a4c7d3c8d220220500070f354",
      "tree": "82a491580862e1b489bd1777f77a8c04061de350",
      "parents": [
        "cca17ebfd641fc3b681912789ad4cfe131daf2c5"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun May 21 05:40:28 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 21 05:40:28 2023 -0700"
      },
      "message": "Further 3.12 compatibility fixes (#164)\n\nMake our TypeAliasType behave exactly like the 3.12 one\r\n"
    },
    {
      "commit": "cca17ebfd641fc3b681912789ad4cfe131daf2c5",
      "tree": "f13fc32440d85b97fe8f17c7b95eb80de367f9a8",
      "parents": [
        "8b6582e26822ed4bd51f8ac8bd5ac0383626d137"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sun May 21 05:37:07 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 21 05:37:07 2023 -0700"
      },
      "message": "Bring over TypeVarTests from CPython (#165)\n\nI started out trying to backport python/cpython#104571, but\r\nrealized that it makes sense to backport CPython\u0027s whole TypeVarTests\r\nclass since we now have our own implementation of TypeVar.\r\n\r\nI dropped test_var_substitution and test_bad_var_substitution\r\nsince they rely on the internal __typing_subst__ method, and the\r\ntype substitution logic is generally very hard to get precisely\r\nthe same across versions.\r\n"
    },
    {
      "commit": "8b6582e26822ed4bd51f8ac8bd5ac0383626d137",
      "tree": "20ae9ff58c52726284f1511cde0f9c668493dfd8",
      "parents": [
        "09c1ed49509d3c0a963e5bfed50e4b941954810c"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sat May 20 16:29:41 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 20 16:29:41 2023 -0700"
      },
      "message": "Fix tests on Python 3.12 (#162)\n\nCo-authored-by: Alex Waygood \u003cAlex.Waygood@Gmail.com\u003e"
    },
    {
      "commit": "09c1ed49509d3c0a963e5bfed50e4b941954810c",
      "tree": "ba840b32abac06fcd1f2daa4c67e6cccbc2fb5df",
      "parents": [
        "40dbc09dbb01982f3ef58db05f38ba9d61cd19e9"
      ],
      "author": {
        "name": "Jelle Zijlstra",
        "email": "jelle.zijlstra@gmail.com",
        "time": "Sat May 20 16:24:05 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 20 16:24:05 2023 -0700"
      },
      "message": "Add TypeAliasType (#160)\n\nCo-authored-by: Sebastian Rittau \u003csrittau@rittau.biz\u003e\r\nCo-authored-by: Alex Waygood \u003cAlex.Waygood@Gmail.com\u003e"
    },
    {
      "commit": "40dbc09dbb01982f3ef58db05f38ba9d61cd19e9",
      "tree": "bc76d9d8383d42a94c2c782aee7ab53f5c331a78",
      "parents": [
        "dfe4889858cea9503797229a9dea1524f8f1e767"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri May 19 23:09:48 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 19 15:09:48 2023 -0700"
      },
      "message": "Backport changes to the repr of `typing.Unpack` that were made in Python 3.12 (#163)\n\n"
    },
    {
      "commit": "dfe4889858cea9503797229a9dea1524f8f1e767",
      "tree": "b5d880e2cbb5cffc3534251cd94a81a929a0635b",
      "parents": [
        "7e6a4c00175d382c33e14ac1724ef314cbd1e2ba"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Fri May 19 23:09:24 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 19 15:09:24 2023 -0700"
      },
      "message": "Backport some recent `Protocol` fixes from 3.12 (#161)\n\n"
    },
    {
      "commit": "7e6a4c00175d382c33e14ac1724ef314cbd1e2ba",
      "tree": "33db4d366863348bfcd17abb77bd6ebadae5745e",
      "parents": [
        "962936a9e4583d4d424ff85745e9aeb6cf4460ee"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon May 08 14:57:04 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 08 06:57:04 2023 -0700"
      },
      "message": "Backport `NewType` as it exists on py310+ (#157)\n\n"
    },
    {
      "commit": "962936a9e4583d4d424ff85745e9aeb6cf4460ee",
      "tree": "59e550b540fe56f2ff85732ee2dfd29f09c92f9e",
      "parents": [
        "d3719ac92b9f3045688e4b3d08f37c369a7b436c"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 26 14:34:45 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 26 13:34:45 2023 -0700"
      },
      "message": "State in README that we backport the 3.12 version of `Protocol`, `runtime_checkable` and various runtime-checkable protocols (#143)\n\n"
    },
    {
      "commit": "d3719ac92b9f3045688e4b3d08f37c369a7b436c",
      "tree": "ba479f7f1ce3e8f3567478e71559ae7cd0db90b0",
      "parents": [
        "48b685557e7f79a8dd5847c5f482390786f9c028"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 26 11:17:30 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 26 10:17:30 2023 -0700"
      },
      "message": "Add faster versions of various runtime-checkable protocols (#146)\n\n"
    },
    {
      "commit": "48b685557e7f79a8dd5847c5f482390786f9c028",
      "tree": "203fc3e054570ce452952c07b3c7b738bbe242e8",
      "parents": [
        "0273a6e37dc5abba5e3ff8c039249894d321642e"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 26 11:03:45 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 26 10:03:45 2023 -0700"
      },
      "message": "Add a backport of `types.get_original_bases` (#154)\n\nCo-authored-by: Jelle Zijlstra \u003cjelle.zijlstra@gmail.com\u003e"
    },
    {
      "commit": "0273a6e37dc5abba5e3ff8c039249894d321642e",
      "tree": "aee71defc63679c89d48167464e65a4d54142206",
      "parents": [
        "1f98818ddc3a7d6f724fe2323f102835f52f0eb0"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon Apr 24 16:24:36 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 24 15:24:36 2023 -0700"
      },
      "message": "README: Updates re NamedTuple and TypedDict (#155)\n\nFollowup to #150"
    },
    {
      "commit": "1f98818ddc3a7d6f724fe2323f102835f52f0eb0",
      "tree": "3ee2d5b22ea1d2d1b6c917cb11f9c7deb0f21ac9",
      "parents": [
        "0b8de38d8c9feda22550ea0d71c6cc0cffc89f42"
      ],
      "author": {
        "name": "Adrian Garcia Badaracco",
        "email": "1755071+adriangb@users.noreply.github.com",
        "time": "Mon Apr 24 13:33:52 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 24 12:33:52 2023 -0700"
      },
      "message": "Add __orig_bases__ to all TypedDict and NamedTuple (#150)\n\nCo-authored-by: AlexWaygood \u003calex.waygood@gmail.com\u003e\r\n"
    },
    {
      "commit": "0b8de38d8c9feda22550ea0d71c6cc0cffc89f42",
      "tree": "147ef750a877d4cc363525ad3004af6830307358",
      "parents": [
        "468a8415bd5fe284dd6440a1d4d3585c60d65e23"
      ],
      "author": {
        "name": "Nikita Sobolev",
        "email": "mail@sobolevn.me",
        "time": "Mon Apr 24 22:29:04 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 24 12:29:04 2023 -0700"
      },
      "message": "Backport tests of `Union` + `Literal` from CPython (#152)\n\n"
    },
    {
      "commit": "468a8415bd5fe284dd6440a1d4d3585c60d65e23",
      "tree": "8656b8b3525e072cb2abc55485224bae37f34be3",
      "parents": [
        "41a828801a60e8e20bd2d9b172b2e3fbd9604d87"
      ],
      "author": {
        "name": "Nikita Sobolev",
        "email": "mail@sobolevn.me",
        "time": "Mon Apr 24 14:40:17 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 24 04:40:17 2023 -0700"
      },
      "message": "Improve CI definitons (#153)\n\n"
    },
    {
      "commit": "41a828801a60e8e20bd2d9b172b2e3fbd9604d87",
      "tree": "3fcdc7a544f23e0473403733d03164e98aaa61af",
      "parents": [
        "fb37b2ee0ab56baf2dfd5df27aec0430435ba17f"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Sun Apr 23 15:57:36 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 23 14:57:36 2023 -0700"
      },
      "message": "Make tests pass on conda builds (#151)\n\n"
    },
    {
      "commit": "fb37b2ee0ab56baf2dfd5df27aec0430435ba17f",
      "tree": "fa2e489a56b7528475727029d648a411aa499a53",
      "parents": [
        "8bff0a36f3cd05236a4339e082915fd460d5a725"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 19 21:56:13 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 19 20:56:13 2023 -0700"
      },
      "message": "Reimplement `Literal` on Python \u003c\u003d3.10.0 (#148)\n\n"
    },
    {
      "commit": "8bff0a36f3cd05236a4339e082915fd460d5a725",
      "tree": "fca5aa3c1e7009aea30a6838858eda7b7144f068",
      "parents": [
        "501a00e4701185ec93220155a0caa3da71d327e8"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon Apr 17 12:02:33 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 17 11:02:33 2023 -0700"
      },
      "message": "Fix various things with `Literal` (#145)\n\n"
    },
    {
      "commit": "501a00e4701185ec93220155a0caa3da71d327e8",
      "tree": "3d246b5fa0a002129ec43e48d1d03b47bf8f6991",
      "parents": [
        "90c866b69c9bf887b056059727e0240c8b2f5d09"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Apr 13 15:41:48 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 13 07:41:48 2023 -0700"
      },
      "message": "Backport the ability to define `__init__` methods on Protocol classes (#142)\n\n"
    },
    {
      "commit": "90c866b69c9bf887b056059727e0240c8b2f5d09",
      "tree": "1d1d84e56efdc210eb89dd7a5df4654599532fcc",
      "parents": [
        "8e14ace53573edb360653b1df454d68da0b4a663"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Apr 13 14:32:25 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 13 15:32:25 2023 +0200"
      },
      "message": "Speedup `isinstance(3, typing_extensions.SupportsIndex)` by \u003e10x (#141)\n\n"
    },
    {
      "commit": "8e14ace53573edb360653b1df454d68da0b4a663",
      "tree": "fc264a73c59752cba2e87f9bef4b3ef7c1f1422b",
      "parents": [
        "6c9395698bb31650ad3d53348379f483ebef496d"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Thu Apr 13 00:35:35 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 16:35:35 2023 -0700"
      },
      "message": "Use `inspect.getattr_static` in `_ProtocolMeta.__instancecheck__` (#140)\n\n"
    },
    {
      "commit": "6c9395698bb31650ad3d53348379f483ebef496d",
      "tree": "59cefda1550a708ee707c92b7e66324a799b4d92",
      "parents": [
        "4dfc5c53325d95fa9faf842fa367b6c696c8c92c"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 12 18:07:21 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 10:07:21 2023 -0700"
      },
      "message": "Backport performance improvements to runtime-checkable protocols (#137)\n\n"
    },
    {
      "commit": "4dfc5c53325d95fa9faf842fa367b6c696c8c92c",
      "tree": "27b3225fbc84046295799421e676f737acc4ba98",
      "parents": [
        "31741e07fd32eb1d7f6e5f0e0f882da306838b4c"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 12 13:22:33 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 14:22:33 2023 +0200"
      },
      "message": "Remove flake8-noqa from test-requirements.txt (#138)\n\n"
    },
    {
      "commit": "31741e07fd32eb1d7f6e5f0e0f882da306838b4c",
      "tree": "6ff7c8554aab4b684b14ef1e5648981ffb24676f",
      "parents": [
        "7e998c28b9969dcc2bc13e84ea98a0bfa475b2ae"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 12 12:56:22 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 13:56:22 2023 +0200"
      },
      "message": "Backport test coverage improvements for runtime-checkable protocols (#136)\n\n"
    },
    {
      "commit": "7e998c28b9969dcc2bc13e84ea98a0bfa475b2ae",
      "tree": "9cc955843f361cf38e6b549d471549998b112287",
      "parents": [
        "25b09718c4125894242e4f5955a4f5f6cd57c91f"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 12 09:39:24 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 10:39:24 2023 +0200"
      },
      "message": "Fix issue when non runtime_protocol does not raise TypeError (#132)\n\nBackport of CPython PR 26067 (https://github.com/python/cpython/pull/26067)\r\n"
    },
    {
      "commit": "25b09718c4125894242e4f5955a4f5f6cd57c91f",
      "tree": "cdf8816f06edebf8c6eead6b72dc7f2a1a236e95",
      "parents": [
        "0fc655dcae9c7efeb592cce5cd5677a7be951e56"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Wed Apr 12 09:09:43 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 12 01:09:43 2023 -0700"
      },
      "message": "flake8 config: ignore W503 (#135)\n\n"
    },
    {
      "commit": "0fc655dcae9c7efeb592cce5cd5677a7be951e56",
      "tree": "5425a42af1b32afa49e2221e071d9f7eb2d68a41",
      "parents": [
        "ad8a08bec49b9d89ef32ef10307d438abedab2db"
      ],
      "author": {
        "name": "Alex Waygood",
        "email": "Alex.Waygood@Gmail.com",
        "time": "Mon Apr 10 16:53:15 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 08:53:15 2023 -0700"
      },
      "message": "Runtime-checkable protocol tests: Use `@runtime_checkable`, not `@runtime` (#134)\n\n"
    }
  ],
  "next": "ad8a08bec49b9d89ef32ef10307d438abedab2db"
}
