)]}'
{
  "log": [
    {
      "commit": "eb376f48333f755d73a38f27120a3bcbbfbe451c",
      "tree": "2853c5a10d3e85f486832752d2a4e8c6e31d42af",
      "parents": [
        "bee1c61bcc963e883cbdae3badcf874bbd36d2d8",
        "d1c2dddc4ee787147155d79173468d58ee950656"
      ],
      "author": {
        "name": "Sadaf Ebrahimi",
        "email": "sadafebrahimi@google.com",
        "time": "Thu Dec 19 08:08:31 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 19 08:08:31 2024 -0800"
      },
      "message": "Add janitors to the OWNERS file am: d1c2dddc4e\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/3423853\n\nChange-Id: Ic302d6f787af87a7e1e4ccb47b71522078b1132a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d1c2dddc4ee787147155d79173468d58ee950656",
      "tree": "2853c5a10d3e85f486832752d2a4e8c6e31d42af",
      "parents": [
        "bee1c61bcc963e883cbdae3badcf874bbd36d2d8"
      ],
      "author": {
        "name": "Sadaf Ebrahimi",
        "email": "sadafebrahimi@google.com",
        "time": "Wed Dec 18 20:35:25 2024 +0000"
      },
      "committer": {
        "name": "Sadaf Ebrahimi",
        "email": "sadafebrahimi@google.com",
        "time": "Wed Dec 18 20:35:25 2024 +0000"
      },
      "message": "Add janitors to the OWNERS file\n\nTest: TreeHugger\nChange-Id: If78a01be075b95b400cc5cfd7c2b9577f7f6fd86\n"
    },
    {
      "commit": "bee1c61bcc963e883cbdae3badcf874bbd36d2d8",
      "tree": "0bf4fcd0e3c03744c8f98622e1cee69689351244",
      "parents": [
        "302a7ae867433992115324df3fa78d0d62821ea9",
        "c11a92e157cf08d05f449e160ac66e65ce0e1086"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Wed Sep 21 22:28:40 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 21 22:28:40 2022 +0000"
      },
      "message": "Remove Python enables identical to global defaults. am: e391f2917a am: f8467dc917 am: cbe78367f3 am: fd7564a93a am: c11a92e157\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2221447\n\nChange-Id: Id462e921cab107d54092c8fd7864f80e35da2d80\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c11a92e157cf08d05f449e160ac66e65ce0e1086",
      "tree": "0bf4fcd0e3c03744c8f98622e1cee69689351244",
      "parents": [
        "9a90e4b6766dd5e121d0f22484edb31c857c23ba",
        "fd7564a93aef1262bb513780490ecc2634dfe2bb"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Wed Sep 21 22:25:29 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 21 22:25:29 2022 +0000"
      },
      "message": "Remove Python enables identical to global defaults. am: e391f2917a am: f8467dc917 am: cbe78367f3 am: fd7564a93a\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2221447\n\nChange-Id: I6d278ed18fb3a03ee00056dc1de4ae0ae0fe1d3c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fd7564a93aef1262bb513780490ecc2634dfe2bb",
      "tree": "0bf4fcd0e3c03744c8f98622e1cee69689351244",
      "parents": [
        "f4e8677e7c990aa321cdb97a3ead0f5ae4d2a251",
        "cbe78367f31a818daebbb6b2333acf634a0bc303"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Wed Sep 21 21:33:34 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 21 21:33:34 2022 +0000"
      },
      "message": "Remove Python enables identical to global defaults. am: e391f2917a am: f8467dc917 am: cbe78367f3\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2221447\n\nChange-Id: I5a2b2b44e1a515804db55f81049139cfbbe2d7c2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cbe78367f31a818daebbb6b2333acf634a0bc303",
      "tree": "0bf4fcd0e3c03744c8f98622e1cee69689351244",
      "parents": [
        "b23ac7d8c08dd159ab3060e65d62a6c003784683",
        "f8467dc91706abf04ddec319ed8afde531c37dec"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Tue Sep 20 17:44:56 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 20 17:44:56 2022 +0000"
      },
      "message": "Remove Python enables identical to global defaults. am: e391f2917a am: f8467dc917\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2221447\n\nChange-Id: Id7369084f785121e2af90ea26cbdef52c8335615\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f8467dc91706abf04ddec319ed8afde531c37dec",
      "tree": "0bf4fcd0e3c03744c8f98622e1cee69689351244",
      "parents": [
        "b23ac7d8c08dd159ab3060e65d62a6c003784683",
        "e391f2917ab732da31375fe5b984470159af0d0f"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Tue Sep 20 16:43:42 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 20 16:43:42 2022 +0000"
      },
      "message": "Remove Python enables identical to global defaults. am: e391f2917a\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2221447\n\nChange-Id: I7c80d02a24a39486a11c3f9f99c9ca3323b0ca29\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e391f2917ab732da31375fe5b984470159af0d0f",
      "tree": "0bf4fcd0e3c03744c8f98622e1cee69689351244",
      "parents": [
        "b23ac7d8c08dd159ab3060e65d62a6c003784683"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Tue Sep 20 01:28:13 2022 +0000"
      },
      "committer": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Tue Sep 20 01:28:13 2022 +0000"
      },
      "message": "Remove Python enables identical to global defaults.\n\nBug: 245854393\nTest: presubmit\nChange-Id: I6808f94ec5f27f2e4b06a0d0f69e63aeaf32188a\n"
    },
    {
      "commit": "302a7ae867433992115324df3fa78d0d62821ea9",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "4834fd973faebe6f52412ee09b1e33e0821a2051",
        "9a90e4b6766dd5e121d0f22484edb31c857c23ba"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 02:54:32 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 02:54:32 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b23ac7d8c0 am: f4e8677e7c am: 9a90e4b676\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: Idf063f0a478952204a44fc6e586f4791f5400d0d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4834fd973faebe6f52412ee09b1e33e0821a2051",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "5892e64289005ba56d798473ee6756cd369fc4c8",
        "dd6d64bdd4a419730d65e540b5ba04cb37a68492"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 02:54:17 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 02:54:17 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b53053cfeb am: deaf17dd80 am: dd6d64bdd4\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: I50dd2c8ae0f145763898861fe34043b5ec18a7ef\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5892e64289005ba56d798473ee6756cd369fc4c8",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "db14b44a052235490d1930bccea1a267fe47b524",
        "eeb35c7dc118a165fe40d4111edb20226d4d0edc"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 02:51:42 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 02:51:42 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b53053cfeb am: 78c857e2be am: eeb35c7dc1\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: Idd4afe38f5805a5cde88a31b2c94fba6d9782157\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9a90e4b6766dd5e121d0f22484edb31c857c23ba",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "dd6d64bdd4a419730d65e540b5ba04cb37a68492",
        "f4e8677e7c990aa321cdb97a3ead0f5ae4d2a251"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 02:25:39 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 02:25:39 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b23ac7d8c0 am: f4e8677e7c\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: I5fdd5eb7e564bd1033a69e541254301344b603b3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dd6d64bdd4a419730d65e540b5ba04cb37a68492",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "eeb35c7dc118a165fe40d4111edb20226d4d0edc",
        "deaf17dd802909058ce776da6bcbef2018202ff1"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 02:24:50 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 02:24:50 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b53053cfeb am: deaf17dd80\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: Id600861ac97bf2cfff4733ac57905d5b14e53da2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "eeb35c7dc118a165fe40d4111edb20226d4d0edc",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "d86104c6af12cb8be59adf49bb9eea3ae1425290",
        "78c857e2be2a39f701f55f77e3f8c21d468132bd"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 02:23:09 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 02:23:09 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b53053cfeb am: 78c857e2be\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: Iec0ab801fcb44bbe34347d8e800bffa6d0fdd8b9\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "db14b44a052235490d1930bccea1a267fe47b524",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "7d9374d0584d191586b55491ed82b2f9f4f51f8d",
        "e4819095405163a12bf42aeb40c1411a85216566"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 02:15:37 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 02:15:37 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: e481909540\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: I8baad91ef71d03e3de654104395cf4bddd04f5f4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f4e8677e7c990aa321cdb97a3ead0f5ae4d2a251",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "deaf17dd802909058ce776da6bcbef2018202ff1",
        "b23ac7d8c08dd159ab3060e65d62a6c003784683"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 01:57:12 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 01:57:12 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b23ac7d8c0\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: Ic9d509b49ee27ffa0563cc4597ebf163c857a352\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "deaf17dd802909058ce776da6bcbef2018202ff1",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "2ff8f0ccc6f33aef7f5416148456c815f60c4edf",
        "b53053cfebf25fb9b83c7af153171c38b97e2fd5"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 01:56:05 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 01:56:05 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b53053cfeb\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: I19eb986e90003f6d8979f2c1a0f3e5d029d8b417\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "78c857e2be2a39f701f55f77e3f8c21d468132bd",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "74f7961b1a483c22ac2679e24f98b15ee52e20a5",
        "b53053cfebf25fb9b83c7af153171c38b97e2fd5"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 01:55:54 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 01:55:54 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f am: b53053cfeb\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: Ibad871eeb68e57f31e4119f94061613ce10cceb5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b53053cfebf25fb9b83c7af153171c38b97e2fd5",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "c66143991397f0c5b55954a163745ec30a797f7e",
        "4745695a5f4f0e5c787b748f18ccd165914ede75"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 00:47:09 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 00:47:09 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: I028dbb5b23379ac1f7f99ccb588f8262c9caa759\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e4819095405163a12bf42aeb40c1411a85216566",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "2d58be716dbb2702c6f6be8007e8baa5e08115fb",
        "4745695a5f4f0e5c787b748f18ccd165914ede75"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 00:46:11 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 00:46:11 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: Ie4ccf67924012330b1665b3bec1863550dd979c6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b23ac7d8c08dd159ab3060e65d62a6c003784683",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "4f5f58f8d3952f36ca233cc8cf2bcb0b0d157de4",
        "4745695a5f4f0e5c787b748f18ccd165914ede75"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Jun 09 00:45:20 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 09 00:45:20 2022 +0000"
      },
      "message": "Add build files for pyserial am: 4745695a5f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/python/pyserial/+/18802649\n\nChange-Id: I3750b852de3d380a19d26d867f4cff95e23f5266\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4745695a5f4f0e5c787b748f18ccd165914ede75",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "742eee7094f68d65bc983cffb44711af22f38219"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue May 31 10:41:29 2022 -0700"
      },
      "committer": {
        "name": "Frank Feng",
        "email": "frankfeng@google.com",
        "time": "Wed Jun 08 15:26:07 2022 -0700"
      },
      "message": "Add build files for pyserial\n\nTest: presubmit\nBug: 234458076\nChange-Id: I729e28408f7f0eff6b60affd45d10f6616c56e9b\n"
    },
    {
      "commit": "7d9374d0584d191586b55491ed82b2f9f4f51f8d",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "471577e5188f42ee37a52963542d36893ac47b4c",
        "d86104c6af12cb8be59adf49bb9eea3ae1425290"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Wed Jun 01 17:17:47 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 01 17:17:47 2022 +0000"
      },
      "message": "Add build files for pyserial am: 60af8d6614 am: bbb64237a7 am: 4f5f58f8d3 am: 2ff8f0ccc6 am: d86104c6af\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2112264\n\nChange-Id: I81e92c758a7d0d7ebef8aaca4e40ec78eaa90ec9\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d86104c6af12cb8be59adf49bb9eea3ae1425290",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "74f7961b1a483c22ac2679e24f98b15ee52e20a5",
        "2ff8f0ccc6f33aef7f5416148456c815f60c4edf"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Wed Jun 01 16:47:27 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 01 16:47:27 2022 +0000"
      },
      "message": "Add build files for pyserial am: 60af8d6614 am: bbb64237a7 am: 4f5f58f8d3 am: 2ff8f0ccc6\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2112264\n\nChange-Id: Ie3c00d81732e7746827cc70f6ba0b25ce358d12a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2ff8f0ccc6f33aef7f5416148456c815f60c4edf",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "c66143991397f0c5b55954a163745ec30a797f7e",
        "4f5f58f8d3952f36ca233cc8cf2bcb0b0d157de4"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Wed Jun 01 16:26:58 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 01 16:26:58 2022 +0000"
      },
      "message": "Add build files for pyserial am: 60af8d6614 am: bbb64237a7 am: 4f5f58f8d3\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2112264\n\nChange-Id: I0923f4b9104c50548ac163e5564fa32ae2dc7d86\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4f5f58f8d3952f36ca233cc8cf2bcb0b0d157de4",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "742eee7094f68d65bc983cffb44711af22f38219",
        "bbb64237a78b1c1e7584d2d4c9267e2c3521a8ae"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Wed Jun 01 16:09:54 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 01 16:09:54 2022 +0000"
      },
      "message": "Add build files for pyserial am: 60af8d6614 am: bbb64237a7\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2112264\n\nChange-Id: Iea541c132da70138881e1e0e2d9e52267835d8b6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bbb64237a78b1c1e7584d2d4c9267e2c3521a8ae",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "cca8c1983cdfd0540592352a558d717fd826f157",
        "60af8d661405a091844f7869b485dab3c41847e4"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Wed Jun 01 15:44:56 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 01 15:44:56 2022 +0000"
      },
      "message": "Add build files for pyserial am: 60af8d6614\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2112264\n\nChange-Id: Iae73332fca3c4dea568df8af269a6d0da10d345d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "60af8d661405a091844f7869b485dab3c41847e4",
      "tree": "05a9c9635dc973c4dcae62be6f7ceb4c8a69f772",
      "parents": [
        "348b762da3a430415ce1f97e4dd72699cbd14aee"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue May 31 10:41:29 2022 -0700"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Tue May 31 23:36:59 2022 +0000"
      },
      "message": "Add build files for pyserial\n\nTest: presubmit\nBug: 234458076\nChange-Id: I729e28408f7f0eff6b60affd45d10f6616c56e9b\n"
    },
    {
      "commit": "471577e5188f42ee37a52963542d36893ac47b4c",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "a19d15fdea01dedf3ad95b96ae889703a710fed7",
        "74f7961b1a483c22ac2679e24f98b15ee52e20a5"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 04:59:54 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 04:59:54 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3 am: cca8c1983c am: ae372032e5 am: 742eee7094 am: c661439913 am: 74f7961b1a\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: Ic9d22aacf97ef63652a3ce448608ef6780b5d435\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a19d15fdea01dedf3ad95b96ae889703a710fed7",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "2d58be716dbb2702c6f6be8007e8baa5e08115fb"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 04:29:34 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 04:29:34 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3 am: cca8c1983c am: ae372032e5 am: 742eee7094 am: 2d58be716d\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: Ice6555930adaa52e39d3ccabf456f339b1906514\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "74f7961b1a483c22ac2679e24f98b15ee52e20a5",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "c66143991397f0c5b55954a163745ec30a797f7e"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 04:28:47 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 04:28:47 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3 am: cca8c1983c am: ae372032e5 am: 742eee7094 am: c661439913\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: I2cf7df3708f8676577998cf982ec96a91ce49893\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c66143991397f0c5b55954a163745ec30a797f7e",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "742eee7094f68d65bc983cffb44711af22f38219"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 04:06:23 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 04:06:23 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3 am: cca8c1983c am: ae372032e5 am: 742eee7094\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: I8d511e7445de9d38bffadfab5a1751b906a52ca4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2d58be716dbb2702c6f6be8007e8baa5e08115fb",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "742eee7094f68d65bc983cffb44711af22f38219"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 04:05:33 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 04:05:33 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3 am: cca8c1983c am: ae372032e5 am: 742eee7094\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: I5e85c5c767bb8f154c056479f4d8bc8aa15f5bac\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "742eee7094f68d65bc983cffb44711af22f38219",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "ae372032e548a62932af4baf0dbc1bf76a1a92ed"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 03:21:25 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 03:21:25 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3 am: cca8c1983c am: ae372032e5\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: I90be03890f44786f61e7c707a2f61ea6d4092de5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ae372032e548a62932af4baf0dbc1bf76a1a92ed",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "cca8c1983cdfd0540592352a558d717fd826f157"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 02:58:53 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 02:58:53 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3 am: cca8c1983c\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: I4b68cd6abc057304881d057d18ffaee88dd56106\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cca8c1983cdfd0540592352a558d717fd826f157",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "348b762da3a430415ce1f97e4dd72699cbd14aee"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Wed Apr 13 02:42:53 2022 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Apr 13 02:42:53 2022 +0000"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial am: 348b762da3\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/python/pyserial/+/2062572\n\nChange-Id: Iddfdc090cfe55fcd833539348033f7dc68437315\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "348b762da3a430415ce1f97e4dd72699cbd14aee",
      "tree": "ccea6f5053065778e64625fba99e6c03f374812f",
      "parents": [
        "1b7d0d0b6570fe4934000280618db8a92e75bef0",
        "9e3b4f364aa50bd62d3044ed0d5221bd42a1c1f4"
      ],
      "author": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Tue Apr 12 13:48:48 2022 -0700"
      },
      "committer": {
        "name": "frankfeng",
        "email": "frankfeng@google.com",
        "time": "Tue Apr 12 13:59:52 2022 -0700"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027 into pyserial\n\nBug: 228235300\nBug: 228457005\nTest: TH\n\nChange-Id: Ic7c3b0db59780c83ca9bffb2ad4b3dfbea0f8869\n"
    },
    {
      "commit": "1b7d0d0b6570fe4934000280618db8a92e75bef0",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Roman Yepishev",
        "email": "ryepishev@google.com",
        "time": "Wed Apr 06 21:53:13 2022 +0000"
      },
      "committer": {
        "name": "Roman Yepishev",
        "email": "ryepishev@google.com",
        "time": "Wed Apr 06 21:53:13 2022 +0000"
      },
      "message": "Initial empty repository\n"
    },
    {
      "commit": "9e3b4f364aa50bd62d3044ed0d5221bd42a1c1f4",
      "tree": "625b4a7f528c69c2857b7e0f14f3bcd9bf5e7605",
      "parents": [
        "bce419352b22b2605df6c2158f3e20a15b8061cb"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Sun May 23 00:02:32 2021 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Sun May 23 00:02:32 2021 +0200"
      },
      "message": "spy: option to write to log instead of file/stdout\n"
    },
    {
      "commit": "bce419352b22b2605df6c2158f3e20a15b8061cb",
      "tree": "0ab4ae8e5c228603a27cbffa7991eb907a2bb6ff",
      "parents": [
        "8813fb57ac2b51808b424323344305fdca286b23"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Fri May 14 00:44:29 2021 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Fri May 14 00:44:29 2021 +0200"
      },
      "message": "miniterm: make integration easier, add serial_instance argument\n"
    },
    {
      "commit": "8813fb57ac2b51808b424323344305fdca286b23",
      "tree": "51438c04263d0da3de69d948596e0a4d756fb5ca",
      "parents": [
        "05e437e1643a50870ed1ab3c283844d98521791b"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Fri May 14 00:38:24 2021 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Fri May 14 00:38:24 2021 +0200"
      },
      "message": "miniterm: fix escapes, F\u0027keys on win32\n"
    },
    {
      "commit": "05e437e1643a50870ed1ab3c283844d98521791b",
      "tree": "bf75e5dee39dd18f6e70f9bbf1ad4837fecc7fb6",
      "parents": [
        "62949cdb77cf26e1f2d093419ba5a34e8ceff76d"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Fri May 14 00:36:46 2021 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Fri May 14 00:36:46 2021 +0200"
      },
      "message": "docs: remove backslash in docs\n\nfixes #468\n"
    },
    {
      "commit": "62949cdb77cf26e1f2d093419ba5a34e8ceff76d",
      "tree": "ce08ec989dff4a6169e78973c3d235fa544340af",
      "parents": [
        "748f61a0c120d5f618a7bff7194530b7497ec717",
        "16b5a8b57adc68c9d0dc46fbadffeaacbb557cc6"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Thu May 13 22:44:07 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 13 22:44:07 2021 +0200"
      },
      "message": "Merge pull request #581 from jonathangjertsen/jonathan/read-until-doc-fix\n\ndocs: Add a note that the first argument to read_until was called `terminator` in previous versions"
    },
    {
      "commit": "748f61a0c120d5f618a7bff7194530b7497ec717",
      "tree": "38d6ca823a96af6432d254af4eb7f05105ff595f",
      "parents": [
        "bba13603a2e3df27793e2d46e949e09a66992cb6",
        "c75a0e0af0a507eec75759b61c8871c6ebdb6ff5"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Thu May 13 22:35:36 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 13 22:35:36 2021 +0200"
      },
      "message": "Merge pull request #580 from akiomik/patch-1\n\ndocs: Fix link to port_publisher.sh"
    },
    {
      "commit": "bba13603a2e3df27793e2d46e949e09a66992cb6",
      "tree": "e92edea69c86118dfabadad6fe78353ac3816098",
      "parents": [
        "0e7634747568547b8a7f9fd0c48ed74f16af4b23",
        "14259d654992e42452d9e0a33f26dd8dcfa7862c"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Thu May 13 22:34:12 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 13 22:34:12 2021 +0200"
      },
      "message": "Merge pull request #576 from pgrimaud/master\n\ndocs: fix typos"
    },
    {
      "commit": "16b5a8b57adc68c9d0dc46fbadffeaacbb557cc6",
      "tree": "152da9c7a6889921db6598fb44de96118909c623",
      "parents": [
        "0e7634747568547b8a7f9fd0c48ed74f16af4b23"
      ],
      "author": {
        "name": "Jonathan Reichelt Gjertsen",
        "email": "jonathan.gjertsen@disruptive-technologies.com",
        "time": "Sat May 08 15:45:38 2021 +0200"
      },
      "committer": {
        "name": "Jonathan Reichelt Gjertsen",
        "email": "jonathan.gjertsen@disruptive-technologies.com",
        "time": "Sat May 08 15:45:38 2021 +0200"
      },
      "message": "Add a note that the first argument to read_util was called `terminator` in previous versions\n"
    },
    {
      "commit": "c75a0e0af0a507eec75759b61c8871c6ebdb6ff5",
      "tree": "43577c113937f8bd2a351bda506d3211938da845",
      "parents": [
        "0e7634747568547b8a7f9fd0c48ed74f16af4b23"
      ],
      "author": {
        "name": "Akiomi Kamakura",
        "email": "akiomik@gmail.com",
        "time": "Tue May 04 02:20:57 2021 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 04 02:20:57 2021 +0900"
      },
      "message": "Fix invalid link in docs"
    },
    {
      "commit": "14259d654992e42452d9e0a33f26dd8dcfa7862c",
      "tree": "e92edea69c86118dfabadad6fe78353ac3816098",
      "parents": [
        "0e7634747568547b8a7f9fd0c48ed74f16af4b23"
      ],
      "author": {
        "name": "Pierre Grimaud",
        "email": "grimaud.pierre@gmail.com",
        "time": "Mon Apr 19 21:37:33 2021 +0200"
      },
      "committer": {
        "name": "Pierre Grimaud",
        "email": "grimaud.pierre@gmail.com",
        "time": "Mon Apr 19 21:37:33 2021 +0200"
      },
      "message": "docs: fix typos\n"
    },
    {
      "commit": "0e7634747568547b8a7f9fd0c48ed74f16af4b23",
      "tree": "a8c40b18a1c9812696cf1548bced5116a437b7bf",
      "parents": [
        "bc88b9250e9cd93aa56ed021ff2c4405f4c3875c"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Nov 23 04:53:27 2020 +0100"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Nov 23 04:53:27 2020 +0100"
      },
      "message": "chore: release 3.5\n"
    },
    {
      "commit": "bc88b9250e9cd93aa56ed021ff2c4405f4c3875c",
      "tree": "6f7c6d0a1cb866227f05d2835d30ae9da48c9894",
      "parents": [
        "54a6b00a7ce200755e0cde0fc3f2ae0dbc2e723a"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Nov 23 04:52:03 2020 +0100"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Nov 23 04:52:03 2020 +0100"
      },
      "message": "spy: ensure bytes in write()\n"
    },
    {
      "commit": "54a6b00a7ce200755e0cde0fc3f2ae0dbc2e723a",
      "tree": "1f378eff7001aed581d3cb148f2b62b15d32707f",
      "parents": [
        "fecd9310535db64f93f410c0d73a977bf7a14e9e",
        "f28543bee0b132b2977848159b4690bca86b05f0"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Thu Nov 19 03:07:52 2020 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 19 03:07:52 2020 +0100"
      },
      "message": "Merge pull request #540 from henzef/patch-1\n\nserialposix: Fix inconstent state after exception in open()"
    },
    {
      "commit": "fecd9310535db64f93f410c0d73a977bf7a14e9e",
      "tree": "4dcffc82c8d92118bc90fec6abf2894d3f098716",
      "parents": [
        "a376faeb3ef4d0c26636fdcc5cc72bc5bfa1f24b",
        "70a6b99fa5eff291bee88caedf1f418dfdd9d0ea"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Thu Nov 19 03:02:46 2020 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 19 03:02:46 2020 +0100"
      },
      "message": "Merge pull request #546 from chairman888/545-osx-use-iousbhostdevice-instead\n\nlist_ports_osx: getting USB info on BigSur/AppleSilicon"
    },
    {
      "commit": "a376faeb3ef4d0c26636fdcc5cc72bc5bfa1f24b",
      "tree": "014e89afcdcaf96a97df548daa686b781a30e2c0",
      "parents": [
        "78ee0c2a163c6858ada47c683bf60c487963f4f0",
        "096982d092178118126a97e467ec578e70ce4af2"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Thu Nov 19 03:00:23 2020 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 19 03:00:23 2020 +0100"
      },
      "message": "Merge pull request #542 from chairman888/509-osx-missing-kiomasterportdefault-on-bigsur\n\nlist_ports_osx: kIOMasterPortDefault no longer exported on Big Sur"
    },
    {
      "commit": "70a6b99fa5eff291bee88caedf1f418dfdd9d0ea",
      "tree": "08719bea0c44b5504a82c3bbd74e09fefdabf939",
      "parents": [
        "78ee0c2a163c6858ada47c683bf60c487963f4f0"
      ],
      "author": {
        "name": "Byron Han",
        "email": "han@apple.com",
        "time": "Tue Nov 17 16:57:57 2020 -0800"
      },
      "committer": {
        "name": "Byron Han",
        "email": "han@apple.com",
        "time": "Tue Nov 17 16:57:57 2020 -0800"
      },
      "message": "implement patch from oskay\n\tadded call to get IOUSBHostDevice before falling back to\n\tIOUSBDevice (which has been removed on Big Sur on Apple Silicon\n"
    },
    {
      "commit": "096982d092178118126a97e467ec578e70ce4af2",
      "tree": "014e89afcdcaf96a97df548daa686b781a30e2c0",
      "parents": [
        "78ee0c2a163c6858ada47c683bf60c487963f4f0"
      ],
      "author": {
        "name": "Byron Han",
        "email": "han@apple.com",
        "time": "Fri Nov 13 00:26:13 2020 -0800"
      },
      "committer": {
        "name": "Byron Han",
        "email": "han@apple.com",
        "time": "Fri Nov 13 00:26:13 2020 -0800"
      },
      "message": "fix issue 509 - kIOMasterPortDefault no longer exported on Big Sur, but can hardcode 0 instead\n"
    },
    {
      "commit": "f28543bee0b132b2977848159b4690bca86b05f0",
      "tree": "bb927d7e8eaa91e2fbcace513f3ca065699cd477",
      "parents": [
        "78ee0c2a163c6858ada47c683bf60c487963f4f0"
      ],
      "author": {
        "name": "Fabian Henze",
        "email": "32638720+henzef@users.noreply.github.com",
        "time": "Wed Nov 04 11:16:42 2020 +0100"
      },
      "committer": {
        "name": "Fabian Henze",
        "email": "fabian.henze@webfleet.com",
        "time": "Wed Nov 04 11:30:21 2020 +0000"
      },
      "message": "serialposix: Fix inconstent state after exception in open()\n\nIf an exception occured during _update_dtr_state(), the Serial object\nwas left in an inconsistant state: is_open\u003dTrue, but close() fails.\nThis patch fixes this by not setting is_open to True and by cleaning\nup the state if an exception occurs during open()\n"
    },
    {
      "commit": "78ee0c2a163c6858ada47c683bf60c487963f4f0",
      "tree": "c546982c469726f6a658159f5eb94866ebc96dfb",
      "parents": [
        "d867871e6aa333014a77498b4ac96fdd1d3bf1d8",
        "b3c01bf992c6ba9890de1d2a6e1d80d9ab36db5f"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Thu Oct 01 13:11:46 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 01 13:11:46 2020 +0200"
      },
      "message": "Merge pull request #530 from jrowberg/windows-serialnum-stability\n\nwin32: Fix exception for composite serial number search on Windows"
    },
    {
      "commit": "b3c01bf992c6ba9890de1d2a6e1d80d9ab36db5f",
      "tree": "c546982c469726f6a658159f5eb94866ebc96dfb",
      "parents": [
        "d867871e6aa333014a77498b4ac96fdd1d3bf1d8"
      ],
      "author": {
        "name": "Jeff Rowberg",
        "email": "jeff@rowberg.net",
        "time": "Wed Sep 30 16:19:27 2020 -0400"
      },
      "committer": {
        "name": "Jeff Rowberg",
        "email": "jeff@rowberg.net",
        "time": "Wed Sep 30 16:19:27 2020 -0400"
      },
      "message": "Fix exception for composite serial number search on Windows\n"
    },
    {
      "commit": "d867871e6aa333014a77498b4ac96fdd1d3bf1d8",
      "tree": "86b2dcd4af55a802dabdde7a294d9f82b6d4c9b6",
      "parents": [
        "6ae64c15c5722683f52e33930577d54f83446be9"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 03:10:01 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 03:10:01 2020 +0200"
      },
      "message": "chore: beta release 3.5b0\n"
    },
    {
      "commit": "6ae64c15c5722683f52e33930577d54f83446be9",
      "tree": "c9c3dd7cdf1f1dfd0f201f6a25124540ee5db07e",
      "parents": [
        "4e661141e8bb4becc1ad4470cc42fbb081dfbe39"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 02:38:31 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 02:38:31 2020 +0200"
      },
      "message": "setup: change entry points, update classifiers\n\nrelated to #466 #360\n"
    },
    {
      "commit": "4e661141e8bb4becc1ad4470cc42fbb081dfbe39",
      "tree": "dae8a546fcbb0f3c437ad1af67796cc44f6ae917",
      "parents": [
        "3e7e896bc3ccda033eb747056192858ba630156a"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 01:07:37 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 01:07:37 2020 +0200"
      },
      "message": "docs: add note on raspi UARTs\n"
    },
    {
      "commit": "3e7e896bc3ccda033eb747056192858ba630156a",
      "tree": "1829ed66efde29b8aa56a992cba4624d5b173672",
      "parents": [
        "8905abb978e3802cc35570120bc3da6a6395932a",
        "ca42ff25796472c57004dcf4db5d370517d6fafb"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 00:59:08 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 21 00:59:08 2020 +0200"
      },
      "message": "Merge pull request #495 from johannesacco/master\n\nlist_ports_linux: Correct \"interface\" property on Linux hosts"
    },
    {
      "commit": "8905abb978e3802cc35570120bc3da6a6395932a",
      "tree": "0f7ae3aab0e2053cee9b0c5b0690f52de95247c7",
      "parents": [
        "6fa82e1ad911d26fdfd37c19c491975609f4e39c"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 00:47:01 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 00:47:01 2020 +0200"
      },
      "message": "list_ports_linux: change debug code in main\n"
    },
    {
      "commit": "6fa82e1ad911d26fdfd37c19c491975609f4e39c",
      "tree": "f40719df8196d7e57f023f31df8e78b53501774f",
      "parents": [
        "aebbb388e73bb33791a5d542cbdf6dddfe798a85"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 00:44:45 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 21 00:44:45 2020 +0200"
      },
      "message": "docs: update copyright, notes, changelog\n"
    },
    {
      "commit": "aebbb388e73bb33791a5d542cbdf6dddfe798a85",
      "tree": "66dd240412c7466821b297b462dc83b482555c99",
      "parents": [
        "19ec51cd63616c3fd14b481bd05a78f07704adc1"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Wed Sep 16 14:02:11 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Wed Sep 16 14:02:11 2020 +0200"
      },
      "message": "miniterm: add CTRL+T Q as alternative to exit\n\nthe default exit key is sometimes difficult to type\nproviding a menu command to exit is easy enough\n\n#524\n"
    },
    {
      "commit": "19ec51cd63616c3fd14b481bd05a78f07704adc1",
      "tree": "a43553ddecac63718adae3fbaa6b066a9092c4b5",
      "parents": [
        "690a8d0992c6374c1892308ea798acc379c736f6"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Wed Sep 16 11:16:11 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Wed Sep 16 11:16:11 2020 +0200"
      },
      "message": "list_ports: use hardcoded path to library on osx\n\ndue to a security related change on MacOS, find_library fails. which may\neventually be fixed with a Python update\nbut it also does not hurt to use the full paths\nnow, that should work on old and new systems.\n\nrelated to #509 #518\n"
    },
    {
      "commit": "690a8d0992c6374c1892308ea798acc379c736f6",
      "tree": "18fac5e562b76747133b298ba51fc4fe6297532d",
      "parents": [
        "9da0f0f4c4d214331e531c4939d2b6b46dab6725"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Tue Sep 15 04:40:47 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Tue Sep 15 04:40:47 2020 +0200"
      },
      "message": "docs: update CHANGES\n"
    },
    {
      "commit": "9da0f0f4c4d214331e531c4939d2b6b46dab6725",
      "tree": "20f3806820026894e049d4c52e0ed7fee23f1151",
      "parents": [
        "c1cd16ededb0d9e163209803f4b0f429dbf06753"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Tue Sep 15 01:23:11 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Tue Sep 15 01:23:11 2020 +0200"
      },
      "message": "examples: refactor wx example, use Bind to avoid deprecated warnings, IsChecked, unichr\n\n- wxTerminal: update event handling. sending still with issues, only sending capital letters\n\nfixes #443\nfixes #444\n"
    },
    {
      "commit": "c1cd16ededb0d9e163209803f4b0f429dbf06753",
      "tree": "becdfcc1144e998e9a5c848461f633385507dc4e",
      "parents": [
        "fd095194d765438fd20c30d67805a260d95d1d5f"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 22:53:50 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 22:53:50 2020 +0200"
      },
      "message": "loop: add out_waiting\n\ncloses #408\n"
    },
    {
      "commit": "fd095194d765438fd20c30d67805a260d95d1d5f",
      "tree": "3b1160e8d1fc627547b0ce389b9edc933d410a6a",
      "parents": [
        "0dbc2e5f96a443bca7748bb6b22bca65b90285af"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 20:55:59 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 20:55:59 2020 +0200"
      },
      "message": "win32: extend RS485 error messages\n\nfixes #481\n"
    },
    {
      "commit": "0dbc2e5f96a443bca7748bb6b22bca65b90285af",
      "tree": "6f3b00a75dd7dbdc78c4723896d176cab79b344c",
      "parents": [
        "1a9f0c9d319e3c038873d926277c09eb43f39bd3"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 06:51:11 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 06:51:11 2020 +0200"
      },
      "message": "miniterm: fix double use of CTRL-T + s\n\nuse z for suspend instead\n\nfixes #497\n"
    },
    {
      "commit": "1a9f0c9d319e3c038873d926277c09eb43f39bd3",
      "tree": "8bf5a80a034613e193f0853ef6d09ae8061c6cad",
      "parents": [
        "e43a771f42eeffbedd303c9f5abb6b97cdd24d83",
        "035053d61d3fc54a71914fd77da22e75b2779c26"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 05:39:36 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 05:39:36 2020 +0200"
      },
      "message": "Merge pull request #351 from cefn/master\n\nwin32: Working CMD.exe terminal using Windows 10 ANSI support"
    },
    {
      "commit": "e43a771f42eeffbedd303c9f5abb6b97cdd24d83",
      "tree": "66d0c9f8579ae6d480996b14780303cc9bac7bae",
      "parents": [
        "f47bb605afe868c471f7765cb3c428e1c0bfa2cc",
        "0085e1e1d55f6a5376e06ed5ff679b7c0f66b202"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 05:26:23 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 05:26:23 2020 +0200"
      },
      "message": "Merge pull request #519 from tim-nordell-nimbelink/master\n\nposix: Fix custom baud rate to not temporarily set 38400 baud rates on linux"
    },
    {
      "commit": "f47bb605afe868c471f7765cb3c428e1c0bfa2cc",
      "tree": "2954657926b8534bed208943600f89655e652a6a",
      "parents": [
        "9e9bcebc6dc6730e77c6290215ea3c449d5e453e",
        "5d2c1091d71c3e3c14690e63c120cd082f8db48b"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 05:08:20 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 05:08:20 2020 +0200"
      },
      "message": "Merge pull request #510 from SConaway/patch-1\n\ndocs: Fix tiny typo in docs"
    },
    {
      "commit": "9e9bcebc6dc6730e77c6290215ea3c449d5e453e",
      "tree": "a87e90fd94fb61d7b1c1922ef7f2ea680933a71c",
      "parents": [
        "e99bda36b6f93b1a4232a96c9927e75aebd31580",
        "b92365a082b659459db78bc8b6fb509eb6737e8d"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 04:07:55 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 04:07:55 2020 +0200"
      },
      "message": "Merge pull request #494 from kalvdans/dont-catch-our-own-exception\n\nposix: Don\u0027t catch the SerialException we just raised"
    },
    {
      "commit": "e99bda36b6f93b1a4232a96c9927e75aebd31580",
      "tree": "edfc97b55054a6aa911d923baf229d9f7f86f92d",
      "parents": [
        "4573c3165ed130c7bfaa786b263cd27ea72e0529"
      ],
      "author": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 03:59:52 2020 +0200"
      },
      "committer": {
        "name": "Chris Liechti",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 03:59:52 2020 +0200"
      },
      "message": "refactor: raise new instances for PortNotOpenError and SerialTimeoutException\n\nrelated to #502\nfixes #437\n"
    },
    {
      "commit": "4573c3165ed130c7bfaa786b263cd27ea72e0529",
      "tree": "b53b1e18dc83b49cc35dd38f028bc047942ab376",
      "parents": [
        "3a6ae5a630589a29af8d8bd45616d7aadb2fb3db",
        "9b2ad1fd67d7b7a0ea72713799dac38a9c4a05d1"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Mon Sep 14 00:47:38 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 14 00:47:38 2020 +0200"
      },
      "message": "Merge pull request #500 from WisdomPill/dropping_older_python\n\nchore: Dropping python 3.2 and 3.3"
    },
    {
      "commit": "0085e1e1d55f6a5376e06ed5ff679b7c0f66b202",
      "tree": "8a9f786d55feb7276799200610692abeb3fef90f",
      "parents": [
        "3a6ae5a630589a29af8d8bd45616d7aadb2fb3db"
      ],
      "author": {
        "name": "Tim Nordell",
        "email": "tim.nordell@nimbelink.com",
        "time": "Fri Aug 21 15:20:44 2020 -0500"
      },
      "committer": {
        "name": "Tim Nordell",
        "email": "tim.nordell@nimbelink.com",
        "time": "Fri Aug 21 15:35:49 2020 -0500"
      },
      "message": "linux: Fix custom baud rate to not temporarily set 38400 baud rates\n\nWhen using a custom baud rate on Linux these lines of code caused it\nto push a 38400 baud rate setting down into the serial driver (even\nif temporarily).  It would correct this moments later, but we can\nsimply set the BOTHER value at this point.  If other platforms have\na different default value for ispeed and ospeed when using a custom baud\nrate, they can define BOTHER as well.\n"
    },
    {
      "commit": "5d2c1091d71c3e3c14690e63c120cd082f8db48b",
      "tree": "07ab65819c6d147e6025e9f65012cf43a2096459",
      "parents": [
        "3a6ae5a630589a29af8d8bd45616d7aadb2fb3db"
      ],
      "author": {
        "name": "Steven Conaway",
        "email": "steven.conaway@icloud.com",
        "time": "Sat Jun 27 15:47:32 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 27 15:47:32 2020 -0700"
      },
      "message": "Fix tiny typo in docs"
    },
    {
      "commit": "9b2ad1fd67d7b7a0ea72713799dac38a9c4a05d1",
      "tree": "b53b1e18dc83b49cc35dd38f028bc047942ab376",
      "parents": [
        "3a6ae5a630589a29af8d8bd45616d7aadb2fb3db"
      ],
      "author": {
        "name": "Anas",
        "email": "anas.el.amraoui@live.com",
        "time": "Fri Apr 17 10:45:18 2020 +0300"
      },
      "committer": {
        "name": "Anas",
        "email": "anas.el.amraoui@live.com",
        "time": "Fri Apr 17 10:45:18 2020 +0300"
      },
      "message": "Added .idea to .gitignore and dropped python 3.2 and 3.3\n"
    },
    {
      "commit": "ca42ff25796472c57004dcf4db5d370517d6fafb",
      "tree": "eb2489370974c94032908c99434c59234cfa203f",
      "parents": [
        "3a6ae5a630589a29af8d8bd45616d7aadb2fb3db"
      ],
      "author": {
        "name": "Johannes Carlsson",
        "email": "johannes.carlsson@acconeer.com",
        "time": "Mon Mar 30 13:58:04 2020 +0200"
      },
      "committer": {
        "name": "Johannes Carlsson",
        "email": "johannes.carlsson@acconeer.com",
        "time": "Mon Mar 30 13:59:51 2020 +0200"
      },
      "message": "Correct \"interface\" property on Linux hosts\n\nThe \"interface\" property should be read from the \"usb_interface_path\"\ninstead of the \"device_path\" as the later one is a directory (e.g.\n/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.3/1-2.3:1.0/ttyUSB1).\n"
    },
    {
      "commit": "b92365a082b659459db78bc8b6fb509eb6737e8d",
      "tree": "b6f2fc9376e13aced89f985196e507b7887b1c87",
      "parents": [
        "3a6ae5a630589a29af8d8bd45616d7aadb2fb3db"
      ],
      "author": {
        "name": "Christian Häggström",
        "email": "kalvdans@gmail.com",
        "time": "Mon Mar 30 13:42:15 2020 +0200"
      },
      "committer": {
        "name": "Christian Häggström",
        "email": "kalvdans@gmail.com",
        "time": "Mon Mar 30 13:42:15 2020 +0200"
      },
      "message": "Don\u0027t catch the SerialException we just raised\n\nIn Python3 we get double tracebacks for this error:\n\nTraceback (most recent call last):\n  File \"/home/chn/repo/pyserial/serial/serialposix.py\", line 557, in read\n    raise SerialException(\nserial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"test/test_exceptions.py\", line 26, in \u003cmodule\u003e\n    test_unexpected_eof()\n  File \"/usr/lib/python3.8/unittest/mock.py\", line 1348, in patched\n    return func(*newargs, **newkeywargs)\n  File \"test/test_exceptions.py\", line 21, in test_unexpected_eof\n    s.read()\n  File \"/home/chn/repo/pyserial/serial/serialposix.py\", line 566, in read\n    raise SerialException(\u0027read failed: {}\u0027.format(e))\nserial.serialutil.SerialException: read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)\n\nThe patch moves the checking for EOF to after the IO block, resulting\nin a much nicer traceback. This is the test script (Python3-specific):\n\nfrom unittest import mock\nimport serial\nimport select\nimport os\n\n@mock.patch(\u0027select.select\u0027)\n@mock.patch(\u0027os.read\u0027)\ndef test_unexpected_eof(mock_read, mock_select):\n    s \u003d serial.Serial()\n    s.is_open \u003d True\n    s.fd \u003d 99\n    s.pipe_abort_read_r \u003d 98\n    mock_select.return_value \u003d ([99],[],[])\n    mock_read.return_value \u003d b\u0027\u0027\n    try:\n        s.read()\n    except serial.SerialException as e:\n        if e.__context__: raise\n\nif __name__ \u003d\u003d \u0027__main__\u0027:\n    test_unexpected_eof()\n"
    },
    {
      "commit": "3a6ae5a630589a29af8d8bd45616d7aadb2fb3db",
      "tree": "78319dc6740b1cda38bb99899f9d476d201f6d06",
      "parents": [
        "e20b773c9bc9aabd93504071ffcd30851be5a430",
        "8b24cbb6131a97a3e91aabe5299c834a75ae8964"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 14:02:43 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 14:02:43 2019 +0200"
      },
      "message": "Merge pull request #411 from Flameeyes/master\n\nAdd a backend for Silicon Labs CP2110/4 HID-to-UART bridge."
    },
    {
      "commit": "e20b773c9bc9aabd93504071ffcd30851be5a430",
      "tree": "5bbc7eb7738efee3fc1bd7f1313181263e61a45e",
      "parents": [
        "4f6666b39113ec58459cbc2f7af4d7de11214674",
        "24b02e6ae39b11e52137fd5e73c9dccc2cdeeaca"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 13:56:59 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 13:56:59 2019 +0200"
      },
      "message": "Merge pull request #371 from keelung-yang/master\n\nDon\u0027t open port if self.port is not set while entering context manager"
    },
    {
      "commit": "4f6666b39113ec58459cbc2f7af4d7de11214674",
      "tree": "7bb612eff49c2c2217c0ed41bd29d723acc288a8",
      "parents": [
        "3835ccb3688c9351e32941bae4100afece595c4d",
        "d82d0e192e4759a397653cbed284abc679be619a"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 13:51:09 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 13:51:09 2019 +0200"
      },
      "message": "Merge pull request #367 from klanmiko/mac_break_ioctl\n\nMac and bsd fix _update_break_state"
    },
    {
      "commit": "3835ccb3688c9351e32941bae4100afece595c4d",
      "tree": "bb1123efa010a18f68a7158830e0992a66466416",
      "parents": [
        "14d613dbde6ae1d54dd2a4975541a0058594812e",
        "568362c925bdc738f888e5094b4106053d986912"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 13:36:43 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 13:36:43 2019 +0200"
      },
      "message": "Merge pull request #364 from torque/macos-usb-product-descriptor-fix\n\nmacOS: rework list_ports to support unicode product descriptors."
    },
    {
      "commit": "14d613dbde6ae1d54dd2a4975541a0058594812e",
      "tree": "1267db5803153ef9468632d2f402e67ceeb8019d",
      "parents": [
        "c9e246271e009ce7c076b4bb67c0b67a776364b4",
        "c83599a1089ba66718d355b2478722479cc86028"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 13:29:50 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 13:29:50 2019 +0200"
      },
      "message": "Merge pull request #386 from jfleschExtFlowbird/master\n\nrfc2217/close(): fix race condition"
    },
    {
      "commit": "c9e246271e009ce7c076b4bb67c0b67a776364b4",
      "tree": "42be73d8d5c7eceba4853af2515deacea6b78ab5",
      "parents": [
        "7bb1dcc5aea16ca1c957690cb5276df33af1c286",
        "2e276464285df6de830844c5b3abbc3dae8d8298"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 13:27:39 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 13:27:39 2019 +0200"
      },
      "message": "Merge pull request #389 from lowell80/master\n\nReplaced RFC 2271 with 2217 in docs \u0026 comments"
    },
    {
      "commit": "7bb1dcc5aea16ca1c957690cb5276df33af1c286",
      "tree": "9370b1f7070e2b88e8375b4042ec74029d5d9f70",
      "parents": [
        "47e4a113375943c601a43ec0ee781ba1d886aaae",
        "f64922941111f411964c0901b4340b35e03afbe1"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 13:26:41 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 13:26:41 2019 +0200"
      },
      "message": "Merge pull request #433 from keith-packard/master\n\ntools/list_ports_windows: Scan both \u0027Ports\u0027 and \u0027Modem\u0027 device classes\r\n\r\nfixes #314"
    },
    {
      "commit": "47e4a113375943c601a43ec0ee781ba1d886aaae",
      "tree": "4a8ff7ea927a5d1ce9e0355938a7692f417ac5c0",
      "parents": [
        "f620b4727b67c968ba27a601ad76b57d2369f6d4",
        "1ab971085e5e456115714ee7c8f9248e00887314"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue Aug 13 13:16:40 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 13:16:40 2019 +0200"
      },
      "message": "Merge pull request #414 from ryan-summers/rsummers/windows-usb-composite-device-support\n\n[Windows] Serial number support for composite USB devices"
    },
    {
      "commit": "f620b4727b67c968ba27a601ad76b57d2369f6d4",
      "tree": "f1310602cc88069f62a6feeb6ba5cc11292dfdc8",
      "parents": [
        "acab9d2c0efb63323faebfd5e3405d77cd4b5617",
        "53d2273432a3dd32646c043f4c67b26ef2d1016b"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Fri Jun 21 15:11:18 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 21 15:11:18 2019 +0200"
      },
      "message": "Merge pull request #441 from NJDFan/master\n\nreset_input_buffer() can hang on sockets"
    },
    {
      "commit": "53d2273432a3dd32646c043f4c67b26ef2d1016b",
      "tree": "f1310602cc88069f62a6feeb6ba5cc11292dfdc8",
      "parents": [
        "3215eb3088a4ca55c5217c2e99da5584c3ee02c1"
      ],
      "author": {
        "name": "Rob Gaddi",
        "email": "rgaddi@highlandtechnology.com",
        "time": "Thu Jun 20 16:28:46 2019 -0700"
      },
      "committer": {
        "name": "Rob Gaddi",
        "email": "rgaddi@highlandtechnology.com",
        "time": "Thu Jun 20 16:28:46 2019 -0700"
      },
      "message": "Fixed flush_input_buffer() for situations where the remote end has closed\nthe socket.\n"
    },
    {
      "commit": "3215eb3088a4ca55c5217c2e99da5584c3ee02c1",
      "tree": "c64894a3b91f219add4a296db8376d9b3b9bdcef",
      "parents": [
        "5c021d4bdab2297602b4459f75bef2e00e5ec9ab",
        "acab9d2c0efb63323faebfd5e3405d77cd4b5617"
      ],
      "author": {
        "name": "NJDFan",
        "email": "rob.gaddi@gmail.com",
        "time": "Thu Jun 20 16:04:55 2019 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 20 16:04:55 2019 -0700"
      },
      "message": "Merge pull request #1 from pyserial/master\n\nCatch up to the main fork"
    },
    {
      "commit": "f64922941111f411964c0901b4340b35e03afbe1",
      "tree": "45f25d3cab5767eaf2d3f59e11675437a1bcb4b3",
      "parents": [
        "acab9d2c0efb63323faebfd5e3405d77cd4b5617"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Sun May 19 16:37:36 2019 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Sun May 19 16:37:36 2019 -0700"
      },
      "message": "tools/list_ports_windows: Scan both \u0027Ports\u0027 and \u0027Modem\u0027 device classes\n\nDevices using the Window USB Modem driver use the Modem GUID instead\nof the Ports GUID. Add the Modem class to the set of GUIDs to scan.\n\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "acab9d2c0efb63323faebfd5e3405d77cd4b5617",
      "tree": "c64894a3b91f219add4a296db8376d9b3b9bdcef",
      "parents": [
        "a4d8f27bf636ee598c4368d7e488f78a226bf778",
        "688e9b310a8026b7aa5a910f0ec4436df08c53e1"
      ],
      "author": {
        "name": "zsquareplusc",
        "email": "cliechti@gmx.net",
        "time": "Tue May 14 01:34:03 2019 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 14 01:34:03 2019 +0200"
      },
      "message": "Merge pull request #430 from ARF1/master\n\nAdd WaitCommEvent function to win32"
    },
    {
      "commit": "688e9b310a8026b7aa5a910f0ec4436df08c53e1",
      "tree": "c64894a3b91f219add4a296db8376d9b3b9bdcef",
      "parents": [
        "a4d8f27bf636ee598c4368d7e488f78a226bf778"
      ],
      "author": {
        "name": "ARF1",
        "email": "ARF1@github",
        "time": "Mon May 13 15:26:39 2019 +0200"
      },
      "committer": {
        "name": "ARF1",
        "email": "ARF1@github",
        "time": "Mon May 13 15:26:39 2019 +0200"
      },
      "message": "Add WaitCommEvent function to win32\n\nThis is helpful when a user wants to wait for some kind of communication event. E.g. listening for parity errors, etc.\n"
    },
    {
      "commit": "1ab971085e5e456115714ee7c8f9248e00887314",
      "tree": "e3d582d3646f38b9b9dd046e0b59c703834df1c1",
      "parents": [
        "f7f32d8328edfd398ec9c9bff54d913bf18c0ce8"
      ],
      "author": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Wed Feb 13 07:57:51 2019 +0100"
      },
      "committer": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Wed Feb 13 07:57:51 2019 +0100"
      },
      "message": "Removing dependency on winerror\n"
    },
    {
      "commit": "f7f32d8328edfd398ec9c9bff54d913bf18c0ce8",
      "tree": "1ead3e9eee04d732c52c1dc1cc735882c12445b4",
      "parents": [
        "579e3bbd9ff380666070cfd1570e76967ecb8c77"
      ],
      "author": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Tue Feb 12 17:47:50 2019 +0100"
      },
      "committer": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Tue Feb 12 17:47:50 2019 +0100"
      },
      "message": "Delinting changes\n"
    },
    {
      "commit": "579e3bbd9ff380666070cfd1570e76967ecb8c77",
      "tree": "4619e3ae4b68f75920af58f01e42681516db48e3",
      "parents": [
        "cd2248d7c136bc33b37d025aa81c230d094835ba"
      ],
      "author": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Tue Feb 12 17:44:33 2019 +0100"
      },
      "committer": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Tue Feb 12 17:44:33 2019 +0100"
      },
      "message": "Updated parent traversal to check for root device\n"
    },
    {
      "commit": "cd2248d7c136bc33b37d025aa81c230d094835ba",
      "tree": "ae7aa04ef17b76798f38f4f7c6d70d4ad3dff82e",
      "parents": [
        "a4d8f27bf636ee598c4368d7e488f78a226bf778"
      ],
      "author": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Tue Feb 12 17:23:41 2019 +0100"
      },
      "committer": {
        "name": "Ryan Summers",
        "email": "summers.ryan.m@gmail.com",
        "time": "Tue Feb 12 17:23:41 2019 +0100"
      },
      "message": "Added recursive search for device USB serial number to support composite devices\n"
    }
  ],
  "next": "24b02e6ae39b11e52137fd5e73c9dccc2cdeeaca"
}
